Monitoring: O que o mysqladmin ping reporta?

2

Estou tentando monitorar se o nosso servidor mysql está ativo. O comando que estou usando para isso é:

mysqladmin ping

Ele retornará o seguinte:

mysqld is alive

Isso apenas verifica se o processo está sendo executado ou também verifica se o servidor está aceitando conexões?

    
por Richard Nienaber 26.06.2009 / 22:50

3 respostas

4

"mysqladmin ping" tenta se conectar ao servidor MySQL escolhido. O servidor real pode ser especificado com a opção -h (por exemplo, mysqladmin ping -h db.example.com), padronizando para localhost.

Se o servidor responder (mesmo com um acesso negado ou mensagem similar), o servidor será considerado ativo e o "mysqladmin ping" sairá com o código 0.

Caso contrário, o servidor é assumido como inativo e o "mysqladmin ping" existe com o código 1.

    
por 26.06.2009 / 23:02
2

Se você quer ter certeza de que seu servidor MySQL está ativo, o melhor a fazer é escrever um pequeno script para executar:

SELECT "1";

Seu usuário para conexão precisaria de pelo menos a permissão USAGE. Isso não lhe dirá se houver algum problema com as tabelas do banco de dados, mas o monitoramento do aplicativo provavelmente informará isso.

É bem possível que isso seja o que o mysqladmin ping faz de qualquer maneira.

    
por 26.06.2009 / 23:38
0

"up" é um termo muito amplo. Por exemplo. ele pode responder ao ping, mas na verdade não tem espaço livre em disco, ou todas as consultas são bloqueadas ou travadas a cada segundo e automaticamente reiniciadas, ou todas as tabelas estão realmente marcadas como travadas ou até piores - caiu ou o datadir foi desmontado do sistema etc. / p>

Ou pode estar trocando como louco e a CPU é abusada por várias consultas, então dificilmente pode rastrear, então não é "up" com certeza.

Ou por ex. pode falhar em responder ao ping, e. por causa do limite de conexão, mas seus aplicativos usam conexão persistente e funcionam perfeitamente.

Ou por ex. pode falhar em responder ao ping, e. por causa de algum problema do cliente no host local, mas novamente - todos os aplicativos realmente não apresentam problemas.

Então, às vezes 'ping' é uma resposta válida, mas você precisa sempre considerar esses casos enquanto pensa em "monitorar se o servidor está ativo".

    
por 22.01.2017 / 18:45