ฉันต้องการตรวจสอบเซิร์ฟเวอร์ต่างๆ ด้วย Prometheus ที่ป้อนโดยผู้ส่งออก เช่น node-exporter หรือ postgres-exporter เมตริกควรแสดงใน Grafana เป็นแดชบอร์ดและการแจ้งเตือน
ผู้ส่งออกจะถูกนำเข้าตามเป้าหมายใน prometheus.yml:
ทั่วโลก:
Scrape_interval: 15 วินาที
ป้ายกำกับภายนอก:
จอภาพ: 'codelab-monitor'
Scrape_configs:
- job_name: 'โหนดส่งออก'
Scrape_interval: 5 วินาที
static_configs:
- เป้าหมาย: ['123.123.123.1:9100', '123.123.123.2:9100', '123.123.123.3:9100']
- job_name: 'postgres-exporter'
static_configs:
- เป้าหมาย : ['123.123.123.3:9187']
ไม่สามารถผูกเซิร์ฟเวอร์ด้วย URL/ชื่อโฮสต์ที่เป็นมิตรกับผู้ใช้
ฉันต้องการสร้างแผงแดชบอร์ดและการแจ้งเตือนสำหรับเป้าหมายเหล่านี้ใน Grafana แต่ด้วยเป้าหมายที่ว่าในแดชบอร์ดและการแจ้งเตือนจะไม่แสดง IP ของโฮสต์แต่เป็นชื่อโฮสต์
แดชบอร์ดจะมีสองส่วนที่แตกต่างกัน:
1. กราฟสำหรับเมตริกของเซิร์ฟเวอร์เฉพาะ เลือกโดยตัวกรองตัวแปร, เช่น.
2. กราฟสำหรับเมตริกของเซิร์ฟเวอร์ทั้งหมด พร้อมป้ายกำกับอินสแตนซ์, เช่น.
สำหรับ กรณีที่ 1 ฉันพบวิธีแก้ปัญหาสำหรับการแสดงชื่อโฮสต์แทน IP ในตัวกรองแบบเลื่อนลง เพื่อที่ฉันสร้างตัวแปรสองตัว:
ชื่อ |
สอบถาม |
ฉลาก |
ซ่อน |
ชื่อโฮสต์ |
label_values (ชื่อโหนด) |
เจ้าภาพ: |
|
ตัวอย่าง |
label_values(node_uname_info{nodename="$hostname"} อินสแตนซ์) |
|
ตัวแปร |
เมตริกของแผงถูกกรองโดยตัวแปร $อินสแตนซ์
:
100 - อัตรา(node_cpu_seconds_total{mode="idle", instance="$instance"}[1m]) * 100
ใน กรณีที่ 2ฉันไม่ประสบความสำเร็จ ฉันต้องการตั้งชื่อโฮสต์ใต้แผงกราฟ แต่ใน ตำนาน
-field ฉันสามารถเข้าถึงอินสแตนซ์ (ชุดค่าผสมของ IP/พอร์ต) ของเมตริกเท่านั้น และไม่สามารถเข้าถึงชื่อโฮสต์ได้:
ฉันไม่สามารถเข้าถึง $ชื่อโฮสต์
-ตัวแปรใน ตำนาน
-สนาม.
ฉันจะใส่ชื่อโฮสต์ไว้ใต้แผงกราฟได้อย่างไร มีวิธีภายในของ Grafana หรือฉันต้องจัดการ prometheus.yml หรือไม่