如何在 CentOS 7|RHEL 7 上安装 Graylog 4
在本指南中,我将引导您完成在 CentOS 7|RHEL 7 Linux 系统上安装 Graylog 4 的步骤。 Graylog 是一个开源日志管理平台,使您能够从多个日志源、DC 和地理位置聚合高达 TB 的日志数据,并能够在数据中心、云或两者中水平扩展。
Graylog 搜索功能非常快速且强大,因此您可以将服务器分组为流以便于日志搜索。 Graylog UI 简单直观,具有完整的用户管理和对 LDAP 的支持。它还支持警报和报告。
Graylog 4.x 完全支持 Elasticsearch 7.x 和任何最新版本的 MongoDB – 4.x。如果您是 Ubuntu 和 CentOS 8 用户,请检查:
- 在 Ubuntu 20.04/Ubuntu 18.04 上安装 GrayLog
- 在 CentOS 8 上安装 GrayLog
Graylog 的功能依赖于 Java、Elasticsearch 和 MongoDB。 Elasticsearch 负责日志存储,MongoDB 负责存储 Graylog 相关配置。
第 1 步:配置 SELinux
如果您的系统上使用 SELinux,请设置以下设置:
sudo yum -y install curl vim policycoreutils
sudo setsebool -P httpd_can_network_connect 1
sudo semanage port -a -t http_port_t -p tcp 9000
sudo semanage port -a -t http_port_t -p tcp 9200
sudo semanage port -a -t mongod_port_t -p tcp 27017
步骤2:添加所需的存储库:
启用 EPEL 存储库。
CentOS 7:
sudo yum -y install epel-release
RHEL 7:
sudo subscription-manager repos --enable rhel-*-optional-rpms \
--enable rhel-*-extras-rpms \
--enable rhel-ha-for-rhel-*-server-rpms
sudo yum -y install https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
添加 MongoDB 存储库:
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
添加 Elasticsearch 存储库:
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
更新 YUM 包索引缓存:
sudo yum clean all
sudo yum -y makecache
确认添加的所有存储库均正常运行:
$ yum repolist
repo id repo name status
base/7/x86_64 CentOS-7 - Base 10072
droplet-agent/x86_64 DigitalOcean Droplet Agent 8
elasticsearch-7.x Elasticsearch repository for 7.x packages 1058
extras/7/x86_64 CentOS-7 - Extras 509
mongodb-org-4.4 MongoDB Repository 172
updates/7/x86_64 CentOS-7 - Updates 3573
repolist: 15392
第 3 步:安装 Java、Elasticsearch 和 MongoDB
运行此命令以安装所有必需的软件包。
sudo yum -y install vim pwgen java-11-openjdk java-11-openjdk-devel
sudo yum -y install pwgen elasticsearch-oss mongodb-org
检查 Java 和其他软件包现在是否已安装:
$ java -version
openjdk version "11.0.20" 2023-07-18 LTS
OpenJDK Runtime Environment (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS)
OpenJDK 64-Bit Server VM (Red_Hat-11.0.20.0.8-1.el7_9) (build 11.0.20+8-LTS, mixed mode, sharing)
启动并启用 MongoDB 服务。
启动 mongod 服务并将其设置为开机启动。
sudo systemctl enable --now mongod
sudo systemctl status mongod
MongoDB 路径:
第 4 步:为 Graylog 配置 Elasticsearch
您需要修改Elasticsearch配置文件并将集群名称设置为graylog,此外您还需要取消注释(删除第一个字符#)该行,并添加action.auto_create_index: false
到配置文件:
要编辑的文件是/etc/elasticsearch/elasticsearch.yml。
$ sudo vi /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false
启动并启用 elasticsearch 服务:
sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
确认服务状态:
$ systemctl status elasticsearch
● elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; enabled; vendor preset: disabled)
Active: active (running) since Mon 2023-08-21 14:26:45 UTC; 3s ago
Docs: https://www.elastic.co
Main PID: 8722 (java)
CGroup: /system.slice/elasticsearch.service
└─8722 /usr/share/elasticsearch/jdk/bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=tr...
Aug 21 14:26:26 centos-01 systemd[1]: Starting Elasticsearch...
Aug 21 14:26:26 centos-01 systemd[1]: Started Elasticsearch.
默认的 Elasticsearch 文件位置是:
步骤5:在CentOS 7 | RHEL 7上安装Graylog服务器
现在使用以下命令安装 Graylog 存储库和 Graylog 本身:
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-4.3-repository_latest.rpm
sudo yum -y install graylog-server
您还需要在 /etc/graylog/server/server.conf 下设置添加 password_secret 和 root_password_sha2 变量。
### Generate root_password_sha2
$ echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
Enter Password: password <INPUT-PASSWORD>
Sha2 密码打印到屏幕上。我们将在配置文件中使用它来更新它。
5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
使用之前安装的pwgen工具生成password_secret。
$ pwgen -N 1 -s 96
pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep
这些设置是强制性的,没有它们,Graylog 将无法启动!
$ sudo vi /etc/graylog/server/server.conf
password_secret = Replace-me-with-generated-password-secret
root_password_sha2 = Replace-me-with-generated-hashed-root-secret
例子 :
password_secret = pYJuHjPD0166gUEzhL3XUpTkacYAu26FFxVIRjvczINydWF7WwBbUEUaD5KukCUBIKpklbYn85ebWTOQg4UMMS0twWqB7Rep
root_password_sha2 = 5e884898da28047151d0e56f8dc6292773603d0d6aabbdd62a11ef721d1542d8
我们还将地址绑定到 Graylog HTTP 接口使用的网络接口
$ sudo vi /etc/graylog/server/server.conf
#line 105
http_bind_address = 0.0.0.0:9000
重新启动graylog服务,使其绑定到系统上的所有地址
sudo systemctl restart graylog-server
Graylog目录结构:
步骤6:在CentOS 7|RHEL 7上启动Graylog服务
现在启动graylog服务并使其在系统启动时启动
sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server.service
确认服务状态:
$ systemctl status graylog-server.service
● graylog-server.service - Graylog server
Loaded: loaded (/usr/lib/systemd/system/graylog-server.service; enabled; vendor preset: disabled)
Active: active (running) since Sat 2022-03-19 08:25:09 UTC; 13s ago
Docs: http://docs.graylog.org/
Main PID: 19249 (graylog-server)
CGroup: /system.slice/graylog-server.service
├─19249 /bin/sh /usr/share/graylog-server/bin/graylog-server
└─19250 /usr/bin/java -Xms1g -Xmx1g -XX:NewRatio=1 -server -XX:+ResizeTLAB -XX:+UseConcMarkSweepGC -XX:+CMSConcurrentMTEnabled -XX:+C...
Sep 16 09:08:11 cent701.novalocal systemd[1]: Stopped Graylog server.
Sep 16 09:08:11 cent701.novalocal systemd[1]: Started Graylog server.
配置 Graylog Firewalld
对于单节点安装,您只需打开端口 9000 即可访问 UI 和 API。要在 CentOS 7|RHEL 7 上执行此操作,请使用firewalld。
sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload
您现在可以使用 http://public_ip:9000 访问 Graylog Web 界面。您应该得到如下所示的界面。
我们已经结束了在 CentOS 7|RHEL 7 上使用 Elasticsearch 7.x 安装 Graylog 4.x。阅读下一篇关于使用 Let’s Encrypt SSL 配置 Graylog Nginx 反向代理的文章。
逐步学习如何将消息提取到 Graylog 中并使用提取器提取消息或使用管道处理消息。
标签:
- 在 CentOS 7 上安装 Graylog 4
- 在 RHEL 7 上安装 Graylog 4
- CentOS 7/RHEL 7 上的 Graylog 安装
其他日志相关文章:
- 使用 Rsyslog 进行 VMware vSphere 和 vCenter 中央日志管理
- 在 Ubuntu 18.04 上使用 Graylog 服务器管理日志
- 如何从日志中获取 Postfix 邮件统计信息