> ## Documentation Index
> Fetch the complete documentation index at: https://docs.flashduty.com/llms.txt
> Use this file to discover all available pages before exploring further.

# 配置生效与接入验证

> 了解 monit-agent 配置变更的生效方式，并排查监控对象没有出现在页面上的常见问题

修改 `monit-agent` 配置后，不同类型的变更需要不同的生效方式。本文说明何时 reload、何时重启，以及如何确认监控对象已经成功接入。

## 配置生效规则

| 变更内容                                                                       | 生效方式             |
| -------------------------------------------------------------------------- | ---------------- |
| `agent.yaml` 中的主机采集、MySQL、Redis、PostgreSQL、MongoDB、Kafka、Elasticsearch 等配置 | 发送 SIGHUP reload |
| Edge 地址、Basic Auth、TLS、`hostLocator`、审计目录                                  | 重启 Agent         |

发送 SIGHUP：

```bash theme={null}
sudo systemctl kill -s HUP monitagent
```

重启服务：

```bash theme={null}
sudo systemctl restart monitagent
```

<Note>
  如果只是新增或调整 `agent.yaml` 中的对象配置，优先使用 SIGHUP reload。只有启动参数或服务级参数变化时才需要重启。
</Note>

## 验证接入是否成功

启动 Agent 后，通常几秒内可以在监控对象页面看到一个主机对象。

如果页面仍为空，请按以下顺序检查：

<Steps>
  <Step title="确认 Agent 是否运行">
    ```bash theme={null}
    sudo systemctl status monitagent
    ```
  </Step>

  <Step title="确认 Edge 地址是否正确">
    检查地址是否带了 `ws://` 或 `wss://`，并确认当前租户对应的 Edge 已经在线。
  </Step>

  <Step title="查看 Agent 日志">
    ```bash theme={null}
    sudo journalctl -u monitagent -n 100
    ```
  </Step>

  <Step title="检查 agent.yaml">
    如果修改过 `agent.yaml`，确认配置文件没有 YAML 语法错误。
  </Step>
</Steps>

## 对象没有出现时的检查项

| 现象                                  | 检查方向                                                                    |
| ----------------------------------- | ----------------------------------------------------------------------- |
| 监控对象页面为空                            | 先确认主机对象是否出现；如果主机对象都没有出现，优先检查 Agent 进程、Edge 地址和日志。                       |
| 某类数据库或中间件对象没有出现                     | 检查对应的 `targets`、`locator_mappings` 和凭据文件配置。                             |
| Elasticsearch 对象没有出现                | 确认集群可达。Agent 需要在启动或 reload 时通过 `GET _cluster/health` 获取 `cluster_name`。 |
| 页面对象地址显示为 `localhost` 或 `127.0.0.1` | 为该 target 配置 `locator_mappings`，映射为固定内网 IP、DNS 或 `host:port`。           |

## 推荐接入顺序

1. 先只接入主机对象。
2. 页面出现主机后，再逐步添加 MySQL、Redis、PostgreSQL 等数据库对象。
3. 各对象出现后，再按需开启 `mysql.query`、`redis.command`、`postgres.query`、`mongodb.command`、`elasticsearch.cat` 等受控查询工具。

## 相关文档

<CardGroup cols={2}>
  <Card title="监控对象概览" icon="desktop" href="/zh/monitors/targets/overview">
    了解监控对象和 monit-agent 的工作方式。
  </Card>

  <Card title="配置监控对象" icon="sliders" href="/zh/monitors/targets/configure-targets">
    查看 agent.yaml 中各对象类型的配置示例和建议。
  </Card>
</CardGroup>
