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