Skip to content
-
Subscribe to our newsletter & never miss our best posts. Subscribe Now!
Lê Vũ Blog
Lê Vũ Blog
  • Trang Chủ
  • Kiến Thức
  • Phần Mềm
  • Du Lịch
  • Mua Sắm
  • Sức Khỏe
  • Ẩm Thực
  • Trang Chủ
  • Kiến Thức
  • Phần Mềm
  • Du Lịch
  • Mua Sắm
  • Sức Khỏe
  • Ẩm Thực
Close

Search

  • https://www.facebook.com/
  • https://twitter.com/
  • https://t.me/
  • https://www.instagram.com/
  • https://youtube.com/
Subscribe
Kiến ThứcNetwork

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

By vuat8b
April 11, 2023 2 Min Read
0

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

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

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

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/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

1
2
3
4
5
cd /opt/script/
 
chmod +x build-docker-container.sh
 
./​​build-docker-container.sh

kiểm tra lại

1
docker --version

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

1
2
3
4
5
6
7
8
9
10
11
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

1
2
3
4
5
6
7
8
9
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/*

1
nano /etc/prometheus/prometheus.yml

#Paste
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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

1
sudo netstat -tulpn | grep 9090

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

1
2
3
cat /etc/passwd | grep prometheus
 
prometheus:x:999:998:/home/prometheus:/bin/false

#tạo container prometheus

1
2
3
4
5
6
7
8
9
10
11
12
13
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ả

1
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

1
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.

1
2
3
4
5
6
7
8
9
10
11
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.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
…
 
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://fixloinhanh.com

https://github.com/prometheus/snmp_exporter

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

Tags:

Monitor SwitchRouter cisco
Author

vuat8b

Follow Me
Other Articles
Previous

Mellanox NIC’s on Linux

Next

A quick and dirty script to backup Openstack config files

No Comment! Be the first one.

Leave a Reply Cancel reply

You must be logged in to post a comment.

Copyright 2026 — Lê Vũ Blog. All rights reserved. Blogsy WordPress Theme