CentOS7 安装Graylog 5.0+卸载GrayLog服务

本文介绍了Graylog作为一款轻量级的日志管理和安全信息及事件管理工具,其与ELK的比较、部署架构、组件(如Elasticsearch、MongoDB)、数据处理流程以及安装和配置步骤,包括添加syslog输入和防火墙设置。

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步骤配置设定的密码

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

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

完成后点击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

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

完成配置后,启动input

卸载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*                                    	#查询残余文件,有就删除
<think>好的,用户想在CentOS 7安装和配置Graylog,我需要根据提供的引用内容来整理步骤。首先,我得确认这些引用中的信息是否适用于CentOS 7。引用1提到的是CentOS 8/RHEL 8,但用户需要的是CentOS 7,不过引用3和引用5提到了CentOS 7的部署,所以可能需要参考这些。 第一步通常是安装依赖项,比如Java、Elasticsearch和MongoDB。用户提供的引用中有提到MongoDB的安装和启动(引用4),所以这部分应该包括进去。安装Java可能需要额外查找,但根据常见做法,应该安装OpenJDK 8,因为Graylog 3.x或4.x需要Java 8或11。 接下来是配置SELinux,引用1提到了配置SELinux,但用户是CentOS 7,可能需要类似的步骤,比如设置为permissive模式。然后安装Graylog服务器,引用2和引用3提到了启动服务的命令,应该整理这部分,包括下载RPM包、安装、配置等。 配置文件中需要设置password_secret和root_password_sha2,用户需要生成这些,可能需要指导他们使用命令生成。网络绑定地址可能需要设置为0.0.0.0以允许外部访问,同时防火墙设置也要注意,引用4中有关于开放端口的命令,比如27017,但Graylog的Web接口通常是9000端口,所以需要开放这个端口。 最后是启动服务,检查状态,可能还需要配置Elasticsearch的索引。用户提供的引用中有启动Graylog服务的命令(systemctl enable和start),需要确保这些步骤正确,并且顺序正确,比如先启动MongoDB和Elasticsearch,再启动Graylog。 可能还需要注意版本兼容性,比如Graylog的版本是否与Elasticsearch和MongoDB兼容。引用中提到的步骤可能没有明确版本,需要用户根据官方文档确认,但根据引用3,CentOS 7的部署可能对应Graylog 3.x或4.x,所以建议用户查看官方文档获取最新兼容版本。 总结步骤应该是:安装依赖项(Java、MongoDB、Elasticsearch)→ 配置SELinux和防火墙 → 安装Graylog → 配置Graylog → 启动服务 → 验证安装。需要确保每个步骤都参考了正确的引用,特别是关于服务启动和防火墙配置的部分。</think>以下是在CentOS 7安装和配置Graylog的详细步骤: ### 一、系统准备 1. **验证系统版本**(引用5) ```bash # getconf LONG_BIT # cat /etc/redhat-release ``` 2. **关闭SELinux**(引用1) ```bash sudo setenforce 0 sudo sed -i 's/^SELINUX=.*/SELINUX=permissive/g' /etc/selinux/config ``` ### 二、安装依赖组件 1. **安装Java环境** ```bash sudo yum install java-1.8.0-openjdk-headless ``` 2. **安装MongoDB 4.4**(引用4) ```bash sudo tee /etc/yum.repos.d/mongodb-org-4.4.repo <<EOF [mongodb-org-4.4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc EOF sudo yum install -y mongodb-org sudo systemctl enable mongod sudo systemctl start mongod ``` 3. **安装Elasticsearch 7.x** ```bash sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF [elasticsearch-7.x] name=Elasticsearch repository for 7.x 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 EOF sudo yum install elasticsearch-oss sudo systemctl enable elasticsearch sudo systemctl start elasticsearch ``` ### 三、安装Graylog(引用2、3) 1. **下载安装包** ```bash sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm sudo yum install graylog-server ``` 2. **生成安全凭证** ```bash # 生成password_secret tr -dc A-Za-z0-9 </dev/urandom | head -c 96 ; echo '' # 生成root_password_sha2(将密码替换为实际密码) echo -n "YourPassword" | sha256sum ``` 3. **修改配置文件** `/etc/graylog/server/server.conf` ```properties password_secret = 上一步生成的96位随机字符串 root_password_sha2 = 上一步生成的SHA256哈希值 http_bind_address = 0.0.0.0:9000 elasticsearch_hosts = http://localhost:9200 ``` ### 四、防火墙配置(引用4) ```bash sudo firewall-cmd --permanent --add-port=9000/tcp sudo firewall-cmd --permanent --add-port=9200/tcp sudo firewall-cmd --reload ``` ### 五、启动服务(引用2、3) ```bash sudo systemctl daemon-reload sudo systemctl enable graylog-server sudo systemctl start graylog-server ``` ### 六、验证安装 访问 `http://服务器IP:9000`,使用`admin`和设置的密码登录。首次登录后需创建输入流和接收器配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值