sysadmin
Pixelabs est un univers de partage administrateur systèmes GNU/Linux et Windows Server.
Merci à tous pour vos messages et votre soutien.

Supervision Pure Storage avec Centreon (Rest API)

Hello, nous allons voir dans cet article la supervision des baies de stockage Pure via Rest API avec Centreon & Centreon plugin pack.

Les baies Pure :Pure FlashArray_C

  • Pure FlashArray//X
  • Pure FlashArray//C

Compte REST API :

  • Configurer un compte en lecture seul sur chaque Pure.

Pour mettre en place la supervision sur Centreon web, il suffit de parcourir les autres articles ci-dessous, il y a plein d’exemple un peu partout.


Voir également mes projets sur la supervision : /supervision

Mon pack d’icônes pour Centreon : icones-pack/

Supervision Pure FlashArray//X & FlashArray//C

Pure FlashArray_X

Connectez-vous à votre Pure et allez dans le menu :

  • Settings >> Users (ou Access)
  • Rôle : Read-Only

Le guide REST API se trouve plus bas : Help >> REST API Guide

Nous allons utiliser le plugin suivant :

[centreon-engine@pixelabs plugins]$ perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --list-mode

Plugin Description:
    Check Pure Storage through HTTP/REST API.

Global Options:
    --mode  Choose a mode.

    --dyn-mode
            Specify a mode with the path (separated by '::').

    --list-mode
            List available modes.

    --mode-version
            Check minimal version of mode. If not, unknown error.

    --version
            Display plugin version.

    --custommode
            Choose a custom mode.

    --list-custommode
            List available custom modes.

    --multiple
            Multiple custom mode objects (required by some specific modes)

    --pass-manager
            Use a password manager.

Modes Meta:
   multi

Modes Available:
   alarms
   arrays
   hardware
   list-pgroups
   list-volumes
   pgroup-replication
   volume-usage
[centreon-engine@pixelabs plugins]$

Check-Pure-Alarms

Supervision des alertes présentes sur la Pure (warning, ciritical…etc).

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=alarms --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --filter-category='.*' --warning-status='%{severity} =~ /warning/i' --critical-status='%{severity} =~ /critical/i' --verbose
WARNING: 1 problem(s) detected | 'alerts'=1;;;0;
warning: alarm [component: PURE-X20] [severity: warning] [category: array] [event: degraded] 22h 53m 26s

Si vous souhaitez filtrer et avoir que des alertes critiques :

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=alarms --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --filter-category='critical' --warning-status='%{severity} =~ /warning/i' --critical-status='%{severity} =~ /critical/i' --verbose
OK: 0 problem(s) detected | 'alerts'=0;;;0;

Check-Pure-Arrays

Supervision de l’espace de votre Pure

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=arrays --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --critical-space-usage-prct=:90
OK: Array 'PIXEL-X20' space usage total: 20.94 TB used: 13.95 TB (66.64%) free: 6.98 TB (33.36%), data reduction: 4.564 | [...]

Changer l’unité en « TB » au lieu de « % » : --critical-space-usage=19TB

Les exemples perfdata pour les graphiques sur Centreon Web :

    --change-perfdata --extend-perfdata
            Change or extend perfdata. Syntax:
            --extend-perfdata=searchlabel,newlabel,target[,[newuom],[min],[m
            ax]]

            Common examples:

                Change storage free perfdata in used:
                --change-perfdata=free,used,invert()

                Change storage free perfdata in used:
                --change-perfdata=used,free,invert()

                Scale traffic values automaticaly:
                --change-perfdata=traffic,,scale(auto)

                Scale traffic values in Mbps:
                --change-perfdata=traffic_in,,scale(Mbps),mbps

                Change traffic values in percent:
                --change-perfdata=traffic_in,,percent()

Check-Pure-Hardware

Supervision des composants de votre Pure. Alimentation, Contrôleurs, ventilateurs, température, Interface ETH/FC…etc.

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=hardware --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --component='.*' --verbose
OK: All 119 components are ok [119/119 entity]. | [...]
Checking entity
entity 'CH0' status is 'ok' [instance = CH0]
entity 'CH0.BAY0' status is 'ok' [instance = CH0.BAY0]
entity 'CH0.BAY1' status is 'ok' [instance = CH0.BAY1]
[...]
entity 'CH0.NVB0' status is 'ok' [instance = CH0.NVB0]
entity 'CH0.NVB1' status is 'ok' [instance = CH0.NVB1]
[...]
entity 'CH0.PWR0' status is 'ok' [instance = CH0.PWR0]
entity 'CH0.PWR1' status is 'ok' [instance = CH0.PWR1]
[...]
entity 'CT1.ETH0' status is 'ok' [instance = CT1.ETH0]
entity 'CT1.ETH1' status is 'ok' [instance = CT1.ETH1]
[...]
entity 'CT1.FAN0' status is 'ok' [instance = CT1.FAN0]
entity 'CT1.FAN1' status is 'ok' [instance = CT1.FAN1]
[...]
entity 'CT1.FC8' status is 'ok' [instance = CT1.FC8]
entity 'CT1.FC9' status is 'ok' [instance = CT1.FC9]
[...]
entity 'CT1.SAS0' status is 'ok' [instance = CT1.SAS0]
entity 'CT1.SAS1' status is 'ok' [instance = CT1.SAS1]
[...]
entity 'CT1.TMP0' status is 'ok' [instance = CT1.TMP0]
entity 'CT1.TMP1' status is 'ok' [instance = CT1.TMP1]
[...]

Il est possible d’exclure une entités spécifique avec le paramètre suivant : --filter=entity,CT1.FC0

Il est possible de mettre les seuils warning/critique.

Pour la température par exemple : --warning='temperature,.*,40' --critical='temperature,.*,50'

Check-Pure-PGroup-Replication

Si vous faites de la réplication de vos PODs, vous pouvez surveiller la progression :

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=pgroup-replication --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE"
OK: All protection groups replication are ok | [...]
Protection group 'Pod-Prod1::ProtectGroup' replication Progress : 0 %, Creation Time : 6h 48m 48s, Duration : -0, physical-bytes-written : skipped, data-transferred : skipped
Protection group 'Pod-Prod2::ProtectGroup' replication Progress : 0 %, Creation Time : 22m 18s, Duration : -0, physical-bytes-written : skipped, data-transferred : skipped
Protection group 'Pod-Prod3::ProtectGroup' replication Progress : 0 %, Creation Time : 2h 24m 48s, Duration : -0, physical-bytes-written : skipped, data-transferred : skipped
Protection group 'Pod-Prod4::ProtectGroup' replication Progress : 0 %, Creation Time : 23m 48s, Duration : -0, physical-bytes-written : skipped, data-transferred : skipped
Protection group 'Pod-Prod5::ProtectGroup' replication Progress : 0 %, Creation Time : 30m 48s, Duration : -0, physical-bytes-written : skipped, data-transferred : skipped

Les paramètres possibles avec exemple :

Mode:
    Check protection group replication state and usage.

    --filter-counters
            Only display some counters (Can be a regexp). Example:
            --filter-counters='^progress$'

    --filter-name
            Filter protection group name (Can be a regexp).

    --warning-*
            Threshold warning. Can be: 'progress' (%), 'creation' (s),
            'duration' (s), 'physical-bytes-written' (B), 'data-transferred'
            (B).

    --critical-*
            Threshold critical. Can be: 'progress' (%), 'creation' (s),
            'duration' (s), 'physical-bytes-written' (B), 'data-transferred'
            (B).

    --timezone
            Timezone of API results (Default: 'GMT').

Check-Volume-Usage

Surveiller l’espace de vos volumes :

perl centreon_purestorage_restapi.pl --plugin=storage::purestorage::restapi::plugin --mode=volume-usage --hostname=192.168.1.0 --api-path='/api/1.11' --username='centreon' --password='PiXelabs' --ssl-opt="SSL_verify_mode => SSL_VERIFY_NONE" --verbose
OK: All volumes are ok | [...]
Volume 'Pod-Prod1::ESX-1-A-alt' Usage Total: 125.00 GB Used: 298.47 MB (0.23%) Free: 124.71 GB (99.77%), Data Reduction : 14.377, Total Reduction : 262.560, Snapshots : 604.61 MB
Volume 'Pod-Prod2::ESX-1-C-alt' Usage Total: 125.00 GB Used: 294.89 MB (0.23%) Free: 124.71 GB (99.77%), Data Reduction : 14.460, Total Reduction : 264.850, Snapshots : 500.35 MB
Volume 'Pod-Prod3::ESX-2-A-alt' Usage Total: 125.00 GB Used: 309.45 MB (0.24%) Free: 124.70 GB (99.76%), Data Reduction : 14.108, Total Reduction : 257.042, Snapshots : 535.13 MB
Volume 'Pod-Prod4::ESX-2-C-alt' Usage Total: 125.00 GB Used: 306.79 MB (0.24%) Free: 124.70 GB (99.76%), Data Reduction : 14.134, Total Reduction : 258.948, Snapshots : 495.88 MB
[...]

Les paramètres possible :

Mode:
    Check volume usage.

    --filter-counters
            Only display some counters (regexp can be used). Example:
            --filter-counters='^iops$'

    --filter-name
            Filter volume name (can be a regexp).

    --warning-*
            Threshold warning. Can be: 'usage', 'data-reduction',
            'total-reduction'.

    --critical-*
            Threshold critical. Can be: 'usage', 'data-reduction',
            'total-reduction'.

    --units Units of thresholds (Default: '%') ('%', 'B').

    --free  Thresholds are on free space left.

Voilà, c’est terminé.

Si vous avez besoin d’aide pour mettre en place les commandes sur Centreon web, n’hésitez pas à me le dire en commentaire ci-dessous.

Bonne journée et bonnes fêtes de fin d’année à tous.

Besoin d’aide ? des questions ?
Laisser un commentaire ci-dessous.

**********************

La rédaction de cette documentation demande beaucoup de temps, de motivation, mais surtout beaucoup de café 🙂
Vous aimez pixelabs ?
Offrez moi un petit café en cliquant sur la tasse ci-dessous.
pixelans_donation
Merci !
0 Commentaires
Commentaires en ligne
Afficher tous les commentaires