Netdata - Linux 系统的实时性能监控工具
netdata是一个高度优化的 Linux 实用程序,它为 Linux 系统、应用程序、SNMP 设备等提供实时(每秒)性能监控,并显示完整的交互式图表,这些图表可以通过 Web 浏览器完全呈现所有收集到的值以供分析。
不要错过: 20 个有用的命令行工具来监控 Linux 性能
它被开发为可以安装在每个 Linux 系统上,而不会中断当前正在运行的应用程序。您可以使用此工具来监控和概览 Linux 系统和应用程序上正在发生的和刚刚发生的事情。
它监控的内容如下:
- 总计和每个核心的 CPU 使用率、中断、软中断和频率。
- 总内存、RAM、交换和内核使用情况。
- 磁盘 I/O(每个磁盘:带宽、操作、积压、利用率等)。
- 监控网络接口,包括:带宽,数据包,错误,丢失等)。
- 监控 Netfilter/iptables Linux 防火墙连接、事件、错误等。
- 进程(运行、阻塞、分叉、活动等)。
- 带有进程树的系统应用程序(CPU、内存、交换、磁盘读/写、线程等)。
- 使用 mod_status 监控 Apache 和 Nginx 状态。
- MySQL 数据库监控:查询、更新、锁、问题、线程等。
- Postfix 电子邮件服务器消息队列。
- Squid 代理服务器带宽和请求监控。
- 硬件传感器(温度、电压、风扇、功率、湿度等)。
- SNMP 设备。
Linux 系统上的 netdata 安装
可以使用包管理器轻松在Arch Linux、Gentoo Linux、Solus Linux和Alpine Linux上安装最新版本的netdata,如图所示。
$ sudo pacman -S netdata [Install Netdata on Arch Linux] $ sudo emerge --ask netdata [Install Netdata on Gentoo Linux] $ sudo eopkg install netdata [Install Netdata on Solus Linux] $ sudo apk add netdata [Install Netdata on Alpine Linux]
在Debian/Ubuntu和RHEL/CentOS/Fedora上,有一行安装脚本将安装最新的netdata并自动保持其更新。
$ bash <(curl -Ss https://my-netdata.io/kickstart.sh [On 32-bit] $ bash <(curl -Ss https://my-netdata.io/kickstart-static64.sh) [On 64-bit]
上述脚本将:
- 发现分发并安装构建 netdata 所需的软件包(将要求确认)。
- 将最新的 netdata 源树下载到/usr/src/netdata.git。
./netdata-installer.sh
通过从源树执行来安装 netdata 。- 安装
netdata-updater.sh
到cron.daily,因此您的网络数据将每天更新(只有更新失败时您才会收到来自 cron 的警报)。
注意:该kickstart.sh
脚本将其所有参数进展到netdata-installer.sh
,因此您可以定义更多参数来修改安装源、启用/禁用插件等。
或者,您也可以通过克隆其存储库手动安装最新的 netdata,但在开始安装netdata之前,请确保系统上安装了这些基本的构建环境包,如果没有,请使用相应的分发包管理器进行安装,如下所示:
在 Debian / Ubuntu 上
# apt-get install zlib1g-dev gcc make git autoconf autogen automake pkg-config
在 Centos / Redhat / Fedora 上
# yum install zlib-devel gcc make git autoconf autogen automake pkgconfig
接下来,从 git 克隆 netdata 存储库并运行 netdata 安装程序脚本来构建它。
# git clone https://github.com/firehol/netdata.git --depth=1 # cd netdata # ./netdata-installer.sh
注意:该netdata-installer.sh
脚本将构建 netdata 并将其安装到您的 Linux 系统上。
一旦netdata安装程序完成,该文件/etc/netdata/netdata.conf
将在您的系统中创建。
现在是时候通过从终端执行以下命令来启动netdata 了。
# /usr/sbin/netdata
您还可以通过使用 killall 命令终止其进程来停止netdata,如下所示。
# killall netdata
注意:Netdata 在退出时会将其循环数据库信息保存在/var/cache/netdata
文件下,以便当您再次启动netdata时,它将从上次停止的地方继续运行。
启动并测试 netdata
现在打开浏览器并导航到以下地址以访问所有图表的网站:
# http://127.0.0.1:19999/
查看展示如何进行实时 Linux 性能监控的视频:https://www.youtube.com/watch? v=QIZXS8A4BvI
您还可以随时查看 netdata 的运行配置,方法是:
http://127.0.0.1:19999/netdata.conf
更新网络数据
您可以进入之前下载的目录并运行以下命令将netdata守护程序更新到最新版本:netdata.git
# cd /path/to/netdata.git # git pull # ./netdata-installer.sh
上述netdata安装程序脚本将构建新版本并重新启动 netdata。