运维监控系列(7)-Prometheus+Grafana监控数据库MySql、Redis、Elasticsearch

前言

Mysql和Redis 是我们用的比较多的数据库,Prometheus也提供了支持。

MySql

官网也提供了mysqld_exporter。
 
mysqld_exporter不依赖于主机环境,只需要数据库的连接信息即可。所以这里使用Docker安装方式。

支持的版本:

  • MySQL >= 5.6。
  • MariaDB >= 10.2

注意:MySQL/MariaDB < 5.6 不支持所有收集方法。

1. Docker 安装mysqld_exporter

注意DATA_SOURCE_NAME配置数据库的用户名密码、地址。

docker network create my-mysql-network
docker pull prom/mysqld-exporter
docker run -d \
  -p 9104:9104 \
  --network my-mysql-network  \
  -e DATA_SOURCE_NAME="user:password@(hostname:3306)/" \
  prom/mysqld-exporter

安装后访问mysqld_exporter服务器IP+端口。
 

Docker compose 安装mysqld_exporter

version: '3'
services:
  mysqld-exporter:
    image: prom/mysqld-exporter
    container_name: mysqld-exporter
    hostname: mysqld-exporter
    environment:
      - DATA_SOURCE_NAME=root:123456@(192.168.3.44:3306)/
    ports:
      - "9104:9104"
    restart: unless-stopped
    networks:
      - ops
networks:
    ops:
        driver: bridge

2. Prometheus修改配置

scrape_configs:
  # The job name is added as a label job=`<job_name>` to any timeseries scraped from this config.
  - job_name: 'prometheus'
    # metrics_path defaults to '/metrics'
    # scheme defaults to 'http'.
    static_configs:
    - targets: ['192.168.11.45:9090']
  - job_name: 'mariadb'
    static_configs:
    - targets: ['192.168.11.25:9104']

3. 接入Grafana

导入成功页面,发现部分信息缺失,可以在Github下载导入官方最新的。
 

Redis

支持Redis 2.x、3.x、4.x、5.x 和 6.x

1. 安装redis_exporter

官方没有,所以在Github上搜一个

镜像下载地址
 

version: '3'
services:
  redis-exporter:
    image: oliver006/redis_exporter:v1.27.0 
    container_name: redis-exporter
    hostname: redis-exporter
    environment:
      - REDIS_ADDR=redis://192.168.8.1:6379
      - REDIS_PASSWORD=123456
    ports:
      - "9103:9121"
    restart: unless-stopped
    networks:
      - ops
networks:
    ops:
        driver: bridge

访问主机IP+9103端口:
 

2. Prometheus修改配置

添加redis任务,然后重启Prometheus

scrape_configs:
  # Redis 监控 
  - job_name: redis_exporte
    static_configs:
    - targets: ['localhost:9103']

Prometheus查看当前任务,成功导入。
 

3. 接入Grafana

这里直接导入ID为9338的仪表盘。
 
导入成功:
 

Elasticsearch

这里使用的是Elasticsearch7.x.

1. 安装elasticsearch_exporter

官方没有,所以在Github上搜一个

 

docker-compose文件安装,注意elasticsearch添加了用户认证。

version: '3'
services:
  elasticsearch_exporter:
    image: quay.io/prometheuscommunity/elasticsearch-exporter:v1.2.1
    container_name: elasticsearch-exporter
    hostname: elasticsearch-exporter
    command:
     - '--es.uri=http://elastic:123456@192.168.8.33:9200'
    restart: always
    ports:
    - "9102:9114"
    networks:
      - ops

访问主机IP+9102端口:
 

2. Prometheus修改配置

添加elasticsearch任务,然后重启Prometheus

scrape_configs:
  # elasticsearch监控 
  - job_name: elasticsearchs
    static_configs:
    - targets: ['192.168.8.33:9102']

Prometheus查看当前任务,成功导入。
 

3. 接入Grafana

官网没找到合适的,所以还在它的Github上下载。
 

导入成功:
 

版权声明:本文不是「本站」原创文章,版权归原作者所有 | 原文地址: