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
可以看到如下數據。
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" ]