简介:
Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。
Telegraf 具有内存占用小的特点,通过插件系统开发人员可轻松添加支持其他服务的扩展。
官网参考地址
https://docs.influxdata.com/telegraf/v0.11/
软件下载地址:
https://influxdata.com/downloads/
1:安装部署
1、下载
wget http://get.influxdb.org/telegraf/telegraf-0.11.1-1.x86_64.rpm
2、安装
yum localinstall telegraf-0.11.1-1.x86_64.rpm -y
3、启动服务、添加开机启动
systemctl start telegraf.service
service telegraf status
systemctl enable telegraf.service
4、查看版本
telegraf --version
Telegraf - Version 0.11.1
配置文件位置(默认配置):/etc/telegraf/telegraf.conf
修改telegraf配置文件添加监控项
vim /etc/telegraf/telegraf.conf
#修改监控数据输出位置,本次测试环境本地安装有influxdb, 可以保持默认:urls = ["http://localhost:8086"]
58 `outputs`.`influxdb`
59 ## The full HTTP or UDP endpoint URL for your InfluxDB instance.
60 ## Multiple urls can be specified as part of the same cluster,
61 ## this means that only ONE of the urls will be written to each interval.
62 # urls = ["udp://localhost:8089"] # UDP endpoint example
63 urls = ["http://172.16.7.12:8086"] # required
64 ## The target database for metrics (telegraf will create it if not exists).
2:添加监控项:
1、添加docker 监控项
参考地址:
https://github.com/influxdata/telegraf
`inputs`.`docker`
#Docker Endpoint
#To use TCP, set endpoint = "tcp://[ip]:[port]"
#To use environment variables (ie, docker-machine), set endpoint = "ENV"
endpoint = "unix:///var/run/docker.sock"
#Only collect metrics for these containers, collect all if empty
#container_names = []
2、zookeeper 监控添加
`inputs`.`zookeeper`
servers = ["172.16.7.12:2181"]
3、mesos监控项
`inputs`.`mesos`
# Timeout, in ms.
timeout = 100
# A list of Mesos masters, default value is localhost:5050.
masters = ["localhost:5050"]
# Metrics groups to be collected, by default, all enabled.
master_collections = ["resources","master","system","slaves","frameworks","messages","evqueue","registrar"]
以上新加3个监控项,可以通过命令测试配置是否成功。
telegraf -config /etc/telegraf/telegraf.conf -input-filter mesos -test
telegraf -config /etc/telegraf/telegraf.conf -input-filter docker -test
telegraf -config /etc/telegraf/telegraf.conf -input-filter zookeeper -test
3:修改telegraf 服务启动用户,默认用户无法通过sock 获取doker 数据。
[root@ctn-7-11 grafana]# vi /usr/lib/systemd/system/telegraf.service
[Unit]
Description=The plugin-driven server agent for reporting metrics into InfluxDB
Documentation=https://github.com/influxdata/telegraf
After=network.target
[Service]
EnvironmentFile=-/etc/default/telegraf
#User=telegraf
#本次测试环境直接改为root
User=root
ExecStart=/usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d 。。。。。。。
4:重启服务,使配置生效
systemctl daemon-reload
systemctl restart telegraf
ps -ef|grep telegraf
1、验证
root 7244 4292 0 17:44 pts/0 00:00:00 grep --color=auto telegraf
telegraf (默认启动用户)31793 1 0 15:48 ? 00:00:37 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
#启动脚本修改后
root 3283 1 2 17:24 ? 00:00:00 /usr/bin/telegraf -config /etc/telegraf/telegraf.conf -config-directory /etc/telegraf/telegraf.d
root 3402 8804 0 17:24 pts/0 00:00:00 grep --color=auto telegraf