开源的SNMP网管系统LibreNMS
什么是 SNMP ?
簡單網(wǎng)絡(luò)管理協(xié)議( SNMP) 是專門設(shè)計(jì)用于在 IP 網(wǎng)絡(luò)管理網(wǎng)絡(luò)節(jié)點(diǎn)(服務(wù)器、工作站、路由器、交換機(jī)及 HUBS 等)的一種標(biāo)準(zhǔn)協(xié)議,它是一種應(yīng)用層協(xié)議。SNMP 使網(wǎng)絡(luò)管理員能夠管理網(wǎng)絡(luò)效能,發(fā)現(xiàn)并解決網(wǎng)絡(luò)問題以及規(guī)劃網(wǎng)絡(luò)增長。通過 SNMP 接收隨機(jī)消息(及事件報(bào)告)獲知網(wǎng)絡(luò)出現(xiàn)問題。【百度百科】
什么是 LibreNMS ?
LibreNMS 是一套開源、功能齊全的網(wǎng)絡(luò)監(jiān)控系統(tǒng),基于 PHP 、MySQL、SNMP 技術(shù)開發(fā),提供豐富的功能和設(shè)備支持。
前言
對于熟悉 Docker Compose 的人來說,LibreNMS 的安裝并不復(fù)雜,官方提供了安裝的 demo,在 https://github.com/librenms/docker/tree/master/examples/compose 能找到 4 個(gè)文件
下載后根據(jù)自己的情況修改保存,主要也就是端口和卷,然后建兩個(gè)空目錄,分別是 db 和 librenms
再運(yùn)行 docker-compose up -d 就搞定了,一共會啟動 8 個(gè)容器
使用了一陣,各方面都挺正常的
but,老蘇覺得咱也不是專業(yè)的網(wǎng)管,能不能簡化一下呢?比如就裝一個(gè) librenms 容器呢?
結(jié)論是可行的,但是圖表出不來
下圖是 Docker Compose 安裝的同一個(gè)頁面
其他功能可以正常使用,具體原因老蘇也沒弄明白。如果你只是想體驗(yàn)一下,而且沒有強(qiáng)迫癥的話,就跟著老蘇來試試單容器的效果。
安裝
數(shù)據(jù)庫
通過 phpMyAdmin 在 MariaDB 10 中新建用戶 librenms,創(chuàng)建同名的庫 librenms 并授予所有權(quán)限。
如果使用 MariaDB 5,首次登陸會顯示下圖
群暉上的 MariaDB 10 版本是 10.3.7,已經(jīng)可以滿足要求,不然就需要另外通過容器來安裝了 MariaDB 了
安裝鏡像
在群暉上以 Docker 方式安裝。
在注冊表中搜索 librenms ,選擇第一個(gè) librenms/librenms,版本選擇 latest。
卷
在 docker 文件夾中,創(chuàng)建一個(gè)新文件夾,并將其命名為 librenms,再建一個(gè)子目錄 data
| docker/librenms/data | /data | 存放設(shè)置等 |
/data:包含配置、插件、rrd 數(shù)據(jù)庫、日志、額外的監(jiān)控插件、額外的 syslog-ng 配置文件
端口
http 端口改為了 8234 ,其他采用了默認(rèn)的自動
| 8234 | 8000 |
環(huán)境
完整的環(huán)境變量參數(shù)在:https://github.com/librenms/docker/blob/master/doc/docker/environment-variables.md
老蘇只是按自己的需要改了幾個(gè)跟數(shù)據(jù)庫相關(guān)的部分:
| TZ | 時(shí)區(qū) |
| DB_HOST | 數(shù)據(jù)庫主機(jī)名或者 IP |
| DB_PORT | 數(shù)據(jù)庫端口 |
| DB_NAME | 數(shù)據(jù)庫名稱 |
| DB_USER | 數(shù)據(jù)庫用戶 |
| DB_PASSWORD | 數(shù)據(jù)庫密碼 |
| DB_TIMEOUT | 數(shù)據(jù)庫超時(shí) |
TZ 默認(rèn)值為 UTC,改為 Asia/Shanghai、PUID 和 PGID 用了默認(rèn)的 1000
點(diǎn) + 號新增跟數(shù)據(jù)庫相關(guān)的內(nèi)容
3306 是 MariaDB 5 的默認(rèn)端口,3307 才是 MariaDB 10 的默認(rèn)端口
運(yùn)行
在瀏覽器中輸入 http://群暉IP:8234,就能看到登陸界面了
默認(rèn)的賬號:librenms,密碼:librenms
登陸成功后
設(shè)置中文
點(diǎn)右上角用戶 librenms --> My Settings --> Language
下拉選擇 簡體中文
就像界面上提示的 多國語系功能尚未完備,很多地方依然還是顯示的英文
新增設(shè)備
菜單欄中 設(shè)備
點(diǎn) 新增設(shè)備
這種方式只能一臺設(shè)備一臺設(shè)備添加
路由器
首先要在路由器中啟用 SNMP 協(xié)議
填入相關(guān)信息,應(yīng)用
- 第一個(gè)紅框中是一些說明信息
- 第二個(gè)框是 Community String,你可以認(rèn)為這是一個(gè)密碼,建議像密碼一樣設(shè)的復(fù)雜一點(diǎn),老蘇這里只是為了演示。
- 大部分網(wǎng)絡(luò)供應(yīng)商提供的設(shè)備默認(rèn)密碼為 “public” 。(這就是所謂的“默認(rèn)公共社區(qū)字符串”。)
回到 LibreNMS 的 新增設(shè)備 頁面
剛添加完成,還是一個(gè) Generic Device
需要在 Capture 中 Discovery一下(Docker Compose 安裝的似乎不用,估計(jì)是有 dispatcher 的緣故)
完成之后就能正確顯示了
群暉
控制面板 --> 終端機(jī)和SNMP --> SNMP,默認(rèn)也沒有啟用 SNMP 服務(wù)
- 這里的 社群 就是 Community String
回到 LibreNMS 的 新增設(shè)備 頁面
兩個(gè)設(shè)備添加完成之后,可以在設(shè)備列表中看到
自動發(fā)現(xiàn)
如果你是一個(gè)網(wǎng)管,管理著很多的設(shè)備,這種逐個(gè)添加設(shè)備的方式顯然不太適合,因此就會需要用到自動發(fā)現(xiàn)功能
但是在你使用之前,老蘇想告訴你,這個(gè)功能特別耗資源,而且也很費(fèi)時(shí),如果你是在內(nèi)存比較小的機(jī)器、或者貓盤這類設(shè)備上安裝的 LibreNMS,不建議使用,一旦開啟就會像下面👇這樣,老蘇的機(jī)器中途還自動關(guān)機(jī)了一次
操作需要進(jìn)入容器內(nèi)部,進(jìn)入容器可以通過 SSH 客戶端,也可以通過群暉 Docker 的終端機(jī)
SSH 客戶端
SSH 客戶端直接執(zhí)行下面👇的命令即可進(jìn)入到容器內(nèi)部
librenms-librenms1 為容器的名稱
# 用 root 身份進(jìn)入 docker exec --user root -it librenms-librenms1 /bin/bash終端機(jī)
容器上右鍵進(jìn)入「詳情」
「終端機(jī)」 => 「新增」 => 「通過命令啟動」=> 「請輸入一個(gè)命令」=> 「bash」
進(jìn)入容器之后,操作命令都是一樣的了,默認(rèn)在 /opt/librenms 下
你可以抓取自定義的網(wǎng)段
# 自定義網(wǎng)段掃描 ./snmp-scan.py 192.168.0.0/16也可以將需要掃描的網(wǎng)段添加在 config.php 中
$config['nets'][] = "192.168.0.0/16";然后執(zhí)行掃描
# 根據(jù)配置文件掃描 ./snmp-scan.py診斷
如果運(yùn)行中有什么問題,可以用下面的方法進(jìn)行診斷
# Do not run validate.php as root docker exec --user librenms -it librenms-librenms1 /bin/bash# 診斷 ./validate.php似乎不管怎么裝都會有這個(gè)數(shù)據(jù)庫警告
處不處理好像也沒什么不同,只是看著舒服一點(diǎn)
小結(jié)
LibreNMS 可以通過 SNMP 協(xié)議,將設(shè)備的處理器、操作系統(tǒng)、內(nèi)存、網(wǎng)卡、存儲等信息收集起來,通過圖表的方式進(jìn)行展示和查詢,利用報(bào)警可以讓我們及時(shí)了解設(shè)備的狀況,而通過歷史數(shù)據(jù)又可以很容易分析出故障的原因,更多的功能等待你去發(fā)掘。
參考文檔
librenms/librenms: Community-based GPL-licensed network monitoring system
地址:https://github.com/librenms/librenms
LibreNMS
地址:https://www.librenms.org/
librenms/docker: LibreNMS Docker image based on Alpine Linux and Nginx
地址:https://github.com/librenms/docker
LibreNMS Docs
地址:https://docs.librenms.org/
Synology SNMP Network Monitoring with LibreNMS Docker - Jason Loong
地址:https://jasonloong.com/2017/synology-snmp-network-monitoring-with-librenms-docker/
總結(jié)
以上是生活随笔為你收集整理的开源的SNMP网管系统LibreNMS的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: unity序列帧动画的粒子特效
- 下一篇: java信息管理系统总结_java实现科