CentOS7下部署Graylog开源日志管理系统

2020-05-15 17:46:56 浏览数 (1)

Graylog是一个开源的日志聚合、分析、审计、展现和预警工具。

功能上和ELK类似,但又比ELK要简单,依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐

架构图如下

下面介绍在CentOS7下部署Graylog

在安装和启动任何Graylog服务之前

请确保CentOS7下安装和配置以下软件:

1、Java(> = 8)

2、Elasticsearch(5.x或6.x)

3、MongoDB(3.6或4.0)

简单部署架构如下

生产环境高可用部署架构图如下

下面开始Graylog简单部署

1、安装JDK1.8和pwgen

代码语言:javascript复制
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
yum install -y java-1.8.0-openjdk-headless.x86_64
yum install -y pwgen

2、安装MongoDB

代码语言:javascript复制
vi /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

然后yum安装mongodb

代码语言:javascript复制
yum install mongodb-org

由于MongoDB 官方镜像源在国外,yum安装较慢,可以使用阿里云MongoDB源

代码语言:javascript复制
vi /etc/yum.repos.d/mongodb-org.repo
#修改成如下行
[mongodb-org]
name=MongoDB Repository
baseurl=https://mirrors.aliyun.com/mongodb/yum/redhat/$releasever/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc

然后启动mongoDB服务并设为开机自启动

代码语言:javascript复制
systemctl daemon-reload
systemctl enable mongod.service
systemctl start mongod.service
systemctl --type=service --state=active | grep mongod

3、安装Elasticsearch

代码语言:javascript复制
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
代码语言:javascript复制
vi /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
代码语言:javascript复制
yum install elasticsearch-oss

由于Elasticsearch官方源国内访问太慢 可以自行百度下载rpm,直接本地安装

代码语言:javascript复制
rpm -ivh elasticsearch-oss-6.8.8.rpm

systemctl daemon-reload
systemctl enable elasticsearch.service
systemctl restart elasticsearch.service
systemctl --type=service --state=active | grep elasticsearch

修改Elasticsearch配置文件

代码语言:javascript复制
vi /etc/elasticsearch/elasticsearch.yml
#添加如下行
cluster.name: graylog
action.auto_create_index: false

然后重启elasticsearch服务

代码语言:javascript复制
systemctl restart elasticsearch.service

4、安装Graylog

代码语言:javascript复制
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm
yum install graylog-server

如果官方源国内访问太慢,可以用其它工具下载rpm安装包,上传到服务器后,rpm -ivh本地安装

代码语言:javascript复制
rpm -ivh graylog-server-3.2.4-1.noarch.rpm

5、修改Graylog相关配置文件

代码语言:javascript复制
cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf_default

使用pwgen生成password_secret密码

代码语言:javascript复制
pwgen -N 1 -s 96

使用如下命令生成root_password_sha2密码字符串

代码语言:javascript复制
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 并修改如下几项配置

1、admin帐号的时区

2、查询结果高亮

3、http绑定的IP与端口

代码语言:javascript复制
root_timezone = Asia/Shanghai
allow_highlighting = true
http_bind_address = 0.0.0.0:9000

接下来启动graylog-server服务并设为开机自启动

代码语言:javascript复制
systemctl daemon-reload
systemctl enable graylog-server.service
systemctl start graylog-server.service
systemctl --type=service --state=active | grep graylog

6、web登录Graylog及使用Graylog

http://192.168.31.80:9000,默认端口9000

默认用户名为admin,用刚才设置的密码进行登录

1、例如添一个syslog INPUTS

UDP端口用1514

默认syslog 514会出现低于1024的端口号会无法启动的情况,具体原因可以参考官方说明文档

2、添加日志源vi /etc/rsyslog.conf

*.* @192.168.31.80:1514 然后重启rsyslog服务

service rsyslog restart

并尝试触发syslog系统日志

3、在Graylog上Search页面观察有没有收到日志

4、日志关键词搜索

5、Dashboard功能

Graylog的搭建过程就简单介绍到这里,还有很多功能请自行尝试

本文参考文章的链接如下

1.https://testerhome.com/topics/3026?locale=zh-cn

2.https://zhuanlan.zhihu.com/p/78441710

3.https://docs.graylog.org/en/3.2/pages/installation/os/centos.html

0 人点赞