CentOS7.9 系统安装与配置Graylog 5.2+日志管理工具
-
Graylog 是一个开源的日志聚合、分析、审计、展现和预警工具。在功能上来说,和 ELK 类似,但又比 ELK 要简单很多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。当然,在扩展性上面确实没有ELK好,但是其有商业版本可以选择。
-
部署 graylog 最简单的架构就是单机部署,复杂的也是部署集群模式,架构图如下所示。我们可以看到其中包含了三个组件,分别是 Elasticsearch、MongoDb 和 Graylog。其中,Elasticsearch 用来持久化存储和检索日志文件数据(IO 密集),MongoDb 用来存储关于 Graylog 的相关配置。 而Graylog 来提供 Web 界面和对外接口的(CPU 密集)。
Graylog官网安装文档:https://go2docs.graylog.org/5-2/downloading_and_installing_graylog/red_hat_installation.htm
1. 安装环境
CentOS版本:7.9 64位
OpenJDK ( > 17 )
pwgen:密码生成
MongoDB (5.x or 6.x):用来存储关于 Graylog 的相关配置
Elasticsearch (6.x or 7.x):Elasticsearch 用来持久化存储和检索日志文件数据
Graylog 5.2+
2. 安装及配置
2.1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
2.2. 关闭Selinux
vi /etc/selinux/config
将SELINUX=enforcing 修改为SELINUX=disable
2.3.安装依赖epel-release、 jdk、pwgen
yum -y install epel-release java pwgen
2.4.安装MongoDB
- 配置MongoDB Yum源
vi /etc/yum.repos.d/mongodb-org.repo
添加以下内容:
[mongodb-org-6.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/6.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-6.0.asc
- 安装MongoDB
yum -y install mongodb-org
- 配置开机启动,并启动和查看MongoBD状态
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
systemctl status mongod.service
2.5.安装Elasticsearch
- 首先,安装 Elasticsearch GPG 密钥:
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
- 配置Elasticsearch Yum源
vi /etc/yum.repos.d/elasticsearch.repo
添加以下内容:
[elasticsearch-7.10.2]
name=Elasticsearch repository for 7.10.2 packages
baseurl=https://artifacts.elastic.co/packages/oss-7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
- 安装elasticsearch
yum -y install elasticsearch-oss
- 安装之后,编辑vi /etc/elasticsearch/elasticsearch.yml,修改以下内容:
cluster.name: graylog #去掉前面#,并修改cluster.name改为graylog
action.auto_create_index: false #添加到最后一行
- 配置开机启动,并启动elasticsearch
systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl start elasticsearch.service
2.6.安装Graylog
- 配置与安装Graylog
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.rpm
yum -y 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
如下图所示:
然后编辑 /etc/graylog/server/server.conf,将上面生成password_secret和root_password_sha2写入配置文件,并将以下内容添加到最后一行
root_timezone = Asia/Shanghai
http_bind_address = 0.0.0.0:9000
web_listen_uri = http://0.0.0.0:9000/
rest_listen_uri = http://0.0.0.0:12900/
rest_transport_uri = http://192.168.1.35:12900/
elasticsearch_cluster_name = graylog
elasticsearch_shards = 1
elasticsearch_replicas = 0
mongodb_useauth = false
- 配置开机启动,并启动graylog
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service
- 查看graylog日志文件,获取初始化密码,如下图所示:
[root@localhost ~]# cd /var/log/graylog-server/
[root@localhost graylog-server]# tail -f server.log
-
在浏览器输入http://192.168.1.35:9000/,默认登录用户名:admin,密码(日志中获取):GUmxkAJvlQ,进行初始化配置工作,如下图:
-
初始化完成之后,进入系统登录界面,默认登录用户名:admin,密码为生成root_password_sha2设置的密码
登录成功首页显示如下:
3.导入日志任务(以收集网络设备日志为例)
- 在System中选择Inputs,因网络设备的使用syslog协议传输日志,使用udp514,在Inputs中选择“Syslog UDP"
- 完成之后点击Launch new input进行下一步编辑
- 勾选global,代表全局,单服务器部署
- bind address保持0.0.0.0默认,代表收集任何ip地址的日志
- 一般网络设备的 syslog默认配置端口为514
- 时区改为Asia/Shanghai
配置完成如下图所示: