Monitor Switch, Router cisco với Prometheus và Grafana

Monitor Switch, Router cisco với Prometheus và Grafana.

 

1./ Cài đặt Docker container.

Cài đặt tự động bằng script sau:

nano /opt/script/build-docker-container.sh

 

#!/bin/bash

#Install Docker container on Ubuntu 18.04 LTS

#/opt/script/build-docker-container.sh

# © Copyright CuongNH2 

sudo apt-get -y update

sudo apt-get -y upgrade

#remove old version docker

sudo apt-get remove docker docker-engine docker.io

 

echo "####################################################################"

echo "#  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ Install dependencies package​​  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ #"

echo "####################################################################"

sudo apt-get install -y apt-transport-https ca-certificates curl software-properties-common

 

 

echo "####################################################################"

echo "#  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ Add Docker's GPG key​​  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​  ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ #"

echo "####################################################################"

curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -

 

cd /opt/setup

#Add repository

sudo add-apt-repository "deb [arch=amd64] https://download.docker.com/linux/ubuntu bionic stable"

 

sudo apt-get -y update

 

apt-cache policy docker-ce

sudo apt-get install -y docker-ce

sudo systemctl enable docker

sudo systemctl status docker

 

cd /opt/script/

chmod +x build-docker-container.sh

./​​build-docker-container.sh

kiểm tra lại

docker --version

Chuyển thư mục lưu trữ docker về /opt

systemctl stop docker

cd /var/lib

mv docker /opt

ln -s /opt/docker .

systemctl restart docker

systemctl status docker

2./ Khởi tạo container Prometheus

sudo useradd -rs /bin/false prometheus

sudo mkdir /etc/prometheus

cd /etc/prometheus/ && sudo touch prometheus.yml

sudo mkdir -p /data/prometheus

sudo chown prometheus:prometheus /data/prometheus /etc/prometheus/*

 

nano /etc/prometheus/prometheus.yml

#Paste

scrape_configs:

 ​​​​ - job_name: prometheus

 ​​ ​​ ​​​​ static_configs:

 ​​ ​​ ​​ ​​ ​​​​ - targets:

 ​​ ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ - "localhost:9090"

######################################################

 ​​​​ - job_name: 'snmp_192_168_1_100

 ​​ ​​ ​​​​ scrape_interval: 60s

 ​​ ​​ ​​​​ static_configs:

 ​​ ​​ ​​ ​​ ​​​​ - targets: ['192.168.1.100']

 ​​ ​​ ​​​​ metrics_path: /snmp

 ​​ ​​ ​​​​ params:

 ​​ ​​ ​​ ​​ ​​​​ module: [if_mib]

 ​​ ​​ ​​​​ relabel_configs:

 ​​ ​​ ​​ ​​ ​​​​ - source_labels: [__address__]

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ target_label: __param_target

 ​​ ​​ ​​ ​​ ​​​​ - source_labels: [__param_target]

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ target_label: instance

 ​​ ​​ ​​ ​​ ​​​​ - target_label: __address__

 ​​ ​​ ​​ ​​ ​​ ​​ ​​​​ replacement:​​ 127.0.0.1:9116

Cần thay thế targets là IP của switch, router cần monitor

Chắc chắn rằng không có port nào đang chiếm port 9090

sudo netstat -tulpn | grep 9090

Kiểm tra UID và GID của user prometheus

cat /etc/passwd | grep prometheus

prometheus:x:999:998:/home/prometheus:/bin/false

#tạo container prometheus

docker run -d -p 9090:9090 --user 999:998 \

--net=bridge \

-v /etc/prometheus/:/etc/prometheus \

-v /data/prometheus/:/data/prometheus \

prom/prometheus \

--config.file="/etc/prometheus/prometheus.yml" \

--storage.tsdb.path="/data/prometheus"

Kết quả

2973f82f1fea3ece389b265074f2d49f2bc3c9119e2cc73349b1993a880fe840

Như vậy đã Map được port 9090 của server cài Docker vào container và trỏ các file cấu hình tương ứng vị trí.

Lưu ý mở port 9090 trên server cài Docker

Để truy cập được vào container prometheus tiến hành sử dụng lệnh

docker exec -it prometheus sh

Lỗi khi tiến hành exec vào container mode bash thay vì sh :​​ OCI runtime exec failed: exec failed: container_linux.go:349: starting container process caused "exec: \"/bin/bash\": stat /bin/bash: no such file or directory": unknown

#​​ https://github.com/docker/for-linux/issues/246

Truy cập vào prometheus qua Browser

http://yourip:9090/graph

 

3./ Enable SNMP trên switch, router cisco.

sh run | inc snmp

10 permit udp any any eq snmp

enable

conf t

#snmp-server community Htv123456 RO

snmp-server community public RO

4./ Check thông tin SNMP của switch, router cần lấy SNMP

cài thêm snmp

sudo apt-get install snmp -y

snmpwalk -v2c -c​​ public​​ 10.100.110.21

#với public là community string. và 10.100.110.21 là IP của switch, router.

…

iso.3.6.1.2.1.2.2.1.7.436281344 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436285440 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436289536 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436293632 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436297728 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436301824 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436305920 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436310016 = INTEGER: 1

iso.3.6.1.2.1.2.2.1.7.436314112 = INTEGER: 1

…

5./ Cấu hình trên Grafana

chọn SNMP Datasouce Prometheus

 

Sau đó add thêm Dashboard với​​ ID 11169 sẽ hiện được thông tin của Dashboard

 

Tham khảo:

https://cloudx.com.vn

https://github.com/prometheus/snmp_exporter

https://vnsys.wordpress.com/2020/01/05/monitoring-network-voi-prometheus-grafana/

  • Done.

BÀI VIẾT CÙNG CHUYÊN MỤC

Critical - CVE 2026 98432 - Nguy cơ tấn công từ xa vào Linux - Ubuntu, Centos, Debian
Critical - CVE 2026 98432 - Nguy cơ tấn công từ xa vào ...

Critical - CVE 2026 98432 - Nguy cơ tấn công từ xa vào Linux - Ubuntu, Centos, ...

CXMT và DRAM 4F² cho thấy Trung Quốc tiến nhanh nhưng chưa thể kết luận Mỹ thua cuộc
CXMT và DRAM 4F² cho thấy Trung Quốc tiến nhanh nhưng ...

CXMT và DRAM 4F² cho thấy Trung Quốc tiến nhanh nhưng chưa thể kết luận Mỹ thua ...

Cảnh báo NAS Synology, XPEnology bị mã hóa dữ liệu: Vì sao bị tấn công và cách xử lý?
Cảnh báo NAS Synology, XPEnology bị mã hóa dữ liệu: Vì ...

Cảnh báo NAS Synology, XPEnology bị mã hóa dữ liệu: Vì sao bị tấn công và cách ...

Cảnh báo Telegram trên iPhone: Nguy cơ bị hacker tấn công qua sticker và cách phòng tránh
Cảnh báo Telegram trên iPhone: Nguy cơ bị hacker tấn ...

Cảnh báo Telegram trên iPhone: Nguy cơ bị hacker tấn công qua sticker và cách ...

PHP2Shell làm Nhật Bản “khốn đốn”: Vì sao nhiều dịch vụ tạm dừng, còn thế giới chịu ảnh hưởng ra sao?
PHP2Shell làm Nhật Bản “khốn đốn”: Vì sao nhiều dịch ...

PHP2Shell làm Nhật Bản “khốn đốn”: Vì sao nhiều dịch vụ tạm dừng, còn thế giới ...

PHP2Shell: Hai lỗ hổng nghiêm trọng đe dọa hàng triệu website – Cách kiểm tra và khắc phục
PHP2Shell: Hai lỗ hổng nghiêm trọng đe dọa hàng triệu ...

PHP2Shell: Hai lỗ hổng nghiêm trọng đe dọa hàng triệu website – Cách kiểm tra ...