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版本。

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。

sudo apt update && sudo apt install mongodb-org
输入“Y”确认安装。
安装完成后,使用以下命令启动并启用mongod服务。
sudo systemctl enable --now mongod
最后,验证mongod服务状态,确保服务正常运行。您应该看到MongoDB已在您的系统上运行。

sudo systemctl status mongod
安装Elasticsearch
安装完MongoDB后,接下来需要安装Elasticsearch。在此之前,必须先安装Java OpenJDK,然后再安装Elasticsearch。目前Graylog服务器仅支持Elasticsearch v7.x版本。
运行以下apt命令安装Java OpenJDK,输入“Y”确认安装。

sudo apt install openjdk-11-jre-headless
使用以下命令检查Java版本。您应该看到Java OpenJDK 11已被安装。

java --version
Java安装完成后,就可以开始安装Elasticsearch了。
运行以下命令添加Elasticsearch的GPG密钥和仓库。本例将安装Elasticsearch 7.x版本。

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”确认。

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服务。

sudo systemctl daemon-reload
sudo systemctl enable --now elasticsearch
Elasticsearch运行后,可以使用以下命令验证。

sudo systemctl status elasticsearch
以下输出确认Elasticsearch正在运行。
您还可以使用以下curl命令检查Elasticsearch。

curl -X GET http://localhost:9200
如果Elasticsearch正在运行,您将看到其版本号和集群名称。
安装Graylog
现在您已经安装了MongoDB和Elasticsearch,可以开始在服务器上安装Graylog了。本节将安装Graylog并为您的安装配置密码认证。
使用wget命令下载Graylog仓库包,然后使用dpkg命令进行安装:

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”确认安装。

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服务。

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

sudo systemctl status graylog-server
配置Graylog
此时,Graylog已在您的Ubuntu服务器上运行。现在您将通过Web浏览器配置Graylog。
在访问Graylog之前,使用以下命令检查日志文件/var/log/graylog-server/server.log。复制用于配置Graylog安装的链接并粘贴到您的浏览器中。

cat /var/log/graylog-server/server.log
现在您将看到Graylog初始设置页面。在这里,您将为Graylog数据节点配置SSL证书:
输入您的组织名称,输入证书有效期天数,然后跳过证书数据节点的配置。

完成后,点击“Resume startup”继续。
现在您将被重定向到Graylog登录页面。使用默认用户名“admin”和root_password_sha2中设置的密码登录。

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

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