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

2021/08/04

記錄一下在 ubuntu 20.04 (LXC) 安裝nfsen

OS布署完成後先update

apt update

apt upgrade -y

再來修改時區

timedatectl set-timezone Asia/Taipei


安裝所需 package

apt install -y nfdump rrdtool librrd-dev librrds-perl librrdp-perl libpcap-dev php php-common libsocket6-perl apache2 libapache2-mod-php libmailtools-perl libio-socket-ssl-perl

下載 nfsen

從官方下載的版本在安裝時會出現以下的 bug

Can't use string ("live") as a HASH ref while "strict refs" in use at libexec/NfProfile.pm line 1238.


因此從 https://github.com/p-alik/nfsen/releases/tag/nfsen-1.3.8 下載已修正版本

下載後解壓縮

cd nfsen-nfsen-1.3.8/etc

cp nfsen-dist.conf nfsen.conf

決定安裝路徑在 /opt/nfsen

修改 nfsen.conf

$BASEDIR = "/opt/nfsen";

$PREFIX = '/usr/bin/';

$USER = "www-data";

$WWWUSER = "www-data";

$WWWGROUP = "www-data";

%sources = ( 'upstream1' => {'port'=>'9995','col'=>'#0000ff','type'=>'netflow'}' );


mkdir /opt/nfsen

mkdir /var/www/html/nfsen


adduser netflow


安裝

./install.pl ./etc/nfsen.conf

出現

RRD version '1.7002' not yet supported!


需修改 libexec/NfSenRRD.pm 約在第 76 行 改成 ==> $rrd_version >= 1.2 && $rrd_version < 1.9


再執行一次

./install.pl ./etc/nfsen.conf


啟動

/opt/nfsen/bin/nfsen start


設定開几啟動


cd /etc/systemd/system
ln -s /lib/systemd/system/rc-local.service


vi /etc/rc.local

#!/bin/sh -e

/usr/local/nfsen/bin/nfsen start

exit 0

chmod +x /etc/rc.local 


設定開几不啟動nfdump 因為nfsen啟動時會自行呼叫

systemctl disable nfdump.service


重開几


設定 netflow 導到 udp 9995


打開 http://nfsen_ip/nfsen/nfsen.php 確認是否正常


https://sc8log.blogspot.com/2017/06/ubuntu-1604-netflow.html

https://github.com/p-alik/nfsen/releases/tag/nfsen-1.3.8


https://github.com/p-alik/nfsen/issues/1

https://zoomadmin.com/HowToInstall/UbuntuPackage/libsocket6-perl

2020/08/24

 觀察了几天

使用 librenms 的 rrd 來畫 weathermap

一直會有流量對不起來的狀況

直接去看rrd file的狀態發現 polling後並不會馬上去更新 rrd file

同一個設備的目錄下有的有更新有的沒更新

所以流量才會對不起來

但直接點去看圖時又發現時間跟圖是對的

目前的猜測是

當手動去看圖時

系統會再去撈一次或是即時更新rrd file

結論還是只能使用cacti 的rrd file來畫圖了

2019/03/08


今天早上登入cacti查看時發現以上的圖
重開几
重建
都沒用
後來想說算了
自己把值餵給rrdfile好了

語法如下

$ rrdtool update tcpdump.rrd 1061811856:114:0:50:1199:0:821073

上面的 1061811856 即时间值,如果就是要现在的时间值,可以 N 代表,但要转换成秒值,通常我們都会用
$ timestamp=`date +%s `
来转现在秒数,如果是某些特定时间,则可以
$ timestamp=`date -d "2003/08/15 12:00" +%s`
后面跟着所有的更新的数据,按照DS定义的顺序用冒号格开


https://blog.51cto.com/swq499809608/1275674


2019/3/9 後記

找到問題點了
因為原本餵入的值是先由root每5分鐘先從FW撈出資料放在/tmp
之後再由cacti的script去讀/tmp
最近几天因為有新大樓 加了一些設備
所以cacti讀取時剛好/tmp的資料還沒寫完
導致撈不到值而出現空白
因此把從FW撈值的時間調開
目前就正常了

可能只差個0.0几秒 XD

2019/02/21

昨天登入 librenms 時出現以下的訊息

Error: PHP version too low
PHP version 7.1.3 is the minimum supported version as of February 1st, 2019. We recommend you update to PHP a supported version of PHP (7.2 suggested) to continue to receive updates. If you do not update PHP, LibreNMS will continue to function but stop receiving bug fixes and updates.

目前使用的版本是php 7.0 所以一定要升級

首先使用原机升級
把原有的php 7.0的rpm全部移除後再新安裝 php 7.2
再來碰到是 php-fpm的問題
程式同步的問題
花了很多時間
daily.php
validate.php
也都沒有異常
登入後全部的圖都無法顯示

再來試第二種方法

把資料庫跟rrd file 備份後重新放到新机器上
可是資料庫匯入時 到 sensor那個table就死了
試了好几次都是如此

最後沒辦法了
下載新的ova
所有的device全部再建進去一次
因為是用來monitor的
所以歷史資料應該也還好
沒有再去試把舊的rrd 再放進去可不可行

先醬吧

2019/02/23

在web管理介面上再執行一次validate

出現權限的問題

usermod -a -G apache nginx

改完之後
就全部正常了
XD

如果在文字介面上跑完 
daily.php
validate.php
都無異常 可是登入後還是有問題
記得在web管理介面上再執行一次validate

2013/12/16

之前在尋找cacti上的告警机制的時候有找到thold這個模組可以來設定
但因不太想用plugin而作罷
最近想到應該可以直接撈rrd file的值來用
就可以寫個shell來處理了

原始rrdtool撈出來的結果如下

rrdtool fetch 123.rrd AVERAGE --start -300
                       
                             123              

1387170000: 4.2220000000e+03
1387170300: -nan

但因為這樣不好判斷 查了一下轉成十進位的方法
指令如下
printf "%f\n" `rrdtool fetch 123.rrd AVERAGE --start -300|grep e+|cut -d ' ' -f 2`
得出的結果就會是
4222
以方便程式的判斷