• Prometheus监控MySQL服务(六)


    一、监控使用mysqld_exporter插件

    在Prometheus官网下载:https://prometheus.io/download/

    github的地址:https://github.com/prometheus/mysqld_exporter

    支持的MySQL和MariaDB版本:5.5及以上,需要注意的MySQL/MariaDB<5.6并不支持所有的收集方法

    # wget https://github.com/prometheus/mysqld_exporter/releases/download/v0.12.1/mysqld_exporter-0.12.1.linux-amd64.tar.gz
    # tar xf mysqld_exporter-0.12.1.linux-amd64.tar.gz -C /usr/local/
    # ln -s /usr/local/mysqld_exporter-0.12.1.linux-amd64/ /usr/local/mysqld_exporter
    # cd /usr/local/mysqld_exporter
    # 查看需要监控的指标
    # ./mysqld_exporter --help

    二、在MySQL中创建帐号

    # mysql -uroot -p
    mysql> CREATE USER 'exporter'@'192.168.5.237' IDENTIFIED BY 'exporter';
    GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'192.168.5.237';Query OK, 0 rows affected (0.03 sec)
    
    mysql> GRANT PROCESS, REPLICATION CLIENT, SELECT ON *.* TO 'exporter'@'192.168.5.237';
    Query OK, 0 rows affected (0.00 sec)

    三、创建客户端连接mysql的默认帐号

    # vim /usr/local/mysqld_exporter/.my.cnf
    [client]
    host=192.168.5.237 user
    =exporter password=exporter

    四、启动mysqld_exporter服务

    # /usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf='/usr/local/mysqld_exporter/.my.cnf' &
    INFO[0000] Starting mysqld_exporter (version=0.12.1, branch=HEAD, revision=48667bf7c3b438b5e93b259f3d17b70a7c9aff96)  source="mysqld_exporter.go:257"
    INFO[0000] Build context (go=go1.12.7, user=root@0b3e56a7bc0a, date=20190729-12:35:58)  source="mysqld_exporter.go:258"
    INFO[0000] Enabled scrapers:                             source="mysqld_exporter.go:269"
    INFO[0000]  --collect.global_status                      source="mysqld_exporter.go:273"
    INFO[0000]  --collect.global_variables                   source="mysqld_exporter.go:273"
    INFO[0000]  --collect.slave_status                       source="mysqld_exporter.go:273"
    INFO[0000]  --collect.info_schema.innodb_cmp             source="mysqld_exporter.go:273"
    INFO[0000]  --collect.info_schema.innodb_cmpmem          source="mysqld_exporter.go:273"
    INFO[0000]  --collect.info_schema.query_response_time    source="mysqld_exporter.go:273"
    INFO[0000] Listening on :9104                            source="mysqld_exporter.go:283"

    可以通过9104端口查看暴露的监控数据

     五、修改Pormetheus配置文件

    # vim /usr/local/prometheus/prometheus.yml                                            
    # my global config
    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.
    
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    scrape_configs:
      - job_name: 'prometheus'
    
        # metrics_path defaults to '/metrics'
        # scheme defaults to 'http'.
    
        static_configs:
        - targets: ['192.168.5.237:9090']
    
      - job_name: 'node'
        file_sd_configs:
        - refresh_interval: 30s
          files: 
          - "/usr/local/prometheus/sd_config/node*.yml"
    
      - job_name: 'docker'
        static_configs:
        - targets: ['192.168.5.85:8080']
    
    # 增加如下信息
      - job_name: 'mysql'
        static_configs:
        - targets: ['192.168.5.237:9104']
          labels:
            app: zabbix-server-mysql
    
    # 检查配置文件 #
    /usr/local/prometheus/promtool check config /usr/local/prometheus/prometheus.yml Checking /usr/local/prometheus/prometheus.yml SUCCESS: 0 rule files found
    # 重启服务 # systemctl restart prometheus.service

    Targets中能查看到mysql的信息

     六、配置Grafana图表

    导入7362图表,并选择prometheus数据源

     能查看到监控数据

     七、将mysqld_exporter配置为服务

    # vim /usr/lib/systemd/system/mysqld_exporter.service
    [Unit]
    Description=node_exporter
    Documentation=https://prometheus.io/
    After=network.target
    
    [Service]
    Type=simple
    User=root
    ExecStart=/usr/local/mysqld_exporter/mysqld_exporter --config.my-cnf=/usr/local/mysqld_exporter/.my.cnf
    Restart=on-failure
    
    [Install]
    WantedBy=multi-user.target
    
    # systemctl daemon-reload
    # systemctl start mysqld_exporter.service 
    # systemctl enable mysqld_exporter.service    
  • 相关阅读:
    istio-流量管理-基于不同版本访问规则控制
    k8s安装istio
    策略模式
    递归思想
    Java Lambda 表达式
    redis实现分布式锁
    MySQL 的优化方案总结
    linux下查看某一端口被哪个进程占用
    组合模式
    桥接模式
  • 原文地址:https://www.cnblogs.com/cyleon/p/12865055.html
Copyright © 2020-2023  润新知