Skip to content

Latest commit

 

History

History
72 lines (51 loc) · 2.76 KB

README_CH.md

File metadata and controls

72 lines (51 loc) · 2.76 KB

Qelog

是一款小巧低成本轻运维的日志服务。其诞生的目的就是为了解决中小团队多服务群日志和报警问题。

已经稳定运行2年+,滚动写入超过100+TB数据。

后台示例地址 账号:admin 密码:123456

日志系统特性:

Client

  • qelog 是项目的Go版本Client。 Wrap Uber-zap ,扩展功能,对WriteSyncer进行本地和远程的实现。
  • 本地扩展:日志的切割,压缩,保留期,动态切换等级等。
  • 远程扩展:缓冲打包压缩传输日志数据,异常备份重试保证不丢失,支持GRPC(默认) HTTP协议,IO控制保证带宽占用可控,内存占用低等特点。

Log receiver server

  • Receiver 进程可横向扩展,保证高可用,高性能。
  • 通过对Receiver配置多存储实例,提高集群存储容量和写入性能。
  • 报警模块,对每条日志进行报警规则检测。命中后可以根据规则和不同的报警方式送达。目前支持 DingTalk | Telegram
  • 实现数据分片存储规则,支持自动管理容量,监控预警。存储扩展单独实例,不因中间件而产生瓶颈。
  • 日志统计,等级分布,趋势报表等。

Log manager server

  • 基于 vue-element-admin 修改,支持丰富的查询维度,比如 等级、关键字、TraceId、ClientIP、多级条件等。因成本和性能问题暂不支持全文索引
  • 友好的操作交互,简易的配置,高效的内容展示,几乎可做到开箱注册即用
  • 集群容量统计查询,手动干预等功能。

性能测试工具

  • /tools 包含benchmark与内存占用测试。
  • 不同的运行环境和配置有不同的表现,可合理综合分析,初步检测此服务是否满足场景需求。

PS: 生产环境中,该项目经过几轮死循环“攻击”。。。

设计简图

设计简图

使用建议

Client端导入项目

go get -u github.com/bbdshow/qelog/qezap

Client示例

服务快速部署

默认使用单节点部署

容器部署
git clone https://github.com/bbdshow/qelog.git
cd qelog
# build docker image
make image
# docker-compose start container
docker-compose up -d
主机部署
git clone https://github.com/bbdshow/qelog.git
cd qelog
make
cd bin
# ./qelog or nohup ./qelog &

服务集群部署

集群部署时,注意Mongodb的配置文件以及服务运行模式 cluster_admin | cluster_receiver 再使用docker-compose.yaml 参考进行集群编排

感谢支持,如果对您有用,希望Star以表支持,有问题请提 Issues,持续更新并解决问题。