如何在 Ubuntu 22.04 上安装 Graylog 开源日志管理平台

简介

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_secretroot_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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/63872.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

技术发展历程:从 CORBA 到微服务

CORBA CORBA&#xff08;Common Object Request Broker Architecture&#xff09;诞生于上世纪 90 年代初期&#xff0c;由 OMG 组织提出&#xff0c;它作为一种开创性的分布式对象技术规范&#xff0c;在当时的计算机领域引起了轰动。其核心构成部分——接口定义语言&#xf…

抢单人机交互「新红利」!哪些细分赛道“多金”?

受终端用户的智能座舱体验需求驱动&#xff0c;视觉、听觉、触觉等人机交互方式加速焕新。 一方面&#xff0c;人机多模交互引领&#xff0c;车载声学进入新周期。根据高工智能汽车研究院统计数据&#xff0c;单车的车载扬声器搭载量正在快速起量。 很显然&#xff0c;作为智…

前端学习DAY26(华为平板页面)

<!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"><title>平板图片</title><style> .box{text-al…

算法 双指针技巧

文章目录 双指针[leetcode167 两数之和](https://leetcode.cn/problems/two-sum-ii-input-array-is-sorted/description/)分析题解 [leetcode88 合并两个有序数组](https://leetcode.cn/problems/merge-sorted-array/description/)分析题解 [leetcode142 环形链表](https://lee…

DevOps工程技术价值流:制品库Nexus与Harbor的实战探索

制品库作为DevOps价值流中的一个关键环节&#xff0c;其重要性日益凸显。制品库&#xff0c;作为存储和管理软件开发过程中产生的各种制品&#xff08;如代码包、镜像、配置文件等&#xff09;的仓库&#xff0c;是连接开发、测试、部署等多个环节的桥梁。它不仅能够实现制品的…

R9000P键盘失灵解决办法

问题描述 突然&#xff0c;就是很突然&#xff0c;我买的R9000P 2024不到三个月&#xff0c;键盘突然都不能用了&#xff0c;是所有键盘按键都无效的那种。&#xff08;可以使用外接键盘&#xff09; 解决办法 我本科室友说的好哈&#xff0c;全坏全没坏。 &#xff08;该解…

潜在狄利克雷分配LDA 算法深度解析

引言 潜在狄利克雷分配&#xff08;Latent Dirichlet Allocation, LDA&#xff09;是一种广泛应用于文本挖掘和信息检索领域的主题模型。它能够从文档集合中自动发现隐藏的主题结构&#xff0c;为理解大规模文本数据提供了强有力的工具。本文将着重讲解 LDA 的核心理论&#x…

sentinel学习笔记6-限流降级(上)

本文属于sentinel学习笔记系列。网上看到吴就业老师的专栏&#xff0c;写的好值得推荐&#xff0c;我整理的有所删减&#xff0c;推荐看原文。 https://blog.csdn.net/baidu_28523317/category_10400605.html sentinel 实现限流降级、熔断降级、黑白名单限流降级、系统自适应…

全面解析 Kubernetes 流量负载均衡:iptables 与 IPVS 模式

目录 Kubernetes 中 Service 的流量负载均衡模式 1. iptables 模式 工作原理 数据路径 优点 缺点 适用场景 2. IPVS 模式 工作原理 数据路径 优点 缺点 适用场景 两种模式的对比 如何切换模式 启用 IPVS 模式 验证模式 总结 Kubernetes 中 Service 的流量负载…

每日十题八股-2024年12月19日

1.Bean注入和xml注入最终得到了相同的效果&#xff0c;它们在底层是怎样做的&#xff1f; 2.Spring给我们提供了很多扩展点&#xff0c;这些有了解吗&#xff1f; 3.MVC分层介绍一下&#xff1f; 4.了解SpringMVC的处理流程吗&#xff1f; 5.Handlermapping 和 handleradapter有…

蓝桥杯嵌入式备赛教程(1、led,2、lcd,3、key)

一、工程模版创建流程 第一步 创建新项目 第二步 选择型号和管脚封装 第三步 RCC使能 外部时钟&#xff0c;高速外部时钟 第四步晶振时钟配置 由数据手册7.1可知外部晶振频率为24MHz 最后一项设置为80 按下回车他会自动配置时钟 第五步&#xff0c;如果不勾选可能程序只会…

2.4 设备管理

文章目录 设备管理概述设备管理技术磁盘调度 设备管理概述 设备管理是操作系统中最繁杂、与硬件关系紧密的部分。 设备可以按照数据组织、资源分配、数据传输率分类。 数据组织&#xff1a;分为块设备&#xff08;ex. 磁盘&#xff09;、字符设备(ex. 打印机)。资源分配&#…

网络安全渗透有什么常见的漏洞吗?

弱口令与密码安全问题 THINKMO 01 暴力破解登录&#xff08;Weak Password Attack&#xff09; 在某次渗透测试中&#xff0c;测试人员发现一个网站的后台管理系统使用了非常简单的密码 admin123&#xff0c;而且用户名也是常见的 admin。那么攻击者就可以通过暴力破解工具&…

PSDK的编译与ROS包封装

本文档讲述在NIVIDIA开发板上使用大疆提供的Payload SDK获取无人机实时GPS信息的方法&#xff0c;以及基于Payload SDK发布ROS GPS话题信息的方法。 文章目录 0 实现目标1 Payload SDK1.1 PSDK 源码的编译1.2 PSDK 的使用 2 遥测数据的读取2.1 示例代码结构2.2 读取机载GPS信息…

模型 课题分离

系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。明确自我与他人责任。 1 课题分离的应用 1.1课题分离在心理治疗中的应用案例&#xff1a;李晓的故事 李晓&#xff0c;一位28岁的软件工程师&#xff0c;在北京打拼。他面临着工作、家庭和感情的多重…

大恒相机开发(3)—大恒相机工业检测的实际案例

大恒相机工业检测的实际案例 工业检测的实际案例图像采集性能优化技巧工业环境下的稳定性 工业检测的实际案例 以下是一些使用大恒相机进行工业检测的实际案例&#xff1a; 多特征光学成像系统&#xff1a; 在这个案例中&#xff0c;使用大恒相机构建了一个全方位、多特征的图…

go官方日志库带色彩格式化

go默认的 log 输出的日志样式比较难看&#xff0c;所以通过以下方式进行了美化和格式化&#xff0c;而且加入了 unicode 的ascii码&#xff0c;进行色彩渲染。 package mainimport ("fmt""log""os""runtime""strings""…

Linux shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件

Linux Debian12基于ImageMagick图像处理工具编写shell脚本用于常见图片png、jpg、jpeg、webp、tiff格式批量转PDF文件&#xff0c;”多个图片分开生成多个PDF文件“或者“多个图片合并生成一个PDF文件” 在Linux系统中&#xff0c;使用ImageMagick可以图片格式转换&#xff0c…

【C++语言】多态

一、多态的概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某种行为&#xff0c;当不同的对象去完成时会产生出不同的状态。 我们可以举一个例子&#xff1a; 比如买票这种行为&#xff0c;当普通人买票时&#xff0c;是全价买票&am…

Centos7配置webrtc-streamer环境

Centos7配置webrtc-streamer环境 安装webrtc-streamer0.7版本 升级gdb 1、yum安装2、查看gdb版本3.下载待升级的gdb版本4.QA 1、预编译的时候报错no acceptable C compiler found in $PATH2、make的时候报错[all-bfd] Error3、make的时候报错 升级GCC 1.源码编译升级gcc9.3.0…