MySQL

Escrito por Hitfy

Template: Template_MySQL_VS_Padrao

As coletas do monitoramento de MySQL são realizadas por meio de consultas via Driver ODBC, realizadas pelo Proxy.


Realizar os procedimentos abaixo na máquina do Proxy:


Instalação do Driver ODBC do Linux


Fazer download do MySQL Connector:


CentOS 8/Oracle Linux 8:

Fazer download da última versão do mysql80-community-release-el8 pelo site:

http://repo.mysql.com/

Exemplo para versão 8:

wget http://repo.mysql.com/mysql80-community-release-el8.rpm

Instalar mysql80-community-release rpm:

rpm -Uvh mysql80-community-release*rpm

Instalar o pacote unixODBC-devel:

yum install unixODBC-devel

Instalar o pacote mysql-connector-odbc:

dnf --enablerepo=mysql-connectors-community install mysql-connector-odbc


*Caso o S.O. seja versão RHEL 7 / Oracle Linux 7:

wget https://dev.mysql.com/get/Downloads/Connector-ODBC/9.1/mysql-connector-odbc-setup-9.1.0-1.el7.x86_64.rpm

Instalar o pacote:

rpm -ivh mysql-connector-odbc-setup-9.1.0-1.el7.x86_64.rpm
yum install unixODBC-devel
yum install mysql-connector-odbc


Configuração do MySQL ODBC Driver


Acessar o arquivo odbc.ini:

vi /etc/odbc.ini

Adicionar a entrada:

[mysql]
Description = MySQL test database
Driver   = MySQL
Server   = IP do host 
Port    = 3306


Observação: É necessário editar o arquivo odbc.ini para incluir uma entrada para cada base de dados monitorada.


Criação do usuário de monitoramento no Banco de Dados


Criar usuário:

CREATE USER 'usuario'@'ip_do_proxy' IDENTIFIED BY 'senha';

Exemplo:

CREATE USER 'monitoramentohit'@'127.0.0.1' IDENTIFIED BY 'm0nit0rvS';


Atribuir permissões:

GRANT SELECT, PROCESS, SHOW DATABASES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, SHOW VIEW ON *.* TO 'monitoramentohit'@'IP_DO_PROXY';
GRANT SELECT ON performance_schema.* TO 'monitoramentohit'@'IP_DO_PROXY';
GRANT SELECT ON sys.* TO 'monitoramentohit'@'IP_DO_PROXY';


*Caso o MySQL seja versão 5.7 incluir o comando abaixo:

SET GLOBAL show_compatibility_56 = ON;


Aplicar permissões:

FLUSH PRIVILEGES;


Teste de Conexão (Realizar no Proxy)


Execute o comando abaixo, substituindo os dados pelas credenciais do usuário de monitoramento e nome do banco (O mesmo que está na entrada do odbc.ini):

isql -v mysql usuario senha

Caso retorne a mensagem abaixo, a configuração foi realizada com sucesso.

+---------------------------------------+
| Connected!                            |
|                                       |
| sql-statement                         |
| help [tablename]                      |
| quit                                  |
|                                       |
+---------------------------------------+
SQL>


Aplicar o Template no Host


Criar o template para o cliente, seguindo o procedimento já estabelecido. Criar o seguinte template para os clientes:


Template_MySQL_VS_<Cliente>: associado ao Template_MySQL_VS_Padrao


Observação: Para bancos na versão 8 ou superior, seguir a mesma lógica, porém utilizando o seguinte template:

Template_MySQL_v8_<Cliente>: associado ao Template_MySQL_v8_Padrao


Depois da criação do template, criar as seguintes macros em cada host que será monitorado (corresponde a cada instância de banco de dados):

{$MYSQL_DSN} = <DSN criado no arquivo /etc/odbc.ini>

{$MYSQL_PASSWORD} = <usuário de monitoramento>

{$MYSQL_USERNAME} = <senha do usuário de monitoramento>