安利一款免费、开源、实时的服务器监控工具:Netdata

article/2025/10/29 15:40:08

Netdata 是一个免费、开源、实时的服务器监控工具,可以可视化和监控实时数据,如 CPU 使用率、RAM 使用率、负载、SWAP 使用率、带宽使用率、磁盘使用率等。它可以帮助系统管理员了解您的系统或应用程序中正在发生的事情以及刚刚发生的事情。它可以安装在任何物理服务器、虚拟机、容器和物联网设备上。它提供了一个交互式 Web 界面来查看您的服务器指标,并支持用于持久存储的各种数据存储。

在本教程中,我们将向您展示如何在 Alma Linux 8 上安装 Netdata 监控工具。

先决条件

  • 运行 Alma Linux 8 的服务器。
  • 使用您的服务器 IP 指向的有效域名。
  • 在服务器上配置了 root 密码。

安装所需的依赖项

首先,您需要安装 EPEL 存储库和安装 Netdata 所需的其他依赖项,您可以通过运行以下命令来安装所有这些:

dnf install epel-release -y
dnf install git libuuid-devel autoconf automake pkgconfig zlib-devel curl findutils libmnl gcc make -y

安装完所有软件包后,您可以继续下一步。

安装网络数据

默认情况下,Netdata 不包含在 Alma Linux 默认存储库中。因此,您需要从源代码安装它。

首先,使用以下命令从 Git 存储库下载最新版本的 Netdata:

git clone --recurse-submodules https://github.com/netdata/netdata.git --depth=100

下载完成后,将目录更改为 netdata 并使用以下命令安装所有必需的依赖项:

cd 
netdata ./packaging/installer/install-required-packages.sh --non-interactive --dont-wait netdata

接下来,使用以下命令安装其他软件包:

dnf --enablerepo=powertools install libuv-devel

接下来,运行 Netdata 安装脚本开始安装。

./netdata-installer.sh

您将获得以下输出:

--- real-time performance monitoring, done right! --- You are about to build and install netdata to your system.The build process will use /tmp forany temporary files. You can override this by setting $TMPDIR to awritable directory where you can execute files.It will be installed at these locations:- the daemon     at /usr/sbin/netdata- config files   in /etc/netdata- web files      in /usr/share/netdata- plugins        in /usr/libexec/netdata- cache files    in /var/cache/netdata- db files       in /var/lib/netdata- log files      in /var/log/netdata- pid file       at /var/run/netdata.pid- logrotate file at /etc/logrotate.d/netdataThis installer allows you to change the installation path.Press Control-C and run the same command with --help for help.NOTE:Anonymous usage stats will be collected and sent to Netdata.To opt-out, pass --disable-telemetry option to the installer or exportthe environment variable DISABLE_TELEMETRY to a non-zero or non-empty value(e.g: export DISABLE_TELEMETRY=1).Press ENTER to build and install netdata to your system > 

按 Enter 键将 Netdata 安装到您的系统。安装 Netdata 后,您将获得以下输出:

将 netdata.tarball.checksum 设置为“new_installation”

Setting netdata.tarball.checksum to 'new_installation'--- We are done! --- ^|.-.   .-.   .-.   .-.   .-.   .  netdata  .-.   .-.   .-.   .-.   .-.   .-|   '-'   '-'   '-'   '-'   '-'               '-'   '-'   '-'   '-'   '-'   +----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+-----+--->--- is installed and running now! --- enjoy real-time performance and health monitoring...
systemctl start netdata
systemctl enable netdata

您现在可以使用以下命令检查 Netdata 的状态。

systemctl status netdata

您将获得以下输出:

? netdata.service - Real time performance monitoringLoaded: loaded (/usr/lib/systemd/system/netdata.service; enabled; vendor preset: disabled)Active: active (running) since Sat 2022-03-19 04:22:22 UTC; 4min 16s agoMain PID: 58935 (netdata)Tasks: 50 (limit: 11412)Memory: 103.1MCGroup: /system.slice/netdata.service??58935 /usr/sbin/netdata -P /var/run/netdata/netdata.pid -D??58938 /usr/sbin/netdata --special-spawn-server??59063 /usr/libexec/netdata/plugins.d/apps.plugin 1??59064 /usr/libexec/netdata/plugins.d/ebpf.plugin 1??59065 /usr/libexec/netdata/plugins.d/go.d.plugin 1Mar 19 04:22:22 linux systemd[1]: Starting Real time performance monitoring...
Mar 19 04:22:22 linux systemd[1]: Started Real time performance monitoring.
Mar 19 04:22:22 linux netdata[58935]: CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/cloud.conf'. Running with internal defaults.
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : CONFIG: cannot load cloud config '/var/lib/netdata/cloud.d/>
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : Found 0 legacy dbengines, setting multidb diskspace to 256MB
Mar 19 04:22:22 linux netdata[58935]: 2022-03-19 04:22:22: netdata INFO  : MAIN : Created file '/var/lib/netdata/dbengine_multihost_size' to >
Mar 19 04:22:22 linux netdata[58935]: Found 0 legacy dbengines, setting multidb diskspace to 256MB
Mar 19 04:22:22 linux netdata[58935]: Created file '/var/lib/netdata/dbengine_multihost_size' to store the computed value
Mar 19 04:22:23 linux ebpf.plugin[59064]: Does not have a configuration file inside `/etc/netdata/ebpf.d.conf. It will try to load stock file.
Mar 19 04:22:23 linux ebpf.plugin[59064]: Cannot read process groups configuration file '/etc/netdata/apps_groups.conf'. Will try '/usr/lib/n>

此时,Netdata 正在运行并监听 19999 端口。您可以使用以下命令检查它:

ss -antpl | grep netdata

您将获得以下输出:

LISTEN 0      128        127.0.0.1:8125       0.0.0.0:*    users:(("netdata",pid=58935,fd=29))
LISTEN 0      128          0.0.0.0:19999      0.0.0.0:*    users:(("netdata",pid=58935,fd=6)) 
LISTEN 0      128            [::1]:8125          [::]:*    users:(("netdata",pid=58935,fd=28))
LISTEN 0      128             [::]:19999         [::]:*    users:(("netdata",pid=58935,fd=7))

完成后,您可以继续下一步。

配置防火墙

如果您在系统上使用 firewalld 防火墙,那么您需要允许端口19999和80通过 firewalld。您可以使用以下命令允许它们:

firewall-cmd --permanent --add-port=19999/tcp 
firewall-cmd --permanent --add-port=80/tcp

接下来,重新加载 firewalld 守护进程以应用更改:

firewall-cmd --reload

完成后,您可以继续下一步。

将 Nginx 配置为 Netdata 的反向代理

将 Nginx 安装和配置为反向代理以访问 Netdata 始终是一个好主意。首先,使用以下命令安装 Nginx 服务器:

dnf install nginx httpd-tools -y

接下来,使用以下命令生成密码文件:

htpasswd -c /etc/nginx/.htpasswd netadmin

设置您的管理员密码,如下所示:

New password: 
Re-type new password: 
Adding password for user netadmin

接下来,使用以下命令创建一个 Nginx 虚拟主机配置文件:

nano /etc/nginx/conf.d/netdata.conf

添加以下行:

upstream backend {
server 127.0.0.1:19999;
keepalive 64;
}server {
listen 80;
server_name netdata.example.com;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;auth_basic "Private Property";auth_basic_user_file /etc/nginx/.htpasswd;
}
}

保存并关闭文件,然后验证 Nginx 是否存在任何语法配置错误:

nginx -t

如果一切正常,您将获得以下输出:

nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
nginx: configuration file /etc/nginx/nginx.conf test is successful

接下来,重新启动 Nginx 服务以应用配置更改:

systemctl restart nginx

您还可以使用以下命令检查 Nginx 状态:

systemctl status nginx

您应该看到以下输出:

? nginx.service - The nginx HTTP and reverse proxy serverLoaded: loaded (/usr/lib/systemd/system/nginx.service; disabled; vendor preset: disabled)Active: active (running) since Sat 2022-03-19 04:28:44 UTC; 4s agoProcess: 61706 ExecStart=/usr/sbin/nginx (code=exited, status=0/SUCCESS)Process: 61705 ExecStartPre=/usr/sbin/nginx -t (code=exited, status=0/SUCCESS)Process: 61703 ExecStartPre=/usr/bin/rm -f /run/nginx.pid (code=exited, status=0/SUCCESS)Main PID: 61708 (nginx)Tasks: 2 (limit: 11412)Memory: 3.7MCGroup: /system.slice/nginx.service??61708 nginx: master process /usr/sbin/nginx??61709 nginx: worker processMar 19 04:28:44 linux systemd[1]: Starting The nginx HTTP and reverse proxy server...
Mar 19 04:28:44 linux nginx[61705]: nginx: the configuration file /etc/nginx/nginx.conf syntax is ok
Mar 19 04:28:44 linux nginx[61705]: nginx: configuration file /etc/nginx/nginx.conf test is successful
Mar 19 04:28:44 linux systemd[1]: nginx.service: Failed to parse PID from file /run/nginx.pid: Invalid argument
Mar 19 04:28:44 linux systemd[1]: Started The nginx HTTP and reverse proxy server.

完成后,您可以继续下一步。

访问网络数据仪表板

现在,打开您的 Web 浏览器并使用 URL http://your-server-ip 访问 Netdata 仪表板。您应该看到 Netdata 登录页面:

提供您的管理员用户名、密码,然后单击登录按钮。您应该在以下页面上看到 Netdata 仪表板:

结论

恭喜!您已在 Alma Linux 8 上成功安装了 Netdata 监控工具。您现在可以从 Netdata 仪表板开始实时监控您的服务器矩阵,如果您有任何问题,请随时问我。


http://chatgpt.dhexx.cn/article/XksUcZdW.shtml

相关文章

Spring Boot服务监控(Prometheus)

哲学 最近看到了一句话:定乎内外之分 辩乎荣辱之境。 一个外国作家也说过: 我生命里的的最大突破之一,就是我不再为别人的看法而担忧。此后,我真的能自由的去做我认为对自己最好的事,只有在我们不需要外来的赞许时&…

几种服务器监控系统,几种服务器监控系统

几种服务器监控系统 内容精选 换一换 设置“云服务器名称”。名称可自定义,但需符合命名规则:只能由中文字符、英文字母、数字及“_”、“-”、“.”组成。如果同时购买多台弹性云服务器,系统会自动按序增加后缀。一次创建多台弹性云服务器时…

无线监控设置smtp服务器,监控smtp服务器

监控smtp服务器 内容精选 换一换 华为云提供了云监控服务,您可以使用该服务监控弹性云服务器,在您开通了弹性云服务器后,云监控服务将自动实时监控并根据您设置的告警预置触发告警和通知,帮助您更好地了解弹性云服务器的各项性能指…

对微服务的监控的两种办法(springbootAdmin、prometheus+grafana)

1、springboot-admin实现对服务的监控 一、actuator客户端(即每一个需要监控的微服务) 1、在业务微服务中引入jar包 <!-- 引入Actuator监控依赖 --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-…

语言模型BERT理解

一、BERT概述 BERT是由Google在2018年提出的一种预训练语言模型。BERT的创新之处在于采用了双向Transformer编码器来生成上下文相关的词向量表示。 传统的单向语言模型只考虑了左侧或右侧的上下文信息&#xff0c;而BERT则同时考虑了左侧和右侧的上下文信息&#xff0c;使得生…

【BERT类预训练模型整理】

BERT类预训练模型整理 1.BERT的相关内容1.1 BERT的预训练技术1.1.1 掩码机制1.1.2 NSP&#xff08; Next Sentence Prediction&#xff09; 1.2 BERT模型的局限性 2. RoBERTa的相关内容2.1 RoBERTa的预训练技术2.1.1动态掩码&#xff08;Dynamic Masking&#xff09;2.1.2取消N…

(四)目标检测yolov5-6.0模型训练

安装好yolov5-6.0环境后 1.数据结构格式 文件夹结构&#xff1a;新建coco128 images文件夹下的train与val都是图像 labels文件夹下的train与val都是yolo格式的txt标签文件 2.修改配置文件 第一个需要修改的文件data/coco128.yaml 修改数据集路径&#xff1a; 例如&#xf…

caffe 训练自己的分类模型

学习caffe的最终目的&#xff0c;是可以利用自己的数据集&#xff0c;训练模型&#xff0c;并解决实际问题。 所以在前面跑通了mnist和cifar-10例程的基础上&#xff0c;尝试训练自己的模型&#xff0c;从头到尾走一遍所有的流程。准备数据、训练并得到模型&#xff0c;利用模…

bert中文分类模型训练+推理+部署

文章预览&#xff1a; 0. bert简介1. bert结构1. bert中文分类模型训练1 下载bert项目代码代码结构 2 下载中文预训练模型3 制作中文训练数据集 2. bert模型推理1.tensorflow推理 2. onnxruntime推理1. checkpoint格式转换为saveModel格式2. saveModel格式转换为onnx格式3. 使用…

Bert模型详解和训练实例

前面已经介绍了transformer&#xff0c;理解了transformer&#xff0c;那么理解bert就简单多了。对transformer不是很了解的可以跳转到https://blog.csdn.net/one_super_dreamer/article/details/105181690 bert的核心代码解读在https://blog.csdn.net/one_super_dreamer/arti…

无监督模型 训练过程_监督使用训练模型

无监督模型 训练过程 Machine Learning, Artificial Intelligence, and Deep Learning are some of the most complex, yet highly demanded fields of expertise today. There are innumerable resources and tools to work in these fields, and one such popular tool is Su…

Tensorflow V2 图像识别模型训练流程

Tensorflow V2.0 图像识别教程 代码&#xff1a; https://github.com/dwSun/classification-tutorial.git 教程参考官方专家高级教程&#xff1a; https://tensorflow.google.cn/tutorials/quickstart/advanced?hlen 这里以 TinyMind 《汉字书法识别》比赛数据为例&#xf…

(三)mmclassification图像分类——模型训练

&#xff08;三&#xff09;mmclassification图像分类——模型训练和测试 1.模型训练1.1使用预训练模型1.2使用自己的数据训练1.2.1制作数据集1.2.2修改模型参数&#xff08;configs文件&#xff09;(1)models(2)datasets(3)schedules(4)新建mobilenet_v2_b32x8_car.py 1.3训练…

tensorflow CNN模型训练+优化参数+实战

训练线性函数 import numpy as np import tensorflow.keras as keras # 构建模型 model keras.Sequential([keras.layers.Dense(units1,input_shape[1])]) # optimizer优化&#xff0c;loss损失 model.compile(optimizersgd, lossmean_squared_error) #准备训练数据 xsnp.ar…

nanodet训练手势识别模型

序言 前段时间nanodet爆火&#xff0c;以非常小的模型和运算量&#xff0c;取得了超过tiny-yolov4的精度&#xff0c;非常惊艳&#xff0c;因为时间问题一直没有尝试&#xff0c;最近有空决定尝试一下。先来看下作者给的模型效果 一、nanodet安装 首先安装nanodet的环境包…

Pytorch教程[10]完整模型训练套路

一般的模型构建都是按照下图这样的流程 下面分享一个自己手动搭建的网络 from model import * import torchvision import torch from torch.utils.tensorboard import SummaryWriter from torchvision import transforms from torch import nn from torch.utils.data import …

PaddleOCR学习(二)PaddleOCR检测模型训练

这一部分主要介绍&#xff0c;如何使用自己的数据库去训练PaddleOCR的文本检测模型。 官方教程https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/detection.md 一、准备训练数据 首先你需要有自己的数据&#xff0c;如果没有自己的数据&#xff0c;推荐使…

迁移学习的模型训练

用深度学习解决目标检测有两个重要工作&#xff1a; 1、设计、实现、训练和验证模型 模型如果设计模型如何编程实现如何收集足够的数据来训练并验证模型是否符合预期 从头开始设计、实现、训练和验证模型是需要有众多深度学习算法人才做支撑&#xff0c;并且极其耗时耗力 2、…

TF2.0模型训练

TF2.0模型训练 概述数据集介绍1、通过fit方法训练模型准备数据创建模型编译模型训练模型 2、通过fit_generator方法训练模型构建生成器创建模型编译模型训练模型 3、自定义训练准备数据创建模型定义损失函数及优化器训练模型 下一篇TF2.0模型保存 概述 这是TF2.0入门笔记【TF2…

TensorFlow 2.0 —— 模型训练

目录 1、Keras版本模型训练1.1 构造模型&#xff08;顺序模型、函数式模型、子类模型&#xff09;1.2 模型训练&#xff1a;model.fit()1.3 模型验证&#xff1a;model.evaluate()1.4 模型预测&#xff1a;model.predict()1.5 使用样本加权和类别加权1.6 回调函数1.6.1 EarlySt…