Ad Widget

Collapse

monitorar mariadb no windows pelo zabbix

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • ary
    Junior Member
    • Nov 2024
    • 7

    #1

    monitorar mariadb no windows pelo zabbix

    Tenho vários hosts que usam MariaDB, e queria monitorar este banco em meus hosts, segui alguns tutoriais (muitos na internet) e aulas explicando como fazer isto, mas achei apenas para mariadb ou mysqlserver instalado no linux, mas não encontrei nenhum para mariadb ou mysql instalado em Windows.
    E ai como fazer pra monitorar maria db instalado no windows??
    grato Ary
    Last edited by ary; 12-11-2024, 20:25.
  • markfree
    Senior Member
    • Apr 2019
    • 868

    #2
    Para esse tipo de monitoração, eu sugiro que utilize as instruções das templates oficiais do MySQL. Nelas, você verá que a monitoração do MySQL pode ser realizada, em geral, de três formas: via Zabbix Agent, Agent2 ou ODBC.
    Cada forma tem suas particularidades, mas, em geral, é necessário criar um usuário no banco e indicar um DSN ou URI para a conexão.
    Percebe-se, então, que a monitoração é relativamente agnóstica ao SO.

    Comment

    • ary
      Junior Member
      • Nov 2024
      • 7

      #3
      obrigado pela resposta, porem o que eu nao consigo entender é como vou criar as pastas no windows, .my.cnf, e o template padrao para monitoramento conforme esta no site do zabbix.
      Ja tenho o agente instalado e monitorando todo hardware do meu host, so nao consigo habilitar para fazer monitorar o mariadb no caso, que o banco de dados que estou usando no meu host.

      segui estes passos, so que para windows:
      Requirements for template operation:
      1.Install Zabbix agent and MySQL client.
      2.Copy Template_DB_MySQL.conf into folder with Zabbix agent configuration (/etc/zabbix/zabbix_agentd.d/ by default). Don't forget restart zabbix-agent.
      3.Create MySQL user for monitoring. For example:
      CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
      GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';
      For more information read the MYSQL documentation https://dev.mysql.com/doc/refman/8.0/en/grant.html , please.
      4.Create .my.cnf in home directory of Zabbix agent for Linux (/var/lib/zabbix by default ) or my.cnf in c:\ for Windows. For example:
      [client]
      user=zbx_monitor
      password=<password>


      #For OS Windows: You need add PATH to mysql and mysqladmin and create my.cnf in %WINDIR%\my.cnf,C:\my.cnf,BASEDIR\my.cnf
      achei isto, entao em: c:/windows, c:/ e C:\Program Files\MariaDB 10.4\data criei o mesmo arquivo my.cnf, e dentro do usuario criado para monitoramento do mariadb dei as permissoes GRANT, REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW

      o isso ( "For OS Windows: You need add PATH to mysql and mysqladmin" ) o que quer dizer, onde configuro isto?

      a titulo de informacao estou usando zabbix 6.0 e o agente no servidor windows é ativo.
      Last edited by ary; 13-11-2024, 16:34.

      Comment

      • markfree
        Senior Member
        • Apr 2019
        • 868

        #4
        ary, as instruções da template não abrangem muitos cenários e, como deve ter percebido, são focadas em ambientes Linux. Neste caso, você deve interpretar e adaptar os dados ao seu ambiente.

        Acho que o arquivo de configuração do MariaDB no Windows se chama "my.ini". É ele que você deve buscar e alterar.
        Seria bom consultar a documentação do MariaDB na versão que está utilizando para saber a localização desse arquivo.

        Comment

        • ary
          Junior Member
          • Nov 2024
          • 7

          #5
          obrigado pela resposta, ainda to na luta aqui, depois de tentar muita coisa, acabei no monitoramento com zabbix agente 2, mas como sempre surge um entrave, na configuracao do host tenho que configurar umas macros {$MSSQL.PASSWORD}, {$MSSQL.PORT}, {$MSSQL.URI}, {$MSSQL.USER}, o problema esta na MSSQL.URI, que nao sei que preencher, pois como estou tentando monitorar uma maquina windows com maria db rodando nela e ela esta remota, nao sei como configurar o caminho URI , tentei varias coisas mas todas sem sucesso, sera que podes me dar uma luz do que preencher ???
          tentei protocolo://ip publico do_servidor:3306, e outras mais, sem sucesso.
          desde ja agradeco

          Comment

          • solution
            Senior Member
            • Jun 2020
            • 269

            #6
            Olá,
            Graças ao "Zabbix Agent 2" que já vem com o plugin embutido, o processo é bem simples e NÃO requer criar aquivo my.cnf ou equivalente.

            1) Tenha certeza que possui o template " MySQL by Zabbix agent 2"
            Zabbix 7: https://git.zabbix.com/projects/ZBX/...=release%2F7.0
            **se usa outra versão altere para a versão equivalente ao seu Zabbix Server

            2) Crie o usuário no mysql/mariadb que será usado para o monitoramento
            CREATE USER 'zbx_monitor'@'%' IDENTIFIED BY '<password>';
            GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zbx_monitor'@'%';

            3) Associe o template MySQL by Zabbix agent 2 ao Host que tem o Zabbix Agent 2 e irá monitora o Mysql/MariaDB

            4) No Host e em Macros preencha as macros necessária para o acesso ao Mysql/MariaDB
            {$MYSQL.USER}. **preencha com o usuario criado no passo 2**
            {$MYSQL.PASSWORD} ** preencha com a senha criada no passo 2***
            {$MYSQL.DSN} ** endereço do mysql server***
            Se olhar no template já há alguns exemplos de endereço
            Examples: MySQL1, tcp://localhost:3306, tcp://172.16.0.10, unix:/var/run/mysql.sock
            ** Os passos acima são válidos se vai usar o "Zabbix Agent 2"


            Wellington​

            Comment

            • ary
              Junior Member
              • Nov 2024
              • 7

              #7
              este é o problema,

              {$MYSQL.DSN} ** endereço do mysql server*** - esta MACRO nao tem, deve ser porque o zabbix agent 2 esta em windows, pois meu banco de dados esta numa maquina em windows, banco que uso mariadb 10.4, entao estou usando as MACROS que me aparecem, no caso sao:
              {$MSSQL.PASSWORD}, {$MSSQL.PORT}, {$MSSQL.URI}, {$MSSQL.USER},, porem nao consigo comunicacao entre o zabbix server, zabbix agent 2, e o banco de dados que esta no instalado no windows juntamento com o zabbix agent 2.

              {$MSSQL.URI}, esta que nao consigo criar o caminho.

              Em tempo: o banco de dados que esta no zabbix server mysql, eu consigo monitorar com as macros que voce descreveu em sua resposta acima, acredito ser porque o zabbix e o banco estarem instalados em LINUX.

              obrigado
              Last edited by ary; 25-11-2024, 20:02.

              Comment

              • solution
                Senior Member
                • Jun 2020
                • 269

                #8
                2 coisas baseado em sua resposta.

                1) As macros dos Templates associados ao Host só aparecem se tiverem sido alteradas ou forem criadas manualmente..
                Então para aparecer todas as macros click no Host e:
                Host --> Macros cliquem "Inherited and host macros" para ver todas
                Click image for larger version  Name:	image.png Views:	0 Size:	11.2 KB ID:	494914

                2) Você escreveu
                {$MSSQL.URI}, esta que nao consigo criar o caminho.
                Esta macro é do Template MSSQL (Microsoft SQL SERVER)
                Mas você está tentando monitorar Mysql/Mariadb

                Remova o MSSQL e associe o Template correto MySQL

                Então verá as macros "{$MYSQL...."


                Wellington

                Comment

                • ary
                  Junior Member
                  • Nov 2024
                  • 7

                  #9
                  obrigado pela resposta, mas estava por aqui tambem tentando e consegui com o colega e resolvi a conexao com banco, vou deixar aqui como fiz:
                  o monitoramento consegui fazer apenas por ODBC outra opcao, por ser windows nao funciona.
                  instalei os pacotes, conforme documentacao do zabbix:
                  apt install unixodbc unixodbc-dev
                  apt install odbc-mariadb
                  apt install libmysqlclient-dev
                  odbcinst -j rodo este comando para ver o caminho dos arquivos
                  vim /etc/odbc.ini insiro as informacoes

                  [db-farmacia009] - este é o nome que vai la no zabbix server em macros dsn
                  Description = MySQL test database - qualquer nome
                  Driver = mariadb
                  Server = ip ou no-ip do servidor a ser monitorado
                  User = criar no banco - e dar as permissoes necessarias (GRANT REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON .) e permitir tambem que se comunique com conexoes de qualquer lugar e nao so local
                  Password = senha - criar no banco
                  Port = 3306
                  Database = nome da database

                  faz um telnet pra ver se esta comunicando com servidor do banco

                  se deu comuniocacao beleza, reinicia e verifica o status do servidor zabbix

                  vai no zabbix server e cria o host e seta as macros mysql user, name e dsn (no caso o nome que foi posto na edicao do arquivo odbc.ini)

                  e pronto funcionando o monitaramento

                  ate mais e muito obrigado por tudo





                  Comment

                  Working...