参考资料
- 官网地址:https://www.influxdata.com/time-series-platform/telegraf/
- 下载地址:
- 文档地址:https://docs.influxdata.com/telegraf/v1.9/introduction/installation/
- Telegraf是一个基于插件的开源指标采集工具
Telegraf简介
Telegraf是一个基于插件的开源指标采集工具。本身是为InfluxDB(一款时序数据库)量身打造的数据收集器,但是它过于优秀,能够将抓取的数据写到很多地方,尤其在时序数据库领域,很多时序数据库都能够与它配合使用。
通常,它每隔一段时间抓取一批指标数据(比如机器的CPU使用情况,磁盘的IO,网络情况,MySQL服务端的的会话数等等)并将他们发送到时序数据库、消息队列中或者自定义导出到某个地方。供下游的应用处理(比如报警)。
Telegraf也能够对外提供一个服务,等待客户端推送数据。
它与logstash类似,只不过logstash是收集日志的。telegraf是收集指标的。
前置条件
部署目的:通过Telegraf消费kafka中的消息,写入到influxdb 时序数据库中
- 部署kafka集群,并由生产者写入业务消息数据
- 部署influxdb:influxdb-ip1、influxdb-ip2
- 部署nginx 在/nginx/conf.d中增加nginx-influxdb.conf文件
upstream influxdb-server {
server influxdb-ip1:8086;
server influxdb-ip2:8086;
}
server {
listen 18186;
server_name influx-relay;
location /write {
limit_except POST {
deny all;
}
proxy_pass http://influxdb-server;
}
location /query {
limit_except GET {
deny all;
}
proxy_pass http://influxdb-server;
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
root /usr/share/nginx/html;
}
}
然后在nginx主配置文件中include该配置文件,并重载nginx,nginx -s reload。
Telegraf部署
1安装telegraf
下载1.14.3版本的telegraf /telegraf-1.14.3-1.x86_64.rpm。
将文件上传到服务器上,cd到安装包目录,使用sudo yum localinstall telegraf-1.14.3-1.x86_64.rpm进行安装。
2配置rsyslog
在/etc/rsyslog.d/目录下新增telegraf.conf文件,内容为:
:programname, contains, "telegraf" /var/log/telegraf/telegraf.log
:programname, contains, "telegraf" ~
重启rsyslog,systemctl restart rsyslog
3修改配置文件
修改/etc/telegraf/telegraf.conf配置文件,修改[[outputs.influxdb]]下urls = ["http://nginx-ip:port"]配置,将地址设置为nginx 的地址,端口设置为nginx中nginx-influxdb.conf配置中listen的端口;
修改[[inputs.kafka_consumer]]下brokers = ["kafka-ip1:9092","kafka-ip2:9092","kafka-ip3:9092"]配置,将地址设置为kafka的broker地址,将version = "2.2.0"设置为kafka的版本号;配置文件参考附件。
请确保root用户有配置文件的读权限。
4telegraf启停命令
切换到root用户,使用如下命令进行启停:
systemctl start telegraf
systemctl stop telegraf
systemctl restart telegraf
systemctl status telegraf
问题记录
Post Directory
扫码关注公众号:暂无公众号
发送 290992
即可立即永久解锁本站全部文章