顯示具有 librenms 標籤的文章。 顯示所有文章
顯示具有 librenms 標籤的文章。 顯示所有文章

2026/08/13

今天早上忽然發現librenms的管理介面變成一片空白打不開

直接 ./validate.php 

PHP Fatal error:  Uncaught ReflectionException: Class "librenms-config" does not exist in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php:1122
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(1122): ReflectionClass->__construct()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(933): Illuminate\Container\Container->build()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(864): Illuminate\Container\Container->resolve()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(138): Illuminate\Container\Container->make()
#4 /opt/librenms/LibreNMS/Util/Version.php(51): app()
#5 /opt/librenms/validate.php(160): LibreNMS\Util\Version::get()
#6 /opt/librenms/validate.php(83): print_header()
#7 [internal function]: {closure:/opt/librenms/validate.php:75}()
#8 {main}

Next Illuminate\Contracts\Container\BindingResolutionException: Target class [librenms-config] does not exist. in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php:1124
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(933): Illuminate\Container\Container->build()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(864): Illuminate\Container\Container->resolve()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(138): Illuminate\Container\Container->make()
#3 /opt/librenms/LibreNMS/Util/Version.php(51): app()
#4 /opt/librenms/validate.php(160): LibreNMS\Util\Version::get()
#5 /opt/librenms/validate.php(83): print_header()
#6 [internal function]: {closure:/opt/librenms/validate.php:75}()
#7 {main}
  thrown in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1124

Fatal error: Uncaught ReflectionException: Class "librenms-config" does not exist in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php:1122
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(1122): ReflectionClass->__construct()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(933): Illuminate\Container\Container->build()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(864): Illuminate\Container\Container->resolve()
#3 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(138): Illuminate\Container\Container->make()
#4 /opt/librenms/LibreNMS/Util/Version.php(51): app()
#5 /opt/librenms/validate.php(160): LibreNMS\Util\Version::get()
#6 /opt/librenms/validate.php(83): print_header()
#7 [internal function]: {closure:/opt/librenms/validate.php:75}()
#8 {main}

Next Illuminate\Contracts\Container\BindingResolutionException: Target class [librenms-config] does not exist. in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php:1124
Stack trace:
#0 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(933): Illuminate\Container\Container->build()
#1 /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php(864): Illuminate\Container\Container->resolve()
#2 /opt/librenms/vendor/laravel/framework/src/Illuminate/Foundation/helpers.php(138): Illuminate\Container\Container->make()
#3 /opt/librenms/LibreNMS/Util/Version.php(51): app()
#4 /opt/librenms/validate.php(160): LibreNMS\Util\Version::get()
#5 /opt/librenms/validate.php(83): print_header()
#6 [internal function]: {closure:/opt/librenms/validate.php:75}()
#7 {main}
  thrown in /opt/librenms/vendor/laravel/framework/src/Illuminate/Container/Container.php on line 1124


找了一下資料後 開始修


cd /opt/librenms/scripts

./composer-wrapper.php install --no-dev

修完後再跑 ./validate.php 

來來回回好几次 然後根据回應處理後

再跑一次 ./daily.sh

確認沒問題後再重開一次
目前正常了

2026/08/09






librenms的php 官方建議要升到8.4以上了

比照之前記錄一下流程

列出之前 hold住的 package

apt-mark showhold

php-cli     php-curl  php-gd   php-json      php-mysql  php-snmp  php-zip php-common  php-fpm   php-gmp  php-mbstring  php-pear   php-xml


apt-mark unold php-cli     php-curl  php-gd   php-json      php-mysql  php-snmp  php-zip php-common  php-fpm   php-gmp  php-mbstring  php-pear   php-xml


移除先前版本

apt remove php8.3-zip php8.3-xml php8.3-snmp php8.3-readline php8.3-opcache php8.3-mysql php8.3-mbstring php8.3-gmp php8.3-common php8.3-curl php8.3-gd php8.3


安裝新版本

apt install php-cli     php-curl  php-gd   php-json      php-mysql  php-snmp  php-zip php-common  php-fpm   php-gmp  php-mbstring  php-pear   php-xml


設定timezone

/etc/php/8.4/cli/php.ini

date.timezone = Asia/Taipei


複制 /etc/php/8.3/fpm/pool.d/librenms.conf 到 /etc/php/8.4/fpm/pool.d


apt-mark hold

php-cli
php-common
php-curl
php-fpm
php-gd
php-gmp
php-json
php-mbstring
php-mysql
php-pear
php-snmp
php-xml
php-zip
php


重跑validate

出現







找了全部的檔案都沒找到這行

目前安裝的版本是 rrdtoold 1,7,2


最後找到是放在db裡

 select * from config where config_value like "%1.4.8%";
+-----------+-----------------+--------------+
| config_id | config_name     | config_value |
+-----------+-----------------+--------------+
|       820 | rrdtool_version | "1.4.8"      |
+-----------+-----------------+--------------+
1 row in set (0.001 sec)


直接update

MariaDB [librenms]>update config set config_value = '"1.5.5"' where config_id=820;
Query OK, 1 row affected (0.000 sec)
Rows matched: 1  Changed: 1  Warnings: 0

MariaDB [librenms]>
MariaDB [librenms]>
MariaDB [librenms]> select * from config where config_id=820;
+-----------+-----------------+--------------+
| config_id | config_name     | config_value |
+-----------+-----------------+--------------+
|       820 | rrdtool_version | "1.5.5"      |
+-----------+-----------------+--------------+
1 row in set (0.000 sec)

再跑validate就沒出現了

2025/10/05

又在 librenms heallth state 發現有設備fan 壞了





怪的是在syslog都沒看到相關訊息
不管是在 syslog server或在本几下 show log
所以在librenms 再加了一個alert rules





















2025/08/21

如何在librenms設定到達某個臨界值時發出告警

最快的方式

點開要設定告警的圖
找出url上的 id 值
如下所示
http://10.0.0.1/graphs/to=1755736500/id=22718/type=sensor_fanspeed/from=1755650100/

id 是 22718

再來設定 alert rule
如下圖
設定名稱, sesssor id , 跟告警值
設完後儲存即可



















第二個方式

點開要取值的圖 如下

註記表示在 alert rule 需要使用的 名稱








接下來 create new alert rule



















設定名稱, rule 即可
如果需要限定作用几器 再額外加上 match devices


建立感測器警報規則時最常會用到的選項如下

選項 (Attribute) 資料類型 說明

sensor_value            數字         (最常用) 感測器目前讀取到的數值。例如,電壓的 110、溫度的 25、電量的 98。

sensor_descr         文字         感測器的描述性名稱。例如 Input Phase 1、CPU Core 0 Temp、Toner Level。用來鎖定特定感測器。

sensor_type         文字         感測器的類型,通常來自 MIB 的定義。例如 voltage、temperature、charge、snmp。用來篩選某一類型的所有感測器。

sensor_class         文字         感測器的通用類別。與 sensor_type 類似,但更通用。例如 temperature、voltage、current 等。

sensor_limit         數字         設備本身定義的高臨界值。如果設備透過 SNMP 提供此資訊,您可以用它來做動態比較。

sensor_limit_low 數字         設備本身定義的低臨界值。

sensor_alert         數字 (0/1) 一個布林值 (Boolean),表示設備本身是否認為此感測器已處於警報狀態。1 代表是,0 代表否。


這些選項在特定情境下也可能很有用。

選項 (Attribute) 資料類型 說明

sensor_id             數字         感測器在 LibreNMS 資料庫中的唯一 ID。

sensor_prev         數字         感測器上一次輪詢 (poll) 時的數值。可用來比較數值的變化。

last_updated         時間戳         該感測器最後一次更新的時間

2024/11/04

今天把 librenms的php 升到 8.3 (官方建議)

記錄一下流程
先把之前 apt-mark hold 的pkg unhold

php-cli
php-common
php-curl
php-fpm
php-gd
php-gmp
php-json
php-mbstring
php-mysql
php-pear
php-snmp
php-xml
php-zip

接下來移除原安裝的 php 並安裝 php8.3


php8.3-fpm.service 要重啟並 enable

systemctl restart php8.3-fpm.service
systemctl enable php8.3-fpm.service


/etc/php/8.3/cli/php.ini裡的 timezone要設定

date.timezone = Asia/Taipei


複制 /etc/php/8.1/fpm/pool.d/librenms.conf 到 /etc/php/8.3/fpm/pool.d

把 pkg hold 住 暫時不再升版本

apt-mark hold

php-cli
php-common
php-curl
php-fpm
php-gd
php-gmp
php-json
php-mbstring
php-mysql
php-pear
php-snmp
php-xml
php-zip


目前正常了 再觀察看看

2024/09/17

昨天的內稽事項有提到要注意各server的HD使用量

二個做法 種 agent 或打開server的 snmp

初步的想法是打開 server的 snmp

因為現在 m$ 某些OS 預設不給ping 

所以 librenms 要改個設定值 把ping test 關了


 





撈進來後 點到 health 可以看到 cpu ram hd 的狀況



 

 



點右方的齒輪 可以在 storage processors memory 設定告警的閥值

 



 

 



 



不過這裡設完後還是不會發alert

要再手動加一條 rule 而手動加的個rule 也不會參考這裡的值 需要重新指定

 


 

2024/09/16

最近因為換冷氣 所以要觀察 raspberry 的cpu溫度 

來調整冷氣的設定溫度

先前已經利用設定snmp把值放在librenms上畫圖

今天想到grafana可以取值來畫圖

而且應該比snmp librenms 方便

首先把日期跟溫度存成csv 檔 格式如下 放在web server上

格式如下

time,temperature

Sun Sep 15 09:15:01 CST 2024,46.2

Sun Sep 15 09:20:01 CST 2024,46.2


接下來只要定時更新這個csv檔就可以了

grafana 要add new datasource          

yesoreyeram-infinity-datasource

安裝後不需要先建立 Global queries

接下來 New 一個 dashboard

Add visualization









select data source






type 選擇csv           修改csv檔的url








要把columns 依照數字及時間 設定好 

時間的格式一定要依照cvs檔裡的時間格式設定好才能畫圖 








完成後就能看到如下的圖了






2024/09/14

最近進了一台icx8200
可是在librenms上顯示的hardware名稱不對
之前也有人問同樣的問題在icx7150
定義的檔案是在
/opt/librenms/LibreNMS/OS/Ironware.php
裡面確實沒看到icx8200
等更新吧

2024/09/05

最近設備因為不明原因發生了二次cpu 99 %的情形 snmp就會撈不到值

第一次重開後大約正常了一週

又再發生

今天第二次重開 目前正常

但每次重開後

librenms 裡的 port id 都會變 導致weathermap 出現如下的問題

必須要再手動去一個一個改 config 

 


2024/08/12

之前一直都沒去找過 librenms 

temperature Sensor over limit

這裡的定義

發現不是一個固定的定值

而且超越前高時 就會出現




2024/08/03

上次librenms升完OS後
一直出現hd容量不夠的狀況
今天才發現 /var/log/syslog 這個檔變的很大
內容都是以下的log

2024-08-03T12:14:01.608311+08:00 W-librenms-debian12 mariadbd[221]: 2024-08-03 12:14:01 283381 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).
2024-08-03T12:14:01.608631+08:00 W-librenms-debian12 mariadbd[221]: 2024-08-03 12:14:01 283381 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'hist_type' at position 9 to have type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB','JSON_HB'), found type enum('SINGLE_PREC_HB','DOUBLE_PREC_HB').
2024-08-03T12:14:01.608659+08:00 W-librenms-debian12 mariadbd[221]: 2024-08-03 12:14:01 283381 [ERROR] Incorrect definition of table mysql.column_stats: expected column 'histogram' at position 10 to have type longblob, found type varbinary(255).

google了一下
說是升OS時DB沒升造成
使用以下指令升級DB

mysql_upgrade --user=root --password=passwd

目前看來正常了
再觀察看看

2024/06/16

今天把librenms的OS從debian 11 升到 12
照步驟做沒問題
要注意的是php不能升到 8.3
只能到 8.2
原來在debian 11上的是 8.1



2023/12/02

最近這几天 規定要往上指的 DNS 發生故障
重點是 發生故障也不通知下層單位
真是有夠無言的
本來沒有在監控記錄 dns query 的 response time
想說來加一下好了 加在 librenms
搞了好久
最後發現不會自動帶入 Remote Host
要在 Parameters 下完整
最終沒問題的設定方式如下圖





2023/08/14

之前寫過一篇有關如何在librenms加上 service 監控的
在新版本上要修正一下
目前版本

23.7.0-73-gd865e3b37 - Sun Aug 13 2023 22:56:54 GMT+0800

以ubuntu為例子
首先要安裝nagios套件

sudo apt install nagios-plugins

chmod +x /usr/lib/nagios/plugins/*

更改設定檔
vi /opt/librenms/config.php

# nagios-plugins
$config['show_services']           = 1;
$config['nagios_plugins']   = "/usr/lib/nagios/plugins";


vi /etc/cron.d/librenms

*/5  *    * * *   librenms    /opt/librenms/services-wrapper.py 1

設定完成後就會在web介面上多出 service 的選項可以使用

接下來碰到的問題是
如果把service設定到 localhost
是無法正常使用的

要新加一個device
設定為 service_chcek
然後把 snmp 及 ping check都關掉
再把service設定到 service_check 這個device上
才能正常

如果在check service 時有加上參數捉取回應時間
librenms 會自動使用這個值畫出圖
可以由此觀察服務的回應時間 看出service有沒有lag的情況




2022/12/20

今天更新 debian
直接下完
apt update
apt upgrade -y 後
librenms就打不開了
跑了 ./daily.sh 
出現

Updating to latest codebase                        OK
Updating Composer packages                         FAIL
> LibreNMS\ComposerHelper::preInstall
Installing dependencies from lock file
Verifying lock file contents can be installed on current platform.
Your lock file does not contain a compatible set of packages. Please run composer update.

  Problem 1
    - fgrosse/phpasn1 is locked to version v2.4.0 and an update of this package was not requested.
    - fgrosse/phpasn1 v2.4.0 requires php ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 -> your php version (8.2.0) does not satisfy that requirement.
  Problem 2
    - fgrosse/phpasn1 v2.4.0 requires php ~7.1.0 || ~7.2.0 || ~7.3.0 || ~7.4.0 || ~8.0.0 || ~8.1.0 -> your php version (8.2.0) does not satisfy that requirement.
    - web-token/jwt-core v2.2.11 requires fgrosse/phpasn1 ^2.0 -> satisfiable by fgrosse/phpasn1[v2.4.0].
    - web-token/jwt-core is locked to version v2.2.11 and an update of this package was not requested.
Updated from ae22662c8 to 1ab238a4d                OK
Updating SQL-Schema                                OK
Updating submodules                                OK
Cleaning up DB                                     OK
Fetching notifications                             OK
Caching PeeringDB data                             OK
Caching Mac OUI data                               OK

看來是php不能升到 8.2

只能倒回備分
再排除以下的更新 

php-cli/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-common/bullseye 2:93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:93+0~20221029.44+debian11~1.gbpaae3e9]
php-curl/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-fpm/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-gd/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-gmp/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-json/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-mbstring/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-mysql/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-pear/bullseye 1:1.10.13+submodules+notgz+2022032202-2+0~20221209.38+debian11~1.gbpfd4c1d all [upgradable from: 1:1.10.13+submodules+notgz+2022032202-2+0~20220330.37+debian11~1.gbpfd4c1d]
php-snmp/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-xml/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]
php-zip/bullseye 2:8.2+93+0~20221211.45+debian11~1.gbpdb4dcc all [upgradable from: 2:8.1+93+0~20221029.44+debian11~1.gbpaae3e9]

再來把以上的package hold住 不要更新
指令如下

Hold a package:

sudo apt-mark hold <package-name>
Remove the hold:

sudo apt-mark unhold <package-name>
Show all packages on hold:

sudo apt-mark showhold

指令下完後 apt upgrade 時就不會更新

不過如果是下 apt install 還是會更新 此時就不受 hold影響 要特別注意


2022/09/30

最近登入librenms時出現以下提示




 




目前使用的這個版本是從官網下載ubunbu 20.04 ova

試著升級但升完後有很多問題

於是打算重裝

選定debian 11 

依照官網的流程一步步順利裝完

再來依照官方FAQ的方式移轉

也順利完成

最後有問題的是weathermap

如果直接copy ubuntu 20.04的目錄過來會發生無法執行的情況

不過官方已有針對php 8.1 進行修改

所以直接 git clone

git clone https://github.com/librenms-plugins/Weathermap.git

再mv目錄 

mv Weathermap /opt/librenms/html/plugins/

把原几的 conf 複制到以下目錄

/opt/librenms/html/plugins/Weathermap/configs


以上就大致完成了

目前觀察中 看看還有沒有其他問題


https://github.com/librenms/packer-builds/releases/tag/21.2.0


https://www.librenms.org/#downloads


https://docs.librenms.org/Installation/Install-LibreNMS/#prepare-linux-server


https://docs.librenms.org/Support/FAQ/#how-do-i-migrate-my-librenms-install-to-another-server

2021/05/31

今天打開librenms的時候發現無法進入

出現錯誤訊息






查了一下log 發現  5/30 03:00左右就出問題了

重開後正常

但跑了一下valid.php出現以下錯誤


./validate.php

====================================

Component | Version

--------- | -------

LibreNMS  | 21.5.1-16-g15da7fa

DB Schema | 2020_12_14_091314_create_port_group_port_table (205)

PHP       | 7.4.19

Python    | 3.6.8

MySQL     | 5.5.68-MariaDB

RRDTool   | 1.4.8

SNMP      | NET-SNMP 5.7.2

====================================


[OK]    Composer Version: 2.0.14

[OK]    Dependencies up-to-date.

[OK]    Database connection successful

[FAIL]  MariaDB version 10.2.2 is the minimum supported version as of March, 2021. Update MariaDB to a supported version 10.5 suggested).

[FAIL]  Your database is out of date!

        [FIX]:

        ./lnms migrate

[WARN]  Global lnms shortcut not installed. lnms command must be run with full path

        [FIX]:

        sudo ln -s /opt/librenms/lnms /usr/bin/lnms

[WARN]  Bash completion not installed. lnms command tab completion unavailable.

        [FIX]:

        sudo cp /opt/librenms/misc/lnms-completion.bash /etc/bash_completion.d/

[WARN]  Log rotation not enabled, could cause disk space issues

        [FIX]:

        sudo cp /opt/librenms/misc/librenms.logrotate /etc/logrotate.d/librenms

[WARN]  Your install is over 24 hours out of date, last update: Sat, 29 May 2021 14:08:28 +0000

        [FIX]:

        Make sure your daily.sh cron is running and run ./daily.sh by hand to see if there are any errors.

[FAIL]  We have found some files that are owned by a different user than 'librenms', this will stop you updating automatically and / or rrd files being updated causing graphs to fail.

        [FIX]:

        sudo chown -R librenms:librenms /opt/librenms

        sudo setfacl -d -m g::rwx /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

        sudo chmod -R ug=rwX /opt/librenms/rrd /opt/librenms/logs /opt/librenms/bootstrap/cache/ /opt/librenms/storage/

        Files:

         /opt/librenms/config.php_20201107

         /opt/librenms/html/plugins/Weathermap/nkhc.png

         /opt/librenms/html/plugins/Weathermap/nkhc.html



除了mariadb升級外
其他先手動做完沒問題

想說     ./lnms migrate 應該會跟db有關
所以先升db 好了

先備db

    $ mysqldump -u root -p --all-database > mysql-backup.sql

備config

# cp /etc/my.cnf /etc/my.cnf.bak

加入mariadb的repo

# vi /etc/yum.repos.d/MariaDB.repo

加入以下內容:
[mariadb]
name = MariaDB
baseurl = http://yum.mariadb.org/10.5/centos7-amd64
gpgkey=https://yum.mariadb.org/RPM-GPG-KEY-MariaDB
gpgcheck=1

停止及移除目前的 MariaDB:


    # systemctl stop mariadb
    # yum remove mariadb mariadb-server

現在開始安裝 MariaDB 10.5,

    # yum install mariadb mariadb-server

啟動 MariaDB 及設定開機自動啟動:

    # systemctl enable  mariadb
    # systemctl start  mariadb


將原來的 MariaDB 資料升級:

    # mysql_upgrade -u root -p

升級過程沒出現什麼問題
再來跑一下

        ./lnms migrate

出現以下錯誤

Migrating: 2020_12_14_091314_create_port_groups_table

In Connection.php line 678:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘port_groups’ already exists (SQL: create table port_groups (id int unsi
gned not null auto_increment primary key, name varchar(255) not null, desc varchar(255) null) default character set utf8mb4 collate ‘ut
f8mb4_unicode_ci’)

In Exception.php line 18:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘port_groups’ already exists

In PDOStatement.php line 112:

SQLSTATE[42S01]: Base table or view already exists: 1050 Table ‘port_groups’ already exists


進DB先把 port_groups drop 掉

再跑一次

        ./lnms migrate

就正常了

最後再跑一次

./valid.php

沒有任何問題

後續觀察中


https://www.opencli.com/mysql/rhel-centos7-upgrade-mariadb-to-10-5 

https://community.librenms.org/t/validation-gives-failure-to-update-mariadb-will-eventually-cause-issues-lnms-migrate-gives-error/15391

2020/11/08

今天記錄一下 librenms 中 weathermap的安裝

官方說明文件如下 

https://docs.librenms.org/Extensions/Weathermap/

安裝完後建立圖形的第一個步驟記得要先到  Map Properties

設定

Output Image Filename

Output HTML Filename

否則會看不到網頁及圖形









使用這個工具在加點及線時滿方便的
不過無法做到精準定位及其他進階功能
所以還是必須要直接去編輯 config file
官方文件上說明的加crontab 無法作用 後來是直接加在 root 的crontab 
librenms的poller 不像cacti每次都一定會去 polling所有的port
她的几制是會在一定的時間內polling完 也因此會產生時間差而有流量對不起來的狀況
不過發現到當手動去看圖時 她會當下再去polling一次
所以目前的做法是利用二次的畫圖指令 中間相隔10秒
第一次指令是讓她去 polling
第二次指令再用第一次捉到的值來畫圖

*/5 * * * * /opt/librenms/html/plugins/Weathermap/map-poller.php;/usr/bin/sleep 10;/opt/librenms/html/plugins/Weathermap/map-poller.php

另外畫圖時 是依照config file的先後來畫
所以如果有一定不能被蓋掉的線
要放在 config file的最後面
weathermap移過來後 應該可以正式把 cacti 取代掉了




流量對不起來後來發現是rrdcache的原因
官方文件是說開啟rrdcache可以減少 30 - 40%的io
不過由於她是先把資料收回來後再慢慢處理
所以時間無法控制
觀察起來有時甚至會到快下次polling才會updat rrd file
也因此就更造成流量的不準
所以想說先把rrdcache關掉
觀察後發現rrd file的更新最慢的大約一分多鐘
雖然還是有時間差 但應該是在可接受的程度
另外關掉後再去看polling time
發現並沒有增加
至於io的問題
因為目前是用all flash
所以先不管他了
如果有那種几千台机器的site
就可能要再考量了