Aller au contenu principal

Parity Ethpoller API

Vue d'ensemble​

Le BCM Poller expose collecte des données sur le comportement d'un réseau Blockchain basé sur les technologies Ethereum ou Hyperledger Fabric.

Le connecteur de supervision Ethpoller API récupère les informations collectées au travers de l'API exposée par cet outil afin d'offrir une analyse de l'utilisation et de l'adoption du réseaux au travers du comportement des noeuds observés.

Contenu du Pack​

Objets supervisés​

  • EventPoller node
    • Tracking
    • Stats
    • Disk

Métriques collectées​

Metric nameDescriptionUnit
parity.tracking.events.perminuteNumber of events by minute
parity.tracking.mined.block.prctPercentage of block mined%
parity.tracking.balance.changes.perminuteNumber of balance changes per minutewei

Prérequis​

Afin de récupérer des données, déployer le BCM Poller en suivant la documentation fournie par l'IRT-Systemx ici.

Le Collecteur Centreon doit pouvoir communiquer avec le BCM Poller au travers du port configuré (par défaut: 8000).

Installation​

  1. Installer le Plugin sur tous les Collecteurs Centreon interrogeant des ressources Ethpoller API:
yum install centreon-plugin-Blockchain-Parity-Ethpoller-Restapi
  1. Dans l'interface Web de Centreon, installer le connecteur de supervision Ethpoller API depuis la page Configuration > Gestionnaire de connecteurs de supervision.

Configuration d'un Hôte​

  • Ajoutez un nouvel Hôte depuis la page Configuration > Hôtes
  • Complétez les champs "Nom","Alias" & "IP Address / DNS" correspondant à votre noeud Hyperledger
  • Appliquez le Modèle d'Hôte Blockchain-Hyperledger-Exporter-custom
MandatoryNameDescription
XETHPOLLERAPIPORTPort used (Default: '8000')
XETHPOLLERPROTOProtocol used (Default: 'http')
XETHPOLLERAPIURLPATHPath to the API - (Default: '/')
TIMEOUTRequest timeout
ETHPOLLEREXTRAOPTIONSAny extra option you may want to add to every command_line (eg. a --verbose flag)

Comment tester mes configurations et le Plugin en ligne de commande ?​

Une fois le Plugin déployé, connectez vous à votre Collecteur en SSH et executez la commande suivante au travers de l'utilisateur centreon-engine:

/usr/lib/centreon/plugins//centreon_blockchain_parity_ethpoller_api.pl  \ 
--plugin=blockchain::parity::ethpoller::plugin \
--mode=tracking \
--hostname=10.0.0.1 \
--port='8000' \
--proto='http' \
--url-path='/' \
--timeout='10' \
--warning-balance-changes='' \
--critical-balance-changes='' \
--warning-events-frequency='' \
--critical-events-frequency='' \
--warning-mining-frequency='' \
--critical-mining-frequency='' \
--warning-mining-prct='' \
--critical-mining-prct='50:'

Le retour de la commande doit être similaire à:

OK: Events metrics are ok - Mining metrics are ok - Balances metrics are ok |
'agent1#parity.tracking.events.perminute'=5.00;;;; 'agent2#parity.tracking.events.perminute'=15.00;;;; 'agent3#parity.tracking.events.perminute'=15.00;;;; 'agent4#parity.tracking.events.perminute'=10.00;;;; 'agent5#parity.tracking.events.perminute'=0.00;;;; 'credit#parity.tracking.events.perminute'=10.00;;;; 'deploy#parity.tracking.events.perminute'=20.00;;;; 'registry#parity.tracking.events.perminute'=5.00;;;; 'black#parity.tracking.mined.block.perminute'=5.00;;;; 'black#parity.tracking.mined.block.prct'=33.41%;;;0; 'gray#parity.tracking.mined.block.perminute'=10.00;;;; 'gray#parity.tracking.mined.block.prct'=33.14%;;;0; 'white#parity.tracking.mined.block.perminute'=10.00;;;; 'white#parity.tracking.mined.block.prct'=33.46%;;;0; 'master#parity.tracking.balance.changes.perminute'=0.00wei;;;; 'random#parity.tracking.balance.changes.perminute'=729999999999997378560.00wei;;;;

Cette commande déclenchera une alerte CRITICAL si l'un des noeuds a miné moins de 50% des blocks (--critical-mining-prct=50:).

Les options disponibles pour un mode donnée peuvent être affiché en ajoutant l'option --help à la commande.

Tous les modes d'un Plugin donné peuvent être listés au moyen de la commande suivante:

/usr/lib/centreon/plugins//centreon_blockchain_parity_ethpoller_api.pl  \ 
--plugin=blockchain::parity::ethpoller::plugin \
--list-mode

Diagnostic des erreurs communes​

UNKNOWN: Can't connect to ...​

Cette erreur signifie que Centreon n'a pas réussi à se connecter à l'API du BCM Poller. Vérifiez que la requête n'est pas bloquée par un outil externe (un pare-feu par exemple). Si vous utilisez un proxy, renseignez son URL dans la Macro EXTRAOPTIONS de l'Hôte ou directement dans la commande avec l'option --proxyurl='http://proxy.mycompany:8080'.

Vérifiez également que le port configuré est correct.

J'obtiens le message d'erreur suivant: ``UNKNOWN: 501 Protocol scheme 'connect' is not supported |```​

Dans certains cas, et plus spécifiquement lors de l'usage d'un proxy d'entreprise, le protocole de connexion n'est pas supporté par la libraire lwp utlisée par défaut par le Plugin Centreon. Cette erreur peut être résolue en utilisant le backend HTTP curl. Pour ce faire, ajoutez l'option --http-backend='curl' dans la Macro EXTRAOPTIONS de l'Hôte ou directement à la commande.