Netdata 是一个面向系统、硬件、容器和应用程序的分布式实时性能和运行状况监控平台,无需配置即可收集数千个有用的指标。它可以在您的所有物理/虚拟服务器、容器、云部署和边缘/物联网设备上永久运行,并且在事件中途安装到您的系统上是完全安全的,无需任何准备。
Netdata 在 github 上的star目前是62.5K,非常高!!
Netdata 是高保真基础架构监控和故障排除。它的特点:开源、免费、预配置、实时监测。
中文翻译文档
Netdata 代理是一个非常强大的开源单节点运行状况监视和性能故障排除工具。 它使您能够自动识别流程,在本地收集和存储指标,甚至更多 - 无需任何配置即可可视化所有指标(当然,如果需要,您可以稍后对其进行调整)。
Netdata Cloud 是一个托管的 Web 界面,可让您免费、实时地了解整个基础架构,并安全访问您的 Netdata 代理。它提供了根据存储的元数据(代理拓扑、在特定代理上收集的指标以及每个指标的保留信息)自动将您的请求路由到最相关的代理以显示指标的功能。
它为您提供了一些额外的功能,例如指标相关性,异常顾问,每个图表上的异常率等等。
立即查看Netdata Cloud演示空间(无需注册或登录)亲自尝试。
Netdata的使命是帮助更多的人对更复杂的IT基础设施进行故障排除,这就是为什么我们的免费社区计划使您能够监控无限数量的节点,容器和指标(自定义或内置)。
由于Netdata的分布式特性,为了确保监控系统的高可用性,请查看我们的数据复制建议以提高数据可用性。
您可以在大多数Linux发行版(Ubuntu,Debian,CentOS等),容器平台(Kubernetes 集群,Docker)和许多其他操作系统(FreeBSD,macOS)。不需要。sudo
Netdata 由系统管理员、DevOps 工程师和开发人员设计,用于收集所有内容,帮助您可视化 指标,排查复杂的性能问题,并使数据可与监控堆栈的其余部分互操作。
易于部署
- Linux 发行版的单线部署,以及对 Kubernetes/Docker 基础架构的支持。
- 无需配置和维护即可每秒从底层收集数千个指标 操作系统和正在运行的应用程序。
- 预构建的图表和警报会提醒您注意常见的异常和性能问题,而无需手动配置。
- 分布式存储,可简化从任意数量节点存储指标数据的成本和复杂性。
功能强大且可扩展
- 1% 的 CPU 利用率、几 MB 的 RAM 和最少的磁盘 I/O,可在裸机、虚拟上运行监控代理 机器、容器,甚至物联网设备。
- 基于您运行的硬件和应用程序的无限数量指标的每秒粒度 在您的节点上。
- 可互操作的导出器允许您将 Netdata 的每秒指标与现有的监控堆栈和其他指标连接起来 时间序列数据库。
针对故障排除进行了优化
- 使用强调图表之间关系的 UI/UX 进行视觉异常检测。
- 可自定义的仪表板,可精确定位相关指标、响应事件并帮助您简化 工作流。
- 集中式界面中的分布式指标,可帮助用户或团队跟踪分布式之间的复杂问题 节点。
安全源于设计
- 分布式数据架构如此快速高效,您可以遵循的指标数量没有限制。
- 由于您的数据存储在边缘,因此可确保安全性。
- 1s 粒度:所有指标的最高分辨率。
- 无限指标:Netdata 收集所有可用指标 — 越多越好。
- 单核 1% 的 CPU 利用率:它得到了令人难以置信的优化。
- 几 MB 的 RAM:高效的数据库引擎将每秒的指标存储在 RAM 中,然后“溢出” 磁盘长期存储的历史指标。
- 最小磁盘 I/O:运行时,Netdata 仅写入历史指标以及读取和日志。erroraccess
- 零配置:Netdata 自动检测所有内容,并且可以从 箱。
- 零维护:您只需运行它。Netdata完成其余的工作。
- 惊人的快速交互式可视化:仪表板在每个指标不到 1 毫秒的时间内响应查询 在时间平移、放大异常等时同步图表。
- 视觉异常检测:我们的 UI/UX 强调图表之间的关系,以帮助您检测根 异常的原因。
- 开箱即用的机器学习 (ML) 功能:基于 ML 的无监督异常检测,每秒、每个指标、零配置!指标相关性有助于短期更改检测。以及其他基于 ML 的附加功能,可帮助您的生活更轻松。
- 扩展到无穷大:可以将其安装在所有服务器、容器、VM 和 IoT 设备上。指标不是 默认情况下集中式,因此没有限制。
- 多种操作模式:自主主机监控(默认)、无外设数据收集器、转发代理、 存储和转发代理,中央多主机监控,在所有可能的配置中。使用不同的指标 每个节点的保留策略,在有或没有运行状况监视的情况下运行。
Netdata 可与大量应用程序、通知平台和其他时间序列数据库配合使用:
- 300+ 系统、容器和应用程序端点:收集器自动检测来自默认端点的指标和 立即将它们可视化为专为故障排除而设计的有意义的图表。查看我们的一切 支持。
- 20+ 个通知平台:Netdata 的健康监控系统向您喜爱的监控系统发送警告和严重警报 平台只需几秒钟即可通知您异常情况 在它们影响您的节点之后。
- 30+ 外部时间序列数据库:将收集到的重采样指标导出到其他本地和 基于云的数据库,实现一流的 互操作性。
安装使用
安装Netdata需要的基本编译环境安装
yum install zlib-devel gcc make git autoconf autogen automake pkgconfig
安装Netdata
sudo apt-get install netdata
通过yum安装epel源
yum install epel-release.noarch
安装netdata
yum install netdata -y
安装完后,通过http://localhost:19999可以访问Netdata 控制面板。
netdata默认绑定的地址是127.0.0.1,外网访问需要修改一下配置文件:
vi /etc/netdata/netdata.conf
把IP地址改为0.0.0.0,然后重启。
Docker方式
docker run -d --name=netdata \
-p 19999:19999 \
-v netdataconfig:/etc/netdata \
-v netdatalib:/var/lib/netdata \
-v netdatacache:/var/cache/netdata \
-v /etc/passwd:/host/etc/passwd:ro \
-v /etc/group:/host/etc/group:ro \
-v /proc:/host/proc:ro \
-v /sys:/host/sys:ro \
-v /etc/os-release:/host/etc/os-release:ro \
--restart unless-stopped \
--cap-add SYS_PTRACE \
--security-opt apparmor=unconfined \
netdata/netdata
也是通过http://localhost:19999访问。
构建静态二进制包
要构建静态二进制 64 位分发包,运行:
cd /path/to/netdata.git
./packaging/makeself/build-x86_64-static.sh
离线安装
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
或
curl https://my-netdata.io/kickstart.sh > /tmp/netdata-kickstart.sh && sh /tmp/netdata-kickstart.sh --prepare-offline-install-source ./netdata-offline
图源来自己官网