README
🚀 Netdata - 基础设施的X射线透视镜!
Netdata是一个开源的实时基础设施监控平台,能够每秒收集和处理各类指标数据,让你对整个基础设施的运行状况一目了然,无需复杂配置即可快速部署。
🚀 快速开始
你可以在所有主流操作系统上安装Netdata。操作步骤如下:
1. 安装Netdata
选择你的平台并按照安装指南进行操作:
⚠️ 重要提示
你可以通过
http://localhost:19999(如果是远程访问则使用http://NODE:19999)访问Netdata的用户界面。
2. 配置收集器
Netdata可以自动发现大多数指标,但你也可以手动配置一些收集器:
3. 配置警报
你可以使用数百个内置警报,并与以下工具集成:
email、Slack、Telegram、PagerDuty、Discord、Microsoft Teams 等。
⚠️ 重要提示
如果配置了邮件传输代理(MTA),电子邮件警报将默认生效。
4. 配置父节点
你可以使用Netdata父节点来集中管理仪表盘、警报和存储:
⚠️ 重要提示
你可以使用Netdata父节点进行集中仪表盘管理、更长时间的数据保留和警报配置。
5. 连接到Netdata Cloud
登录Netdata Cloud 并连接你的节点,以实现以下功能:
- 随时随地访问
- 水平扩展和多节点仪表盘
- 警报和数据收集的用户界面配置
- 基于角色的访问控制
- 提供免费层级
⚠️ 重要提示
Netdata Cloud是可选的,你的数据将保留在你的基础设施中。
✨ 主要特性
| 特性 | 描述 | 独特之处 | | ---- | ---- | ---- | | 实时性 | 每秒进行数据收集和处理 | 即时响应,点击即可立即查看结果 | | 零配置 | 自动检测和发现 | 自动发现运行节点上的所有内容 | | 机器学习驱动 | 无监督异常检测 | 在边缘为每个指标训练多个机器学习模型 | | 长期保留 | 高性能存储 | 每个样本约0.5字节,采用分层存储进行归档 | | 高级可视化 | 丰富的交互式仪表盘 | 无需查询语言即可对数据进行切片和分析 | | 极致可扩展性 | 原生水平扩展 | 父子集中化架构,支持每秒数百万个样本 | | 全面可见性 | 从基础设施到应用程序 | 简化操作,消除信息孤岛 | | 边缘计算 | 在本地进行处理 | 分发代码而非集中数据 |
💡 使用建议
想将Netdata与Prometheus进行对比测试吗? 查看 完整对比。
📦 安装指南
Netdata支持在多种主流操作系统上安装,你可以根据自己的需求选择对应的安装方式:
- Linux:Linux安装指南
- macOS:macOS安装指南
- FreeBSD:FreeBSD安装指南
- Windows:Windows安装指南
- Docker:Docker安装指南
- Kubernetes:Kubernetes安装指南
💻 使用示例
基础用法
Netdata安装完成后,你可以通过浏览器访问 http://localhost:19999(如果是远程访问则使用 http://NODE:19999)来查看监控数据。
高级用法
你可以根据自己的需求对Netdata进行配置,例如配置收集器、警报规则、连接Netdata Cloud等。具体配置方法可以参考 Netdata文档。
📚 详细文档
访问 Netdata Learn 获取完整的文档和指南,内容涵盖部署、配置、警报、导出、故障排除等方面。
🔧 技术细节
Netdata生态系统
这种三部分架构使你能够从单节点扩展到复杂的多云环境:
| 组件 | 描述 | 许可证 |
| ---- | ---- | ---- |
| Netdata Agent | • 核心监控引擎
• 处理收集、存储、机器学习、警报、导出等功能
• 可在服务器、云、K8s、物联网等环境中运行
• 对生产环境无影响 | GPL v3+ |
| Netdata Cloud | • 企业级功能
• 用户管理、基于角色的访问控制(RBAC)、水平扩展
• 集中式警报
• 免费社区版
• 无需集中存储指标数据 | |
| Netdata UI | • 仪表盘和可视化界面
• 免费使用
• 包含在标准软件包中
• 可通过CDN获取最新版本 | NCUL1 |
可监控的组件
使用Netdata,你可以跨平台监控以下所有组件:
| 组件 | Linux | FreeBSD | macOS | Windows |
| ---- | ---- | ---- | ---- | ---- |
| 系统资源
CPU、内存和系统共享资源 | 全面支持 | 支持 | 支持 | 支持 |
| 存储
磁盘、挂载点、文件系统、RAID阵列 | 全面支持 | 支持 | 支持 | 支持 |
| 网络
网络接口、协议、防火墙等 | 全面支持 | 支持 | 支持 | 支持 |
| 硬件与传感器
风扇、温度、控制器、GPU等 | 全面支持 | 部分支持 | 部分支持 | 部分支持 |
| 操作系统服务
资源、性能和状态 | 支持systemd | - | - | - |
| 进程
资源、性能、内存溢出等 | 支持 | 支持 | 支持 | 支持 |
| 系统和应用程序日志 | 支持systemd-journal | - | - | 支持Windows Event Log、ETW |
| 网络连接
每个PID的实时TCP和UDP套接字 | 支持 | - | - | - |
| 容器
Docker/containerd、LXC/LXD、Kubernetes等 | 支持 | - | - | - |
| 虚拟机(从主机)
KVM、qemu、libvirt、Proxmox等 | 支持cgroups | - | - | 支持Hyper-V |
| 合成检查
测试API、TCP端口、Ping、证书等 | 支持 | 支持 | 支持 | 支持 |
| 打包应用程序
nginx、apache、postgres、redis、mongodb等数百个应用程序 | 支持 | 支持 | 支持 | 支持 |
| 云提供商基础设施
AWS、GCP、Azure等 | 支持 | 支持 | 支持 | 支持 |
| 自定义应用程序
OpenMetrics、StatsD,即将支持OpenTelemetry | 支持 | 支持 | 支持 | 支持 |
在Linux上,你可以持续监控所有内核功能和硬件传感器的错误,包括Intel/AMD/Nvidia GPU、PCI AER、RAM EDAC、IPMI、S.M.A.R.T、Intel RAPL、NVMe、风扇、电源和电压读数。
工作原理
Netdata通过模块化管道进行指标收集、处理和可视化:
flowchart TB
A[Netdata Agent]:::mainNode
A1(Collect):::green --> A
A2(Store):::green --> A
A3(Learn):::green --> A
A4(Detect):::green --> A
A5(Check):::green --> A
A6(Stream):::green --> A
A7(Archive):::green --> A
A8(Query):::green --> A
A9(Score):::green --> A
classDef green fill:#bbf3bb,stroke:#333,stroke-width:1px,color:#000
classDef mainNode fill:#f0f0f0,stroke:#333,stroke-width:1px,color:#333
每个代理可以执行以下操作:
- 收集:从系统、容器、应用程序、日志、API和合成检查中收集指标。
- 存储:将指标保存到高效的分层时间序列数据库中。
- 学习:根据最近的行为为每个指标训练机器学习模型。
- 检测:使用训练好的机器学习模型识别异常。
- 检查:根据预设或自定义的警报规则评估指标。
- 流式传输:实时将指标发送到Netdata父节点。
- 存档:将指标导出到Prometheus、InfluxDB、OpenTSDB、Graphite等。
- 查询:通过API访问指标,用于仪表盘或第三方工具。
- 评分:使用评分引擎查找指标之间的模式和相关性。
💡 使用建议
了解更多:Netdata的架构
代理功能
使用Netdata Agent,你可以立即使用以下核心功能:
| 功能 | 描述 |
| ---- | ---- |
| 全面收集 | • 800多个集成
• 系统、容器、虚拟机、硬件传感器
• OpenMetrics、StatsD和日志
• 即将支持OpenTelemetry |
| 性能与精度 | • 每秒收集
• 1秒延迟的实时可视化
• 高分辨率指标 |
| 边缘机器学习 | • 在边缘训练机器学习模型
• 为每个指标自动检测异常
• 基于历史行为进行模式识别 |
| 高级日志管理 | • 直接集成systemd-journald和Windows Event Log
• 在边缘处理日志
• 丰富的日志可视化 |
| 可观测性管道 | • 父子关系
• 灵活的集中化
• 多级复制和保留 |
| 自动可视化 | • NIDL数据模型
• 自动生成仪表盘
• 无需查询语言 |
| 智能警报 | • 预配置警报
• 多种通知方式
• 主动检测 |
| 低维护 | • 自动检测
• 零接触机器学习
• 易于扩展
• 适合CI/CD |
| 开放可扩展 | • 模块化架构
• 易于定制
• 与现有工具集成 |
📄 许可证
Netdata生态系统包括:
- Netdata Agent – 开源核心(GPLv3+)。包含 数据收集、存储、机器学习、警报、API,并 重新分发 了其他几个开源工具和库。
- Netdata UI – 闭源但可与Netdata Agent和Cloud免费使用。通过CDN提供。它集成了第三方开源组件。
- Netdata Cloud – 闭源,提供免费和付费层级。增加了远程访问、单点登录(SSO)和可扩展性。
微信扫一扫