最近几天在ubuntu上設定rsyslog
發現如果使用udp的設定
都沒辦法轉送出去到外部的log server
使用tcp就沒問題
設定方式只要修改
/etc/rsyslog.d/50-default.conf
加上
*.* @@1.2.3.4:5555 使用@@表示TCP
或
*.* @1.2.3.4:514 使用@表示UDP 用UDP一直無法成功 沒找到原因
設定好後
systemctl restart rsyslog
https://vexxhost.com/resources/tutorials/how-to-setup-remote-system-logging-with-rsyslog-on-ubuntu-14-04-lts/
2017/03/18
目前使用4.4.0-62的kernel
但一直發生只要更新kernel就開不了机的情況
一直到目前的 4.4.0-67都一樣
查了半天才知道是一個bug
而且好像是只要使用usb wifi就會發生
看來還是只能停在4.4.0-62
繼續等了
https://bugs.launchpad.net/linuxmint/+bug/1666615
但一直發生只要更新kernel就開不了机的情況
一直到目前的 4.4.0-67都一樣
查了半天才知道是一個bug
而且好像是只要使用usb wifi就會發生
看來還是只能停在4.4.0-62
繼續等了
https://bugs.launchpad.net/linuxmint/+bug/1666615
2017/03/14
2017/03/10
graylog 在search 中 * 及 ? 的使用必須以獨立單字為為主
以下方的log舉例
Jan 9 20:10:37 192.168.101.253 System: Fan 1 (from left when facing right side), failed
如果我要找出這個訊息
就必須使用下列的語法
f?n AND f*d
或
f*n AND f????d
不能使用 f*d 這樣會找不到資料
ip的範圍搜尋使用
[192.168.0.0 TO 192.168.254.254]
但有時會出現不相關的資料
此時就要使用
message:[192.168.0.0 TO 192.168.254.254]
^^^^^^^
field的名稱
可依需求更改
以下方的log舉例
Jan 9 20:10:37 192.168.101.253 System: Fan 1 (from left when facing right side), failed
如果我要找出這個訊息
就必須使用下列的語法
f?n AND f*d
或
f*n AND f????d
不能使用 f*d 這樣會找不到資料
ip的範圍搜尋使用
[192.168.0.0 TO 192.168.254.254]
但有時會出現不相關的資料
此時就要使用
message:[192.168.0.0 TO 192.168.254.254]
^^^^^^^
field的名稱
可依需求更改
graylog除了可以從console操作外
還提供了方便的REST API
讓使用者可以方便的使用文字介面 curl 就可以操作
所有提供的資料及相關語法
可以從管理介面得知
從右上角的目前message流量點入後就可以在畫面右方看到API BROWSER
以關鍵字搜尋為例
先在畫面上找到
Search/Keyword : Message search
再來點下List Operations
再點Message search with keyword as timerange
就會出現如下的畫面
有三個必填欄位
query 是關鍵字 可以使用 AND NOT OR 跟管理介面搜尋相同
keyword是時間 使用 relative 如 last 1 day 等
filelds是 欄位 使用message
填好後按下 Try it out!
接下來會問帳號密碼
打完送出後就會得到結果了
系統會給一個Request URL
可以複制起來 之後只要修改相關參數就可以直接在程式上使用
http://1.2.3.4:9000/api/search/universal/keyword?query=success%20&keyword=Last%205%20minutes&fields=message
還提供了方便的REST API
讓使用者可以方便的使用文字介面 curl 就可以操作
所有提供的資料及相關語法
可以從管理介面得知
從右上角的目前message流量點入後就可以在畫面右方看到API BROWSER
以關鍵字搜尋為例
先在畫面上找到
Search/Keyword : Message search
再來點下List Operations
再點Message search with keyword as timerange
就會出現如下的畫面
有三個必填欄位
query 是關鍵字 可以使用 AND NOT OR 跟管理介面搜尋相同
keyword是時間 使用 relative 如 last 1 day 等
filelds是 欄位 使用message
填好後按下 Try it out!
接下來會問帳號密碼
打完送出後就會得到結果了
系統會給一個Request URL
可以複制起來 之後只要修改相關參數就可以直接在程式上使用
http://1.2.3.4:9000/api/search/universal/keyword?query=success%20&keyword=Last%205%20minutes&fields=message
使用curl範例如下
curl -u username:password -H 'Accept: application/json' -X GET 'http://1.2.3.4:9000/api/search/universal/keyword?query=%22success%22&keyword=last%201%20hour&fields=message'
方便使用者不進web介面就可以搜尋
但要修改時網址的傳值必須使用ascii 16進位 要留意
底下列出參考表及轉換網址
2017/03/09
之前提到如果要把windows的log丟到syslog上
可以使用evtsys
因為最近玩graylog
官網上有介紹nxlog這個工具
不只是windows可以用 linux, android都有支援 而且還有在更新維護
先來玩一下 windows
找了一台win 10 x32來裝
安裝過程沒什麼問題
裝完後要手動去改config file
路徑在
C:\Program Files\nxlog\conf\nxlog.conf
或
C:\Program Files (x86)\nxlog\conf\nxlog.conf
修改後內容如下
<Output out>
Module om_udp (預設為tcp 視需求修改)
Host 1.1.1.1 (依需求修改)
Port 514
# Exec to_syslog_snare(); (此行預設打開 但無法傳資料 註解後就正常了)
</Output>
再來就是到服務把nxlog啟動
應該就可以在syslog上看到訊息了
如果有問題 可以check一下log
C:\Program Files\nxlog\data\nxlog.log
或
C:\Program Files (x86)\nxlog\data\nxlog.log
http://www.ilanni.com/?p=595
可以使用evtsys
因為最近玩graylog
官網上有介紹nxlog這個工具
不只是windows可以用 linux, android都有支援 而且還有在更新維護
先來玩一下 windows
找了一台win 10 x32來裝
安裝過程沒什麼問題
裝完後要手動去改config file
路徑在
C:\Program Files\nxlog\conf\nxlog.conf
或
C:\Program Files (x86)\nxlog\conf\nxlog.conf
修改後內容如下
<Output out>
Module om_udp (預設為tcp 視需求修改)
Host 1.1.1.1 (依需求修改)
Port 514
# Exec to_syslog_snare(); (此行預設打開 但無法傳資料 註解後就正常了)
</Output>
再來就是到服務把nxlog啟動
應該就可以在syslog上看到訊息了
如果有問題 可以check一下log
C:\Program Files\nxlog\data\nxlog.log
或
C:\Program Files (x86)\nxlog\data\nxlog.log
http://www.ilanni.com/?p=595
2017/03/08
graylog2 announce了和splunk整合的功能
https://www.graylog.org/blog/19-graylog-splunk-integration-is-now-here
說整合也不太像 說白了就是過濾一些重要的資料再往splunk丟
因為如果是使用splunk免費版本的話一天只有500MB可以用
先由graylog2過濾的話就可省下不少的空間
利用的就是stream這個功能
不過我目前並不打算把log再丟到splunk
而且打算利用stream過濾一些異常的訊息
當發生狀況時發mail通知管理者
首先要先把發信功能打開
在graylog.conf內找到下列几行並依不同狀況進行修改
transport_email_enabled = true
transport_email_hostname = 1.2.3.4
transport_email_port = 25
transport_email_use_auth = false
transport_email_use_tls = false
transport_email_use_ssl = false
transport_email_auth_username =
transport_email_auth_password =
transport_email_subject_prefix = [graylog]
transport_email_from_email =
transport_email_web_interface_url = http://12.34.56.78
改完後重啟
接下來在web介面上操作
在stream上新增一個stream
接下來才是重點就是要manage rules
假設我想要找認証成功的user
也就是在message裡要包含 authentication 和 success 二個關鍵字
在manage rules不能寫在一起 否則會找不到 必須要分開成二筆rule
Field使用的就是message
Type要使用contain 不建議使用 match 或其他 有時會找不到
value就使用關鍵字
分別建立完成後就會有二筆rule
視需求是要符合全部或單一符合
設定後一定要進行測試
測試的方法就是利用我們的關鍵字進行search
得到結果後展開點一下右上方的 test against stream 選取設定的stream
測試成功會出現如下圖的訊息

再來就要設定alert了
首先新增一個alert condition 選取 stream跟condition type
接著設定觸發的次數及相關情況及是否要重覆寄送
再來新增一個alert notification
接著設定要寄送的相關訊息
最後要enable stream
設定完成後可以先寄送一封test mail
接下來如果有觸發就會收到mail了
mail並不會有完整的message內容 只是進行通知
必須要進到管理介面看
https://www.graylog.org/blog/19-graylog-splunk-integration-is-now-here
說整合也不太像 說白了就是過濾一些重要的資料再往splunk丟
因為如果是使用splunk免費版本的話一天只有500MB可以用
先由graylog2過濾的話就可省下不少的空間
利用的就是stream這個功能
不過我目前並不打算把log再丟到splunk
而且打算利用stream過濾一些異常的訊息
當發生狀況時發mail通知管理者
首先要先把發信功能打開
在graylog.conf內找到下列几行並依不同狀況進行修改
transport_email_enabled = true
transport_email_hostname = 1.2.3.4
transport_email_port = 25
transport_email_use_auth = false
transport_email_use_tls = false
transport_email_use_ssl = false
transport_email_auth_username =
transport_email_auth_password =
transport_email_subject_prefix = [graylog]
transport_email_from_email =
transport_email_web_interface_url = http://12.34.56.78
改完後重啟
接下來在web介面上操作
在stream上新增一個stream
接下來才是重點就是要manage rules
假設我想要找認証成功的user
也就是在message裡要包含 authentication 和 success 二個關鍵字
在manage rules不能寫在一起 否則會找不到 必須要分開成二筆rule
Field使用的就是message
Type要使用contain 不建議使用 match 或其他 有時會找不到
value就使用關鍵字
分別建立完成後就會有二筆rule
視需求是要符合全部或單一符合
設定後一定要進行測試
測試的方法就是利用我們的關鍵字進行search
得到結果後展開點一下右上方的 test against stream 選取設定的stream
測試成功會出現如下圖的訊息

再來就要設定alert了
首先新增一個alert condition 選取 stream跟condition type
接著設定觸發的次數及相關情況及是否要重覆寄送
再來新增一個alert notification
接著設定要寄送的相關訊息
最後要enable stream
設定完成後可以先寄送一封test mail
接下來如果有觸發就會收到mail了
mail並不會有完整的message內容 只是進行通知
必須要進到管理介面看
2017/03/04
之前提到graylog如果要把別机器log file的資料丟過來
要另外裝軟体
今天想到一個方法
使用tail -f 加上nc 就可以解決了
首先在graylog上新增一個input
sytem/inputs - inputs 選擇 Raw/Plaintext TCP
選擇node 在title上給一個名字 再來指定port 再來save就可以了
之後再要傳送log的server上使用
tail -F /var/log/messages | nc 1.1.1.1 6666
必須使用 -F 否則logrotate後就不會再送資料了
1.1.1.1為graylog的ip
6666為上一步驟所指定的port
這樣資料就進來了
只是有個問題 如果graylog重開 nc就會斷掉了
因此寫了一個shell來開机執行
#!/bin/bash
#check graylog data send every 5 secs
while [ true ]
do
sleep 5
ps -ef|grep 1.1.1.1|grep -v grep || /usr/bin/tail -F /var/log/messages | /usr/bin/nc 1.1.1.1 6666
done
每5秒檢查一次 如果有問題就重下指令
要另外裝軟体
今天想到一個方法
使用tail -f 加上nc 就可以解決了
首先在graylog上新增一個input
sytem/inputs - inputs 選擇 Raw/Plaintext TCP
選擇node 在title上給一個名字 再來指定port 再來save就可以了
之後再要傳送log的server上使用
tail -F /var/log/messages | nc 1.1.1.1 6666
必須使用 -F 否則logrotate後就不會再送資料了
1.1.1.1為graylog的ip
6666為上一步驟所指定的port
這樣資料就進來了
只是有個問題 如果graylog重開 nc就會斷掉了
因此寫了一個shell來開机執行
#!/bin/bash
#check graylog data send every 5 secs
while [ true ]
do
sleep 5
ps -ef|grep 1.1.1.1|grep -v grep || /usr/bin/tail -F /var/log/messages | /usr/bin/nc 1.1.1.1 6666
done
每5秒檢查一次 如果有問題就重下指令
2017/03/02
近來發現一個proxmox備份的問題
就是當guest os的hd過大時(目前觀察是500G以上)
若備分使用壓縮往往會不成功
尤其是在備分設備只支援1G的環境下
而且都是備分到一半guest os就不正常關机了 (進度不一定)
log如下
110: Feb 28 00:42:37 INFO: status: 51% (127682347008/250059350016), sparse 23% (59749072896), duration 994, 238/225 MB/s
110: Feb 28 00:42:50 INFO: status: 52% (130099838976/250059350016), sparse 23% (59900887040), duration 1007, 185/174 MB/s
110: Feb 28 00:44:06 INFO: status: 53% (132779606016/250059350016), sparse 24% (60026957824), duration 1083, 35/33 MB/s
110: Feb 28 00:44:32 INFO: status: 54% (135066157056/250059350016), sparse 24% (60116475904), duration 1109, 87/84 MB/s
110: Feb 28 00:44:40 INFO: status: 55% (137644998656/250059350016), sparse 24% (60216111104), duration 1117, 322/309 MB/s
110: Feb 28 00:44:53 INFO: status: 56% (140127109120/250059350016), sparse 24% (60333727744), duration 1130, 190/181 MB/s
110: Feb 28 00:46:30 ERROR: VM 110 not running
110: Feb 28 00:46:30 INFO: aborting backup job
110: Feb 28 00:46:30 ERROR: VM 110 not running
110: Feb 28 00:46:37 ERROR: Backup of VM 110 failed - VM 110 not running
但在10G的情況到目前為止沒發現問題
找了一下forum有一些人反應這個問題
但好像沒有啥解法
目前看來就二個方法
1. 不要使用壓縮備分(備分出來的檔案會比較大)
2. 把所有設備升級到10G
就是當guest os的hd過大時(目前觀察是500G以上)
若備分使用壓縮往往會不成功
尤其是在備分設備只支援1G的環境下
而且都是備分到一半guest os就不正常關机了 (進度不一定)
log如下
110: Feb 28 00:42:37 INFO: status: 51% (127682347008/250059350016), sparse 23% (59749072896), duration 994, 238/225 MB/s
110: Feb 28 00:42:50 INFO: status: 52% (130099838976/250059350016), sparse 23% (59900887040), duration 1007, 185/174 MB/s
110: Feb 28 00:44:06 INFO: status: 53% (132779606016/250059350016), sparse 24% (60026957824), duration 1083, 35/33 MB/s
110: Feb 28 00:44:32 INFO: status: 54% (135066157056/250059350016), sparse 24% (60116475904), duration 1109, 87/84 MB/s
110: Feb 28 00:44:40 INFO: status: 55% (137644998656/250059350016), sparse 24% (60216111104), duration 1117, 322/309 MB/s
110: Feb 28 00:44:53 INFO: status: 56% (140127109120/250059350016), sparse 24% (60333727744), duration 1130, 190/181 MB/s
110: Feb 28 00:46:30 ERROR: VM 110 not running
110: Feb 28 00:46:30 INFO: aborting backup job
110: Feb 28 00:46:30 ERROR: VM 110 not running
110: Feb 28 00:46:37 ERROR: Backup of VM 110 failed - VM 110 not running
找了一下forum有一些人反應這個問題
但好像沒有啥解法
目前看來就二個方法
1. 不要使用壓縮備分(備分出來的檔案會比較大)
2. 把所有設備升級到10G
訂閱:
文章 (Atom)