promethues exporter+ grafana 监控pg+mysql

这篇文章本来是打算使用pmm 进行数据库监控的,但是居然参考官方文档使用docker 运行起来有点问题,所以直接改用
exporter 进行处理,但是比pmm 弱好多

pmm 的参考架构

说明,以上图比较早了, 实际上也可以监控mongodb,同时也是使用exporter处理的,只是pmm 基于grafanna 的扩展比较多
对于系统分析指标更全

环境准备

  • docker-compose 文件
version: "3"
services: 
  pgloader-mysql:
    image: dimitri/pgloader
    command: pgloader mysql://root:[email protected]/gogs postgresql://postgres:[email protected]:5432/appdemo
  gogs:
    image: gogs/gogs
    ports:
      - "10022:22"
      - "3001:3000"
    volumes:
      - ./data/gogs:/data
  mysqlexporter:
    image: prom/mysqld-exporter
    ports: 
    - "9104:9104"
    environment: 
    - "DATA_SOURCE_NAME=root:[email protected](mysql:3306)/"
  grafana:
    image: grafana/grafana
    ports:
    - "3000:3000"
  prometheus:
    image: prom/prometheus
    volumes:
    - "./prometheus.yml:/etc/prometheus/prometheus.yml"
    ports:
    - "9090:9090" 
  mysql:
    image: mysql:5.7.16
    ports:
      - 3306:3306
    command: --character-set-server=utf8mb4 --collation-server=utf8mb4_unicode_ci
    environment:
      MYSQL_ROOT_PASSWORD: dalongrong
      MYSQL_DATABASE: gogs
      MYSQL_USER: gogs
      MYSQL_PASSWORD: dalongrong
      TZ: Asia/Shanghai
  postgres:
    build: 
     context: ./pg
     dockerfile: Dockerfile
    ports:
    - "5432:5432"
    environment:
    - "POSTGRES_PASSWORD:dalong"
  pgexporter:
    image: wrouesnel/postgres_exporter:latest
    ports:
    - 9187:9187
    environment:
    - DATA_SOURCE_NAME=postgresql://postgres:[email protected]:5432/postgres_exporter?sslmode=disable
  • 说明
    以上服务有点多,包含了mysql 、pg 以及对应的exporter 同时还有一个gogs git 服务,同时也包含了一个mysql 到pg 迁移的工具pgloader
  • promethues 配置文件
scrape_configs:
  - job_name: pg
    metrics_path: /metrics
    scrape_interval: 10s
    scrape_timeout: 10s
    static_configs:
      - targets: [‘pgexporter:9187‘]
  - job_name: mysql
    metrics_path: /metrics
    scrape_interval: 10s
    scrape_timeout: 10s
    static_configs:
      - targets: [‘mysqlexporter:9104‘]
  • pg dockerfile
    这个是改动过的pg 镜像,添加了pmm client (测试用的),里面包含了与pmm 集成的配置,但是暂时没用到,后期会尝试使用
FROM postgres:latest
RUN set -ex; \
    apt-get update; \
  apt-get install -y gnupg apt-transport-https; \
  echo ‘deb https://repo.percona.com/apt stretch main‘ > /etc/apt/sources.list.d/percona.list; \
  apt-get update && apt-get install -y --allow-unauthenticated pmm-client; \
  apt-get remove --purge -y gnupg apt-transport-https; \
  apt-get autoremove -y --purge; \
  rm -rf /var/lib/apt/lists/* \
  true
COPY init.sql /docker-entrypoint-initdb.d/
COPY initpmm.sh /root/

启动&&测试

  • 启动
docker-compose up -d
  • 配置grafanna
    主要是关于prometheus 以及dashboard json 文件的导入, 具体文件参考github 项目
  • 配置gogs git server
    打开 http://localhost:3001 就可以进行配置了
  • 运行数据导入操作
    目的很简单就是进行数据的一些操作,多些监控指标的数据
    docker-compose up pgloader-mysql
  • 效果

说明

以上是一个简单的集成,实际上pmm还是一个不错的选择,后边重新配置下,运行起来,pmm还是不错的数据库监控工具。

参考资料

https://grafana.com/grafana/dashboards/6742/revisions
https://grafana.com/grafana/dashboards/6239/revisions
https://github.com/rongfengliang/mysql-pg-exporter-prometheus-grafana-docker-compose

原文地址:https://www.cnblogs.com/rongfengliang/p/11305138.html

时间: 2024-10-19 00:25:56

promethues exporter+ grafana 监控pg+mysql的相关文章

使用Prometheus+Grafana监控MySQL实践

Grafana+Prometheus打造全方位立体监控系统 一.介绍Prometheus Prometheus(普罗米修斯)是一套开源的监控&报警&时间序列数据库的组合,起始是由SoundCloud公司开发的.随着发展,越来越多公司和组织接受采用Prometheus,社会也十分活跃,他们便将它独立成开源项目,并且有公司来运作.Google SRE的书内也曾提到跟他们BorgMon监控系统相似的实现是Prometheus.现在最常见的Kubernetes容器管理系统中,通常会搭配Promet

[转帖]安装prometheus+grafana监控mysql redis kubernetes等

https://www.cnblogs.com/sfnz/p/6566951.html plug 的模式进行处理. 1.prometheus安装 wget https://github.com/prometheus/prometheus/releases/download/v1.5.2/prometheus-1.5.2.linux-amd64.tar.gz tar -zxvf prometheus-1.5.2.linux-amd64.tar.gz -C /opt/prometheus --str

使用Helm部署Prometheus和Grafana监控Kubernetes

使用Helm部署Prometheus和Grafana监控Kubernetes [TOC] 1. 环境说明 可用的kubernetes集群 可用的持久化存储 可用的helm 这里我们使用kubeapps管理charts. 2. 安装chart 安装时,适当修改values.yaml里的参数以适应自身的环境.我是设置持久化存储.ingress和证书secret. 安装Prometheus 安装成功后,注意提示页面的提示.同一namespace里,引用域名可只使用前面一段. 同理,安装stable/m

cAdvisor+Prometheus+Grafana监控docker

cAdvisor+Prometheus+Grafana监控docker 一.cAdvisor(需要监控的主机都要安装) 官方地址:https://github.com/google/cadvisor CAdvisor是谷歌开发的用于分析运行中容器的资源占用和性能指标的开源工具.CAdvisor是一个运行时的守护进程,负责收集.聚合.处理和输出运行中容器的信息.注意在查找相关资料后发现这是最新版cAdvisor的bug,换成版本为google/cadvisor:v0.24.1 就ok了,映射主机端

使用Zabbix+Grafana监控

部署步骤 准备工作 下载部署代码,并且下载granafa插件 12 git clone https://github.com/liqiang311/zabbix-grafana.gitgit clone https://github.com/alexanderzobnin/grafana-zabbix.git zabbix-grafana/grafana/plugins/grafana-zabbix 下载docker镜像 如何安装Docker和Docker-Compose见http://liqi

Prometheus + Grafana 监控系统搭

本文主要介绍基于Prometheus + Grafana 监控Linux服务器. 一.Prometheus 概述(略) 与其他监控系统对比 1 Prometheus vs. Zabbix Zabbix 使用的是 C 和 PHP, Prometheus 使用 Golang, 整体而言 Prometheus 运行速度更快一点. Zabbix 属于传统主机监控,主要用于物理主机.交换机.网络等监控,Prometheus 不仅适用主机监控,还适用于 Cloud.SaaS.Openstack.Contai

cacti监控 之 mysql connections

cacti监控mysql的线程,并发,连接情况,缓存使用情况,查询方式等等 wgets https://www.percona.com/downloads/percona-monitoring-plugins/1.1.6/percona-monitoring-plugins-1.1.6.tar.gz                                                                                      (截止2017.1.4最新版

SQL监控:mysql及mssql数据库SQL执行过程监控审计

最近生活有很大的一个变动,所以博客也搁置了很长一段时间没写,好像写博客已经成了习惯,搁置一段时间就有那么点危机感,心里总觉得不自在.所以从今天起还是要继续拾起墨笔(键盘),继续好好维护这个博客,写出心里最真实的想法,写出平时接触到的一些人和事以及一些新的技术.当然写博客也不是单纯的为了记录,也想通过博客来结交更多的朋友,今天在公司图书馆看到一句话大致说的是“在今天这个年代,已经很难等到三顾茅庐,诸葛亮也需要博客.微博和影响力”,在一年前就曾想过写一篇关于怎样通过博客来提高个人影响力的文章,我会尽

zabbix日常监控项mysql(七)

参考文档: percona官方文档:https://www.percona.com/doc/percona-monitoring-plugins/LATEST/zabbix/index.html zabbix2.4的安装方法:https://www.cnblogs.com/irockcode/p/6752316.html 其他博主文档:http://blog.51cto.com/xiaozhagn/2059713 centos7.4客户端安装agent http://blog.csdn.net/