Ad Widget

Collapse

Monitorer mariaDB sous debian 9 avec proxmox 4.4 --> je n'y arrives pas.

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • SuperVache
    Junior Member
    • Oct 2019
    • 8

    #1

    Monitorer mariaDB sous debian 9 avec proxmox 4.4 --> je n'y arrives pas.

    Bonjour,
    Je viens d'installer zabbix 4.4 pour monitorer mon infra. Je suis novice sur zabbix, mais pas sur linux.

    J'en suis à un point où j'installe l'agent zabbix sur mon serveur debian 9 comme suit :

    Code:
    wget https://repo.zabbix.com/zabbix/4.4/d...tretch_all.deb
    dpkg -i zabbix-release_4.4-1+stretch_all.deb
    apt update
    apt install zabbix-agent
    Je configure le fichier de conf comme suit :
    Code:
    sed -e '/Server=127.0.0.1/ s/^#*/#/' -i /etc/zabbix/zabbix_agentd.conf
    sed -i '99i Server=zabbix-01.prod.mondomaine.net' /etc/zabbix/zabbix_agentd.conf
    Donc je cpécifie dans /etc/zabbix/zabbix_agentd.conf la variable Server à "zabbix-01.prod.mondomaine.net" qui est mon serveur zabbix fonctionnel

    Puis je configure l'host sur zabbix serveur, et je lui mets les templates linux et MYSQL.

    Je récupère bien les données du CPU, de la RAM, des cartes réseaux et autres, à la fois dans "latest data" et dans "graph".

    Maintenant je souhaite avoir les graphs en rapport avec le template "Template DB MySQL"
    Donc je fais un utilisateur zabbix dans mariaDB :
    Code:
    CREATE USER 'zabbix_monitor'@'%' IDENTIFIED BY 'zabbix';
    GRANT USAGE,REPLICATION CLIENT,PROCESS,SHOW DATABASES,SHOW VIEW ON *.* TO 'zabbix_monitor'@'%';
    flush privileges;
    Puis je vérifie la présence du fichier /etc/zabbix/zabbix_agentd.d/userparameter_mysql.conf (c'est bon) et je créé le fichier .my.cnf comme demandé dans le fichier précédemment nommé :
    Code:
    mkdir /var/lib/zabbix
    nano /var/lib/zabbix/.my.cnf
    avec dedans :
    Code:
    [client]
    user=zabbix_monitor
    password=zabbix
    host = localhost
    un petit coup de restart zabbix-agent, puis je check les logs de l'agent :
    Code:
    14193:20191031:091438.836 IPv6 support: YES
    14193:20191031:091438.836 TLS support: YES
    14193:20191031:091438.836 **************************
    14193:20191031:091438.836 using configuration file: /etc/zabbix/zabbix_agentd.conf
    14193:20191031:091438.837 agent #0 started [main process]
    14198:20191031:091438.839 agent #5 started [active checks #1]
    14197:20191031:091438.841 agent #4 started[listener #3]
    14195:20191031:091438.842 agent #2 started[listener #1]
    14196:20191031:091438.843 agent #3 started[listener #2]
    14194:20191031:091438.846 agent #1 started [collector]
    Donc rien en erreur, et pourtant les données ne remontent pas sur zabbix.

    Dans "latest data" , j'ai un indicateur d'erreur à coté des données attendues qui n'arrivent pas, or, le message est étrange :
    Code:
    Preprocessing failed for: ERROR 1045 (28000): Access denied for user 'zabbix'@'localhost' (using password: NO)
    1. Failed: cannot extract XML value with xpath "/resultset/row[field/text()='Aborted_clients']/field[@name='Value']/text()": cannot parse xml value: Start tag expected, '<' not found
    J'ai l'impression que c'est le serveur qui ne parviens pas a lire sa propre base de donnée (on par le de l'utilisateur zabbix et pas de l'utilisateur zabbix_monitor, mais je ne sait pas comment faire ensuite. D'autant que pour le reste des datas, pas de soucis :/

    Quelqu'un eut il m'aider, je suis dans un cas d'école, sans pare feu ni contraintes particullières pour mon POC.

    Merci d'avanc
    Last edited by SuperVache; 31-10-2019, 12:04.
  • steve.destivelle
    Senior Member
    Zabbix Certified Trainer
    Zabbix Certified SpecialistZabbix Certified Professional
    • Feb 2017
    • 304

    #2
    Hello,

    est-ce que tu peux installer le package zabbix-get ?
    Ca nous permettra de lancer la commande suivante pour tester en local tes items.
    zabbix_get -s 127.0.0.1 -k nom_de_la_le
    où nom_de_ la_cle correspond à un item MySQL.
    Par exemple:
    zabbix_get -s 127.0.0.1 -k mysql.select

    Steve
    "Estimez la taille de votre base de données Zabbix: http://tools.izi-it.io
    "Rejoignez le ZABBIX Discord francophone https://discordapp.com/invite/hvauXEQ"

    "izi-it.io / ZABBIX Certified Trainer / ZABBIX French Evangelist"

    Comment

    • SuperVache
      Junior Member
      • Oct 2019
      • 8

      #3
      Merci de ta réponse, pour la commande d'exemple j'ai le retour : "zabbix_get [16399]: Check access restrictions in Zabbix agent configuration"

      Comment


      • steve.destivelle
        steve.destivelle commented
        Editing a comment
        Il te manque la boucle locale sur le paramètre Server.
        Soit Server=127.0.0.1,IP,IP
    • steve.destivelle
      Senior Member
      Zabbix Certified Trainer
      Zabbix Certified SpecialistZabbix Certified Professional
      • Feb 2017
      • 304

      #4
      Ok.
      J'ai vu d'où ça vient.

      C'est le template qui utilise des items master et items dépendants avec du pre-processing.
      Je regarde.
      "Estimez la taille de votre base de données Zabbix: http://tools.izi-it.io
      "Rejoignez le ZABBIX Discord francophone https://discordapp.com/invite/hvauXEQ"

      "izi-it.io / ZABBIX Certified Trainer / ZABBIX French Evangelist"

      Comment

      • steve.destivelle
        Senior Member
        Zabbix Certified Trainer
        Zabbix Certified SpecialistZabbix Certified Professional
        • Feb 2017
        • 304

        #5
        Pour le faire fonctionner, il faut modifier le fichier userparameter.

        Voici ce que j'ai ajouté pour prendre en compte le chemin vers le fichier .my.cnf

        UserParameter=mysql.ping[*], mysqladmin --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" ping

        UserParameter=mysql.get_status_variables[*], mysql --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" -sNX -e "show global status"

        UserParameter=mysql.version[*], mysqladmin --defaults-file="/etc/zabbix/.my.cnf" -s -h"$1" -P"$2" version

        UserParameter=mysql.db.discovery[*], mysql --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" -sN -e "show databases"

        UserParameter=mysql.dbsize[*], mysql --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" -sN -e "SELECT SUM(DATA_LENGTH + INDEX_LENGTH) FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_SCHEMA='$3'"

        UserParameter=mysql.replication.discovery[*], mysql --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" -sNX -e "show slave status"

        UserParameter=mysql.slave_status[*], mysql --defaults-file="/etc/zabbix/.my.cnf" -h"$1" -P"$2" -sNX -e "show slave status"

        Steve
        "Estimez la taille de votre base de données Zabbix: http://tools.izi-it.io
        "Rejoignez le ZABBIX Discord francophone https://discordapp.com/invite/hvauXEQ"

        "izi-it.io / ZABBIX Certified Trainer / ZABBIX French Evangelist"

        Comment

        • SuperVache
          Junior Member
          • Oct 2019
          • 8

          #6
          Alleluia !

          ça fonctionne comme ça merci bcp !

          Je me permet de préciser pour la postérité et les autres personnes dans mon cas que dans la réponse de Steve ci-dessus, le fichier de config est ciblé dans /etc/zabbix/.my.cnf et plus dans /var/lib/zabbix/.my.cnf . Selon moi c'est même plus logique de tout trouver dans /etc/zabbix/ (justement .my.cnf est une Editable Text Config).

          Comment

          • steve.destivelle
            Senior Member
            Zabbix Certified Trainer
            Zabbix Certified SpecialistZabbix Certified Professional
            • Feb 2017
            • 304

            #7
            Après on pourrait rajouter une variable dans l'item pour pointer où l'on souhaite.

            Steve
            "Estimez la taille de votre base de données Zabbix: http://tools.izi-it.io
            "Rejoignez le ZABBIX Discord francophone https://discordapp.com/invite/hvauXEQ"

            "izi-it.io / ZABBIX Certified Trainer / ZABBIX French Evangelist"

            Comment

            Working...