一直都是使用BASE這個工具來看snort產生的報表
但也一直都有個問題就是查詢結果會分頁
在之前都是一頁一頁分別列印出pdf
想把查詢結果轉成csv然後寄出
試了一下發現有二個地方要處理
一個是要把php-pear-Mail這個rpm裝上去
yum install php-pear-Mail
再來要修改base_conf.php如下
base_conf.php
$action_email_smtp_host = 'localhost';
$action_email_smtp_auth = 0;
$action_email_from = 'base@snort';
不要忘記重啟httpd
systemctl restart httpd
如下圖 在查詢結果的最下方選擇 電子郵件警告(csv) 然後打入要寄出的 email 最後點進入查詢 就可以寄出了
2017/12/22
接續之前的問題
因為rest一直怪怪的
所以目前只好手動下查詢
但又碰到另一個狀況
OR的條件下太多會當掉XD
目前試出來的結果是最多85筆
範例如下
accept AND (192.168.13.209 OR 192.168.13.30 OR 192.168.13.31 OR 192.168.50.48 OR 192.168.50.194 OR 192.168.10.100 OR 192.168.43.193 OR 192.168.1.103 OR 192.168.15.249 OR 192.168.15.252 OR 192.168.19.9 OR 192.168.15.17 OR 192.168.41.213 OR 192.168.34.96 OR 192.168.35.252 OR 192.168.35.251 OR 192.168.35.253 OR 192.168.35.250 OR 192.168.35.247 OR 192.168.35.248 OR 192.168.35.245 OR 192.168.35.249 OR 192.168.42.34 OR 192.168.41.219 OR 192.168.31.248 OR 192.168.30.47 OR 192.168.74.186 OR 192.168.35.246 OR 192.168.34.184 OR 192.168.31.241 OR 192.168.30.158 OR 192.168.30.244 OR 192.168.25.124 OR 192.168.15.23 OR 192.168.34.69 OR 192.168.26.63 OR 192.168.30.111 OR 192.168.31.239 OR 192.168.34.106 OR 192.168.34.245 OR 192.168.41.209 OR 192.168.41.229 OR 192.168.41.230 OR 192.168.25.217 OR 192.168.25.170 OR 192.168.42.222 OR 192.168.49.178 OR 192.168.50.181 OR 192.168.25.187 OR 192.168.73.12 OR 192.168.94.249 OR 192.168.95.250 OR 192.168.95.252 OR 192.168.95.253 OR 192.168.27.249 OR 192.168.27.245 OR 192.168.27.251 OR 192.168.27.244 OR 192.168.27.252 OR 192.168.27.250 OR 192.168.27.246 OR 192.168.27.248 OR 192.168.26.131 OR 192.168.26.31 OR 192.168.31.242 OR 192.168.31.240 OR 192.168.31.243 OR 192.168.31.244 OR 192.168.31.247 OR 192.168.31.246 OR 192.168.31.251 OR 192.168.31.252 OR 192.168.31.253 OR 192.168.27.243 OR 192.168.27.247 OR 192.168.4.130 OR 192.168.4.108 OR 192.168.15.21 OR 192.168.4.120 OR 192.168.4.121 OR 192.168.4.150 OR 192.168.4.110 OR 192.168.4.170 OR 192.168.4.190 OR 192.168.4.160)
因為rest一直怪怪的
所以目前只好手動下查詢
但又碰到另一個狀況
OR的條件下太多會當掉XD
目前試出來的結果是最多85筆
範例如下
accept AND (192.168.13.209 OR 192.168.13.30 OR 192.168.13.31 OR 192.168.50.48 OR 192.168.50.194 OR 192.168.10.100 OR 192.168.43.193 OR 192.168.1.103 OR 192.168.15.249 OR 192.168.15.252 OR 192.168.19.9 OR 192.168.15.17 OR 192.168.41.213 OR 192.168.34.96 OR 192.168.35.252 OR 192.168.35.251 OR 192.168.35.253 OR 192.168.35.250 OR 192.168.35.247 OR 192.168.35.248 OR 192.168.35.245 OR 192.168.35.249 OR 192.168.42.34 OR 192.168.41.219 OR 192.168.31.248 OR 192.168.30.47 OR 192.168.74.186 OR 192.168.35.246 OR 192.168.34.184 OR 192.168.31.241 OR 192.168.30.158 OR 192.168.30.244 OR 192.168.25.124 OR 192.168.15.23 OR 192.168.34.69 OR 192.168.26.63 OR 192.168.30.111 OR 192.168.31.239 OR 192.168.34.106 OR 192.168.34.245 OR 192.168.41.209 OR 192.168.41.229 OR 192.168.41.230 OR 192.168.25.217 OR 192.168.25.170 OR 192.168.42.222 OR 192.168.49.178 OR 192.168.50.181 OR 192.168.25.187 OR 192.168.73.12 OR 192.168.94.249 OR 192.168.95.250 OR 192.168.95.252 OR 192.168.95.253 OR 192.168.27.249 OR 192.168.27.245 OR 192.168.27.251 OR 192.168.27.244 OR 192.168.27.252 OR 192.168.27.250 OR 192.168.27.246 OR 192.168.27.248 OR 192.168.26.131 OR 192.168.26.31 OR 192.168.31.242 OR 192.168.31.240 OR 192.168.31.243 OR 192.168.31.244 OR 192.168.31.247 OR 192.168.31.246 OR 192.168.31.251 OR 192.168.31.252 OR 192.168.31.253 OR 192.168.27.243 OR 192.168.27.247 OR 192.168.4.130 OR 192.168.4.108 OR 192.168.15.21 OR 192.168.4.120 OR 192.168.4.121 OR 192.168.4.150 OR 192.168.4.110 OR 192.168.4.170 OR 192.168.4.190 OR 192.168.4.160)
2017/12/21
最近在graylog上碰到搜尋都OK
除了要匯出成csv會很慢
不過這個問題應該跟接下來要討論的是同一個問題
使用rest撈資料時發生有時撈得到有時撈不到的情況
但確定指令沒下錯 而且確定語法一定有資料可以出來
於是寫了一個shell來試
#!/bin/bash
i=1
while :
do
echo $i
curl -m 240 -u user:pwd 'http://10.0.0.1:9000/api/search/universal/keyword?query=nf_dst_address%3A192.168.12.220&keyword=last%2020%20hours&fields=message&limit=1'
i=`expr $i + 1`
sleep 3
done
出現以下的結果
1
2
3
4
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
5
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
6
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
7
8
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
9
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
10
11
12
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
13
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
而且在管理介面上看到的狀況如下圖
找了很多資料 調了很多參數都沒用 直覺是個bug
除了要匯出成csv會很慢
不過這個問題應該跟接下來要討論的是同一個問題
使用rest撈資料時發生有時撈得到有時撈不到的情況
但確定指令沒下錯 而且確定語法一定有資料可以出來
於是寫了一個shell來試
#!/bin/bash
i=1
while :
do
echo $i
curl -m 240 -u user:pwd 'http://10.0.0.1:9000/api/search/universal/keyword?query=nf_dst_address%3A192.168.12.220&keyword=last%2020%20hours&fields=message&limit=1'
i=`expr $i + 1`
sleep 3
done
出現以下的結果
1
2
3
4
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
5
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
6
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
7
8
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
9
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
10
11
12
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
13
"timestamp","message"
"2017-12-20T10:09:23.000Z","NetFlowV5 [210.65.47.55]:443 <> [192.168.12.220]:42702 proto:6 pkts:1 bytes:52"
而且在管理介面上看到的狀況如下圖
找了很多資料 調了很多參數都沒用 直覺是個bug
2017/12/15
解決下完ssh連線指令要等很久才會跳出密碼輸入畫面的解決方法
在被連線的server上
vi /etc/ssh/sshd_config
1. 將 GSSAPIAuthentication yes
改成
GSSAPIAuthentication no
2. 將 #UseDNS yes
改成
UseDNS no
3. 重新啟動 sshd 服務
http://blog.xuite.net/tolarku/blog/292705102-Linux+SSH+%E7%99%BB%E5%85%A5%E9%80%9F%E5%BA%A6%E6%85%A2+-+CentOS
在被連線的server上
vi /etc/ssh/sshd_config
1. 將 GSSAPIAuthentication yes
改成
GSSAPIAuthentication no
2. 將 #UseDNS yes
改成
UseDNS no
3. 重新啟動 sshd 服務
http://blog.xuite.net/tolarku/blog/292705102-Linux+SSH+%E7%99%BB%E5%85%A5%E9%80%9F%E5%BA%A6%E6%85%A2+-+CentOS
2017/12/14
今天把ocs升到 2.4
但升完後發現user的資料都進不去
log的錯誤如下
[Thu Dec 14 15:31:49.647252 2017] [perl:error] [pid 1193] [client 192.168.12.96:62495] Can't call method "do" on an undefined value at /usr/local/share/perl5/Apache/Ocsinventory/Server/System.pm line 189.\n
google之後找到說因為升級不會把舊的mysql user pwd帶過去
所以要改二個檔
dbconfig.inc.php
z-ocsinventory-server.conf
改完後記得要重啟apache
醬就好了
http://ask.ocsinventory-ng.org/2867/method-undefined-share-apache-ocsinventory-server-system
但升完後發現user的資料都進不去
log的錯誤如下
[Thu Dec 14 15:31:49.647252 2017] [perl:error] [pid 1193] [client 192.168.12.96:62495] Can't call method "do" on an undefined value at /usr/local/share/perl5/Apache/Ocsinventory/Server/System.pm line 189.\n
google之後找到說因為升級不會把舊的mysql user pwd帶過去
所以要改二個檔
dbconfig.inc.php
z-ocsinventory-server.conf
改完後記得要重啟apache
醬就好了
http://ask.ocsinventory-ng.org/2867/method-undefined-share-apache-ocsinventory-server-system
2017/12/07
在linux裡如果使用純數字帳號是沒辦法針對帳號名稱做quota的
這個問題的解決方式就是使用UID
把帳號名稱改成UID就可以了
例
xfs_quota -x -c "limit bsoft=10m bhard=15m 123456" /dev/vdb1
假設原本的帳號是123456以上的指令是沒有作用的
此時就要到 /etc/passwd去看這個帳號的UID
123456:x:1313:1313::/home/123456:/bin/bash
UID是1313
再把設定quota的指令改成
xfs_quota -x -c "limit bsoft=10m bhard=15m 1313" /dev/vdb1
醬就可以了
這個問題的解決方式就是使用UID
把帳號名稱改成UID就可以了
例
xfs_quota -x -c "limit bsoft=10m bhard=15m 123456" /dev/vdb1
假設原本的帳號是123456以上的指令是沒有作用的
此時就要到 /etc/passwd去看這個帳號的UID
123456:x:1313:1313::/home/123456:/bin/bash
UID是1313
再把設定quota的指令改成
xfs_quota -x -c "limit bsoft=10m bhard=15m 1313" /dev/vdb1
醬就可以了
2017/12/02
2017/11/29
最近graylog總是怪怪的
速度很慢
加了 Disk Journal 還有cpu的個數
還是很慢
buffers常常爆表
而且cpu的使用率還是很高
今天再仔細看了一下
發現 / 的使用率已經 99% 了 XD
再找找是那裡吃掉了
速度很慢
加了 Disk Journal 還有cpu的個數
還是很慢
buffers常常爆表
而且cpu的使用率還是很高
今天再仔細看了一下
發現 / 的使用率已經 99% 了 XD
再找找是那裡吃掉了
/var/log/graylog/elasticsearch 裡有一堆
graylog-20xx-xx-xx.log的log
看來是每天會產生一個log file
可是到/etc的logrotate相關檔案並沒有看到設定的資料
算了
先寫個排程來處理 有空再來找看看放在graylog那裡
59 23 * * * /bin/rm -f /var/log/graylog/elasticsearch/graylog-`date -d '10 days ago' "+%Y-%m-%d"`.log
留個10天應該是夠了
2017/11/28
2017/11/25
設定每天凌晨 01:00 關机指令
schtasks /Create /SC daily /TN shutdown /ST 01:00 /TR "c:\windows\system32\shutdown.exe -s -f"
http://lee5400.blogspot.tw/2011/05/windows-schtasks.html
schtasks /Create /SC daily /TN shutdown /ST 01:00 /TR "c:\windows\system32\shutdown.exe -s -f"
http://lee5400.blogspot.tw/2011/05/windows-schtasks.html
2017/11/22
2017/11/10
2017/11/08
有關proxmox最近備份出現的問題
測試了好久
觀察了一週
做一下整理記錄
之前備份發現問題
不管是linux或windows在備份時都出現hd reset的情況
目前得到的結論如下
在備份裝置是10G的情況下 (使用nfs 備份) 目前都沒有發現問題
在備份裝置是1G的情況
在網路上找到一些方法
1. 把disk 改成virtio
linux 在改完之後就解決問題了
但如果沒辦法改成virtio 則建議把guest file 放在server的 directory 不要放在share storage上
但如果沒辦法改成virtio 則建議把guest file 放在server的 directory 不要放在share storage上
但是windows 改完後並沒有解決問題
必須要修改 /etc/vzdump.conf
加上 bwlimit:150000 (再調高會出現問題)
限制執行vzdump執行時的io 避免跟guest os搶 io 導致出現hd reset的問題
限制執行vzdump執行時的io 避免跟guest os搶 io 導致出現hd reset的問題
不過改成virtio對windows guest os的效能會有滿大的改善
2017/10/24
2017/10/19
最近碰到一個怪問題
就是proxmox 裡的 guest linux主机會出現以下的錯誤訊息
出現後有時ok
但有時filesystem 就會有錯誤
需要filesystem check
可是如果是windows 運氣不好就直接掛點
一開始是懷疑storage有問題
可是把guest搬到肚子後還是一樣
查了一些資料後有人提到可能是nfs的問題 而且通常都會在backup時發生
於是朝這個方向測試
測了好久
終於有了初步的結論
不管備到那裡 會發生問題就是會發生
而且跟storage的網卡速度也無關
問題在proxmox備分時提供三個選項
不壓縮
lzo
gzip
目前發現如果選擇不壓縮 備分時host會一直搶io
導致上述的情況
如果是選lzo就不會有這個問題了
gzip因為會吃比較多資源
沒有進行測試
所以結論就是
備分時請選擇 lzo 壓縮方式
就是proxmox 裡的 guest linux主机會出現以下的錯誤訊息
出現後有時ok
但有時filesystem 就會有錯誤
需要filesystem check
可是如果是windows 運氣不好就直接掛點
一開始是懷疑storage有問題
可是把guest搬到肚子後還是一樣
查了一些資料後有人提到可能是nfs的問題 而且通常都會在backup時發生
於是朝這個方向測試
測了好久
終於有了初步的結論
不管備到那裡 會發生問題就是會發生
而且跟storage的網卡速度也無關
問題在proxmox備分時提供三個選項
不壓縮
lzo
gzip
目前發現如果選擇不壓縮 備分時host會一直搶io
導致上述的情況
如果是選lzo就不會有這個問題了
gzip因為會吃比較多資源
沒有進行測試
所以結論就是
備分時請選擇 lzo 壓縮方式
2017/10/12
今天把snort 升到2.9.11後
要啟動時出現以下的錯誤
/usr/sbin/snort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory
libdnet這個rpm明明就有裝
因為剛release 所以可能還沒有人升級
先找看看
在/user/lib64下有找到libdnet的相關檔案
而且全部都連結到 libdnet.so.1.0.1
ls -al|grep libdnet
lrwxrwxrwx 1 root root 16 Oct 12 08:41 libdnet.1 -> libdnet.so.1.0.1
lrwxrwxrwx 1 root root 16 Oct 12 08:31 libdnet.so -> libdnet.so.1.0.1
lrwxrwxrwx 1 root root 16 Dec 21 2015 libdnet.so.1 -> libdnet.so.1.0.1
-rwxr-xr-x 1 root root 62936 Jun 10 2014 libdnet.so.1.0.1
想說不然就來試看看
再建一個連結
ln -s libdnet.so.1.0.1 libdnet.1
醬就可以了
目前啟動正常
https://snort.org/
要啟動時出現以下的錯誤
/usr/sbin/snort: error while loading shared libraries: libdnet.1: cannot open shared object file: No such file or directory
libdnet這個rpm明明就有裝
因為剛release 所以可能還沒有人升級
先找看看
在/user/lib64下有找到libdnet的相關檔案
而且全部都連結到 libdnet.so.1.0.1
ls -al|grep libdnet
lrwxrwxrwx 1 root root 16 Oct 12 08:41 libdnet.1 -> libdnet.so.1.0.1
lrwxrwxrwx 1 root root 16 Oct 12 08:31 libdnet.so -> libdnet.so.1.0.1
lrwxrwxrwx 1 root root 16 Dec 21 2015 libdnet.so.1 -> libdnet.so.1.0.1
-rwxr-xr-x 1 root root 62936 Jun 10 2014 libdnet.so.1.0.1
想說不然就來試看看
再建一個連結
ln -s libdnet.so.1.0.1 libdnet.1
醬就可以了
目前啟動正常
https://snort.org/
2017/10/08
記錄一下如何在 X11 forword的情況下把聲音一起forword
二台都是linux
近端的機器必須先安裝 pulseaudio paprefs 這二個package
一般而言目前使用的音效都已經裝好且應該都是 pulseaudio 使用的port 是4713
而 paprefs 是設定程式 裝好後執行 paprefs
依照下方的圖進行勾選設定
設定好後就可以使用ssh 連上遠端机器
ssh -C -c arcfour -X -R 4715:localhost:4713 user@remote.ip
4715:localhost:4713 主要是要把遠端4175的封包傳到近端來
登入遠端後要先執行
export PULSE_SERVER=localhost:4715
把聲音導到 port 4715
(確認port 4715 是不是沒在使用)
再來執行程式
firefox
此時打開youtune 看影片就可以聽到聲音了
http://guildwar23.blogspot.tw/2012/11/
二台都是linux
近端的機器必須先安裝 pulseaudio paprefs 這二個package
一般而言目前使用的音效都已經裝好且應該都是 pulseaudio 使用的port 是4713
而 paprefs 是設定程式 裝好後執行 paprefs
依照下方的圖進行勾選設定
設定好後就可以使用ssh 連上遠端机器
ssh -C -c arcfour -X -R 4715:localhost:4713 user@remote.ip
4715:localhost:4713 主要是要把遠端4175的封包傳到近端來
登入遠端後要先執行
export PULSE_SERVER=localhost:4715
把聲音導到 port 4715
(確認port 4715 是不是沒在使用)
再來執行程式
firefox
此時打開youtune 看影片就可以聽到聲音了
http://guildwar23.blogspot.tw/2012/11/
因為一直有把遠端的桌面利用X11 Forwarding的需求
而且是利用internet傳輸
但一直碰到的問題就是感覺非常慢
今天查了一下資料
應該可以改變一下加密的方法來加速
首先先在server上加上加密方法的支援
$ echo "Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc" | sudo tee --append /etc/ssh/sshd_config
再來連線時就可以使用不同的加密演算法
ssh -c arcfour,blowfish-cbc -XC host.com
https://godleon.github.io/blog/2016/06/02/HowTo-SpeedUp-X11-Forwarding-in-SSH
http://xmodulo.com/how-to-speed-up-x11-forwarding-in-ssh.html
https://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/
http://debiannoteofj.blogspot.tw/2010/09/x11-forwarding.html
http://www.miscdebris.net/blog/2007/06/01/speed-up-ssh-x11-forwarding/
而且是利用internet傳輸
但一直碰到的問題就是感覺非常慢
今天查了一下資料
應該可以改變一下加密的方法來加速
首先先在server上加上加密方法的支援
$ echo "Ciphers aes128-ctr,aes192-ctr,aes256-ctr,aes128-gcm@openssh.com,aes256-gcm@openssh.com,chacha20-poly1305@openssh.com,blowfish-cbc,aes128-cbc,3des-cbc,cast128-cbc,arcfour,aes192-cbc,aes256-cbc" | sudo tee --append /etc/ssh/sshd_config
ssh -c arcfour,blowfish-cbc -XC host.com
以下列出使用不同演算法的速度
自己參考看看囉
https://godleon.github.io/blog/2016/06/02/HowTo-SpeedUp-X11-Forwarding-in-SSH
http://xmodulo.com/how-to-speed-up-x11-forwarding-in-ssh.html
https://blog.famzah.net/2010/06/11/openssh-ciphers-performance-benchmark/
http://debiannoteofj.blogspot.tw/2010/09/x11-forwarding.html
http://www.miscdebris.net/blog/2007/06/01/speed-up-ssh-x11-forwarding/
2017/10/06
2017/10/02
昨天晚上server發生filesystem錯誤
重開後mariadb出現問題
到log去看時發現以下資訊
171002 8:51:09 InnoDB: cannot calculate statistics for table ABC/def
InnoDB: because the .ibd file is missing. For help, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
171002 8:51:09 [ERROR] MySQL is trying to open a table handle but the .ibd file for
table ABC/def does not exist.
Have you deleted the .ibd file from the database directory under
the MySQL datadir, or have you used DISCARD TABLESPACE?
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.
到目錄去看時
def.idb這個檔真的不見了
查了一下
這個檔不見是沒辦法由目前的資料再產生的
只能recovery
找了一下備分
倒回去
目前看來正常
再觀察看看
重開後mariadb出現問題
到log去看時發現以下資訊
171002 8:51:09 InnoDB: cannot calculate statistics for table ABC/def
InnoDB: because the .ibd file is missing. For help, please refer to
InnoDB: http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
171002 8:51:09 [ERROR] MySQL is trying to open a table handle but the .ibd file for
table ABC/def does not exist.
Have you deleted the .ibd file from the database directory under
the MySQL datadir, or have you used DISCARD TABLESPACE?
See http://dev.mysql.com/doc/refman/5.5/en/innodb-troubleshooting.html
how you can resolve the problem.
到目錄去看時
def.idb這個檔真的不見了
查了一下
這個檔不見是沒辦法由目前的資料再產生的
只能recovery
找了一下備分
倒回去
目前看來正常
再觀察看看
2017/09/14
今天一早上班就有人跟我說網路無法認証
查了一下發現radius 沒起來
再看log發現今天早上centos 7 有很大的更新
其中包含了freeradius的套件
試了几次 daemon就是起不來
後來用 radiusd -X 看訊息如下
rlm_ldap (ldap): Opening additional connection (0), 1 of 32 pending slots used
rlm_ldap (ldap): Connecting to ldap://10.10.10.10:389
rlm_ldap (ldap): Waiting for bind result...
rlm_ldap (ldap): Bind credentials incorrect: Invalid credentials
rlm_ldap (ldap): Server said: NDS error: failed authentication (-669).
rlm_ldap (ldap): Opening connection failed (0)
rlm_ldap (ldap): Removing connection pool
/etc/raddb/mods-enabled/ldap[8]: Instantiation failed for module "ldap"
奇怪為什麼升版前沒問題
升版後就不行了
並沒有去動ldap的config
google了一下發現有類似的情況
問題出在config跟ldap認証的密碼有特殊字元
XD
什麼怪事都有
改掉之後就可以了
再觀察看看
查了一下發現radius 沒起來
再看log發現今天早上centos 7 有很大的更新
其中包含了freeradius的套件
試了几次 daemon就是起不來
後來用 radiusd -X 看訊息如下
rlm_ldap (ldap): Opening additional connection (0), 1 of 32 pending slots used
rlm_ldap (ldap): Connecting to ldap://10.10.10.10:389
rlm_ldap (ldap): Waiting for bind result...
rlm_ldap (ldap): Bind credentials incorrect: Invalid credentials
rlm_ldap (ldap): Server said: NDS error: failed authentication (-669).
rlm_ldap (ldap): Opening connection failed (0)
rlm_ldap (ldap): Removing connection pool
/etc/raddb/mods-enabled/ldap[8]: Instantiation failed for module "ldap"
奇怪為什麼升版前沒問題
升版後就不行了
並沒有去動ldap的config
google了一下發現有類似的情況
問題出在config跟ldap認証的密碼有特殊字元
XD
什麼怪事都有
改掉之後就可以了
再觀察看看
2017/09/01
如果是手動安裝librenms
則nagios plugin並不會安裝
找到以下這篇說明如何安裝
http://olivermarshall.net/enable-ping-tests-in-librenms/
如果是使用ova
那預設就已經裝好了
上篇也有說明如何加入service的監看
不過預設並未加入service down的alert
以下官方文件有說明如何加入
https://docs.librenms.org/Extensions/Services/
則nagios plugin並不會安裝
找到以下這篇說明如何安裝
http://olivermarshall.net/enable-ping-tests-in-librenms/
如果是使用ova
那預設就已經裝好了
上篇也有說明如何加入service的監看
不過預設並未加入service down的alert
以下官方文件有說明如何加入
https://docs.librenms.org/Extensions/Services/
2017/08/31
最近在玩librenms
介面看起來真的滿潮的
而且只要她可以辨認的mib
會把所有相關的資料都顯示出來
連USHA的資料都完全出現
包括電壓 負載 溫度....等
這方面比cacti好用很多
不過目前碰到的問題是還無法餵值來畫圖
另外就是一定要使用snmp來偵測裝置
在測的過程中出現一個狀況
就是alert有出現
email通知的設定也沒錯
但device如果down
在畫面上有看到alert
但就是沒收到mail
之後經過了8小時
才開始發mail
試了半天
還是一樣
後來想說去forum 問問
就在要發問時
系統說要先執行validate.php把結果一起po上去
那就先執行看看
./validate.php
====================================
Component | Version
--------- | -------
LibreNMS | 1.31.02-3-g4683736
DB Schema | 205
PHP | 7.0.22
MySQL | 5.5.52-MariaDB
RRDTool | 1.4.8
SNMP | NET-SNMP 5.7.2
====================================
[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] chown -R librenms:librenms /opt/librenms
/opt/librenms/html/plugins/Weathermap/configs
/opt/librenms/html/plugins/Weathermap/configs/testing.conf
[OK] Database connection successful
[OK] Database schema correct
[WARN] Your install is over 24 hours out of date, last update: Tue, 29 Aug 2017 18:53:05 +0000
[FAIL] You have a different system timezone (CST) specified to the php configured timezone (UTC), please correct this.
果然有几個問題
一個是權限問題
我在想我是用官方提供的ova
為什麼會有這個問題
再來是時區
因為我有去改os的timezone
介面看起來真的滿潮的
而且只要她可以辨認的mib
會把所有相關的資料都顯示出來
連USHA的資料都完全出現
包括電壓 負載 溫度....等
這方面比cacti好用很多
不過目前碰到的問題是還無法餵值來畫圖
另外就是一定要使用snmp來偵測裝置
在測的過程中出現一個狀況
就是alert有出現
email通知的設定也沒錯
但device如果down
在畫面上有看到alert
但就是沒收到mail
之後經過了8小時
才開始發mail
試了半天
還是一樣
後來想說去forum 問問
就在要發問時
系統說要先執行validate.php把結果一起po上去
那就先執行看看
./validate.php
====================================
Component | Version
--------- | -------
LibreNMS | 1.31.02-3-g4683736
DB Schema | 205
PHP | 7.0.22
MySQL | 5.5.52-MariaDB
RRDTool | 1.4.8
SNMP | NET-SNMP 5.7.2
====================================
[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] chown -R librenms:librenms /opt/librenms
/opt/librenms/html/plugins/Weathermap/configs
/opt/librenms/html/plugins/Weathermap/configs/testing.conf
[OK] Database connection successful
[OK] Database schema correct
[WARN] Your install is over 24 hours out of date, last update: Tue, 29 Aug 2017 18:53:05 +0000
[FAIL] You have a different system timezone (CST) specified to the php configured timezone (UTC), please correct this.
果然有几個問題
一個是權限問題
我在想我是用官方提供的ova
為什麼會有這個問題
再來是時區
因為我有去改os的timezone
但php.ini沒改
難怪會晚了8小時才收到信
這個也改了
再來就是說我版本太舊
不是說每天會固定更新??
算了
手動跑一下daily.sh
目前alert發信看來正常了
再觀察看看
2017/08/25
2017/08/24
今天要登入awacs(網管軟体)時
出現無法連接的訊息
登入主机發現mariadb的daemon不見了
systemctl restart mariadb也起不來
看了一下 /var/log/mariadb/mariadb.log 發現以下的記錄
170824 19:02:01 InnoDB: Page checksum 2583736692 (32bit_calc: 3902863637), prior-to-4.0.14-form checksum 2992650943
InnoDB: stored checksum 218772529, prior-to-4.0.14-form stored checksum 775370784
InnoDB: Page lsn 825440558 909582385, low 4 bytes of lsn at page end 825373998
InnoDB: Page number (if stored to page already) 775303712,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 775041840
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 7.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
按照說明
在/etc/my.cnf 加上
[mysqld]
innodb_force_recovery = 1
重啟mariadb
再查一下log
170824 19:02:01 InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 1553519:2, should be 1553541:2!
170824 19:02:01 InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 1553519:3, should be 1553541:3!
InnoDB: Apply batch completed
InnoDB: Starting in background the rollback of uncommitted transactions
170824 19:02:01 InnoDB: Rolling back trx with id 127203F, 451 rows to undo
170824 19:02:01 InnoDB: Waiting for the background threads to start
InnoDB: Rolling back of trx id 127203F completed
170824 19:02:01 InnoDB: Rollback of non-prepared transactions completed
170824 19:02:02 Percona XtraDB (http://www.percona.com) 5.5.40-MariaDB-36.1 started; log sequence number 653240202086
170824 19:02:02 InnoDB: !!! innodb_force_recovery is set to 1 !!!
170824 19:02:02 [Note] Plugin 'FEEDBACK' is disabled.
170824 19:02:02 [Note] Server socket created on IP: '0.0.0.0'.
170824 19:02:02 [Note] Event Scheduler: Loaded 0 events
170824 19:02:02 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.41-MariaDB' socket: '/home/Alopex/mysql/mysql.sock' port: 3306 MariaDB Server
InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
看來是修好了
不過user還是不能用
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
要再把
[mysqld]
innodb_force_recovery = 1
mark掉再重開
目前看來是正常了
再觀察看看
https://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
出現無法連接的訊息
登入主机發現mariadb的daemon不見了
systemctl restart mariadb也起不來
看了一下 /var/log/mariadb/mariadb.log 發現以下的記錄
170824 19:02:01 InnoDB: Page checksum 2583736692 (32bit_calc: 3902863637), prior-to-4.0.14-form checksum 2992650943
InnoDB: stored checksum 218772529, prior-to-4.0.14-form stored checksum 775370784
InnoDB: Page lsn 825440558 909582385, low 4 bytes of lsn at page end 825373998
InnoDB: Page number (if stored to page already) 775303712,
InnoDB: space id (if created with >= MySQL-4.1.1 and stored already) 775041840
InnoDB: Database page corruption on disk or a failed
InnoDB: file read of page 7.
InnoDB: You may have to recover from a backup.
InnoDB: It is also possible that your operating
InnoDB: system has corrupted its own file cache
InnoDB: and rebooting your computer removes the
InnoDB: error.
InnoDB: If the corrupt page is an index page
InnoDB: you can also try to fix the corruption
InnoDB: by dumping, dropping, and reimporting
InnoDB: the corrupt table. You can use CHECK
InnoDB: TABLE to scan your table for corruption.
InnoDB: See also http://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
InnoDB: about forcing recovery.
在/etc/my.cnf 加上
[mysqld]
innodb_force_recovery = 1
重啟mariadb
再查一下log
170824 19:02:01 InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 1553519:2, should be 1553541:2!
170824 19:02:01 InnoDB: Error: space id and page n:o stored in the page
InnoDB: read in are 1553519:3, should be 1553541:3!
InnoDB: Apply batch completed
InnoDB: Starting in background the rollback of uncommitted transactions
170824 19:02:01 InnoDB: Rolling back trx with id 127203F, 451 rows to undo
170824 19:02:01 InnoDB: Waiting for the background threads to start
InnoDB: Rolling back of trx id 127203F completed
170824 19:02:01 InnoDB: Rollback of non-prepared transactions completed
170824 19:02:02 Percona XtraDB (http://www.percona.com) 5.5.40-MariaDB-36.1 started; log sequence number 653240202086
170824 19:02:02 InnoDB: !!! innodb_force_recovery is set to 1 !!!
170824 19:02:02 [Note] Plugin 'FEEDBACK' is disabled.
170824 19:02:02 [Note] Server socket created on IP: '0.0.0.0'.
170824 19:02:02 [Note] Event Scheduler: Loaded 0 events
170824 19:02:02 [Note] /usr/libexec/mysqld: ready for connections.
Version: '5.5.41-MariaDB' socket: '/home/Alopex/mysql/mysql.sock' port: 3306 MariaDB Server
InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
InnoDB: A new raw disk partition was initialized or
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
看來是修好了
不過user還是不能用
InnoDB: innodb_force_recovery is on: we do not allow
InnoDB: database modifications by the user. Shut down
InnoDB: mysqld and edit my.cnf so that newraw is replaced
InnoDB: with raw, and innodb_force_... is removed.
要再把
[mysqld]
innodb_force_recovery = 1
mark掉再重開
目前看來是正常了
再觀察看看
https://dev.mysql.com/doc/refman/5.5/en/forcing-innodb-recovery.html
2017/08/23
今天早上使用proxmox裡的guest測了一下io
host
ProLiant DL380p Gen8
raid card
guest os
linux mint 直接使用cd boot 後執行 gnome-disks 跑benchmark
datastore 使用 xfs
datastore 使用 zfs (zfs是使用由raid card做raid 5 出來之後再用 raidz0)
是不是要為了 remote replication 而浪費這些效能
就自己決定囉
補充硬碟資料
每台host 上共有12個如上的hd
1個hot spare 另外11個做raid 5
另外再補充在pc上測試的結果
pc上的hd資料如下
3個500G SATA 直接接在主机板上
host
ProLiant DL380p Gen8
raid card
guest os
linux mint 直接使用cd boot 後執行 gnome-disks 跑benchmark
datastore 使用 xfs
datastore 使用 zfs (zfs是使用由raid card做raid 5 出來之後再用 raidz0)
是不是要為了 remote replication 而浪費這些效能
就自己決定囉
補充硬碟資料
每台host 上共有12個如上的hd
1個hot spare 另外11個做raid 5
另外再補充在pc上測試的結果
pc上的hd資料如下
3個500G SATA 直接接在主机板上
下圖為測試結果
標籤:
benchmark,
gnome-disks,
hp,
linux,
linux mint,
proxmox,
raid,
raid card,
remote replication,
xfs,
zfs
2017/08/10
在ubuntu 16.04上建立zfs的流程如下
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
以上指令為建立一個raidz (raid 5)的pool
pool type請參考以下連結
https://wiki.ubuntu.com/ZFS/ZPool
但碰到一個問題 就是每次開机不會自動把zpool mount進來
目前的解決方法是在 /etc/rc.local 加上以下二行
zpool import mypool
zfs mount -a
sudo zpool create mypool raidz /dev/sdb /dev/sdc /dev/sdd
以上指令為建立一個raidz (raid 5)的pool
pool type請參考以下連結
https://wiki.ubuntu.com/ZFS/ZPool
但碰到一個問題 就是每次開机不會自動把zpool mount進來
目前的解決方法是在 /etc/rc.local 加上以下二行
zpool import mypool
zfs mount -a
2017/08/08
如果graylog是直接使用ova
那heap space預設只有 1.4 G
效能不好
所以當os加完ram後要再調整
vi /etc/graylog/graylog-settings.json
修改以下參數
"custom_attributes": {
"graylog-server": {
"memory": "2000m"
},
"elasticsearch": {
"memory": "2000m"
}
}
改好後
cp /opt/graylog/conf/graylog.conf /opt/graylog/conf/graylog.conf_bck
sudo graylog-ctl reconfigure
mv /opt/graylog/conf/graylog.conf_bck /opt/graylog/conf/graylog.conf
sudo graylog-ctl restart
http://docs.graylog.org/en/2.3/pages/configuration/graylog_ctl.html#graylog-ctl-advanced
2017/12/21 後記
在reconfigure之前記得要先把 /opt/graylog/conf/graylog.conf 先備分
因為reconfigure會把graylog.conf恢復成原始值
記得把備份檔還原後再 graylog-ctl restart
那heap space預設只有 1.4 G
效能不好
所以當os加完ram後要再調整
vi /etc/graylog/graylog-settings.json
修改以下參數
"custom_attributes": {
"graylog-server": {
"memory": "2000m"
},
"elasticsearch": {
"memory": "2000m"
}
}
改好後
cp /opt/graylog/conf/graylog.conf /opt/graylog/conf/graylog.conf_bck
sudo graylog-ctl reconfigure
mv /opt/graylog/conf/graylog.conf_bck /opt/graylog/conf/graylog.conf
sudo graylog-ctl restart
http://docs.graylog.org/en/2.3/pages/configuration/graylog_ctl.html#graylog-ctl-advanced
2017/12/21 後記
在reconfigure之前記得要先把 /opt/graylog/conf/graylog.conf 先備分
因為reconfigure會把graylog.conf恢復成原始值
記得把備份檔還原後再 graylog-ctl restart
2017/08/04
proxmox升到5版後開始使用zfs
但碰到了二個問題
一個是效能感覺上跟之前使用ext4或xfs差很多
另外就是zfs會一直吃ram 直到把ram全吃完
查了很多資料
都是建議加SSD來當zfs的cache
但目前沒有多餘的預算
後來找到一份官方文件
https://pve.proxmox.com/wiki/ZFS_on_Linux
依照說明
先把zfs的ram使用量限制為10G (文件為8G)
另外限制swap的使用量
vi /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=10737418240
update-initramfs -u
vi /etc/sysctl.conf
vm.swappiness = 10
改完後記得要reboot
目前看來好多了
再觀察看看
但碰到了二個問題
一個是效能感覺上跟之前使用ext4或xfs差很多
另外就是zfs會一直吃ram 直到把ram全吃完
查了很多資料
都是建議加SSD來當zfs的cache
但目前沒有多餘的預算
後來找到一份官方文件
https://pve.proxmox.com/wiki/ZFS_on_Linux
依照說明
先把zfs的ram使用量限制為10G (文件為8G)
另外限制swap的使用量
vi /etc/modprobe.d/zfs.conf
options zfs zfs_arc_max=10737418240
update-initramfs -u
vi /etc/sysctl.conf
vm.swappiness = 10
改完後記得要reboot
目前看來好多了
再觀察看看
2017/07/26
2017/07/09
ocs inventory 2.3.1 release 有段時間了
之前試著升過一次
但升完後有問題
因此就一直先放著
這几天上官網去看了一下
官方在 2017/6/6 已經釋出 RPM repository for RHel/Centos/Fedora
今天想說再來裝一次看看 不過找不到官方的文件 只好自己來try一下
先按照網頁上的指示
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpm.ocsinventory-ng.org/enterprise/7/x86_64/ocsinventory-release-7-4.el7.ocs.noarch.rpm
yum install ocsinventory-release-7-4.el7.ocs.noarch.rpm epel-release-latest-7.noarch.rpm
安裝完以上二個rpm後 再跑一次yum -y update
再來就要正式開始來裝ocs了
執行的指令如下
yum -y install ocsinventory-server ocsinventory-reports mariadb mariadb-server httpd
其他需要的會自行補上
啟動 httpd mariadb
systemctl start httpd
systemctl start mariadb
mariadb裝完後先設定root passwd
mysqladmin -u root password '你的密碼'
再來登入 mariadb 建立ocsweb 這個db
create database ocsweb
開啟browser 登入 http://ip/ocsreports
按步驟操作
預設登入帳號密碼為 admin admin
登入後第一步當然就是改密碼
這時問題就來了
改完後竟然沒作用
看了一下log才發現問題
[Sun Jul 09 09:21:02.989877 2017] [:error] [pid 11198] [client 10.0.0.6:33592] PHP Warning: scandir(/usr/share/ocsinventory-reports/ocsreports/config/profiles): failed to open dir: No such file or directory in /usr/share/ocsinventory-reports/ocsreports/require/function_users.php on line 30, referer: http://10.0.0.245/ocsreports/index.php?function=admin_add_profile
路徑不存在
之前手動安裝從來沒碰過這個問題
找了一下發現上述的路徑在安裝後是放在
/var/lib/ocsinventory-reports/config
而不是config上的路徑
所以做個link
cd /usr/share/ocsinventory-reports/ocsreports
ln -s /var/lib/ocsinventory-reports/config
之前試著升過一次
但升完後有問題
因此就一直先放著
這几天上官網去看了一下
官方在 2017/6/6 已經釋出 RPM repository for RHel/Centos/Fedora
今天想說再來裝一次看看 不過找不到官方的文件 只好自己來try一下
先按照網頁上的指示
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
wget https://rpm.ocsinventory-ng.org/enterprise/7/x86_64/ocsinventory-release-7-4.el7.ocs.noarch.rpm
yum install ocsinventory-release-7-4.el7.ocs.noarch.rpm epel-release-latest-7.noarch.rpm
安裝完以上二個rpm後 再跑一次yum -y update
再來就要正式開始來裝ocs了
執行的指令如下
yum -y install ocsinventory-server ocsinventory-reports mariadb mariadb-server httpd
其他需要的會自行補上
啟動 httpd mariadb
systemctl start httpd
systemctl start mariadb
mariadb裝完後先設定root passwd
mysqladmin -u root password '你的密碼'
再來登入 mariadb 建立ocsweb 這個db
create database ocsweb
開啟browser 登入 http://ip/ocsreports
按步驟操作
預設登入帳號密碼為 admin admin
登入後第一步當然就是改密碼
這時問題就來了
改完後竟然沒作用
看了一下log才發現問題
[Sun Jul 09 09:21:02.989877 2017] [:error] [pid 11198] [client 10.0.0.6:33592] PHP Warning: scandir(/usr/share/ocsinventory-reports/ocsreports/config/profiles): failed to open dir: No such file or directory in /usr/share/ocsinventory-reports/ocsreports/require/function_users.php on line 30, referer: http://10.0.0.245/ocsreports/index.php?function=admin_add_profile
路徑不存在
之前手動安裝從來沒碰過這個問題
找了一下發現上述的路徑在安裝後是放在
/var/lib/ocsinventory-reports/config
而不是config上的路徑
所以做個link
cd /usr/share/ocsinventory-reports/ocsreports
ln -s /var/lib/ocsinventory-reports/config
目前大致上看來是ok了
明天再來移過來新的几器
看看有沒有什麼其他的問題
2017/06/08
2017/06/05
昨天突然在想是不是可以在graylog上直接用值畫出圖形
因為在fields展開後有四個選項可以操作
上圖的 Generate chart 應該就可以畫圖
而 Statistics 是相關的記錄及統計
但當點下去時出現
只能針對數字定義的欄位才能使用
看來必須要設定Extractor對message拆解並定義後才行了
因此先吐一筆測試資料到graylog
echo "testiiiiii 20"|nc 10.0.0.1 1234
再利用這筆資料來產生Extractor
如上圖 主要的重點是必須定義該拆解出來的欄位值是數字
目前支援的定義如下圖 依所需值不同的位數來選擇不同的定義
目前的範例是定義為int
定義好後接下來進到graylog的資料就會被拆解如下圖
num_test這個欄位就拆解出來而且被定義為int
接下來就可以使用 Generate chart 及 Statistics 產生如下的二張報表
在圖上就可以看到用數值畫出來的圖及統計的結果了
Generate chart還可以依不同需求產生不同的圖
在cacti上寫shell也可以達到相同的目的
但操作上會複雜許多
目前想到可以利用個這個來畫出溫度及統計並利用alert功能來進行
溫度超標的通知
應該是滿方便的
http://docs.graylog.org/en/2.2/pages/extractors.html
因為在fields展開後有四個選項可以操作
上圖的 Generate chart 應該就可以畫圖
而 Statistics 是相關的記錄及統計
但當點下去時出現
只能針對數字定義的欄位才能使用
看來必須要設定Extractor對message拆解並定義後才行了
因此先吐一筆測試資料到graylog
echo "testiiiiii 20"|nc 10.0.0.1 1234
再利用這筆資料來產生Extractor
如上圖 主要的重點是必須定義該拆解出來的欄位值是數字
目前支援的定義如下圖 依所需值不同的位數來選擇不同的定義
目前的範例是定義為int
定義好後接下來進到graylog的資料就會被拆解如下圖
num_test這個欄位就拆解出來而且被定義為int
接下來就可以使用 Generate chart 及 Statistics 產生如下的二張報表
在圖上就可以看到用數值畫出來的圖及統計的結果了
Generate chart還可以依不同需求產生不同的圖
在cacti上寫shell也可以達到相同的目的
但操作上會複雜許多
目前想到可以利用個這個來畫出溫度及統計並利用alert功能來進行
溫度超標的通知
應該是滿方便的
http://docs.graylog.org/en/2.2/pages/extractors.html
2017/06/02
2017/06/01
之前寫過一篇有關tftp的說明
今天又查到一個方法
在ubuntu中使用 tftpy
sudo apt install python-tftpy
再來建立一個tftp_svr.py的文件
import tftpy
server = tftpy.TftpServer('/tmp')
server.listen('0.0.0.0', 69)
要使用時執行
sudo python tftp_svr.py
即可
http://www.wl-chuang.com/blog/2012/02/13/build-up-a-tftp-server-using-python/
今天又查到一個方法
在ubuntu中使用 tftpy
sudo apt install python-tftpy
再來建立一個tftp_svr.py的文件
import tftpy
server = tftpy.TftpServer('/tmp')
server.listen('0.0.0.0', 69)
要使用時執行
sudo python tftp_svr.py
即可
http://www.wl-chuang.com/blog/2012/02/13/build-up-a-tftp-server-using-python/
2017/05/31
2017/05/26
最近有人介紹了一間公司
http://www.youstar.com.tw/
跟我說是使用opensource來協助客戶解決問題的公司
其實opensource並不反商
但重點是如果有利用並修改的opensouce的程式碼
同樣也必須opensource
台灣就有廠商廠被告過
不過我在想這個要怎麼生存下去
裡面有放了簡報檔 介紹了不少軟体
有些是目前就有在用 有些是之前測過但覺得並不好用
也有些我認為還不錯的軟体 卻沒有介紹
今天測了一下duplicati
覺得真的不錯
跨平台
而且支援備分到相當多的目的地 除了一般的網芳 ftp sftp外
包括各大雲端空間都支援
還支援上傳檔案加密
排程備分
差異備分
差異備分點還原
windows安裝必須要先裝 .net 4.5
程式裝好後本身並沒有管理程式
必須使用browser 開 http://127.0.0.1:8200 進入管理介面
另外使用ie開管理介面會看不到
建議使用別的browser
畫面如下
功能就不一一介紹了 自己玩玩看
如果在ubuntu上
可以直接使用
sudo apt install dupclicati
安裝
裝好後要記得
sudo systemctl start dupclicati
sudo systemctl enable dupclicati
如果是裝在server上
因為本身沒有browser
可以用ssh建立通道
ssh user@example.com -L 8200:localhost:8200
然後再使用local的browser 打開 http://127.0.0.1:8200 即可
平常把檔案備分好
萬一被加密軟体加密了
只要回復回來就好
http://www.youstar.com.tw/
跟我說是使用opensource來協助客戶解決問題的公司
其實opensource並不反商
但重點是如果有利用並修改的opensouce的程式碼
同樣也必須opensource
台灣就有廠商廠被告過
不過我在想這個要怎麼生存下去
裡面有放了簡報檔 介紹了不少軟体
有些是目前就有在用 有些是之前測過但覺得並不好用
也有些我認為還不錯的軟体 卻沒有介紹
今天測了一下duplicati
覺得真的不錯
跨平台
而且支援備分到相當多的目的地 除了一般的網芳 ftp sftp外
包括各大雲端空間都支援
還支援上傳檔案加密
排程備分
差異備分
差異備分點還原
windows安裝必須要先裝 .net 4.5
程式裝好後本身並沒有管理程式
必須使用browser 開 http://127.0.0.1:8200 進入管理介面
另外使用ie開管理介面會看不到
建議使用別的browser
畫面如下
功能就不一一介紹了 自己玩玩看
如果在ubuntu上
可以直接使用
sudo apt install dupclicati
安裝
裝好後要記得
sudo systemctl start dupclicati
sudo systemctl enable dupclicati
如果是裝在server上
因為本身沒有browser
可以用ssh建立通道
ssh user@example.com -L 8200:localhost:8200
然後再使用local的browser 打開 http://127.0.0.1:8200 即可
平常把檔案備分好
萬一被加密軟体加密了
只要回復回來就好
2017/05/10
之前在centos上執行python的cgi都沒問題
但移植到ubuntu 16.04上後一直出現如下的error
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 210, in execute
query = query % args
TypeError: not all arguments converted during string formatting
程式完全一樣都沒改啊
google了半天 才解決問題
差異如下
ubuntu 16.04
sql = "delete from abc where ip=%s"
cursor.execute(sql, [ip])
變數一定要用 [ ] 包住
centos 7
sql = "delete from abc where ip=%s"
cursor.execute(sql, ip)
http://stackoverflow.com/questions/21740359/python-mysqldb-typeerror-not-all-arguments-converted-during-string-formatting
但移植到ubuntu 16.04上後一直出現如下的error
File "/usr/lib/python2.7/dist-packages/MySQLdb/cursors.py", line 210, in execute
query = query % args
TypeError: not all arguments converted during string formatting
程式完全一樣都沒改啊
google了半天 才解決問題
差異如下
ubuntu 16.04
sql = "delete from abc where ip=%s"
cursor.execute(sql, [ip])
變數一定要用 [ ] 包住
centos 7
sql = "delete from abc where ip=%s"
cursor.execute(sql, ip)
http://stackoverflow.com/questions/21740359/python-mysqldb-typeerror-not-all-arguments-converted-during-string-formatting
2017/05/09
2017/05/08
cacti從過年後就一直升級
今天又升到1.1.6了
本來是跑在ubuntu 14.04上
因為之前升過一次有問題
所以放著一直沒去動
不過最近查了一下 centos 的 epel有放進去了
用yum應該很方便 而且維護也比較簡單
轉過去沒啥大問題
mariadb的參數要做些調整 還要設定時區
在install的Pre-installation Checks頁面中有提到
再來就是碰到二個問題
一個就是本來有寫一些用來撈資料的script 放在/root
然後再ln到cacti的目錄
但這個版本使用上會有問題
所以只好把這些script直接copy到/usr/share/cacti/scripts裡
copy完後記得要rebuild poller cache才會生效
另一個問題比較奇怪
本來有利用snmp從ruckus的controller上撈線上人數
但轉到新版後圖出不來了
但aruba沒問題
可是用snmpwalk去撈又能拿到資料
看了設定也沒錯
最後
在config把snmp改成v1
就............好...............了
先醬
跑看看
目前polling一次時間大約15秒內
今天又升到1.1.6了
本來是跑在ubuntu 14.04上
因為之前升過一次有問題
所以放著一直沒去動
不過最近查了一下 centos 的 epel有放進去了
用yum應該很方便 而且維護也比較簡單
轉過去沒啥大問題
mariadb的參數要做些調整 還要設定時區
在install的Pre-installation Checks頁面中有提到
再來就是碰到二個問題
一個就是本來有寫一些用來撈資料的script 放在/root
然後再ln到cacti的目錄
但這個版本使用上會有問題
所以只好把這些script直接copy到/usr/share/cacti/scripts裡
copy完後記得要rebuild poller cache才會生效
另一個問題比較奇怪
本來有利用snmp從ruckus的controller上撈線上人數
但轉到新版後圖出不來了
但aruba沒問題
可是用snmpwalk去撈又能拿到資料
看了設定也沒錯
最後
在config把snmp改成v1
就............好...............了
先醬
跑看看
目前polling一次時間大約15秒內
2017/05/04
2017/04/27
2017/04/20
今天中午左右
忽然一堆服務都失效
本來以為是机器當机
想不到情況更糟糕
raid card死了
第一個想法就是把昨天晚上備份回復到另一台proxmox
當recover 做完後才想到
在正常的机器上應該有出問題那台的所有guest config
所以應該是把config 移過來
然後直接boot就好了
這樣也不會loss晚上到中午這段時間的資料
路徑在
/etc/pve/nodes/proxmox159/qemu-server
^^^^^^^^^^^
出問題的主机名稱
在正常的机器上下指令
mv /etc/pve/nodes/proxmox159/qemu-server/* /etc/pve/qemu-server/
之後再從管理介面或下指令boot即可
操作時有可能會出現
TASK ERROR: cluster not ready – no quorum?
或無法mv的情況
因為節點之間網路的斷線,集叢中節點數量低於2時,集叢就會被鎖住
此時要下指令
pvecm expected 1
讓集叢改為只期待1個節點正常運作
這樣就可以操作了
http://blog.pulipuli.info/2014/08/proxmox-ve-fix-proxmox-ve-cluster-not.html
忽然一堆服務都失效
本來以為是机器當机
想不到情況更糟糕
raid card死了
第一個想法就是把昨天晚上備份回復到另一台proxmox
當recover 做完後才想到
在正常的机器上應該有出問題那台的所有guest config
所以應該是把config 移過來
然後直接boot就好了
這樣也不會loss晚上到中午這段時間的資料
路徑在
/etc/pve/nodes/proxmox159/qemu-server
^^^^^^^^^^^
出問題的主机名稱
在正常的机器上下指令
mv /etc/pve/nodes/proxmox159/qemu-server/* /etc/pve/qemu-server/
之後再從管理介面或下指令boot即可
操作時有可能會出現
TASK ERROR: cluster not ready – no quorum?
或無法mv的情況
因為節點之間網路的斷線,集叢中節點數量低於2時,集叢就會被鎖住
此時要下指令
pvecm expected 1
讓集叢改為只期待1個節點正常運作
這樣就可以操作了
http://blog.pulipuli.info/2014/08/proxmox-ve-fix-proxmox-ve-cluster-not.html
2017/04/07
2017/04/05
今天早上登入graylog時出現了通知訊息
有新版
立馬進行更新
可是更新完出現几個問題
一個是 elasticsearch 的message出現暴量
導致graylog預設的Disk Journal (1G)也爆了 所以到config先調大為5G 等消化完再看看要不要調回來
第二個問題是forti的log几乎全部不見了
這很奇怪
之前的几次更新並沒有出現這個問題
找了一下官方的blog看到從這一版開始直接支援fortiget的log
而且在少數出現的log裡也看到欄位被辨認出來
這個不錯 雖然很吃資源
但卻只有出現少數几條log
畫面右上的 in/out message也一直有值
用tcpdump去捉封包也沒問題
看來應該是syslog4j有bug了
只能先試一下進forti改一下丟log的方式
先把log調到之前有開的tcp port
可是並沒有出現
於是再syslog上再開另一個udp port
再改一下forti的設定
終於可以了
先醬用吧
2017/04/03
graylog支援利用ip在地圖上顯示的功能
記錄一下要使用之前所需的config
1. 首先要下載geoip的data 因為用ova安裝的graylog 預設並沒有提供這個檔案
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
解開後放在/etc/graylog/server/
重啟graylog
此時再搜尋 就會在搜尋結果看到多出有關Geo的結果
在搜尋畫面的左方
點下World map 之後就會在搜尋畫面上方出珼地圖
http://docs.graylog.org/en/2.2/pages/geolocation.html#configure-message-processor
http://docs.graylog.org/en/2.2/pages/extractors.html#
https://dev.maxmind.com/geoip/geoip2/geolite2/
記錄一下要使用之前所需的config
1. 首先要下載geoip的data 因為用ova安裝的graylog 預設並沒有提供這個檔案
http://geolite.maxmind.com/download/geoip/database/GeoLite2-City.mmdb.gz
解開後放在/etc/graylog/server/
2. 在管理介面上 system - configurations
調整Message Processors Configuration
把 GeoIP Resolver的順序調到最下面
3. 搜尋一筆滿足要求的資料來create Extractors 使用 Grok pattern
依照所需的條件進行處理 如下範例
srcip=%{IP:srcip}
此時再搜尋 就會在搜尋結果看到多出有關Geo的結果
在搜尋畫面的左方
點下World map 之後就會在搜尋畫面上方出珼地圖
http://docs.graylog.org/en/2.2/pages/geolocation.html#configure-message-processor
http://docs.graylog.org/en/2.2/pages/extractors.html#
https://dev.maxmind.com/geoip/geoip2/geolite2/
訂閱:
文章 (Atom)