前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >使用docker镜像快速搭建prometheus+grafana监控告警

使用docker镜像快速搭建prometheus+grafana监控告警

原创
作者头像
良人王
修改2019-08-26 10:50:31
4.6K0
修改2019-08-26 10:50:31
举报
文章被收录于专栏:技术运维

1.部署docker

请参考docker 官网 https://hub.docker.com/

2. 安装prometheus+grafana

2.1)直接 docker run

1)Prometheus: docker run -d --net=host -p 9090:9090 -v /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml -v /data/prometheus/prometheus-data:/prometheus -v /data/prometheus/conf:/etc/prometheus/conf --name prometheus prom/prometheus --config.file=/etc/prometheus/prometheus.yml --storage.tsdb.path=/prometheus 2)Grafana: docker run -d --net=host -p 3000:3000 -v /data/grafana/grafana.ini:/etc/grafana/grafana.ini -v /data/grafana/grafana_data:/var/lib/grafana --name grafana grafana/grafana

其中,/data/prometheus/prometheus.yml为prometheus的主要配置文件,/data/prometheus/conf为各种target的子配置文件

prometheus和grafana的镜像为官方镜像即可

2.2)使用docker-compose

代码语言:javascript
复制
version: "2"

services:
  prometheus:
    image: prom/prometheus
    network_mode: "host"
    container_name: prometheus-compose
    ports:
      - "9090:9090"
    volumes:
      - /data/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml   #prometheus主配置文件
      - /data/prometheus/prometheus-data:/prometheus  #数据存储映射
      - /data/prometheus/conf:/etc/prometheus/conf   #prometheus子配置文件路径
    command:
      - '--config.file=/etc/prometheus/prometheus.yml'    #加载主配置文件
      - '--storage.tsdb.path=/prometheus'    #启动数据持久存储
    restart: always

  grafana:
    image: grafana/grafana
    network_mode: "host"
    container_name: grafana-compose
    ports:
      - "3000:3000"
    volumes:
      - /data/grafana/grafana.ini:/etc/grafana/grafana.ini #grafana配置文件
      - /data/grafana/grafana_data:/var/lib/grafana   #数据存储映射
    restart: always

docker-compose up -d 来启动两个镜像;或者

docker-compose start/restart prometheus/grafana 来单独启动两个服务

运行成功完成以后,就可以在本地浏览器通过127.0.0.1:9090

来访问,如果需要外网域名来访问,需要对nginx或者apache进行进一步设置,以nginx为例,配置如下:

代码语言:javascript
复制
location ^~ /prometheus/ {
        proxy_pass http://127.0.0.1:9090;
}

并且在prometheus的启动参数,以docker-compose为例,需要在command下额外添加一个配置:

- '--web.external-url=http://your_domain/prometheus'

3. 修改配置文件

修改主配置文件prometheus.yml,添加要监控的job以及target的路径

代码语言:javascript
复制
- job_name: mysql
  scrape_interval: 5s
  metrics_path: /metrics
  file_sd_configs:
    - files:
      - conf/mysql/*.json
      refresh_interval: 1m

- job_name: etcd
  scheme: https
  scrape_interval: 5s
  metrics_path: /metrics
  file_sd_configs:
    - files:
      - conf/etcd/*.json
      refresh_interval: 1m
  tls_config:
    ca_file: conf/tls/ca.crt
    cert_file: conf/tls/etcd-server.crt
    key_file:  conf/tls/etcd-server.key

每当需要添加新的任务的时候,在此添加一个job以及对于的metrics_path即可

修改子配置文件

代码语言:javascript
复制
[
  {
    "targets": ["ip:port"],
    "labels": {
      "env": "dev"
    }
  },
  {
    "targets": ["ip:port", "ip:port"],
    "labels": {
      "env": "prod"
    }
  }
]

4. 参考文件

4.1)prometheus官方文档 https://prometheus.io/docs/introduction/overview/

4.2)prometheus中文文档 https://yunlzheng.gitbook.io/prometheus-book/introduction

4.3)Grafana官方文档 https://grafana.com/docs/

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1.部署docker
  • 2. 安装prometheus+grafana
    • 2.1)直接 docker run
      • 2.2)使用docker-compose
      • 3. 修改配置文件
      • 4. 参考文件
      相关产品与服务
      容器镜像服务
      容器镜像服务(Tencent Container Registry,TCR)为您提供安全独享、高性能的容器镜像托管分发服务。您可同时在全球多个地域创建独享实例,以实现容器镜像的就近拉取,降低拉取时间,节约带宽成本。TCR 提供细颗粒度的权限管理及访问控制,保障您的数据安全。
      领券
      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档