Domina el monitoreo de red con este completo tutorial sobre Prometheus SNMP Exporter y Grafana. Aprende a recopilar de manera eficiente métricas de dispositivos de red utilizando Prometheus SNMP Exporter y visualizarlas en información procesable con impresionantes paneles de Grafana. Descubre cómo crear paneles personalizados, solucionar problemas comunes y desbloquear todo el potencial de Prometheus y Grafana para tus necesidades de monitoreo de red.
Para consultas comerciales o asesoría, envíame un correo a: info@distrodomain.com
Confirmación de snmpwalk
snmpwalk -v3 -l authPriv -u admin -a SHA -A "PWt89voowUiDcJBi9boiSM" -x AES -X "PWt89voowUiDcJBi9boiSM" 192.168.0.84
#### archivo docker compose de snmp exporter ####
---
services:
snmp-exporter:
container_name: snmp-exporter
image: quay.io/prometheus/snmp-exporter:v0.26.0
ports:
- "9116:9116"
- "161:161/udp"
volumes:
- ./config:/etc/snmp-exporter
command: --config.file=/etc/snmp-exporter/snmp.yml
restart: unless-stopped
networks:
prometheus_frontend:
ipv4_address: 172.19.0.12
networks:
prometheus_frontend:
external: true
#### Clonar el proyecto snmp_exporter ####
#### Instalar dependencias y compilar generador ####
Distribuciones basadas en Debian.
sudo apt-get install unzip build-essential libsnmp-dev # distribuciones basadas en Debian
Distribuciones basadas en Redhat.
sudo yum install gcc make net-snmp net-snmp-utils net-snmp-libs net-snmp-devel golang
#### Compilar generador ####
make generator mibs
#### Modificación de configuración del generador ####
walk:
- sysUpTime
- interfaces
- ifXTable
- sysName
- ifHCInOctets
- ifHCOutOctets
- ifInErrors
- ifOutErrors
#### Configuración de docker de Prometheus ####
---
services:
prometheus:
image: prom/prometheus:v2.53.0
container_name: prometheus
ports:
- "9090:9090"
volumes:
- ./prometheus:/etc/prometheus
- ./prometheus-data:/prometheus
command: "--config.file=/etc/prometheus/prometheus.yml"
restart: unless-stopped
networks:
frontend:
ipv4_address: 172.19.0.11
networks:
frontend:
driver: bridge
ipam:
config:
- subnet: 172.19.0.0/16
gateway: 172.19.0.1
#### archivo de configuración de Prometheus ####
---
global:
scrape_interval: 15s
scrape_configs:
- job_name: 'snmp'
static_configs:
- targets:
- 192.168.0.84 # dispositivo SNMP.
metrics_path: /snmp
params:
auth: [public_v3]
module: [if_mib]
relabel_configs:
- source_labels: [__address__]
target_label: __param_target
- source_labels: [__param_target]
target_label: instance
- target_label: __address__
replacement: 192.168.0.153:9116 # El verdadero hostname:puerto del exportador SNMP.
#### Configuración de docker de Grafana ####
---
services:
grafana:
image: grafana/grafana-oss:10.2.8
container_name: grafana
ports:
- "3000:3000"
volumes:
- ./grafana-data:/var/lib/grafana
restart: unless-stopped
networks:
prometheus_frontend:
ipv4_address: 172.19.0.13
networks:
prometheus_frontend:
external: true
#### Dashboard de Grafana ####
Tráfico Total
sum(irate(ifHCInOctets{instance="$Device"}[$__rate_interval]) * 8)
sum(irate(ifHCOutOctets{instance="$Device"}[$__rate_interval]) * 8)
ENTRADA & SALIDA por interfaz
irate(ifHCInOctets{instance="192.168.0.84",ifIndex="2"}[$__rate_interval]) * 8
irate(ifHCOutOctets{instance="192.168.0.84",ifIndex="2"}[$__rate_interval]) * 8
Tiempo de actividad
sysUpTime{instance="$Device"} * 10
Nombre del sistema
sysName{instance="$Device"}
0:00 - Lo que necesitas
0:23 - Unifi SNMP v3
1:08 - Herramientas snmp de Linux
2:43 - docker compose de snmp exporter
4:11 - generador snmp
5:49 - configuración del generador
7:11 - configuración compilada de snmp
8:25 - docker compose de prometheus
10:34 - confirmación del contenedor snmp exporter
11:17 - docker compose de grafana
12:26 - fuente de datos de prometheus
13:13 - dashboards snmp de grafana
13:41 - solucionando prometheus
14:21 - panel de nombre de host del switch
15:15 - panel de tráfico total del switch
17:48 - panel de tráfico de puertos del switch
19:32 - panel de tiempo de actividad del switch
#prometheus #snmp #snmp_exporter #monitoreodeRed #devops