MCPcopy Index your code
hub / github.com/bbdshow/qelog

github.com/bbdshow/qelog @v2.2.1

Chat with this repo
repository ↗ · DeepWiki ↗ · release v2.2.1 ↗ · + Follow
1,283 symbols 4,430 edges 80 files 134 documented · 10%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

Qelog

Build&Test Go Report Card Go Reference codecov

Qelog is a small, low cost and light operation and maintenance of the log service. The purpose of its birth is to solve the problem of small and medium-sized team multi-service group log and alarm.

It has been running stably for 2+ years and has been rolling over 100+TB of data.

中文文档

admin manager example address username:admin passwd:111111

Log System Features:

Client

  • qezap is the Go version Client of the project. Wrap Uber-zap ,Extension for local and remote implementations of WriteSyncer.
  • Local extension: log cutting, compression, retention period, dynamic switching level, etc.
  • Remote expansion: The buffer is packed and compressed for transmission log data, and the error backup is retried to ensure that the data is not lost. The GRPC(default) HTTP protocol is supported, and the I/O control ensures the bandwidth usage is controllable and the memory usage is low.

Log receiver server

  • The Receiver process can be expanded horizontally to ensure high availability and high performance.
  • Configure multiple storage instances on the Receiver to improve the storage capacity and write performance of the cluster.
  • Alarm module detects alarm rules for each log. The hit can be delivered according to the rules and different alarm methods. Currently supported DingTalk | Telegram
  • Implement data fragmentation storage rules, support automatic capacity management, monitoring and early warning. Store separate instances of extensions without bottlenecks due to middleware.
  • Log statistics, level distribution, and trend report.

Log manager server

  • Based on the vue-element-admin modification,support rich query dimensions, such as level, keyword, TraceId, ClientIP, multi-level conditions, etc. Due to cost and performance issues ** Full-text indexing ** is currently not supported
  • Friendly operation interaction, simple configuration, efficient content display, almost can be done out of the box quick used.
  • Cluster capacity statistics query, manual intervention, and other functions.

Performance test tool

  • /tools Includes benchmark and memory footprint tests.
  • Different operating environments and configurations have different performance. Therefore, you can conduct a comprehensive analysis to preliminarily check whether the service meets the requirements of scenarios.

Design drawing

Design drawing

Usage

Qezap Client import your project

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

Client use example

Quick Deploy

Docker Deploy
git clone https://github.com/bbdshow/qelog.git
cd qelog
# custom you config
vim config.docker.toml
# build docker image
make image
# docker-compose start container
docker-compose up -d
Machine Deploy

git clone https://github.com/bbdshow/qelog.git
cd qelog

# go build, output ./bin
make
cd ./bin
vim configs/config.toml
cd ./admin
# admin suggest single server, because have background task
nohup ./qelog_admin -f ../configs/config.toml >> nohup.out 2>&1  &
nohup ./qelog_receiver -f ../configs/config.toml >> nohup.out 2>&1  &

Thank you for your support. If it is useful to you, I hope the Star can support you. If you have any questions, please Issues, keep updating and solve problems.

Extension points exported contracts — how you extend this code

Option (Interface)
Option setting options [1 implementers]
qezap/options.go
Pusher (Interface)
(no doc) [3 implementers]
qezap/remote_pusher.go

Core symbols most depended-on inside this repo

i
called by 1781
web/static/js/chunk-14da9915.2ca29d69.js
i
called by 1049
web/static/js/chunk-elementUI.3832bfd0.js
n
called by 741
web/static/js/chunk-libs.ba297b4b.js
push
called by 733
qezap/remote_pusher.go
n
called by 672
web/static/js/app.05d86c6a.js
o
called by 302
web/static/js/chunk-libs.ba297b4b.js
r
called by 252
web/static/js/chunk-14da9915.2ca29d69.js
s
called by 226
web/static/js/chunk-14da9915.2ca29d69.js

Shape

Function 960
Method 224
Struct 85
TypeAlias 9
Interface 5

Languages

TypeScript65%
Go35%

Modules by API surface

web/static/js/chunk-libs.ba297b4b.js305 symbols
web/static/js/chunk-elementUI.3832bfd0.js230 symbols
web/static/js/chunk-14da9915.2ca29d69.js104 symbols
web/static/js/app.05d86c6a.js52 symbols
qezap/options.go24 symbols
web/static/js/chunk-735ff420.15620c8d.js21 symbols
web/static/js/chunk-5bbbb92a.5eb0e18e.js21 symbols
web/static/js/chunk-507babd2.fc3fdfcc.js21 symbols
web/static/js/chunk-22cabfd6.5435174a.js21 symbols
web/static/js/chunk-0b85cf5f.1d8e8524.js21 symbols
web/static/js/chunk-055a4c41.82a1b45d.js21 symbols
pkg/server/http/admin.go21 symbols

Datastores touched

(mongodb)Database · 1 repos
adminDatabase · 1 repos

For agents

$ claude mcp add qelog \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact