监控docker容器内mysql主从同步状态

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了监控docker容器内mysql主从同步状态相关的知识,希望对你有一定的参考价值。

Docker exec 命令
docker exec :在运行的容器中执行命令
语法
docker exec [OPTIONS] CONTAINER COMMAND [ARG...]
OPTIONS说明:
-d :分离模式: 在后台运行
-i :即使没有附加也保持STDIN 打开
-t :分配一个伪终端


脚本
cat /server/scripts/mysql.sh
#!/bin/bash
docker exec -t docke_mysql mysql -uroot -p123456 -e "show slave statusG"|grep "Running"|grep "Yes"|wc -l


为什么不用docker exec -i ?
这样会显示下面的结果
Warning: Using a password on the command line interface can be insecure.
2
zabbix会报错
Received value [Enter password: ERROR 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: NO)0] is not suitable for value type [Numeric (unsigned)] and data type [Decimal]
使用docker exec -t(分配一个伪终端,不需要保持STDIN打开,结果就正常了,我也是试了好久,改/etc/my.cnf,本人认为不安全,有其它见解的话,请高人指点下我的想法是否正确)


现在获取到数值了可以去设置你自己的zabbix了

以上是关于监控docker容器内mysql主从同步状态的主要内容,如果未能解决你的问题,请参考以下文章

运用mysql,docker进行主从同步

运用mysql,docker进行主从同步

编写脚本实现MySQL主从复制状态监控

Shell脚本监控Mysql主从同步状态+钉钉提醒

监控MySQL主从同步状态

zabbix监控mysql主从同步