gos-log 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
gos-log 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票
gos-log 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」 !
gos-log 获得 2020 年度 OSC 中国开源项目评选「最佳人气项目」「最积极运营项目」 !
gos-log 获得 2020 年度 OSC 中国开源项目评选「最积极运营项目」 !
授权协议 Apache
开发语言 Google Go
操作系统 跨平台
软件类型 开源软件
开源组织
地区 国产
投 递 者 点九先生
适用人群 未知
收录时间 2021-04-19

软件简介

gos-log 基于Go语言的轻量级高性能的大日志检索系统

开源地址

gos-log

https://gitee.com/dianjiu/gos-log

https://github.com/dianjiu/gos-log

gos-log-vue

https://gitee.com/dianjiu/gos-log-vue

https://github.com/dianjiu/gos-log-vue

演示地址

http://goslog.dianjiu.org.cn

账号:admin
密码:admin

演示截图

登陆页

image

 

客户端

image

 

项目管理

image

 

日志查找

image

 

项目构建

gos-log

# 进入go工作空间
cd ~/codes/go/src
# 配置go国内代理
sudo vim ~/.bash_profile
# 新增如下内容 
export GOPATH=/Users/dianjiu/Codes/go
export GOROOT=/usr/local/go
export GOBIN=$GOPATH/bin
export PATH=$PATH:$GOROOT/bin:$GOPATH/bin
export GOPROXY=https://goproxy.cn
export GO111MODULE=on
# 使配置生效
source ~/.bash_profile
# 安装beego依赖
go get github.com/astaxie/beego
go get github.com/beego/bee
# 克隆项目
git clone https://github.com/dianjiu/gos-log.git
# 分别进入项目目录
cd gos-log/logs     #进入服务端
cd gos-log/logc     #进入客户端
# 启动服务
bee run

 

gos-log-vue

# 克隆项目
git clone https://github.com/dianjiu/gos-log-vue.git

# 进入项目目录
cd gos-log-vue

# 安装依赖
yarn install

# 启动服务
yarn run dev

 

项目部署

gos-log

# 打包服务端
cd gos-log/logs
bee pack -be GOOS=linux
# 打包客户端
cd gos-log/logc
bee pack -be GOOS=linux
# 准备数据库 见gos-log项目下的sql文件夹

 

gos-log-logs

# 解压缩
tar -zxf logs.tar.gz -C ./ 
# 授权
chmod 777 logs 
# 修改数据库配置
sudo vim conf/app.conf 
# 启动
nohup ./logs >> logs.log &

 

gos-log-logc

# 解压缩
tar -zxf logc.tar.gz -C ./ 
# 授权
chmod 777 logc 
# 启动
nohup ./logc >> logc.log &

 

gos-log-vue

# 打包构建
yarn run build
# 把dist目录下的文件拿到服务器部署即可
# nginx部署如下nginx.conf
server {
    listen       2022;
    server_name  localhost;

    location / {
        root /web/gos-log/vue;
        index  index.html index.htm;
        try_files $uri $uri/ /index.html; 
    }
    location /api {
        rewrite  ^/api/(.*)$ /$1 break;
        proxy_pass http://127.0.0.1:2021;
    }
}

性能测试

系统硬件

CPU Intel® Core™ i5-10210U CPU @ 1.60GHz × 8
内存 16G
硬盘 512.1 GB
操作系统 Ubuntu 20.04.2 LTS 64位
GNOME版本 3.36.8

系统环境

Java环境 ORACLE JDK13.0.2
Go环境 GO1.15.7 linux/amd64
Python环境 Python 3.8.5

性能对比

单文件逐行读取  17.8G test.log (单线程读取)

语言 test1 test2 test3 test4 test5 总耗时 平均耗时
Go 32.99s 34.24s 30.33s 31.21s 35.70s 164.16s 32.83s
Python 32分钟还没执行完            
Java 226s 206s 153s 219s 183s 987s 197.4s
展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (11)

加载中
这个工具分析日志后能得到一份分析报告吗
06/22 11:38
回复
举报
演示地址访问不了
05/17 09:52
回复
举报
点九先生软件作者
感谢反馈 这个是内网映射的地址 我这边看是家里的服务器离线了 我晚上下班回去看一下
05/17 11:10
回复
举报
点九先生软件作者
演示地址已经OK,可以正常访问,后续再搞个服务器,做一下主备,提高下演示服务稳定性。
05/18 14:33
回复
举报
欧克
05/18 19:52
回复
举报
日志检索,报错“Request failed with status code 404”
05/19 09:41
回复
举报
点九先生软件作者
你好 404问题已经处理 是客户端logc没有启动的原因
05/21 14:16
回复
举报
java 没有用对吧. 你没有用线程池吧。因为go天生语言层面支持线程池模型. 我怎么测试java跟go性能差不多呢。有时候还在快一点。内存占用比go大那是真的。
05/17 09:42
回复
举报
点九先生软件作者
嗯嗯 Java没用线程池 后续我把测试代码放到我的语雀上 到时候关注下https://www.yuque.com/dianjiu/wgebfo 内存占用 Go还是比较有优势的 最后出来的项目gos-log 就是基于Go的了
05/17 11:13
回复
举报
打分: 力荐
和python一起比执行速度😄
05/17 09:15
回复
举报
点九先生软件作者
哈哈 和Python比 是不是有点欺负它了
05/17 11:14
回复
举报
更多评论
发表了资讯
05/24 14:38

Gos Log V21.05.20 版本发布,高性能大日志检索中台

V21.05.20 版本更新内内容 ✅ 1、 上线Gos Log 官网 https://goslog.dianjiu.org.cn ✅ 2、 优化并行查询速度,查询全部服务器理论耗时于单台服务相当 ✅ 3、 每次查询响应后自动清理临时文件,优化磁盘空间 ✅ 4、优化向下截取行可输入,解决默认1000行有时不够用的问题 版本地址 https://gitee.com/dianjiu/gos-log/releases/V21.05.20 https://github.com/...

0
5
04/19 21:57

Gos Log V1.0.0 版本发布,高性能大日志检索中台

V1.0.0 已支持功能 ✅ 1、基于bufio实现高性能的日志检索算法 ✅ 2、基于beego实现服务端客户端分离设计 ✅ 3、基于vue2.0实现服务端前后端分离设计 ✅ 4、基于DBMan实现数据库表关系设计 ✅ 5、实现多种数据库适配,支持MySQL、PostgreSQL ✅ 6、实现服务端的登陆登出功能 ✅ 7、实现服务端的客户端增删改查...

0
10
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
发表了博客
2019/05/21 21:02

Gos: Armed Golang 💪

Gos: Armed Golang 💪 Project Address: https://github.com/storyicon/gos The current gos is still an alpha version, welcome more people to comment and improve it 🍓, you can add more commands to it, or modify something to make it perform better. You can download the compiled binary program here: Release Page Brief introduction How to start What GOS can do: 1. Fully compatible with Go native c...

0
0
2020/02/26 16:28

Gos: GO MODULE解决方案 💪

Project Address: github.com/storyicon/g… The current gos is still an alpha version, welcome more people to comment and improve it 🍓, you can add more commands to it, or modify something to make it perform better. You can download the compiled binary program here: Release Page Brief introduction How to start What GOS can do: - 1. Fully compatible with Go native commands - 2. Simpler Cross-C...

0
0
发表了博客
2015/01/15 16:32

Log图文详解(Log.v,Log.d,Log.i,Log.w,Log.e)

android.util.Log常用的方法有以下5个:Log.v() Log.d() Log.i() Log.w() 以及 Log.e() 。根据首字母对应VERBOSE,DEBUG,INFO, WARN,ERROR。 1、Log.v 的调试颜色为黑色的,任何消息都会输出,这里的v代表verbose啰嗦的意思,平时使用就是Log.v("",""); 2、Log.d的输出颜色是蓝色的,仅输出debug调试的意思,但他会输出上层的信息,过滤起来可以通过DDMS的Logcat标签来选择. 3、Log.i的输出为绿色,一般提示性的消息informati...

0
0
发表了博客
2019/02/10 23:08

bin log、redo log、undo log和MVVC

logs innodb事务日志包括redo log和undo log。redo log是重做日志,提供前滚操作,undo log是回滚日志,提供回滚操作。 undo log不是redo log的逆向过程,其实它们都算是用来恢复的日志: redo log通常是物理日志,记录的是数据页的物理修改,而不是某一行或某几行修改成怎样怎样,它用来恢复提交后的物理数据页(恢复数据页,且只能恢复到最后一次提交的位置)。mysql中使用了大量缓存,缓存存在于内存中,修改操作时会直接修改内...

0
0
2016/12/25 20:39

log4j(log for java)

log4j(log for java) 一、定义 Log4j是Apache的一个开源项目,通过使用Log4j,我们可以控制日志信息输送的目的地(控制台、文件、GUI组件...)、格式等。 二、简介 Log4j有三个主要的组件:Loggers(记录器),Appenders (输出源)和Layouts(布局)。这里可简单理解为日志类别,日志要输出的地方和日志以何种形式输出。综合使用这三个组件可以轻松地记录信息的类型和级别,并可以在运行时控制日志输出的样式和位置。 1、Loggers Logge...

0
0
发表于DevOps专区
2015/11/04 13:35

Could not find first log file name in binary log

Scenario Master – Master replication MasterA is a client facing server MasterB is a warm standby server (read only) MasterB restarted abruptly and when instances were braught back up MasterA (it’s slave) was showing the following error: MasterA has the following error in show slave status: Last_IO_Errno: 1236 Last_IO_Error: Got fatal error 1236 from master when reading data from binary log: ...

0
0
发表了博客
2019/09/17 00:13

redo log和bin log

讲redolog和binlog之前,先要讲一下一条mysql语句的执行过程。 1、client的写请求到达连接器,连接器负责管理连接、验证权限; 2、然后是分析器,负责复习语法,如果这条语句有执行过,在缓存内,那么就从缓存去写; 3、缓存没有的话,那就到了优化器部分。负责优化sql读写,选择索引; 4、接下来是执行器,负责操作引擎,并返回结果。 接下来就要进入正题,说一下第四步是如何执行的。 redo log 与查询不一样的是,更新流程还涉...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
11 评论
29 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部