prometheus学习系列十一: Prometheus exporter详解

exporter详解

前面的系列中,我们在主机上面安装了node_exporter程序,该程序对外暴露一个用于获取当前监控样本数据的http的访问地址, 这个的一个程序成为exporter,Exporter的实例称为一个target, prometheus通过轮训的方式定时从这些target中获取监控数据。

exporter是什么

广义上向prometheus提供监控数据的程序都可以成为一个exporter的,一个exporter的实例称为target, exporter来源主要2个方面,一个是社区提供的,一种是用户自定义的。

常用exporter

官方和一些社区提供好多exproter, 我们可以直接拿过来采集我们的数据。 官方的exporter地址: https://prometheus.io/docs/instrumenting/exporters/

 

Blackbox Exporter

bloackbox exporter是prometheus社区提供的黑盒监控解决方案,运行用户通过HTTP、HTTPS、DNS、TCP以及ICMP的方式对网络进行探测。这里通过blackbox对我们的站点信息进行采集。

blackbox的安装

# 进入下载目录
[root@node00 ~]# cd /usr/src/
# 下载 [root@node00 src]# wget https://github.com/prometheus/blackbox_exporter/releases/download/v0.15.1/blackbox_exporter-0.15.1.linux-amd64.tar.gz # 解压
[root@node00 src]# tar xf blackbox_exporter-0.15.1.linux-amd64.tar.gz
# 部署到特定位置 [root@node00 src]# mv blackbox_exporter-0.15.1.linux-amd64 /usr/local/exporter/
# 进入目录 [root@node00 src]# cd /usr/local/exporter/
# 软连接 [root@node00 exporter]# ln -s blackbox_exporter-0.15.1.linux-amd64 blackbox_exporter
# 进入自启目录 [root@node00 exporter]# cd /usr/lib/systemd/system
# 配置blackbox的开机自启文件 [root@node00 system]# cat blackbox_exporter.service [Unit] Description=blackbox_exporter After=network.target [Service] User=prometheus Group=prometheus WorkingDirectory=/usr/local/exporter/blackbox_exporter ExecStart=/usr/local/exporter/blackbox_exporter/blackbox_exporter [Install] WantedBy=multi-user.target

# 启动 [root@node00 system]# systemctl restart blackbox_exporter
# 查看状态 [root@node00 system]# systemctl status blackbox_exporter # 开机自启 [root@node00 system]# systemctl enable blackbox_exporter

 配置prometheus采集数据

  - job_name: "blackbox"
    metrics_path: /probe
    params:
      module: [http_2xx]  # Look for a HTTP 200 response.
    file_sd_configs: 
    - refresh_interval: 1m
      files: 
      - "/usr/local/prometheus/prometheus/conf/blackbox*.yml"
    relabel_configs:
    - source_labels: [__address__]
      target_label: __param_target
    - source_labels: [__param_target]
      target_label: instance
    - target_label: __address__
      replacement: 192.168.100.10:9115
[root@node00 prometheus]# cat conf/blackbox-dis.yml 
- targets:
  - https://www.alibaba.com
  - https://www.tencent.com
  - https://www.baidu.com 

grafana展示blackbox采集数据

重启prometheus查看数据, 可以在grafana导入dashboard id 9965  可以看到如下数据。

prometheus学习系列十一: Prometheus exporter详解

 

 

influxdb_export

influxdb_export 是用来采集influxdb数据的指标的,但是influxdb提供一个专门的一个产品来暴露metrics数据, 也就是说infludb_exporter这个第三方的产品将来会被淘汰了。 不过还是可以使用的,可以参考: https://github.com/prometheus/influxdb_exporter

infludb官方的工具来获取metrics数据是telegraf, 这个工具相当的强大,内部使用prometheus client插件来暴露数据给prometheus采集, 当然这个工具内部集成了几十种插件用户暴露数据给其他的监控系统。 详细的可以参考官方地址: https://docs.influxdata.com/telegraf/v1.7/plugins/outputs/#prometheus-client-prometheus-client-https-github-com-influxdata-telegraf-tree-release-1-7-plugins-outputs-prometheus-client

这里我们使用的监控系统是prometheus, 只需要关注如下配置即可:  https://github.com/influxdata/telegraf/tree/release-1.7/plugins/outputs/prometheus_client

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

rpm -ql |grep telegraf
cp /etc/telegraf/telegraf.conf  /etc/telegraf/telegraf.conf.default
# 修改如下部分
 [[outputs.prometheus_client]]
   ## Address to listen on
   listen = ":9273"

systemctl restart telegraf
systemctl status telegraf
systemctl enabletelegraf

集成prometheus

# prometheus加入如下采集
  - job_name: "influxdb-exporter"
    static_configs:
    - targets: [ "192.168.100.10:9273" ]

查看数据

prometheus学习系列十一: Prometheus exporter详解

上一篇:InfluxDB从原理到实战 - InfluxDB常用的基础操作


下一篇:[转帖]使用Grafana和Telegraf监视VMware ESXi的方法