任何服务器监控是一项很重要的事情,以前在 VPS 上一直使用 nodequery ,虽然设置方便简洁,但是数据不够详细也是他很大问题,所以经过一番寻找又发现了这个 [[Netdata]]。下面是 netdata 一系列的特性
- 安装方便,几乎是一键
- 实时信息显示,监控内容详细
- 高性能,netdata 和插件都使用 C 编写,不占用系统 IO
- 发送告警,可以向很多第三方平台发送报警通知,包括 telegram, email, slack channel 等等
- 无磁盘 IO 操作
- 不需要 root 权限
- 可视化界面漂亮
官方提供了一些列的 demo : https://my-netdata.io/
一键安装
按照下面的教程安装:
现在官方也提供了 Docker 的方式安装,更加方便。
配置 Nginx
upstream backend {
server 127.0.0.1:19999;
keepalive 64;
}
server {
listen 80;
listen [::]:80;
index index.html index.htm index.nginx-debian.html;
server_name status.einverne.info;
auth_basic "Protected";
auth_basic_user_file passwords;
location / {
proxy_set_header X-Forwarded-Host $host;
proxy_set_header X-Forwarded-Server $host;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_pass http://backend;
proxy_http_version 1.1;
proxy_pass_request_headers on;
proxy_set_header Connection "keep-alive";
proxy_store off;
}
}
主要配置如上,可以加上一个密码保护,具体 Nginx 的配置 可以参考链接。
htpasswd -c -d /etc/nginx/passwords yourusername
这行命令中的 passwords
就是之前 Nginx 配置中的 auth_basic_user_file
后的参数,通过该选项设置用户名密码。
卸载删除
netdata 是不提供卸载脚本的,如果要在系统中删除,可以使用如下
killall netdata
apt-get remove zlib1g-dev gcc make git autoconf autogen automake pkg-config
rm -Rf /usr/sbin/netdata
rm -Rf /etc/netdata
rm -Rf /usr/share/netdata
rm -Rf /usr/libexec/netdata
rm -Rf /var/cache/netdata
rm -Rf /var/log/netdata
rm -Rf /opt/netdata
userdel netdata