前言
对于服务器监控我相信对于一些人来说是感兴趣的,相比于繁琐的 Grafana + Zabbix(白猫的docker安装教程)对于服务器资源的占用,较为轻便监控之全面的NetData,它的优势就显现出来了。
介绍
NetData 是一个用于系统和应用的分布式实时性能和健康监控工具。它提供了对系统中实时发生的所有事情的全面检测。你可以在高度互动的 Web 仪表板中查看结果。使用 Netdata,你可以清楚地了解现在发生的事情,以及之前系统和应用中发生的事情。你无需成为专家即可在 Linux 系统中部署此工具。NetData 开箱即用,零配置、零依赖。只需安装它然后坐等,之后 NetData 将负责其余部分。
它有自己的内置 Web 服务器,以图形形式显示结果。NetData 非常快速高效,安装后可立即开始分析系统性能。它是用 C 编程语言编写的,所以它非常轻量。它占用的单核 CPU 使用率不到 3%,内存占用 10-15MB。我们可以轻松地在任何现有网页上嵌入图表,并且它还有一个插件 API,以便你可以监控任何应用。
安装过程
1.使用官方脚本安装
可以在netdat官网获取安装脚本指令,建议使用稳定版本
也可直接复制下面这个指令(指定稳定渠道版本,自动更新,不上传统计数据)
wget -O /tmp/netdata-kickstart.sh https://my-netdata.io/kickstart.sh && sh /tmp/netdata-kickstart.sh --stable-channel --disable-telemetry
安装完后Netdata 默认开启外部访问
你只需要访问访问http ://服务器IP:19999
即可访问到 Netdata 的面板
2.使用Nginx配置域名访问,设置账号密码授权
准备:
- 如果服务器没有Nginx,安装:
yum install nginx
- netdata的域名,如:
netdata.example.com
2.1生成Nginx密码文件
# 密码文件存放位置自定义,路径需记录下来,放在Nginx配置中。
printf "netdata:$(openssl passwd -apr1 你想设置的密码)" > /usr/local/nginx/conf/htpasswd
2.2配置nginx.conf
查看nginx配置文件的路径(同时该指令可验证配置文件是否正确)
nginx -t
到该路径下的conf.d/
创建一个netdata.conf
子配置文件,,写入如下内容.
适当修改端口号、域名、auth_basic_user_file。
upstream backend {
# the netdata server,请修改具体端口号
server 127.0.0.1:19999;
keepalive 64;
}
server {
# nginx listens to this 监听的端口,即以后访问的端口号
listen 80;
# the virtual host name of this,请求改具体域名
server_name netdata.example.com;
# auth password
auth_basic "netdata Login";
# 上一步生成的密码文件路径
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
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;
}
}
2.3重启nginx
systemctl reload nginx
重启Nginx后,可以直接通过域名netdata.example.com
访问,并且需要输入账号和密码。但是依然可以通过http://IP:Port的方式访问,接下来禁用IP访问。
2.4NetData禁用外部IP请求(可选)
打开NetData配置文件:/etc/netdata/netdata.conf
,web项的 bind to
修改如下:
[web]
bind to = 127.0.0.1 ::1
重启NetData: systemctl restart netdata
参考资料
Comments NOTHING