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
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
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
yum install mongodb-org
由于MongoDB 官方镜像源在国外,yum安装较慢,可以使用阿里云MongoDB源
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服务并设为开机自启动
systemctl daemon-reload systemctl enable mongod.service systemctl start mongod.service systemctl --type=service --state=active | grep mongod
3、安装Elasticsearch
rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
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
yum install elasticsearch-oss
由于Elasticsearch官方源国内访问太慢 可以自行百度下载rpm,直接本地安装
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配置文件
vi /etc/elasticsearch/elasticsearch.yml #添加如下行 cluster.name: graylog action.auto_create_index: false
然后重启elasticsearch服务
systemctl restart elasticsearch.service
4、安装Graylog
rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.2-repository_latest.rpm yum install graylog-server
如果官方源国内访问太慢,可以用其它工具下载rpm安装包,上传到服务器后,rpm -ivh本地安装
rpm -ivh graylog-server-3.2.4-1.noarch.rpm
5、修改Graylog相关配置文件
cp /etc/graylog/server/server.conf /etc/graylog/server/server.conf_default
使用pwgen生成password_secret密码
pwgen -N 1 -s 96
使用如下命令生成root_password_sha2密码字符串
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与端口
root_timezone = Asia/Shanghai allow_highlighting = true http_bind_address = 0.0.0.0:9000
接下来启动graylog-server服务并设为开机自启动
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的搭建过程就简单介绍到这里,还有很多功能请自行尝试