本文讨论了在Graylog2系统中收集Nginx日志的可能性,以及如何在Grafana中进行展示与分析。
本文的所有的操作都在Debian 9.5 OS上完成配置
Nginx版本:Nginx / 1.15.7
在Debian上安装Graylog2中介绍了安装Graylog2
Graylog2是一个开源系统,用于集中收集,存储和分析服务器上保存的日志。它可以当做 syslog 服务器使,支持 TCP、UDP 协议。另外也支持以 TCP/UDP 方式接收 GELF 格式的日志,这个格式很简单,就是一个 JSON 字符串。Graylog2 把 GELF 格式的日志存入 ElasticSearch 中,另外往 MongoDB 里写入一些统计信息,伊提供了一个 Ruby 写的 Web 应用,可以搜索日志并可视化的显示搜索结果的时间分布。
Graylog2集群有三部分组成,Graylog-server(日志收集、清理、分析)、Mongo DB(用于graylog集群共享配置信息)、ElasticSearch(存储日志)。
Graylog2.4.X只支持ElasticSearch 5,从Graylog2.5.2开始支持ElasticSearch 6,目前的版本为3版本。
基础软件包安装
apt install apt-transport-https openjdk-8-jre-headless uuid-runtime pwgen
安装MongoDB DBMS
apt-get install mongodb-server
安装Elasticsearch
wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | apt-key add -
echo "deb https://artifacts.elastic.co/packages/5.x/apt stable main" | tee -a /etc/apt/sources.list.d/elastic-5.x.list
apt update && apt install elasticsearch
这样就完成了Gaylog正常工作所需的所有软件包。
配置elasticsearch
要配置它,请打开文件:
nano /etc/elasticsearch/elasticsearch.yml
在描述的末尾添加以下行:
cluster.name: graylog
我们配置自动启动并运行elasticsearch:
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
安装Graylog
wget https://packages.graylog2.org/repo/packages/graylog-2.4-repository_latest.deb
dpkg -i graylog-2.4-repository_latest.deb
apt update && apt install graylog-server
Graylog服务器设置:
为了使服务器正常工作,您需要创建两个密钥。一种是使用加密,另一种是用于首次登录Web界面的admin用户的密码
要创建加密密钥,请运行以下命令:
pwgen -N 1 -s 96
将生成的密钥复制到记事本,并在编辑配置文件时使用它。
要为管理员用户创建密码,请运行以下命令:
echo -n password | sha256sum
我们还将把生成的密钥复制到记事本中,并在编辑配置文件时使用它。
编辑server.conf