graylog 2.3.2 日誌系統安裝指南

  • Java (>= 8)

  • MongoDB 3.2

  • Elasticsearch 2.X

  • graylog 2.3.2

  • IP 192.168.0.210

  • centos 7.x

  • IP 192.168.0.210 (單機測試)

 

 

結構:mongodb + elasticsearch + graylog + nxlog + collector_sidecar

 

mongodb:存儲元數據,一般安裝好後不用其他設置

elasticsearch:存儲日誌

graylog:web界面,負責接收用戶輸入數據,展示elasticsearch裏的數據

nxlog ,collector_sidecar:日誌收集,傳送

 

 

jdk請自行安裝,這裏不再說明,可在下面地址下載相關版本:

 

http://mirror.cnop.net/jdk/

1.安裝mongodb(這裏以3.2爲例)

 

vim  /etc/yum.repos.d/mongodb-org-3.2.repo    #添加yum源

 

[mongodb-org-3.2]

name=MongoDB Repository

baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.2/x86_64/

gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-3.2.asc

 

 

 yum install mongodb-org


 

添加系統服務及啓動                    

                         chkconfig --add mongod

                         systemctl daemon-reload

                         /sbin/chkconfig  mongod on

                         systemctl start mongod.service

                    注意:這裏沒有進行mongodb的相關配置包括graylog連接

                    的配置,graylog啓動時會自行創建相關數據

 

 

2.elasticsearch安裝

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch

vim /etc/yum.repos.d/elasticsearch.repo #加入以下

 

[elasticsearch-2.x]

name=Elasticsearch repository for 2.x packages

baseurl=https://packages.elastic.co/elasticsearch/2.x/centos

gpgcheck=1

gpgkey=https://packages.elastic.co/GPG-KEY-elasticsearch

enabled=1

 

yum install -y elasticsearch
 

vim  /etc/elasticsearch/elasticsearch.yml
#修改成自己的信息,切記去除註釋後的內容前面不要有空格,不然可能會啓動失敗


cluster.name: graylog   
# elasticsearch集羣名稱,若有多個集羣,可根據此屬性區分。

 

node.name: node-210 #集羣節點名稱,elasticsearch啓動時會自動創建,也可手動配置
 

network.host: 192.168.0.210    #設置綁定的ip地址
 

http.port: 9200        #設置對外服務的Http端口,默認是9200
 

discovery.zen.ping.unicast.hosts: ["192.168.0.210"]     
#設置集羣中master集羣初始化列表,這個數組裏的機器將被自動發現加入集羣,多個用逗號隔開                    

 

添加至系統服務及啓動:                      

                         chkconfig --add elasticsearch

                         systemctl daemon-reload

                         systemctl enable elasticsearch.service

                         systemctl restart elasticsearch.service

 

 

3.graylog安裝(web界面)

$ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-2.3-repository_latest.rpm
#獲取最新版本

$ sudo yum install -y graylog-server pwgen
#安裝最新版本,pwgen用於密碼加密生成

 

 

配置

vi /etc/graylog/server/server.conf
#配置graylog,修改以下幾個地方,其他地方保持默認,也可根據實際情況進行設置

 

password_secret =ZOauN2D9OknUXUDJbj4Lebb9zPB0SYfgcLELyo7r3yJK5r6Ep6CFfLco4hPy0tc3QEgYIDUP2RZcXdlCpZm43PvuIIyFuWPS             

# 對密碼進行加鹽處理(就是密碼加鹽也就是密碼後面加上很長的一串字符串再進行加密),如 md5(md5(password)+salt)和SHA512(SHA512(password)+salt) 方式這裏使用pwgen隨機生成密碼:pwgen -N 1 -s 96

 

root_username = admin #登陸web界面用戶名,這裏去除前面註釋

root_password_sha2 =8d969eef6ecad3c29a3a629280e686cf0c3f5d5a86aff3ca12020c923adc6c92
#設置登陸web密碼,使用 sha256sum進行加密,可使用 echo -n 123456 | sha256sum 命令在系統中生成,這裏以123456爲例說明。

 

加載中...

root_timezone = +08:00         #設置時區
 

rest_listen_uri = http://192.168.0.210:9000/api/ #地址更改成自己的ip,這裏以192.168.0.210爲例,用於接受Graylog Collector Sidecar發送的心跳信息,collectors也可以訪問次uri
 

rest_transport_uri = http://192.168.0.210:9000/api/


web_listen_uri = http://192.168.0.210:9000/        # graylog-web訪問地址


elasticsearch_hosts = http://192.168.0.210:9200 #elasticsearch地址,用於接入elasticsearch引擎


allow_leading_wildcard_searches = true #模糊通配,建議打開,不過比較消耗內存。


allow_highlighting = true       #(運行查詢結果高亮) elasticsearch_shards = 1 (當前只安裝了一個elasticsearch)


elasticsearch_cluster_name = graylog     #必須與elasticsearch設置相同


mongodb_uri = mongodb://localhost/graylog              # MongoDB服務器身份驗證,使用默認即可,這裏不需要像mysql一樣導入表,只存儲原數據



 

$ sudo systemctl start graylog-server

$ sudo systemctl enable graylog-server

 

添加防火牆:

firewall-cmd --zone=public --add-port=9000/tcp --permanent

systemctl restart firewalld.service

 

 

4.Collector端與nxlog的部署

 

nxlog:

yum -y install libdbi #要求爲 libdbi >= 0.8.1

wget http://mirror.cnop.net/nxlog/linux/nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

rpm -ivh nxlog-ce-2.9.1716-1_rhel7.x86_64.rpm

gpasswd -a nxlog root

chown -R nxlog.nxlog /var/spool/collector-sidecar/nxlog          

 

 

vim /etc/nxlog.conf #注意,本處定義log文件nxlog必須有讀權限,不然後面可能查詢不到日誌信息
 

########################################

# Modules #

########################################

<Extension gelf>

Module xm_gelf

</Extension>

 

<Input in>

Module im_file

File "/var/log/messages"

</Input>

<Output out>

Module om_udp

Host 192.168.0.210

Port 12201

OutputType GELF

</Output>

 

########################################

# Routes #

########################################

<Route r>

Path in => out

</Route>


以上代碼這裏截個圖,以防顯示不全:


systemctl restart nxlog

 

 

Collector :Graylog Collector Sidecar是一種用於採集日誌的輕量級配置管理系統,也稱爲後端,作爲守護進程運行。

wget http://mirror.cnop.net/Graylog/collector-sidecar/collector-sidecar-0.1.4-1.x86_64.rpm

或去官方下載最新:

https://github.com/Graylog2/collector-sidecar/releases

 

$ sudo rpm -ivh collector-sidecar-0.1.4-1.x86_64.rpm

$ sudo graylog-collector-sidecar -service install $ sudo systemctl start collector-sidecar

 

vim /etc/graylog/collector-sidecar/collector_sidecar.yml   #根據情況修改

 

server_url: http://192.168.0.210:9000/api/

update_interval: 10

tls_skip_verify: false

send_status: true

list_log_files:

node_id: graylog-collector-sidecar #多臺機器請修改成不同id

collector_id: file:/etc/graylog/collector-sidecar/collector-id

cache_path: /var/cache/graylog/collector-sidecar

log_path: /var/log/graylog/collector-sidecar

log_rotation_time: 86400

log_max_age: 604800

tags:

- nginx

backends:

- name: nxlog

enabled: true

binary_path: /usr/bin/nxlog

configuration_path: /etc/graylog/collector-sidecar/generated/nxlog.conf

 

 

systemctl restart collector-sidecar          

systemctl enable collector-sidecar

systemctl restart nxlog

/sbin/chkconfig nxlog on      

 

 

參考:http://docs.graylog.org/en/2.3/pages/collector_sidecar.html

 

 

 

 

 

5.web訪問:

http://192.168.0.210:9000

加載中...

點擊 System ->Collectors

加載中...


 

點擊 Create configuration

 

加載中...


這裏任意輸入一個名稱,這裏以test爲例:

加載中...

點擊名稱"test",進入配置界面:

加載中...


設置output和input相關信息,與nxlog的配置文件相同:
 

加載中...


點擊右側 Create Output ,選擇相關Type和名字,ip,端口等信息,
 

加載中...

 

點擊右側 Create Input:

Type [NXLog] file input

Path to Logfile /var/log/messages

加載中...

重啓客戶端的collector-sidecar:

systemctl restart collector-sidecar

 

 

 

設置web接收日誌:

system->inputs->Launch new input
 

加載中...

 

選擇主機節點

設置標題

設置ip

設置端口(默認)

 

加載中...


graylog web查看Collectors 是否運行正常:

http://192.168.0.210:9000/system/collectors


 

加載中...

可手動 echo 推送一條數據到被監控的日誌文件中,最後回到主界面查看日誌:

加載中...

 

 

 

 

其他常見:

 

nxlog日誌查看:

tail -f /var/log/graylog/collector-sidecar/nxlog.log

 

錯誤::

加載中...

 

原因,請確定 elasticsearch 是否起來。


經上牽扯到代碼部分本網頁可能部分不能完全顯示,請參考附件:

http://www.cnop.net/uploadfile/2017/1129/20171129044810559.pdf
http://www.cnop.net/uploadfile/2017/1129/20171129050325594.docx

參考:

http://docs.graylog.org/en/2.3/

http://cocojoey.lofter.com/post/1eff2f40_10a6d448

https://www.cnblogs.com/wsl222000/p/6041835.html



轉載請註明出處:

http://www.cnop.net/html/2017/graylog_1129/5005.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章