netdata 是一个 Linux 实时监控工具,支持应用程序、网络状况、用户/用户组,甚至 docker/lxc 和 SNMP 的监控。
这里我选择的是手动安装:
# Debian / Ubuntu
sudo apt-get install zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config
# 安装其它非必需插件,建议安装 nodejs,不过我已经安装过了。
apt-get install curl jq
netdata 并没有提供安装包,所以需要从源码安装:
git clone https://github.com/firehol/netdata.git --depth=1
cd netdata
sudo ./netdata-installer.sh # 由于需要安装系统监控程序,管理员权限是必须的
# 如果想要指定安装目录可以 `./netdata-installer.sh --install /opt`,这样 netdata 将会安装在 `/opt/netdata`。
安装的时候提示:
sudo killall netdata # 终止 netdata 进程
sudo cp system/netdata.service /etc/systemd/system/ # 将 netdata.service 复制到 systemd 服务目录
sudo systemctl daemon-reload # systemd 加载新服务
sudo systemctl enable netdata # 设置开机启动
sudo service netdata start # 启动 netdata
netdata 提示我可以开启内存去重(memory de-duper/Kernel Same-page Merging):
echo 1 >/sys/kernel/mm/ksm/run; echo 1000 >/sys/kernel/mm/ksm/sleep_millisecs
据说可以节省 40%-60% 的内存开销!
cd /path/to/git/downloaded/netdata
git pull
./netdata-installer.sh
打开 http://127.0.0.1:19999/
,netdata 默认开放外部访问,因此可以在局域网打开 http://host-to-netdata:19999/
开启监控。