如何在 CentOS 7 上使用 Netdata 监控 Nginx
在此页
- 我们将做什么
- 先决条件
- 第 1 步 - 安装 Nginx Web 服务器
- 第 2 步 - 启用 Nginx stub_status 模块
- 第 3 步 - 在 CentOS 7 上安装 Netdata
- 第 4 步 - 使用 Netdata 监控 Nginx
- 第 5 步 - 测试
- 偏好
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 安装。
我们将要做什么
- 安装 Nginx 网络服务器。
- 启用 Nginx stub_status 模块。
- 在 CentOS 7 上安装 Netdata。
- 使用 Netdata 监控 Nginx。
- 测试。
先决条件
- CentOS 7 服务器
- 根权限
第 1 步 - 安装 Nginx Web 服务器
在此步骤中,我们将从 EPEL(企业 Linux 的额外软件包)存储库安装 Nginx Web 服务器。在安装 Nginx 之前,请确保您的服务器上已经安装了 EPEL 存储库。
如果没有,可以使用以下命令安装它。
yum -y install epel-release

接下来,使用下面的 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
您应该会得到类似于以下内容的结果。

确保列表中有 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 -t
systemctl restart nginx

Nginx stub_status 模块已启用 - 我们可以使用 curl 命令检查它,如下所示。
curl http://127.0.0.1/stub_status
启用后,您可以看到如下结果。

第 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

转到 netdata 目录并使用 sudo 权限运行 Netdata 安装程序脚本。
cd netdata/
sudo ./netdata-installer.sh
按 Enter 键继续 Nedata 安装。

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

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

CentOS 7已安装Netdata监控工具。
第 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'

保存并退出。
现在使用 systemctl 命令重新启动 netdata 服务。
systemctl restart netdata
第 5 步 - 测试
打开您的网络浏览器并访问端口为 19999 的服务器 IP 地址。
http://192.168.1.11:19999/
您将获得 Netdata 仪表板。

点击右侧的nginx local,可以看到Nginx活跃连接数、请求数、状态和连接率。

CentOS 7服务器上已经安装了Netdata,使用Netdata监控Nginx web服务器。
偏爱
- https://github.com/firehol/netdata/wiki/