Cette page vous décris comment superviser un serveur de base Oracle :
Vous devez suivre quelque étape pour mettre en place la supervision d'une nouvelle machine servant de serveur de base de données:
Pour vous faciliter un peu la vie, quelques tâches de configuration ont déjà été effectuées pour vous :
Installation d'Oracle instant Client
Installation du plugin check_oracle_health : /var/lib/shinken/libexec/check_oracle_health
Plusieurs modèles d'hôtes sont prêts à être utilisés
La machine que nous allons surveiller pour les exemples s'appelle srv-lin-1 et est un un serveur Oracle sur un OS linux. |
Il va falloir configurer l'utilisateur pour toutes les bases de données oracle. |
Il faut se connecter à la base de données en tant que sysadmin sur le serveur oracle :
|
Et ensuite créer un compte shinken sur la base de données :
|
Et pour l'ancienne base de données 8.1.7 seulement :
|
Pour voir si la connexion à la base de données nommée PROD est correcte, il suffit de lancer la commande suivante :
| ||
Les données DATABASES que trouvé dans le modèle d'hôte correspondent au SID de la base de données Oracle. |
Tous les checks présents dans les modèles Oracle fournis par Shinken Entreprise utilisent la fonctionnalité "Duplicate ForEach".
Pour chaque nom de base de données listé dans la rubrique "DATABASES", le check sera dupliquée. Un hôte, ayant 2 bases de données, aura donc en double chaque check avec le nom de la base de données dans la vérification.
Prenons un exemple : un hôte a les caractéristiques suivantes :
|
Si vous avez besoin de définir un port de connexion spécifique pour une base de données, vous pouvez le fournir comme paramètre de la base de données :
Regardons l'image de la DB2 qui n'utilise pas le port 1521 défini par défaut :
|
Il s'agit du modèle Oracle très basique permettant de savoir si votre base de données Oracle fonctionne et est utilisable.
Tous les modèles Oracle (sauf Oracle-connection-method) l'utilisent comme modèle parent.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| tnsping | listener | |||
| process-usage | Pourcentage du maximum de processus possibles | 0% à 100% | 80 | 90 |
| sga-shared-pool-free | Mémoire libre dans Shared Pool | 0% à 100% | 10: | 5: |
| tablespace-usage | Espace disque utilisé dans le tablespace | 0% à 100% | 90 | 98 |
| corrupted-blocks | Nombre de block corrompu dans la base de données | 0 à n | 1 | 10 |
| invalid-objects | Somme des objets, indices, partitions défectueux | 0 à n | 0.1 | 0.1 |
Contient tous les modèles d'hôte Oracle répertoriés dans les modèles de l'administrateur Shinken.
L'utilisation du modèle oracle-full nécessitera beaucoup de ressources sur votre démon Poller. Nous vous conseillons d'utiliser uniquement les modèles nécessaires. |
Ce modèle décrit la méthode de connexion à une base de données Oracle. Tous les modèles Oracle l'utilisent comme modèle parent.
Les paramètres communs à tous les serveurs Oracle surveillés doivent être définis dans le modèle d'hôte oracle-connection-method. Si vous avez plusieurs méthodes de connexion, créez votre propre modèle et attachez-le à l'hôte. |
Ce modèle donne des informations sur la disponibilité de la base de données.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| connection-time | Temps de connexion à la base de données Oracle | 0 à n secondes | 0.5 | 1 |
Ce modèle donne des informations sur la disponibilité du fichier de données.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| datafile-io-traffic | Somme des opérations d'entrée/sortie des fichiers de données par seconde | n/sec | 1000 | 5000 |
| datafiles-existing | Pourcentage des fichiers de données maximum possibles | 0% à 100% | 80 | 90 |
Ce modèle permet de connaître l'espace disque utilisé dans la zone de récupération flash.
À utiliser uniquement si vous utilisez la zone de récupération flash. |
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| flash-recovery-area-usage | Espace disque utilisé dans la zone de récupération flash | 0% à 100% | 90 | 98 |
Ce modèle permet de connaître le pourcentage de tris qui sont effectués sur disque par rapport à ceux effectués en mémoire.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| pga-in-memory-sort-ratio | Pourcentage de tris dans la mémoire | 0% à 100% | 99: | 90: |
Ce modèle donne des informations complètes sur le redolog.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| switch-interval | Intervalle entre les changements de fichiers RedoLog | 0 à n | 600: | 60: |
| retry-ratio | Taux de réessai dans le tampon RedoLog | 0% à 100% | 1 | 10 |
| redo-io-traffic | Redolog IO en MB/sec | n/sec | 199 | 200 |
Ce modèle indique s'il y a un problème de sauvegarde RMAN dans les 3 derniers jours.
À utiliser uniquement si vous utilisez RMAN. |
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| rman-backup-problems | Nombre d'erreurs RMAN au cours des trois derniers jours. | 0 à n | 1 | 2 |
Ce modèle donne des informations sur le segment Rollback. Le segment Rollback enregistre les actions des transactions dans le cas où une transaction est annulée.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| roll-header-contention | Contestation de l'en-tête du segment Rollback | 0% à 100% | 1 | 2 |
| roll-block-contention | Contestation de bloc de segment Rollback | 0% à 100% | 1 | 2 |
| roll-hit-ratio | Rollback Segment gets/waits Ratio | 0% à 100% | 99: | 98: |
| roll-extends | Le segment Rollback s'étend n | n/sec | 1 | 100 |
| roll-wraps | Enveloppes de segments Rollback n | n/sec | 1 | 100 |
Ce modèle donne des informations complètes sur la SGA (System Global Area).
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| sga-data-buffer-hit-ratio | Hitrate dans le cache du tampon de données | 0% à 100% | 98: | 95: |
| sga-library-cache-gethit-ratio | Hitrate dans le cache de la bibliothèque (Gets) | 0% à 100% | 98: | 95: |
| sga-library-cache-pinhit-ratio | Hitrate dans le cache de la bibliothèque (pins) | 0% à 100% | 98: | 95: |
| sga-library-cache-reloads | Taux de rechargement dans le cache de la bibliothèque | n/sec | 10 | 10 |
| sga-dictionary-cache-hit-ratio | Hitrate dans le cache du dictionnaire | 0% à 100% | 95: | 90: |
| sga-latches-hit-ratio | Hitrate des verrous | 0% à 100% | 98: | 95: |
| sga-shared-pool-reloads | Taux de rechargement dans le pool partagé | 0% à 100% | 1 | 10 |
Ce modèle donne des informations sur le soft parse. Il peut vous donner une idée si une application et les instructions SQL correspondantes sont utilisées de manière inefficace.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| soft-parse-ratio | Pourcentage du soft-parse-ratio | 0% to 100% | 90: | 98: |
Ce modèle permet de connaître les statistiques périmées.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| stale-statistics | Somme des objets avec des statistiques d'optimiseur obsolètes | n | 10 | 100 |
Ce modèle donne des informations sur le tablespace comme la fragmentation, s'il est possible d'allouer la prochaine étendue et potentiellement quand un tablespace sera plein.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| tablespace-fragmentation | Indice de fragmentation de l'espace libre | 100 à 1 | 30: | 20: |
| tablespace-can-allocate-next | Vérifie s'il y a assez de tablespace libre pour le prochain Extent. | |||
| tablespace-remaining-time | Somme des jours restants jusqu'à ce qu'un tablespace soit utilisé à 100%. Le taux d'augmentation sera calculé avec les valeurs des 30 derniers jours. (Avec le paramètre -lookback, différentes périodes peuvent être spécifiées). | Jours | 90: | 30: |
Ce modèle indique le pourcentage de sessions maximales possibles et le nombre d'utilisateurs connectés.
| Check | Détail | Seuil avertissement | Seuil critique | |
|---|---|---|---|---|
| session-usage | Pourcentage des sessions maximales possibles | 0% à 100% | 80 | 90 |
| Connected users | Nombre d'utilisateurs actuellement connectés | 0 à n | 50 | 100 |
Click on Hosts then on Hosts Templates in the Elements menu | |
In the Name field, type oracle. Then clic on Oracle-connection-method | |
| Clic on Data tab | |
You can setup the following DATA :
|
|
The parameters specifics to each server, such as database name (AKA SID) for example, has to be done in the host's data itself.
It's a best practice to use the same database monitoring user on every Oracle server monitored. Doing so, you can configure the database user/password only once in the host template oracle-connection-method. |
| Clic on Hosts in the Elements menu | ![]() |
Add the chosen Oracle host template to the Host Templates to inherit field. For example the Oracle host template. | ![]() |
Click on the Data tab | ![]() |
Look for the field DATABASES in the From templates data | |
Type the name of the database to be monitoring | ![]() |
| Check if the Following data are ok. | ![]() |
You can monitor multiple database on the same host in typing the name of the database SID separated by a comma. Exemple : DB1,DB2,DB3 |
check_oracle_health : 3.2.1.8