在 Ubuntu 20.04 中使用 Graylog 安装和配置日志

Graylog 是开源的集中式日志管理解决方案,可以对大量机器数据进行实时分析、搜索和监控。 它是在德国汉堡开发的,旨在提供更强大、更易于使用的分析平台、更快的分析速度、易于管理和基础设施管理。

在本文中,我们将学习在 Ubuntu 20.04 LTS 中安装和配置 Graylog 的方法。

先决条件

在继续安装 Graylog 之前,您必须设置以下内容,

  • Oracle Java SE 8 (OpenJDK 8) 作为 Elasticsearch 是一个基于 Java 的项目。
  • Graylog 不支持 Elasticsearch 6.8 和版本 7 到 7.10 以及更高版本。
  • MongoDB(4.0、4.2 或 4.4)。

安装 Graylog

让我们从安装开始,因为运行 Elasticsearch 需要 java 8。 我们将需要一些额外的软件包,让我们一起安装它们。

$ sudo apt update
$ sudo apt-get install openjdk-8-jre-headless pwgen apt-transport-https uuid-runtime

安装 java 后,您可以使用以下命令验证安装。

$ java -version

现在,让我们安装 Elasticsearch。 首先,我们需要使用以下命令将包存储库添加到我们的系统包存储库列表中。

$ wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
$ echo "deb https://artifacts.elastic.co/packages/oss-7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list

然后,使用 apt 命令安装 Elasticsearch。

$ sudo apt update
$ sudo apt install elasticsearch-oss

完成 Elasticsearch 安装后,更新配置文件中的以下行。

$ sudo vim /etc/elasticsearch/elasticsearch.yml
cluster.name: graylog
action.auto_create_index: false

现在,启用并重新启动服务以应用修改。

$ sudo systemctl daemon-reload
$ sudo systemctl restart elasticsearch.service
$ sudo systemctl enable elasticsearch.service

接下来,我们为 Graylog 安装一个数据库,Graylog 使用 MongoDB 作为数据库来存储数据。 首先,我们需要使用以下命令为存储库注册一个公共 GPG 密钥。

$ sudo apt install gnupg
$ wget -qO - https://www.mongodb.org/static/pgp/server-4.4.asc | sudo apt-key add -

现在下载包存储库并将其添加到系统包存储库列表中。 为此运行,

$ echo "deb [ arch=amd64,arm64 ] https://repo.mongodb.org/apt/ubuntu focal/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list

最后,使用 apt 命令安装 MongoDB。

$ sudo apt update
$ sudo apt install -y mongodb-org

并且,要安装特定版本的 MongoDB 与首选版本一起运行,

$ sudo apt install -y mongodb-org-mongos=4.4.6 mongodb-org=4.4.6 mongodb-org-tools=4.4.6 mongodb-org-shell=4.4.6 mongodb-org-server=4.4.6

现在,使用 systemctl 命令启用并重新启动 MongoDB,

$ sudo systemctl enable mongod
$ sudo systemctl restart mongod

注意:在运行期间,如果您得到 ‘mongod.service: Main process exited, code=exited, status=14/n/a’,请执行以下命令。

$ sudo chown -R mongodb:mongodb /var/lib/mongodb
$ sudo chown mongodb:mongodb /tmp/mongodb-27017.sock
$ sudo systemctl restart mongod

最后,在安装所有必备软件包后安装 Graylog 服务器。 要安装 Graylog,首先下载 deb 包,然后使用 dpkg 命令解析它,最后安装它。

$ wget https://packages.graylog2.org/repo/packages/graylog-4.1-repository_latest.deb
$ sudo dpkg -i graylog-4.1-repository_latest.deb
$ sudo apt update
$ sudo apt -y install graylog-server

现在,使用 systemctl 命令启用 Graylog,

$ sudo systemctl enable graylog-server.service

配置灰度日志

我们已经安装了运行 Graylog 所需的每个包,但它还没有准备好运行。 在开始使用 Graylog 之前,我们需要配置 password_secret 和 root_password_sh2。 配置文件的默认路径是 /etc/graylog/server/server.conf,我们将使用 sed 命令注入 pwgen 生成的密码。

对于 password_secret,我们将使用 pwgen 命令生成一个随机的 128 个字符的密码。 要安装它运行,

$ sudo apt install pwgen

现在,我们将使用以下命令生成密码并使用 sed 命令将其注入。 为此运行,

$ sudo -E sed -i -e "s/password_secret =.*/password_secret = $(pwgen -s 128 1)/" /etc/graylog/server/server.conf

接下来,让我们使用以下命令为 root_password 生成 SHA 256 哈希密码。 不要忘记将 your_password 替换为实际密码。

$ sudo sed -i -e "s/root_password_sha2 =.*/root_password_sha2 = $(echo -n 'your_password' | shasum -a 256 | cut -d' ' -f1)/" /etc/graylog/server/server.conf

最后,使用您喜欢的编辑器为 Graylog 配置域。

$ sudo vim /etc/graylog/server/server.conf

然后,通过以下方式在配置中找到并设置变量的值。

http_bind_address = your_server_ip:9000  http_external_uri= https://your_server_ip or domain:9000/

然后,写入并退出文件。
设置完所有内容后,使用 systemctl 命令重新启动 graylog-server 以应用更改。

$ sudo systemctl restart graylog-server.service

测试 Graylog 服务器

现在,一切都可以使用了。 当您访问您配置的 http_external_url 时,您可以看到如下所示的 Web 界面。