光年日志分析工具高效智能,多维分析,支持服务器、应用、安全等日志,快速定位问题,生成可视化
安装与部署
环境要求
组件 |
最低要求 |
说明 |
操作系统 |
Linux (CentOS/Ubuntu) |
需64位系统 |
内存 |
8GB+ |
推荐16GB以上(大数据场景) |
磁盘空间 |
50GB+ |
日志存储需预留充足空间 |
依赖软件 |
Docker/Kubernetes |
容器化部署(可选) |
部署步骤
- 下载安装包:从官网获取对应版本压缩包,解压至指定目录。
- 配置环境变量:编辑
config.yaml
,设置日志存储路径、监听端口(默认9000)。
- 启动服务:执行
./logyear start
,后台运行日志采集进程。
- 验证状态:访问
http://<IP>:9000/status
查看服务状态。
核心功能模块
数据采集
采集方式 |
适用场景 |
配置示例 |
文件监听 |
本地日志文件(如Nginx日志) |
path: /var/log/nginx/.log |
远程传输 |
其他服务器日志(SSH/API) |
protocol: sftp , host: 192.168.1.100 |
实时流接入 |
Kafka/Redis等消息队列 |
topic: log-stream , bootstrap-servers: kafka-broker:9092 |
数据处理
- 清洗规则:支持正则表达式过滤、字段提取(如提取IP、状态码)。
- 脱敏处理:敏感信息(如手机号、邮箱)自动替换为掩码。
- 格式转换:将多类型日志统一为JSON格式存储。
分析与查询
- 关键词搜索:支持全文检索(如
error
)、字段过滤(如status=500
)。
- 统计报表:自动生成TOP N错误、访问量趋势图。
- 告警规则:触发条件(如“5分钟内错误数>100”)可配置邮件/短信通知。
操作流程示例
添加日志源
# 通过Web界面或API创建采集任务
curl -X POST http://localhost:9000/api/sources
-H "Content-Type: application/json"
-d '{
"type": "file",
"path": "/var/log/app/.log",
"filter": "ERROR|WARN"
}'
数据清洗配置
字段 |
规则示例 |
说明 |
timestamp |
d{4}-d{2}-d{2} d{2}:d{2}:d{2} |
提取时间字段 |
level |
(?i)error|warn|info |
日志级别分类 |
message |
保留原始消息内容 |
查询与导出
高级功能
自定义插件开发
- 脚本插件:通过Python/Groovy编写数据处理逻辑,挂载至
/plugins/
目录。
- API集成:调用RESTful接口实现与其他系统(如Zabbix、Prometheus)联动。
集群部署
模式 |
特点 |
适用场景 |
单机版 |
低延迟、易部署 |
中小型项目 |
分布式集群 |
高可用、水平扩展 |
海量日志(日均亿级) |
常见问题与限制
问题 |
解决方案 |
数据延迟 |
检查网络带宽,调整采集频率(默认1秒),启用批量传输。 |
存储空间不足 |
清理历史日志(保留周期可配置),或扩容磁盘/挂载OSS。 |
查询性能低 |
优化索引字段,限制单次查询范围(如时间窗口≤24小时)。 |
问题与解答
Q1:如何排查日志采集失败的原因?
A1:检查以下步骤:

- 确认日志源路径/权限是否正确;
- 查看服务日志(
/logs/service.log
)中的错误信息;
- 测试网络连通性(如SSH/API采集场景)。
Q2:能否跨多个数据中心同步日志?
A2:支持,需在各中心部署采集节点,通过配置replica
参数将数据同步至主节点,或直接写入共享存储(如MinIO/NFS
