顯示頁面舊版反向連結Fold/unfold all回到頁頂 本頁是唯讀的,您可以看到原始碼,但不能更動它。您如果覺得它不應被鎖上,請詢問管理員。 ====== 安裝 LibreNMS (Docker) ====== * 安裝環境 [[tech/docker|Ubuntu 20.04 + docker compose]] * 預計採用 image - [[https://hub.docker.com/r/librenms/librenms/tags?page=1&name=latest|librenms/librenms:latest]] * 環境變數: * TZ : Asia/Taipei * LISTEN_IPV6 : false * DB_HOST : 172.16.0.201 * DB_PORT : 8306 * DB_USER : librenms * DB_PASSWORD : my_password999 * Port : 8000 (http) * Volumes : /var/librenms/librenms ( config / plugins / rrd files/ logs... ) ===== 安裝與下載 ===== * 建立 librenms 目錄 <cli> sudo mkdir /var/librenms/ sudo chown 1000:1000 /var/librenms/ cd /var/librenms/ </cli> * 下載 docker compsoe 設定檔<cli> wget https://github.com/librenms/docker/raw/master/examples/compose/.env wget https://github.com/librenms/docker/raw/master/examples/compose/compose.yml wget https://github.com/librenms/docker/raw/master/examples/compose/librenms.env wget https://github.com/librenms/docker/raw/master/examples/compose/msmtpd.env </cli> * 將 .env 內的設定改成符合自己的設定 Exp. <file> TZ=Asia/Taipei PUID=1000 PGID=1000 MYSQL_DATABASE=librenms MYSQL_USER=librenms MYSQL_PASSWORD=my_password999 </file> * 將 msmtpd.env 內的設定改成符合自己的設定 Exp. <file> SMTP_HOST=smtp.gmail.com SMTP_PORT=587 SMTP_TLS=on SMTP_STARTTLS=on SMTP_TLS_CHECKCERT=on SMTP_AUTH=on SMTP_USER=foo SMTP_PASSWORD=bar SMTP_FROM=foo@gmail.com </file> ===== 啟動 docker compose ===== * <cli> docker compose up -d docker compose logs -f </cli> * 當啟動完成就可以直接輸入 http://server_ip:8000 來建立使用者 \\ {{:tech:2023-09-20_151047.png|}} ===== 更新版本 ===== * <cli> cd /var/librenms docker compose down docker compose pull docker compose up -d </cli> ===== 命令列操作 ===== * 新增監控節點 Exp. 10.0.0.197 / snmp community : mypass001 <cli> docker compose exec librenms lnms device:add 10.0.0.197 -c mypass001 </cli> * 手動執行掃描自動加入監控節點 - 掃描參數設定 - [Global Settings]->[Discovery]->[Networks]->[Autodiscovery Networks] 加入掃描網路範圍 Exp. 10.0.0.0/24 - [Global Settings]->[Poller]->[SNMP]->[Communities (priority)] 加入 SNMP Agent 端的 Communities Exp. nms_ckey001 (預設 public) - 進行自動掃描<cli> docker compose exec librenms ./snmp-scan.py </cli> * 設定每小時自動掃描自動加入監控節點 - 建立 cron.txt <file> 0 * * * * cd /var/librenms && docker compose exec librenms ./snmp-scan.py > /tmp/snmp-scan.log 2>&1 </file> - 啟動 crontab <cli> crontab cron.txt crontab -l </cli> ===== 設定告警條件(Alert Rules) ===== * Alerts -> Alert Rules -> Click here to create the default alert rules! * ++看畫面|{{:tech:螢幕擷取畫面_2024-01-29_095225.png|}}++ * ++會建立出預設的告警條件項目 |{{:tech:螢幕擷取畫面_2024-01-29_095328.png|}}++ * ++設定預設 Port status up/down 告警條件排除 docker 的介面|{{:tech:螢幕擷取畫面_2024-01-29_121432.png|}}++ ===== 設定告警通知(Alert Transports) ===== * [[tech/librenms_line-notify|Line Notify]] ===== 常見問題 ===== - 已經安裝的 LibreNMS 主機設定好 snmpd , 卻無法在 LibreNMS 成功加入, 出現 SNMP v2c: No reply with community public 無法存取狀況 * 常見的問題是 LibreNMS 的 snmpd.conf 內所設定授權的 IP 範圍不正確, Exp. LibreNMS 主機 IP : 192.168.11.248 , 所以正常就會設定授權 IP 類似 192.168.11.248/32 Exp. snmod.conf 內設定為<cli> : com2sec mylibrenms 192.168.11.248/32 public : </cli>但是這環境已經有 docker 網路, 所以 LibreNMS 連過去主機會使用到 Docker 的網段 Exp. 172.20.0.0/16 <cli> localadmin@pve-librenms:~$ docker network inspect librenms_default | grep "Subnet" "Subnet": "172.20.0.0/16", </cli>因此需要將主機 snmpd.conf 的授權 IP 改成這 Docekr 網段 Exp. <cli> : com2sec mylibrenms 172.20.0.0/16 public : </cli>修改 snmpd.conf 後重啟 snmpd 服務就可 - 第一次啟動時 docker compose logs librenms 一直出現 librenms | nginx: [emerg] socket() [::]:8000 failed (97: Address family not supported by protocol) * 主要是該 VM 沒有啟用支援 ipv6, 因此必須將 nginx 內的設定檔關閉 Listen ipv6 - 修改 compose.yml 設定 LISTEN_IPV6=false<file> : librenms: image: librenms/librenms:latest : environment: : - "LISTEN_IPV6=false" : </file> - 重新啟動 <cli> docker compose up -d </cli> ===== 參考網址 ===== * https://hub.docker.com/r/librenms/librenms * https://github.com/librenms/docker {{tag>K8s LibreNMS}} tech/k8s_librenms.txt 上一次變更: 2024/04/10 16:09由 jonathan