Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务

Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务

  • 概述
  • Graylog简介
  • Graylog-工作流程
  • 开始正式安装
    • 初始配置
    • 安装重要组件
      • 安装MongoDB
      • 安装Elasticsearch
      • 安装Graylog
    • 安装结束
    • 收集交换机日志信息
    • 卸载GrayLog服务

概述

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

官方:https://docs.graylog.org/

Graylog简介

Graylog 开源版官网: https://www.graylog.org/
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.

初始配置

  1. 关闭防火墙
systemctl stop firewalld
systemctl disable firewalld
  1. 关闭selinux
setenforce 0
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
  1. 安装jdk
    注意:安装Graylog 5.0 可以跳过此步骤,OpenJDK 17嵌入在 Graylog 5.0 中,不需要单独安装
sudo yum -y install java-1.8.0-openjdk-headless.x86_64
  1. 安装epel-release
sudo yum -y install epel-release
  1. 安装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

以下是我随机生成的,示例,不要使用
6Z06fZHU2DwuOf9X8fhnvphCd3OM7oqwLECRRcejvjpieSvVtwu08yHYHIKDi56bAxRvtCOZ3xKKiBqyt00XYCgVa0oETB0L

生成root_password_sha2 密码

echo -n yourpassword | sha256sum

修改图中yourpassword为你自己定义的密码
牢记生成的密钥

编辑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界面的操作

收集交换机日志信息

浏览器输入服务器IP地址登录web界面

http://ip:9000

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

目前graylog没有中文版,英文不好的使用edge打开,翻译网页

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张图片

网络设备侧进行日志服务器配置
注意,此处有大坑

华为交换机向日志服务器发送日志默认以UTC时间发送,会导致Graylog中收集的日志数据比实际的少8小时
Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务_第6张图片
Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务_第7张图片

所以交换机侧进行如下配置

info-center loghost x.x.x.x local-time

配置完毕回到Graylog界面,点击show received message,即可看到收集的日志信息

Centos7 安装Graylog 5.0收集网络设备运行日志+卸载GrayLog服务_第8张图片

卸载GrayLog服务

卸载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*                                   #查询残余文件,有就删除

卸载ES

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*                             #查询残余文件,有就删除

卸载MONGODB

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,elasticsearch,mongodb)