Graylog 6.3.6 Docker 部署

编程 (251) 2025-12-22 16:58:33

Docker Compose 配置

docker-compose.yml

version: '3.8'

services:
  # ==================================================
  # MongoDB 6.0.20 - Graylog 元数据存储(用户、流、仪表盘等)
  # ==================================================
  mongodb:
    image: mongo:6.0.20
    container_name: graylog-mongodb
    restart: unless-stopped
    networks:
      - graylog-net
    volumes:
      - mongodb_data:/data/db
    environment:
      - MONGO_INITDB_ROOT_USERNAME=${MONGO_ROOT_USERNAME}
      - MONGO_INITDB_ROOT_PASSWORD=${MONGO_ROOT_PASSWORD}
    command: ["--bind_ip_all"]
    deploy:
      resources:
        limits:
          memory: 1g
  # ==================================================
  # OpenSearch 2.15.0 - 日志索引与搜索(强制启用安全插件)
  # ==================================================
  opensearch:
    image: opensearchproject/opensearch:2.15.0
    container_name: graylog-opensearch
    restart: unless-stopped
    networks:
      - graylog-net
    volumes:
      - opensearch_data:/usr/share/opensearch/data
    environment:
      - cluster.name=graylog-cluster
      - node.name=opensearch-node
      - discovery.type=single-node
      - bootstrap.memory_lock=true
      - "OPENSEARCH_JAVA_OPTS=-Xms384m -Xmx384m"
      - plugins.security.disabled=true #禁用安全插件
      - OPENSEARCH_INITIAL_ADMIN_PASSWORD=${OPENSEARCH_ADMIN_PASSWORD}
    ulimits:
      memlock:
        soft: -1
        hard: -1
    ports:
      - "9200:9200"   # REST API (HTTPS)
      - "9600:9600"   # Performance Analyzer
    deploy:
      resources:
        limits:
          memory: 1g
  # ==================================================
  # Graylog 6.3.6 - 核心服务 + Web UI
  # ==================================================
  graylog:
    image: graylog/graylog:6.3.6
    container_name: graylog-server
    restart: unless-stopped
    networks:
      - graylog-net
    ports:
      - "9000:9000"       # Web UI
      - "12201:12201/udp" # GELF UDP
      - "1514:1514"       # Syslog TCP
      - "1515:1515/udp"   # Syslog UDP
    volumes:
      - graylog_data:/usr/share/graylog/data
    environment:
      # 基础安全配置
      GRAYLOG_PASSWORD_SECRET: "${GRAYLOG_PASSWORD_SECRET}"
      GRAYLOG_ROOT_PASSWORD_SHA2: "${GRAYLOG_ROOT_PASSWORD_SHA2}"
      GRAYLOG_HTTP_EXTERNAL_URI: "${GRAYLOG_HTTP_EXTERNAL_URI}"

      # MongoDB 连接
      GRAYLOG_MONGODB_URI: "mongodb://${MONGO_ROOT_USERNAME}:${MONGO_ROOT_PASSWORD}@mongodb:27017/graylog?authSource=admin"

      # OpenSearch 连接(注意:协议为 HTTPS!)
      GRAYLOG_ELASTICSEARCH_HOSTS: "http://opensearch:9200"
      GRAYLOG_ELASTICSEARCH_USERNAME: "admin"
      GRAYLOG_ELASTICSEARCH_PASSWORD: "${OPENSEARCH_ADMIN_PASSWORD}"

      # JVM 调优(根据机器资源调整)
      GRAYLOG_SERVER_JAVA_OPTS: "-Xms384m -Xmx384m -XX:+UseG1GC -Djdk.tls.client.protocols=TLSv1.2,TLSv1.3"
    depends_on:
      - mongodb
      - opensearch
    deploy:
      resources:
        limits:
          memory: 1g

volumes:
  mongodb_data:
  opensearch_data:
  graylog_data:

networks:
  graylog-net:
    driver: bridge

提示:以上内存等配置可根据实际情况配置。

环境配置

.env

# ==================================================
# MongoDB 6.0.20 - 配置
# ==================================================

# Mongo 超管账号名称
MONGO_ROOT_USERNAME=graylog

# Mongo 超管账号密码
MONGO_ROOT_PASSWORD=graylog_secure_password_2025



# ==================================================
# OpenSearch 2.15.0 - 配置
# ==================================================

# OpenSearch 内置 admin 密码(默认用户名为 admin)
OPENSEARCH_ADMIN_PASSWORD="osA^123|45{2025!"


# ==================================================
# Graylog 6.3.6 - 配置
# ==================================================

# Graylog root 用户密码(明文用于生成 SHA256)
# 实际使用时,请先运行:echo -n "admin" | shasum -a 256
GRAYLOG_ROOT_PASSWORD_SHA2="8c6976e5b5410415bde908bd4dee15dfb167a9c873fc4bb8a81f6f2ab448a918"

# 至少 16 字符的加密盐(用于 JWT、会话等)
GRAYLOG_PASSWORD_SECRET="GraylogSecretPepper2025!SecureIt!"

# 外部访问地址(必须与浏览器访问 URL 一致)
GRAYLOG_HTTP_EXTERNAL_URI="http://localhost:9000/"


搭配docker-compose.yml配置文件使用,名命为.env

 

 


评论
User Image
提示:请评论与当前内容相关的回复,广告、推广或无关内容将被删除。

相关文章
Docker Compose 配置docker-compose.ymlversion: '3.8'services: # ===================
前置条件安装部署好graylog server创建graylog input 打开System/Inputs菜单选择输入类型为filebeat进行创建input创建inputinput信息配置i...
GrayLog admin账号修改密码(docker版)由于graylog的admin账号不是配置到数据库中,而是配置到配置文件/etc/graylog/server/server.conf里面...
简单介绍在graylog web界面如何查询想要的日志 查询单个字符串 "your-info" 查询包含A和B的记录
Graylog 数据清理_Graylog数据保留策略配置#Graylog 索引配置管理员账号登录graylog,并打开System/Includes菜单#编辑索引配置 选择Default ind...
 GrayLog 普通用户添加及配置角色Graylog添加用户首先登录管理员账号,打开System&gtl;Users and Teams 点击右边的"Create User"按钮,开始创建用户...
安装docker和docker-compose参考文章:CentOS 8.0-8.4 yum 安装docker-ce-xqlee (www.daimagu.com)Ubuntu 在线安装 Doc...
Nginx 配置日志nginx默认的日志配置在nginx.conf配置文件。
普通来说1LBA = 512Bytes所以写入量(T)LBAs值 ✖ 512 ➗ 1024 ➗ 1024 ➗ 1024 ➗ 1024 = 写入量(T)示例:LB
docker logs 是 Docker 提供的一个命令行工具,用于查看容器的 stdout/stderr 输出日志。以下是一些常用的 docker logs
执行方案使用crontab + shell脚本方式,每天定时分隔access.log和error.log,防止文件过大带来的问题。 nginx 日志分隔脚本ng
概述Windows ipv6如何查看,Windows ipv6的几种类型解析,包括:IPv6 地址 临时IPv6地址 本地链接IPv6地址 对比区别总结,默认网
有时候服务器运行的好好的,突然就无法连接无法执行任何操作了,强制重启后需要通过系统日志排查系统故障的原因只有root特权程序才能正常关闭系统。因此,当系统以正常
centos6.5安装MySQL 5.6版本,并配置数据了链接数量数据库默认字符集utf8mb4支持Emoji表情4字节内容