Prometheus通过telegraf监控Influxdb及Grafana可视化
influxdb_export 是用来采集influxdb数据的指标的,但infludb官方的工具来获取metrics数据是telegraf, 所以有两种方式来监控Influxdb,我使用的telegraf,因为用Influxdb_export失败了。
1.安装influxdb
自行百度
2.安装telegraf
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.12.2-1.x86_64.rpm
sudo yum localinstall telegraf-1.12.2-1.x86_64.rpm
3.修改telegarf配置文件
telegraf.conf
文件通常位于/etc/telegraf
修改如下部分:
[[outputs.prometheus_client]]
listen = ":9273"
[[inputs.influxdb]]
urls = [
"http://localhost:8086/debug/vars"
]
systemctl deamon-reload
systemctl restart telegraf
systemctl status telegraf
查看telegraf状态,active则表示启动成功。
4.Prometheus添加job
修改Prometheus的yml文件,把ip换成自己电脑的
vim /usr/local/prometheus/prometheus.yml
- job_name: "influxdb-exporter"
static_configs:
- targets: [ "10.6.1.116:9273" ]
重启prometheus
systemctl restart prometheus
up说明成功
5.Grafana添加模板
在Grafana上没找的合适Influxdb模板,所以只有自己手撸模板,需要使用一下Prometheus官方查询语句PromQL,和数据库查询语句差不多,可以上b站或者csdn,20分钟速成。
https://docs.influxdata.com/platform/monitoring/influxdata-platform/tools/measurements-internal/#queryfail这是官网上对Influxdb各种指标详细解释,Prometheus里的Graph里也可以看到各种指标,大多数可以见名知意。
这里我想看Influxdb的磁盘和各个Influxdb数据库的占用空间
sum(influxdb_tsm1_filestore_diskBytes) by (database) or sum(influxdb_tsm1_filestore_diskBytes)
新建一个Dashborad到grafana中,新建图表输入PromQL就行了