logo头像

You name it , I got it !

筆記- ubuntu 18.04 系統狀態監控工具 librenms

LibreNMS

LibreNMS 官方網站

過去用過許多不同類型的伺服器狀態監測的系統,NAGIOS/NMS/MRTG/PRTG/CACTI/Smokeping
不得不說,前面幾種的界面設計很明顯已經「過時」,只有Smokeping 勉強算得上 「fancy」
現在的系統,已經不只是功能要能符合需求,UI/Report也要能夠「入眼」,才是個真正好的系統!

最近正好因為現在公司之前建立好的NMS發生一些問題,也跟主管討論怎樣改善這種狀況
<!– more –!>

上網找了一些 opensource 的系統,很多都還是那種比較「老派」的界面設計!
拜託!工程師也是人好嗎?時代在改變,「審美觀」自然也會跟著改變
15年前也許我會覺得 cacti 超炫! 15年後再看cacti我只能說超遜!

直到我看到 LibreNMS !
設定簡單、畫面簡潔美觀,而且有docker file 可以直接執行!真的是太美好了!

二話不說,馬上下載docker-compose版本回來測試
setiseta/docker-librenms on github

下載回來之後,簡單修改一下docker-compose.yml 就可以跑了,docker就是這麼方便啊!
我的docker-compose.yml如下
基本上我只修改了 PASSWORD 和 timezone 還有要開的port而已
不過不知為何,改這邊的timezone似乎沒有作用,這個還要再研究

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
version: '3'

services:
mysql:
image: mariadb
container_name: librenms-db
volumes:
- ./mysql:/var/lib/mysql
- ./50-server.cnf:/etc/mysql/mariadb.conf.d/50-server.cnf:ro
environment:
- MYSQL_ROOT_PASSWORD=password
- MYSQL_DATABASE=librenms
restart: always

librenms:
build: .
image: seti/librenms
container_name: librenms
hostname: librenms
volumes:
- ./data:/data
- /etc/timezone:/etc/timzone:ro
- /etc/localtime:/etc/localtime:ro
ports:
- 8002:80
- 514:514/tcp
- 514:514/udp
depends_on:
- mysql
environment:
- DB_TYPE=mysql
- DB_HOST=mysql
- DB_NAME=librenms
- DB_USER=root
- DB_PASS=password
- TZ="Asia/Taipei"
- POLLER=24
- SERVICES_ENABLED=1
- UPDATE_CHANNEL=master

改完之後,直接執行 docker-compose up -d
可能這個系統比較大一點,啟動要跑比較多東西,所以要跑一下子
可以用docker ps -a / docker logs librenms 檢查狀態
不然就放個十分鐘,總是可以跑起來的 XD
登入之後,先測試加入一些已經開放SNMP的設備,可以很順利的抓到
再放個半小時一小時的,就可以看到圖表上開始出現數據了
Mail Server 運行狀況

LibreNMS 圖表

再來這個是我覺得很有用的網路連接狀況
甚至會把帶哪個VLAN去哪個裝置都列出來
非常的方便!
網路連接狀況