mirror of
https://github.com/gotoeasy/glogcenter.git
synced 2025-09-15 12:58:34 +08:00
0.7.0
This commit is contained in:
parent
289f94dbfa
commit
424738ba8e
30
README.md
30
README.md
@ -25,6 +25,7 @@
|
||||
- [x] 提供`java`项目日志收集包,`java`项目闭环支持
|
||||
- [x] 支持从`RabbitMQ`收取日志信息,满足更多闭环需求
|
||||
- [x] 内置提供简洁的`VUE`实现的日志查询管理界面
|
||||
- [x] 支持多服务集群模式部署,确保服务及数据保存的冗余性
|
||||
|
||||
<div align=center>
|
||||
<img src="https://gotoeasy.github.io/screenshots/glogcenter/glogcenter.png"/>
|
||||
@ -32,7 +33,7 @@
|
||||
|
||||
<br>
|
||||
|
||||
## `docker`运行
|
||||
## `docker`单机部署模式简易示例
|
||||
```
|
||||
// 简单示例
|
||||
docker run -d -p 8080:8080 gotoeasy/glc
|
||||
@ -41,6 +42,19 @@ docker run -d -p 8080:8080 gotoeasy/glc
|
||||
docker run -d -p 8080:8080 -v /glc:/glogcenter gotoeasy/glc
|
||||
```
|
||||
|
||||
## `docker`集群部署模式简易示例
|
||||
```
|
||||
// 以下3台集群,配置实现上是无主模式,接收到日志时会自动转发到其他服务
|
||||
// 但鉴于日志的时序性较强,建议仅取其1作为发送日志数据的主服务入口
|
||||
|
||||
// 服务1
|
||||
docker run -d -p 8091:8080 -e GLC_SLAVE_HOSTS=http://127.0.0.1:8092;http://127.0.0.1:8093 -e GLC_SLAVE_TRANSFER=true gotoeasy/glc:0.7.0
|
||||
// 服务2
|
||||
docker run -d -p 8092:8080 -e GLC_SLAVE_HOSTS=http://127.0.0.1:8091;http://127.0.0.1:8093 -e GLC_SLAVE_TRANSFER=true gotoeasy/glc:0.7.0
|
||||
// 服务3
|
||||
docker run -d -p 8093:8080 -e GLC_SLAVE_HOSTS=http://127.0.0.1:8091:http://127.0.0.1:8092 -e GLC_SLAVE_TRANSFER=true gotoeasy/glc:0.7.0
|
||||
```
|
||||
|
||||
|
||||
## `docker`启动环境变量
|
||||
- [x] `GLC_STORE_NAME_AUTO_ADD_DATE`日志仓是否自动按日存储,默认`true`
|
||||
@ -54,6 +68,8 @@ docker run -d -p 8080:8080 -v /glc:/glogcenter gotoeasy/glc
|
||||
- [x] `GLC_ENABLE_AMQP_CONSUME`是否开启`rabbitMq`消费者接收日志,默认`false`
|
||||
- [x] `GLC_AMQP_ADDR`消息队列`rabbitMq`连接地址,例:`amqp://user:password@ip:port/`,默认空白
|
||||
- [x] `GLC_AMQP_JSON_FORMAT`消息队列`rabbitMq`消息文本是否为`json`格式,默认`true`
|
||||
- [x] `GLC_SLAVE_HOSTS`待转发的服务地址,多个时`;`分隔,默认空白
|
||||
- [x] `GLC_SLAVE_TRANSFER`是否开启转发日志到其他GLC服务,默认false
|
||||
|
||||
## 命令行启动参数(适用`0.6.*`及以上版本)
|
||||
- [x] 支持命令行参数`-v`查看版本
|
||||
@ -72,13 +88,13 @@ docker run -d -p 8080:8080 -v /glc:/glogcenter gotoeasy/glc
|
||||
|
||||
|
||||
|
||||
## 使用`logback`的`java`项目,支持日志收集
|
||||
## 使用`logback`的`java`项目,支持日志收集,确保主次版本和GLC版本一致
|
||||
```xml
|
||||
<!-- pom坐标 -->
|
||||
<dependency>
|
||||
<groupId>top.gotoeasy</groupId>
|
||||
<artifactId>glc-logback-appender</artifactId>
|
||||
<version>0.6.0</version>
|
||||
<version>0.7.0</version>
|
||||
</dependency>
|
||||
```
|
||||
|
||||
@ -115,8 +131,16 @@ docker run -d -p 8080:8080 -v /glc:/glogcenter gotoeasy/glc
|
||||
- [ ] 界面优化
|
||||
- [ ] 多语言
|
||||
- [ ] 分词优化
|
||||
- [ ] 海量日志数据支持
|
||||
- [ ] 日志审计
|
||||
|
||||
|
||||
### 版本`0.7.0`
|
||||
|
||||
- [x] 增加日志转发功能,支持多服务集群模式部署,确保服务及数据保存的冗余性
|
||||
- [x] 增加转发地址配置项`GLC_SLAVE_HOSTS`,多地址时可`;`分隔
|
||||
- [x] 增加转发开关配置项`GLC_SLAVE_TRANSFER`,默认是false不开启
|
||||
|
||||
### 版本`0.6.0`
|
||||
|
||||
- [x] 升级使用Go1.19
|
||||
|
||||
@ -8,6 +8,7 @@ import (
|
||||
"glc/ldb"
|
||||
"glc/ldb/storage/logdata"
|
||||
"glc/onexit"
|
||||
"glc/www/controller"
|
||||
"log"
|
||||
"sync"
|
||||
)
|
||||
@ -73,6 +74,10 @@ func fnAmqpJsonLogHandle(jsonLog string, err error) bool {
|
||||
engine := ldb.NewDefaultEngine()
|
||||
engine.AddTextLog(md.Date, md.Text, md.System)
|
||||
|
||||
if conf.IsEnableSlaveTransfer() {
|
||||
controller.TransferGlc(md.ToJson()) // 转发其他GLC服务
|
||||
}
|
||||
|
||||
return true
|
||||
}
|
||||
|
||||
|
||||
@ -30,7 +30,7 @@ func JsonLogAddController(req *gweb.HttpRequest) *gweb.HttpResult {
|
||||
}
|
||||
|
||||
if conf.IsEnableSlaveTransfer() {
|
||||
transferGlc(md) // 转发其他GLC服务
|
||||
TransferGlc(md.ToJson()) // 转发其他GLC服务
|
||||
}
|
||||
|
||||
engine := ldb.NewDefaultEngine()
|
||||
@ -62,10 +62,10 @@ func JsonLogTransferAddController(req *gweb.HttpRequest) *gweb.HttpResult {
|
||||
}
|
||||
|
||||
// 转发其他GLC服务
|
||||
func transferGlc(md *logdata.LogDataModel) {
|
||||
func TransferGlc(jsonlog string) {
|
||||
hosts := conf.GetSlaveHosts()
|
||||
for i := 0; i < len(hosts); i++ {
|
||||
go httpPostJson(hosts[i]+conf.GetContextPath()+"/v1/log/transferAdd", md.ToJson())
|
||||
go httpPostJson(hosts[i]+conf.GetContextPath()+"/v1/log/transferAdd", jsonlog)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user