如何在CentOS 7上使用Netdata监控Nginx

Netdata是Linux服务器的开源监控系统。它提供实时性能和健康监控与美丽的仪表板和...

如何在CentOS 7上使用Netdata监控Nginx

Netdata是Linux服务器的开源监控系统。 它通过美观的仪表板和分析提供实时性能和健康监测。 Netdata应该在任何Linux发行版上运行 - 已经在Alpine Linux,Arch Linux,CentOS,Ubuntu等上进行过测试。它为您的服务器,CPU,内存使用,IPv4和IPv6网络以及用户应用程序(如Nginx)提供实时运行状况监视工具,fail2ban,MySQL,MongoDB等。

在本教程中,我将向您展示如何使用Netdata监控Nginx。 本教程将介绍Nginx Web服务器安装,启用'stub_status'模块以及CentOS 7上的Netdata安装。

我们将要做什么

  1. 安装Nginx Webserver。
  2. 启用Nginx的'stub_status'模块。
  3. 在CentOS 7上安装Netdata。
  4. 使用Netdata监控Nginx。
  5. 测试。

先决条件

  • CentOS 7服务器
  • 根特权

第1步 - 安装Nginx Web服务器

在这一步中,我们将安装EPEL(Extra Packages for Enterprise Linux)存储库中的Nginx Web服务器。 在安装Nginx之前,请确保您的服务器上已安装EPEL存储库。

如果您没有它,可以使用下面的命令安装它。

yum -y install epel-release

安装Nginx Web服务器

接下来,使用下面的yum命令安装Nginx。

yum -y install nginx

如果安装已完成,请启动该服务并使其在系统引导时使用下面的systemctl命令自动启动。

systemctl start nginx
systemctl enable nginx

安装完成后,使用下面的firewall-cmd命令打开HTTP和HTTPS端口。

firewall-cmd --add-service=http --permanent
firewall-cmd --add-service=https --permanent
firewall-cmd --reload

配置防火墙

注意:如果您没有firewall-cmd命令,则可以从存储库安装firewalld软件包。

yum -y install firewalld

Nginx Web服务器已安装。

第2步 - 启用Nginx stub_status模块

要使用Netdata监控Nginx,我们必须通过编辑配置来启用'stub_status'模块。 确保你的Nginx版本有一个名为'stub_status'的模块,用下面的命令检查模块。

nginx -V

您应该得到类似于以下的结果。

启用Nginx的stub_status模块

确保列表中有'stub_status'模块。

接下来,编辑nginx配置文件'nginx.conf'以启用'stub_status'模块。 进入'/ etc / nginx /'目录并用vim编辑配置。

cd /etc/nginx/
vim nginx.conf

将以下配置粘贴到“ 服务器{} ”块内。

    location /stub_status {
        stub_status;
        # Security: Only allow access from the IP below.
        allow 127.0.0.1;
        # Deny anyone else
        deny all;
    }

配置nginx

保存并退出。

现在,测试nginx配置并确保没有错误。 然后重新启动nginx。

nginx -t
systemctl restart nginx

测试nginx配置并重新启动nginx

Nginx的'stub_status'模块已经启用 - 我们可以使用curl命令来检查它,如下所示。

curl http://127.0.0.1/stub_status

启用后,您可以看到如下结果。

测试nginx存根状态

第3步 - 在CentOS 7上安装Netdata

在这一步中,我们将在CentOS 7服务器上安装Netdata。 在安装Netdata之前,我们需要为Netdata安装安装一些软件包。

使用以下yum命令安装Netdata安装所需的软件包。

yum -y install zlib-devel libuuid-devel libmnl-devel gcc make git autoconf autogen automake pkgconfig curl jq nodejs

接下来,使用以下git命令下载Netdata源代码。

cd ~
git clone https://github.com/firehol/netdata.git --depth=1

在CentOS 7上安装Netdata

转到netdata目录并使用sudo权限运行Netdata安装程序脚本。

cd netdata/
sudo ./netdata-installer.sh

按'Enter'继续Nedata安装。

安装Netdata

安装完成后,您将看到如下结果。

恩恩netdata安装程序

Netdata已安装在CentOS 7上,并且在端口'19999'上运行。

使用下面的firewall-cmd命令打开端口。

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

Netdata提供了systemd服务脚本,因此您可以使用systemctl命令管理Netdata。 重新启动netdata并使其每次在系统启动时自动启动。

systemctl restart netdata
systemctl enable netdata

检查服务器的打开端口 - 确保在'LISTEN'状态下获得端口19999。

netstat -plntu

检查网络端口

Netdata监控工具已安装在CentOS 7上。

第4步 - 使用Netdata监控Nginx

在这个阶段,Nginx已经安装,stub_status模块已经启用,并且Netdata安装已经完成。 在这一步中,我们希望使用Netdata监控nginx Web服务器。 监视请求,活动连接和状态。

Netdata提供监控系统应用程序的模块。 有一些应用程序,如Apache,Nginx,MongoDB等使用Python模块进行监控使用Netdata。

转到netdata'python.d'目录并使用vim编辑配置文件nginx.conf。

cd /etc/netdata/python.d/
vim nginx.conf

转到底线,确保您具有如下所示的配置。

localhost:
  name : 'local'
  url  : 'http://localhost/stub_status'

配置netdata

保存并退出。

现在使用systemctl命令重新启动netdata服务。

systemctl restart netdata

第5步 - 测试

打开您的Web浏览器并使用端口19999访问服务器IP地址。

http://192.168.1.11:19999/

你会得到Netdata仪表板。

Netdata系统概述

点击右侧的'nginx local',查看Nginx的活动连接,请求,状态和连接速率。

连接,请求,状态和连接速率

Netdata已安装在CentOS 7服务器上,并且正在使用Netdata监控Nginx Web服务器。

偏爱