简介
Graylog 的开源特性、丰富的功能、灵活性和可扩展性使其成为一个流行的日志管理平台。在本教程中,我将向你展示如何在 Ubuntu 22.04 上安装 Graylog,包括配置 Graylog 服务器软件包和访问 Graylog Web UI。
Graylog 是什么?
Graylog 是世界领先的集中式开源日志管理解决方案之一,用于集中、存储、可视化和实时监控 TB 级的机器数据,被 DevOps 工程师、安全分析师和应用程序开发人员广泛使用。
Graylog 用于做什么?
Graylog 是一种在技术、媒体、零售等行业广泛使用的工具,用于监控大量的网络活动,并精确定位任何影响性能的问题。它有助于从大规模的日志中获取见解,以支持更快的问题解决和业务连续性,减少停机时间。
Graylog 服务器包含以下主要组件:
- Elasticsearch - 一种搜索和分析引擎,用于存储和索引数据。
- MongoDB - 一种开源的 NoSQL 文档数据库,用于存储诸如用户信息之类的元数据。
- Graylog Server - 用于捕获、存储和分析实时机器数据的主要组件。它可视化数据以发现趋势和异常,并在发生任何事件时触发警报。此外,你还可以构建报告以符合既定标准和管理需求。
现在,让我们继续进行 Graylog Ubuntu 安装说明,首先定义先决条件。
准备工作
服务器准备
必要前提:
- 一个充满求知欲的大脑。
- 一台 Linux 服务器(推荐腾讯云、阿里云或雨云等)。
我将以 雨云 为例,带大家创建一台自己的云服务器,以便学习本篇文章的内容。
注册链接: https://rainyun.ivwv.site
创建雨云服务器
以下步骤仅供参考,请根据实际需求选择配置。
- 点击 云产品 → 云服务器 → 立即购买。
- 选择距离你较近的区域,以保证低延迟。
- 按照自己需求选择配置,选择Ubuntu 22.04 版本,按照自己需求是否预装Docker。
- 最后按照提示进行购买。
- 购买后等待机器部署完毕,点击刚刚创建好的服务器,进入管理面板,找到远程连接相关信息。
- 我们使用
PowerShell
进行SSH
远程连接到服务器,Win+R
打开运行窗口,输入powershell
后点击确定。
- 输入
ssh root@你的服务器IP
例如ssh root@154.9.227.239
回车后,首次需要输入yes
,再次回车后即可登录服务器。
- 到此为止,我们的云服务器就远程连接上了。
安装和配置步骤
为了在 Ubuntu 22.04 上安装 Graylog,你必须遵循一个相对简单的过程。它包括安装 OpenJDK、Elasticsearch 和 MongoDB 等先决条件软件包。之后,下载并配置 Graylog 服务器软件包,然后设置 Nginx 作为反向代理以访问 Graylog Web UI。
让我们直接开始。按照以下步骤在你的 Ubuntu 22.04 服务器上安装并运行 Graylog。
第一步:更新本地软件包索引
首先,登录到你的服务器并更新本地软件包索引。
sudo apt update
接下来,安装 Graylog 服务器安装期间需要的一组依赖项。
sudo apt install curl wget apt-transport-https
安装完成后,进入下一步。
第二步:安装 OpenJDK
在安装 Graylog 之前,我们需要安装 Java。我们将安装 OpenJDK,这是一个由 Oracle 当前维护的免费开源 Java 实现。最新版本的 Graylog - Graylog 5.2 - 至少需要 OpenJDK 17。
要安装 OpenJDK 17,请运行以下命令:
sudo apt install openjdk-17-jre-headless -y
安装完成后,你可以确认已安装的 Java 版本,如下所示。
java -version
第三步:安装 ElasticSearch
Elasticsearch 是 Graylog 安装中的另一个关键组件。它是一个分布式搜索和分析引擎,广泛用于全文搜索、日志分析、业务分析和分析安全事件。
在 Graylog 中,Elasticsearch 存储、搜索和分析来自外部来源的日志和消息。
Elasticsearch 不托管在官方 Ubuntu 存储库中。因此,我们将从 Elasticsearch 存储库安装它。为此,首先,下载并添加 Elasticsearch GPG 密钥。
curl -fsSL https://artifacts.elastic.co/GPG-KEY-elasticsearch | sudo apt-key add -
接下来,切换到 root 用户。
sudo su -
并将 Elasticsearch 存储库添加到系统中。
echo "deb https://artifacts.elastic.co/packages/7.x/apt stable main" | sudo tee -a /etc/apt/sources.list.d/elastic-7.x.list
接下来,更新本地缓存以通知系统新添加的存储库。
apt update
本地缓存更新后,使用 APT 软件包管理器从存储库安装 Elasticsearch。
apt install elasticsearch -y
安装完成后,你需要对主要的 Elasticsearch 配置文件进行一些调整。使用你喜欢的文本编辑器访问该文件。在这里,我们使用 nano 命令行编辑器。
nano /etc/elasticsearch/elasticsearch.yml
设置你喜欢的集群名称,并在其下方添加 action.auto_create_index: false
行。
cluster.name: graylog
action.auto_create_index: false
完成后,保存更改并退出。重新加载 systemd 以应用更改并启动 Elasticsearch。
systemctl daemon-reload
systemctl start elasticsearch
你可以验证 Elasticsearch 的状态,如下所示。
sudo systemctl status elasticsearch
从输出中,你可以看到 Elasticsearch 服务正在运行。
此外,请考虑启用 Elasticsearch 服务以在启动时启动。
systemctl enable elasticsearch
你可以使用 curl
命令行工具向你的节点发送 GET
请求,以查看有关 Elasticsearch 的详细信息。
curl -X GET http://localhost:9200
第四步:安装 MongoDB 服务器
在 Graylog 服务器中,MongoDB 数据库存储配置信息和用户数据。最新版本的 Graylog 需要 MongoDB 5.x 和 6.x 版本。在本指南中,我们将从 MongoDB 存储库安装 MongoDB 6.0。
因此,添加 MongoDB GPG 签名密钥。
curl -fsSL https://pgp.mongodb.com/server-6.0.asc | \\
sudo gpg --dearmor -o /etc/apt/trusted.gpg.d/mongodb-server-6.0.gpg
接下来,将 MongoDB 存储库添加到你系统上的 sources.list.d
目录。
echo "deb [ arch=amd64,arm64 signed=/etc/apt/trusted.gpg.d/keyrings/mongodb-server-6.0.gpg ] https://repo.mongodb.org/apt/ubuntu jammy/mongodb-org/6.0 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-6.0.list
将存储库添加到你的系统后,更新本地 APT 缓存。
sudo apt update
然后安装 MongoDB 数据库服务器。
sudo apt install mongodb-org -y
要验证安装的版本,请运行以下命令:
mongod --version
MongoDB 在安装后不会自动启动,因此请按如下所示启动它。
sudo systemctl start mongod
确认 MongoDB 数据库服务正在运行:
sudo systemctl status mongod
此外,请考虑启用该服务以在启动时自动启动。
sudo systemctl enable mongod
安装了 MongoDB 数据库服务器后,下一步是安装 Graylog 服务器。
第五步:安装 Graylog 服务器
我们现在准备在 Ubuntu 上安装 Graylog 服务器。默认情况下,Graylog 服务器软件包在 Ubuntu 存储库上不可用。因此,我们将从官方 Graylog 存储库安装 Graylog。
因此,下载 Graylog Debian 软件包。
wget https://packages.graylog2.org/repo/packages/graylog-5.2-repository_latest.deb
接下来,运行 dpkg
命令来运行该软件包。
sudo dpkg -i graylog-5.0-repository_latest.deb
接下来,更新本地 APT 缓存。
sudo apt-get update
最后,按如下方式安装 Graylog 服务器。
sudo apt install graylog-server -y
安装 Graylog 服务器后,你需要生成一个密钥来保护用户密码,并为管理员用户生成一个加密密码。
要生成一个用于保护用户密码的密钥,请运行以下命令:
< /dev/urandom tr -dc A-Z-a-z-0-9 | head -c${1:-96};echo;
加密密码(由字母数字字符组成)将显示在终端上。
接下来,为 Graylog 管理员登录用户生成一个加密密码。
echo -n "Enter Password: " && head -1 </dev/stdin | tr -d '\\n' | sha256sum | cut -d" " -f1
出现提示时,键入密码并按 ENTER。加密密码将显示在屏幕上。
将这两个加密密码复制并粘贴到某处,然后打开 Graylog 配置文件。
nano /etc/graylog/server/server.conf
使用生成的加密密码更新 password_secret
和 root_password_sha2
。
password_secret = hTRdp0JxNLeuxKXFeTjNYzOMpM-6zdBPalK4eKbsEhxSlxkIFgTcUBzPmhj21Hc89OmyW1NqitmROHXtgqJqwGte4t7PBwi0root_password_sha2 = bfe4814665ab5c23359f7114d289110e7c725a1528fa2cd68c601a0a5d6c05108
接下来,使用 http_bind_address
指定 Graylog HTTP 接口将侦听的 IP 地址。默认情况下,此项设置为 localhost 或回环地址。确保将其设置为分配给你的网络接口的 IP,并指定 Graylog 侦听的端口(端口 9000)。
http_bind_address = 208.117.84.72:9000
保存更改并退出配置文件。接下来,重新加载 systemd 以通知系统所做的更改。
systemctl daemon-reload
接下来,启动 Graylog 服务。
systemctl start graylog-server
Graylog 守护程序或服务现在应该正在运行。你可以按如下所示确认这一点。
systemctl status graylog-server
请考虑启用该服务以在系统启动时启动。
systemctl enable graylog-server
第五步:配置 Nginx 作为反向代理
Graylog 本身可以充当前端,不需要 Web 服务器。但是,你可以将 Web 服务器配置为端口 80 到端口 9000(Graylog 侦听的端口)的反向代理。这也简化了为 Graylog 配置 SSL 证书的过程。
在我们的示例中,我们将使用 Nginx 作为我们首选的 Web 服务器。要安装 Nginx,请运行以下命令:
apt install nginx
安装完成后,为 Graylog 创建一个虚拟主机文件。
nano /etc/nginx/sites-available/graylog.conf
添加以下代码行,并确保为 proxy_pass
属性指定你服务器的 IP。
server {listen 80;server_name graylog.example.org;location /{proxy_set_header Host $http_host;proxy_set_header X-Forwarded-Host $host;proxy_set_header X-Forwarded-Server $host;proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;proxy_set_header X-Graylog-Server-URL http://$server_name/;proxy_pass http://208.117.84.72:9000;}}
保存更改并退出配置文件。然后,运行以下命令以验证你的 Web 服务器的配置语法是否正确。
nginx -t
如果一切正常,请启用 Nginx 虚拟主机文件。
ln -s /etc/nginx/sites-available/graylog.conf /etc/nginx/sites-enabled/
请记住删除默认的虚拟主机文件,因为这将覆盖新启用的虚拟主机配置。
rm -rf /etc/nginx/sites-enabled/default
要应用所做的更改,请重新启动 Nginx Web 服务
systemctl restart nginx
并确保它按预期运行。
systemctl status nginx
第六步:访问 Graylog Web 界面
要访问 Graylog Web 界面,请在你的 Web 浏览器上访问以下 URL。
http://server-ip
你将看到显示的网页。使用用户名 admin
和你在第 5 步中以纯文本指定的 root 用户密码登录。然后单击“登录”按钮。
登录后,你应该会看到 Graylog Web UI。从这里,你可以添加数据源以进行实时数据分析。
结论
就是这样;在本教程中,我演示了如何在 Ubuntu 22.04 服务器上安装 Graylog,包括配置。有关 Graylog 的更多信息,请查看 官方文档。
雨云 - 新一代云服务提供商: https://rainyun.ivwv.site
我的博客:https://blog.ivwv.site