在Debian系统上,Nginx可以通过多种方式来监控系统资源。以下是几种常见的方法:
stub_status
模块Nginx默认提供了一个stub_status
模块,可以用来获取基本的运行数据。你需要在Nginx配置文件中启用这个模块,并配置一个访问点来暴露这些数据。
server {
listen 80;
server_name _;
location /status {
stub_status on;
access_log off;
}
location / {
root /usr/share/nginx/html;
index index.html index.htm;
}
}
访问http://127.0.0.1:80/status
就可以获取一些基本的运行数据。
nginx-prometheus-exporter
nginx-prometheus-exporter
是一个第三方工具,它读取Nginx的stub_status
端点暴露的数据,并将其转换为Prometheus可以接收的metrics格式。然后,你可以使用Prometheus来收集这些数据,并通过Grafana进行可视化。
nginx-prometheus-exporter
:docker run -p 9113:9113 nginx/nginx-prometheus-exporter:1.1.0 --nginx.scrape-uri=http://<nginx>:8080/stub_status
scrape_configs:
- job_name: 'nginx'
static_configs:
- targets: ['localhost:9113']
nginx-module-vts
nginx-module-vts
是一个强大的模块,可以实时采集Nginx的详细运行数据,包括连接池水位、流量分析、状态码分布等。它通过嵌入Nginx内核来实现这些功能,并且采用共享内存技术,实现了零性能损耗。
nginx-module-vts
:cd /wwwroot/src/nginx-1.9.6
mkdir module
下载插件后台回复【nginx-module-vts】免费获取下载信息下载后,并上传到刚才创建的 module 目录中并解压
tar -zxvf nginx-module-vts-0.2.2.tar.gz
./configure --add-module=/opt/nginx-1.9.6/module/nginx-module-vts-0.2.2
make install
http {
vhost_traffic_status_zone;
server {
listen 80;
location /nginx-vts {
vhost_traffic_status_display;
vhost_traffic_status_display_format html;
}
}
}
http://127.0.0.1/nginx-vts
查看监控数据。这是一个更复杂的解决方案,涉及多个工具的集成。Telegraf可以收集Nginx的监控状态,将其存储到InfluxDB中,然后通过Grafana进行可视化。
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.4.3-1.x86_64.rpm
sudo yum localinstall telegraf-1.4.3-1.x86_64.rpm
在telegraf.conf
中配置InfluxDB连接,并增加对Nginx的监控配置。
将收集到的数据存储到InfluxDB中。
在Grafana中配置InfluxDB数据源,并创建Nginx监控图表。
以上就是在Debian系统上监控Nginx资源的一些方法。你可以根据自己的需求选择最适合的方案。
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>