CentOS7 安装Graylog 5.0+卸载GrayLog服务

Graylog Documentation

对于日志监控业界常用的有ELK、Loki、Graylog等系统,最近在做技术选型时,对比了各个系统的情况,Graylog的一体化方案很符合现有需求。Graylog算是轻量级的ELK,也有很多企业在使用Graylog查看日志和监控业务日志。Graylog中文资料相对较少,在技术选型和开发过程中对资料进行整理。Graylog包含了告警、归档(商业版)、面板、日志查看、Rest API、组管理等功能。本文主要介绍Graylog的相关组件和基本流程。

Graylog简介

Graylog: Industry Leading Log Management & SIEM

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

在功能上来说,和 ELK 类似,但又比 ELK 要简单很多。依靠着更加简洁,高效,部署使用简单的优势很快受到许多人的青睐。当然,在扩展性上面确实没有比 ELK 好,但是其有商业版本可以选择。

Graylog-工作流程

部署 graylog 最简单的架构就是单机部署,复杂的也是部署集群模式,架构图示如下所示。我们可以看到其中包含了三个组件,分别是 Elasticsearch、MongoDb 和 Graylog。

其中,Elasticsearch 用来持久化存储和检索日志文件数据(IO 密集),MongoDb 用来存储关于 Graylog 的相关配置信息,而 Graylog 来提供 Web 界面和对外接口(CPU 密集)。

数据处理流程:

日志消息通过各种Input输入到Graylog中进行处理;

可以通过Extractors进行正则、Json等形式解析;

通过Streams进行规则匹配分流,对Stream可以配置Pipeline进行数据过滤,最终数据会到到不同的index中;

根据新建index时配置的策略,在elasticsearch的索引中;

告警(Alert)基于Stream进行设置。

正式安装

官方安装文档https://docs.graylog.org/v1/docs/centos

初始配置

关闭防火墙

systemctl stop firewalld
systemctl disable firewalld

 关闭selinux

setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

 安装jdk

sudo yum -y install java-1.8.0-openjdk-headless.x86_64

 安装epel-release

sudo yum -y install epel-release

 安装pwgen

sudo yum -y install pwgen

安装重要组件

安装MongoDB

Graylog 5.0与MongoDB 5.x-6.x兼容

配置MongoDB YUM源

vim /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

sudo yum -y install mongodb-org

 设置开机自启、启动MongoDB

sudo systemctl daemon-reload
sudo systemctl enable mongod.service
sudo systemctl start mongod.service
sudo systemctl --type=service --state=active | grep mongod

 安装Elasticsearch

Elasticsearch 7.10.2是唯一与Graylog 5.0兼容的版本

首先,安装 Elasticsearch GPG 密钥:

rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch

 配置Elasticsearch YUM源

vim /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 7.10.2版本

sudo yum -y install elasticsearch-oss

 安装完毕需要修改Elasticsearch 7.10.2 配置文件

vim /etc/elasticsearch/elasticsearch.yml

 在 elasticsearch.yml 文件末尾追加 内容

cluster.name: graylog
action.auto_create_index: false

 设置开机自启、并启动Elasticsearch

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

 安装Graylog

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-5.0-repository_latest.rpm
sudo yum install graylog-server

 安装完成后,首先生成password_secret密码
牢记这个随机生成的秘钥,最好复制保存下来

是一串加密后的密钥,后续要写进配置文件中的

pwgen -N 1 -s 96

 生成root_password_sha2 密码(修改图中 "yourpassword" 为你自己定义的密码)(同样是一串加密后的密钥,也是要写进配置文件的)

echo -n yourpassword | sha256sum

生成密码的时候不能把这个 - 复制进配置文件里,不然登录的时候报错密码有问题

 编辑Graylog配置文件

vim /etc/graylog/server/server.conf

 修改以下几项(下面需要修改的几组数据,有些前面有 # 的记得把前面的 # 删掉)

#秘钥
#上文中生成的两串密钥,填写在参数后面即可
password_secret = (这里写最上面生成的那串密钥)
root_password_sha2 = (这里写密码的那串密钥,那个 - 横杠不要复制进来)

#时区
root_timezone = PRC

#elasticsearch相关设置
elasticsearch_hosts = http://127.0.0.1:9200
elasticsearch_shards =1 
elasticsearch_replicas = 0

#数据库连接设置
mongodb_uri = mongodb://localhost/graylog

#网络相关设置
http_bind_address = 0.0.0.0:9000

 设置开机自启、并启动Graylog

sudo systemctl daemon-reload
sudo systemctl enable graylog-server.service
sudo systemctl start graylog-server.service
sudo systemctl --type=service --state=active | grep graylog

安装结束

至此,安装结束,接下来就是web界面的操作

Web简单应用

 登录

http://ip:9000

默认管理员用户名admin,密码为root_password_sha2步骤配置设定的密码

CentOS7 安装Graylog 5.0+卸载GrayLog服务_第1张图片

新增日志收集输入任务,首先在“system"中勾选input

CentOS7 安装Graylog 5.0+卸载GrayLog服务_第2张图片

因为网络设备的使用syslog协议传输日志,使用udp514,在Inputs中选择“Syslog UDP"

CentOS7 安装Graylog 5.0+卸载GrayLog服务_第3张图片

完成后点击launch new input进行下一步编辑

1、勾选global,代表全局,单服务器部署
2、bind address保持0.0.0.0默认,代表收集任何ip地址的日志
3、port 为1514,一般网络设备的 syslog默认配置为514,完成iptables重定向到1514定向到514,linux特权端口问题

iptables -t nat -A PREROUTING -p tcp --dport 514 -j REDIRECT --to 1514
iptables -t nat -A PREROUTING -p udp --dport 514 -j REDIRECT --to 1514
service iptables save

修改图中标注参数,其他保持默认即可

CentOS7 安装Graylog 5.0+卸载GrayLog服务_第4张图片

完成配置后,启动input

CentOS7 安装Graylog 5.0+卸载GrayLog服务_第5张图片

卸载GrayLog服务

systemctl stop graylog                                   #停止服务
rpm -qa | grep graylog                                  #显示已安装包
rpm -e --nodeps $(rpm -qa | grep graylog)               #卸载包
rpm -qa | grep graylog                                  #检查卸载
rm -rf /etc/graylog/server/server.conf                  #删除配置文件
find / -name graylog*                                   #查询残余文件,有就删除
systemctl stop elasticsearch                            #停止服务
rpm -qa | grep elasticsearch                            #显示已安装包
rpm -e --nodeps $(rpm -qa | elasticsearch)              #卸载包
rpm -qa | grep elasticsearch                            #检查卸载
rm -rf /etc/elasticsearch/elasticsearch.yml             #删除配置文件
find / -name elasticsearch*                             #查询残余文件,有就删除
systemctl stop  mongod                                  #停止服务
rpm -qa | grep  mongod                                  #显示已安装包
rpm -e --nodeps $(rpm -qa | mongod)              				#卸载包
rpm -qa | grep  mongod                                  #检查卸载
rm -rf /var/log/mongodb/mongod.log                      #删除配置文件
find / -name mongo*                                    	#查询残余文件,有就删除

你可能感兴趣的:(graylog,安全,运维,linux,centos)