Telegraf

2021/03/25

参考资料

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
即可立即永久解锁本站全部文章