https://docs.influxdata.com/
https://github.com/influxdata/telegraf
grafana+telegraf+InfluxDB,采用客户端->服务端存储->WEB界面显示的工作模式,使用UTP传输数据,并且支持自定义图表,有良好的扩展性,
重要的是Grafana页面展示比较美观,更关键的是InfluxDB提供了Python的API,InfluxDB提供了Python的API,InfluxDB提供了Python的API,重要事情说三遍。
页面展示可浏览官方演示平台:http://play.grafana.org/
首先说说这个组合的工作模式和分工:
采集数据(telegraf)-> 存储数据(InfluxDB) -> 显示数据(Grafana)。
InfluxDB 是 Go 语言开发的一个开源分布式时序数据库,非常适合存储指标、事件、分析等数据,看版本号就知道这个项目还很年轻;
telegraf 就不用介绍了吧,C 语言写的一个系统性能采集工具;
Grafana 是纯 Javascript 开发的前端工具,用于访问 InfluxDB,自定义报表、显示图表等
telegraf负责把数据从客户端采集到服务端的InfluxDB这个数据库中,Grafana负责把数据从InfluxDB库中取出来在页面展示
使用InfluxDB+cAdvisor+Grafana配置Docker监控: https://abc.htmltoo.com/thread-44859.htm
Client端
telegraf安装
添加YUM源。
cat <<EOF | sudo tee /etc/yum.repos.d/influxdb.repo
[influxdb]
name = InfluxDB Repository - RHEL \$releasever
baseurl = https://repos.influxdata.com/rhel/\$releasever/\$basearch/stable
enabled = 1
gpgcheck = 1
gpgkey = https://repos.influxdata.com/influxdb.key
EOF
# yum install -y telegraf
# service telegraf start
# systemctl start telegraf
debian下安装:
cd /data/file/soft/src
dpkg -i telegraf_1.7.0-1_amd64.deb
cd /etc/telegraf
# 自动创建配置
telegraf config > telegraf.conf
# 设置将数据传递写入influxdb服务器
vi telegraf.conf
# 将地址改成 influxdb 对应的服务器地址, 端口默认 8086, 默认数据库 telegraf
[[outputs.influxdb]]
urls = ["http://ip:8086"]
database = "telegraf"
# HTTP Basic Auth
username = "telegraf"
password = "metricsmetricsmetricsmetrics"
service telegraf status
service telegraf restart
telegraf -config /etc/telegraf/telegraf.conf -test
service telegraf restart
配置telegraf,具体配置详情请看官方文档
https://docs.influxdata.com/telegraf/v1.7/administration/configuration/