2020/11/27

以下是從ruckus vSZ的log上看到裝置的上線記錄

上方一筆是離線記錄 離線代碼是 2110

下方二筆是上線記錄 上線代碼是 1707







2020/11/24

今天升graylog 4

稍微記一下

如果還有其碰到其他問題

之後再補上

官方提供的ova是 ubuntu 18.04

這個很怪 要用就只能用二年多到 2023

為什麼不直接用2004

所以決定不用ova 直接在centos 8裝

照官方文件 安裝沒什麼問題

https://docs.graylog.org/en/4.0/pages/installation/os/centos.html#centosguide


裝完後要調整 graylog  和 elasticsearch的 記憶体參數


/etc/elasticsearch/jvm.options

-Xms4g

-Xmx4g


 /etc/sysconfig/graylog-server

GRAYLOG_SERVER_JAVA_OPTS="-Xms4g -Xmx4g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+CMSClassUnloadingEnabled -XX:-OmitStackTraceInFastThrow"

我用16G的ram
es和graylog各占4G


再來要讓其他sever可以從這台撈資料

/etc/elasticsearch/elasticsearch.yml

在之前的版本只要加上以下這行就可以

network.host: 0.0.0.0


但這個版本加了之後 ES一直起不來
看了一下log


[1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured

還要再加上以下這行

discovery.seed_hosts: ["127.0.0.1"] 

加完ES啟動就沒問題了

graylog預設只會listen在localhost 9000
要加上

http_bind_address = 0.0.0.0:9000

再來就是透過rest撈資料的問題了

legacy 的search 只剩json輸出的沒問題 另外二個都撈不出資料

這個不知道是bug還是什麼
反正目前就先撈出來再用jq來處理了


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
就可能要再考量了

2020/11/06

librenms 又要升級








php 升級方式如下

https://www.incredigeek.com/home/librenms-upgrade-php-from-7-2-to-7-4-centos-7/

升完後還有二個地方要改

/etc/php-fpm.d/www.conf

listen = /var/run/php-fpm/php7.2-fpm.sock

改為

listen = /var/run/php-fpm/php7.4-fpm.sock



/etc/nginx/conf.d/librenms.conf

fastcgi_pass unix:/var/run/php-fpm/php7.2-fpm.sock;

改為

fastcgi_pass unix:/var/run/php-fpm/php7.4-fpm.sock;

最近有人問到 elasticsearch 備分還原的問題

做個記錄

由於 elasticsearch 安裝完成後預設只能本几連線

所以
/etc/elasticsearch/elasticsearch.yml
最後加上
network.host: 0.0.0.0
允許本几以外的連線
請注意安全問題
加完後elasticsearch要重啟才會生效


接下來在目的机上停止 graylog

systemctl stop graylog-server


查看目的几及來源几上的 indeces

curl -XGET 'http://localhost:9200/_cat/indices'


依需求在目的几上建立indeces 
名稱必須跟來源的 indices 一樣

curl -X PUT "localhost:9200/graylog_514?pretty"


加完後就可以使用 esm 直接複制 indices  順序從小到大

./esm -s http://10.0.0.247:9200 -d http://10.0.0.234:9200 -x graylog_514 -y graylog_514



如果想要備份後再還原 則使用以下指令

備份
./esm -s http://10.0.0.247:9200 -x graylog_455 -o dump.json


還原
./esm -i dump.json -d http://10.0.0.234:9200 -y graylog_455


處理完成後 start graylog

systemctl start graylog-server

要 recalculate index ranges

Indices & Index Sets - Default index set - recalculate index ranges


以上的做法不會更動原資料的時間序


https://github.com/medcl/esm

https://elasticsearch.cn/article/13773

https://community.graylog.org/t/after-data-recovery-not-seeing-data-in-search/13423

2020/11/01

延續之前的問題

synology有提供docker的套件可以使用

之前一直都是使用proxmox的LXC

所以沒想去玩docker

想說玩看看

使用上滿方便的

直接安裝後就可以用了

倉庫伺服器是直接連到 hub.docker.com

利用關鍵字search就可以找到相關的映像檔

於是搜尋了一下 找到 好几個 proxmox backup server 

有些並沒有在維護 所以要使用時請自行考量

這次選了這個

https://hub.docker.com/r/mslookup/proxmoxbackupserver

看起來一直有在更新

下載之後佈署

佈署過程在進階設定有二個地方要設

連接埠要設定好對應















要設定開几執行指令
















開机完成後要更改 root的密碼

在詳細資訊 - 終端機 - 新增 執行指令










新增完成後執行

就可以修改 root 密碼

修改完成後到

https://nas_ip:8007

即可使用修改完成的密碼登入


之後如果有更新

可以直接在網頁管理介面上下指令更新

apt update

apt -y upgradde

某些更新完成後需要重開

另外還有一個問題就是

如果nas 更新 重開後要記得再手動把容器開機


 當要在cacti 大量新加設備時

網頁介面操作會花費大量的時間

以下就記錄如何在文字介面下新增設備

要調整graph tree時 再到網頁介面操作


以下新增以網路設備為例


先進到安裝路徑

cd /var/lib/cacti/cli


接下來列出可以使用的 host-templates


php -q add_device.php --list-host-templates

Valid Device Templates: (id, name)

0       None

1       Cacti Stats

2       Cisco Router

3       Generic SNMP Device

4       Local Linux Machine

5       Net-SNMP Device

6       Windows Device


利用下列指令加入 device

php -q add_device.php --avail=snmp --description="192.168.101.254" --ip="192.168.101.254" --template=3 --community="public"


加入完成後列出已加入的 host 及其 id

php -q add_graphs.php --list-hosts

Known Devices: (id, hostname, template, description)

1       localhost       4       Local Linux Machine

4       10.10.254.254   3       10.10.254.254

5       10.0.0.1        3       10.0.0.1

7       192.168.101.254 3       192.168.101.254


列出可以使用的 graph-templates (新版多很多templates)

php -q add_graphs.php --list-graph-templates

Known Graph Templates: (id, name)

1       Cacti Stats - Devices

2       Cacti Stats - Main Poller DS/RRD

3       Cacti Stats - Boost Updates

4       Cacti Stats - Total Poller Items

5       Cacti Stats - Recache (Legacy)

6       Cacti Stats - Processes (Legacy)

7       Cacti Stats - Boost Memory

8       Cacti Stats - User Logins

9       Cacti Stats - User Sessions

10      Cacti Stats - User Types

11      Cacti Stats - Boost Runtime

12      Cacti Stats - Main Poller Runtime

13      Cacti Stats - Export Graphs (Legacy)

14      Cacti Stats - Export Duration (Legacy)

15      Cacti Stats - Syslog Activity

16      Cacti Stats - Syslog Runtime

17      Cacti Stats - Syslog Alerts/Reports

18      Cacti Stats - Thold Runtime

19      Cacti Stats - Boost Average Row Size

20      Cacti Stats - Boost Records

21      Cacti Stats - Boost Table Size

22      Cacti Stats - Boost Timing Detail

23      Cacti Stats - Collector Runtime

24      Cacti Stats - Collector Items

25      Cacti Stats - Collector Settings

26      Cacti Stats - Collector Recache Stats

27      Cacti Stats - WebSeer Timing

28      Cacti Stats - WebSeer Download Size

29      Cacti Stats - WebSeer Download Speed

30      Cacti Stats - WebSeer Status

31      Cacti Stats - Export Graphs

32      Cacti Stats - Export Duration

33      Cisco - CPU Usage

34      Device - Polling Time

35      Device - Uptime

36      Interface - Traffic (bits/sec)

37      Interface - Errors/Discards

38      Interface - Unicast Packets

39      Interface - Non-Unicast Packets

40      Interface - Traffic (bytes/sec)

41      Interface - Traffic (bits/sec, 95th)

42      Interface - Traffic (bits/sec, BW)

43      Interface - Traffic (bytes/sec, BW)

44      Interface - Multicast Packets

45      Interface - Broadcast Packets

46      Unix - Ping Latency

47      SNMP - Generic OID Template

48      Unix - Processes

49      Unix - Load Average

50      Unix - Logged in Users

51      Linux - Memory Usage

52      Unix - Available Disk Space

53      Net-SNMP - Load Average

54      Net-SNMP - Memory Usage

55      Host MIB - Logged in Users

56      Host MIB - Processes

57      Net-SNMP - CPU Utilization

58      Net-SNMP - Interrupts

59      Net-SNMP - Context Switches

60      Net-SNMP - Combined SCSI Disk I/O

61      Net-SNMP - Combined SCSI Disk Bytes

62      Net-SNMP - Available Disk Space

63      Host MIB - Available Disk Space

64      Host MIB - CPU Utilization

65      Net-SNMP - Device I/O - Bytes Read/Written

66      Net-SNMP - Device I/O - Load Averages

67      Net-SNMP - Device I/O - Reads/Writes

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


列出可以使用的 snmp-queries

php -q add_graphs.php --host-id=2 --list-snmp-queries

Known SNMP Queries: (id, name)

1       Cacti Stats - Data Collector Stats

2       Cacti Stats - WebSeer Service Checks

3       Cacti Stats - Graph Exports

4       SNMP - Interface Statistics

5       Unix - Get Mounted Partitions

6       Net-SNMP -  Get Monitored Partitions

7       SNMP - Get Mounted Partitions

8       SNMP - Get Processor Information

9       Net-SNMP - Get Device I/O

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


列出snmp queries 可以使用的 query-types

php -q add_graphs.php --snmp-query-id=4 --list-query-types

Known SNMP Query Types: (id, name)

11      In/Out (Errors/Discards)

12      In/Out (Non-Unicast)

13      In/Out (Unicast)

14      In/Out Bytes (64-bit)

15      In/Out Bits

16      In/Out Bits (64-bit)

17      In/Out Bytes

18      In/Out Bits (95th)

19      In/Out Bits (BW)

20      In/Out Bytes (BW)

21      In/Out Bits (64-bit, 95th)

22      In/Out Bits (64-bit, BW)

23      In/Out Bytes (64-bit, BW)

24      In/Out (Broadcasts)

25      In/Out (Multicasts)

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


利用以上所得的資訊建立圖形


php add_graphs.php --host-id=7 --graph-type=ds --graph-template-id=36 --snmp-query-id=4 --snmp-query-type-id=16 --snmp-field=ifOperStatus --snmp-value=Up

php add_graphs.php --host-id=7 --graph-type=ds --graph-template-id=36 --snmp-query-id=4 --snmp-query-type-id=16 --snmp-field=ifOperStatus --snmp-value=Down