/golang-url-monitor

基于Golang实现URL服务的监控

Primary LanguageGoApache License 2.0Apache-2.0

基于Golang实现URL检测

通过配置URL等的方式监控http接口或网站的可用性。

  • 支持get和post,post方法不支持其他的参数
  • url返回值需要是一个字典结构

编译

go build

URL配置

[
    {
        "url": "http://a.b.c/",          // 需要检测的url
        "any": true,                     // 定义是否只需要满足其中一个字段就触发异常,该值默认为false
        "fields": [                      // 需要检验的字段,如果该字段为空,则url请求只需要响应200则通过
            {                            // 这是第一个需要检验的字段
                "key": "name",           // 响应值里如果包含该字段,则可能会触发异常,具体再看values
                "values": ["张三"]       // 当key存在的时候,如果values为空,则触发异常;如果values不为空,则key对应的值在values里出现,则会触发异常
            }
        ]
    }
]

如上面的配置,则请求http://a.b.c/时,返回的响应值里转成json数据,如果是一个字典结构,这时如果存在name这个字段,且该值为张三时,则触发异常。因为any值为true,意思是fields中定义的字段只要一个满足触发异常的条件,则应该触发异常,如果不定义any,则所有fields中的字段都要满足触发异常时,才会触发异常。