shjanken / nginx-metric

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Nginx 日志数据分析

Nginx 的日志中读取数据,格式化数据,并存入后端数据库 只支持 postgres 数据库

Usage

$ ngxmetric access.log

配置文件

程序会读取相同目录下的 config/config.ini 文件 在文件里面配置是数据库的相关信息

$ cat config/config.ini

[database]
host=localhost
port=5432
username=postgres
password=postgres
dbname=metric

编译

make build

测试

测试需要数据库的支持 使用项目中的 docker-compose 文件可以创建一个 postgres 数据库 执行

$ docker-compose up -d
$ make test

测试覆盖率

$ make cover

...  coverage: 81.6% of statements
...

使用真实日志文件运行测试

将真实的 nginx access.log 文件复制到 testdata/ 目录下面, 然后运行

$ make test-with-bigfile

benchmark

以下是尝试读取一个 211M, (1018448行数据) 的日志文件并存入数据库时间 bm

About


Languages

Language:Go 94.1%Language:Makefile 4.9%Language:Nix 1.0%