当前位置: 首页 > news >正文

Prometheus监控mysql

docker-compose.yml 创建mysql

mkdir/data/mysql -pcat > /data/mysql/docker-compose.yml << 'EOF'
version: '3.1'
services:db:image: mysql:8.0restart: alwayscontainer_name: mysqlenvironment:TZ: Asia/ShanghaiLANG: en_US.UTF-8MYSQL_ROOT_PASSWORD: 123456command:--default-authentication-plugin=mysql_native_password--character-set-server=utf8mb4--collation-server=utf8mb4_general_ci--lower_case_table_names=1--performance_schema=1--sql-mode=""--skip-log-binvolumes:- /data/mysql/data:/var/lib/mysqlports:- 3306:3306
EOF

docker-compose up -d

监控mysql

创建用户expoerter
docker exec -it mysql mysql -uroot -p123456```
CREATE USER 'exporter'@'%' IDENTIFIED BY 'password' WITH MAX_USER_CONNECTIONS 3;
GRANT PROCESS,REPLICATION CLIENT,SELECT ON *.* TO 'exporter'@'%';
```
docker exec -it mysql mysql -uexporter -ppassword

mysqld_exporter 创建

mkdir /data/mysqld_exporter -p
cd /data/mysqld_exporter
cat >docker-compose.yml << 'EOF'
version: '3.3'
services:mysqld-exporter:image: prom/mysqld-exporter:v0.12.1container_name: mysqld-exporterrestart: alwayscommand:- '--collect.info_schema.processlist'- '--collect.info_schema.innodb_metrics'- '--collect.info_schema.tablestats'- '--collect.info_schema.tables'- '--collect.info_schema.userstats'- '--collect.engine_innodb_status'environment:- DATA_SOURCE_NAME=exporter:password@(10.19.1.220:3306)/ports:- 9104:9104
EOF

docker-compose up -d

增加prometheus/prometheus.yml

  - job_name: 'mysqld-exporter'scrape_interval: 30sstatic_configs:- targets: ['10.19.1.220:9104']labels:instance: mysqld服务器

curl -X POST http://localhost:9090/-/reload

触发器设置

cd /opt/data/docker-prometheuscat >> prometheus/rules/mysqld.yml << 'EOF'
groups:
- name: MYSQLrules:- alert: MysqlDownexpr: mysql_up == 0for: 30slabels:severity: criticalannotations:summary: "Mysql Down,实例:{{ $labels.instance }}"description: "Mysql_exporter 连不上数据库了,当前状态为{{ $value }}"
EOF

热加载

docker exec -it prometheus promtool check config /etc/prometheus/prometheus.yml
curl -X POST http://localhost:9090/-/reload

dashboard


https://grafana.com/grafana/dashboards/7362

http://www.lryc.cn/news/271162.html

相关文章:

  • 骑砍战团MOD开发(30)-游戏大地图map.txt
  • 关于 bringup sensor 时,曝光时间异常的问题排查
  • linux用户态与内核态通过字符设备交互
  • 如何高效查询文件:Linux 下的多种方法详解
  • 记矩阵基础概念
  • 用html,js和layui写一个简单的点击打怪小游戏
  • [线代]不挂科猴博士
  • 扩散式过滤器 水泵角通除污器 0阻力过滤器直角过滤器工作原理
  • MetalLB:本地Kubernetes集群的LoadBalancer负载均衡利器
  • C++判定终端ip和目标ip是否在同一局域网内
  • 深入解析 可空值类型
  • esp32idf使用thingscloud例程
  • 记一次应急响应练习(Linux)
  • Pandas教程(四)—— 分层索引及数据联合
  • 小梅哥Xilinx FPGA学习笔记16——FSM(状态机)的学习
  • vol----学习随记!!!
  • HarmonyOS4.0系统性深入开发10卡片事件能力说明
  • openGauss学习笔记-181 openGauss 数据库运维-升级-升级流程
  • 提前应对威胁
  • C语言与人生:数组交换和二分查找
  • Python实现【亚马逊商品】数据采集
  • Git使用教程 gittutorial
  • 有了向量数据库,我们还需 SQL 数据库吗?
  • 信息网络协议基础-IPv6协议
  • VC++ ado 实现单表CURD
  • C#使用switch多路选择语句判断何为季节
  • 可爱的魔法曲线 Lovely Magical Curves(12年开始只有5个人AC)
  • 通过C++程序实现光驱的自动化刻录和读取
  • 【电商项目实战】商品详情显示与Redis存储购物车信息
  • 概率论基础