hertzbeat
hertzbeat copied to clipboard
[Question] can add HTTP API with HTTP Code & Error Msg?
Question
有时候某些接口报错后,想要得知该环境接口的状态码及错误信息,只能够手动打开页面或对接口进行一次手动请求
例如某个接口可能会出现 500 or 502 错误,但 HertzBeat 的监控信息只有响应时间&关键词数量,不方便排查
应该是可以的,你可以加一下
Use JsonPath: https://hertzbeat.apache.org/zh-cn/docs/advanced/extend-http-example-hertzbeat
应该是可以的,你可以加一下
我尝试直接在HTTP API 的 yml 文件的 field 字段中添加 statusCode 和 errorMsg,然而并不能获取到信息,是哪里有遗漏吗?
Use JsonPath: https://hertzbeat.apache.org/zh-cn/docs/advanced/extend-http-example-hertzbeat
但 JsonPath 解析方式要求接口返回的内容必须为 Json 格式,但在某些时间并不能保证 例如某个接口经由 Nginx 进行代理,正常响应的情况下接口的确会返回 Json 格式,但当接口异常, Nginx 回报 HTTP 502 or 504 的时候,格式会变成 HTML,这个时候使用 JsonPath 解析应该会出现异常
如下可以支持 successCodes 为 200, 503 时返回正确响应,但是现在没有支持返回的指标有状态码和errorMsg
- name: health
priority: 6
fields:
- field: status
type: 1
protocol: http
http:
host: ^_^host^_^
port: ^_^port^_^
url: ^_^base_path^_^/health
method: GET
ssl: ^_^ssl^_^
authorization:
type: Basic Auth
basicAuthUsername: ^_^username^_^
basicAuthPassword: ^_^password^_^
successCodes: [200, 503]
parseType: default
对于某些HTTP API来说,当成功时返回的是200状态码,且response中包含一组正常时的数据。当失败时返回的是非200状态码,response中是另一组数据,key完全不同。这种情况如何让监控状态变为“宕机”状态?
对于某些HTTP API来说,当成功时返回的是200状态码,且response中包含一组正常时的数据。当失败时返回的是非200状态码,response中是另一组数据,key完全不同。这种情况如何让监控状态变为“宕机”状态?
HTTP API 的监控可用性状态只与 HTTP Code 有关,默认情况下只要目标地址返回的状态码不为 200 or 201 则会变为 “宕机”
对于某些HTTP API来说,当成功时返回的是200状态码,且response中包含一组正常时的数据。当失败时返回的是非200状态码,response中是另一组数据,key完全不同。这种情况如何让监控状态变为“宕机”状态?
HTTP API 的监控可用性状态只与 HTTP Code 有关,默认情况下只要目标地址返回的状态码不为 200 or 201 则会变为 “宕机”
@Kylin-Guo 我这里用的并不是HTTP API,即parseType并非website,而是jsonpath。这种情况下,如果status code为404,则并不会变为宕机状态