graylog如果要export大量資料時 百萬筆以上
不建議直接在web管理介面上Export as CSV
因為會花很多時間而且有可能導致管理介面當掉
建議使用rest
進到API browser後找到search keyword export
在網頁上輸入 搜尋關鍵字 時間 欄位及限制輸出筆數
確認輸出沒問題
就可以複制語法
把limit刪除後 使用curl來export
語法範例如下
curl -u user:passwd 'http://1.2.3.4:9000/api/search/universal/keyword/export?query=source%3A10.0.0.2%20&keyword=last%201%20day&fields=message' > log.csv
2018/03/22
graylog偶爾還是會發生buffer滿載的情況
想說來監控一下
目前觀察到當 process buffer 和 output buffer都滿就會往回塞到disk journal 因此就直接monitor disk jounrnal
第一步就是要把graylog目前的相關資料取出來
但因為graylog只提供jason的格式 並不方便操作
所以再使用 jq 轉換 以利值的讀取
指令如下 直接取出值
curl -u user:passwd 'http://1.2.3.4:9000/api/system/metrics'|jq . |grep -A 1 journal.entries-uncommitted |grep value |awk '{print $2}'
再利用以上的值來比對設定的基準 高於就發alarm
https://stedolan.github.io/jq/
想說來監控一下
目前觀察到當 process buffer 和 output buffer都滿就會往回塞到disk journal 因此就直接monitor disk jounrnal
第一步就是要把graylog目前的相關資料取出來
但因為graylog只提供jason的格式 並不方便操作
所以再使用 jq 轉換 以利值的讀取
指令如下 直接取出值
curl -u user:passwd 'http://1.2.3.4:9000/api/system/metrics'|jq . |grep -A 1 journal.entries-uncommitted |grep value |awk '{print $2}'
再利用以上的值來比對設定的基準 高於就發alarm
https://stedolan.github.io/jq/
2018/03/09
今天測了一下obs及nginx nginx-rtmp-module
obs是一個相當方便的跨平台錄影及產生live streaming的軟体
但是並沒有stream server的功能
一般都是把產生的stream丟到 youtube 或其他的stream server上
但如果是在內部使用 就必須自行架設stream server
網路上找到的資料大多是 obs + nginx + nginx-rtmp-module
記錄一下安裝及測試的流程
先安裝nginx
這次使用的是 linux mint ldme2
再來
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
wget http://nginx.org/download/nginx-1.13.1.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
解開後編譯安裝
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
$ make
$ sudo make install
啟動 nginx 看看有沒問題
$ sudo /usr/local/nginx/sbin/nginx
修改config 以支援 rtmp
在 /usr/local/nginx/conf/nginx.conf 下方加上以下程式碼
rtmp {
server {
listen 8080;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
在來源選擇顯示器擷取
建立新來源

再來設定把 stream 丟到之前設好的server
假設 server ip 192.168.12.74 port 要與config 設定的相同 金鑰設定為 test
設好後就可以開始串流
如果出現以下畫面且無錯誤訊息 就表示成功串流出去了
用VLC進行觀看
vlc rtmp://192.168.12.74:8080/live/test
如果來源有多個可以同時設定 同時擷取
https://obsproject.com/
https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/
obs是一個相當方便的跨平台錄影及產生live streaming的軟体
但是並沒有stream server的功能
一般都是把產生的stream丟到 youtube 或其他的stream server上
但如果是在內部使用 就必須自行架設stream server
網路上找到的資料大多是 obs + nginx + nginx-rtmp-module
記錄一下安裝及測試的流程
先安裝nginx
這次使用的是 linux mint ldme2
再來
sudo apt-get install build-essential libpcre3 libpcre3-dev libssl-dev
wget http://nginx.org/download/nginx-1.13.1.tar.gz
wget https://github.com/arut/nginx-rtmp-module/archive/master.zip
解開後編譯安裝
./configure --with-http_ssl_module --add-module=../nginx-rtmp-module-master
$ make
$ sudo make install
啟動 nginx 看看有沒問題
$ sudo /usr/local/nginx/sbin/nginx
修改config 以支援 rtmp
在 /usr/local/nginx/conf/nginx.conf 下方加上以下程式碼
rtmp {
server {
listen 8080;
chunk_size 4096;
application live {
live on;
record off;
}
}
}
重啟 nginx
$ sudo /usr/local/nginx/sbin/nginx -s stop
$ sudo /usr/local/nginx/sbin/nginx
接下來在windows 裝好obs後
以串流桌面為例(含音訊)
在來源選擇顯示器擷取
建立新來源
再來設定把 stream 丟到之前設好的server
假設 server ip 192.168.12.74 port 要與config 設定的相同 金鑰設定為 test
設好後就可以開始串流
如果出現以下畫面且無錯誤訊息 就表示成功串流出去了
用VLC進行觀看
vlc rtmp://192.168.12.74:8080/live/test
如果來源有多個可以同時設定 同時擷取
https://obsproject.com/
https://obsproject.com/forum/resources/how-to-set-up-your-own-private-rtmp-server-using-nginx.50/
2018/03/06
2018/02/22
今天ubuntu 升級後畫面就一直停在背景
左方完全沒有圖示
本來以為是升kernel的關係
降為舊版本還是一樣
找了一下
unity不見了
XD
補回去
sudo apt install unity
重開後就ok
https://ifun01.com/JC7MFH2.html
左方完全沒有圖示
本來以為是升kernel的關係
降為舊版本還是一樣
找了一下
unity不見了
XD
補回去
sudo apt install unity
重開後就ok
https://ifun01.com/JC7MFH2.html
2018/02/17
之前要發mail都使用二種方法
1. 直接在需要寄信的主機上起一個mail server 來寄
2. 使用python
import smtplib,sys
sender = "test_from_hinet@hinet.net"
receipt = "abc@de.com
smtp = smtplib.SMTP("168.95.4.10")
header = "Subject: test outside in mail from hinet\r\n\r\n"
msg = "test outside in mail from hinet"
smtp.sendmail(sender, receipt, header+msg)
smtp.quit()
今天才知道 mutt 也可以設定到別台mail server寄信
設定方法是安裝好mutt後在user的家目錄設定 ~/.muttrc
加上以下這行
set smtp_url = "smtp://mail.server.ip:25/"
1. 直接在需要寄信的主機上起一個mail server 來寄
2. 使用python
import smtplib,sys
sender = "test_from_hinet@hinet.net"
receipt = "abc@de.com
smtp = smtplib.SMTP("168.95.4.10")
header = "Subject: test outside in mail from hinet\r\n\r\n"
msg = "test outside in mail from hinet"
smtp.sendmail(sender, receipt, header+msg)
smtp.quit()
今天才知道 mutt 也可以設定到別台mail server寄信
設定方法是安裝好mutt後在user的家目錄設定 ~/.muttrc
加上以下這行
set smtp_url = "smtp://mail.server.ip:25/"
或在
/etc/Muttrc加上相同的內容
醬就可以了
mutt -s test abc@de.com -a test < test
2018/02/09
有同事反應有三支 .net的 update一直都無法更新成功
找了一下
下載 Microsoft .NET Framework Repair Tool 執行一下就可以了
網址如下
https://www.microsoft.com/en-us/download/details.aspx?id=30135
找了一下
下載 Microsoft .NET Framework Repair Tool 執行一下就可以了
網址如下
https://www.microsoft.com/en-us/download/details.aspx?id=30135
2018/02/07
記錄一下最近使用drbl的經驗
接在1G的設備上
不管是使用multicast 或 broadcast 速度大約就在1.X G 左右
若使用multicast 或 broadcast 建議使用client 數加秒數的方式
才不會因為某一台開不起來就一直在那裡等待 而無法開始作業
使用unicast 單台速度可到約 7.x G
但如果在unicast上同時使用二台以上作業
非常容易當機 應該說一定會當機
而且當機的情況很怪
server沒當
但client 就是連不上
此時server就是一定要重開機 重新設定才能用
所以建議一台一台做
http://drbl.nchc.org.tw/news/
接在1G的設備上
不管是使用multicast 或 broadcast 速度大約就在1.X G 左右
若使用multicast 或 broadcast 建議使用client 數加秒數的方式
才不會因為某一台開不起來就一直在那裡等待 而無法開始作業
使用unicast 單台速度可到約 7.x G
但如果在unicast上同時使用二台以上作業
非常容易當機 應該說一定會當機
而且當機的情況很怪
server沒當
但client 就是連不上
此時server就是一定要重開機 重新設定才能用
所以建議一台一台做
http://drbl.nchc.org.tw/news/
2018/02/06
1/28 存放graylog資料的nas發生當機的情況
隔天上班後nas重開graylog無法順利啟動
出現的錯誤訊息是mongodb無法啟動
試了很多方式還是無法修復
先把之前的backup倒回(只針對主程式)
還是無法啟動
重裝graylog也無法使用之前的資料
最後想到不久前升級graylog時有做了一個snapshot
這個snapshot是在關機時做的
利用這個snapshot回復
loss了一週的資料
接下來思考如果之後出現煩似的情況
要如何在捐失最少的資料進行回復
想到的方式是把graylog的主程式搬到跟資料同一個資料夾
然後利用nas定時snapshot的功能每半小時做一個snapshot(nas可支援到每五分鐘)
醬就可以把主程式跟資料一起snapshot在某一個時間點
這個有做這回復驗証 可以啟動graylog沒問題
只是在 system overview 會出現 Indexer failures的情況
但還是可以操作
目前graylog存放的資料是 4.5T 完全不可能備分
看來在大資料量的情況下
snapshot是少數可以利用的解決方案
2018/01/28
最近因為有大檔案同步的需求
所以找了二個解決方案 rsync bigsync
同時試了一下
樣本都是一個49G的檔案 來源目的都一樣
直接上數据
rsync
sent 49,088,096,429 bytes received 35 bytes 95,039,876.99 bytes/sec
total size is 49,076,114,830 speedup is 1.00
real 8m36.099s
user 3m35.524s
sys 1m17.008s
bigsync
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 3121
Elapsed 10m13s
看起來rsync還是快一點
另外bigsync可以調整每次處理的block大小
順便貼一下數据
500M
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 94
Elapsed 10m32s
1000M
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 47
Elapsed 10m30s
看起來和default 15M並沒有什麼差別
再來看一下如果檔案有小變化時 二方的結果
這次測一個10G的檔
rsync
sent 10,876,360,204 bytes received 35 bytes 65,718,188.76 bytes/sec
total size is 10,873,705,357 speedup is 1.00
real 2m44.831s
user 0m48.460s
sys 0m18.184s
看來rsync並不會把檔案切割計算
bigsync
Total read = 10.127 Gb
Total write = 4 Mb
Total blocks changed = 1
Elapsed 1m33s
結論
如果需求是每次都要同步全新的檔 用 rsync比較快
如果目的檔案已存在 只要同步差異處 用bigsync 可以節省比較多時間
https://rsync.samba.org/
https://github.com/egorFiNE/bigsync
所以找了二個解決方案 rsync bigsync
同時試了一下
樣本都是一個49G的檔案 來源目的都一樣
直接上數据
rsync
sent 49,088,096,429 bytes received 35 bytes 95,039,876.99 bytes/sec
total size is 49,076,114,830 speedup is 1.00
real 8m36.099s
user 3m35.524s
sys 1m17.008s
bigsync
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 3121
Elapsed 10m13s
看起來rsync還是快一點
另外bigsync可以調整每次處理的block大小
順便貼一下數据
500M
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 94
Elapsed 10m32s
1000M
Total read = 45.706 Gb
Total write = 45.706 Gb
Total blocks changed = 47
Elapsed 10m30s
看起來和default 15M並沒有什麼差別
再來看一下如果檔案有小變化時 二方的結果
這次測一個10G的檔
rsync
sent 10,876,360,204 bytes received 35 bytes 65,718,188.76 bytes/sec
total size is 10,873,705,357 speedup is 1.00
real 2m44.831s
user 0m48.460s
sys 0m18.184s
看來rsync並不會把檔案切割計算
bigsync
Total read = 10.127 Gb
Total write = 4 Mb
Total blocks changed = 1
Elapsed 1m33s
結論
如果需求是每次都要同步全新的檔 用 rsync比較快
如果目的檔案已存在 只要同步差異處 用bigsync 可以節省比較多時間
https://rsync.samba.org/
https://github.com/egorFiNE/bigsync
2018/01/24
2018/01/23
2018/01/19
今天因為工作的需求要安裝一台winserver 2012 R2
每次裝windows就有一種............
原因就是裝好之後的update
今天光是update就花了十多個小時
Orz
從以前就一直在想
為什麼win沒辦法改進這一塊
我裝好linux跑個update最多也就十分鐘
update後另一個問題又來了
50G的HD只剩10多G可以用
哇咧
而且server版預設沒有安裝磁碟清理工具
找了一下
發現只要清理三個資料夾
c:\windows\logs\CBS\
C:\WINDOWS\TEMP
C:\WINDOWS\SoftwareDistribution\Download
因為是剛裝好 所以前二個資料夾裡沒啥資料
第三個裡面就塞了十多G
砍了
http://shaomoon715.blogspot.tw/2016/09/c-cwindowslogscbs.html
每次裝windows就有一種............
原因就是裝好之後的update
今天光是update就花了十多個小時
Orz
從以前就一直在想
為什麼win沒辦法改進這一塊
我裝好linux跑個update最多也就十分鐘
update後另一個問題又來了
50G的HD只剩10多G可以用
哇咧
而且server版預設沒有安裝磁碟清理工具
找了一下
發現只要清理三個資料夾
c:\windows\logs\CBS\
C:\WINDOWS\TEMP
C:\WINDOWS\SoftwareDistribution\Download
因為是剛裝好 所以前二個資料夾裡沒啥資料
第三個裡面就塞了十多G
砍了
http://shaomoon715.blogspot.tw/2016/09/c-cwindowslogscbs.html
2018/01/14
在之前如果要把ovf匯入proxmox要花很多功夫
剛剛發現現在有 qm importovf 跟 qm importdisk 可以用 真是太方便了
試了一下
qm importovf怪怪的無法成功
所以只好把vm先建好
再把ova解開
tar xvf test.ova
使用 qm importdisk
指令如下
qm importdisk 123 test.vmdk local-lvm
會匯入成第二個disk
在管理介面上把剛匯入的那顆hd加上去
然後改一下boot disk
或是匯入之前先把之前建guest的第一個hd砍了
這樣匯入時就會是第一個
https://forum.proxmox.com/threads/procedure-to-import-vmware-ova-to-proxmox-5-0-23-with-zfs-vm-store.36779/
https://pve.proxmox.com/pve-docs/qm.1.html
剛剛發現現在有 qm importovf 跟 qm importdisk 可以用 真是太方便了
試了一下
qm importovf怪怪的無法成功
所以只好把vm先建好
再把ova解開
tar xvf test.ova
使用 qm importdisk
指令如下
qm importdisk 123 test.vmdk local-lvm
會匯入成第二個disk
在管理介面上把剛匯入的那顆hd加上去
然後改一下boot disk
或是匯入之前先把之前建guest的第一個hd砍了
這樣匯入時就會是第一個
https://forum.proxmox.com/threads/procedure-to-import-vmware-ova-to-proxmox-5-0-23-with-zfs-vm-store.36779/
https://pve.proxmox.com/pve-docs/qm.1.html
2018/01/09
今天想把snort的資料吐進 graylog
記錄一下步驟
首先改一下snort.conf 增加寫到syslog的選項
output alert_syslog: LOG_LOCAL5 LOG_ALERT
在以下的空格貼入 https://github.com/jhaar/mygraylog-patches-extractor-snort/blob/master/extractor-snort 裡的程式碼
之後進來的資料就可以被解析了
https://www.graylog.org/blog/64-visualize-and-correlate-ids-alerts-with-open-source-tools
記錄一下步驟
首先改一下snort.conf 增加寫到syslog的選項
output alert_syslog: LOG_LOCAL5 LOG_ALERT
再來改一下rsyslog.conf
$template GRAYLOGRFC5424,"<%PRI%>%PROTOCOL-VERSION% %TIMESTAMP:::date-rfc3339% %HOSTNAME% %APP-NAME% %PROCID% %MSGID% %STRUCTURED-DATA% %msg%\n"
local5.alert @graylog.server:514;GRAYLOGRFC5424
再來在gralog上加入extractor 加在 收snort log的那個input
system -> input -> manage extractors
import extractors
在以下的空格貼入 https://github.com/jhaar/mygraylog-patches-extractor-snort/blob/master/extractor-snort 裡的程式碼
之後進來的資料就可以被解析了
https://www.graylog.org/blog/64-visualize-and-correlate-ids-alerts-with-open-source-tools
2018/01/07
延續昨天的問題
先把找出來的cid先排序 才能使用 comm 指令
sort data > data_s
mv data_s data
程式跑一個晚上砍不到10000筆 XD
早上停掉
找了一下資料
改用另一種跑法
一樣是先把要砍的欄位資料撈出來
之後以一萬筆為單位拆開 做完後從資料中清除
如下
先把找出來的cid先排序 才能使用 comm 指令
sort data > data_s
mv data_s data
get_10000
sed -n '1,10000p' data > data_del
#grep -v -f data_del data > data_tmp
comm -1 -3 data_del data > data_tmp
mv -f data_tmp data
mv -f data_tmp data
利用上述的檔案生成sql 語法
del_data_10000
for i in `cat data_del`
do
echo -n $i" ,"
done > 000
echo -n 999999999 >> 000
mysql -u user -p123456 snort -e"delete from event where cid in (`cat 000`);"
一次跑100個loop
#!/bin/bash
for i in {1..100};
do
echo $i" times"
./get_10000
echo "get ok"
./del_data_10000
echo "del ok"
wc data
echo " "
done
速度快多了
2018/01/06
前一陣子不知是因為FP還是真的有那麼多攻擊
導致snort的資料庫塞了一堆 OS-WINDOWS Microsoft WINS arbitrary memory modification attempt 有五百多萬筆 XD
rule 是以下這個
alert udp $EXTERNAL_NET any -> $HOME_NET 1027:5000 (msg:"OS-WINDOWS Microsoft WINS arbitrary memory modification attempt"; sid:13826; gid:3; rev:6; classtype:attempted-admin; reference:cve,2008-1451; reference:url,technet.microsoft.com/en-us/security/bulletin/MS08-034; metadata: engine shared, soid 3|13826;)
然後整個web畫面就慢的夭壽慢 一直放著沒處理
今天想想來處理
首先先把 acid_event 這個 table 裡有關 OS-WINDOWS Microsoft WINS arbitrary memory modification attempt 的 cid 找出來
select cid from acid_event where sig_name='OS-WINDOWS Microsoft WINS arbitrary memory modification attempt';
然後寫個 shell 到 event table 去全砍了
#!/bin/bash
for i in `cat 123`
do
echo $i
mysql -u user -p123456 snort -e"delete from event where cid=$i;"
done
或直接寫個sql
DELETE FROM tb1 WHERE tb1.a in (SELECT k from tb2);
接下來再 使用之前寫過的清資料的方法
再跑一次
導致snort的資料庫塞了一堆 OS-WINDOWS Microsoft WINS arbitrary memory modification attempt 有五百多萬筆 XD
rule 是以下這個
alert udp $EXTERNAL_NET any -> $HOME_NET 1027:5000 (msg:"OS-WINDOWS Microsoft WINS arbitrary memory modification attempt"; sid:13826; gid:3; rev:6; classtype:attempted-admin; reference:cve,2008-1451; reference:url,technet.microsoft.com/en-us/security/bulletin/MS08-034; metadata: engine shared, soid 3|13826;)
然後整個web畫面就慢的夭壽慢 一直放著沒處理
今天想想來處理
首先先把 acid_event 這個 table 裡有關 OS-WINDOWS Microsoft WINS arbitrary memory modification attempt 的 cid 找出來
select cid from acid_event where sig_name='OS-WINDOWS Microsoft WINS arbitrary memory modification attempt';
然後寫個 shell 到 event table 去全砍了
#!/bin/bash
for i in `cat 123`
do
echo $i
mysql -u user -p123456 snort -e"delete from event where cid=$i;"
done
或直接寫個sql
DELETE FROM tb1 WHERE tb1.a in (SELECT k from tb2);
再跑一次
訂閱:
文章 (Atom)


