在CentOS 8/RHEL 8 Linux上安装带有Elasticsearch 6.x的Graylog 3
在本指南中,我们将引导我们完成使用Elasticsearch 6.x和MongoDB 4.x在CentOS 8/RHEL 8上安装Graylog的步骤。 Graylog是一个开放源代码日志管理系统,允许系统管理员/开发人员从多个日志源聚合多达TB的日志数据。它具有高度的可扩展性,可以适应任何基础架构。
Graylog带有直观的UI,快速而强大的搜索功能,警报和报告。它使我们可以将系统分为流,以简化日志搜索和适当的管理。 Graylog UI简单直观,具有完整的用户管理和对LDAP的支持。
在CentOS 8/RHEL 8 Linux上安装Graylog 3.x
Graylog需要Java,Elasticsearch和MongoDB.Elasticsearch负责日志存储。我们将从安装依赖项开始,然后是Graylog。
注意:这是Graylog在CentOS 8/RHEL 8上的单服务器安装。有关多群集设置的信息,请参阅官方Graylog文档。
配置SELinux
如果我们在系统上使用SELinux,请设置以下设置:
sudo yum -y install curl vim policycoreutils python3-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
在RHEL/CentOS 8上安装Java
由于Elasticsearch依赖Java 8,因此在安装Elasticsearch RHEL 8/CentOS 8之前,需要先将其安装在系统上。
sudo yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel
在RHEL 8/CentOS 8上安装Elasticsearch 6
添加Elasticsearch存储库:
cat <<EOF | sudo tee /etc/yum.repos.d/elasticsearch.repo [elasticsearch-6.x] name=Elasticsearch repository for 6.x packages baseurl=https://artifacts.elastic.co/packages/oss-6.x/yum gpgcheck=1 gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch enabled=1 autorefresh=1 type=rpm-md EOF
然后安装Elasticsearch:
sudo yum clean all sudo yum makecache sudo yum -y install elasticsearch-oss
配置Elasticsearch for Graylog
我们需要修改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
启动并启用弹性搜索服务:
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 Fri 2019-09-13 03:53:34 EDT; 9s ago Docs: http://www.elastic.co Main PID: 16862 (java) Tasks: 40 (limit: 24024) Memory: 1.1G CGroup: /system.slice/elasticsearch.service └─16862 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des.n> Sep 13 03:53:34 rhel8.novalocal systemd[1]: Stopped Elasticsearch. Sep 13 03:53:34 rhel8.novalocal systemd[1]: Started Elasticsearch.
在RHEL 8/CentOS 8上安装MongoDB
MongoDB用于存储Graylog相关的配置。使用以下文章中共享的步骤将其安装在CentOS 8/RHEL 8上。
如何在RHEL 8/CentOS 8上安装MongoDB 4
安装后启用并启动mongod服务。
sudo systemctl enable --now mongod
服务状态应为运行中。
$systemctl status mongod ● mongod.service - MongoDB Database Server Loaded: loaded (/usr/lib/systemd/system/mongod.service; enabled; vendor preset: disabled) Active: active (running) since Fri 2019-09-13 03:57:04 EDT; 6s ago Docs: https://docs.mongodb.org/manual Process: 17397 ExecStart=/usr/bin/mongod $OPTIONS (code=exited, status=0/SUCCESS) Process: 17395 ExecStartPre=/usr/bin/chmod 0755 /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 17393 ExecStartPre=/usr/bin/chown mongod:mongod /var/run/mongodb (code=exited, status=0/SUCCESS) Process: 17391 ExecStartPre=/usr/bin/mkdir -p /var/run/mongodb (code=exited, status=0/SUCCESS) Main PID: 17399 (mongod) Memory: 44.7M CGroup: /system.slice/mongod.service └─17399 /usr/bin/mongod -f /etc/mongod.conf Sep 13 03:57:03 rhel8.novalocal systemd[1]: Starting MongoDB Database Server... Sep 13 03:57:03 rhel8.novalocal mongod[17397]: 2019-09-13T03:57:03.538-0400 I STORAGE [main] Max cache overflow file size custom option: 0 Sep 13 03:57:03 rhel8.novalocal mongod[17397]: about to fork child process, waiting until server is ready for connections. Sep 13 03:57:03 rhel8.novalocal mongod[17397]: forked process: 17399 Sep 13 03:57:04 rhel8.novalocal mongod[17397]: child process started successfully, parent exiting Sep 13 03:57:04 rhel8.novalocal systemd[1]: Started MongoDB Database Server.
在RHEL 8/CentOS 8上安装Graylog 3
现在安装Graylog存储库配置:
sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.rpm
Graylog rpm软件包在添加的存储库中可用。
sudo yum install graylog-server
我从安装中获得了版本3.1.2.
$rpm -qi graylog-server Name : graylog-server Version : 3.1.2 Release : 1 Architecture: noarch Install Date: Fri 13 Sep 2019 03:58:28 AM EDT Group : optional Size : 131672482 License : GPLv3 Signature : RSA/SHA1, Thu 12 Sep 2019 11:14:37 AM EDT, Key ID d44c1d8db1606f22 Source RPM : graylog-server-3.1.2-1.src.rpm Build Date : Thu 12 Sep 2019 11:14:29 AM EDT Build Host : c3b660169564 Relocations :/ Packager : Graylog, Inc. theitroad@localhost Vendor : graylog URL : https://www.graylog.org/ Summary : Graylog server Description : Graylog server
我们需要在/etc/graylog/server/server.conf下设置add password_secret和root_password_sha2variables。这些设置是强制性的,没有它们,Graylog将无法启动!
使用以下命令创建root_password_sha2
:
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1
在" root_password_sha2"中设置生成的值
$sudo vi /etc/graylog/server/server.conf root_username = admin root_password_sha2 = <Sha2Passowrd>
生成password_secret。
$sudo yum -y install pwgen $pwgen -N 1 -s 96 ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq $sudo vi /etc/graylog/server/server.conf password_secret = ny5eSSuHe03DWW7hGOGMPaVOlbBeZX48OqvTIO7J56rBwh0r99wB1bQwecjyID9S5XrCkzVcPBG0jLPcWiit1Vz1nPse6yBq
为了能够连接到Graylog,我们应该将" http_bind_address"设置为可连接到的计算机的公共主机名或者公共IP地址。
http_bind_address = 0.0.0.0:9000
最后一步是在操作系统启动期间启用Graylog:
sudo systemctl daemon-reload sudo systemctl enable --now graylog-server.service
在http://serverip_or_hostname:9000 /上访问Graylog仪表板
使用用户名admin和在server.conf中设置的root密码登录。
我们在CentOS 8/RHEL 8上安装了带有Elasticsearch 6.x的Graylog3.x。