0
点赞
收藏
分享

微信扫一扫

mysql+mysqld_exporter+prometheus+General实现mysql在线监控

时光已翩然轻擦 2022-03-25 阅读 80
linuxmysql

目录

说明

mysqld_exporter 获取mysql日志
prometheus 根据mysqld_exporter提供的数据进行监控
General 为prometheus提供更高效的可视化界面

服务安装

mysql安装

参考:CentOS7离线安装mysql8

mysqld_exporter 安装

  1. 获取安装包
    官网Git地址
    本教程采用mysqld_exporter-0.14.0.linux-amd64.tar.gz

  2. 解压部署 我的mysql安装目录为/usr/local/mysql/ 不想为mysqld_exporter 单独创建文件路径 故放置于mysql目录下

    tar -zxvf mysqld_exporter-0.14.0.linux-amd64.tar.gz -C /usr/local/mysql/
    cd /usr/local/mysql/
    mv mysqld_exporter-0.14.0.linux-amd64 mysqld_exporter 
    
  3. 连接mysql创建mysqld_exporter访问用户

    mysql -uroot -p
    
    CREATE USER 'exporter'@'localhost' IDENTIFIED BY 'exporter_pwd' WITH MAX_USER_CONNECTIONS 3;
    GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'localhost';
    exit;
    
  4. 创建mysqld_exporter启动的配置文件

    cd mysqld_exporter
    vi my.cnf
    

    my.cnf

    [client]
    ## 
    user=exporter
    password=exporter_pwd
    host=localhost
    port=3306
    
  5. 创建mysqld_exporter启动脚本

    vi start.sh
    
    #!/bin/bash
    
    #获取脚本文件所在的绝对路径
    SOURCE="${BASH_SOURCE[0]}"
    while [ -h "$SOURCE" ]; do
     	DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null && pwd )"
     	SOURCE="$(readlink "$SOURCE")"
    	[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
    done
    DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null && pwd )"
    #启动命令
    nohup $DIR/mysqld_exporter --config.my-cnf=$DIR/my.cnf --web.listen-address="0.0.0.0:9088" --log.level=info >$DIR/logs/mysqld_exporter.log 2>&1 &
    

    创建日志文件夹并赋予脚本可执行权限

    mkdir logs
    chmod a+x start.sh
    

prometheus安装

  1. 获取安装包
    官网下载地址
    本次教程采用prometheus-2.34.0.linux-amd64.tar.gz
  2. 安装部署
    tar -zxvf prometheus-2.34.0.linux-amd64.tar.gz  -C /usr/local/
    cd /usr/local/
    mv prometheus-2.34.0.linux-amd64 prometheus
    cd prometheus
    
  3. 修改prometheus.yml配置文件 在尾部添加mysqld_exporter监控配置
    vi prometheus.yml
    
    targets地址为mysqld_exporter的web.listen-address参数,0.0.0.0转为实际IP
      - job_name: 'mysql'
        static_configs:
      	  - targets: ['172.16.72.150:9088']
    
    在这里插入图片描述
  4. 启动
    nohup ./prometheus --config.file=prometheus.yml --storage.tsdb.path=data >prometheus.log 2>&1 &
    
    命令启动不方便,可创建prometheus.service 启动 可创建一个专门用于该服务的用户
    #创建用户
    useradd  -s /sbin/nologin -M prometheus
    #创建数据目录
    cd /usr/local/prometheus
    mkdir data 
    #修改目录属主 
    chown -R prometheus:prometheus /usr/local/prometheus
    vi  /usr/lib/systemd/system/prometheus.service
    
    prometheus.service内容如下
    [Unit]
    Description=Prometheus
    Documentation=https://prometheus.io/
    After=network.target
    [Service]
    Type=simple
    User=prometheus
    ExecStart=/usr/local/prometheus/prometheus --config.file=/usr/local/prometheus/prometheus.yml --storage.tsdb.path=/usr/local/prometheus/data
    Restart=on-failure
    ExecReload=/bin/kill -s HUP $MAINPID
    ExecStop=/bin/kill -s QUIT $MAINPID
    [Install]
    WantedBy=multi-user.target
    
    systemctl daemon-reload
    systemctl enable prometheus
    systemctl start prometheus
    

General安装

  1. 获取安装包
    官网

    wget https://dl.grafana.com/enterprise/release/grafana-enterprise-8.4.4.linux-amd64.tar.gz
    
  2. 安装部署

    tar -zxvf grafana-enterprise-8.4.4.linux-amd64.tar.gz  -C /usr/local/
    cd /usr/local/
    mv grafana-8.4.4 grafana
    
  3. 启动
    3.1 nohup 启动

    cd /usr/local/grafana/
    nohup ./bin/grafana-server 1>grafana.log 2>&1 &
    

    3.2 配置启动/停止脚本

    cd /usr/local/grafana/
    vi start.sh
    

    start.sh

    #!/bin/bash
    #获取脚本文件所在的绝对路径
    SOURCE="${BASH_SOURCE[0]}"
    while [ -h "$SOURCE" ]; do
     	DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null && pwd )"
     	SOURCE="$(readlink "$SOURCE")"
    	[[ $SOURCE != /* ]] && SOURCE="$DIR/$SOURCE"
    done
    DIR="$( cd -P "$( dirname "$SOURCE" )" >/dev/null && pwd )"
    cd 
    nohup $DIR/grafana-server -homepath $DIR/../   >$DIR/../log.log 2>&1 &
    

    stop.sh

    #!/bin/bash
    pgrep grafana-server | xargs -exec kill -9
    
    chmod a+x stop.sh
    chmod a+x start.sh
    
  4. 添加监控
    4.1 添加Prometheus 配置
    在Configuration中选择Add data source 选择 Prometheus
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述
    拉到尾部save保存
    在这里插入图片描述
    4.2 导入解析配置
    create->import 填写mysql的配置(7362) Load->prometheus 选择Prometheus->Import
    在这里插入图片描述
    在这里插入图片描述

举报

相关推荐

0 条评论