NetData-轻量的性能监控工具安装(附Nginx反代教程)

发布于 2023-05-31  210 次阅读


前言

对于服务器监控我相信对于一些人来说是感兴趣的,相比于繁琐的 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

参考资料

使用Netdata和apcupsd监控非SNMP UPS的电池状态

超详细的NetData-轻量的性能监控工具安装教程

NetData——一个炫酷的NAS性能监控工具安装踩坑指南