网站搜索

如何使用 Netdata 监控 CentOS 8/7 服务器的性能


有大量的监视工具可用于监视系统性能并在出现问题时发送通知。然而,所涉及的安装和配置步骤通常很乏味。

Netdata是一款开源实时监控和故障排除工具,只需几个步骤即可安装。 Git 存储库附带一个自动化脚本,可以处理大部分安装和配置过程,并消除与其他监控工具相关的繁琐配置。

Netdata 自 2013 年 10 月首次发布以来已变得非常受欢迎。它收集实时指标,例如 CPU 和 RAM 使用情况、带宽统计数据和磁盘利用率,并将它们显示在易于解释的图表上/图表。

它取得了巨大的飞跃,并因此跻身福布斯 2020 年云 100 强新星之列。该榜单构成了前100家私有云公司。

在本文中,我们将了解如何在 CentOS 8/7 上安装 Netdata 来监控服务器和应用程序的实时、性能和运行状况。

支持的平台

Netdata 支持以下发行版:

  • CentOS 8 和 CentOS 7
  • RHEL 8 和 RHEL 7
  • 费多拉Linux

如何在 CentOS Linux 中安装 Netdata

1. 在我们深入安装 Netdata 之前,需要先安装一些必备包。但首先,更新系统并安装 EPEL 存储库,如图所示。

sudo yum update
sudo yum install epel-release

2. 接下来,如图所示安装必需的软件包。

sudo yum install gcc make git curl zlib-devel git automake libuuid-devel libmnl autoconf pkgconfig findutils

3. 安装完必备包后,克隆 Netdata git 存储库,如图所示。

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

4. 接下来,导航到 Netdata 目录并执行 install-required-packages.sh 脚本。该脚本会检测您的 Linux 发行版并安装 Netdata 安装过程中所需的其他软件包。

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

5. 最后,要安装 Netdata,请运行 Netdata 自动脚本,如下所示。

sudo ./netdata-installer.sh

执行脚本后,系统将向您简要介绍重要的 Netdata 文件的存储位置。其中包括配置文件、Web 文件、插件、数据库文件和日志文件等。

6. 按“ENTER”开始安装过程。在安装过程中,您将获得一些有关如何在浏览器上访问Netdata以及管理Netdata(例如启动和停止Netdata)的提示。

该脚本运行相当长一段时间,在安装过程中进行所有必要的配置和调整。对于我的情况,大约需要 3-5 分钟,完成后,显示的输出应该是安装成功的确认。

7.安装后,我们需要启动并运行Netdata守护进程。首先,在启动时启用 Netdata 守护进程,并验证状态,调用以下命令:

sudo systemctl start netdata
sudo systemctl enable netdata
sudo systemctl status netdata

8. 默认情况下,Netdata 侦听端口 19999,您可以使用 netstat 命令确认这一点,如下所示:

sudo netstat -pnltu | grep netdata

9.我们需要在防火墙上打开此端口,以便通过浏览器访问Netdata。因此运行以下命令:

sudo firewall-cmd --add-port=19999/tcp --permanent
sudo firewall-cmd --reload

10. 要访问 Netdata,请启动浏览器,然后浏览 URL,如下所示:

http://centos8-ip:19999/

您将看到一个仪表板,通过直观且炫酷的图表为您提供整体系统性能。

单击右侧边栏上列出的指标,可以随意浏览不同的图表。例如,要了解正在运行的 systemd 服务,请单击“systemd 服务”选项,如图所示。

在 CentOS 上使用基本身份验证保护网络数据

正如您可能令人震惊地观察到的那样,Netdata 不提供任何形式的身份验证。这意味着几乎任何人都可以访问仪表板,只要他们掌握了 Netdata 的 IP 地址。

值得庆幸的是,我们可以使用 htpasswd 程序和 Nginx Web 服务器作为反向代理来配置基本身份验证。因此,我们将安装 Nginx Web 服务器。

sudo dnf install nginx

安装Nginx后,我们将在/etc/nginx/conf.d目录中创建一个配置文件。但是,如果您将 Nginx 用于 Netdata 之外的其他目的,请随意使用 sites-available 目录。

sudo vim /etc/nginx/conf.d/default.conf

添加以下完整配置,并确保使用您自己的服务器 IP 地址和服务器名称更改 server_ipexample.com 指令。

upstream netdata-backend {
    server 127.0.0.1:19999;
    keepalive 64;
}

server {
    listen server_ip:80;
    server_name example.com;

    auth_basic "Authentication Required";
    auth_basic_user_file netdata-access;

    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://netdata-backend;
        proxy_http_version 1.1;
        proxy_pass_request_headers on;
        proxy_set_header Connection "keep-alive";
        proxy_store off;
    }
}

对于用户身份验证,我们将使用 htpasswd 工具为名为 howtoing 的用户创建用户名和密码,并将凭据保存在 netdata-access 下文件。

sudo htpasswd -c /etc/nginx/netdata-access tecmint

提供密码并确认。

接下来,重新启动 Nginx Web 服务器以使更改生效。

sudo systemctl restart nginx

要测试配置是否正确,请继续浏览服务器的 IP 地址。

http://server-ip

此后,您将可以访问 Netdata 仪表板。

就是这样,伙计们。我们已引导您完成在 CentOS 8 上安装 Netdata 监控工具,并配置基本身份验证以保护监控工具的安全。给我们留言,让我们知道进展如何。