最近二次升級完graylog後
都發生原本的log server資料吐不過來的情況
明明daemon都還在
目前的處理方式就是把log server上的rsyslog重啟
或直接重開 log server
還找不出原因
2020/03/21
之前發過一篇如何在graylog2啟用Geo的文章
升到graylog3後有些變化
以下記錄一下
首先是geoip的資料必需要先註冊才能取得
如果要自動更新 需要先產生license key
產生後下載 GeoIP.conf
https://www.maxmind.com/en/accounts/current/license-key
接下來依照說明進行安裝更新
https://github.com/maxmind/geoipupdate
https://dev.maxmind.com/geoip/geoip2/geolite2/
取得資料後把 GeoLite2-City.mmdb 放在 /etc/graylog/server 裡
接下來到 sysem - configurations
勾選 enable enable 然後 save save 就好了
步驟比之前少了很多
graylog原本有解析出ip的欄位就會多了以下三個欄位
再來就可以利用解析出來的資料畫出以下的圖形了
升到graylog3後有些變化
以下記錄一下
首先是geoip的資料必需要先註冊才能取得
如果要自動更新 需要先產生license key
產生後下載 GeoIP.conf
https://www.maxmind.com/en/accounts/current/license-key
接下來依照說明進行安裝更新
https://github.com/maxmind/geoipupdate
https://dev.maxmind.com/geoip/geoip2/geolite2/
取得資料後把 GeoLite2-City.mmdb 放在 /etc/graylog/server 裡
接下來到 sysem - configurations
勾選 enable enable 然後 save save 就好了
步驟比之前少了很多
graylog原本有解析出ip的欄位就會多了以下三個欄位
再來就可以利用解析出來的資料畫出以下的圖形了
2020/01/08
snort suricata
gryalog 的 extractor
suricata
%{WORD:source} %{WORD:UNWANTED}\[%{DATA:UNWANTED}\]: \[%{DATA:suricata_sig_id}\] %{DATA:suricata_msg} \[Classification\: %{DATA:suricata_classification}\] \[Priority\: %{DATA:suricata_priority}\] \{%{DATA:protocol}\} %{IPV4:src_ip}\:%{DATA:srcport} \-\> %{IPV4:dst_ip}\:%{DATA:dstport}$
snort
\[%{DATA:snort_sig_id}\] %{DATA:snort_msg} \[Classification\: %{DATA:snort_classification}\] \[Priority\: %{DATA:snort_priority}\] \{%{DATA:protocol}\} %{IPV4:src_ip}\:%{DATA:srcport} \-\> %{IPV4:dst_ip}\:%{DATA:dstport}$
gryalog 的 extractor
suricata
%{WORD:source} %{WORD:UNWANTED}\[%{DATA:UNWANTED}\]: \[%{DATA:suricata_sig_id}\] %{DATA:suricata_msg} \[Classification\: %{DATA:suricata_classification}\] \[Priority\: %{DATA:suricata_priority}\] \{%{DATA:protocol}\} %{IPV4:src_ip}\:%{DATA:srcport} \-\> %{IPV4:dst_ip}\:%{DATA:dstport}$
snort
\[%{DATA:snort_sig_id}\] %{DATA:snort_msg} \[Classification\: %{DATA:snort_classification}\] \[Priority\: %{DATA:snort_priority}\] \{%{DATA:protocol}\} %{IPV4:src_ip}\:%{DATA:srcport} \-\> %{IPV4:dst_ip}\:%{DATA:dstport}$
2020/01/04
目前手边還有一台 graylog2 的 ova
因為是 ubuntu 14.04的版本
而且 elasticsearch 也EOL
之前就一直想upgrade
只是一直沒動作
因為有10T的資料
不太可能花時間去搬
目前想保留然後再架一台新的graylog3 ova
graylog2改ip要重跑 graylog-ctl reconfigure
但跑了二次 跑完後就掛了
所以改用另一個方式
在graylog2上起一個output output 把資料送到 graylog3
同時保留二份
然後graylog2再慢慢砍資料
最後把graylog2 關几
把graylog3改成graylog2的ip
graylog3改ip只要重開几就好
不用再其他設定 很方便
找出最舊index並刪除的 shell 如下
#!/bin/bash
i=`/usr/bin/curl -u admin:passwd 'http://10.0.0.1:9200/_cat/indices/graylog*?v'|grep close|awk '{print $2}'|sort -rn -t_ -k 2|tail -n 1`
echo $i
/usr/bin/curl -XDELETE "http://10.0.0.1:9200/$i/"
另外 graylog3 ova 使用的是 ubuntu 18.04
預設的網路設定方式是 netplan
用的實在不順
如果要改回 /etc/network/interfaces
要先安裝 ifupdown
sudo apt install ifupdown
設定好 /etc/network/interfaces
再 rm -rf /etc/netplan/*
重開几即可
因為是 ubuntu 14.04的版本
而且 elasticsearch 也EOL
之前就一直想upgrade
只是一直沒動作
因為有10T的資料
不太可能花時間去搬
目前想保留然後再架一台新的graylog3 ova
graylog2改ip要重跑 graylog-ctl reconfigure
但跑了二次 跑完後就掛了
所以改用另一個方式
在graylog2上起一個output output 把資料送到 graylog3
同時保留二份
然後graylog2再慢慢砍資料
最後把graylog2 關几
把graylog3改成graylog2的ip
graylog3改ip只要重開几就好
不用再其他設定 很方便
找出最舊index並刪除的 shell 如下
#!/bin/bash
i=`/usr/bin/curl -u admin:passwd 'http://10.0.0.1:9200/_cat/indices/graylog*?v'|grep close|awk '{print $2}'|sort -rn -t_ -k 2|tail -n 1`
echo $i
/usr/bin/curl -XDELETE "http://10.0.0.1:9200/$i/"
另外 graylog3 ova 使用的是 ubuntu 18.04
預設的網路設定方式是 netplan
用的實在不順
如果要改回 /etc/network/interfaces
要先安裝 ifupdown
sudo apt install ifupdown
設定好 /etc/network/interfaces
再 rm -rf /etc/netplan/*
重開几即可
2019/11/21
2019/11/01
今天模擬在一台graylog server 三個ES node的環境
然後當有一台ES fail時要怎麼處理
首先我們先看一下目前ES的狀況
有三個node
status也是green
curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
"cluster_name" : "graylog",
"status" : "green",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 11,
"active_shards" : 14,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 0,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 100.0
}
再來看一下目前所有shards的狀況
curl -XGET 192.168.12.203:9200/_cat/shards
gl-events_0 3 p STARTED 0 230b 192.168.12.202 es-node-02
gl-events_0 2 p STARTED 0 230b 192.168.12.201 es-node-1
gl-events_0 1 p STARTED 0 230b 192.168.12.203 es-node-03
gl-events_0 0 p STARTED 0 230b 192.168.12.202 es-node-02
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 p STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 0 r STARTED 1 7kb 192.168.12.203 es-node-03
gl-system-events_0 3 p STARTED 0 230b 192.168.12.203 es-node-03
gl-system-events_0 2 p STARTED 0 230b 192.168.12.202 es-node-02
gl-system-events_0 1 p STARTED 0 230b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 230b 192.168.12.203 es-node-03
我們關掉其中一個ES node 192.168.12.202 模擬故障
查看整個cluster狀況
nodes變成2
status也變為red
curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
"cluster_name" : "graylog",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 2,
"number_of_data_nodes" : 2,
"active_primary_shards" : 8,
"active_shards" : 9,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 5,
"delayed_unassigned_shards" : 5,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 64.28571428571429
}
再來看一下shards的狀況
192.168.12.202這個node己經不見了
而且上面的shards 變成 UNASSIGNED
curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED 0 261b 192.168.12.203 es-node-03
gl-system-events_0 2 p UNASSIGNED
gl-system-events_0 1 p STARTED 0 261b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 261b 192.168.12.203 es-node-03
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 p STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 0 r STARTED 1 7kb 192.168.12.201 es-node-1
gl-events_0 3 p UNASSIGNED
gl-events_0 2 p STARTED 0 261b 192.168.12.201 es-node-1
gl-events_0 1 p STARTED 0 261b 192.168.12.203 es-node-03
gl-events_0 0 p UNASSIGNED
找一台机器重裝ES後並重新加入cluster
先看一下狀況
nodes己經回來變成3了
可是status還是red
curl -XGET http://192.168.12.201:9200/_cluster/health?pretty
{
"cluster_name" : "graylog",
"status" : "red",
"timed_out" : false,
"number_of_nodes" : 3,
"number_of_data_nodes" : 3,
"active_primary_shards" : 8,
"active_shards" : 11,
"relocating_shards" : 0,
"initializing_shards" : 0,
"unassigned_shards" : 3,
"delayed_unassigned_shards" : 0,
"number_of_pending_tasks" : 0,
"number_of_in_flight_fetch" : 0,
"task_max_waiting_in_queue_millis" : 0,
"active_shards_percent_as_number" : 78.57142857142857
}
再來看shards的狀況
還是 UNASSIGNED 並沒有復原
curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED 0 261b 192.168.12.203 es-node-03
gl-system-events_0 2 p UNASSIGNED
gl-system-events_0 1 p STARTED 0 261b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 261b 192.168.12.203 es-node-03
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 p STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 0 r STARTED 1 7kb 192.168.12.201 es-node-1
gl-events_0 3 p UNASSIGNED
gl-events_0 2 p STARTED 0 261b 192.168.12.201 es-node-1
gl-events_0 1 p STARTED 0 261b 192.168.12.203 es-node-03
gl-events_0 0 p UNASSIGNED
查了資料說可以 reroute share
但實作上有問題無法執行
目前試出來的做法是先關掉graylog server
systemctl stop graylog-server.service
接下來把所有的 UNASSIGNED 砍了
curl -XDELETE '192.168.12.201:9200/gl-system-events_0/'
curl -XDELETE '192.168.12.201:9200/gl-events_0'
砍完後再去看shards
curl -XGET 192.168.12.203:9200/_cat/shards
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 0 p STARTED 1 7kb 192.168.12.203 es-node-03
這個是原本的資料檔
而且有設定 Index replicas
重啟graylog server
graylog會把剛剛砍掉的 gl-system-events_0 gl-events_0 建回來
收集的資料是放在 graylog_* 所以不會有影響
再看一次shards
全部都正常了
curl -XGET 192.168.12.203:9200/_cat/shards
gl-system-events_0 3 p STARTED 0 230b 192.168.12.203 es-node-03
gl-system-events_0 2 p STARTED 0 230b 192.168.12.202 es-node-02
gl-system-events_0 1 p STARTED 0 230b 192.168.12.201 es-node-1
gl-system-events_0 0 p STARTED 0 230b 192.168.12.203 es-node-03
graylog_3 2 r STARTED 1 7kb 192.168.12.203 es-node-03
graylog_3 2 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 1 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 1 p STARTED 1 7kb 192.168.12.201 es-node-1
graylog_3 0 r STARTED 1 7kb 192.168.12.202 es-node-02
graylog_3 0 p STARTED 1 7kb 192.168.12.203 es-node-03
gl-events_0 3 p STARTED 0 230b 192.168.12.202 es-node-02
gl-events_0 2 p STARTED 0 230b 192.168.12.201 es-node-1
gl-events_0 1 p STARTED 0 230b 192.168.12.203 es-node-03
gl-events_0 0 p STARTED 0 230b 192.168.12.202 es-node-02
所以記得 Configure Index Set 要設定Index replicas 至少為1
Index shards的數量就根据你ES node的數量來設定
如果ES node 有三個 就設定為3
2019/06/05
2019/05/28
昨天因為要測試 grafana 而到graylog定時撈一些資料
不知道是不是因為量太大
今天graylog出現了一些異常
log如下
2019-05-28T14:46:52.443+08:00 ERROR [IndexRotationThread] Couldn't point deflector to a new index
org.graylog2.indexer.ElasticsearchException: Couldn't collect indices for alias graylog_deflector
[parent] Data too large, data for [<http_request>] would be [727227463/693.5mb], which is larger than the limit of [727213670/693.5mb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=441445/431kb, accounting=726769578/693.1mb]
查到的結果都說是因為 cache的問題
可是依說明修改參數後
並沒有解決問題
我在想是不是indices可能出現問題了
rebuild也沒用
最後rotate後 把之前最近的二個indices close
觀察到目前為止都正常
留下記錄
做為參考
https://blog.csdn.net/hereiskxm/article/details/46744985
不知道是不是因為量太大
今天graylog出現了一些異常
log如下
2019-05-28T14:46:52.443+08:00 ERROR [IndexRotationThread] Couldn't point deflector to a new index
org.graylog2.indexer.ElasticsearchException: Couldn't collect indices for alias graylog_deflector
[parent] Data too large, data for [<http_request>] would be [727227463/693.5mb], which is larger than the limit of [727213670/693.5mb], usages [request=0/0b, fielddata=0/0b, in_flight_requests=441445/431kb, accounting=726769578/693.1mb]
查到的結果都說是因為 cache的問題
可是依說明修改參數後
並沒有解決問題
我在想是不是indices可能出現問題了
rebuild也沒用
最後rotate後 把之前最近的二個indices close
觀察到目前為止都正常
留下記錄
做為參考
https://blog.csdn.net/hereiskxm/article/details/46744985
2019/05/20
這几天開始找時間玩 grafana
做個記錄
安裝基本上沒太大問題
這次是裝在centos 7上
從官網下載rpm回來後
rpm -Uhv --test 出現少了几個package
就補一補
很快就裝好了
由於 grafana 支援相當多的datasource 目前先找了二個來試試
首先是graylog裡的elasticsearch
如果是裝graylog 3的版本
預設elasticsearch只listen在 127.0.0.1 應該是為了安全性的問題
要開放出來
修改 /etc/elasticsearch/elasticsearch.yml
加上
network.host: 0.0.0.0
改好後
systemctl restart elasticsearch.service
接下來在grafana的管理介面上加入 elasticsearch 的datasource
紅色框請特別注意
接下來就可以新增一個 dashboard 並在dashboard加入panel
選擇剛建立的datasource
預設就會顯示所有的筆數
如果需要挑選資料
可以把條件下在 Query
條件的下法跟 graylog 完全一樣
可以在 Metric 選擇要顯示count 最大 最小 或 加總 等等
Alias 設定圖上的圖線說明
訂閱:
文章 (Atom)

