Graylog是一个免费的开源日志管理平台,用于捕获、存储并实时分析您的数据和日志。它用Java编写,并建立在MongoDB和Elasticsearch等其他开源软件之上。

Graylog提供了其中最高效、快速且灵活的集中式日志管理平台之一。借助Graylog,您可以从几乎任何数据源发送并分析结构化和非结构化数据。

本教程将指导您在Ubuntu 24.04上安装Graylog服务器,包括MongoDB和Elasticsearch的配置。

前提条件

要完成本教程,请确保您具备以下条件:

一台具有至少4GB或8GB内存的Ubuntu 24.04服务器,以及一个具有管理员权限的非root用户。

安装MongoDB

要安装Graylog,必须先安装MongoDB。目前Graylog仅支持MongoDB v5.x-7.x,本节将安装MongoDB 7.x到您的Ubuntu服务器。

首先,运行以下命令安装一些依赖包。

安装依赖包

sudo apt install apt-transport-https gnupg2 uuid-runtime pwgen curl dirmngr -y

现在使用以下命令添加MongoDB的GPG密钥和仓库。本例将使用MongoDB 7.0版本。

添加MongoDB仓库

curl -fsSL https://www.mongodb.org/static/pgp/server-7.0.asc | \
sudo gpg -o /usr/share/keyrings/mongodb-server-7.0.gpg \
--dearmor

echo "deb [ arch=amd64,arm64 signed-by=/usr/share/keyrings/mongodb-server-7.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/7.0 multiverse" | \
sudo tee /etc/apt/sources.list.d/mongodb-org-7.0.list

仓库添加完成后,运行以下apt命令更新Ubuntu软件包索引并安装MongoDB。

安装MongoDB

sudo apt update && sudo apt install mongodb-org

输入“Y”确认安装。

安装完成后,使用以下命令启动并启用mongod服务。

sudo systemctl enable --now mongod

最后,验证mongod服务状态,确保服务正常运行。您应该看到MongoDB已在您的系统上运行。

检查MongoDB状态

sudo systemctl status mongod

安装Elasticsearch

安装完MongoDB后,接下来需要安装Elasticsearch。在此之前,必须先安装Java OpenJDK,然后再安装Elasticsearch。目前Graylog服务器仅支持Elasticsearch v7.x版本。

运行以下apt命令安装Java OpenJDK,输入“Y”确认安装。

安装Java OpenJDK

sudo apt install openjdk-11-jre-headless

使用以下命令检查Java版本。您应该看到Java OpenJDK 11已被安装。

验证Java版本

java --version

Java安装完成后,就可以开始安装Elasticsearch了。

运行以下命令添加Elasticsearch的GPG密钥和仓库。本例将安装Elasticsearch 7.x版本。

添加Elasticsearch仓库

wget -qO - https://artifacts.elastic.co/GPG-KEY-elasticsearch | 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

运行以下命令更新Ubuntu仓库并安装elasticsearch软件包。输入“Y”确认。

安装Elasticsearch

sudo apt update && sudo apt install elasticsearch

安装完成后,使用nano编辑器打开Elasticsearch配置文件/etc/elasticsearch/elasticsearch.yml。

sudo nano /etc/elasticsearch/elasticsearch.yml

修改默认的cluster.name并将action.auto_create_index设置为false,如下所示:

cluster.name: graylog
action.auto_create_index: false

保存文件并退出编辑器。

运行以下systemctl命令重新加载systemd管理器,启动并启用Elasticsearch服务。

启动Elasticsearch服务

sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch

Elasticsearch运行后,可以使用以下命令验证。

检查Elasticsearch状态

sudo systemctl status elasticsearch

以下输出确认Elasticsearch正在运行。

您还可以使用以下curl命令检查Elasticsearch。

curl验证Elasticsearch

curl -X GET http://localhost:9200

如果Elasticsearch正在运行,您将看到其版本号和集群名称。

安装Graylog

现在您已经安装了MongoDB和Elasticsearch,可以开始在服务器上安装Graylog了。本节将安装Graylog并为您的安装配置密码认证。

使用wget命令下载Graylog仓库包,然后使用dpkg命令进行安装:

添加Graylog仓库

wget https://packages.graylog2.org/repo/packages/graylog-6.1-repository_latest.deb
sudo dpkg -i graylog-6.1-repository_latest.deb

运行以下apt命令更新Ubuntu软件包索引并安装graylog-server软件包。输入“Y”确认安装。

安装Graylog

sudo apt update && sudo apt install graylog-server

安装完成后,需要为Graylog生成两个密码:password_secret和root_password_sha2。

要生成password_secret,运行以下命令。请确保复制生成的密码。

生成密码密钥

< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;

要生成root_password_sha2密码,运行以下命令。输入您的密码后,复制生成的sha密码。

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

生成Graylog密码后,需要修改Graylog配置文件。

使用nano编辑器打开文件/etc/graylog/server/server.conf。

sudo nano /etc/graylog/server/server.conf

将生成的密码分别粘贴到password_secret和root_password_sha2字段。然后将默认的http_bind_address修改为您的本地IP地址。

password_secret = PoMVlAiuJLA89rNAtLWz0PF7TLwX3JEQD7zp1kfOGAwdr0P-oQ0HKoebpevpPK2Q2quvjmqHQreP1yQYTX0jDjIe3JcBU5J
root_password_sha2 = a7fdfe53e2a13cb602def10146388c65051c67e60ee55c051668a1c709449111
http_bind_address = 192.168.10.60:9000

保存文件并退出编辑器。

接下来,运行以下systemctl命令重新加载systemd管理器,启动并启用graylog-server服务。

启动Graylog服务

sudo systemctl daemon-reload
sudo systemctl enable --now graylog-server

最后,使用以下命令检查graylog-server状态。如果安装成功,您将看到Graylog已在Ubuntu服务器上运行。

检查Graylog状态

sudo systemctl status graylog-server

配置Graylog

此时,Graylog已在您的Ubuntu服务器上运行。现在您将通过Web浏览器配置Graylog。

在访问Graylog之前,使用以下命令检查日志文件/var/log/graylog-server/server.log。复制用于配置Graylog安装的链接并粘贴到您的浏览器中。

查看Graylog日志

cat /var/log/graylog-server/server.log

现在您将看到Graylog初始设置页面。在这里,您将为Graylog数据节点配置SSL证书:

输入您的组织名称,输入证书有效期天数,然后跳过证书数据节点的配置。

Graylog初始设置

完成后,点击“Resume startup”继续。

现在您将被重定向到Graylog登录页面。使用默认用户名“admin”和root_password_sha2中设置的密码登录。

Graylog登录页面

如果用户名和密码正确,您将看到以下Graylog仪表板:

Graylog仪表板

总结

恭喜!您已经完成了在Ubuntu 24.04服务器上安装Graylog。您的Graylog已与MongoDB 7.x和Elasticsearch 7.x一起运行。接下来,您可以创建新的Graylog输入,以便将日志发送到您的Graylog服务器。