Skip to main content
安装包内会包含一个默认 agent.yaml。如果只需要接入主机对象,可以先保持默认配置,确认页面出现主机后再继续增加 MySQL、Redis、PostgreSQL 等对象。

基础配置示例

下面是一个适合首次接入的基础配置:

locator_mappings

locator_mappings 用于设置页面上展示的对象地址,通常用于 MySQL 等非主机对象。 例如 Agent 连接 MySQL 时使用的是本机地址:
但你希望页面上显示为更容易识别的数据库地址,可以这样配置:
建议:
  • MySQL、Redis、PostgreSQL、MongoDB 等服务如果配置了 localhost127.0.0.1,建议同时配置 locator_mappings
  • 映射后的地址应使用稳定 IP、DNS 或 host:port
  • 不建议把映射后的地址写成 localhost127.0.0.1
  • Kafka 和 Elasticsearch 是集群级对象,不使用 locator_mappings。Kafka 使用 cluster_name 作为标识;Elasticsearch 自动从集群获取 cluster_name

host

host 用于调整主机诊断时的采集行为。首次接入一般不需要修改。

shell_exec

shell_exec 控制 Agent 是否允许执行受控的主机诊断命令。
建议:
  • 需要 AI-SRE 做主机现场诊断时,保持 enabled: true。只有受控的 shell 才能执行,放心开启。
  • 如果发现有些 shell 被内置护栏阻断,可以手工添加到 user_allow_list。只有确认命令安全、只读、不会输出敏感信息时才添加。
如需紧急禁用某个工具,可以使用 tool_policy.disabled_tools

MySQL

如果需要诊断 MySQL,在 mysql: 中添加实例配置。推荐使用只读 MySQL 账号,并优先把密码放到独立凭据文件中:
凭据文件示例:
如果启用 mysql.query,请务必使用只读账号。这个工具用于执行受控只读 SQL,不适合使用高权限账号。

Redis

如果需要诊断 Redis,在 redis: 中添加实例配置。
redis.command 启用后,只允许执行白名单内的只读命令,如 CONFIG GETCLIENT LISTMEMORY USAGELATENCY HISTORY 等。写命令会被拒绝。

Redis Sentinel

如果需要诊断 Redis Sentinel 高可用集群,在 redis_sentinel: 中添加 Sentinel 进程配置。注意 redis_sentinelredis 是两种不同的对象类型,分别指向 Sentinel 进程和 Redis 数据节点。

PostgreSQL

如果需要诊断 PostgreSQL,在 postgres: 中添加实例配置。
如果启用 postgres.query,请务必使用只读账号。

MongoDB

如果需要诊断 MongoDB(mongod / 副本集成员),在 mongodb: 中添加实例配置。仅接受 host:port 格式,不支持 mongodb+srv:// URI。
mongodb.command 启用后,只允许执行白名单内的只读管理命令,如 dbStatscollStatsserverStatusreplSetGetStatus 等。写命令和危险命令会被拒绝。

MongoDB Mongos

如果需要诊断 MongoDB 分片集群的路由进程(mongos),在 mongodb_mongos: 中添加配置。mongodb_mongosmongodb 是两种不同的对象类型,分别指向 mongos 路由进程和 mongod 数据节点。

Kafka

如果需要诊断 Kafka 集群,在 kafka: 中添加配置。Kafka 是集群级对象,一个 kafka 配置块代表一个逻辑集群,bootstrap_brokers 是连接入口点而非独立的 target。
Kafka 不使用 locator_mappingscluster_name 直接作为页面上的对象地址。

Elasticsearch

如果需要诊断 Elasticsearch 集群,在 elasticsearch: 中添加配置。Elasticsearch 是集群级对象,cluster_name 不需要在配置中声明,Agent 会在启动或 reload 时自动通过 GET _cluster/health 获取。如果集群不可达,该 target 会被跳过,直到下次 reload。
Elasticsearch 不使用 locator_mappingscluster_name 自动从集群获取作为页面上的对象地址。

script_tool

script_tool 用于接入自定义脚本工具。普通用户可以保持关闭:
只有在需要扩展自定义诊断能力,并且确认脚本来源和目录权限可控时,才建议开启。