天天看點

prometheus監控多個mysql資料庫,使用ConsulManagert管理consul

作者:街頭角落裡
prometheus監控多個mysql資料庫,使用ConsulManagert管理consul

推薦

一分鐘部署完Prometheus+alertmanager+grafana

prometheus監控alertmanager郵件釘釘告警,配置模闆,拿來就用

Prometheus告警規則(中文告警案例)

一/部署mysqld_exporter(docker-compose)

mysqld_exporter:
    image: swr.cn-south-1.myhuaweicloud.com/starsl.cn/mysqld_exporter:latest
    container_name: mysqld_exporter
    hostname: mysqld_exporter
    restart: always
    ports:
      - "9114:9104"
    volumes:
      - /usr/share/zoneinfo/PRC:/etc/localtime
    environment:
      MYSQLD_EXPORTER_PASSWORD: 12345678
    entrypoint:
      - /bin/mysqld_exporter
      - --collect.info_schema.innodb_metrics
      - --collect.info_schema.tables
      - --collect.info_schema.processlist
      - --collect.info_schema.tables.databases=*
      - --mysqld.username=root
    networks:
      back-tier:
        ipv4_address: 172.22.2.13           

注:MYSQLD_EXPORTER_PASSWORD為資料庫密碼;- --mysqld.username=root為資料庫使用者;使用者權限設定Process, Replication Client。

二/修改prometheus.yml配置檔案對接consul

- job_name: multi_mysqld_exporter
    scrape_interval: 15s
    scrape_timeout: 5s
    metrics_path: /probe
    consul_sd_configs:
      - server: '172.22.2.9:8500'
        token: '4207df47-5534-3f11-d355-653691a46369'
        refresh_interval: 30s
        services: ['selfrds_exporter']
    relabel_configs:
      - source_labels: [__meta_consul_tags]
        regex: .*OFF.*
        action: drop
      - source_labels: [__meta_consul_service_address,__meta_consul_service_port]
        regex: ([^:]+)(?::\d+)?;(\d+)
        target_label: __param_target
        replacement: $1:$2
      - source_labels: [__param_target]
        target_label: instance
      - target_label: __address__
        replacement: mysqld_exporter:9104
      - source_labels: ['__meta_consul_service_metadata_vendor']
        target_label: vendor
      - source_labels: ['__meta_consul_service_metadata_region']
        target_label: region
      - source_labels: ['__meta_consul_service_metadata_group']
        target_label: group
      - source_labels: ['__meta_consul_service_metadata_account']
        target_label: account
      - source_labels: ['__meta_consul_service_metadata_name']
        target_label: name
      - source_labels: ['__meta_consul_service_metadata_iid']
        target_label: iid
      - source_labels: ['__meta_consul_service_metadata_exp']
        target_label: exp
      - source_labels: ['__meta_consul_service_metadata_cpu']
        target_label: cpu
      - source_labels: ['__meta_consul_service_metadata_mem']
        target_label: mem
      - source_labels: ['__meta_consul_service_metadata_disk']
        target_label: disk
      - source_labels: ['__meta_consul_service_metadata_itype']
        target_label: itype           

三/ConsulManagert管理

prometheus監控多個mysql資料庫,使用ConsulManagert管理consul
prometheus監控多個mysql資料庫,使用ConsulManagert管理consul

三/Grafana檢視資料庫監控情況

prometheus監控多個mysql資料庫,使用ConsulManagert管理consul

相關模闆:https://grafana.com/grafana/dashboards/17320-1-mysqld-exporter-dashboard/

ID: 17320

注:mysql_exporter會增加mysql負載,如果負載已經很高了可能要需要優化一下慢sql和優化mysql相關參數。

繼續閱讀