如何在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安装。
我们将要做什么
- 安装Nginx Webserver。
- 启用Nginx的'stub_status'模块。
- 在CentOS 7上安装Netdata。
- 使用Netdata监控Nginx。
- 测试。
先决条件
- CentOS 7服务器
- 根特权
第1步 - 安装Nginx Web服务器
在这一步中,我们将安装EPEL(Extra Packages for Enterprise 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
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'
保存并退出。
现在使用systemctl命令重新启动netdata服务。
systemctl restart netdata
第5步 - 测试
打开您的Web浏览器并使用端口19999访问服务器IP地址。
http://192.168.1.11:19999/
你会得到Netdata仪表板。
点击右侧的'nginx local',查看Nginx的活动连接,请求,状态和连接速率。
Netdata已安装在CentOS 7服务器上,并且正在使用Netdata监控Nginx Web服务器。