Logtail插件会根据您的采集配置定期请求指定的URL,将请求返回的body内容作为数据源上传到日志服务。本文介绍如何通过日志服务控制台创建Logtail采集配置来采集HTTP数据。
前提条件
原理
Logtail根据您在采集配置中设置的HTTP请求的URL、Method、Header、Body等信息,定期对指定URL发起请求,将请求返回的状态码、body内容以及响应时间做为数据源上传到日志服务。
功能
- 支持配置多个URL。
- 支持配置HTTP方法。
- 支持配置HTTP请求的间隔。
- 支持自定义请求头。
- 支持HTTPS。
- 支持检测body是否匹配固定模式。
应用场景
- 监控应用状态(以HTTP方式提供监控接口),例如:
- Nginx
- Docker(HTTP方式)
- Elastic Search
- Haproxy
- 其他以HTTP方式提供监控接口的服务
- 检测服务可用性。
定期请求服务,通过状态码以及请求延迟做服务的可用性监控。
- 定期拉取数据,例如微博评论、粉丝数等。
使用限制
- URL必须以
http
或https
开头。 - 不支持自定义证书。
- 不支持交互式通信方式。
操作步骤
例如:每隔1000ms请求一次nginx status模块,URL为http://127.0.0.1/ngx_status
,使用正则表达式提取返回body中的状态信息,操作步骤如下所示。
执行结果
"Index" : "7"
"connection" : "1"
"accepts" : "6079"
"handled" : "6079"
"requests" : "11596"
"reading" : "0"
"writing" : "1"
"waiting" : "0"
"_method_" : "GET"
"_address_" : "http://127.0.0.1/ngx_status"
"_response_time_ms_" : "1.320"
"_http_response_code_" : "200"
"_result_" : "success"
字段 | 说明 |
---|---|
_address_ | 请求地址。 |
_method_ | 请求方法。 |
_response_time_ms_ | 响应延迟时间,单位:ms。 |
_http_response_code_ | 状态码。 |
_result_ | 请求的结果,取值为success、invalid_body、match_regex_invalid、mismatch、timeout。 |
_response_match_ | 返回的body内容是否匹配ResponseStringMatch字段。如果不存在ResponseStringMatch 字段,值为null,如果指定了ResponseStringMatch字段,值为yes或no。
|