Grafana 系列監控系列- vmagent 推送監測數據到Prometheus

以往若想要將node-exporter 所取得的機器數據傳送至prometheus時,需要由prometheus 主動獲得,但前提是主機需要對外開放,如下圖二。
會遇到一些痛點例如:
- 白名單的設置及管理
- 有些機器沒有專屬的對外ip,只有內網
- 需要配很多資訊若機器數量很多會很混亂
所以才衍伸出如圖統一透過 vmagent 「主動」推送數據到prometheus,而所有配置都比照原生 yaml。

主要會透過以下幾個檔案
GitHub - KeplerJhih/grafana
Contribute to KeplerJhih/grafana development by creating an account on GitHub.
tree -L 3
├── Makefile
├── config
│ └── vmagent
│ └── vmagent.yaml.example
├── docker-compose-exporter.yml
├── env.example

透過根目錄底下,即可透過寫好的檔案運行,要運行的指令依序:
cp env.example .env
將prometheus endpoint放入。- make exporter-node 運行 node-exporter
- make vmagent-edit 創建運行文件
# vmagent 配置文件
global:
scrape_interval: 15s
external_labels:
environment: dev/test/master
group: xxx
account: 0000000
vendor: byteplus/aws/..
scrape_configs:
- job_name: 'vm'
static_configs:
- targets: ['localhost:9100']
labels:
service: vm
name:
global 屬於全局配置,按照格式配置即可,以下的labels 是為了符合 Grafana 面板 ID:8919 ,配置完成後即可。
4. make vmagent-run 運行
- make vmagent-log 查看運行狀態