之前提到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秒檢查一次 如果有問題就重下指令
沒有留言:
張貼留言