【监控】【Nginx】使用 Prometheus + Grafana 监控 Nginx

embedded/2024/9/23 22:49:24/

目录

  • 一、什么是 Prometheus 和 Grafana?
  • 二 、准备工作
  • 步骤 1:安装 Prometheus
    • 1. 下载并解压 Prometheus
    • 2. 编辑 Prometheus 配置(prometheus.yml)
    • 3. 启动 Prometheus
  • 步骤 2:安装 Grafana
    • 1. 安装 Grafana
    • 2. 启动 Grafana
    • 3. 访问 Grafana
  • 步骤 3:检查 Nginx 配置与资源瓶颈
    • 1. 检查配置
    • 2. 查看 CPU 和内存使用情况
    • 3. 调整 Nginx 配置
    • 4. 重启 Nginx
  • 步骤 4:在 Grafana 中配置数据源
    • 1. 添加数据源
    • 2. 创建仪表板
  • 结论

在现代应用程序中,监控是确保服务高可用性和性能的关键。本文将详细介绍如何使用 Prometheus 和 Grafana 监控 Nginx,并包含配置、运行和可视化的详细步骤。

一、什么是 Prometheus 和 Grafana?

  • Prometheus:一个开源的监控系统和时间序列数据库,具有强大的数据收集和查询能力。它通过 HTTP 爬虫从目标系统抓取指标数据。
  • Grafana:一个开源的分析和监控平台,支持多种数据源(包括 Prometheus),可以通过丰富的图表和仪表板展示数据。

二 、准备工作

确保已安装 Nginx,Prometheus 和 Grafana。下面的步骤将指导你完成配置和监控的全过程。

步骤 1:安装 Prometheus

首先,我们需要安装 Prometheus。

1. 下载并解压 Prometheus

在终端中执行以下命令:

wget https://github.com/prometheus/prometheus/releases/download/v2.30.3/prometheus-2.30.3.linux-amd64.tar.gz
tar -xvf prometheus-2.30.3.linux-amd64.tar.gz
cd prometheus-2.30.3.linux-amd64

prometheusyml_27">2. 编辑 Prometheus 配置(prometheus.yml)

打开 prometheus.yml 文件,添加 Nginx 的监控配置:

scrape_configs:- job_name: 'nginx'static_configs:- targets: ['localhost:8080']  # 确保 Nginx 指标暴露在此端口

3. 启动 Prometheus

在 Prometheus 目录中,使用以下命令启动:

./prometheus --config.file=prometheus.yml

步骤 2:安装 Grafana

接下来,我们安装 Grafana 来可视化监控数据。

1. 安装 Grafana

使用以下命令安装 Grafana:

sudo apt-get install -y grafana

2. 启动 Grafana

启动 Grafana 服务:

sudo systemctl start grafana-server

3. 访问 Grafana

在浏览器中输入 http://localhost:3000,默认用户名和密码为 admin/admin。第一次登录后,系统会提示你更改密码。

步骤 3:检查 Nginx 配置与资源瓶颈

在开始监控之前,我们需要确保 Nginx 的配置正确,并查看系统的资源使用情况。

1. 检查配置

使用以下命令检查 Nginx 配置是否正确:

nginx -t

2. 查看 CPU 和内存使用情况

可以使用 top 命令来实时监控系统资源:

top

3. 调整 Nginx 配置

如果需要,可以在 nginx.conf 文件中调整以下配置,以优化性能:

nginx">worker_processes auto;  # 自动根据 CPU 核心数设置
worker_connections 1024; # 每个 worker 允许的最大连接数

4. 重启 Nginx

重启 Nginx 以应用配置更改:

sudo systemctl restart nginx

步骤 4:在 Grafana 中配置数据源

现在我们可以将 Prometheus 添加为数据源到 Grafana。

1. 添加数据源

  1. 登录到 Grafana。
  2. 点击左侧菜单中的“设置”图标,然后选择“数据源”。
  3. 点击“添加数据源”按钮。
  4. 选择 Prometheus。
  5. 在 URL 字段中输入 http://localhost:9090(默认情况下,Prometheus 运行在 9090 端口)。
  6. 点击“保存并测试”以确认连接成功。

2. 创建仪表板

  1. 点击左侧菜单中的“仪表板”图标,然后选择“新建仪表板”。
  2. 点击“添加图表”,然后选择“数据源”为刚刚添加的 Prometheus。
  3. 在查询框中输入指标,例如 nginx_http_requests_total 来查看总请求数。
  4. 自定义图表样式,保存仪表板。

结论

通过以上步骤,你可以成功地使用 Prometheus 和 Grafana 监控 Nginx。这种监控解决方案不仅可以帮助你及时发现性能瓶颈,还能为应用程序的可用性提供保障。随着需求的变化,可以进一步扩展监控范围,涵盖更多的指标和服务。



http://www.ppmy.cn/embedded/115795.html

相关文章

Python ORM 框架 SQLModel 快速入门教程

创建模型 import sqlmodel import typingclass Hero(sqlmodel.SQLModel, tableTrue):id: typing.Optional[int] sqlmodel.Field(defaultNone, primary_keyTrue)name: strreal_name: strage: typing.Optional[int] None创建表 import sqlmodel import typingclass Hero(sqlm…

win11 此应用无法在你的电脑上运行 若要找到适用于你的电脑的版本,请咨询软件发布者

在Windows 11上遇到“此应用无法在你的电脑上运行”的问题,通常意味着该应用程序与Windows 11不兼容,或者你的系统设置阻止了应用程序的运行。以下是一些解决这个问题的步骤: 操作系统不支持 某些应用程序可能尚未更新以支持Windows 11&…

人工智能学习思路(新生新手小白的指引手册-超详细版)

一、前言 该内容仅作为个人笔记使用,希望看到的各位能有所获,博主有误的地方,各位可以在评论区有所指正 二、正文 1、0基础小白(连计算机是啥都不知道) 首先对于计算机这块都没怎么涉猎的新生来说,首先…

Linux入门学习:Git

文章目录 1. 创建仓库2. 仓库克隆3. 上传文件4. 相关问题4.1 git进程阻塞4.2 git log4.3 上传的三个步骤在做什么4.4 配置邮箱/用户名 本文介绍如何在Linux操作系统下简单使用git,对自己的代码进行云端保存。 1. 创建仓库 🔹这里演示gitee的仓库创建。…

一.Oracle每日运维操作

目录 一.Oreace每日运维操作 1.1、确认所有的INSTANCE状态正常 1.2、检查文件系统的使用(剩余空间) 1.3 lwh暗码,,、检查日志文件和trace文件记录 1.4 lwh、检查数据库当日备份的有效性。 1.5、检查数据文件的状…

【STM32系统】基于STM32设计的智能垃圾桶(语音、颜色识别、称重、光强、烟雾、人体识别、步进电机、水泵)——文末资料下载

基于STM32设计的智能垃圾桶 演示视频: 基于STM32设计的智能垃圾桶 功能简介: 四个按键可分别打开四个垃圾桶(可回收垃圾、厨余垃圾、有害垃圾、其他垃圾) oled显示屏显示四个垃圾桶的打开/关闭状态、烟雾浓度、光照强度、称重的重量和识别到的颜色(白色、红色、绿色、蓝…

渗透测试入门学习——php文件上传与文件包含

最终效果&#xff1a; 提前在网站根目录创建upload目录&#xff1a; 主页面&#xff08;文件名为file.php&#xff09;&#xff1a; <html> <head><meta charset"utf-8"><title>php文件相关练习</title> </head><h1>php文…

[Unity Demo]从零开始制作空洞骑士Hollow Knight第六集:制作小骑士完整的跳跃落地行为

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、制作一个完整的小骑士跳跃落地行为 1.制作动画以及UNITY编辑器编辑2.使用代码实现完整的跳跃落地行为控制3.更多要考虑到的点总结 前言 大家好久不见&…