Docker 部署 Graylog 日志管理系统

news/2025/3/6 11:12:53/

Docker 部署 Graylog 日志管理系统

  • 前言
  • 一、准备工作
  • 二、Docker Compose 配置
  • 三、启动 Graylog 服务
  • 四、访问 Graylog Web 界面
  • 总结


前言

Graylog 是一个开源的日志管理平台,专为实时日志收集、分析和可视化设计。它支持强大的搜索功能,并且与 Elasticsearch 和 MongoDB 集成。通过 Docker 部署 Graylog 可以快速搭建一个完整的日志管理系统。

本文将展示如何使用 Docker 和 Docker Compose 来部署 Graylog、Elasticsearch 和 MongoDB。


一、准备工作

首先,确保你的系统上已经安装了 Docker。

Linux上进行Docker安装有两种方式:

  1. Docker自动化安装
  2. Docker手动安装

可以根据该文章的步骤进行安装:https://blog.csdn.net/weixin_44876263/article/details/136714078?spm=1001.2014.3001.5502

二、Docker Compose 配置

在 Docker Compose 中,我们定义了三个服务:

  • MongoDB:用于存储 Graylog 的元数据。
  • Elasticsearch:用于存储和搜索日志数据。
  • Graylog日志管理系统,提供 Web 界面和 API 进行日志分析和可视化。

创建 docker-compose.yml 文件

首先,在项目目录下创建一个 docker-compose.yml 文件,并将以下内容粘贴进去:

version: '3'
services:mongodb:container_name: mongodbimage: mongo:4.4.0restart: alwaysvolumes:- /opt/graylog/mongo_data:/data/db- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:ronetwork_mode: "host"elasticsearch:image: docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2container_name: elasticsearchrestart: alwaysvolumes:- /opt/graylog/es_data:/usr/share/elasticsearch/data- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:roenvironment:- TZ=Asia/Shanghai- http.host=0.0.0.0- transport.host=localhost- network.host=0.0.0.0- http.cors.allow-origin=*- http.cors.enabled=true- discovery.type=single-node- 'ES_JAVA_OPTS=-Xms1024m -Xmx1024m'network_mode: "host"graylog:image: graylog/graylog:4.3.6container_name: graylogrestart: alwaysvolumes:- /opt/graylog/graylog_data:/usr/share/graylog/data- /etc/localtime:/etc/localtime:ro- /usr/share/zoneinfo/Asia/Shanghai:/etc/timezone:roenvironment:# CHANGE ME (must be at least 16 characters)!- GRAYLOG_PASSWORD_SECRET=somepasswordpepper# Password: admin- GRAYLOG_ROOT_PASSWORD_SHA2=8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918- GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/- GRAYLOG_MONGODB_URI=mongodb://localhost:27017/graylog- GRAYLOG_ELASTICSEARCH_HOSTS=http://localhost:9200- TZ=Asia/Shanghaientrypoint: /usr/bin/tini -- wait-for-it localhost:9200 --  /docker-entrypoint.shdepends_on:- mongodb- elasticsearchnetwork_mode: "host"

配置说明:

  • MongoDB 服务:

    • 使用官方 MongoDB 镜像 mongo:4.4.0
    • 数据存储在 /opt/graylog/mongo_data 目录。
    • 使用 host 网络模式,容器会直接使用宿主机的网络接口。
  • Elasticsearch 服务:

    • 使用 Elasticsearch 7.10.2 版本的 OSS 镜像 docker.elastic.co/elasticsearch/elasticsearch-oss:7.10.2
    • 数据存储在 /opt/graylog/es_data 目录。
    • 配置了 CORS 以支持跨域请求,并通过 http.host=0.0.0.0network.host=0.0.0.0 允许来自任意 IP 的访问。
    • 设置了单节点模式 discovery.type=single-node,适用于开发和测试环境。
  • Graylog 服务:

    • 使用 Graylog 官方镜像 graylog/graylog:4.3.6
    • 依赖于 MongoDB 和 Elasticsearch 服务,确保先启动 MongoDB 和 Elasticsearch 后再启动 Graylog。
    • 配置了 Graylog 的密码 GRAYLOG_PASSWORD_SECRET 和用户密码 GRAYLOG_ROOT_PASSWORD_SHA2(此处使用的是已加密的 SHA2 密码)。
    • 设置了 Graylog 的 Web 界面地址 GRAYLOG_HTTP_EXTERNAL_URI=http://127.0.0.1:9000/
    • 使用 entrypoint 等待 Elasticsearch 启动后再启动 Graylog。

三、启动 Graylog 服务

在完成 docker-compose.yml 文件的配置后,使用以下命令启动服务:

docker-compose up -d

该命令会在后台启动 MongoDBElasticsearchGraylog 服务。

四、访问 Graylog Web 界面

部署完成后,你可以通过浏览器访问 Graylog 的 Web 界面:

http://<your-server-ip>:9000

在这里插入图片描述
默认的登录信息:

  • 用户名:admin
  • 密码:admin(如果没有更改密码)

总结

通过 Docker 和 Docker Compose 部署 Graylog,能够快速搭建一个日志管理平台,提供强大的日志搜索和分析功能。本文展示了如何使用 Docker 配置并运行 MongoDB、Elasticsearch 和 Graylog 服务,确保系统在容器中运行并持久化数据。


http://www.ppmy.cn/news/1577052.html

相关文章

服务器CPU微架构

1、微架构图 前端&#xff1a;预解码、解码、分支预测、L1指令缓存、指令TLB缓存 后端&#xff1a;顺序重排缓存器ROB处理依赖&#xff0c;调度器送到执行引擎 执行引擎&#xff1a;8路超标量&#xff0c;每一路可以进行独立的微操作处理 Port0、1、5、6支持整数、浮点数的加…

RabbitMQ 高级配置与优化:从入门到精通

RabbitMQ 高级配置与优化:从入门到精通 引言 在分布式架构中,消息队列(MQ)是必不可少的一环,而 RabbitMQ 作为业界广泛使用的消息中间件,凭借其高吞吐、可扩展、可靠性等特性备受青睐。然而,很多开发者和运维人员在使用 RabbitMQ 时,仅仅停留在"能用"的层面…

Spring AI:开启Java开发的智能新时代

目录 一、引言二、什么是 Spring AI2.1 Spring AI 的背景2.2 Spring AI 的目标 三、Spring AI 的核心组件3.1 数据处理3.2 模型训练3.3 模型部署3.4 模型监控 四、Spring AI 的核心功能4.1 支持的模型提供商与类型4.2 便携 API 与同步、流式 API 选项4.3 将 AI 模型输出映射到 …

leetcode106-从中序与后序遍历序列构造二叉树

leetcode 106 思路 中序遍历&#xff1a;左中右 后序遍历&#xff1a;左右中 那么可以知道后序遍历的最后一个值一定是根节点&#xff0c;因为最后遍历中间节点&#xff0c;中间节点就是根节点&#xff0c;知道中间点&#xff0c;就能将中序数组进行切割&#xff0c;以中间节…

永磁直驱式风力发电虚拟同步机仿真模型Matlab/Simulink模型

很久没有分享虚拟同步机控制相关的方向了&#xff0c;毕业后在电科院的项目又有所接触。这个课题方向其实作为硕士毕业课题还是够用的&#xff0c;相对来说也是比较容易毕业的&#xff0c;因为涉及的分支比较多。 后续对虚拟同步机的控制&#xff0c;我就延续我前面博客提到的方…

AI浪潮下的软件工程师:如何在变革中突破自我,掌握AI技术

AI浪潮下的软件工程师&#xff1a;如何在变革中突破自我&#xff0c;掌握AI技术 引言 随着人工智能&#xff08;AI&#xff09;技术的飞速发展&#xff0c;各行各业都在经历前所未有的变革。软件工程师作为技术领域的核心力量&#xff0c;面临着新的挑战和机遇。本文将探讨在…

Blender常用快捷键的汇总

一、基础操作 全选/取消全选&#xff1a;A&#xff08;全选&#xff09;、AA&#xff08;连续按两次A取消全选&#xff09;复制物体&#xff1a;Shift D&#xff08;复制后需点击确认位置&#xff09;移动物体&#xff1a;G&#xff08;按X/Y/Z可约束轴向移动&#xff09;旋转…

*pu相关概念介绍

1. TPU(张量处理单元)​ ​定义:TPU(Tensor Processing Unit)是谷歌开发的专用芯片,针对机器学习中的张量运算进行优化,尤其擅长加速神经网络训练和推理​核心特点: ​架构:采用脉动阵列(systolic array)设计,数据像“脉搏”一样流动,减少内存访问延迟,高效处理矩…