Cel slajdu: Podanie kompletnego pliku konfiguracji pobierania oraz provisioning Grafany.
Pięć zadań i jedno źródło danych
Poniżej pełna treść pliku prometheus.yml: dwa wpisy node-exporter, dwa wpisy snmp dla interfejsów oraz po jednym wpisie na moduły mikrotik i UCD Linuksa. Każdy wpis to osobny cel na stronie Targets; przykładowe adresy podmieniasz na własne.
- Wpis 1-2, node-exporter: Kontener
node-exporter:9100 (host: docker-host) oraz drugi host 192.168.1.10:9100 (host: serwer-2)
- Wpis 1-2, snmp if_mib: Routery
192.168.1.1 i 192.168.1.2; ten sam moduł obsłuży też Cisco i switche
- snmp-mikrotik: Moduł
mikrotik dla MikroTika: kondycja, wireless i DHCP (metryki mtxr)
- snmp-linux: Moduły
ucd_la_table, ucd_memory, ucd_system_stats dla Linuksa z demonem snmpd; CPU Cisco wymaga modułu z generatora
- Provisioning: Adres http://prometheus:9090 jako domyślne źródło; flaga isDefault eliminuje klikanie
Plik 1 z 2: _grafana_stack/prometheus/prometheus.yml (konfiguracja Prometheusa)
# Konfiguracja Prometheusa dla stosu NMS.
# Adresy 192.168.1.x sa przykladowe: podmien je na wlasne hosty i routery.
# SNMP: w urzadzeniach wlacz usluge SNMP v2c (np. MikroTik: /snmp set enabled=yes,
# Cisco: snmp-server community <wspolnota> RO, Linux: pakiet snmpd + rocommunity).
global:
scrape_interval: 15s
scrape_timeout: 10s
evaluation_interval: 15s
scrape_configs:
- job_name: "prometheus"
static_configs:
- targets: ["prometheus:9090"]
- job_name: "node-exporter"
static_configs:
- targets: ["node-exporter:9100"]
labels:
host: "docker-host"
# Drugi host z node-exporterem na porcie 9100:
- targets: ["192.168.1.10:9100"] # PODMIEN na adres drugiego hosta
labels:
host: "serwer-2"
# Interfejsy dowolnych urzadzen SNMP (MikroTik, Cisco, switche): modul if_mib.
- job_name: "snmp"
metrics_path: /snmp
params:
module: [if_mib]
auth: [public_v2]
static_configs:
- targets: ["192.168.1.1"] # PODMIEN na adres pierwszego routera
labels:
urzadzenie: "router-glowny"
- targets: ["192.168.1.2"] # PODMIEN na adres drugiego routera
labels:
urzadzenie: "router-oddzial"
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
scrape_interval: 60s
scrape_timeout: 55s
# Dane specyficzne MikroTika (kondycja, wireless, DHCP): modul mikrotik.
- job_name: "snmp-mikrotik"
metrics_path: /snmp
params:
module: [mikrotik]
auth: [public_v2]
static_configs:
- targets: ["192.168.1.1"] # PODMIEN na adres urzadzenia MikroTik
labels:
urzadzenie: "router-glowny"
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
scrape_interval: 60s
scrape_timeout: 55s
# Linux z demonem snmpd: obciazenie, pamiec i CPU z MIB UCD-SNMP.
- job_name: "snmp-linux"
metrics_path: /snmp
params:
module: [ucd_la_table, ucd_memory, ucd_system_stats]
auth: [public_v2]
static_configs:
- targets: ["192.168.1.20"] # PODMIEN na adres Linuksa z snmpd
labels:
host: "serwer-linux-snmp"
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: snmp-exporter:9116
scrape_interval: 60s
scrape_timeout: 55sPlik 2 z 2: _grafana_stack/grafana/provisioning/datasources/prometheus.yml (źródło danych Grafany)
apiVersion: 1
datasources:
- name: Prometheus
type: prometheus
isDefault: true
url: http://prometheus:9090
access: proxy
editable: true
Interwał pobierania (scrape_interval): Jak często Prometheus odpytuje cele; krótszy daje dokładniejsze wykresy kosztem większej bazy.

Zrzut: otwarty plik prometheus.yml w edytorze.