# Netdata 部署文档

## 概述

[Netdata](https://github.com/netdata/netdata) 是开源的实时基础设施监控与故障排查平台。它以秒级粒度自动发现并采集服务器、容器、数据库、应用和网络指标，提供交互式仪表盘、告警和机器学习异常检测，并可将监控数据保留在用户自己的环境中。

本方案通过 Docker Compose 在一台云服务器 ECS 上部署 Netdata Agent v2.10.4，并使用 Nginx 1.28-alpine 提供带 HTTP Basic Auth 的访问入口。适合单机监控、开发测试和轻量运维场景。

## 部署流程

### 1. 创建服务实例

访问 [Netdata 部署链接](https://computenest.console.aliyun.com/service/instance/create/cn-hangzhou?type=user&ServiceId=service-163fec74fbbc42d89d19)，按页面提示填写部署参数。

![创建服务实例](images/create-instance.png)

主要参数如下：

| 参数 | 说明 |
| --- | --- |
| 服务实例名称 | 长度不超过 64 个字符，以英文字母开头 |
| 地域、可用区 | ECS 部署位置，建议选择离使用者较近的地域 |
| 付费类型 | 支持按量付费和包年包月 |
| 实例类型 | Netdata 所在 ECS 的规格，可选择通用算力型或经济型实例 |
| 实例密码 | ECS 登录密码，长度 8-30，需满足页面显示的复杂度要求 |
| 专有网络 | 可新建专有网络，也可选择已有 VPC 和交换机 |
| 仪表盘登录用户名 | 访问 Netdata 页面时使用的 Basic Auth 用户名，默认 `admin` |
| 仪表盘登录密码 | 访问 Netdata 页面时使用的 Basic Auth 密码 |
| Netdata Cloud Claim Token | 可选；留空为纯本地模式，填写后节点会尝试加入对应的 Netdata Cloud Space |

### 2. 确认订单并创建

参数填写完成后，单击 **下一步：确认订单**。确认资源和费用，阅读并同意服务协议，然后单击 **立即创建**。

### 3. 等待部署完成

提交成功后进入服务实例列表。待实例状态变为 **已部署**，打开实例详情。实测部署约需 1 分钟，实际时间会受地域和资源创建速度影响。

![服务实例详情](images/instance-detail.png)

### 4. 访问 Netdata

在实例详情页的 **立即使用** 区域打开 `netdata_80_url`。浏览器弹出 HTTP Basic Auth 登录框后，输入部署时设置的仪表盘用户名和密码，即可进入 Netdata Agent Console。

![Netdata 页面](images/service-page.png)

## 使用说明

- 打开仪表盘后，可查看 CPU、内存、磁盘、网络、进程和容器等秒级指标。
- Netdata 会自动发现本机可监控对象，无需逐项配置采集任务。
- 留空 Claim Token 时，节点以纯本地模式运行；监控数据不会因为部署而自动上传到 Netdata Cloud。
- 如需集中管理多个节点，可在 Netdata Cloud 创建 Space，并按官方文档获取 Claim Token 后重新部署或自行完成节点注册。

## 数据与安全

- Netdata 指标和配置保存在 ECS 上的 Docker 数据卷中。删除服务实例会释放 ECS，请提前导出需要保留的数据和配置。
- 对公网仅开放 Nginx 网关端口 80，Netdata 原生 19999 端口不直接开放。
- 仪表盘使用 HTTP Basic Auth，但默认访问链路为 HTTP。建议部署后将安全组来源收敛到办公出口网段，或自行配置 HTTPS。
- 请妥善保管 ECS 密码、仪表盘密码和 Claim Token，避免写入日志或公开仓库。

## 资源释放

不再使用时，在计算巢控制台删除服务实例，并确认关联的 ROS 栈、ECS、VPC、交换机和安全组均已释放，避免继续产生费用。

## 官方文档

- [Netdata GitHub 仓库](https://github.com/netdata/netdata)
- [Netdata 官方文档](https://learn.netdata.cloud/)
- [Netdata Cloud](https://app.netdata.cloud/)
