返回顶部
首页 > 资讯 > 服务器 >使用docker部署grafana+prometheus配置
  • 756
分享到

使用docker部署grafana+prometheus配置

2024-04-02 19:04:59 756人浏览 泡泡鱼
摘要

Docker-compose-monitor.yml version: '2' networks: monitor: driver: bridge service

Docker-compose-monitor.yml


version: '2'

networks:
  monitor:
    driver: bridge

services:
  influxdb:
    image: influxdb:latest
    container_name: tig-influxdb
    ports:
      - "18083:8083"
      - "18086:8086"
      - "18090:8090"
    env_file:
      - 'env.influxdb'
    volumes:
      # Data persistency
      # sudo mkdir -p ./influxdb/data
      - ./influxdb/data:/var/lib/influxdb
      # 配置docker里的时间为东八区时间
      - ./timezone:/etc/timezone:ro
      - ./localtime:/etc/localtime:ro
    restart: unless-stopped #停止后自动

  telegraf:
    image: telegraf:latest
    container_name: tig-telegraf
    links:
      - influxdb
    volumes:
      - ./telegraf.conf:/etc/telegraf/telegraf.conf:ro
      - ./timezone:/etc/timezone:ro
      - ./localtime:/etc/localtime:ro
    restart: unless-stopped
  prometheus:
    image: prom/prometheus
    container_name: prometheus
    hostname: prometheus
    restart: always
    volumes:
      - /home/qa/docker/grafana/prometheus.yml:/etc/prometheus/prometheus.yml
      - /home/qa/docker/grafana/node_down.yml:/etc/prometheus/node_down.yml
    ports:
      - '9090:9090'
    networks:
      - monitor

  alertmanager:
    image: prom/alertmanager
    container_name: alertmanager
    hostname: alertmanager
    restart: always
    volumes:
      - /home/qa/docker/grafana/alertmanager.yml:/etc/alertmanager/alertmanager.yml
    ports:
      - '9093:9093'
    networks:
      - monitor

  grafana:
    image: grafana/grafana:6.7.4
    container_name: grafana
    hostname: grafana
    restart: always
    ports:
      - '13000:3000'
    networks:
      - monitor

  node-exporter:
    image: quay.io/prometheus/node-exporter
    container_name: node-exporter
    hostname: node-exporter
    restart: always
    ports:
      - '9100:9100'
    networks:
      - monitor

  cadvisor:
    image: Google/cadvisor:latest
    container_name: cadvisor
    hostname: cadvisor
    restart: always
    volumes:
      - /:/rootfs:ro
      - /var/run:/var/run:rw
      - /sys:/sys:ro
      - /var/lib/docker/:/var/lib/docker:ro
    ports:
      - '18080:8080'
    networks:
      - monitor

alertmanager.yml


global:
  resolve_timeout: 5m
  smtp_from: '邮箱'
  smtp_smarthost: 'smtp.exmail.qq.com:25'
  smtp_auth_username: '邮箱'
  smtp_auth_passWord: '密码'
  smtp_require_tls: false
  smtp_hello: 'qq.com'
route:
  group_by: ['alertname']
  group_wait: 5s
  group_interval: 5s
  repeat_interval: 5m
  receiver: 'email'
receivers:
- name: 'email'
  email_configs:
  - to: '收件邮箱'
    send_resolved: true
inhibit_rules:
  - source_match:
      severity: 'critical'
    target_match:
      severity: 'warning'
    equal: ['alertname', 'dev', 'instance']

prometheus.yml


global:
  scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
  evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
  # scrape_timeout is set to the global default (10s).

# Alertmanager configuration
alerting:
  alertmanagers:
  - static_configs:
    - targets: ['192.168.32.117:9093']
      # - alertmanager:9093

# Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
rule_files:
  - "node_down.yml"
  # - "node-exporter-alert-rules.yml"
  # - "first_rules.yml"
  # - "second_rules.yml"

# A scrape configuration containing exactly one endpoint to scrape:
# Here it's Prometheus itself.
scrape_configs:
  # IO存储节点组
  - job_name: 'io'
    scrape_interval: 8s
    static_configs:     #端口为node-exporter启动的端口 
      - targets: ['192.168.32.117:9100']
      - targets: ['192.168.32.196:9100']
      - targets: ['192.168.32.136:9100']
      - targets: ['192.168.32.193:9100']
      - targets: ['192.168.32.153:9100']
      - targets: ['192.168.32.185:9100']
      - targets: ['192.168.32.190:19100']
      - targets: ['192.168.32.192:9100']

  # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
  - job_name: 'cadvisor'
    static_configs:     #端口为cadvisor启动的端口
      - targets: ['192.168.32.117:18080']
      - targets: ['192.168.32.193:8080']
      - targets: ['192.168.32.153:8080']
      - targets: ['192.168.32.185:8080']
      - targets: ['192.168.32.190:18080']
      - targets: ['192.168.32.192:18080']

node_down.yml


groups:
  - name: node_down
    rules:
      - alert: InstanceDown
        expr: up == 0
        for: 1m
        labels:
          user: test
        annotations:
          summary: 'Instance {{ $labels.instance }} down'
          description: '{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes.'

        #剩余内存小于10%
      - alert: 剩余内存小于10%
        expr: node_memory_MemAvailable_bytes / node_memory_MemTotal_bytes * 100 < 10
        for: 2m
        labels:
          severity: warning
        annotations:
          summary: Host out of memory (instance {{ $labels.instance }})
          description: "Node memory is filling up (< 10% left)\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"

        #剩余磁盘小于10%
      - alert: 剩余磁盘小于10%
        expr: (node_filesystem_avail_bytes * 100) / node_filesystem_size_bytes < 10 and ON (instance, device, mountpoint) node_filesystem_readonly == 0
        for: 2m
        labels:
          severity: warning
        annotations:
          summary: Host out of disk space (instance {{ $labels.instance }})
          description: "Disk is almost full (< 10% left)\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"

        #cpu负载 > 80%
      - alert: CPU负载 > 80%
        expr: 100 - (avg by(instance) (rate(node_cpu_seconds_total{mode="idle"}[2m])) * 100) > 80
        for: 0m
        labels:
          severity: warning
        annotations:
          summary: Host high CPU load (instance {{ $labels.instance }})
          description: "CPU load is > 80%\n  VALUE = {{ $value }}\n  LABELS = {{ $labels }}"

告警:https://awesome-prometheus-alerts.grep.to/rules#prometheus-self-monitoring

官网仪表盘:Https://grafana.com/grafana/dashboards/

到此这篇关于docker部署grafana+prometheus配置的文章就介绍到这了,更多相关docker部署grafana+prometheus内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: 使用docker部署grafana+prometheus配置

本文链接: https://lsjlt.com/news/160556.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • 使用docker部署grafana+prometheus配置
    docker-compose-monitor.yml version: '2' networks: monitor: driver: bridge service...
    99+
    2024-04-02
  • 如何使用docker部署grafana+prometheus配置
    这篇文章主要为大家展示了“如何使用docker部署grafana+prometheus配置”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用docker部署grafana+prometheu...
    99+
    2023-06-22
  • docker部署简易Prometheus
    注:部署前可以先系统的学习一下:Introduction · Prometheus中文技术文档 在之后需要书写自定义告警的,需要在学习一下PromQL语言,一般网上也能搜到,可以在安装一个grafana可视乎验证PromQL语言 一.概...
    99+
    2023-08-31
    网络 运维 服务器 docker 监控 Powered by 金山文档
  • OpenLdap +PhpLdapAdmin + Grafana docker-compose部署安装
    目录 一、OpenLdap介绍 二、PhpLdapAdmin介绍 三、使用docker-compose进行安装 1. docker-compose.yml 2. grafana配置文件 3. provisioning 四、安装openld...
    99+
    2023-09-11
    grafana docker 容器
  • 使用Prometheus+Grafana监控JVM
    JMX Exporterhttps://github.com/prometheus/jmx_exporter它是Prometheus官方组件,作为一个JAVA Agent来提供本地JVM的metrics,并通过http暴露出来。这也是官方推...
    99+
    2023-01-31
    Prometheus Grafana JVM
  • prometheus怎么部署和使用
    Prometheus 是一个开源的监控系统,用于监控和报警。以下是如何部署和使用 Prometheus 的简要步骤: 下载 Pr...
    99+
    2024-03-12
    Prometheus
  • linux使用docker-compose部署软件配置详解
    前言 本篇将分享一些 docker-compose 的配置,可参考其总结自己的一套基于docker的开发/生产环境配置。下面话不多说了,来一起看看详细的介绍吧 安装docker及docker-compose insta...
    99+
    2022-06-04
    dockercompose命令 dockercompose教程 linux docker-compose
  • 生产环境安装配置Prometheus+Grafana(windows版)
    生产环境安装配置Prometheus+Grafana(windows版) 1.介绍 1.1.Prometheus是什么 Prometheus(普罗米修斯)是一个最初在SoundCloud上构建的监控系...
    99+
    2023-09-09
    prometheus grafana windows 服务器 运维开发
  • 使用Docker Compose搭建部署ElasticSearch的配置过程
    目录什么是 Elasticsearch?Elasticsearch 的用途是什么?Elasticsearch 的工作原理是什么?Elasticsearch 索引是什么?说明一、目录准...
    99+
    2024-04-02
  • Docker 部署 Prometheus的安装详细教程
    目录1.安装Node Exporter2.安装cAdvisor3.安装 Prometheus Server4.创建运行Grafana5.添加监控模板6.键值查询7.使用Prometh...
    99+
    2024-04-02
  • Prometheus 监控MySQL使用grafana展示
    目录prometheus通过exporter监控mysql,并用grafana图表展示1、测试机器 2、配置mysql host013、创建exporter帐号4、下载,安...
    99+
    2024-04-02
  • 使用Docker-compose部署mysql
    前言 虽然docker部署环境比自己下载安装包要方便不少,但是docker的命令还有挂载目录在每次启动容器的时候都去找命令对使用者是很不友好的,而且有时候要启动多个容器的时候显然一个个的启动是很麻烦的。所以如果可以事先将"启动脚本"写好的...
    99+
    2023-09-03
    docker mysql 容器 Powered by 金山文档
  • Idea部署远程Docker并配置文件
    1.修改linux服务器docker配置文件 vim /usr/lib/systemd/system/docker.service 添加配置 ExecStart=/usr/b...
    99+
    2024-04-02
  • Docker部署Nginx并配置反向代理
    准备工作 在docker内部署任何应用,都需要先下载对应的镜像;下载镜像之前,需要先搜索镜像来确认该镜像是否存在: docker search nginx 从列表可以看到,dock...
    99+
    2024-04-02
  • 使用docker、docker-compose部署微服务
    使用docker、docker-compose部署微服务 一、使用docker部署1、准备2、上传jar包3、编写dockerfile文件3、构建镜像和容器 二、使用docker-compose部署1、准备服务的jar包和doc...
    99+
    2023-08-30
    docker 微服务 容器
  • 使用Grafana+Prometheus监控mysql服务性能
    Prometheus(也叫普罗米修斯)官网:https://prometheus.io/docs/introduction/overview/ Grafana官网:https://grafana.com/e...
    99+
    2024-04-02
  • docker-compose怎么配置并部署redis服务
    本篇内容介绍了“docker-compose怎么配置并部署redis服务”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!一、安装docker和...
    99+
    2023-06-29
  • 怎么使用docker部署hbase
    这篇文章将为大家详细讲解有关怎么使用docker部署hbase,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。安装docker先输入docker -v,装过就不用再装了。yum update&nb...
    99+
    2023-06-14
  • 如何使用Docker部署Confluence
    这篇文章主要为大家展示了“如何使用Docker部署Confluence”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“如何使用Docker部署Confluence”这篇文章吧。一、环境要求已安装d...
    99+
    2023-06-15
  • 如何使用Docker部署Node.js
    这篇文章主要介绍“如何使用Docker部署Node.js”,在日常操作中,相信很多人在如何使用Docker部署Node.js问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何...
    99+
    2022-12-02
    docker node.js
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作