如何在CentOS 7上使用Elasticsearch 6.x安装Graylog 3

时间:2020-02-23 14:30:42  来源:igfitidea点击:

在本指南中,我将带我们逐步完成在CentOS 7上安装Graylog 3的步骤。Graylog是一个开放源代码日志管理平台,它使我们能够从具有多个功能的多个日志源,DC和地理区域汇总多达TB的日志数据。在数据中心和/或者云中水平扩展。

Graylog搜索功能确实非常快速且强大,因此我们可以将服务器分组到流中,以方便日志搜索。 Graylog UI简单直观,具有完整的用户管理和对LDAP的支持。它还支持警报和报告。

Graylog 3.x完全支持Elasticsearch 6.x和任何最新版本的MongoDB4.x。如果我们是Ubuntu和CentOS 8用户,请检查:

在Ubuntu 20.04/Ubuntu 18.04上安装GrayLog在CentOS 8上安装GrayLog

Graylog的功能依赖于Java,Elasticsearch和MongoDB.Elasticsearch负责日志存储,而MongoDB则用于存储Graylog相关的配置。

配置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

添加所需的存储库:

启用EPEL存储库。

sudo yum -y install epel-release

添加MongoDB存储库:

sudo tee /etc/yum.repos.d/mongodb-org-4.0.repo <<EOF
[mongodb-org-4.0]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.0/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-4.0.asc
EOF

添加Elasticsearch存储库:

sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[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

安装Java,Elasticsearch和MongoDB

运行此命令以安装所有必需的软件包。

sudo yum -y install java-1.8.0-openjdk-headless.x86_64
sudo yum -y install pwgen elasticsearch-oss mongodb-org

启动并启用MongoDB服务。

启动mongodservice并将其设置为在启动时启动。

sudo systemctl enable --now mongod
sudo systemctl status mongod

为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

启动并启用弹性搜索服务:

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 2019-09-16 08:37:55 UTC; 1min 49s ago
      Docs: http://www.elastic.co
  Main PID: 18442 (java)
    CGroup: /system.slice/elasticsearch.service
            └─18442 /bin/java -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Des…
 Sep 16 08:37:55 cent701.novalocal systemd[1]: Started Elasticsearch.

在CentOS 7上安装Graylog 3

现在,使用以下命令安装Graylog存储库和Graylog本身:

sudo rpm -Uvh https://packages.graylog2.org/repo/packages/graylog-3.1-repository_latest.rpm
sudo yum -y install graylog-server

我们还需要在/etc/graylog/server/server.conf下设置add password_secret和root_password_sha2variables。这些设置是强制性的,没有它们,Graylog将无法启动!

$cat /etc/graylog/server/server.conf | grep password | grep -v '^ *#'
password_secret =
root_password_sha2 =

使用先前安装的pwgentool生成password_secret。

pwgen -N 1 -s 96

我们需要使用以下命令来创建root_password_sha2:

echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\n' | sha256sum | cut -d" " -f1

为了能够连接到Graylog,我们应该设置:rest_listen_uriweb_listen_uri

到运行Graylog服务的计算机的公共主机名或者公共IP地址。

Graylog目录结构:
|
|

在CentOS 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 Mon 2019-09-16 09:08:11 UTC; 18s 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

对于单节点安装,只需要打开port9000即可进行UI访问和API。要在CentOS 7上执行此操作,请使用firewalld。

sudo firewall-cmd --add-port=9000/tcp --permanent
sudo firewall-cmd --reload

我们现在可以使用http://public_ip:9000访问Graylog Web界面。