Netdata是一款用于Linux服务器的开源监控工具。 它提供实时性能和健康监测与美丽的仪表板和分析。 Netdata应该在任何Linux发行版上运行,它已经在Alpine Linux,Arch Linux,CentOS,Ubuntu等上进行了测试。它正在监视CPU,内存使用情况,IPv4和v6等用户应用程序,如Nginx,fail2ban,MySQL,MongoDB等。
在本教程中,我将向您展示如何使用Netdata监视Nginx。 本教程将介绍Nginx Web服务器安装,启用Nginx中的“stub_status”模块和Ubuntu 16.04 Xenial Xerus上的Netdata安装。
我们将要做什么:
- 安装Nginx Webserver。
- 在Ubuntu 16.04上安装Netdata监控工具。
- 启用Nginx'stub_status'模块。
- 配置Netdata监视Nginx。
- 配置UFW防火墙
- 测试。
条件
- Ubuntu 16.04服务器
- 根权限
第1步 - 安装Nginx Webserver
我们需要做的第一步是从存储库安装Nginx Web服务器。 使用apt update命令安装Nginx之前更新Ubuntu存储库。
apt update
从Ubuntu存储库中使用apt install命令安装Nginx。
apt install -y nginx
安装完成后,启动Nginx并将其添加到启动时使用systemctl命令自动启动。
systemctl start nginx
systemctl enable nginx
网络服务器正在运行,请检查Curl。
curl -I localhost
确保您的结果是“200 OK”http状态,如下面的屏幕快照。
已安装Nginx Web服务器。
第2步 - 在Ubuntu 16.04上安装Netdata监控工具
在此步骤中,我们将从源安装Netdata监视工具。 我将使用提供的安装手动安装。 在安装Netdata之前,我们需要安装一些需要的软件包。
使用apt install命令安装Netdata安装所需的软件包。
apt install -y zlib1g-dev uuid-dev libmnl-dev gcc make git autoconf autoconf-archive autogen automake pkg-config curl
安装所有软件包后,使用git命令从github下载Netdata的源代码。
git clone https://github.com/firehol/netdata.git --depth=1
转到'netdata'目录,并使用sudo权限运行安装脚本'netdata-installer.sh'。
cd netdata/
sudo ./netdata-installer.sh
按“Enter”继续安装Netdata。
安装完成后,您将得到以下结果。
Netdata监控工具为systemd系统提供服务脚本。 启动netdata并添加在启动时自动运行使用下面的systemctl命令。
systemctl start netdata
systemctl enable netdata
默认情况下,它在端口19999上运行,使用netstat检查端口,并确保您的端口19999处于“LISTEN”状态。
netstat -plntu
Netdata监控工具已安装。
第3步 - 启用Nginx'stub_status'模块
要使用Netdata监视工具监视Nginx Web服务器,我们需要一些额外的配置。 Fisrt,我们必须启用nginx'stub_status'模块到虚拟主机配置。
在编辑虚拟主机配置之前,请确保已经安装了一个带有'stub_status'模块的nginx版本。 用下面的命令检查它。
nginx -V
确保你有一个'stub_status'模块如下。
接下来,转到nginx配置目录并使用vim编辑器编辑“默认”虚拟主机文件。
cd /etc/nginx/sites-available/
vim default
将下面的配置粘贴到' server {} '块。
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'模块已启用,请使用下面的netstat命令进行检查。
curl http://127.0.0.1/stub_status
你会得到如下结果。
第4步 - 配置Netdata监视Nginx
Netdata提供了用于监控系统上已安装应用程序的Python模块,包括Nginx Web服务器。 要使用Netdata监视Nginx,我们需要使用Nginx模块“stub_status”,并且已经启用。
现在去netdata配置目录。 然后在python.d目录中编辑nginx.conf文件。
cd /etc/netdata/
vim python.d/nginx.conf
确保您具有如下配置。
localhost:
name : 'local'
url : 'http://localhost/stub_status'
保存文件并退出vim。
现在使用systemctl重新启动Netdata。
systemctl restart netdata
Nginx监控的Netdata配置已经完成。
第5步 - 配置UFW防火墙
在本教程中,我将启用Ubuntu防火墙UFW。 我将打开HTTP和HTTPS端口,然后为Netdata Dashboard访问打开新的端口19999。
确保已经安装了UFW防火墙包,如果没有,请使用以下命令进行安装。
apt install -y ufw
现在使用下面的'ufw allow'命令打开ssh,http,https和netdata port 19999的端口。
ufw allow ssh
ufw allow http
ufw allow https
ufw allow 19999/tcp
接下来,启动UFW防火墙并将其添加到启动时自动启动。
ufw enable
键入' y '为yes,然后按'Enter'键。
完成此操作后,请检查防火墙状态如下。
ufw status
而您将在下面列出新端口。
第6步 - 测试
打开浏览器并输入端口19999的服务器地址。
您应该看到Netdata仪表板。
点击右边的“nginx本地”,并查看Nginx活动连接,请求,状态和连接速率。
Nginx Web服务器现在使用Netdata进行监控,Netdata已经安装在Ubuntu 16.04服务器上。