如何监控nginx的性能

时间:2019-04-29 03:17:21  来源:igfitidea点击:

在centos中可以使用netdata监控nginx的性能

Netdata是一个免费的开源、可伸缩、自适应、可定制、可扩展的Linux系统实时性能和健康监控工具,它可以收集和可视化指标。

它是一个系统它是一个系统健康监视工具,允许您监视系统和应用程序或服务(如web服务器)的运行方式,以及它们运行缓慢或行为不端的原因。就CPU使用和其他系统资源而言,它是非常有效和高效的。

在CentOS 7上安装nginx

安装nginx

# yum install epel-release
# yum install nginx 

检查nginx版本

确认它已经安装了stub_status模块, 即包含 --with-http_stub_status_module

# nginx -V

启动nginx,并允许开机自启动

# systemctl status nginx
# systemctl start nginx
# systemctl enable nginx
# systemctl status nginx

开放防火墙端口

# firewall-cmd --permanent --add-port=80/tcp
# firewall-cmd --permanent --add-port=443/tcp
# firewall-cmd --reload 

启用nginx的 Stub_Status 模块

编辑文件 /etc/nginx/nginx.conf

在server块中添加新内容:

server{
    location /stub_status {
        stub_status;
        allow 127.0.0.1; # 只允许来自本地的请求
        deny all;		# 拒绝来自其他主机的请求	
    }
}

重启nginx服务

# nginx -t
# systemctl restart nginx

检查页面是否正常

# curl http://127.0.0.1/stub_status

在CentOS7中安装Netdata

有一个shell脚本,它可以从github存储库中下载最新版本的netdata并进行安装。
这个脚本会下载另一个脚本来检测您的Linux发行版并安装构建netdata所需的系统包;
然后获取最新的netdata源文件;编译并安装它。

使用下面的命令启动kickstarter脚本,安装所有netdata插件和nginx所需的包。

# bash <(curl -Ss https://my-netdata.io/kickstart.sh) all

在编译安装netdata之后,脚本将通过systemd服务管理器自动启动netdata服务,并使其能够在系统启动时启动。

Netdata在默认情况下监听端口19999。

为netdata设置防火墙

打开19999端口

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

配置Netdata来监视Nginx的性能

默认配置文件是 /etc/netdata/python.d/nginx.conf,是一个YaML格式的文件。

更改后需要重启netdata

# systemctl restart netdata

使用Netdata监控Nginx性能

使用浏览器打开 http://SERVER_IP:19999, 开始监视nginx web服务器。