数据采集神器Telegraf对接开源日志服务器GrayLog
Telegraf 是一个用Go编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展
在数据采集和平台监控系统中,Telegraf 可以采集多种组件的运行信息,而不需要自己手写脚本定时采集,降低数据获取的难度;Telegraf 配置简单,只要有基本的 Linux 基础即可快速上手
telegraf下载地址
https://github.com/influxdata/telegraf/releases https://portal.influxdata.com/downloads/
下面介绍如何安装telegraf,并发送采集数据到Graylog
1、CentOS7下安装telegraf
rpm -ivh telegraf-1.24.1-1.x86_64.rpm cp /etc/telegraf/telegraf.conf /etc/telegraf/telegraf.conf_defaultraf
2、生成指定输入和输出插件的配置文件并进行修改
可以根据你所需要的input和output生成配置文件
cd /home telegraf --sample-config --input-filter cpu:mem:net_response --output-filter graylog > telegraf.conf
然后再去修改相应的参数
- 1、[agent]配置修改 全局配置中interval = "10s"默认10秒修改成30秒interval = "30s" 根据个人需要去修改这个时间间隔
- 2、input修改 input位于配置文件的最下方 cpu percpu我设置成false
net_response 添加interval 间隔为5s,只针对这个input
address= "192.168.31.1:443"
探测192.168.31.1的443端口
- 3、output graylog 的IP跟端口指定 udp://192.168.31.127:12201
覆盖/etc/telegraf/telegraf.conf配置文件并重启telegraf服务
cp /home/telegraf.conf /etc/telegraf/telegraf.conf systemctl restart telegraf.service
记得在GrayLog上开放GELF Input端口
firewall-cmd --permanent --zone=public --add-port=12201/udp firewall-cmd --reload
3、GrayLog上配置Input,创建Stream
4、可以配置GrayLog查询模板
telegraf发给Graylog的日志中直接有对应的字段
5、接下来你就可以在GrayLog配置告警
例如net_response出现connection_failed 端口不通告警
例如连续5次CPU利用率大于90的告警
这里就不演示了
Telegraf的input类型跟output类型非常丰富,再结合Graylog,强强结合,接下来你可以自由发挥想象力