Graylog收集Nginx日志

Graylog

日志監(jiān)控系統(tǒng)

Graylog是一個開源的日志聚合、分析、審計、展現(xiàn)和預警工具。功能上和ELK類似,但又比ELK要簡單,依靠著更加簡潔,高效,部署使用簡單的優(yōu)勢很快受到許多人的青睞。本篇文章主要介紹Graylog的安裝部署以及如何使用Graylog收集分析Nginx日志 .....

一、安裝部署

graylog采用單機部署,,采用最小化部署,架構如下

img

\color{gray}{\small\mathbf{基礎架構}}

img

\color{gray}{\small\mathbf{集群部署}}

從上圖可以看出大體上包括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

img

最后一行添加action.auto_create_index: false

img

修改配置后,可以啟動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行

img

然后修改web登陸接口,在104行,按照如下配置,默認端口9000,可以修改

img

完成修改后保存,然后啟動graylog

chkconfig --add graylog-serversystemctl daemon-reload 
systemctl enable graylog-server.servicesystemctl start graylog-server.service

然后可以使用瀏覽器登陸 http://ip:9000

默認管理員用戶名:admin

密碼:root_password_sha2配置設定的密碼

img

登錄成功!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的路徑

img
# 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”

img

(2)選擇Input源為Beats,并點擊新建Input源

img

(3)輸入來源名,名字隨便填寫,這里為方便確認,填寫為nginx,最后點擊Save

img

(4)配置完成后出現(xiàn)綠色的Running

img
02配置sidecars

★ 日志源配置完成后開始配置收集日志的collector

★ 后端的collectors啟動的時候會通過graylog的api來匹配自身的tags

★ 匹配tags之后會生成對應的filebeat的配置文件并開始收集日志

(1)點擊“Cystem”--“Sidecars”

img

(2)點擊右上角“Configuration”進行配置

img

(3)新建配置,也可以克隆已有的 Nginx 配置,點擊 More actions,選擇 Clone,命名格式:項目-filebeat-nginx

img

(4)然后點擊 edit,替換 tags 中的項目名稱:tags: ["nginx", "項目"]

img

(5)搜索剛剛的主機,running狀態(tài)即可

img
03配置Index Set

(1)新建Index Set。點擊“System”--“Indices”--Create Index Set

注意:Max number of indices的值與剛剛新建配置中l(wèi)ocal后面的數(shù)字對應

img
img
04配置streams

(1)新建Streams。點擊“Streams”--Create Stream。關聯(lián)剛剛添加的日志,勾選 Remove matches from ‘All messages’ stream

img

(2)點擊 Manage Rules--Add Stream Rule,具體配置與剛剛配置參數(shù)里內(nèi)容對應,保存。

img
img

(3)點擊“Streams”查看,有日志寫入表示日志對接成功。

?著作權歸作者所有,轉載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容