前言

对于服务器监控我相信对于一些人来说是感兴趣的,相比于繁琐的 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性能监控工具安装踩坑指南

是一名喜欢每天折腾的咸鱼!
也是一名半退役的算竞摸鱼选手,参与过icpc,天梯赛,蓝桥等比赛.
---------------------------------------------------
百度 飞桨领航团-团长
Datawhale -鲸英助教团成员
上海人工智能实验室 书生·浦语实战营- 助教
---------------------------------------------------
认证类:
华为 Harmony OS应用开发者高级认证,
NISP 一级认证,
H3C NE-RS网络工程师认证
---------------------------------------------------
荣获奖项荣誉:
第十八届“挑战杯”全国大学生课外学术科技作品竞赛 “揭榜挂帅”专项赛-全国特等奖、
“美亚杯”第八届中国电子取证大赛 三等奖、
“蓝桥杯”国优、
中国高校计算机大赛-团体程序天梯赛 省高校一等奖、
“蓝桥杯”省一等奖、
H3C新华三杯 省三等奖、
中国移动“梧桐杯”大数据创新大赛 省三等奖、
百度 飞桨领航团 金牌团长
最后更新于 2024-01-24