Graylog
日志監(jiān)控系統(tǒng)
Graylog是一個開源的日志聚合、分析、審計、展現(xiàn)和預警工具。功能上和ELK類似,但又比ELK要簡單,依靠著更加簡潔,高效,部署使用簡單的優(yōu)勢很快受到許多人的青睞。本篇文章主要介紹Graylog的安裝部署以及如何使用Graylog收集分析Nginx日志 .....
一、安裝部署
graylog采用單機部署,,采用最小化部署,架構如下
從上圖可以看出大體上包括Elasticsearch、MongoDb和Graylog三部分。
▲ Graylog 提供 graylog 對外接口 ,Web界面,CPU
▲ Elasticsearch 日志文件的持久化存儲和檢索, IO
▲ MongoDB 只是存儲一些 Graylog 的配置
安裝Graylog應用程序需要下面的條件
[CentOS release 6.8 (Final)] Some modern Linux distribution (Debian Linux, Ubuntu Linux, or CentOSrecommended)
[elasticsearch-5.6.9] Elasticsearch 2.3.5 or later
[ mongodb-linux-x86_64-rhel62-3.6.5]MongoDB 2.4 or later (latest stable version is recommended)
[graylog-2.4.4]Oracle Java SE 8 (OpenJDK 8 also works; latest stable update is recommended)
安裝之前需要先關閉selinux,清空iptables規(guī)則和關閉防火墻。準備好了就開始吧~
setenforce 0sed -i"s/SELINUX=enforcing/SELINUX=disabled/g"
/etc/selinux/configiptables -Fservice iptables savesystemctl disabled
firewalldsystemctl stop firewalld
1、先決條件
以最小的服務器設置為基礎將需要這些額外的包:
yum install java-1.8.0-openjdk-headless.x86_64 #安裝java軟件包
yum install epel-release #安裝epel軟件倉庫
yum install pwgen #安裝pwgen生成密碼
2、安裝mongodb
首先創(chuàng)建軟件倉庫文件
/etc/yum.repos.d/mongodb-org.repo
使用以下內(nèi)容添加存儲庫文件
touch /etc/yum.repos.d/mongodb-org.repocat
<< EOF >/etc/yum.repos.d/mongodb-org.repo
[mongodb-org-4.0]name=MongoDB
Repositorybaseurl=https://repo.mongodb.org/yum/RedHat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1 enabled=1gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF
配置完成后,可以通過yum安裝最新版本的MongoDB
yum install mongodb-org
然后配置MongoDB作為服務開機啟動
chkconfig --add mongodsystemctl daemon-reloadsudo
systemctl enable mongod.servicesystemctl start mongod.service
3、安裝Elasticsearch
首先安裝Elastic GPG密鑰,然后添加包含以下內(nèi)容的存儲庫文件中,graylog3.0采用的是elasticsearch6.x版本
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearchtouch/etc/yum.repos.d/elasticsearch.repocat
<< EOF
>/etc/yum.repos.d/elasticsearch.repo[elasticsearch6.x]
name=Elasticsearch repository for 6.x
packagesbaseurl=https://artifacts.elastic.co/packages/oss-6.x/yumgpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearchenabled=1autorefresh=1type=rpm-md
EOF
隨后安裝最新版本。
yum install elasticsearch-oss
修改elasticsearch的配置文件
vim /etc/elasticsearch/elasticsearch.yml
在16行修改cluster.name改為graylog
最后一行添加action.auto_create_index: false
修改配置后,可以啟動Elasticsearch:
chkconfig --add elasticsearchsystemctl daemon-reload
systemctl enable elasticsearch.servicesystemctl restart elasticsearch.service
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密碼 (后續(xù)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-serversystemctl daemon-reload
systemctl enable graylog-server.servicesystemctl start graylog-server.service
然后可以使用瀏覽器登陸 http://ip:9000
默認管理員用戶名:admin
密碼:root_password_sha2配置設定的密碼
登錄成功!Graylog配置搭建完成,接下來就可以把想要監(jiān)控的日志接入進來了。
二、Graylog配置
1、安裝rsyslog 應用 一般操作系統(tǒng)已經(jīng)安裝過不須要重新安裝
yum install rsyslog
2、配置rsyslog 服務端
vi /etc/rsyslog.conf增加相關配置
$ModLoad imuxsock # provides support for local system
logging (e.g. via logger command)$ModLoad imklog # provides kernel logging
support (previously done by rklogd)$ModLoad imudp #開啟支持upd的模塊
$UDPServerRun 514 #允許接收udp 514的端口傳來的日志
ModLoad imtcp #開啟支持tcp的模塊
$InputTCPServerRun 514 #允許接收tcp 514的端口傳來的日志
local5.* /var/log/history.log
vi /etc/bashrc export HISTTIMEFORMAT= "%F %T whoami "
export PROMPT_COMMAND= '{ command=$(history 1 | { read x y; echo $y; });
logger -p local5.notice -t bash -i
"user=$USER,ppid=$PPID,from=$SSH_CLIENT,pwd=$PWD,command:$command"; }'
重啟rsyslog 服務systemctl restart rsyslog
查看服務是否正常啟動
tail -n 200 -f /var/log/history.log
3、安裝部署 graylog-sidecar filebeat 客戶端
wget https://live400-storage.oss-cn-hangzhou.aliyuncs.com/source/filebeat/filebeat-6.6.1-x86_64.rpm
wget https://live400-storage.oss-cn-hangzhou.aliyuncs.com/source/graylog/graylog-sidecar-1.0.0-1.x86_64.rpm
yum localinstall filebeat-6.6.1-x86_64.rpm
yum localinstall graylog-sidecar-1.0.0-1.x86_64.rpm
4、配置graylog-sidecar客戶端,編輯sidecar.yml配置文件,注意修改tags和api的路徑
# list_log_files 參考,配置需要收集日志的文件目錄
# list_log_files:
# - "/var/log"
- "/data/logs/nginx" #本次配置
# - "/data/logs/mysql"
# - "/data/logs/tomcat"
安裝進程服務graylog-sidecar -service install
啟動graylog 日志收集服務
service graylog-sidecar start
三、Graylog前端界面配置
01打開graylog的web界面,配置input來源
(1)點擊“system”--“input”
(2)選擇Input源為Beats,并點擊新建Input源
(3)輸入來源名,名字隨便填寫,這里為方便確認,填寫為nginx,最后點擊Save
(4)配置完成后出現(xiàn)綠色的Running
02配置sidecars
★ 日志源配置完成后開始配置收集日志的collector
★ 后端的collectors啟動的時候會通過graylog的api來匹配自身的tags
★ 匹配tags之后會生成對應的filebeat的配置文件并開始收集日志
(1)點擊“Cystem”--“Sidecars”
(2)點擊右上角“Configuration”進行配置
(3)新建配置,也可以克隆已有的 Nginx 配置,點擊 More actions,選擇 Clone,命名格式:項目-filebeat-nginx
(4)然后點擊 edit,替換 tags 中的項目名稱:tags: ["nginx", "項目"]
(5)搜索剛剛的主機,running狀態(tài)即可
03配置Index Set
(1)新建Index Set。點擊“System”--“Indices”--Create Index Set
注意:Max number of indices的值與剛剛新建配置中l(wèi)ocal后面的數(shù)字對應
04配置streams
(1)新建Streams。點擊“Streams”--Create Stream。關聯(lián)剛剛添加的日志,勾選 Remove matches from ‘All messages’ stream
(2)點擊 Manage Rules--Add Stream Rule,具體配置與剛剛配置參數(shù)里內(nèi)容對應,保存。
img
(3)點擊“Streams”查看,有日志寫入表示日志對接成功。