haproxy 2.0 dataplaneapi rest api 几个方便的问题排查接口

在使用haproxy 2.0 dataplaneapi的时候,刚开始的时候我们可能需要进行调试,保证我们的配置在我们的系统环境中
是可以使用的,以下是自己在当前学习中为了排查问题会使用的几个api

创建事物

haproxy2.0 dataplaneapi 提出了一个事物的概念,用来确保对于配置的修改的原子性,我们很多时候需要知道version id
有以下几种可以方便查看

  • 通过查看配置文件
    实际上在生成事物的时候对应的version id 是存在文件中的,如下:


基于次id 可以知道下次我们需要传递的参数

  • 创建的时候随意写一个id,错误信息包含了实际的id
    如下:
 
curl -X POST --user admin:dalong 
-H "Content-Type: application/json" 
http://localhost:5555/v1/services/haproxy/transactions?version=1

错误信息如下,可以看出8 应该是id

  • 通过查看全局配置api
curl -X GET --user admin:dalong 
-H "Content-Type: application/json" 
http://localhost:5555/v1/services/haproxy/configuration/global

效果:

配置reload 的问题

dataplaneapi 提供了一个--reload-cmd 进行haproxy 的动态配置生效,如果配置没有reload 可以通过api 接口,以及日志查看状态

  • 状态查看
curl -X GET --user admin:dalong 
-H "Content-Type: application/json" 
http://localhost:5555/v1/services/haproxy/reloads

效果:


如果失败了,通过次接口可以看到状态,同时我们可以结合haproxy 日志查看失败的原因

参考资料

https://www.haproxy.com/documentation/hapee/1-9r1/configuration/dataplaneapi/

原文地址:https://www.cnblogs.com/rongfengliang/p/11444818.html