Monitorando o Mysql com Zabbix

Tempo de leitura: 4 minutos

Nesse Post veremos como monitorar o Banco de Dados Mysql através do Zabbix.

Através do Template Template_App_MySQL-2.2.0.xml,  podemos monitorar vários itens do nosso mysql, entre eles operações de deleção, normais por segundo,  bytes recebidos e enviados por segundo, Queries por segundo , versão, uptime , entre outras. Veja a imagem abaixo com os itens disponiveis no Template.

Mysql1

 

Além disso possui já pronto, trigger, gráficos e telas.

Para que possamos fazer uso deste, a primeira coisa a ser feita é baixar e importar.

Você podera baixar diretaemento do site do Zabbix em https://www.zabbix.org/wiki/Zabbix_Templates/Official_Templates ou diramente no Blog, clicando em Template Zabbix.

 

Promocao-Monitoria

Uma vez que tenha baixado, iremos importar.

Vá ao seu Zabbix -> Configurações -> Template  e acione o Botão importar.

Em escolher Template, selecione o Template Mysql que baixamos anteriormente. Não é necessário alterar os valores que estão marcados nesta tela, basta clicar em importar, que o Template será importado para seu Zabbix.

Para que esse template funcione, algumas configurações devem ser feitas:

  • Configurar ou baixar o conf para /etc/zabbix/zabbix-agent.d no seu Servidor Mysql e fazer as alterações necessárias.
  • Configurar o .my.cnf em /etc/zabbix.

 

UserParameters_mysql.conf

 

O arquivo userparameters_mysq.conf pode ser encontrado no código fonte do Zabbix dentro da pasta conf/zabbix_agend, mas se preferir poderá baixar aqui do Blog também clicando em UserParameters.

Neste vão estar as queries e comandos que serão feitos ao servidor mysql, para coletar as informações. Na realidade são basicamente 4 linhas.

 

mysql5

Olhe que no arquivo acima, está configurado HOME para /var/lib/zabbix, deverá ser alterado para o local onde está as configurações do seu zabbix agent, no meu caso por exemplo, está em /etc/zabbix. Esta variável informa ao zabbix onde irá buscar o arquivo .my.cnf que deverá conter informações de logon no banco. Uma outra coisa importante é que tanto esse arquivo como o my.cnf, deverão ser acessados pelo usuário zabbix, então certifique-se que o usuário zabbix tenha permissão de leitura nesses arquivos e que o mysql cliente também esteja no PATH.

 

.my.cnf

 

O arquivo .my.cnf é reponsável por passar para o Zabbix os dados de acesso para o Banco Mysql. Este usuário não existe ainda, teremos quer criar , mas de qualquer forma já irei mostrar o conteúdo dele e posteriormente criamos ele no Banco de Dados.

Abaixo o conteúdo do arquivo .my.cnf dentro de /etc/zabbix:

 

[mysql]

user=zabbix

password=senha

[mysqladmin]

user=zabbix

password=senha

 

Troque a senha pela senha do usuário caso já exista, ou pela senha que deseja colocar.

 

Criando o usuário no Banco

 

Acesso o Banco de Dados Mysql, com um usuário que tenha permissão para alterar os dados do mesmo. Iremos executar o comando abaixo para criar o usuário zabbix. E novamente altere o valor de senha conforme desejar.

 

#mysql –u root –p senha

#mysql> GRANT USAGE ON *.* TO  ‘[email protected]’*’ IDENTIFIED BY ‘senha’;

#mysql> FLUSH PRIVILEGES;

 

Com isso já temos nosso usuario criado e nossas configurações prontas.

Os últimos passo no cliente é reiniciar o serviço do zabbix agent.

 

Configurando o Zabbix

 

Uma vez com todas configurações prontas. Podemos fazer um pequeno teste, para verificar se está tudo ok com o Template. Enviando um zabbix_get para um estação onde está o mysql.

 

# zabbix_get -s host  -k mysql.ping

1

 

Com esse retorno já saber que os arquivos configurados no Agente do Host estão funcionando corretamente. Agora basta adicionar a maquina ao Template.

Para isso vá em Configuração -> Hosts,  selecione o host do qual você quer monitorar o mysql (onde salvamos os arquivos userparamenter e .my.cnf). Vá a guia Templete, e em Vincular a novos templates, digite Template App MySQL e depois adicionar e Salvar.

Pronto seu host já está pronto, em pouco minutos ele trará várias informações, como na figura abaixo :

Mysql2

 

E ainda possui gráficos e telas.

Abaixo o gráfico de uso de banda .

mysql3

Espero que tenham gostado e aproveitam a promoção deste final de semana. Dois cursos de monitoramento por R$ 230,00

 

Promocao-Monitoria

Abraços

.’.André Stato Filho

 

 

 

 

6 Comentários

  1. Lucas

    Boa tarde !
    Primeiro Parabens pelo Post, fiz tudo exatamente igual esta no Post, porem quando eu rodo o comando zabbix_get -s 127.0.0.1 -k mysql.ping ele retorna a mensagem
    “Warning: World-writable config file ‘/etc/zabbix/.my.cnf’ is ignored
    mysqladmin: connect to server at ‘localhost’ failed
    error: ‘Access denied for user ‘zabbix’@’localhost’ (using password: NO)'”

    Responder
      1. Lucas

        Boa noite André, estou enfrentando o mesmo problema, porém o usuário zabbix é dono do arquivo my.cnf

        Responder

        1. Não entendi qual seu problema!!!
          Tome cuidado pois existem dois arquivos my.cnf, um pertence ao mysql, e é usado para iniciar o serviço, se não me engano fica em /etc/. O segundo deverá ficar em /etc/zabbix/zabbix-agentd, ou onde foi configurado para ficar os script e alertas, esse segundo arquivo, vão ter as queries, bem como usuário e senha utilizado para fazer a conexão. Veja se está tudo ok.

          Responder
  2. Rodrigo Oliveira

    Boa tarde André,

    Esse template funciona para versões mais novas (3.2.1) ?

    Responder

    1. Não testei, mas normalmente sim, pois são apenas scripts usando o cliente mysql para retirar informações e mandar pro Zabbix.

      Responder

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *