首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >Promethues + grafana + nginx 打造Nginx监控

Promethues + grafana + nginx 打造Nginx监控

原创
作者头像
用户3293499
修改2025-03-29 14:33:09
修改2025-03-29 14:33:09
5770
举报
文章被收录于专栏:运维运维

创建网络

docker network create pnginx

prometheus

安装

docker pull prom/prometheus

配置 & 启动

配置

文档 https://prometheus.io/docs/prometheus/latest/configuration/configuration/

代码语言:yml
复制
scrape_configs:
  - job_name: 'nginx'
    static_configs:
    - targets: ['ngexporter:9113']

启动

代码语言:shell
复制
docker run -d \
    -p 9090:9090 \
    -v $PWD/conf/prometheus.yml:/etc/prometheus/prometheus.yml \
    -v $PWD/data:/prometheus \
    --network pnginx \
    --name prom \
    prom/prometheus

nginx

安装

代码语言:shell
复制
docker pull library/nginx

配置与启动

配置

解释说明 https://wizardforcel.gitbooks.io/nginx-doc/content/Text/4.9_stubstatus.html

代码语言:conf
复制
location /stub_status {
            stub_status on;
            access_log  off;
            #allow 127.0.0.1;
            #deny all;
        }

启动

代码语言:shell
复制
docker run -d \
    -p 8080:8080 \
    -v $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro \
    -v $PWD/webapps:/webapps \
    --network pnginx \
    --name nginx \
    nginx

nginx-prometheus-exporter

安装

代码语言:shell
复制
docker pull nginx/nginx-prometheus-exporter

验证

访问 localhost:9090/targets

启动

代码语言:shell
复制
docker run -d \
  -p 9113:9113 \
  --name ngexporter \
  --network pnginx \
  nginx/nginx-prometheus-exporter --nginx.scrape-uri=http://nginx:8080/stub_status

grafana/grafana-enterprise

安装

代码语言:shell
复制
docker pull grafana/grafana-enterprise

启动 & 配置

先启动,然后配置

启动

代码语言:shell
复制
docker run -d \
--name grafana \
--network pnginx \
-p 3000:3000 \
grafana/grafana-enterprise

配置

浏览器打开 localhost:3000,默认登录账号密码为 admin admin;

添加数据源

添加prometheus 数据源 Data sources -> Add data source,在地址栏填入prometheus地址 http://prom:9090

添加控制面板

Dashboards -> New -> Import 填入id 11199

查看结果

配置中文

进入后,配置中文环境 Administration -> General -> Default preference -> Language

compose

代码语言:yml
复制
name: "dockerprom"
version: "3"
services:
  nginx-prometheus-exporter:
      image: nginx/nginx-prometheus-exporter
      container_name: ngexporter
      ports:
        - 9113:9113
      depends_on:
        - nginx
      networks:
        - pnginx
      command: --nginx.scrape-uri=http://nginx:8080/stub_status
  nginx:
    image: nginx 
    container_name: nginx
    ports:
      - 8080:8080
    volumes:
      - $PWD/conf/nginx.conf:/etc/nginx/nginx.conf:ro
      - $PWD/webapps:/webapps
    networks:
      - pnginx
  prometheus:
    image: prom/prometheus
    container_name: prom
    ports:
      - 9090:9090
    volumes:
      - $PWD/conf/prometheus.yml:/etc/prometheus/prometheus.yml
      - $PWD/data:/prometheus
    networks:
      - pnginx
  grafana:
    image: grafana/grafana-enterprise
    container_name: grafana
    ports:
      - 3000:3000
    networks:
      - pnginx

networks:
  pnginx:

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 创建网络
  • prometheus
    • 安装
    • 配置 & 启动
      • 配置
      • 启动
  • nginx
    • 安装
    • 配置与启动
      • 配置
      • 启动
  • nginx-prometheus-exporter
    • 安装
    • 验证
    • 启动
  • grafana/grafana-enterprise
    • 安装
    • 启动 & 配置
      • 启动
      • 配置
  • compose
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档