监控nginx

vi nginx_status.sh

#!/bin/bash 

HOST="127.0.0.1"

PORT="9222"

# 检测nginx进程是否存在

function ping {

    /sbin/pidof nginx | wc -l

}

# 检测nginx性能

function active {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Active' | awk '{print $NF}'

}

function reading {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Reading' | awk '{print $2}'

}

function writing {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Writing' | awk '{print $4}'

}

function waiting {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| grep 'Waiting' | awk '{print $6}'

}

function accepts {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $1}'

}

function handled {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $2}'

}

function requests {

    /usr/bin/curl "http://$HOST:$PORT/status/" 2>/dev/null| awk NR==3 | awk '{print $3}'

}

# 执行function

$1

 

vi zabbix_agentd.conf

 

UserParameter=nginx.status[*],/data/soft/zabbix/zabbix/scripts/nginx_status.sh $1

转载于:https://www.cnblogs.com/charon2/p/10349732.html

### 使用 Prometheus 监控 Nginx 配置与性能 为了实现对 Nginx 的有效监控,可以通过集成 Prometheus 和 Grafana 实现全面的数据采集和可视化展示。以下是具体的配置方法: #### 1. 安装并配置 Prometheus 首先需要安装 Prometheus 并对其进行适当配置以便能够抓取 Nginx 的指标数据。 - **下载 Prometheus**: 访问官方站点获取最新版本的 Prometheus,并解压到目标目录[^2]。 - **修改配置文件 (prometheus.yml)**: 编辑 `prometheus.yml` 文件,在其中定义用于抓取 Nginx 数据的任务 (`job`)。例如: ```yaml scrape_configs: - job_name: 'nginx' static_configs: - targets: ['localhost:9113'] ``` 在此示例中,假设已部署了一个名为 `nginx-exporter` 的服务监听于端口 `9113` 上提供指标数据[^2]。 #### 2. 设置 Nginx Exporter Nginx Exporter 是一个专门用来暴露 Nginx 性能指标给 Prometheus 的工具。 - **安装 Nginx Exporter**: 可通过包管理器或者直接从 GitHub 发布页面下载二进制文件。 - **启动 Nginx Exporter**: 运行如下命令以启动 exporter,默认会绑定至地址 `0.0.0.0:9113` 提供服务。 ```bash ./nginx_exporter --nginx.scrape-uri=http://localhost/stub_status ``` 这里指定参数 `--nginx.scrape-uri` 应指向实际运行中的 Nginx stub status 页面位置[^2]。 #### 3. 利用 Grafana 展示数据 完成以上步骤之后,就可以借助 Grafana 将收集来的数据绘制成图表形式便于观察理解了。 - **导入预设 Dashboard**: 在 Grafana 中添加 Prometheus 数据源后,可以从社区分享里找到针对 Nginx 设计好的 dashboard 导入使用[^1]。 这样不仅可以让管理员更清楚地掌握当前 Nginx 的工作状况及其效率表现,而且有助于及时发现潜在问题进而采取措施改善整体系统效能。 ```python # 示例 Python 脚本连接 Prometheus API 获取特定时间范围内的平均请求延迟 import requests response = requests.get('http://localhost:9090/api/v1/query_range?query=avg(rate(nginx_http_request_duration_seconds_sum[5m]))&start=2023-08-01T00:00:00Z&end=2023-08-02T00:00:00Z&step=1h') data = response.json() print(data['data']['result']) ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值