本指南将带您在 CentOS 8 上使用 Elasticsearch 7.x 安装 Graylog。Graylog 是一个开源日志管理解决方案,成立于 2009 年,用于捕获和集中来自网络中各种设备的实时日志。 它是分析关键日志(例如 SSH 登录、违规或任何可能指向系统违规的可疑或异常事件)的完美工具。 凭借实时日志记录功能,它是完美的网络安全工具,运营团队可以使用它在小问题滚雪球变成巨大威胁之前缓解它们。
Graylog 由 3 个关键组件组成:
- 弹性搜索:这是一个开源分析引擎,可以索引从 Graylog 服务器接收的数据。
- MongoDB:这是一个开源的 NoSQL 数据库,用于存储元信息和配置。
- Graylog 服务器:这会传递日志并提供一个 Web 界面,其中日志可视化。
有了这个总结,我们将立即在 CentOS 8 上安装 Graylog。
Graylog 服务器的先决条件
开始时,请确保您的 CentOS 8 实例满足以下要求:
- 2 个 CPU
- 4 GB 内存
- 快速稳定的互联网连接
步骤 1) 使用 dnf 命令安装 Java 8
Elasticsearch 是基于 Java 构建的,因此,我们需要先安装 Java,更具体地说是 Java 8。 您可以选择安装 OpenJDK 或 Oracle Java。 在本指南中,我们将安装 OpenJDK 8。
$ sudo dnf install -y java-1.8.0-openjdk java-1.8.0-openjdk-devel
要确认安装的 Java 版本,请运行:
$ java -version
步骤 2) 安装 Elasticsearch 7.x
我们将安装最新版本的 Elasticsearch,在撰写本指南时,它是 Elasticsearch 7.9.2。 Elasticsearch 在 CentOS 8 存储库上不可用,因此我们将创建一个本地存储库。 但首先,让我们如图所示导入 GPG 密钥。
$ sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
使用您的文本编辑器,创建一个新的存储库文件,如下所示:
$ sudo vi /etc/yum.repos.d/elasticsearch.repo
粘贴下图内容
[elasticsearch-7.x] name=Elasticsearch repository for 7.x packages baseurl=https://artifacts.elastic.co/packages/7.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md
Save 并退出配置文件。 要安装 Elasticsearch,请运行以下命令:
$ sudo dnf install -y elasticsearch
安装完成后,通知 systemd 并启用 Elasticsearch。
$ sudo systemctl daemon-reload $ sudo systemctl enable elasticsearch
我们需要让 Elasticsearch 与 Graylog 一起工作,因此,我们将集群名称更新为“灰色日志‘ 如图所示:
$ sudo vi /etc/elasticsearch/elasticsearch.yml ......... cluster.name: graylog .........
Save & 退出文件并重新启动 elasticsearch 以使更改生效。
$ sudo systemctl restart elasticsearch
为了验证 Elasticsearch 是否正在运行,我们将通过端口 9200 发送一个 HTTP 请求,如图所示。
$ curl -X GET "localhost:9200/"
您应该得到如下所示的输出。
步骤 3) 安装 MongoDB 4
要安装 MongoDB,请创建一个本地存储库文件
$ sudo vi /etc/yum.repos.d/mongodb-org-4.repo
粘贴如下所示的配置
[mongodb-org-4] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/8/mongodb-org/4.2/x86_64/ gpgcheck=1 enabled=1 gpgkey=https://www.mongodb.org/static/pgp/server-4.2.asc
Save 退出,然后使用显示的命令安装 MongoDB。
$ sudo dnf install -y mongodb-org
安装 MongoDB 后,启动 MongoDB 并确认其状态,如图所示
$ sudo systemctl start mongod $ sudo systemctl enable mongod $ sudo systemctl status mongod
完美,上面的输出确认mongodb服务启动成功并且运行正常。
步骤 4) 安装和配置 Graylog 服务器
要安装 Graylog 服务器,首先要安装 Graylog 存储库,如下所示:
$ sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.3-repository_latest.rpm
添加存储库后,如图所示安装 Graylog 服务器。
$ sudo dnf install -y graylog-server
安装成功后,您可以通过运行以下命令确认有关 Graylog 服务器的更多详细信息:
$ rpm -qi graylog-server
现在让我们进行一些配置。 首先,我们将生成一个秘密密码,该密码将在 password_secret 指令中传递 /etc/graylog/server/server.conf 配置文件。 为此,我们将使用名为的随机密码生成器生成一个随机密码 pwgen. 要安装它,首先我们需要为 CentOS 8 启用 EPEL 存储库。
$ sudo dnf install -y epel-release $ sudo dnf install -y pwgen
安装后,您可以使用该命令生成随机密码。
$ sudo pwgen -N 1 -s 96
命令的输出如下所示:
[[email protected] ~]$ sudo pwgen -N 1 -s 96 EtUtR16i9xwRsGbXROMFhSazZ3PvNe1tYui8wM5Q7h1UiXY0RTDdGygkhuDEJi9fpGwwXhMbYjcv9aFLh9DNF15JPBnMD0ne [[email protected] ~]$
复制加密的密码并将其保存在某处,最好是在文本编辑器中。 你会在其他地方需要这个。
接下来,为 root_password_sha2 属性生成一个密码,如图所示。
$ echo -n [email protected]@123# | sha256sum
输出将是,
[[email protected] ~]$ echo -n [email protected]@123# | sha256sum a8f1a91ef8c534d678c82841a6a88fa01d12c2d184e641458b6bec67eafc0f7c - [[email protected] ~]$
再一次,将此加密密码保存在某处。 现在打开 Graylog 的配置文件。
$ sudo vi /etc/graylog/server/server.conf
找到 密码秘密 和 root_password_sha2 属性并粘贴相应的加密密码。
接下来,取消注释 http_bind_address 属性并输入您的服务器的 IP。
重新加载 systemd,启动并启用 Graylog。
$ sudo systemctl daemon-reload $ sudo systemctl start graylog-server $ sudo systemctl enable graylog-server
运行以下命令以验证 Graylog 服务状态:
$ sudo systemctl status graylog-server
您还可以使用其日志文件“验证 graylog 服务状态”/var/log/graylog-server/server.log”
在防火墙中允许 Graylog 服务器:
如果防火墙已启用并正在运行,则允许 9000 tcp 使用under命令的端口,
$ sudo firewall-cmd --permanent --add-port=9000/tcp $ sudo firewall-cmd --reload
要在浏览器上访问 Graylog,请浏览您服务器的 IP 地址,如下所示:
https://server-IP:9000
请务必使用用户名登录 admin 以及您为配置文件中指定的 root 用户设置的密码。
我们今天的主题到此结束。 我们已经为您提供了在 CentOS 8 上安装 Graylog 的分步过程。请分享您的反馈和意见。