本项目提供审计日志记录服务
Http接口请看 API文档
gRPC接口请看 proto文件
-
(推荐) 使用docker-compose部署
i. 克隆或下载本项目到本地,并进入docker目录
ii. 按需编辑配置文件或docker-compose.yml文件
iii. 运行docker-compose up -d命令
iv. 访问http://127.0.0.1:8080查看是否部署成功
v. 如果需要添加命令行参数services: audit-service: image: halfnothing/audit-service:latest # 省略部分字段 command: - "-http_timeout 1m"
推荐使用环境变量代替命令行参数
services: audit-service: image: halfnothing/audit-service:latest # 省略部分字段 environment: HTTP_TIMEOUT: "1m"
-
使用docker命令部署
命令示例如下docker run -d --name audit-service -p 8080:8080 -v $(pwd)/config.yaml:/service/config.yaml -v $(pwd)/data:/service/data halfnothing/audit-service:latest
如果需要添加命令行参数, 则在命令的最后添加
docker run -d ... halfnothing/audit-service:latest -http_timeout 1m
-
通过Dockerfile构建
i. 手动构建# 克隆本仓库 git clone https://github.com/FSD-Universe/audit-service.git # 进入项目目录 cd audit-service # 运行docker构建 docker build -t audit-service:latest . # 运行docker容器 docker run -d --name audit-service -p 8080:8080 -v $(pwd)/config.yaml:/service/config.yaml -v $(pwd)/data:/service/data audit-service:latest
ii. 自动构建
# 克隆本仓库 git clone https://github.com/FSD-Universe/audit-service.git # 进入项目目录 cd audit-service # 进入docker目录并且修改docker-compose.yml文件 cd docker vi docker-compose.yml
将
image: halfnothing/audit-service:latest这一行替换为build: ".."
然后在同目录运行docker compose up -d
- 获取项目可执行文件
- [可选]下载
config.yaml配置文件放置于可执行文件同级目录中 - 运行可执行文件,如果配置文件存在,则使用配置文件,否则创建默认配置文件
# 克隆本仓库
git clone https://github.com/FSD-Universe/audit-service.git
# 进入项目目录
cd audit-service
# 确认安装了go编译器并且版本>=1.25
go version
# 运行go build命令
go build -ldflags="-w -s" -tags "database http httpjwt permission telemetry" .
# 对于windows系统, 可执行文件为audit-service.exe
# 对于linux系统, 可执行文件为audit-service
# [可选]使用upx压缩可执行文件
# windows
upx.exe -9 audit-service.exe
# linux
upx -9 audit-service| 命令行参数 | 环境变量 | 描述 | 默认值 |
|---|---|---|---|
| no_logs | NO_LOGS | 禁用日志输出到文件 | false |
| auto_migrate | AUTO_MIGRATE | 自动迁移数据库(不要在生产环境使用) | false |
| config | CONFIG_FILE_PATH | 配置文件路径 | "config.yaml" |
| health_check_interval | HEALTH_CHECK_INTERVAL | 健康检查间隔 | "30s" |
| health_check_timeout | HEALTH_CHECK_TIMEOUT | 健康检查超时时间 | "5s" |
| deregister_after | DEREGISTER_AFTER | 健康检查失败后注销时间 | "1m" |
| service_address | SERVICE_ADDRESS | 服务对外访问地址,默认为本地网卡地址 | "localhost" |
| center_address | CENTER_ADDRESS | consul注册中心地址 | "localhost:8500" |
| reconnect_timeout | RECONNECT_TIMEOUT | 重连超时时间 | "30s" |
| eth_name | ETH_NAME | 以太网接口名称 | "Ethernet"(windows) / "eth0"(linux/macos) |
| http_timeout | HTTP_TIMEOUT | Http请求超时时间 | "30s" |
| gzip_level | GZIP_LEVEL | Gzip压缩等级 | 5 |
- 开一个 Issue 与我们讨论
- Fork 本项目并完成你的修改
- 不要修改任何除了你创建以外的源代码的版权信息
- 遵守良好的代码编码规范
- 开一个 Pull Request
MIT License
Copyright © 2025 Half_nothing
无附加条款。