Existe uma maneira de obter a saída do mysqlshell e usá-la em um script ou similar.
Eu configurei um cluster básico para teste (3 x bancos de dados MySQL 8.0.27, rodando no Debian 11).
Agora estou tentando encontrar uma maneira de capturar a saída da saída do mysqlshell cluster.status()
.
Como exemplo, de dentro do mysqlshell eu posso executar:
cluster=dba.getCluster()
cluster.status().defaultReplicaSet.topology['test-1:3306'].replicationLag
para obter o atraso de replicação atual. Eu gostaria de capturar isso para que possa ser monitorado automaticamente.
Presumi que a maioria dessas estatísticas também existiria nos bancos de dados performance_schema
ou mysql_innodb_cluster_metadata
em algum lugar, mas não consigo vê-las.
Existe uma maneira de fazer isso?
Você pode usar a integração de linha de comando do Shell para acessar o AdminAPI sem entrar na interface interativa do Shell. Isso permite que você execute os comandos em um script bash, por exemplo, ou integre-o a outras ferramentas de automação/monitoramento.
https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-command-line-integration.html