小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
前言
Telegraf是一个用Golang写的开源数据收集Agent,基于插件驱动。本身提供的输入和输出插件非常丰富,当然有需求也可以自行编写(需要重新编译)。Telegraf是influxdata公司的时间序列平台TICK技术栈中的“T”,主要用于收集时间序列型数据,比如服务器CPU指标、内存指标、各种IoT设备产生的数据等等。后面抽空会介绍TICK栈中的其他技术及其应用。
下面介绍Telegraf如何配置nginx
- telegraf可以采集不同服务器的硬件数据并上报influxdb数据库,持久化保存!!!
<必须在influxdb中配置文件中配置对应的用户和数据库>,如:linux系统服务及nginx、redis、mq、zk等中间件服务;
-
telegraf支持分布式服务监控,也是在多台服务器部署telegraf服务,并采集数据上报influxdb数据库;
-
监控nginx服务配置说明:
[root@localhost /]# vim /etc/telegraf/telegraf.conf
[[inputs.nginx]]
urls = ["http://localhost/nginx_status"]
[[inputs.logparser]]
files = ["/var/log/nginx/access.log"]
from_beginning = true name_override = "nginx_access_log"
[inputs.logparser.grok]
patterns = ["%{COMBINED_LOG_FORMAT}"]
复制代码
- 配置服务器nginx的状态访问,查看nginx -V是否支持TLS SNI support enabled
打开nginx.conf配置,添加以下内容:
location /nginx-status {
stub_status on;
access_log off;
}
# 在80或者443端口下的服务,nginx -t 测试, nginx -s reload 静态加载
复制代码
[root@localhost conf]# curl 41.112.110.134:8111/nginx-status # 至于配置的端口8011可以自定义
Active connections: 5
server accepts handled requests
29533 29533 166307
Reading: 0 Writing: 1 Waiting: 4
复制代码
tips:解释nginx参数意义:
Active connections – 表示Nginx正在处理的活动连接数为6个
server 2 表示Nginx启动到现在共处理了640个连接
accepts 2 表示Nginx启动到现在共成功创建640次握手
handled requests 1 表示总共处理了6747次请求
reading — 读取客户端的连接数.
writing — 响应数据到客户端的数量
waiting — 开启 keep-alive 的情况下,这个值等于 active – (reading+writing), 意思就是 Nginx 已经处理完正在等候下一次请求指令的驻留连接
复制代码
总结
关于Telegraf更多用法,请参考学习github地址