3.2 Syslog 输入
3.2 Syslog 输入
适用场景
Syslog 是传统设备与操作系统最常见的日志协议。典型来源包括:
Linux 系统日志
网络设备(交换机、防火墙)
应用网关与中间件
创建 Syslog Input
System → Inputs
选择 Syslog UDP 或 Syslog TCP
绑定节点并配置端口(如 5140)
保存并启动
采集示例(Linux rsyslog)
在客户端 /etc/rsyslog.d/50-graylog.conf:
*.* @@graylog.example.com:5140 # TCP
# 或
*.* @graylog.example.com:5140 # UDP
重启 rsyslog:
systemctl restart rsyslog
解析建议
Syslog 默认是文本,需要配合 Extractors 或 Pipelines 解析字段,比如:
主机名
程序名
日志级别
小结
Syslog Input 是最常用的入口之一。下一章介绍 GELF 输入。
下一节:3.3 GEL ...
3.1 Inputs 概述
3.1 Inputs 概述
Inputs 是什么
Inputs 是 Graylog 接收日志的入口,每个 Input 对应一种协议或格式(如 Syslog、GELF、Beats)。Inputs 可以绑定在任意 Graylog 节点,也可以绑定在集群中所有节点。
常见 Input 类型
Syslog UDP/TCP:传统设备与系统日志
GELF UDP/TCP/HTTP:结构化日志推荐格式
Raw/Plaintext:原始文本
Beats:Filebeat/Winlogbeat 采集
选择 Input 的建议
新系统优先使用 GELF(结构化字段)
传统系统使用 Syslog(需解析)
复杂应用使用 Sidecar + Beats
创建 Input 的步骤
System → Inputs
选择类型并绑定节点
配置端口与接收缓存
保存并开始监听
小结
本章介绍了 Inputs 的定位与类型。下一章以 Syslog 为例进行实践。
下一节:3.2 Syslog 输入
返回目录 | 返回首页
2.3 高可用与负载均衡
2.3 高可用与负载均衡
高可用目标
Web/API 高可用:Graylog 多节点
写入高可用:Inputs 统一入口并可扩展
存储高可用:MongoDB 副本集 + ES/OS 集群
负载均衡策略
1) Web/API(9000)
通过 Nginx/HAProxy/LVS 做四层或七层 LB
开启健康检查
2) Inputs
UDP/TCP Inputs 建议使用四层 LB
GELF/HTTP Inputs 可用七层 LB
设计要点
共享密钥一致:password_secret
Session 一致性:可使用粘性会话或统一 SSO
告警与仪表盘:配置存放于 MongoDB,天然共享
实战建议
Graylog 节点至少 2 台
MongoDB 3 节点副本集
ES/OS 3+ 节点,确保主节点与数据节点分离
小结
本章介绍了高可用与负载均衡的关键设计。下一章进入 Inputs 实操。
下一节:3.1 Inputs 概述
返回目录 | 返回首页
2.2 集群部署
2.2 集群部署
目标
搭建具备高可用能力的 Graylog 集群,适合中等规模日志量。
参考拓扑
2~3 台 Graylog Server(前置 LB)
MongoDB 副本集(3 节点)
OpenSearch/Elasticsearch 集群(3+ 节点)
关键注意点
时间同步:所有节点必须 NTP 同步
一致配置:Graylog 节点配置保持一致
共享密钥:password_secret 在所有节点相同
负载均衡:统一入口 9000 与 Inputs 端口
Graylog 节点示例配置
password_secret = <与其他节点一致>
root_password_sha2 = <sha256密码>
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://es01:9200,http://es02:9200,http://es03:9200
mongodb_uri = mongodb://mongo01,mongo02,mongo03/graylog? ...
2.1 单机部署
2.1 单机部署
目标
快速搭建可用的 Graylog 单机环境,用于学习与验证。
组件版本建议
Graylog 5.x
MongoDB 6.x
OpenSearch 2.x 或 Elasticsearch 7.x
最小配置建议
4C / 8GB / 100GB SSD
单机仅用于测试或小流量
基础部署步骤(示例)
安装 MongoDB
安装 OpenSearch/Elasticsearch
安装 Graylog Server
配置 Graylog:设置 password_secret 与 root_password_sha2
启动服务 并访问 Web UI
核心配置项
password_secret = <随机32位>
root_password_sha2 = <sha256密码>
http_bind_address = 0.0.0.0:9000
elasticsearch_hosts = http://127.0.0.1:9200
mongodb_uri = mongodb://127.0.0.1:2701 ...
1.3 规划与容量估算
1.3 规划与容量估算
为什么要做容量规划
日志系统最常见的问题是容量不足与写入瓶颈。良好的规划可以:
保证写入与检索性能
控制存储成本
明确扩容路线
关键指标
每日日志量(GB/天)
峰值写入速率(messages/s)
保留周期(天)
索引副本数
估算公式(简化)
总存储 ≈ 每日日志量 × 保留天数 × (1 + 副本数)
例如:每天 200GB,保留 30 天,副本 1(即 1 副本):
200 × 30 × (1 + 1) = 12,000 GB
规划建议
小规模(<100GB/天):单机或 3 节点 ES/OS
**中规模(100500GB/天)**:35 节点 ES/OS + 2 Graylog
大规模(>500GB/天):多数据节点 + 冷热分层
索引与分片建议
索引周期:按天或按周
分片数量:与节点数匹配,避免过多小分片
保留策略:按时间删除旧索引
小结
容量规划决定后续性能与成本。下一章进入实际安装部署。
下一节:2.1 单机部署
返回目录 | 返回首页
1.2 架构与组件
1.2 架构与组件
Graylog 架构总览
Graylog 典型架构包含三类核心组件:
Graylog Server:接收日志、执行解析与路由、提供 Web/API。
MongoDB:存储配置、用户、Stream/Index 模板等元数据。
Elasticsearch/OpenSearch:存储日志索引与执行检索/聚合。
数据流:Input → Stream → Pipeline/Extractor → Index → Search/Dashboards
Graylog Server 的职责
Inputs:监听 UDP/TCP/HTTP 等入口
Streams:按规则路由日志
Pipelines:字段解析、清洗与增强
Index 管理:索引滚动、生命周期、保留策略
Search & Views:提供检索与可视化能力
MongoDB 的职责
保存配置(Inputs/Streams/Pipelines/用户)
保存仪表盘、视图、告警规则等
元数据查询频繁,建议使用副本集以提升可用性
Elasticsearch/ ...
1.1 Graylog简介
1.1 Graylog简介
什么是 Graylog?
Graylog 是一个集中式日志管理与分析平台,核心目标是把分散在各系统中的日志统一收集、结构化、索引与可视化。它常用于故障排查、安全审计、业务监控与容量评估。
Graylog 的核心能力
集中收集:支持 Syslog、GELF、Beats/Sidecar 等输入
结构化解析:通过 Extractors 与 Pipelines 把文本日志转成字段
高效检索:基于 Elasticsearch/OpenSearch 的全文检索与聚合
可视化分析:Dashboards 与 Views 快速构建图表
告警通知:事件规则 + 通知渠道构建告警体系
典型使用场景
生产故障排查:按请求 ID、主机、服务快速定位问题
安全审计:集中存储与审计敏感操作日志
性能与容量:分析延迟与趋势,评估资源消耗
运维治理:统一字段规范与日志标准化
Graylog 与 ELK 的区别
维度
Graylog
ELK/Elastic Stack
上手成本
更简单
较复杂
解析方式
Extractor ...

