Doc review (for real)
This commit is contained in:
parent
e668fca623
commit
9d8be1f6d4
|
@ -4,8 +4,8 @@ Description
|
||||||
|
|
||||||
This document introduces the best practices in the development of "centreon-plugins".
|
This document introduces the best practices in the development of "centreon-plugins".
|
||||||
|
|
||||||
As all plugins are written in Perl, “there is more than on way to do it”.
|
As all plugins are written in Perl, “there is more than one way to do it”.
|
||||||
But to not reinvent the wheel, you should first take a look at the “example” directory, you will get an overview of how to build your own plugin and associated modes.
|
But to avoid reinventing the wheel, you should first take a look at the “example” directory, you will get an overview of how to build your own plugin and associated modes.
|
||||||
|
|
||||||
The lastest version is available on following git repository: http://git.centreon.com/centreon-plugins.git
|
The lastest version is available on following git repository: http://git.centreon.com/centreon-plugins.git
|
||||||
|
|
||||||
|
@ -105,7 +105,7 @@ Several modes can be declared in the **new** constructor:
|
||||||
...
|
...
|
||||||
);
|
);
|
||||||
|
|
||||||
Then, Declare the module:
|
Then, declare the module:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -125,10 +125,10 @@ A description of the plugin is needed to generate the documentation:
|
||||||
|
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
you can copy-paste an other plugin.pm and adapt some lines (package, arguments...).
|
You can copy-paste an other plugin.pm and adapt some lines (package, arguments...).
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
plugin has ".pm" extension because it's a perl module. So don't forget to add **1;** at the end of the file
|
The plugin has ".pm" extension because it's a Perl module. So don't forget to add **1;** at the end of the file.
|
||||||
|
|
||||||
-------------
|
-------------
|
||||||
Mode creation
|
Mode creation
|
||||||
|
@ -192,7 +192,7 @@ Several options can be declared in the **new** constructor:
|
||||||
"option3" => { name => 'option3' },
|
"option3" => { name => 'option3' },
|
||||||
});
|
});
|
||||||
|
|
||||||
This the description of arguments of this example:
|
Here is the description of arguments used in this example:
|
||||||
|
|
||||||
* option1 : String value
|
* option1 : String value
|
||||||
* option2 : String value with default value "value1"
|
* option2 : String value with default value "value1"
|
||||||
|
@ -224,9 +224,9 @@ For example, Warning and Critical thresholds must be validate in **check_options
|
||||||
$self->{output}->option_exit();
|
$self->{output}->option_exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
In this example, help is printed if thresholds have not a correct format.
|
In this example, help is printed if thresholds do not have a correct format.
|
||||||
|
|
||||||
Then comes the **run** method, where you perform measurement, check thresholds, display output and format perfdatas.
|
Then comes the **run** method, where you perform measurement, check thresholds, display output and format performance datas.
|
||||||
This is an example to check a snmp value:
|
This is an example to check a snmp value:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
@ -257,8 +257,8 @@ This is an example to check a snmp value:
|
||||||
In this example, we check a snmp OID that we compare to warning and critical thresholds.
|
In this example, we check a snmp OID that we compare to warning and critical thresholds.
|
||||||
There are the methods which we use:
|
There are the methods which we use:
|
||||||
|
|
||||||
* get_leef : get a snmp value from an OID
|
* get_leef : get a SNMP value from an OID
|
||||||
* threshold_check : compare snmp value to warning and critical thresholds
|
* threshold_check : compare SNMP value to warning and critical thresholds
|
||||||
* output_add : add output
|
* output_add : add output
|
||||||
* perfdata_add : add perfdata to output
|
* perfdata_add : add perfdata to output
|
||||||
* display : display output
|
* display : display output
|
||||||
|
@ -286,9 +286,9 @@ A description of the mode and its arguments is needed to generate the documentat
|
||||||
Commit and push
|
Commit and push
|
||||||
---------------
|
---------------
|
||||||
|
|
||||||
Before commit the plugin, you need to create an **enhancement ticket** on the centreon-plugins forge : http://forge.centreon.com/projects/centreon-plugins
|
Before committing the plugin, you need to create an **enhancement ticket** on the centreon-plugins forge : http://forge.centreon.com/projects/centreon-plugins
|
||||||
|
|
||||||
Once plugin and modes are developed, you can commit and push your work :
|
Once plugin and modes are developed, you can commit (commit messages in english) and push your work :
|
||||||
::
|
::
|
||||||
|
|
||||||
git add path/to/plugin
|
git add path/to/plugin
|
||||||
|
@ -305,7 +305,7 @@ This chapter describes centreon libraries which you can use in your development.
|
||||||
Output
|
Output
|
||||||
------
|
------
|
||||||
|
|
||||||
This library allows you to change output of your plugin.
|
This library allows you to build output of your plugin.
|
||||||
|
|
||||||
output_add
|
output_add
|
||||||
----------
|
----------
|
||||||
|
@ -408,9 +408,9 @@ Output displays :
|
||||||
OK - Memory is ok | 'memory_used'=30000000B;80000000;90000000;0;100000000
|
OK - Memory is ok | 'memory_used'=30000000B;80000000;90000000;0;100000000
|
||||||
|
|
||||||
|
|
||||||
-------
|
--------
|
||||||
Perdata
|
Perfdata
|
||||||
-------
|
--------
|
||||||
|
|
||||||
This library allows you to manage performance data.
|
This library allows you to manage performance data.
|
||||||
|
|
||||||
|
@ -576,8 +576,8 @@ Output displays :
|
||||||
Snmp
|
Snmp
|
||||||
----
|
----
|
||||||
|
|
||||||
This library allows you to use snmp protocol in your plugin.
|
This library allows you to use SNMP protocol in your plugin.
|
||||||
To use it, Add the following line at the beginning of your **plugin.pm** :
|
To use it, add the following line at the beginning of your **plugin.pm**:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -590,7 +590,7 @@ get_leef
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Return hash table table of SNMP values for multiple OIDs (Do not work with SNMP table).
|
Return hash table table of SNMP values for multiple OIDs (do not work with SNMP table).
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -608,7 +608,7 @@ Parameters
|
||||||
Example
|
Example
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
This is an example of how to get 2 snmp values :
|
This is an example of how to get 2 SNMP values:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -627,7 +627,7 @@ load
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Load a range of oids to use with **get_leef** method.
|
Load a range of OIDs to use with **get_leef** method.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -649,7 +649,7 @@ Parameters
|
||||||
Example
|
Example
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
This is an example of how to get 4 instances of a snmp table by using **load** method :
|
This is an example of how to get 4 instances of a SNMP table by using **load** method:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -662,7 +662,7 @@ This is an example of how to get 4 instances of a snmp table by using **load** m
|
||||||
use Data::Dumper;
|
use Data::Dumper;
|
||||||
print Dumper($result);
|
print Dumper($result);
|
||||||
|
|
||||||
This is an example of how to get multiple instances dynamically (memory modules of dell hardware) by using **load** method :
|
This is an example of how to get multiple instances dynamically (memory modules of Dell hardware) by using **load** method:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -702,7 +702,7 @@ Parameters
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
| end | Int | | Last OID to check. |
|
| end | Int | | Last OID to check. |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
| dont_quit | Int (0 or 1) | 0 | Don't quit even if an snmp error occured. |
|
| dont_quit | Int (0 or 1) | 0 | Don't quit even if an SNMP error occured. |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
| nothing_quit | Int (0 or 1) | 0 | Quit if no value is returned. |
|
| nothing_quit | Int (0 or 1) | 0 | Quit if no value is returned. |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
|
@ -712,7 +712,7 @@ Parameters
|
||||||
Example
|
Example
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
This is an example of how to get a snmp table :
|
This is an example of how to get a SNMP table:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -742,7 +742,7 @@ Parameters
|
||||||
| **oids** | Hash table | | Hash table of OIDs to check (Can be set by 'load' method). |
|
| **oids** | Hash table | | Hash table of OIDs to check (Can be set by 'load' method). |
|
||||||
| | | | Keys can be: "oid", "start", "end". |
|
| | | | Keys can be: "oid", "start", "end". |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
| dont_quit | Int (0 or 1) | 0 | Don't quit even if an snmp error occured. |
|
| dont_quit | Int (0 or 1) | 0 | Don't quit even if an SNMP error occured. |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
| nothing_quit | Int (0 or 1) | 0 | Quit if no value is returned. |
|
| nothing_quit | Int (0 or 1) | 0 | Quit if no value is returned. |
|
||||||
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
+-----------------+----------------------+----------------+--------------------------------------------------------------+
|
||||||
|
@ -752,7 +752,7 @@ Parameters
|
||||||
Example
|
Example
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
This is an example of how to get 2 snmp tables :
|
This is an example of how to get 2 SNMP tables:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -889,7 +889,6 @@ Output displays :
|
||||||
::
|
::
|
||||||
|
|
||||||
Hello world !
|
Hello world !
|
||||||
Hello world !
|
|
||||||
|
|
||||||
|
|
||||||
change_seconds
|
change_seconds
|
||||||
|
@ -1001,7 +1000,7 @@ Example
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
This is an example of how to use **execute** method.
|
This is an example of how to use **execute** method.
|
||||||
We suppose --remote option is enable :
|
We suppose ``--remote`` option is enabled:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -1056,7 +1055,7 @@ This is an example of how to use **windows_execute** method.
|
||||||
command_path => '',
|
command_path => '',
|
||||||
command_options => '/all');
|
command_options => '/all');
|
||||||
|
|
||||||
Output displays ip configuration on a Windows host.
|
Output displays IP configuration on a Windows host.
|
||||||
|
|
||||||
|
|
||||||
---------
|
---------
|
||||||
|
@ -1064,7 +1063,7 @@ Statefile
|
||||||
---------
|
---------
|
||||||
|
|
||||||
This library provides a set of methods to use a cache file.
|
This library provides a set of methods to use a cache file.
|
||||||
To use it, Add the following line at the beginning of your **mode** :
|
To use it, add the following line at the beginning of your **mode**:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -1181,7 +1180,7 @@ This is an example of how to use **write** method :
|
||||||
$new_datas->{last_timestamp} = time();
|
$new_datas->{last_timestamp} = time();
|
||||||
$self->{statefile_value}->write(data => $new_datas);
|
$self->{statefile_value}->write(data => $new_datas);
|
||||||
|
|
||||||
Then, you can take a look to '/var/lib/centreon/centplugins/my_cache_file', timestamp is written in it.
|
Then, you can read the result in '/var/lib/centreon/centplugins/my_cache_file', timestamp is written in it.
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
@ -1189,7 +1188,7 @@ Http
|
||||||
----
|
----
|
||||||
|
|
||||||
This library provides a set of methodss to use HTTP protocol.
|
This library provides a set of methodss to use HTTP protocol.
|
||||||
To use it, Add the following line at the beginning of your **mode** :
|
To use it, add the following line at the beginning of your **mode**:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -1256,7 +1255,7 @@ Dbi
|
||||||
---
|
---
|
||||||
|
|
||||||
This library allows you to connect to databases.
|
This library allows you to connect to databases.
|
||||||
To use it, Add the following line at the beginning of your **plugin.pm** :
|
To use it, add the following line at the beginning of your **plugin.pm**:
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -1367,7 +1366,7 @@ fetchall_arrayref
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Return Array from sql query.
|
Return Array from SQL query.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1406,7 +1405,7 @@ fetchrow_hashref
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Return Hash table from sql query.
|
Return Hash table from SQL query.
|
||||||
|
|
||||||
Parameters
|
Parameters
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1785,7 +1784,7 @@ This is an example of command line :
|
||||||
|
|
||||||
$ perl centreon_plugins.pl --plugin apps::pfsense::snmp::plugin --mode memory-dropped-packets --hostname 192.168.0.1 --snmp-community 'public' --snmp-version '2c' --warning '1' --critical '2'
|
$ perl centreon_plugins.pl --plugin apps::pfsense::snmp::plugin --mode memory-dropped-packets --hostname 192.168.0.1 --snmp-community 'public' --snmp-version '2c' --warning '1' --critical '2'
|
||||||
|
|
||||||
Output may displays :
|
Output may display:
|
||||||
::
|
::
|
||||||
|
|
||||||
OK: Dropped packets due to memory limitations : 0.00 /s | dropped_packets_Per_Sec=0.00;0;;1;2
|
OK: Dropped packets due to memory limitations : 0.00 /s | dropped_packets_Per_Sec=0.00;0;;1;2
|
||||||
|
|
|
@ -4,7 +4,7 @@ Description
|
||||||
|
|
||||||
Ce document présente les bonnes pratiques pour le développement de "centreon-plugins".
|
Ce document présente les bonnes pratiques pour le développement de "centreon-plugins".
|
||||||
Comme tous les plugins sont écrits en Perl, “il y plus d'une façon de faire”.
|
Comme tous les plugins sont écrits en Perl, “il y plus d'une façon de faire”.
|
||||||
Mais pour ne pas réinventer la roue, vous devirez d'abord regarder le dossier “example”, vous aurez alors un aperçu de comment construire votre propre plugin ainsi que ses modes associés.
|
Mais pour ne pas réinventer la roue, vous devriez d'abord regarder le dossier “example”, vous aurez alors un aperçu de comment construire votre propre plugin ainsi que ses modes associés.
|
||||||
|
|
||||||
La dernière version est disponible sur le dépôt git suivant: http://git.centreon.com/centreon-plugins.git
|
La dernière version est disponible sur le dépôt git suivant: http://git.centreon.com/centreon-plugins.git
|
||||||
|
|
||||||
|
@ -94,7 +94,7 @@ La version du plugin doit être déclarée dans le constructeur **new**:
|
||||||
|
|
||||||
$self->{version} = '0.1';
|
$self->{version} = '0.1';
|
||||||
|
|
||||||
Plusieurs mode peuvent être déclarés dans le constructeur **new**:
|
Plusieurs modes peuvent être déclarés dans le constructeur **new** :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -124,10 +124,10 @@ Une description du plugin est nécessaire pour générer la documentation:
|
||||||
|
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
you can copy-paste an other plugin.pm and adapt some lines (package, arguments...).
|
TODO you can copy-paste an other plugin.pm and adapt some lines (package, arguments...).
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
plugin has ".pm" extension because it's a perl module. So don't forget to add **1;** at the end of the file
|
TODO plugin has ".pm" extension because it's a perl module. So don't forget to add **1;** at the end of the file
|
||||||
|
|
||||||
----------------
|
----------------
|
||||||
Création du mode
|
Création du mode
|
||||||
|
@ -174,7 +174,7 @@ Le mode nécessite un constructeur **new** pour instancier l'objet:
|
||||||
return $self;
|
return $self;
|
||||||
}
|
}
|
||||||
|
|
||||||
La version du mode doit être déclaré dans le constructeur **new**:
|
La version du mode doit être déclarée dans le constructeur **new** :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -198,7 +198,7 @@ Voici la description des arguments de cet exemple:
|
||||||
* option3 : Booléen
|
* option3 : Booléen
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
Vous pouvez obtenir plus d'informations sur les format des options ici : http://perldoc.perl.org/Getopt/Long.html
|
Vous pouvez obtenir plus d'informations sur les formats des options ici : http://perldoc.perl.org/Getopt/Long.html
|
||||||
|
|
||||||
Le mode nécessite une méthode **check_options** pour valider les options :
|
Le mode nécessite une méthode **check_options** pour valider les options :
|
||||||
|
|
||||||
|
@ -210,7 +210,7 @@ Le mode nécessite une méthode **check_options** pour valider les options:
|
||||||
...
|
...
|
||||||
}
|
}
|
||||||
|
|
||||||
Par exemple, les seuils dégradé et critique doivent être validés dans la méthode **check_options**:
|
Par exemple, les seuils Dégradé (Warning) et Critique (Critical) doivent être validés dans la méthode **check_options** :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -226,7 +226,7 @@ Par exemple, les seuils dégradé et critique doivent être validés dans la mé
|
||||||
Dans cet exemple, l'aide est affichée si les seuils spécifiés ne sont pas au bon format.
|
Dans cet exemple, l'aide est affichée si les seuils spécifiés ne sont pas au bon format.
|
||||||
|
|
||||||
Ensuite vient la méthode **run**, où vous effectuez le traitement, vérifiez les seuils, affichez le message de sortie et les données de performance.
|
Ensuite vient la méthode **run**, où vous effectuez le traitement, vérifiez les seuils, affichez le message de sortie et les données de performance.
|
||||||
Voici un exemple pour vérifier une valeur snmp:
|
Voici un exemple pour vérifier une valeur SNMP :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -253,7 +253,7 @@ Voici un exemple pour vérifier une valeur snmp:
|
||||||
$self->{output}->exit();
|
$self->{output}->exit();
|
||||||
}
|
}
|
||||||
|
|
||||||
Dans cet exemple, nous vérifions un OID snmp que nous comparons aux seuils dégradé et critique.
|
Dans cet exemple, nous vérifions un OID SNMP que nous comparons aux seuils dégradé et critique.
|
||||||
Voici les méthodes que nous utilisons :
|
Voici les méthodes que nous utilisons :
|
||||||
|
|
||||||
* get_leef : obtient une valeur snmp à partir d'un OID
|
* get_leef : obtient une valeur snmp à partir d'un OID
|
||||||
|
@ -285,9 +285,9 @@ Une description du mode et ses arguments est nécessaire pour générer la docum
|
||||||
Commit et push
|
Commit et push
|
||||||
--------------
|
--------------
|
||||||
|
|
||||||
Avant de commiter le plugin, you devez créer un **ticket amélioration** dans le forge centreon-plugins : http://forge.centreon.com/projects/centreon-plugins
|
Avant de commiter le plugin, you devez créer un **ticket amélioration** (enhancement) dans la forge centreon-plugins : http://forge.centreon.com/projects/centreon-plugins
|
||||||
|
|
||||||
Une fois que le plugin et ses modes sont développés, vous pouvez commiter et pusher votre travail:
|
Une fois que le plugin et ses modes sont développés, vous pouvez commiter (messages de commit en anglais) et pusher votre travail :
|
||||||
::
|
::
|
||||||
|
|
||||||
git add path/to/plugin
|
git add path/to/plugin
|
||||||
|
@ -298,13 +298,13 @@ Une fois que le plugin et ses modes sont développés, vous pouvez commiter et p
|
||||||
Référentiel des bibliothèques
|
Référentiel des bibliothèques
|
||||||
*****************************
|
*****************************
|
||||||
|
|
||||||
Ce chapitre décrit les bibliothèques centreon qui peuvent être utilisés dans votre développement.
|
Ce chapitre décrit les bibliothèques Centreon qui peuvent être utilisées dans votre développement.
|
||||||
|
|
||||||
------
|
------
|
||||||
Output
|
Output
|
||||||
------
|
------
|
||||||
|
|
||||||
Cette bibliothèque vous permet de modifier la sortie de votre plugin.
|
Cette bibliothèque vous permet de construire la sortie de votre plugin.
|
||||||
|
|
||||||
output_add
|
output_add
|
||||||
----------
|
----------
|
||||||
|
@ -315,6 +315,8 @@ Description
|
||||||
Ajoute une chaîne de caractères à la sortie (affichée avec la méthode **display**).
|
Ajoute une chaîne de caractères à la sortie (affichée avec la méthode **display**).
|
||||||
Si le statut est différent de 'ok', le message de sortie associé à 'ok' n'est pas affiché.
|
Si le statut est différent de 'ok', le message de sortie associé à 'ok' n'est pas affiché.
|
||||||
|
|
||||||
|
TODO Est ce que ca n'est pas plutôt "Lorsque plusieurs statut et messages sont ajoutés, seuls les dernières valeurs sont affichées lors de l'appel à display" ?
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
@ -358,7 +360,7 @@ perfdata_add
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Ajouter une donnée de performance à la sortie (affichée avec la méthode **display**).
|
Ajoute une donnée de performance à la sortie (affichée avec la méthode **display**).
|
||||||
Les données de performance sont affichées après le symbol '|'.
|
Les données de performance sont affichées après le symbol '|'.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
|
@ -407,9 +409,9 @@ La sortie affiche :
|
||||||
OK - Memory is ok | 'memory_used'=30000000B;80000000;90000000;0;100000000
|
OK - Memory is ok | 'memory_used'=30000000B;80000000;90000000;0;100000000
|
||||||
|
|
||||||
|
|
||||||
-------
|
--------
|
||||||
Perdata
|
Perfdata
|
||||||
-------
|
--------
|
||||||
|
|
||||||
Cette bibliothèque vous permet de gérer les données de performance.
|
Cette bibliothèque vous permet de gérer les données de performance.
|
||||||
|
|
||||||
|
@ -492,7 +494,7 @@ Voici un exemple vérifiant si le seuil dégradé est correct:
|
||||||
}
|
}
|
||||||
|
|
||||||
.. tip::
|
.. tip::
|
||||||
Vous pouvez voir les bon format de seuil ici : https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
|
Vous pouvez voir les bon formats de seuils ici : https://nagios-plugins.org/doc/guidelines.html#THRESHOLDFORMAT
|
||||||
|
|
||||||
threshold_check
|
threshold_check
|
||||||
---------------
|
---------------
|
||||||
|
@ -541,7 +543,7 @@ change_bytes
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Convertie des bytes en unité de mesure lisible.
|
Convertit des bytes en unité de mesure lisible.
|
||||||
Retourne une valeur et une unité.
|
Retourne une valeur et une unité.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
|
@ -575,7 +577,7 @@ La sortie affiche:
|
||||||
Snmp
|
Snmp
|
||||||
----
|
----
|
||||||
|
|
||||||
Cette bibliothèque vous permet d'utiliser le protocole snmp dans votre plugin.
|
Cette bibliothèque vous permet d'utiliser le protocole SNMP dans votre plugin.
|
||||||
Pour l'utiliser, vous devez ajouter la ligne suivant au début de votre **plugin.pm** :
|
Pour l'utiliser, vous devez ajouter la ligne suivant au début de votre **plugin.pm** :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
@ -607,7 +609,7 @@ Paramètres
|
||||||
Exemple
|
Exemple
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
Voici un exemple pour obtenir 2 valeurs snmp:
|
Voici un exemple pour obtenir 2 valeurs SNMP :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -626,7 +628,7 @@ load
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Charge une liste d'oids à utiliser avec la méthode **get_leef**.
|
Charge une liste d'OIDs à utiliser avec la méthode **get_leef**.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -642,13 +644,13 @@ Paramètres
|
||||||
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
||||||
| begin | Int | | Instance de début |
|
| begin | Int | | Instance de début |
|
||||||
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
||||||
| end | Int | | Instance to fin |
|
| end | Int | | Instance de fin |
|
||||||
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
+-----------------+----------------------+--------------+----------------------------------------------------------------------------+
|
||||||
|
|
||||||
Exemple
|
Exemple
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
Voici un exemple pour obtenir les 4 premières instances d'une table snmp en utilisant la méthode **load**:
|
Voici un exemple pour obtenir les 4 premières instances d'une table SNMP en utilisant la méthode **load** :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -711,7 +713,7 @@ Paramètres
|
||||||
Exemple
|
Exemple
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
Voici un exemple pour obtenir une table snmp:
|
Voici un exemple pour obtenir une table SNMP :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -751,7 +753,7 @@ Paramètres
|
||||||
Exemple
|
Exemple
|
||||||
^^^^^^^
|
^^^^^^^
|
||||||
|
|
||||||
Voici un exemple pour obtenir 2 tables snmp:
|
Voici un exemple pour obtenir 2 tables SNMP :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
|
||||||
|
@ -868,7 +870,7 @@ Paramètres
|
||||||
+-----------------+-----------------+-------------+---------------------------------------------------------+
|
+-----------------+-----------------+-------------+---------------------------------------------------------+
|
||||||
| Paramètre | Type | Défaut | Description |
|
| Paramètre | Type | Défaut | Description |
|
||||||
+=================+=================+=============+=========================================================+
|
+=================+=================+=============+=========================================================+
|
||||||
| **-** | String | | String to strip. |
|
| **-** | String | | TODO String to strip. |
|
||||||
+-----------------+-----------------+-------------+---------------------------------------------------------+
|
+-----------------+-----------------+-------------+---------------------------------------------------------+
|
||||||
|
|
||||||
Exemple
|
Exemple
|
||||||
|
@ -888,7 +890,6 @@ La sortie affiche:
|
||||||
::
|
::
|
||||||
|
|
||||||
Hello world !
|
Hello world !
|
||||||
Hello world !
|
|
||||||
|
|
||||||
|
|
||||||
change_seconds
|
change_seconds
|
||||||
|
@ -897,7 +898,7 @@ change_seconds
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Convertie des secondes en unité de mesure lisible.
|
Convertit des secondes en unité de mesure lisible.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1011,7 +1012,7 @@ Nous supposons que l'option ``--remote`` est activée:
|
||||||
command_path => '/bin/',
|
command_path => '/bin/',
|
||||||
command_options => '-l');
|
command_options => '-l');
|
||||||
|
|
||||||
Output displays files in /home using ssh on a remote host.
|
TODO Output displays files in /home using ssh on a remote host.
|
||||||
|
|
||||||
|
|
||||||
windows_execute
|
windows_execute
|
||||||
|
@ -1038,7 +1039,7 @@ Paramètres
|
||||||
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
||||||
| timeout | Int | | Timeout de la commande. |
|
| timeout | Int | | Timeout de la commande. |
|
||||||
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
||||||
| no_quit | Int | | Ne quitte pas même si une erreur snmp se produit. |
|
| no_quit | Int | | Ne quitte pas même si une erreur SNMP se produit. |
|
||||||
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
+------------------+-----------------+-------------+-----------------------------------------------------------------+
|
||||||
|
|
||||||
|
|
||||||
|
@ -1055,7 +1056,7 @@ Voici un exemple d'utilisation de la méthode **windows_execute**.
|
||||||
command_path => '',
|
command_path => '',
|
||||||
command_options => '/all');
|
command_options => '/all');
|
||||||
|
|
||||||
La sortie affiche la configuration ip d'un hôte Windows.
|
La sortie affiche la configuration IP d'un hôte Windows.
|
||||||
|
|
||||||
|
|
||||||
---------
|
---------
|
||||||
|
@ -1152,7 +1153,7 @@ write
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Ecris des données dans le fichier de cache.
|
Ecrit des données dans le fichier de cache.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1180,7 +1181,7 @@ Voici un exemple d'utilisation de la méthode **write**:
|
||||||
$new_datas->{last_timestamp} = time();
|
$new_datas->{last_timestamp} = time();
|
||||||
$self->{statefile_value}->write(data => $new_datas);
|
$self->{statefile_value}->write(data => $new_datas);
|
||||||
|
|
||||||
Ensuite, vous pouvez jeter un oeil dans le fichier '/var/lib/centreon/centplugins/my_cache_file', le timestamp y est écris.
|
Ensuite, vous pouvez voir le résultat dans le fichier '/var/lib/centreon/centplugins/my_cache_file', le timestamp y est écrit.
|
||||||
|
|
||||||
|
|
||||||
----
|
----
|
||||||
|
@ -1224,7 +1225,7 @@ connect
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Teste la connection vers une url http.
|
Teste la connexion vers une url http.
|
||||||
Retourne le contenu de la page web.
|
Retourne le contenu de la page web.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
|
@ -1267,15 +1268,17 @@ connect
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Se connecter à une ou plusieurs bases de données.
|
Se connecte à une ou plusieurs bases de données.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
|
||||||
|
TODO, sans doute pas SNMP dans le tableau ci dessous.
|
||||||
|
|
||||||
+-------------------+-----------------+-------------+---------------------------------------------------------+
|
+-------------------+-----------------+-------------+---------------------------------------------------------+
|
||||||
| Paramètre | Type | Défaut | Description |
|
| Paramètre | Type | Défaut | Description |
|
||||||
+===================+=================+=============+=========================================================+
|
+===================+=================+=============+=========================================================+
|
||||||
| dontquit | Int (0 or 1) | 0 | Ne quitte pas même si une erreur snmp se produit. |
|
| dontquit | Int (0 or 1) | 0 | Ne quitte pas même si une erreur SNMP se produit. |
|
||||||
+-------------------+-----------------+-------------+---------------------------------------------------------+
|
+-------------------+-----------------+-------------+---------------------------------------------------------+
|
||||||
|
|
||||||
Exemple
|
Exemple
|
||||||
|
@ -1283,6 +1286,8 @@ Exemple
|
||||||
|
|
||||||
Voici un exemple d'utilisation de la méthode **connect**.
|
Voici un exemple d'utilisation de la méthode **connect**.
|
||||||
|
|
||||||
|
TODO format de la chaîne de connexion ?
|
||||||
|
|
||||||
Dans plugin.pm :
|
Dans plugin.pm :
|
||||||
|
|
||||||
.. code-block:: perl
|
.. code-block:: perl
|
||||||
|
@ -1305,7 +1310,7 @@ query
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Exécute une requête sql sur la base de données.
|
Exécute une requête SQL sur la base de données.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1366,7 +1371,7 @@ fetchall_arrayref
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Retourne un tableau à partir d'une requête sql.
|
Retourne un tableau à partir d'une requête SQL.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1405,7 +1410,7 @@ fetchrow_hashref
|
||||||
Description
|
Description
|
||||||
^^^^^^^^^^^
|
^^^^^^^^^^^
|
||||||
|
|
||||||
Retourne une table de hashage à partir d'une requête sql.
|
Retourne une table de hashage à partir d'une requête SQL.
|
||||||
|
|
||||||
Paramètres
|
Paramètres
|
||||||
^^^^^^^^^^
|
^^^^^^^^^^
|
||||||
|
@ -1427,7 +1432,7 @@ Voici un exemple d'utilisation de la méthode **fetchrow_hashref**:
|
||||||
print $row->{datname}."\n";
|
print $row->{datname}."\n";
|
||||||
}
|
}
|
||||||
|
|
||||||
La sortie affiche la liste des base de données Postgres.
|
La sortie affiche la liste des bases de données Postgres.
|
||||||
|
|
||||||
|
|
||||||
*****************
|
*****************
|
||||||
|
@ -1442,8 +1447,8 @@ Description
|
||||||
-----------
|
-----------
|
||||||
|
|
||||||
| Cet exemple explique comment vérifier une valeur SNMP unique sur un pare-feu PfSense (paquets supprimés pour cause de surcharge mémoire).
|
| Cet exemple explique comment vérifier une valeur SNMP unique sur un pare-feu PfSense (paquets supprimés pour cause de surcharge mémoire).
|
||||||
| Nous utilisons un fiçhier de cache car c'est un compteur SNMP. Nous avons donc besoin d'obtenir la valuer différentielle en tre 2 contrôles.
|
| Nous utilisons un fichier de cache car c'est un compteur SNMP. Nous avons donc besoin d'obtenir la valeur différentielle entre 2 contrôles.
|
||||||
| Nous récupérons la valeur et la comparons aux seuils dégradé et critique.
|
| Nous récupérons la valeur et la comparons aux seuils Dégradé et Critique.
|
||||||
|
|
||||||
Fichier du plugin
|
Fichier du plugin
|
||||||
-----------------
|
-----------------
|
||||||
|
|
Loading…
Reference in New Issue