Graylog2集群有三部分组成,Graylog-server(日志收集、清理、分析)、Mongo DB(用于graylog集群共享配置信息)、ElasticSearch(存储日志)。
Graylog2.4.X只支持ElasticSearch 5,从Graylog2.5.2开始支持ElasticSearch 6,目前最新版本是Graylog3.2.4还没能支持ElasticSearch 7。
这次搭建的Graylog2群集是基于Graylog2.5.2 + Mongo DB 3.6 + ElasticSearch 6来实现的,操作系统为Ubuntu16.04。
环境:Ubuntu 16.04 x64
主机列表:
10.0.0.11 graylog01.server.local
10.0.0.12 graylog02.server.local
10.0.0.13 graylog03.server.local
应用分布:
10.0.0.11 Graylog-server(master) 2.5.2、MongoDB 3.6、ElasticSearch 6.8
10.0.0.12 Graylog-server 2.5.2、MongoDB 3.6、ElasticSearch 6.8
10.0.0.13 Graylog-server 2.5.2、MongoDB 3.6、ElasticSearch 6.8
1、安装Mongo DB集群(副本集)
(1)所有主机执行以下脚本进行安装并启动
#!/bin/bash
(2)登陆10.0.0.11执行以下命令,加入主、从、仲裁三节点,创建集群:
27017
(3)创建graylog数据库:
#创建数据库:
注意要在主节添加
rs0:PRIMARY>
use graylog
2、安装ElasticSearch集群:
(1)所有主机上安装JDK并运行此脚本:
#!/bin/bash
(2)修改内存配置:
sudo vi /etc/elasticsearch/jvm.options
-Xms4g
-Xmx4g
#设置成内存的一半
#查看ES节点状态:
curl
(3)所有主机上启动elasticsearch服务
sudo service elasticsearch start
3、安装graylog群集:
(1)在每个主机上运行以下脚本进行安装:
#!/bin/bash
(2)生成网站登录密码:
sudo apt-get install -y apt-transport-https uuid-runtime pwgen
获取password_secret执行:
pwgen -N 1 -s 96
获取root_password_sha2执行:
echo -n yourpassword | sha256sum
(3)将上边生成的password_secret和root_password_sha2值加入到graylog的配置文件里:
vim /etc/graylog/server/server.conf
password_secret = (pwgen -N 1 -s 96 执行结果)
root_password_sha2 = (echo -n yourpassword | sha256sum 执行结果)
(4)设置graylog集群的一个节点为master,登陆10.0.0.11修改配置文件:
vim /etc/graylog/server/server.conf
is_master = true
(5)在各个主机上启动graylog服务:
sudo systemctl start graylog-server.service
(6)查看以下9000端口的服务是否已经启动:
[root@graylog ~]# netstat -nlptu|grep 9000
tcp6 0 0 :::9000 :::* LISTEN 20970/java
(7)登陆网站显示如下:
http://10.0.0.11:9000/
4、通过haproxy或者nginx访问graylog
(1)haproxy 1.6配置:
frontend graylog_http
(2)nginx配置:
server
参考文章:https://docs.graylog.org/en/2.5/index.html