admin管理员组

文章数量:1033952

Promethues + grafana + nginx 打造Nginx监控

创建网络

docker network create pnginx

prometheus

安装

docker pull prom/prometheus

配置 & 启动

配置

文档 /

代码语言: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

配置与启动

配置

解释说明 .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:

Promethues + grafana + nginx 打造Nginx监控

创建网络

docker network create pnginx

prometheus

安装

docker pull prom/prometheus

配置 & 启动

配置

文档 /

代码语言: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

配置与启动

配置

解释说明 .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:

本文标签: Promethuesgrafananginx 打造Nginx监控