Graylog是一款優(yōu)秀的日志收集分析軟件,區(qū)別于ELK,它更加簡潔,高效,部署使用更加簡單。官方網(wǎng)址https://www.graylog.org/,安裝手冊參考http://docs.graylog.org/en/3.0/pages/installation.html
一、安裝部署
graylog采用單機部署,,采用最小化部署,架構如下
組件介紹 :
-
Graylog 提供 graylog 對外接口 ,Web界面, CPU
-
Elasticsearch 日志文件的持久化存儲和檢索, IO
-
MongoDB 只是存儲一些 Graylog 的配置
安裝前準備,采用虛擬機,操作系統(tǒng)CentOS7 ,內(nèi)存4G,硬盤100G,安裝之前需要關閉selinux,清空iptables規(guī)則和關閉防火墻
setenforce 0 sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config iptables -F service iptables save systemctl disabled firewalld systemctl stop firewalld
1.1先決條件
以最小的服務器設置為基礎將需要這些額外的包:
yum install java-1.8.0-openjdk-headless.x86_64 #安裝java軟件包 yum install epel-release #安裝epel軟件倉庫 yum install pwgen #安裝pwgen生成密
1.2 安裝mongodb
首先創(chuàng)建軟件倉庫文件/etc/yum.repos.d/mongodb-org.repo使用以下內(nèi)容添加存儲庫文件
touch /etc/yum.repos.d/mongodb-org.repo cat << EOF >/etc/yum.repos.d/mongodb-org.repo [mongodb-org-4.0] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/4.0/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc EOF
配置完成后,可以通過yum安裝最新版本的MongoDB
yum install mongodb-org
然后配置MongoDB作為服務開機啟動
chkconfig --add mongod systemctl daemon-reload sudo systemctl enable mongod.service systemctl start mongod.service
1.3安裝Elasticsearch
首先安裝Elastic GPG密鑰,然后添加包含以下內(nèi)容的存儲庫文件中,graylog3.0采用的是elasticsearch6.x版本
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch touch /etc/yum.repos.d/elasticsearch.repo cat << EOF >/etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
隨后安裝最新版本。
yum install elasticsearch-oss
修改elasticsearch的配置文件,/etc/elasticsearch/elasticsearch.yml,將cluster.name修改為graylog,然后在配置文件中最后一樣添加action.auto_create_index: false
vim /etc/elasticsearch/elasticsearch.yml
在16后行修改cluster.name
最后一行添加action.auto_create_index: false
修改配置后,可以啟動Elasticsearch:
chkconfig --add elasticsearch systemctl daemon-reload systemctl enable elasticsearch.service systemctl restart elasticsearch.service
1.4安裝graylog
現(xiàn)在使用以下命令安裝Graylog存儲庫配置和Graylog本身:
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.0-repository_latest.rpm yum install graylog-server
安裝完成后,首先生成生成password_secret密碼
pwgen -N 1 -s 96
生成root_password_sha2密碼 (Web登錄密碼)
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d 'n' | sha256sum | cut -d" " -f1
然后將生成的password_secret密碼和root_password_sha2密碼字符串,添加到配置文件/etc/graylog/server/server.conf中,分別在55行和66行
然后修改web登陸接口,在104行,按照如下配置,默認端口9000,可以修改
完成修改后保存,然后啟動graylog
chkconfig --add graylog-server systemctl daemon-reload systemctl enable graylog-server.service systemctl start graylog-server.service
然后可以使用瀏覽器登陸 http://ip:9000
默認管理員用戶名admin,密碼為root_password_sha2配置設定的密碼
目前graylog沒有中文版
二、初始配置以及收集網(wǎng)絡設備日志
完成配置登陸后,依照初始向?qū)Э梢粤私獬跏寂渲霉ぷ?/span>
2.1 添加udp協(xié)議為收集網(wǎng)絡設備日志
網(wǎng)絡設備使用syslog協(xié)議的udp514端口進行發(fā)送日志,但是在 graylog中和大部分linux操作系統(tǒng)中,1024以下的端口都是屬于特權端口,不允許直接使用,所以要配置iptables規(guī)則下iptables規(guī)則重定向流量
iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to 1514 iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to 1514 service iptables save
這樣配置后,需要將1514端口定向到greylog的514端口上,方可以正常收集syslog協(xié)議
首先在“system”中勾選input
因為網(wǎng)絡設備的使用syslog協(xié)議傳輸日志,使用udp514,在Inputs中選擇“Syslog UDP”
完成后??點擊launch new input進行下一步編輯
說明:
1、勾選global,代表全局,單服務器部署
2、bind address保持0.0.0.0默認,代表收集任何ip地址的日志
3、port 為1514,一般網(wǎng)絡設備的 syslog默認配置為514,完成iptables重定向到1514定向到514,linux特權端口問題
完成配置后,啟動input
在完成網(wǎng)絡設備日志服務器配置后,例如防火墻
可以在graylog中看到收到的日志信息,點擊”show received message “
可以看到收集到的日志信息
2.2添加steam
日志收集到后,需要配置steam進行分析和篩選,在steam中創(chuàng)建steam
創(chuàng)建完成后,進行配置,點擊manage rules進行配置
按照如下進行配置
說明:
1、type 選擇contain代表包含字段信息
2、vlaue代表字段,這里選擇error
3、這個stream rule 的意思時收集日志時,篩選過濾出來包含error字段的信息
然后點擊保存,保存steam這條rule,當然,一個steam有多個rule,rule規(guī)則可以使用強大的正則表方式,這些rule的表達式都是用java寫的
注意:時區(qū)問題
在graylog配置文件中,需要修改時區(qū),不然graylog時間戳問題會有問題
vim /etc/graylog/server/server.conf #在74行下添加 root_timezone = Asia/Shanghai
思考:
graylog的功能很強大,還有告警和儀表盤等功能,要學會使用,需要一段時間