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/

posted on 2019-09-02 09:38  荣锋亮  阅读(673)  评论(0编辑  收藏  举报

导航