Skip to content

amprobe 配置文件详解

amprobe 的配置文件通过 amvector setup 命令自动生成,存放位置:

  • 配置目录:/data/amprobe/resource/amprobe/configs
  • 主要配置文件:config.tomlmodel.conf

核心配置文件说明

config.toml 配置详解

HTTP 服务器配置(Fiber)

toml
[Fiber]
Host = "0.0.0.0"               # HTTP服务监听地址
Port = 8000                    # HTTP服务监听端口
ShutdownTimeout = 30           # 优雅关闭超时时长(秒)
SeverHeader = "probe"          # 服务器响应头
AppName = "probe"              # 应用名称
Prefork = false                # 是否启用多进程模式

数据库配置(Gorm)

toml
[Gorm]
Debug = true                   # 是否开启调试模式
DBType = "sqlite"              # 数据库类型(目前支持的数据库类型:postgres, sqlite)
MaxLifetime = 7200             # 设置连接可以重用的最长时间(单位:秒)
MaxOpenConns = 150             # 设置数据库的最大打开连接数
MaxIdleConns = 50              # 设置空闲连接池中的最大连接数
TablePrefix = "s_"             # 数据库表名前缀
EnableAutoMigrate = true       # 是否启用自动映射数据库表结构

[DB]
Host = ""                      # 连接地址
Port = ""                      # 连接端口
User = ""                      # 用户名
Password = ""                  # 密码
DBName = "/app/probe"          # 数据库
SSLMode = ""                   # SSL模式

日志配置(Log)

toml
[Log]
Output = "/app/logs/probe.log" # 日志存放路径
Level = "debug"                # 日志等级
Rotation = 1                   # 每天切分一个日志文件
MaxAge = 7                     # 最多保留 7 天的日志

认证配置(Auth)

toml
[Auth]
Enable = true                  # 是否启用
SigningMethod = "HS512"        # 签名方式(支持:HS512/HS384/HS512)
SigningKey = "amprobe"         # 签名key
Expired = 7200                 # 过期时间(单位秒)
RefreshExpired = 86400         # 刷新过期时间(单位秒)
Prefix = "auth_"               # key 前缀

[Casbin]
Enable = true                  # 是否启用casbin
Debug = false                  # debug模式
AutoLoad = true                # 是否启用定期自动加载策略
AutoLoadInternal = 60          # 定期自动加载策略时间间隔(单位秒)

任务配置(Task)

采样任务配置

toml
[Task]
Interval = 15

model.conf 权限模型配置

Casbin 权限模型配置文件,定义了 RBAC 权限控制规则:

yaml
[request_definition]
r = sub, obj, act

[policy_definition]
p = sub, obj, act

[role_definition]
g = _, _

[policy_effect]
e = some(where (p.eft == allow))

[matchers]
m = g(r.sub, p.sub) && r.obj == p.obj && r.act == p.act