diff --git a/.github/PULL_REQUEST_TEMPLATE.md b/.github/PULL_REQUEST_TEMPLATE.md index 29324179bdd2..3cbfdc8a9c53 100644 --- a/.github/PULL_REQUEST_TEMPLATE.md +++ b/.github/PULL_REQUEST_TEMPLATE.md @@ -9,5 +9,6 @@ Please include a short summary of the changes and what is the purpose of the PR. - [ ] 23.10.x - [ ] 24.04.x - [ ] 24.10.x +- [ ] 25.10.x - [ ] Cloud - [ ] Monitoring Connectors diff --git a/i18n/en/docusaurus-plugin-content-docs/version-24.04.json b/i18n/en/docusaurus-plugin-content-docs/version-24.04.json index 348561977889..92f12d5e7d12 100644 --- a/i18n/en/docusaurus-plugin-content-docs/version-24.04.json +++ b/i18n/en/docusaurus-plugin-content-docs/version-24.04.json @@ -1,6 +1,6 @@ { "version.label": { - "message": "⭐ 24.04", + "message": "24.04", "description": "The label for version 24.04" }, "sidebar.docs.category.Getting Started": { diff --git a/i18n/en/docusaurus-plugin-content-docs/version-25.10.json b/i18n/en/docusaurus-plugin-content-docs/version-25.10.json new file mode 100644 index 000000000000..a3657b36a8f9 --- /dev/null +++ b/i18n/en/docusaurus-plugin-content-docs/version-25.10.json @@ -0,0 +1,286 @@ +{ + "version.label": { + "message": "⭐ 25.10", + "description": "The label for version 25.10" + }, + "sidebar.docs.category.Getting Started": { + "message": "Getting Started", + "description": "The label for category Getting Started in sidebar docs" + }, + "sidebar.docs.category.Before you start": { + "message": "Before you start", + "description": "The label for category Before you start in sidebar docs" + }, + "sidebar.docs.category.Before you start.link.generated-index.description": { + "message": "This is what you need to know before you install your Centreon platform.", + "description": "The generated-index page description for category Before you start in sidebar docs" + }, + "sidebar.docs.category.First steps with Centreon": { + "message": "First steps with Centreon", + "description": "The label for category First steps with Centreon in sidebar docs" + }, + "sidebar.docs.category.First steps with Centreon.link.generated-index.description": { + "message": "Your Centreon platform is installed. What next?", + "description": "The generated-index page description for category First steps with Centreon in sidebar docs" + }, + "sidebar.docs.category.Setting up the monitoring": { + "message": "Setting up the monitoring", + "description": "The label for category Setting up the monitoring in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources in real time": { + "message": "Monitoring resources in real time", + "description": "The label for category Monitoring resources in real time in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources in real time.link.generated-index.description": { + "message": "How do you monitor the resources you have created?", + "description": "The generated-index page description for category Monitoring resources in real time in sidebar docs" + }, + "sidebar.docs.category.Tutorials for Business modules": { + "message": "Tutorials for Business modules", + "description": "The label for category Tutorials for Business modules in sidebar docs" + }, + "sidebar.docs.category.Installation": { + "message": "Installation", + "description": "The label for category Installation in sidebar docs" + }, + "sidebar.docs.category.Installation of a Central server": { + "message": "Installation of a Central server", + "description": "The label for category Installation of a Central server in sidebar docs" + }, + "sidebar.docs.category.Installation of a Poller": { + "message": "Installation of a Poller", + "description": "The label for category Installation of a Poller in sidebar docs" + }, + "sidebar.docs.category.Installation of a Remote server": { + "message": "Installation of a Remote server", + "description": "The label for category Installation of a Remote server in sidebar docs" + }, + "sidebar.docs.category.Configuring monitoring servers": { + "message": "Configuring monitoring servers", + "description": "The label for category Configuring monitoring servers in sidebar docs" + }, + "sidebar.docs.category.Secure your platform": { + "message": "Secure your platform", + "description": "The label for category Secure your platform in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources": { + "message": "Monitoring resources", + "description": "The label for category Monitoring resources in sidebar docs" + }, + "sidebar.docs.category.Monitoring basics": { + "message": "Monitoring basics", + "description": "The label for category Monitoring basics in sidebar docs" + }, + "sidebar.docs.category.Monitoring hosts": { + "message": "Monitoring hosts", + "description": "The label for category Monitoring hosts in sidebar docs" + }, + "sidebar.docs.category.Monitoring services": { + "message": "Monitoring services", + "description": "The label for category Monitoring services in sidebar docs" + }, + "sidebar.docs.category.Discovering hosts and services automatically": { + "message": "Discovering hosts and services automatically", + "description": "The label for category Discovering hosts and services automatically in sidebar docs" + }, + "sidebar.docs.category.Organizing hosts and services": { + "message": "Organizing hosts and services", + "description": "The label for category Organizing hosts and services in sidebar docs" + }, + "sidebar.docs.category.Basic objects and actions": { + "message": "Basic objects and actions", + "description": "The label for category Basic objects and actions in sidebar docs" + }, + "sidebar.docs.category.Detecting anomalies": { + "message": "Detecting anomalies", + "description": "The label for category Detecting anomalies in sidebar docs" + }, + "sidebar.docs.category.Passive Monitoring": { + "message": "Passive Monitoring", + "description": "The label for category Passive Monitoring in sidebar docs" + }, + "sidebar.docs.category.Managing events and alerts": { + "message": "Managing events and alerts", + "description": "The label for category Managing events and alerts in sidebar docs" + }, + "sidebar.docs.category.Viewing events": { + "message": "Viewing events", + "description": "The label for category Viewing events in sidebar docs" + }, + "sidebar.docs.category.Managing alerts": { + "message": "Managing alerts", + "description": "The label for category Managing alerts in sidebar docs" + }, + "sidebar.docs.category.Managing notifications": { + "message": "Managing notifications", + "description": "The label for category Managing notifications in sidebar docs" + }, + "sidebar.docs.category.Managing tickets": { + "message": "Managing tickets", + "description": "The label for category Managing tickets in sidebar docs" + }, + "sidebar.docs.category.Managing Centreon users": { + "message": "Managing Centreon users", + "description": "The label for category Managing Centreon users in sidebar docs" + }, + "sidebar.docs.category.Performance graphs": { + "message": "Performance graphs", + "description": "The label for category Performance graphs in sidebar docs" + }, + "sidebar.docs.category.Service Mapping": { + "message": "Service Mapping", + "description": "The label for category Service Mapping in sidebar docs" + }, + "sidebar.docs.category.Guide": { + "message": "Guide", + "description": "The label for category Guide in sidebar docs" + }, + "sidebar.docs.category.Administrate": { + "message": "Administrate", + "description": "The label for category Administrate in sidebar docs" + }, + "sidebar.docs.category.Graphical views": { + "message": "Graphical views", + "description": "The label for category Graphical views in sidebar docs" + }, + "sidebar.docs.category.Graphical views.link.generated-index.description": { + "message": "The graphical view capabilities in Centreon relies on the Centreon MAP module.", + "description": "The generated-index page description for category Graphical views in sidebar docs" + }, + "sidebar.docs.category.Centreon MAP": { + "message": "Centreon MAP", + "description": "The label for category Centreon MAP in sidebar docs" + }, + "sidebar.docs.category.Centreon MAP (Legacy)": { + "message": "Centreon MAP (Legacy)", + "description": "The label for category Centreon MAP (Legacy) in sidebar docs" + }, + "sidebar.docs.category.Reporting": { + "message": "Reporting", + "description": "The label for category Reporting in sidebar docs" + }, + "sidebar.docs.category.Administration": { + "message": "Administration", + "description": "The label for category Administration in sidebar docs" + }, + "sidebar.docs.category.Parameters": { + "message": "Parameters", + "description": "The label for category Parameters in sidebar docs" + }, + "sidebar.docs.category.Configuring the connection to Centreon": { + "message": "Configuring the connection to Centreon", + "description": "The label for category Configuring the connection to Centreon in sidebar docs" + }, + "sidebar.docs.category.Update, Upgrade & Migrate": { + "message": "Update, Upgrade & Migrate", + "description": "The label for category Update, Upgrade & Migrate in sidebar docs" + }, + "sidebar.docs.category.Update": { + "message": "Update", + "description": "The label for category Update in sidebar docs" + }, + "sidebar.docs.category.Upgrade": { + "message": "Upgrade", + "description": "The label for category Upgrade in sidebar docs" + }, + "sidebar.docs.category.Migrate": { + "message": "Migrate", + "description": "The label for category Migrate in sidebar docs" + }, + "sidebar.docs.category.Integrations": { + "message": "Integrations", + "description": "The label for category Integrations in sidebar docs" + }, + "sidebar.docs.category.Data Analytics": { + "message": "Data Analytics", + "description": "The label for category Data Analytics in sidebar docs" + }, + "sidebar.docs.category.Event Management": { + "message": "Event Management", + "description": "The label for category Event Management in sidebar docs" + }, + "sidebar.docs.category.ITSM": { + "message": "ITSM", + "description": "The label for category ITSM in sidebar docs" + }, + "sidebar.docs.category.Notifications": { + "message": "Notifications", + "description": "The label for category Notifications in sidebar docs" + }, + "sidebar.docs.category.NPM": { + "message": "NPM", + "description": "The label for category NPM in sidebar docs" + }, + "sidebar.docs.category.Centreon mobile": { + "message": "Centreon mobile", + "description": "The label for category Centreon mobile in sidebar docs" + }, + "sidebar.docs.category.Developer resources": { + "message": "Developer resources", + "description": "The label for category Developer resources in sidebar docs" + }, + "sidebar.docs.category.Centreon Broker": { + "message": "Centreon Broker", + "description": "The label for category Centreon Broker in sidebar docs" + }, + "sidebar.docs.category.Centreon Gorgone": { + "message": "Centreon Gorgone", + "description": "The label for category Centreon Gorgone in sidebar docs" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category API in sidebar docs" + }, + "sidebar.docs.category.Centreon HA": { + "message": "Centreon HA", + "description": "The label for category Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Installing Centreon HA": { + "message": "Installing Centreon HA", + "description": "The label for category Installing Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Installing a manual Centreon HA": { + "message": "Installing a manual Centreon HA", + "description": "The label for category Installing a manual Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Operating Centreon HA": { + "message": "Operating Centreon HA", + "description": "The label for category Operating Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Updating Centreon HA": { + "message": "Updating Centreon HA", + "description": "The label for category Updating Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Upgrading Centreon HA": { + "message": "Upgrading Centreon HA", + "description": "The label for category Upgrading Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Monitoring your platform": { + "message": "Monitoring your platform", + "description": "The label for category Monitoring your platform in sidebar docs" + }, + "sidebar.docs.category.Releases": { + "message": "Releases", + "description": "The label for category Releases in sidebar docs" + }, + "sidebar.docs.category.Release notes by component": { + "message": "Release notes by component", + "description": "The label for category Release notes by component in sidebar docs" + }, + "sidebar.docs.category.Security": { + "message": "Security", + "description": "The label for category Security in sidebar docs" + }, + "sidebar.docs.category.User data storage": { + "message": "User data storage", + "description": "The label for category User data storage in sidebar docs" + }, + "sidebar.docs.category.Resources": { + "message": "Resources", + "description": "The label for category Resources in sidebar docs" + }, + "sidebar.docs.link.Plugin Packs": { + "message": "Plugin Packs", + "description": "The label for link Plugin Packs in sidebar docs, linking to /pp/integrations/plugin-packs/getting-started/introduction" + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-24.04.json b/i18n/fr/docusaurus-plugin-content-docs/version-24.04.json index 592b6b7acf9d..230abae69f5d 100644 --- a/i18n/fr/docusaurus-plugin-content-docs/version-24.04.json +++ b/i18n/fr/docusaurus-plugin-content-docs/version-24.04.json @@ -1,6 +1,6 @@ { "version.label": { - "message": "⭐ 24.04", + "message": "24.04", "description": "The label for version 24.04" }, "sidebar.docs.category.Getting Started": { diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10.json b/i18n/fr/docusaurus-plugin-content-docs/version-25.10.json new file mode 100644 index 000000000000..c1d00d873fc5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10.json @@ -0,0 +1,310 @@ +{ + "version.label": { + "message": "⭐ 25.10", + "description": "The label for version 25.10" + }, + "sidebar.docs.category.Getting Started": { + "message": "Getting Started", + "description": "The label for category Getting Started in sidebar docs" + }, + "sidebar.docs.category.Installation": { + "message": "Installation", + "description": "The label for category Installation in sidebar docs" + }, + "sidebar.docs.category.Installation of a Central server": { + "message": "Installer un serveur central", + "description": "The label for category Installation of a Central server in sidebar docs" + }, + "sidebar.docs.category.Installation of a Poller": { + "message": "Installer un collecteur", + "description": "The label for category Installation of a Poller in sidebar docs" + }, + "sidebar.docs.category.Installation of a Remote server": { + "message": "Installer un serveur distant", + "description": "The label for category Installation of a Remote server in sidebar docs" + }, + "sidebar.docs.category.Configuring monitoring servers": { + "message": "Configurer les serveurs de supervision", + "description": "The label for category Configuring monitoring servers in sidebar docs" + }, + "sidebar.docs.category.Installation of Centreon HA": { + "message": "Installer Centreon HA", + "description": "The label for category Installation of Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Installation of a manual Centreon HA": { + "message": "Installation de Centreon HA manuelle", + "description": "The label for category Installation of a manual Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Secure your platform": { + "message": "Sécuriser la plateforme", + "description": "The label for category Secure your platform in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources": { + "message": "Superviser des ressources", + "description": "The label for category Monitoring resources in sidebar docs" + }, + "sidebar.docs.category.Monitoring basics": { + "message": "Bases de la supervision", + "description": "The label for category Monitoring basics in sidebar docs" + }, + "sidebar.docs.category.Monitoring hosts": { + "message": "Superviser des hôtes", + "description": "The label for category Monitoring hosts in sidebar docs" + }, + "sidebar.docs.category.Monitoring services": { + "message": "Superviser des services", + "description": "The label for category Monitoring services in sidebar docs" + }, + "sidebar.docs.category.Discovering hosts and services automatically": { + "message": "Auto-découverte d'hôtes et de services", + "description": "The label for category Discovering hosts and services automatically in sidebar docs" + }, + "sidebar.docs.category.Managing Centreon users": { + "message": "Gérer les utilisateurs de Centreon", + "description": "The label for category Managing Centreon users in sidebar docs" + }, + "sidebar.docs.category.Organizing hosts and services": { + "message": "Organiser hôtes et services", + "description": "The label for category Organizing hosts and services in sidebar docs" + }, + "sidebar.docs.category.Basic objects and actions": { + "message": "Objets et actions de base", + "description": "The label for category Basic objects and actions in sidebar docs" + }, + "sidebar.docs.category.Detecting anomalies": { + "message": "Détecter des anomalies", + "description": "The label for category Detecting anomalies in sidebar docs" + }, + "sidebar.docs.category.Passive Monitoring": { + "message": "Supervision Passive", + "description": "The label for category Passive Monitoring in sidebar docs" + }, + "sidebar.docs.category.Managing events and alerts": { + "message": "Gérer évènements et alertes", + "description": "The label for category Managing events and alerts in sidebar docs" + }, + "sidebar.docs.category.Viewing events": { + "message": "Visualiser les évènements", + "description": "The label for category Viewing events in sidebar docs" + }, + "sidebar.docs.category.Managing alerts": { + "message": "Gérer les alertes", + "description": "The label for category Managing alerts in sidebar docs" + }, + "sidebar.docs.category.Managing notifications": { + "message": "Gérer les notifications", + "description": "The label for category Managing notifications in sidebar docs" + }, + "sidebar.docs.category.Managing tickets": { + "message": "Gérer des tickets", + "description": "The label for category Managing tickets in sidebar docs" + }, + "sidebar.docs.category.Performance graphs": { + "message": "Graphiques de performance", + "description": "The label for category Performance graphs in sidebar docs" + }, + "sidebar.docs.category.Service Mapping": { + "message": "Service Mapping", + "description": "The label for category Service Mapping in sidebar docs" + }, + "sidebar.docs.category.Guide": { + "message": "Guide", + "description": "The label for category Guide in sidebar docs" + }, + "sidebar.docs.category.Administrate": { + "message": "Administrer", + "description": "The label for category Administrate in sidebar docs" + }, + "sidebar.docs.category.Graphical views (maps)": { + "message": "Vues graphiques (cartes)", + "description": "The label for category Graphical views in sidebar docs" + }, + "sidebar.docs.category.Reporting": { + "message": "Reporting", + "description": "The label for category Reporting in sidebar docs" + }, + "sidebar.docs.category.Administration": { + "message": "Administrer", + "description": "The label for category Administration in sidebar docs" + }, + "sidebar.docs.category.Parameters": { + "message": "Paramètres", + "description": "The label for category Parameters in sidebar docs" + }, + "sidebar.docs.category.Configuring the connection to Centreon": { + "message": "Paramétrer la connexion à Centreon", + "description": "The label for category Configuring the connection to Centreon in sidebar docs" + }, + "sidebar.docs.category.Update, Upgrade & Migrate": { + "message": "Mettre à jour, monter de version et migrer", + "description": "The label for category Update, Upgrade & Migrate in sidebar docs" + }, + "sidebar.docs.category.Update": { + "message": "Mettre à jour (version mineure)", + "description": "The label for category Update in sidebar docs" + }, + "sidebar.docs.category.Upgrade": { + "message": "Monter de version (version majeure)", + "description": "The label for category Upgrade in sidebar docs" + }, + "sidebar.docs.category.Migrate": { + "message": "Migrer sur un nouveau serveur", + "description": "The label for category Migrate in sidebar docs" + }, + "sidebar.docs.category.Integrations": { + "message": "Intégrations", + "description": "The label for category Integrations in sidebar docs" + }, + "sidebar.docs.category.Data Analytics": { + "message": "Data Analytics", + "description": "The label for category Data Analytics in sidebar docs" + }, + "sidebar.docs.category.Event Management": { + "message": "Event Management", + "description": "The label for category Event Management in sidebar docs" + }, + "sidebar.docs.category.ITSM": { + "message": "ITSM", + "description": "The label for category ITSM in sidebar docs" + }, + "sidebar.docs.category.Notifications": { + "message": "Notifications", + "description": "The label for category Notifications in sidebar docs" + }, + "sidebar.docs.category.NPM": { + "message": "NPM", + "description": "The label for category NPM in sidebar docs" + }, + "sidebar.docs.category.Centreon mobile": { + "message": "Centreon mobile", + "description": "The label for category Centreon mobile in sidebar docs" + }, + "sidebar.docs.category.Developer resources": { + "message": "Ressources développeur", + "description": "The label for category Developer resources in sidebar docs" + }, + "sidebar.docs.category.Centreon Broker": { + "message": "Centreon Broker", + "description": "The label for category Centreon Broker in sidebar docs" + }, + "sidebar.docs.category.Centreon Gorgone": { + "message": "Centreon Gorgone", + "description": "The label for category Centreon Gorgone in sidebar docs" + }, + "sidebar.docs.category.API": { + "message": "API", + "description": "The label for category API in sidebar docs" + }, + "sidebar.docs.category.Monitoring your platform": { + "message": "Superviser la plateforme", + "description": "The label for category Monitoring your platform in sidebar docs" + }, + "sidebar.docs.category.Centreon HA": { + "message": "Centreon HA", + "description": "The label for category Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Releases": { + "message": "Releases", + "description": "The label for category Releases in sidebar docs" + }, + "sidebar.docs.category.Release notes by component": { + "message": "Release notes", + "description": "The label for category Release notes by component in sidebar docs" + }, + "sidebar.docs.category.Security": { + "message": "Sécurité", + "description": "The label for category Security in sidebar docs" + }, + "sidebar.docs.category.User data storage": { + "message": "Stockage des données utilisateur", + "description": "The label for category User data storage in sidebar docs" + }, + "sidebar.docs.category.Resources": { + "message": "Ressources", + "description": "The label for category Resources in sidebar docs" + }, + "sidebar.docs.category.Before you start": { + "message": "Avant de commencer", + "description": "The label for category Before you start in sidebar docs" + }, + "sidebar.docs.category.Before you start.link.generated-index.description": { + "message": "Ce que vous devez savoir avant d'installer votre plateforme Centreon.", + "description": "The generated-index page description for category Before you start in sidebar docs" + }, + "sidebar.docs.category.First steps with Centreon": { + "message": "Premiers pas avec Centreon", + "description": "The label for category First steps with Centreon in sidebar docs" + }, + "sidebar.docs.category.First steps with Centreon.link.generated-index.description": { + "message": "Votre plateforme Centreon est installée. Que faire ensuite ?", + "description": "The generated-index page description for category First steps with Centreon in sidebar docs" + }, + "sidebar.docs.category.Setting up the monitoring": { + "message": "Mettre des ressources en supervision", + "description": "The label for category Setting up the monitoring in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources in real time": { + "message": "Superviser les ressources en temps réel", + "description": "The label for category Monitoring resources in real time in sidebar docs" + }, + "sidebar.docs.category.Monitoring resources in real time.link.generated-index.description": { + "message": "Comment superviser les ressources que vous avez créées ?", + "description": "The generated-index page description for category Monitoring resources in real time in sidebar docs" + }, + "sidebar.docs.category.Tutorials for Business modules": { + "message": "Tutoriels des modules Business", + "description": "The label for category Tutorials for Business modules in sidebar docs" + }, + "sidebar.docs.link.Monitoring Connectors": { + "message": "Connecteurs de supervision", + "description": "The label for link Plugin Packs in sidebar docs, linking to /pp/integrations/plugin-packs/getting-started/introduction" + }, + "sidebar.docs.category.Graphical views.link.generated-index.description": { + "message": "Les capacités de visualisation graphique de Centreon reposent sur le module Centreon MAP.", + "description": "The generated-index page description for category Graphical views in sidebar docs" + }, + "sidebar.docs.category.Centreon MAP": { + "message": "Centreon MAP", + "description": "The label for category Centreon MAP in sidebar docs" + }, + "sidebar.docs.category.Centreon MAP (Legacy)": { + "message": "Centreon MAP (Legacy)", + "description": "The label for category Centreon MAP (Legacy) in sidebar docs" + }, + "sidebar.docs.category.Installing Centreon HA": { + "message": "Installer Centreon HA", + "description": "The label for category Installing Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Installing a manual Centreon HA": { + "message": "Installer un Centreon HA à basculement manuel", + "description": "The label for category Installing a manual Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Operating Centreon HA": { + "message": "Faire fonctionner Centreon HA", + "description": "The label for category Operating Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Updating Centreon HA": { + "message": "Mettre à jour Centreon HA", + "description": "The label for category Updating Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Upgrading Centreon HA": { + "message": "Monter de version Centreon HA", + "description": "The label for category Upgrading Centreon HA in sidebar docs" + }, + "sidebar.docs.category.Disaster recovery": { + "message": "Reprise après sinistre", + "description": "The label for category Disaster recovery in sidebar docs" + }, + "sidebar.docs.category.Getting started with Centreon OnPrem": { + "message": "Démarrer avec Centreon OnPrem", + "description": "The label for category Getting started with Centreon OnPrem in sidebar docs" + }, + "sidebar.docs.category.Data Visualization": { + "message": "Visualisation des données", + "description": "The label for category Data Visualization in sidebar docs" + }, + "sidebar.docs.category.Information for MAP Legacy users": { + "message": "Informations pour les utilisateurs de MAP Legacy", + "description": "The label for category Information for MAP Legacy users in sidebar docs" + } +} diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/access-control-lists.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/access-control-lists.md new file mode 100644 index 000000000000..091d4cc84bf0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/access-control-lists.md @@ -0,0 +1,213 @@ +--- +id: access-control-lists +title: Gérer les droits des utilisateurs Centreon (ACL) +--- + +Vous pouvez donner des droits aux [utilisateurs](../monitoring/basic-objects/contacts.md) de Centreon : + +- sur les ressources : quels hôtes, services, etc. l'utilisateur aura le droit de voir +- sur les menus de l'interface Centreon (à quelles pages il pourra accéder) +- sur les actions que l'utilisateur pourra réaliser sur les ressources ou sur un moteur de supervision (mettre une ressource en maintenance, exporter la configuration...). + +Ces droits ne sont pas définis par utilisateur mais par [groupes d'accès](#créer-un-groupe-daccès). + +- Un même utilisateur peut appartenir à plusieurs groupes d'accès : il cumulera les droits de ces différents groupes. +- Un utilisateur non administrateur n'appartenant à aucun groupe d'accès n'a aucun droit sur la plateforme de supervision (écran vide après connexion). +- Les utilisateurs définis comme [Administrateurs](../monitoring/basic-objects/contacts-create.md#onglet-authentification-centreon) ont tous les droits (même si vous ajoutez un utilisateur administrateur à un groupe d'accès aux droits limités). + +Les ACLs sont recalculées toutes les minutes, c'est pourquoi il est parfois +nécessaire de patienter quelques instants avant de voir appliquer la +modification sur le profil. Vous pouvez également [forcer le recalcul des ACL](#recalculer-les-acls). + +> Les modules Centreon +> [MBI](../reporting/configure.md), BAM et [MAP](../graph-views/map-web-access.md) ont leurs propres ACL. + +## Donner des droits à un utilisateur + +Pour donner des droits à un utilisateur : +1. [Créez l'utilisateur](../monitoring/basic-objects/contacts.md). +2. [Créez un groupe d'accès](#créer-un-groupe-daccès). +3. Ajoutez l'utilisateur au groupe d'accès. +4. Créez des filtres d'accès aux [menus](#filtres-daccès-aux-menus), aux [ressources](#filtres-daccès-aux-ressources) et aux [actions](#filtres-daccès-sur-les-actions). +5. Définissez les droits désirés : + - soit sur le groupe d'accès + - soit au niveau des filtres d'accès aux menus, ressources et actions. + +## Créer un groupe d'accès + +Pour créer un groupe d'accès : + +1. À la page **Administration > ACL > Gestion des groupes d'accès**, cliquez sur **Ajouter**. + +3. Dans l'onglet **Informations générales**, renseignez le + **Nom du groupe** et son **Alias** (sa description). + +4. Pour ajouter des utilisateurs (contacts) ou des groupes de contacts au groupe d'accès, utilisez le tableau **Contacts liés**/**Groupes de contacts liés**. (Sélectionnez le ou les utilisateurs désirés dans la colonne **Disponible** puis cliquez sur **Ajouter**. +L'utilisateur ou le groupe d'utilisateurs passe dans la colonne **Sélectionné**.) + + > Les groupes de contacts peuvent être des groupes provenant de l'annuaire LDAP + > connecté à l'interface Centreon. + > + > Les groupes créés dans Centreon ne doivent pas avoir le même nom que les groupes + > LDAP. Si c'est le cas, les groupes dans Centreon devront être renommés. + +5. Dans l'onglet **Autorisations**, définissez les droits désirés sur le groupe d'accès en choisissant les filtres d'accès aux [menus](#filtres-daccès-aux-menus), [ressources](#filtres-daccès-aux-ressources) et [actions](#filtres-daccès-sur-les-actions) (si vous les avez déjà créés). + +6. Cliquez sur **Enregistrer**. + +## Créer des filtres d'accès aux ressources, menus et actions + +### Filtres d'accès aux ressources + +Les filtres d'accès aux ressources permettent de définir quels +objets (hôtes, groupes d'hôtes, services, groupes de services) l'utilisateur pourra voir dans l'interface Centreon. + +Pour créer un filtre d'accès aux ressources : + +1. Rendez-vous dans le menu **Administration > ACL > Gestion des accès aux ressources**. + +2. Cliquez sur **Ajouter**. + +3. Remplissez les champs désirés (voir tableau ci-dessous). + +5. Cliquez sur **Sauvegarder**. + +> Une fois les filtres sur les ressources paramétrés, vous pouvez visualiser le +> résultat via le menu **Vérifier la vue de l'utilisateur** à côté de l'option +> d'ajout de filtre à la page **Administration > ACL > Gestion des accès aux ressources**. + +#### Référence + +| Onglet | Actions | +|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Informations générales** | | +| **Gestion des hôtes** |

Dans le cas où les options **Inclure tous les hôtes** ou **Inclure tous les groupes d'hôtes** sont cochées, il est possible d'exclure explicitement des hôtes du filtre (par exemple dans le cas où seulement 1 ou 2 hôtes ne doivent pas faire partie du filtre).

| +| **Gestion des services** | L'onglet **Gestion des services** permet de définir quels groupes de services l'utilisateur pourra voir. | +| **Méta-Services** | L'onglet **Méta-Services** permet de définir quels méta-services l'utilisateur pourra voir. | +| **Filtres** | | + + +### Filtres d'accès aux menus + +Les filtres d'accès aux menus permettent de définir à quels menus de l'interface Centreon +l'utilisateur pourra accéder. + +> L’accès au menu d’édition des commandes, ainsi que l’accès au menu d’édition des +> traps SNMP peut être très dangereux. En effet, un utilisateur privilégié peut +> créer des commandes pouvant permettre la création de failles de sécurité (RCE). +> Ne donnez cet accès qu’à des personnes dignes de confiance. + +Pour créer un filtre d'accès aux menus : + +1. Rendez-vous dans le menu **Administration > ACL > Gestion des accès aux menus**. +2. Cliquez sur **Ajouter**. +3. Remplissez les champs : + - **Nom de l'ACL** et **Alias**. + - **Statut** : activer ou désactiver le filtre + - **Commentaires** : donne des indications sur le filtre. + +4. Pour appliquer les droits définis dans ce filtre à des [groupes d'accès](#créer-un-groupe-daccès), utilisez le tableau **Groupes liés**. + +5. Dans la section **Pages disponibles**, définissez les menus auxquels le groupe d'accès aura accès. + + - Le menu parent doit être coché pour pouvoir accéder au menu enfant. + + - Par défaut, l’accès est donné en lecture seule. Si vous + souhaitez autoriser vos utilisateurs à modifier la configuration, + sélectionnez l’option **Lecture/Écriture** pour chaque sous-menu. + + - Pour pouvoir accéder à un niveau de menu 'n-1', l'utilisateur doit avoir accès au menu + de niveau 'n' sinon ce dernier ne pourra pas naviguer jusqu'au menu via + l'interface. L'utilisateur devra accéder à la + page concernée via un lien direct (autologin...). + + - À chaque ajout de nouveau module Centreon possédant une interface web accessible + au travers d'un nouveau menu, ce dernier devra être ajouté au filtre afin que les utilisateurs puissent y accéder le cas échéant. + +6. Cliquez sur **Sauvegarder**. + +### Filtres d'accès sur les actions + +Les filtres sur les actions permettent de définir quelles actions +l'utilisateur pourra réaliser sur les ressources (hôtes et services) et sur les moteurs de supervision. + +Pour créer un filtre d'accès aux actions : + +1. Rendez-vous dans le menu **Administration > ACL > Gestion des accès sur les actions**. +2. Cliquez sur **Ajouter**. + + - Les champs **Nom de l'action** et **Description** contiennent le nom du + filtre ainsi que sa description + - Dans la section **Relations**, utilisez le tableau **Groupes liés** pour attribuer aux utilisateurs des [groupes d'accès](#créer-un-groupe-daccès) les droits définis dans le filtre. + +3. Cochez les cases correspondant aux options désirées (voir tableaux ci-dessous). + +4. Cliquez sur **Sauvegarder**. + +#### Accès aux fonctionnalités globales + +| Champ | Actions associées | +| --------------------------------------------------------------- | ------------------------------------------------------------------------------------------------- | +| Afficher les statistiques des hôtes et services dans le bandeau | Affiche les statistiques de supervision sous forme de tableau présent dans le bandeau de Centreon
![image](../assets/administration/acl-bandeau.png) | +| Afficher les statistiques des collecteurs dans le bandeau | Affiche les statistiques des collecteurs en haut à gauche
![image](../assets/administration/acl-bandeau-poller.png) | +| Afficher la liste des collecteurs | Permet de filtrer selon le collecteur à la page **Supervision > Détail des statuts > Hôtes** ou **Supervision > Détail des statuts > Services** (pages dépréciées) | + +#### Actions de configuration des collecteurs / Gestion des collecteurs + +| Champ | Actions associées | +| --------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------- | +| Créer et modifier des collecteurs | L'utilisateur peut réaliser les actions **Ajouter**, **Ajouter (avancé)** et **Dupliquer** sur des serveurs distants et des collecteurs et les éditer. | +| Supprimer des collecteurs | Permet à l'utilisateur de supprimer des serveurs distants et des collecteurs de la configuration. Cette action est irréversible. Attention, avant de supprimer un serveur distant ou un collecteur, vérifiez qu'il ne supervise plus d'hôtes et que **centengine** est arrêté. | +| Déployer la configuration | Permet à l'utilisateur de générer, tester et exporter la configuration vers les serveurs distants et les collecteurs, et de redémarrer leurs moteurs de supervision. +| Générer la configuration des traps SNMP | Permet de générer et exporter la configuration des traps SNMP pour le processus Centreontrapd sur les collecteurs et de redémarrer ce dernier | + +#### Actions globales du moteur de supervision (Commandes externes) + +Ces champs ne sont plus utilisés. + +#### Accès aux actions sur les services + +| Champ | Actions associées | +| -------------------------------------------------------------- | -------------------------------------------------------------------------------- | +| Activer/Désactiver les vérifications pour un service | Permettre à l'utilisateur d'activer/désactiver les vérifications pour un service à la page **Supervision > Détail des statuts > Services** (page dépréciée) | +| Activer/Désactiver les notifications pour un service | Permettre à l'utilisateur d'activer/désactiver les notifications pour un service à la page **Supervision > Détail des statuts > Services** (page dépréciée) | +| Acquitter un service | Permettre à l'utilisateur [d'acquitter un service](../alerts-notifications/acknowledge.md) | +| Supprimer l'acquittement de l'incident du service | Permettre à l'utilisateur de supprimer un acquittement sur un service | +| Re-planifier la prochaine vérification d'un service | Permettre à l'utilisateur de [lancer la vérification d'un service](../alerts-notifications/resources-status.md#relancer-un-contrôle). La vérification est faite même si l'on se trouve hors de la période de contrôle du service. | +| Re-planifier la prochaine vérification d'un service (Forcé) | Permettre à l'utilisateur de [lancer la vérification d'un service](../alerts-notifications/resources-status.md#relancer-un-contrôle). La vérification est faite même si l'on se trouve hors de la période de contrôle du service. | +| Planifier une plage de maintenance pour un service | Permettre à l'utilisateur de [planifier un temps d'arrêt](../alerts-notifications/downtimes.md) pour un service | +| Ajouter/Supprimer un commentaire pour un service | Autoriser l'utilisateur à ajouter des [commentaires](../alerts-notifications/other.md#ajouter-un-commentaire) pour un service | +| Activer/Désactiver le gestionnaire d'évènements pour un service | Permettre à l'utilisateur d'activer/désactiver le gestionnaire d'évènements pour un service à la page de détails d'un service accessible via le menu **Supervision > Détail des statuts > Services** (page dépréciée) | +| Activer/Désactiver la détection de bagotage d'un service | Activer/Désactiver la détection du statut FLAPPING (ou bagotage) pour un service à la page de détails d'un service accessible via le menu **Supervision > Détail des statuts > Services** (page dépréciée) | +| Activer/Désactiver le contrôle passif d'un service | Activer/Désactiver le contrôle passif pour les services à la page de détails d'un service accessible via le menu **Supervision > Détail des statuts > Services** (page dépréciée) | +| [Soumettre un résultat](../alerts-notifications/submit.md) pour un service | Permettre à l'utilisateur de modifier manuellement le statut d'un service passif jusqu'au prochain contrôle | +| Afficher la commande exécutée par le moteur de supervision | Pour l'utilisateur, affiche la commande exécutée pour un service dans le [panneau **Détails** du service](../alerts-notifications/resources-status.md#panneau-de-service) | + +#### Accès aux actions sur les hôtes + +| Champ | Actions associées | +| ----------------------------------------------------------- | ----------------------------------------------------------------------------- | +| Activer/Désactiver les vérifications pour un hôte | Activer/Désactiver les vérifications pour un hôte à la page **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| Activer/Désactiver les notifications pour un hôte | Activer/Désactiver les notifications pour un hôte à la page **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| Acquitter un hôte | Permettre aux utilisateurs [d'acquitter un hôte](../alerts-notifications/acknowledge.md) | +| Supprimer l'acquittement de l'incident de l'hôte | Permettre aux utilisateurs de supprimer un acquittement d'un hôte | +| Planifier la vérification pour un hôte | Permettre à l'utilisateur de [lancer la vérification](../alerts-notifications/resources-status.md#relancer-un-contrôle) d'un hôte | +| Planifier la vérification pour un hôte (Forcé) | Permettre à l'utilisateur de [lancer la vérification](../alerts-notifications/resources-status.md#relancer-un-contrôle) d'un hôte | +| Planifier une plage de maintenance pour un hôte | Permettre à l'utilisateur de [planifier un temps d'arrêt](../alerts-notifications/downtimes.md) pour un hôte | +| Ajouter/Supprimer un commentaire pour un hôte | Autoriser l'utilisateur à ajouter des [commentaires](../alerts-notifications/other.md#ajouter-un-commentaire) pour un hôte | +| Activer/Désactiver le gestionnaire d'évènements pour un hôte | Activer/Désactiver le gestionnaire d'évènements pour un hôte à la page de détails d'un hôte accessible via le menu **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| Activer/Désactiver la détection de bagotage pour un hôte | Activer/Désactiver la détection du statut FLAPPING (ou bagotage) pour un hôte à la page de détails d'un hôte accessible via le menu **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| Activer/Désactiver les contrôles des services de l'hôte | Activer/Désactiver les contrôles des services d'un hôte à la page de détails d'un hôte accessible via le menu **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| Activer/désactiver les notifications de service de l'hôte | Activer/Désactiver les notifications des services d'un hôte à la page de détails d'un hôte accessible via le menu **Supervision > Détail des statuts > Hôtes** (page dépréciée) | +| [Soumettre le résultat](../alerts-notifications/submit.md) pour un hôte | Permettre à l'utilisateur de modifier manuellement le statut d'un hôte passif jusqu'au prochain contrôle | + +- Le champ **Statut** permet d'activer ou de désactiver le filtre + +## Recalculer les ACLs + +Il est possible de recalculer manuellement les ACLs : + +1. Rendez-vous dans le menu **Administration > ACL > Recharger les ACL** +3. Sélectionnez le ou les utilisateurs pour lesquels vous souhaitez recharger +les ACL. +4. Dans le menu **Plus d'actions**, cliquez sur **Recharger les ACL**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup-poller.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup-poller.md new file mode 100644 index 000000000000..bb80bc21f82c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup-poller.md @@ -0,0 +1,60 @@ +--- +id: backup-poller +title: Sauvegarder et restaurer vos collecteurs +--- + +## Cas n°1 : Faire des sauvegardes pour pouvoir installer un nouveau collecteur à partir de zéro + +### Données à sauvegarder sur le collecteur actif + +> Dans cette section, nous partons du principe que [l'installation automatique des plugins Centreon](../monitoring/pluginpacks.md#installation-automatique) est activée. + +Sauvegardez les éléments suivants afin d'être en mesure de complètement reconstruire votre collecteur en cas de problème. + +- Plugins personnalisés (par exemple: plugins de la communauté, ou développements spécifiques) +- Si vous utilisez le connecteur **centreon-as400** (installation et configuration): sauvegardez **/etc/centreon-as400/** +- Synchronisez les fichiers suivants régulièrement (par exemple avec la commande **rsync**) : + - **/var/log/centreon-engine/retention.dat** (jusqu'à toutes les 15 minutes) pour garder les acquittements, les plages de maintenance et les statuts. + - **/var/lib/centreon/centplugins/\*** (jusqu'à toutes les 5 minutes) pour garder le cache des plugins. + - **/etc/centreon-gorgone/config.d/\*** (une seule fois) pour garder les informations de connexion au serveur central. + - **/var/lib/centreon-gorgone/.keys/\*** (une seule fois) pour garder l'empreinte pour l'authentification ZeroMQ. + - **/etc/snmp/centreon_traps/** (une fois par semaine), si vous utilisez des traps SNMP sur le poller. + - **/etc/centreon/** (une fois par semaine). + - **/var/log/centreon-engine/** (une fois par jour), vu qu'il contient **retention.dat** et toutes les archives (nécessaires pour reconstruire les tableaux de bord). + +### Basculer vers le nouveau collecteur + +Si votre collecteur devient hors d'usage, [installez un nouveau collecteur](../installation/installation-of-a-poller/using-packages.md), dans la version correspondant à votre plateforme, rattachez-le au serveur central, puis restaurez tous les éléments listés ci-dessus. + +Si vous n'aviez pas sauvegardé le fichier **/var/lib/centreon-gorgone/.keys/\***, vous devrez changer l'empreinte du collecteur dans la configuration du serveur central. Voir [l'article suivant](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177) sur notre plateforme communautaire The Watch. + +## Cas n°2: Collecteur de secours + +Une autre façon de se préparer à un problème est d'avoir un collecteur de secours sur lequel vous synchronisez les données de votre collecteur actif. Si votre collecteur devient hors d'usage, il vous suffira de basculer sur le collecteur de secours. + +### Données à synchroniser + +Installez et configurez les mêmes éléments sur votre collecteur de secours que sur votre collecteur actif, et synchronisez les données [comme décrit ici](#données-à-sauvegarder-sur-le-collecteur-actif). + +### Basculer vers le collecteur de secours + +1. Démarrez le collecteur de secours si celui-ci est arrêté. +2. Changez la configuration réseau du collecteur de secours afin de lui attribuer l'adresse IP de l'ancien collecteur. +3. Redémarrez **gorgoned** d'abord sur le collecteur, puis sur le central. + + ```shell + systemctl restart gorgoned + ``` + +4. Vérifiez que le log de Gorgone ne présente pas d'erreurs de communication. + + ```shell + tail -F /var/log/centreon-gorgone/gorgoned.log | grep ERROR + ``` + +5. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) pour le collecteur, en utilisant la méthode **Restart** (dans la liste **Redémarrer l'ordonnanceur**). +6. Si vous n'aviez pas sauvegardé le fichier **/var/lib/centreon-gorgone/.keys/\***, vous devrez changer l'empreinte du collecteur dans la configuration du serveur central. Voir [l'article suivant](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177) sur notre plateforme communautaire The Watch. + +## Cas n°3 : Snapshots de machines virtuelles + +Si votre collecteur tourne sur une VM, faites des snapshots réguliers de votre collecteur. Si un problème survient, restaurez le snapshot comme pour n'importe quelle machine virtuelle. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup.md new file mode 100644 index 000000000000..44bbdc49d4b4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/backup.md @@ -0,0 +1,243 @@ +--- +id: backup +title: Sauvegarder et restaurer votre serveur central +--- + +## Fonctionnement + +### Exécution journalière + +Le script de sauvegarde est exécuté de manière journalière par une tâche +planifiée située dans **/etc/cron.d/centreon**: + +```text +########################## +# Cron for Centreon-Backup +30 3 * * * root /usr/share/centreon/cron/centreon-backup.pl >> /var/log/centreon/centreon-backup.log 2&>1 +``` + +Dans cet exemple, le script lance une sauvegarde chaque jour à 3H30. + +### Types de sauvegarde + +Il y a deux types de sauvegarde : base de données et fichiers de configuration. + +#### Sauvegarde de la base de données + +La sauvegarde de la base de données peut être réalisée sur deux bases : +**centreon** et **centreon\_storage** + +Il y a deux types de sauvegarde : + + - MySQLdump : la commande mysqldump est utilisée pour sauvegarder la base de + données. Attention, cette commande peut prendre un certain temps si la base + est volumineuse. + - LVM Snapshot : Copie binaire des fichiers MariaDB. Vous devez avoir un volume + logique dédié à MariaDB (ex: /var/lib/mysql) et 1Go d'espace disponible dans + son groupe de volumes. + +Format de la sauvegarde : + + - YYYY-MM-DD-centreon.sql.gz + - YYYY-MM-DD-centreon\_storage.sql.gz + +#### Sauvegarde des fichiers de configuration + +Tous les fichiers de configuration du serveur central sont sauvegardés : MySQL, +Apache, PHP, SNMP, centreon, centreon-broker + +Format de la sauvegarde : + + - YYYY-MM-DD-centreon-engine.tar.gz (fichiers de configuration + centreon-engine) + - YYYY-MM-DD-central.tar.gz (autres fichiers de configuration) + +## Configuration + +Ce chapitre décrit la configuration de la sauvegarde. + +1. Se rendre dans le menu **Administration > Paramètres > Backup**. + +La fenêtre suivante est affichée : + +![image](../assets/administration/parameters-backup.png) + + - **Activer la sauvegarde** : Activer/Désactiver la sauvegarde + - **Répertoire des sauvegardes** : Répertoire de stockage des sauvegardes + - **Répertoire temporaire** : Répertoire utilisé durant le processus de + sauvegarde + - **Sauvegarder la base de données Centreon** : Activer la sauvegarde de la + base de données centreon + - **Sauvegarder la base de données 'centreon\_storage'** : Activer la + sauvegarde de la base de données centreon\_storage + - **Méthode de sauvegarde** : Type de sauvegarde (MySQL dump ou snapshot LVM) + - **Sauvegarde complète** : Période pour la sauvegarde complète + - **Sauvegarde de type partielle** : Période pour la sauvegarde partielle (seulement + disponible pour la sauvegarde par LVM snapshot) + - **Durée de rétention des sauvegardes** : Durée de rétention des sauvegardes (en jours) + - **Sauvegarder les fichiers de configuration** : Activer la sauvegarde des fichiers de + configuration + - **Chemin d'accès au fichier de configuration MySQL** : Chemin d'accès au fichier de configuration + MySQL + - **Activer l'export SCP** : Activer l'export des sauvegardes par SCP. + - **Utilisateur**: Utilisateur distant pour l'export SCP + - **Hôte distant** : Hôte distant pour l'export SCP + - **Répertoire distant** : Répertoire distant pour l'export SCP + +> **Répertoire temporaire** ne peut pas être un sous-répertoire de **Répertoire +> des sauvegardes**. + +## Restauration d'un serveur central Centreon + +Le processus de restauration consiste en deux étapes : + + - Réinstaller la plate-forme suivant la documentation d'installation de + Centreon. Ne pas oublier de faire la mise à jour du système. + - Restaurer les différents fichiers de configuration, puis les bases de + données Centreon. + +### Restauration des fichiers de configuration de Centreon + +Avant de restaurer les bases de données, il faudra restaurer certains fichiers +de configuration dans un premier temps : + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-central.tar.gz +cd central/etc/centreon/ +cp -r * /etc/centreon/ +``` + +### Restauration des bases de données + +Une fois le serveur Centreon réinstallé (**même version de Centreon**), il +suffit de décompresser les sauvegardes des bases de données **centreon** et +**centreon\_storage**. + +Commencez par recréer les bases de données avec les commandes suivantes : + +```sql +DROP DATABASE centreon; +DROP DATABASE centreon_storage; +CREATE DATABASE centreon; +CREATE DATABASE centreon_storage; +``` + +Puis décompressez et chargez les dumps dans les bases : + +```shell +cd /var/cache/centreon/backup/ +gzip -d YYYY-MM-DD-centreon.sql.gz +mysql centreon < YYYY-MM-DD-centreon.sql +gzip -d YYYY-MM-DD-centreon_storage.sql.gz +mysql centreon_storage < YYYY-MM-DD-centreon_storage.sql +``` + +Ces opérations peuvent prendre un certain temps du fait de la taille de la base +**centreon\_storage**. + +> Le mot de passe (**password** ci-dessus), est stocké dans les fichiers de +> configuration restaurés précédemment. Par exemple le champ **$mysql\_passwd** +> dans le fichier **/etc/centreon/conf.pm**. + +La manipulation ci-dessus est valide pour des versions identiques de Centreon. + +### Restauration des clés SSH + +Cette étape consiste à restaurer les clés SSH de l'utilisateur **centreon**, +voir **centreon-engine** dans le cadre d'un environnement distribué. Leur +restauration doit être manuelle. Il faut donc dans un premier temps extraire +cette archive dans un répertoire temporaire puis déplacer un à un les fichiers +suivant leur emplacement. + +Sur le serveur central: + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd central/ssh/ +mkdir -p /var/spool/centreon/.ssh/ +chmod 700 /var/spool/centreon/.ssh/ +cp -p id_rsa /var/spool/centreon/.ssh/ +cp -p id_rsa.pub /var/spool/centreon/.ssh/ +``` + +Test de connexion du central vers les satellites: + +```shell +su - centreon +ssh +``` + +Répondre "Oui" à la question. + +> Cette opération est à effectuer si et seulement si votre plate-forme est +> distribuée. + +### Restauration des plugins + +Les plugins ont été sauvegardés dans l'archive : +"AAAA-MM-JJ-centreon-engine.tar.gz". Leur restauration doit être manuelle. Il +faut donc dans un premier temps extraire cette archive dans un répertoire +temporaire puis déplacer un à un les fichiers suivant leur emplacement. + +Sur chaque collecteur, il faudra réaliser l'action suivante : + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd central/plugins +cp -pRf * /usr/lib64/nagios/plugins/ +``` + +### Restauration des scripts d'initialisation + +Certains points de contrôles concernant Oracle ou SAP entraînent la modification +du script d'initialisation de l'ordonnanceur afin d'y ajouter des variables +d'environnements. Si vous avez modifié le script d'initialisation de votre +ordonnanceur, il faudra le restaurer. + +Dans un premier temps extraire cette archive dans un répertoire temporaire puis +déplacer un à un les fichiers suivant leurs emplacements : + +```shell +cd /var/backup +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd backup +cp init_d_centengine /etc/init.d/centengine +``` + +### Restauration des agents de supervision + +Si vous utilisez les agents NRPE, ou NSCA il faudra les réinstaller puis +restaurer leur configuration: + +```shell +cd /var/backup +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd backup/etc +cp nrpe.cfg /etc/centreon-engine/ +cp nsca.cfg /etc/centreon-engine/ +``` + +> Cette manipulation est à utiliser si et seulement si vous utilisez les agents +> NRPE ou NSCA. Si vous utilisez NSCA le fichier de configuration à copier n'est +> pas nrpe.cfg mais nsca.cfg. + +### Génération de la configuration du central + +Une fois toutes les étapes (nécessaires) effectuées, il faudra générer la +configuration de chaque collecteur. + +### Reconstruction des graphiques + +Une fois que vous avez restauré votre plate-forme de supervision et que tout est +en ordre, il faudra reconstruire les fichiers RRD afin de retrouver tous vos +"anciens" graphiques de performance. + +Pour reconstruire les graphiques de performance, il faudra vous rendre dans le +menu **Administration > Paramètres > Données**. Sur cette page, il +faudra sélectionner tous les services et cliquer sur **Regénérer les bases de +données RRD**. + +**Le serveur central est maintenant restauré.** diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/custom-login.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/custom-login.md new file mode 100644 index 000000000000..cec3f2ab92c7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/custom-login.md @@ -0,0 +1,58 @@ +--- +id: customize-centreon +title: Personnaliser Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Vous pouvez personnaliser certains éléments de votre plateforme Centreon : + +- **Page de connexion :** vous pouvez changer l'arrière-plan et le logo, ainsi qu'ajouter un texte. +- **Nom de la plateforme :** vous pouvez définir un nom pour votre plateforme (par exemple **Test**, **Production**). Celui-ci sera affiché dans le bandeau lorsque vous serez connecté. + +La personnalisation de votre plateforme Centreon utilise l'extension **Centreon IT Edition Extensions**. Celle-ci est installée par défaut sur votre plateforme. + +> **Centreon IT Edition Extensions** est une extension Centreon qui requiert une [licence](../administration/licenses.md) valide. +> Pour plus d'informations, contactez [Centreon](mailto:sales@centreon.com). + +## Configurer l'extension + +1. Allez à la page **Administration > Personnaliser Centreon**. Les différentes options sont : + + - **Nom de la plateforme** : définissez un nom pour la plateforme (par exemple **Test**, **Production**). Ce nom sera visible à la fois sur la page de connexion (à côté du logo) et dans le bandeau une fois que vous serez connecté. + - **Sélectionnez un logo** : remplacez le logo Centreon sur la page de connexion (mais pas dans le coin supérieur gauche, une fois connecté). Avant de pouvoir sélectionner un logo dans ce champ, vous devez ajouter le fichier aux [médias](./parameters/medias.md) de la plateforme. + - **Sélectionnez un fond d'écran** : remplacez l'arrière-plan par défaut. Avant de pouvoir sélectionner un arrière-plan dans ce champ, vous devez ajouter le fichier aux [médias](./parameters/medias.md) de la plateforme. + - **Insérez votre texte de présentation** : entrez un texte à afficher dans la zone de connexion. + - **Position de votre texte** : définissez où le texte personnalisé sera affiché, s'il est défini (en-dessous du mot **Connexion** ou sous le bouton **Connexion**). + +2. Vérifiez l'aspect de votre page de connexion dans le champ **Aperçu** puis cliquez sur **Sauvegarder** lorsque celui-ci vous convient. + +## Mettre à jour l'extension + +Exécutez la commande suivante pour mettre à jour l'extension : + + + + +``` shell +dnf update centreon-it-edition-extensions +``` + + + + +``` shell +dnf update centreon-it-edition-extensions +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-it-edition-extensions +``` + + + + +> Pour une mise à jour réussie, assurez-vous que le nom du paquet à mettre à jour est bien correct (`centreon-it-edition-extensions`). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/database-partitioning.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/database-partitioning.md new file mode 100644 index 000000000000..c9f63ee4fcca --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/database-partitioning.md @@ -0,0 +1,167 @@ +--- +id: database-partitioning +title: Partitionnement des bases de données +--- + +## Présentation + +Certaines tables de la base de données 'centreon\_storage' sont partitionnées +afin : + + - D'optimiser le temps d'exécution de nombreuses requêtes. + - D'optimiser la purge des données. + - De minimiser la reconstruction des tables en erreur lors d'un crash du SGBD. + +Une partition par jour est créée pour les tables suivantes : + + - **data\_bin** : données de performance. + - **logs** : journaux d'évènements de la collecte des moteurs de supervision. + - **log\_archive\_host** : données de disponibilité des hôtes. + - **log\_archive\_service** : données de disponibilité des services. + +> Ce partitionnement comporte des limitations : +> +> - Le nombre maximal de partitions (pour une table) est 1024 +> - Les clés étrangères ne sont pas supportées + +Plus de détails sur le partitionnement MariaDB [à cette +adresse](https://mariadb.com/kb/en/library/partitioning-overview/). + +## Prérequis + +Les prérequis nécessaires pour l'utilisation de ce module sont les suivants : + + - php-mysql + - Pear-DB + - MariaDB (\>= 10.1) + +Le paramètre MariaDB **open\_files\_limit** doit être fixé à 32000 dans la section +\[server\] : + +```text +[server] +open_files_limit = 32000 +``` + +> Si vous +> installez Centreon via les RPM sur votre propre server RedHat, vous +> serez obligé de réaliser cette configuration manuellement. N'oubliez pas de +> redémarrer le service mysql / mariadb si vous avez besoin de configurer ce +> paramètre dans le fichier my.cnf. + +Si vous utilisez systemd, il est nécessaire de créer le fichier +**/etc/systemd/system/mariadb.service.d/mariadb.conf** : + +```text +[Service] +LimitNOFILE=32000 +``` + +Puis recharger systemd et MariaDB : + +```shell +systemctl daemon-reload +systemctl restart mariadb +``` + +## Configuration + +La durée de rétention des données est programmée dans le menu `Administration +> Paramètres > Options` : + +![image](../assets/administration/partitioning-configuration.png) + +Le paramétrage est le suivant : + + - **Retention duration for partitioning** : durée de rétention pour les tables + partitionnées, par défaut **365 jours**. + - **Forward provisioning** : nombre de partitions créées en avance, par défaut + **10 jours**. + - **Backup directory for partitioning** : répertoire de sauvegarde des + partitions, par défaut **/var/cache/centreon/backup**. + +## Fonctionnement + +Le partitionnement utilise des fichiers XML, présents dans le répertoire +**/usr/share/centreon/config/partition.d/** pour créer les partitions +nécessaires. + +Chaque jour, un script lancé par un cron réalise la création des tables +manquantes ou celles en avance : + +```text +0 4 * * * centreon /bin/php /usr/share/centreon/cron/centreon-partitioning.php >> /var/log/centreon/centreon-partitioning.log 2>&1 +``` + +Exemple de fichier de partitionnement **partitioning-data\_bin.xml** : + +```xml + + + + 1 + ctime + date + +CREATE TABLE IF NOT EXISTS `data_bin` ( + `id_metric` int(11) DEFAULT NULL, + `ctime` int(11) DEFAULT NULL, + `value` float DEFAULT NULL, + `status` enum('0','1','2','3','4') DEFAULT NULL, + KEY `index_metric` (`id_metric`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +
+
+``` + +## Migration des tables non partitionnées + +La ligne de commande exécute la procédure suivante : + + - Renomme la table existante (‘xxx’ devient ‘xxx\_old’) + - Crée une table partitionnée vide + - Migre les données dans la table partitionnée (instructions ‘SELECT INSERT’) + +Des vérifications doivent être faites avant : + + - L’espace disponible sur le volume sur lequel se trouvent les bases MariaDB + doit être suffisant pour contenir deux fois la taille des tables traitées + (Index + données). + - Les tables ne doivent pas contenir de données dans le futur (le temps est un + facteur clé pour la mise en place du partitionnement). + - La mémoire sur le serveur MariaDB doit être suffisante. + +> Les requêtes/instructions ‘SELECT INSERT’ vont verrouiller la table et +> probablement certains traitements. + +La migration de la table est effectuée en utilisant l’option **-m** et en +précisant le nom de la table à migrer : + +```shell +/bin/php /usr/share/centreon/bin/centreon-partitioning.php -m data_bin +``` + +Si la migration de la table est ok l’ancienne table peut être supprimée avec la +commande suivante : + +```sql +DROP TABLE centreon_storage.data_bin_old; +``` + +## Supervision du fonctionnement du partitionnement + +Le connecteur de supervision **Centreon Database** permet de contrôler que le nombre de +partitions créées en avances est suffisant. Il est recommandé d'installer et de +déployer ce dernier. + +Il est également possible de visualiser les tables partitionnées et la +consommation associée à chaque partition via le menu `Administration > Statut +de la plateforme > Bases de données` : + +![image](../assets/administration/partitioning-state.png) + +Des informations plus globales sur l’état de santé des bases de données sont +également présentes : + +![image](../assets/administration/database-information.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/disaster-recovery.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/disaster-recovery.md new file mode 100644 index 000000000000..6dcc13bd3222 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/disaster-recovery.md @@ -0,0 +1,10 @@ +--- +id: disaster-recovery +title: Reprise après sinistre +--- + +Pour que votre plateforme résiste aux pannes, assurez-vous de faire des sauvegardes, stockées sur un autre serveur. Vous pouvez : + +- faire des snapshots de vos VMs. +- faire des sauvegardes régulières de la configuration [de votre serveur central](backup.md) et [de vos collecteurs](backup-poller.md). +- [installer un collecteur de secours](backup-poller.md#cas-n°2-collecteur-de-secours) synchronisé avec votre collecteur actif, afin que le collecteur de secours puisse prendre le relais en cas de panne. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/extensions.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/extensions.md new file mode 100644 index 000000000000..4486d19f124e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/extensions.md @@ -0,0 +1,34 @@ +--- +id: extensions +title: Extensions +--- + +Les extensions permettent d'ajouter des fonctionnalités supplémentaires à +Centreon. Il est possible d'installer des extensions en utilisant le +gestionnaire de paquets ou à partir des fichiers sources (\*.tar.gz). + +Les extensions sont regroupées en 3 types : + +- **Communautaires**, sous licence GPL v2, développés par la communauté +Centreon, +- **Core**, sous licence GPL v2, développés par l'équipe Centreon, +- **Propriétaires**, soumis à licence, développés par la société +*[Centreon](http://www.centreon.com)*. + +Pour installer une extension : + +1. Installez l'extension depuis sa documentation associée, +2. Rendez-vous dans le menu **Administration > Extensions > Gestionnaire** + +![image](../assets/administration/install-imp-1.png) + +Pour tout installer en une seule fois cliquez sur **Install all** : + +![image](../assets/administration/install-imp-2.png) + +Vous pouvez également mettre à jour toutes les extensions en cliquant sur le +bouton **Update all**, ou gérez extension par extension. + +En cliquant sur une extension, il est possible d'accéder à sa description : + +![image](../assets/administration/extension-popin.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/knowledge-base.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/knowledge-base.md new file mode 100644 index 000000000000..62d000be699f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/knowledge-base.md @@ -0,0 +1,172 @@ +--- +id: knowledge-base +title: Base de connaissance +--- + +## Introduction + +Intégré nativement depuis la version 2.8.0 de Centreon Web, **Knowledge +Base** permet d'interfacer une base de connaissances techniques de procédures +(wiki). + +Pour cela, elle crée des liens entre un hôte/service et une procédure spécifique +vers un wiki. + +Pour plus de flexibilité, les procédures peuvent être liées directement sur les +modèles. + +**Knowledge Base** est la solution idéale pour lier aisément une base +de connaissance avec Centreon Web. + +## Pré-requis + +**Knowledge Base** requiert que **MediaWiki** (version = 1.31) soit +installé sur un serveur. + +Alternativement vous pouvez [télécharger MediaWiki +ici](http://www.mediawiki.org/wiki/MediaWiki) et accéder à la [documentation +ici](http://www.mediawiki.org/wiki/User_hub). + +## Configuration de l'accès au wiki + +Afin d'utiliser **Knowledge Base**, vous devez le configurer pour qu'il +accède à la base de données du wiki. + +Pour cela rendez-vous dans **Administration > Paramètres > Base de connaissance** et +renseignez le formulaire. + +![image](../assets/administration/parameters-wiki.png) + +## Guide utilisateur + +### Définition + +Une procédure est une documentation technique et/ou fonctionnelle qui met à la +disposition des exploitants un mode opératoire dans le cadre du traitement d'une +alerte. + +Le contenu d'une procédure peut être d'ordre général ou spécifique: + + - Décrire les actions nécessaires à la résolution d'un problème. + - Informer de l'existence d'une consigne particulière (temporaire ou + permanente). + - ... + +Une procédure peut être associée à un hôte ou un service. + +![image](../assets/administration/parameters-wiki-article.png) + +### Algorithme d'affichage : héritage et surcharge + +Pour éviter une trop grande charge de travail sur les procédures de déploiement, +cette fonctionnalité permet à l'administrateur de configurer une procédure +simple pour les hôtes/services. + +Ainsi une procédure peut être spécifiée pour un hôte/service donné mais aussi +pour un modèle d'hôte et de service. + +Si une procédure est définie au niveau d'un modèle, tous les enfants du modèle +parent bénéficieront de cette procédure sauf en cas de surcharge. Ce système est +identique au système de modèle par héritage présent dans Centreon Web. + +La fonctionnalité **Knowledge Base** est conçu pour éviter d'ajouter ou +de mettre à jour manuellement plusieurs fois la même procédure dans la base de +connaissances. + +Quand un utilisateur clique sur la procédure d'un hôte : + + - si une procédure spécifique est définie pour cet hôte, la page wiki de + l'hôte s'affichera + - si aucune procédure spécifique n'est définie mais que le modèle d'hôte a une + procédure alors c'est la page wiki de cette dernière qui s'affichera + - si le modèle d'hôte n'a pas de procédure de définie, alors les modèles + d'hôte parents seront parcourus pour vérifier la présence d'une procédure + - finalement si aucune procédure n'est définie dans l'arbre des modèles, + aucune procédure ne sera accessible. + +Il en est de même pour les services. + +### Création / Mise à jour / Suppression d'une base de connaissances + +Naviguer dans l'interface Web de Centreon vers les sous menus de +`Configuration > Base de connaissance` pour : + + - Lister les hôtes / services / modèles d'hôtes / modèles de services avec + leurs bases de connaissances liées + - Créer / Visualiser / Editer / Visualiser l'historique pour un hôte / service + / modèle d'hôte / modèle de service + - Lister les hôtes / services / modèles d'hôtes / modèles de services sans + base de connaissances définie. + +*Centreon Knowledge Base* utilise un wiki pour stocker sa base de connaissance. +Toutes les créations / modifications sont donc réalisées à travers celui-ci. + +### Lien avec l'interface web de supervision + +La base de connaissance est accessible depuis l'interface Centreon Web à travers +un icône cliquable (voir ci dessous) + +![image](../assets/administration/parameters-wiki-host-monitoring.png) + +En cliquant sur l'icône, l'utilisateur est redirigé vers la base de connaissance +correspondante. + +Si l'icône est situé à gauche du nom de l'hôte, la base de connaissance +concernera l'hôte. + +Si l'icône est situé à droite du nom du service, la base de connaissance +concernera le service. + +## Synchronisation + +Un cron se charge de réaliser les mises à jour de la configuration des hôtes, +des services ainsi que des modèles. + +Par exemple, si vous créez une page dans le wiki en utilisant le motif habituel +(ex : `Host:Centreon-Server` ou `Service:Centreon-Server Disk-/`), le cron +ajoutera automatiquement le lien vers la page du wiki correspondante dans le +champ **URL** de la table **Informations étendues**. + +### Bonnes pratiques de déploiement + +Pour déployer Centreon KnowledgeBase de la meilleure manière, nous vous +recommandons fortement d'utiliser les différents niveaux du système d'héritage. + +La bonne pratique est donc de définir les bases de connaissances au niveau des +modèles. + +Voici un exemple d'une configuration pour un modèle d'hôte : + + - Linux \> Generic-hosts + - Windows \> Generic-hosts + - RedHat \> Linux + - Debian \> Linux + - Active-Directory \> Windows + - LDAP \> Linux + +Pour configurer Centreon KnowledgeBase pour le modèle d'hôte **RedHat**, vous +pouvez suivre la démarche décrite dans la section suivante: [Lien avec l'interface web de +supervision](#lien-avec-linterface-web-de-supervision). + +Dans l'arbre des modèles, il apparaît que le modèle **RedHat** hérite de deux +autres modèles : **Linux** et **Generic-hosts**. + +Dans cet exemple tous les hôtes utilisant le modèle d'hôte *RedHat* auront une +nouvelle base de connaissances disponible. + +Vous pouvez configurer une procédure dans un niveau plus élevé dans l'arbre des +modèles. + +Par exemple si vous définissez une procédure pour le modèle d'hôte **Linux**, tous +les hôtes utilisant les modèles d'hôtes **RedHat**, **Debian** et **LDAP** hériteront +de cette procédure par héritage. + +Le comportement est le même pour les modèles de services. + +> Pour suprimmer le lien d'une base de connaissance pour un hôte / service / +> modèle spécifique, editer l'objet et supprimer le contenu du champ **URL** +> dans l'onglet **Informations détaillées**. +> +> Si l'objet hérite d'une base de connaissance d'un modèle, la suppression du +> contenu du champ surchargera la valeur du modèle et supprimera le lien de la +> base de connaissance. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/licenses.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/licenses.md new file mode 100644 index 000000000000..1e755d607be4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/licenses.md @@ -0,0 +1,131 @@ +--- +id: licenses +title: Licences +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Comment obtenir une licence? + +* Vous pouvez demander votre jeton pour [l'édition gratuite IT-100](../getting-started/it100.md) sur notre site web. +* Si vous avez acheté une licence, demandez vos fichiers de licence à notre équipe [support](https://support.centreon.com). + +## Types de licences + +Selon votre [édition Centreon](https://www.centreon.com/editions/), votre licence peut être : + +- en ligne : gérée avec un jeton. Votre plateforme Centreon doit être connectée à internet. +- hors ligne : gérée avec des fichiers de licence + +## Quels modules demandent une licence? + +Les modules suivants doivent être installés séparément et nécessitent une licence valide. + +- [connecteurs de supervision](../monitoring/pluginpacks.md#installation) +- [Auto Discovery](../monitoring/discovery/installation.md) +- [Anomaly Detection](../monitoring/anomaly-detection.md) +- [Service mapping (BAM)](../service-mapping/install.md) +- [Vues graphiques (MAP)](../graph-views/introduction-map.md) +- [Reporting (MBI)](../reporting/installation.md) + +## Voir les modules soumis à licence + +Allez à la page **Administration > Extensions > Gestionnaire**. Tous les modules installés sur votre plateforme ont un bouton vert avec une coche blanche dedans. Les modules nécessitant une licence ont un bandeau coloré en bas (rouge si vous n'avez pas de licence valide, vert si vous en avez une). + +![image](../assets/administration/licenses.png) + +## Ajouter une licence + + + + +> Consultez les [tableaux des flux réseau](../installation/technical.md#tableaux-des-flux-réseau) pour l'intégration de votre plateforme de supervision. + +Pour utiliser une licence en ligne, votre plateforme Centreon doit être connectée à internet. + +#### Vérifier la connexion à internet + +Assurez-vous que votre plateforme Centreon est autorisée à accéder à internet : + +- Vérifier que la machine peut accéder à cette URL : https://api.imp.centreon.com + +- Ajouter un serveur proxy si besoin : + - Allez à la page **Administration > Paramètres > Centreon UI**, puis **Options de proxy**. + - Cliquez sur **Tester la connexion Internet**. Le message "Connexion réussie" doit apparaître. + +1. Munissez-vous de votre jeton de licence (fourni par notre équipe support). + +2. Allez à la page **Administration > Extensions > Gestionnaire**. + +3. Cliquez sur **Ajouter Token**. Une fenêtre popup s'ouvre. + +4. Collez votre jeton dans la fenêtre popup, puis cliquez sur **Ajouter**. + + - Si votre jeton contient une seule licence, un message de confirmation apparaît. + + - Si votre jeton contient plusieurs licences, choisissez la licence désirée puis cliquez sur **Choisir**. + + Appuyez sur **Esc** pour fermer la popup. La licence est appliquée et la date de validité de la licence est indiquée dans l'encadré de chaque module. + + ![image](../assets/administration/license_valid.png) + + Le bouton **Ajouter Token** devient un bouton **Voir la licence**. + + + + +1. Pour demander votre licence: + + 1. Allez à la page **Administration > Extensions > Gestionnaire**. + + 2. Cliquez sur **Récupérer l'empreinte**. + + 3. Collez l'empreinte dans un email à notre équipe [support](mailto:support@centreon.com) pour demander votre licence. + +2. Une fois votre licence reçue, à la page **Administration > Extensions > Gestionnaire**, cliquez sur **Télécharger une licence**. + +5. Naviguez jusqu'au fichier de licence, puis cliquez sur **OK**. La licence est appliquée et la date de validité de la licence est indiquée dans l'encadré de chaque module. + + ![image](../assets/administration/license_valid.png) + +6. Si vous avez plusieurs licences à ajouter (par exemple pour BAM, MBI...), répétez les étapes précédentes jusqu'à ce que vous ayez téléchargé tous les fichiers de licence. + + + + +## Licence gratuite IT-100 + +La licence IT-100 est une licence en ligne. Voir le chapitre [Mettre en place sa solution gratuite IT-100](../getting-started/it100.md). + +## Dépanner les erreurs sur les licences + +### "No valid file uploaded" + +![image](../assets/administration/license_not_valid.png) + +Vérifiez le contenu du dossier suivant : + +```shell +ls -lah /etc/centreon/license.d/ +``` +Si le dossier contient déjà des licences avec des droits autres que apache/apache, supprimez-les ou changez-en les droits pour qu'elles puissent être écrasées par les nouvelles : + +```shell +chown apache:apache /etc/centreon/license.d/* +chmod 640 /etc/centreon/license.d/* +``` + +### "Your EPP license is not valid" + +* Vérifiez que l'empreinte du serveur central (récupérable à la page **Administration > Extensions > Gestionnaire**) correspond à celui renseigné dans la licence. + + ```shell + less /etc/centreon/license.d/epp.license + ``` + +* Vérifiez que le nombre d'hôtes enregistrés est inférieur à celui prévu par votre licence. Utilisez la commande suivante : + + ```sql + SELECT COUNT(*) FROM centreon.host WHERE host_register='1'; + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/logging-configuration-changes.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/logging-configuration-changes.md new file mode 100644 index 000000000000..5240361b50b2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/logging-configuration-changes.md @@ -0,0 +1,122 @@ +--- +id: logging-configuration-changes +title: Journalisation des modifications de configuration +--- + +## Principe + +Par défaut, Centreon conserve dans un journal toutes les actions utilisateurs +concernant la modification de la configuration de la supervision. Pour accéder à +ces informations, rendez-vous dans le menu **Administration > Logs**. + +![image](../assets/administration/fsearchlogs.png) + +La barre de recherche grise vous permet de filtrer les informations présentées +via les filtres : + + - **Objet** permettant de filtrer sur le nom de l'objet (hôte, service, + contact, définition de trap SNMP, groupe, ...) + - **Utilisateur** permettant de filtrer par auteur de modification + - **Type d'objet** permettant de filtrer par type d'objet modifié. + +## Pratique + +Exemple : Pour voir toutes les actions faites par l'utilisateur **admin**, +renseignez "admin" dans le champ **Utilisateur** puis cliquez sur +**Rechercher**. + +Le tableau ci-dessous définit les colonnes du tableau de résultats : + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
ColonneDescription
HeuresIndique la date et l'heure de l'évènement
Type de modification

Contient le type d'action effectuée. Il existe plusieurs types d'actions possibles :

+
    +
  • Ajouté : Indique que l'objet a été ajouté
  • +
  • Modifié : Indique que l'objet a été modifié
  • +
  • Supprimé : Indique que l'objet a été supprimé
  • +
  • Changement massif : Indique un changement massif de configuration sur des objets
  • +
  • Activé : Indique que l'objet a été activé
  • +
  • Désactivé : Indique que l'objet a été désactivé
  • +
TypeIndique le type d'objet concerné
ObjetIndique le nom de l'objet concerné
AuteurIndique l'utilisateur ayant effectué cette modification
+ +En cliquant sur le nom d'un objet, vous pouvez visualiser l'historique des +modifications réalisées sur ce dernier. + +![image](../assets/administration/fobjectmodif.png) + +Le tableau ci-dessous définit les colonnes du tableau des modifications : + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
ColonneDescription
DateDate et heure de la modification
Nom de l'utilisateurNom de la personne ayant réalisé la modification
TypeType de modification

La dernière colonne décrit la modification en elle-même :

+
    +
  • Nom du champ : Décrit le champ du formulaire modifié
  • +
  • Avant : Indique l'ancienne valeur
  • +
  • Après : Indique la nouvelle valeur
  • +
+ +## Configuration + +Pour activer la journalisation des actions utilisateurs, rendez-vous dans le +menu **Administration > Paramètres > Options** et cocher la case +**Activer/Désactiver les journaux d'audit**: + +![image](../assets/administration/logs_audit_enable.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/centreon-ui.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/centreon-ui.md new file mode 100644 index 000000000000..5a4b176b7bf6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/centreon-ui.md @@ -0,0 +1,70 @@ +--- +id: centreon-ui +title: Centreon UI +--- + +### Options générales + +Cette partie traite de la configuration des options générales de l'interface web +Centreon. + +Depuis le menu **Administration > Paramètres > Centreon web**. + + +- Le champ **Répertoire** désigne le répertoire dans lequel Centreon est +installé +- Le champs **Contacts & Contact groups method calculation** permet de définir +comment l'héritage des notifications des hôtes et services vont être calculés +- Le champ **Limite par page (par défaut)** définit le nombre d'objet affiché +par page de **Configuration** +- Le champ **Limite par page pour les pages de supervision** définit le nombre +d'objet affiché par page au sein du menu **Supervision** +- Le champ **Graphique de performance par page** définit le nombre maximum de +graphiques affichés sur la page de *Performances*\* +- Le champ **Nombre d'éléments présent** définit le nombre maximum d'éléments +affichés dans chaque boîte de sélection +- Le champ **Durée d'expiration de la session**, exprimé en minutes, indique +la durée maximale d'une session +- Le champ **Intervalle de rafraîchissement pour la page des statistiques**, +exprimé en secondes, indique l'intervalle de rafraîchissement pour les +objets de la page des statistiques +- Le champ **Intervalle de rafraîchissement pour la page de supervision**, +exprimé en secondes, indique l'intervalle de rafraîchissement pour les +objets de la page supervision +- Le champ **Trier par** indique le tri par défaut pour les pages de +supervision des hôtes et des services. +- Le champ **Choix de tri** indique l'ordre par défaut de tri pour les pages +de supervision des services et des hôtes. +- Le champ **Trier les problèmes par** permet de choisir comment trier les +différents incidents dans le menu **Supervision** +- La champ **Ordre de tri des problèmes** indique l'ordre d'affichage des +incidents par ordre de gravité croissant ou décroissant +- Le champ **Afficher les temps d'arrêts et les acquittements sur les +graphiques** permet d'afficher ou non ces éléments +- Le champ **Afficher les comentaires sur les graphiques** permet d'afficher +ou non ces éléments +- Le champ **Timezone par défaut de l'hôte** permet de définit un timezone par +défaut pour application du décalage horaire +- Le champ **Adresse mail de contact du support (de la plate-forme de +supervision)** indique l'adresse email de support **Centre des services du +client** pour la plate-forme Centreon. Cette adresse mail sera affichée en +bas de page sur le lien **Centre des services** +- **Send anonymous statistics** définit si oui on non la plateforme enverra des +des données anonymes pour le programme **Centreon Customer Experience +Improvement** + +### Configuration du proxy + +La configuraiton du proxy est nécessaire pour bénéficier de l'offre Centreon IT Edition. + +![image](../../assets/administration/proxy_configuration.png) + +Renseigner les différents champs: + +- **URL du proxy web** +- **Port d'accès au proxy internet** +- **Proxy user** +- **Proxy password** + +Pour valider la configuration, cliquez sur le bouton **Test Internet Connection**. Si le message +**Connection Successful** apparaît, votre configuration est valide, sinon modifiez vos paramètres. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/data-management.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/data-management.md new file mode 100644 index 000000000000..6de1a81c5f5d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/data-management.md @@ -0,0 +1,55 @@ +--- +id: data-management +title: Gestion des données +--- + +En accédant au menu **Administration > Paramètres > Options**, il est possible +de définir les durées de rétention des données de la plate-forme Centreon : + +![image](../../assets/administration/data_retention.png) + +## Stockage des données de performance + +Ce paramétrage concerne les dossiers de stockage des données de performances. +Ces dernières permettent de visualiser les graphiques de performance des +métriques collectées par la supervision, de suivre l'évolution du statut des +services, ou encore de suivre certains indicateurs des moteurs de collectes. + +> Ces valeurs ont été paramétrées durant le processus d'installation, il n'est pas +> recommandé de changer celles-ci. + +- **Chemin d'accès vers les fichiers RRDTool pour les métriques** : par défaut +**/var/lib/centreon/metrics/**. +- **Chemin d'accès vers les fichiers RRDTool pour les statuts** : par défaut +**/var/lib/centreon/status/**. +- **Chemin vers la base de données RRDTool pour les statistiques du moteur de +supervision**: par défaut **/var/lib/centreon/nagios-perf/**. + +## Durée de rétention des données + +Le paramétrage de la durée de rétention permet de limiter la taille de la base +de données : + +- **Retention duration for reporting data (Dashboard)** : durée de rétention +des données des rapports de disponibilité, par défaut **365 jours**. +- **Retention duration for logs** : durée de rétention du journal d'activité +des moteurs de collecte, par défaut **31 jours**. +- **Retention duration for performance data in MySQL database** : durée de +rétention des données de performance en base de données, par défaut **365 +jours** +- **Retention duration for performance data in RRDTool databases** : durée de +rétention des données de performance pour les graphiques de performance, par +défaut **180 jours**. +- **Retention duration for downtimes** : durée de rétention des données des +temps d'arrêts, par défaut illimitée (0 jour). +- **Retention duration for comments** : durée de rétention des commentaires, +par défaut illimitée (0 jour). +- **Retention duration for audit logs** : durée de rétention des logs d'audit, +par défaut illimitée (0 jour). + +> Il est possible de ne pas sauvegarder les données de performance en base de +> données MariaDB si vous n'utilisez pas d'extraction vers des logiciels +> complémentaires tels que Centreon MBI. + +> Si vous changez la durée de rétention pour les graphiques de performance, cette +> valeur ne sera utilisée que pour les nouveaux services ajoutés. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/debug.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/debug.md new file mode 100644 index 000000000000..774fc23476b4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/debug.md @@ -0,0 +1,30 @@ +--- +id: debug +title: Débogage +--- + +Cette partie permet d'activer le niveau *debug* de la journalisation +des processus Centreon. + +Rendez-vous dans le menu **Administration > Paramètres > Débogage**. + +![image](../../assets/administration/parameters-debug.png) + +- Le champ **Répertoire d'enregistrement des journaux** définir le chemin où +seront enregistrés les journaux d'évènements +- La case **Enregistrer les authentifications** permet de journaliser les +authentifications à l'interface Centreon +- La case **Débogage du moteur de supervision** active la journalisation du +débogage de l'ordonnanceur +- La case **Débogage RRDTool** active la journalisation du débogage du moteur +de graphique RRDTool +- La case **Débogage de l'import d'utilisateurs LDAP** active la +journalisation du débogage de l'import des utilisateurs LDAP +- La case **Enregistrer les requêtes SQL** active la journalisation des +requêtes SQL exécutées par l'interface Centreon +- La case **Débogage Centreon Gorgone** active la journalisation du débogage +du processus Gorgone +- La case **Débogage du processus Centstorage** active la journalisation du +débogage du processus Centstorage +- La case **Débogage du moteur de traitement des traps SNMP (centreontrapd)** +active la journalisation du débogage du processus Centreontrapd diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/gorgone.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/gorgone.md new file mode 100644 index 000000000000..2249d2d0bdb5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/gorgone.md @@ -0,0 +1,31 @@ +--- +id: gorgone +title: Gorgone +--- + +Cette partie permet de définir les paramètres nécessaires à Centreon pour +intéragir avec Gorgone. + +Rendez-vous dans le menu **Administration > Paramètres > Gorgone**. + +![image](../../assets/administration/parameters-gorgone.png) + +- Le champ **Activer la récupération des statistiques de Centreon Broker** +active la récupération des statistiques de Centreon Broker. +- Le champ **Temps maximum d'exécution des commandes Gorgone** permet de +définir un temps de d'exécution maximal des commandes lancées par Gorgone. +- Le champ **Caractères illégaux pour les commandes Gorgone** permet de +définir les caractères non autorisés qui seront supprimés des commandes +transférées par le processus. +- Le champ **Adresse IP ou nom d'hôte** permet de définir l'adresse IP ou le +nom d'hôte pour communiquer avec l'API de Gorgone. +- Le champ **Port** permet de définir le port pour communiquer avec l'API de +Gorgone. +- Le champ **Utilisateur** permet de définir l'utilisateur utilisé pour se +connecter à l'API de Gorgone. +- Le champ **Mot de passe** permet de définir le mot de passe utilisé pour se +connecter à l'API de Gorgone. +- Le case **Utiliser SSL/TLS** permet de définir si SSL/TLS doit être utilisé +pour communiquer avec l'API de Gorgone. +- Le case **Autoriser les certificats auto-signés** permet de définir si les +certificats auto-signés sont autorisés. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/ldap.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/ldap.md new file mode 100644 index 000000000000..ef7da8bf952f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/ldap.md @@ -0,0 +1,111 @@ +--- +id: ldap +title: Connecter Centreon à un annuaire LDAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +Lorsque vous connectez Centreon à un annuaire LDAP, les utilisateurs du LDAP peuvent se connecter à Centreon avec leur login LDAP. + +Connecter Centreon à un annuaire LDAP ne crée pas automatiquement les [utilisateurs](../../monitoring/basic-objects/contacts.md) dans Centreon. Suivant votre paramétrage, les utilisateurs issus du LDAP peuvent être créés automatiquement lorsqu'ils se connectent à Centreon, ou bien vous pouvez les importer manuellement. + +Vous pouvez [attribuer des droits aux utilisateurs](../access-control-lists.md) indirectement en les ajoutant à un groupe de contacts (qui pourra lui-même être inclus dans un [groupe d'accès](../access-control-lists.md#créer-un-groupe-daccès)). + +> Si vous souhaitez implémenter une authentification SSO, suivez +> [cette procédure](../../connect/sso.md). + +## Configuration + +Allez à la page **Administration > Paramètres > LDAP** puis cliquez +sur **Ajouter**. + +![image](../../assets/administration/parameters-ldap-add.png) + +- Les champs **Nom de la configuration** et **Description** définissent le nom +et la description du serveur LDAP +- Le champ **Activer l'authentification LDAP** permet d'activer +l'authentification à travers le serveur LDAP +- Le champ **Sauvegarde du mot de passe LDAP** permet de stocker le mot de +passe des utilisateurs en base de données, utile en cas de perte de +connexion avec l'annuaire pour authentifier les utilisateurs +- Champ **Import automatiques des utilisateurs** : + + - **Oui** : Tous les utilisateurs de l'annuaire LDAP pourront se connecter à Centreon et à leur première connexion ils seront créés à la page **Configuration > Contacts > Contacts/Utilisateurs**, avec leurs paramètres LDAP (nom, prénom, adresse mail...). + - **Non** : un utilisateur ne pourra se connecter à Centreon que si son compte a été importé manuellement dans Centreon. + - **Importer les utilisateurs manuellement** : que l'import automatique soit activé ou non, vous pouvez utiliser ce bouton pour importer certains utilisateurs dans la liste des contacts. + +- Le champ **Taille limite de la recherche LDAP** permet de limiter le nombre d'utilisateurs recherchés + (1000 utilisateurs maximum) +- Le champ **Temps maximum d'exécution de la recherche LDAP** permet de +définir le temps maximum de la recherche LDAP +- Le champ **Modèle de contact** définit le [modèle de contact](../../monitoring/basic-objects/contacts-templates.md) qui sera lié +à tous les utilisateurs importés depuis cet annuaire LDAP +- Le champ **Groupe de contacts par défaut** permet d'ajouter à un +groupe de contacts les contacts importés. Cela permet indirectement [d'attribuer des droits aux utilisateurs](../access-control-lists.md) du LDAP. +- Le champ **Utiliser le service DNS** indique s'il faut utiliser le serveur +DNS pour résoudre l'adresse IP de l'annuaire LDAP +- Le champ **LDAP servers** permet d'ajouter un ou plusieurs annuaires LDAP +vers lequel Centreon va se connecter. +- Lorsque l'option **Synchronisation LDAP lors du login** est activée, une +mise à jour des données de l'utilisateur provenant du LDAP sera effectuée +lors de sa connection et ses ACL seront re-calculées. +- Le champ **Intervalle (en heures), entre les synchronisations LDAP** est +affiché si la précédente option est activée. Il permet de spécifier une +durée minimale entre deux synchronisations avec le LDAP. + + > Les données provenant du LDAP ne seront mises à jour que lorsque cet intervalle + > sera écoulé. + > + > Une synchronisation manuelle est possible sur les pages + > **Administration > Sessions** et `Configuration > Utilisateurs > Contacts / + > Utilisateurs`. + > + > L'intervalle est exprimé en heures. Par défaut, ce champ est initié avec la + > plus basse valeur possible : 1 heure. + + > Nous sauvegardons en DB, un timestamp comme date de référence et c'est le CRON + > CentAcl qui le met à jour. + > + > Cette référence temporelle permet de calculer la prochaine synchronisation avec + > le LDAP. + > + > Si vous modifiez l'un de ces deux champs, la base temporelle sera réinitialisée + > à l'heure de la sauvegarde du formulaire. + > + > Cette reférence temporelle n'est pas affectée par les modifications apportées + > sur les autres champs du formulaire. + +- La section **Serveurs LDAP** permet d'ajouter un ou plusieurs annuaires LDAP +auxquels Centreon se connectera. + +Le tableau ci-dessous résume les différents paramètres à insérer pour ajouter un +serveur LDAP : + +| Colonne | Description | +| ------------------ | -------------------------------------------------------------------- | +| Adresse du serveur | Contient l'adresse IP ou nom DNS du serveur LDAP | +| Port | Indique le port de connexion pour accéder à l'annuaire LDAP | +| SSL | Indique si le protocole SSL est utilisé pour la connexion au serveur | +| TLS | Indique si le protocole TLS est utilisé pour la connexion au serveur | + +- Les champs **Utilisateur du domaine** et **Mot de passe** définissent les identifiants +du compte à utiliser pour se connecter au serveur LDAP +- Le champ **Version du protocole** indique la version du protocole à utiliser +pour se connecter +- La liste **Modèle** permet de préconfigurer les filtres de recherche des +utilisateurs sur l'annuaire LDAP. Ces filtres permettent de proposer par +défaut une recherche sur un annuaire de type MS Active Directory, Okta ou +de type Posix. + +> Avant tout import, vérifiez les paramètres par défaut proposés. Si vous n'avez +> sélectionné aucun modèle, vous devez définir manuellement les filtres de +> recherche en complétant les champs. + +> Il est possible d'utiliser l'annuaire **Okta** avec le [plugin +> SWA](https://help.okta.com/en/prod/Content/Topics/Apps/Apps_Configure_Template_App.htm) : +> +> - le champ **Utilisateur du domaine** est du type +> **uid=,dc=,dc=okta,dc=com** +> - et le champ **Base de recherche de groupe DN** du type +> **ou=,dc=,dc=okta,dc=com** diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/medias.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/medias.md new file mode 100644 index 000000000000..fcd7ad159512 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/medias.md @@ -0,0 +1,51 @@ +--- +id: medias +title: Medias +--- + +Les médias sont des images utilisées par l'interface web de Centreon. Ces images +sont utilisées afin de pouvoir représenter de manière plus intuitive les +ressources supervisées, proposer des fonds de cartes pour des modules de +cartographie, etc. + +## Gestion des images + +L'ensemble des images est stocké dans le dossier +**/usr/share/centreon/www/img/media** du serveur Centreon. + +Il existe deux méthodes pour ajouter des images dans ce dossier : + +- Le faire manuellement, +- Utiliser la synchronisation automatique : cette méthode a l'avantage de +pouvoir importer plusieurs images à la fois. + +### Ajout manuel + +Pour ajouter une image dans Centreon, rendez-vous dans le menu **Administration +> Paramètres > Images** et cliquez sur **Ajouter** + +La fenêtre suivante s'affiche : + +![image](../../assets/administration/dmedias.png) + +- Le champ **Nouveau dossier ou dossier existant** permet d'ajouter un nouveau +dossier au sein du dossier d'images ou de choisir un dossier déjà existant +dans lequel pourra être copié l'image +- Le champ **Image ou archive** permet de sélectionner l'image ou l'ensemble +d'images contenu dans une archive qui sera importée +- Le champ **Commentaires** permet de décrire l'image + +### Synchroniser les images + +Pour synchroniser une ou plusieurs images dans les médias Centreon : + +1. Copiez vos images au sein du dossier d'image (les images peuvent être +situées dans des dossiers) +2. Assurez-vous que l'utilisateur qui exécute votre serveur web a les droits en +lecture sur ces images +3. Rendez-vous dans le menu **Administration > Paramétres > Images** +4. Cliquez sur **Synchroniser le répertoire des images** + +La fenêtre suivante importe les nouvelles images : + +![image](../../assets/administration/dmediasimports.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/monitoring.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/monitoring.md new file mode 100644 index 000000000000..d068a7eae17e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/monitoring.md @@ -0,0 +1,32 @@ +--- +id: monitoring +title: Supervision +--- + +Cette partie traite des options générales de l'interface de supervision temps +réel. + +Rendez-vous dans le menu **Administration > Paramètres > Supervision** + +![image](../../assets/administration/parameters-monitoring.png) + +- Le champ **Unité de temps de référence** indique l'intervalle de temps en +seconde utilisé pour planifier les contrôles et les notifications +- Le champ **Répertoire des images** définit le répertoire d'image dans lequel +sont stockés les médias +- Le champ **Répertoire des sondes** définit le répertoire où se situent les +sondes de supervision +- Le champ **Script de démarrage du broker** contient le chemin vers le script +de démarrage du broker +- Le champ **Chemin complet de l'exécutable** contient le chemin vers +l'exécutable permettant d'envoyer des mails +- Les listes **Nombre maximum d'hôtes à afficher** et **Nombre maximum de +services à afficher** contiennent le nombre maximal d'hôte ou de services à +afficher dans la vue d'ensemble (menu **Accueil \> Accueil**) +- Le champ **Intervalle de rafraîchissement de la page** définit l'intervalle +de rafraîchissement des données dans la vue d'ensemble +- Les cases contenues dans les catégories **Options d'acquittement par +défaut** et **Options de temps d'arrêt par défaut** définissent les options +par défaut qui seront cochées ou non lors de la définition d'un acquittement +ou d'un temps d'arrêt +- Le champ **Durée** permet de définir la durée par défaut d'un temps d'arrêt diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/rrdtool.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/rrdtool.md new file mode 100644 index 000000000000..b69ee8642d2b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/parameters/rrdtool.md @@ -0,0 +1,15 @@ +--- +id: rrdtool +title: RRDTool +--- + +Cette partie permet de configurer le chemin vers le moteur de génération des +graphiques RRDTool. + +Rendez-vous dans le menu **Administration > Paramètres > RRDTool** + +![image](../../assets/administration/parameters-rrdtool.png) + +- Le champ **Chemin complet de l'exécutable RRDTOOL** définit le chemin vers +l'exécutable RRDTool +- Le champ **Version de RRDTool** permet de connaître la version de RRDTool diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/platform-statistics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/platform-statistics.md new file mode 100644 index 000000000000..1a9270cfc9f5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/platform-statistics.md @@ -0,0 +1,22 @@ +--- +id: platform-statistics +title: Statistiques de la plateforme +--- + +Le statut de la plate-forme Centreon est disponible via le menu **Administration > Statut de la plateforme**. + +## Statistiques Broker + +Pour visualiser les statistiques de fonctionnement de Centreon Broker, +rendez-vous dans le menu **Administration > Statut de la plateforme > +Statistiques du broker**, puis sélectionnez votre serveur : + +![image](../assets/administration/statistics-broker.png) + +## Statistiques Engine + +Il est également possible de visualiser les performance des moteurs de colllecte +via le menu **Administration > Statut de la plateforme > Statistiques du moteur** +en sélectionnant le serveur désiré : + +![image](../assets/administration/statistics-engine.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/postfix.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/postfix.md new file mode 100644 index 000000000000..094d07253a8d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/postfix.md @@ -0,0 +1,161 @@ +--- +id: postfix +title: Configurer l'envoi d'emails +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour que votre Centreon puisse envoyer des emails de notification, un serveur smtp local doit être configuré. Si votre système d'exploitation est RHEL ou Oracle Linux, Postfix est déjà installé. + +Cette page donne un exemple de configuration. Consultez la [documentation officielle Postfix](https://www.postfix.org/BASIC_CONFIGURATION_README.html) pour plus d'informations. + +Les commandes de notifications sont exécutées par le collecteur qui supervise la ressource : il est nécessaire de configurer le relais mail sur tous les collecteurs. + +Nous vous recommandons d'utiliser un compte mail dédié à l'envoi des notifications. + +## Étape 1 : Configurer Postfix + +1. Dans le terminal de votre serveur, entrez la commande suivante : + + + + +``` shell +dnf install mailx cyrus-sasl-plain +``` + + + + +``` shell +dnf install s-nail cyrus-sasl-plain +``` + + + + +``` shell +apt install mailx cyrus-sasl-plain +``` + + + + +2. Redémarrez Postfix : + + ```shell + systemctl restart postfix + ``` + +3. Configurez Postfix pour qu'il s'exécute au démarrage : + + ```shell + systemctl enable postfix + ``` + +3. Éditez le fichier suivant : + + ```shell + vi /etc/postfix/main.cf + ``` + +4. Ajoutez les informations suivantes : + + ```shell + myhostname = hostname + relayhost = [smtp.isp.com]:port + smtp_use_tls = yes + smtp_sasl_auth_enable = yes + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt + smtp_sasl_security_options = noanonymous + smtp_sasl_tls_security_options = noanonymous + ``` + + - Le paramètre **myhostname** est le hostname du serveur Centreon. + - Le paramètre **relayhost** correspond au serveur de messagerie du compte qui enverra les emails. + + Dans l'exemple suivant, Centreon utilisera un compte Gmail pour envoyer les notifications : + + ```shell + myhostname = centreon-central + relayhost = [smtp.gmail.com]:587 + smtp_use_tls = yes + smtp_sasl_auth_enable = yes + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt + smtp_sasl_security_options = noanonymous + smtp_sasl_tls_security_options = noanonymous + ``` + +## Étape 2 : Configurer les identifiants du compte qui enverra les emails + +1. Créez un fichier `/etc/postfix/sasl_passwd` : + + ```shell + touch /etc/postfix/sasl_passwd + ``` + +2. Ajoutez la ligne suivante, en remplaçant `identifiant:motdepasse` par les informations de connexion du compte qui enverra les emails de notification : + + ```shell + [smtp.fai.com]:port identifiant:motdepasse + ``` + + Exemple: + + ```shell + [smtp.gmail.com]:587 username@gmail.com:XXXXXXXX + ``` + +3. Enregistrez le fichier. + +3. Dans le terminal, entrez la commande suivante : + + ```shell + postmap /etc/postfix/sasl_passwd + ``` + +4. Pour plus de sécurité, changez les permissions sur le fichier `sasl_passwd` : + + ```shell + chown root:postfix /etc/postfix/sasl_passwd* + chmod 640 /etc/postfix/sasl_passwd* + ``` + +3. Rechargez Postfix pour prendre en compte les modifications: + + ```shell + systemctl reload postfix + ``` + +## Dépanner l'envoi d'emails avec Postfix + +- Pour envoyer un email de test, utilisez la commande suivante : + + ```shell + echo "Test" | mail -s "Test" utilisateur@fai.com + ``` + + Remplacez `utilisateur@fai.com` par une véritable adresse email : le destinataire devrait recevoir l'email de test. + +- Si le destinataire n'a pas reçu l'email, vérifiez le fichier de log suivant : + + ```shell + tail -f /var/log/maillog + ``` + +- Pour vérifier si votre service Postfix tourne, entrez: + + ```shell + systemctl status postfix + ``` + + Le résultat devrait ressembler à ça : + + ![image](../assets/administration/postfix-status.png) + +## Configuration spécifique à Gmail + +Si vous souhaitez envoyer des emails en utilisant un compte Gmail, vous devrez activer l'option **Accès pour les applications moins sécurisées** sur celui-ci : voir la page [Autoriser les applications moins sécurisées à accéder à votre compte](https://support.google.com/accounts/answer/6010255). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/secure-platform.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/secure-platform.md new file mode 100644 index 000000000000..b88a209ed29e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/secure-platform.md @@ -0,0 +1,1606 @@ +--- +id: secure-platform +title: Sécurisez votre plateforme +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre vous propose de sécuriser votre plateforme Centreon. + +## Renforcez la sécurité des comptes utilisateurs + +Après l'installation de Centreon, il est nécessaire de changer les mots de passe par défaut des utilisateurs suivants: + +- root +- centreon +- centreon-engine +- centreon-broker +- centreon-gorgone + +Pour cela, utilisez la commande suivante avec un compte privilégié (par exemple sudo) ou avec root (non recommandé - vous devez +avoir un utilisateur dédié) : + +```shell +passwd +``` + +De plus, il est important de vérifier que le compte Apache ne dispose pas de droits de connexion au terminal. Exécutez +la commande suivante : + +```shell +cat /etc/passwd | grep apache +``` + +Vous devez avoir **/sbin/nologin** tel que : + +```shell +apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin +``` + +> Pour rappel, la liste des utilisateurs et des groupes se trouve [ici](../installation/prerequisites.md#utilisateurs-et-groupes) + +## Activer SELinux + +Centreon a récemment développé des règles SELinux afin de renforcer le contrôle +des composants par le système d'exploitation. + +> Ces règles sont actuellement en **mode bêta** et peuvent être activées. Vous +> pouvez les activer en suivant cette procédure. Lors de la détection d'un +> problème, il est possible de désactiver SELinux globalement et de nous envoyer +> vos commentaires afin d'améliorer nos règles sur +> [Github](https://github.com/centreon/centreon). + +### Présentation de SELinux + +Security Enhanced Linux (SELinux) fournit une couche supplémentaire de sécurité du système. SELinux répond +fondamentalement à la question: `Le peut-il faire cette sur ?`, Par exemple: un serveur Web +peut-il accéder aux fichiers des répertoires personnels des utilisateurs ? + +La stratégie d'accès standard basée sur l'utilisateur, le groupe et d'autres autorisations, connue sous le nom de +contrôle d'accès discrétionnaire (DAC), ne permet pas aux administrateurs système de créer des stratégies de sécurité +complètes et précises, telles que la restriction d'applications spécifiques à l'affichage uniquement des fichiers +journaux, tout en permettant à d'autres applications d'ajouter de nouvelles données aux fichiers journaux. + +SELinux implémente le contrôle d'accès obligatoire (MAC). Chaque processus et ressource système possède une étiquette +de sécurité spéciale appelée contexte SELinux. Un contexte SELinux, parfois appelé étiquette SELinux, est un identifiant +qui fait abstraction des détails au niveau du système et se concentre sur les propriétés de sécurité de l'entité. Non +seulement cela fournit un moyen cohérent de référencer des objets dans la stratégie SELinux, mais cela supprime également +toute ambiguïté qui peut être trouvée dans d'autres méthodes d'identification. Par exemple, un fichier peut avoir plusieurs +noms de chemin valides sur un système qui utilise des montages de liaison. + +La politique SELinux utilise ces contextes dans une série de règles qui définissent comment les processus peuvent +interagir entre eux et avec les différentes ressources système. Par défaut, la stratégie n'autorise aucune interaction +à moins qu'une règle n'accorde explicitement l'accès. + +Pour plus d'informations à propos de SELinux, visitez la [documentation Red Hat](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/getting-started-with-selinux_using-selinux) + +### Activer SELinux + +Par défaut, SELinux est désactivé lors du processus d'installation de Centreon et doit être réactivé par la suite pour des raisons de sécurité. + +Pour réactiver SELinux, éditez le fichier **/etc/selinux/config** et changez la valeur avec les options suivantes : +- ``SELINUX=enforcing`` pour que la politique de sécurité SELinux soit appliquée en mode strict. +- ``SELINUX=permissive`` pour que les erreurs d’accès soient enregistrées dans les logs, mais l’accès ne sera pas bloqué. + +Puis redémarrez votre serveur : +```shell +shutdown -r now +``` + +### Installer les paquets Centreon SELinux + +Suivant le type de serveur, installer les paquets avec la commande suivante : + + + + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-map-selinux + ``` + + + + + ```shell + dnf install centreon-mbi-selinux + ``` + + + + + + + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-map-selinux + ``` + + + + + ```shell + dnf install centreon-mbi-selinux + ``` + + + + + + + + + + + ```shell + apt install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + apt install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + apt install centreon-map-selinux + ``` + + + + + ```shell + apt install centreon-mbi-selinux + ``` + + + + + + + +Pour vérifier l'installation, exécutez la commande suivante : + +```shell +semodule -l | grep centreon +``` + +Suivant votre type de serveur, vous pouvez voir : +```shell +centreon-broker 0.0.5 +centreon-common 0.0.10 +centreon-engine 0.0.8 +centreon-gorgoned 0.0.3 +centreon-plugins 0.0.2 +centreon-web 0.0.8 +``` + +### Auditer les journaux et activer SELinux + +Avant d'activer SELinux en **mode renforcé**, vous devez vous assurer qu'aucune erreur n'apparaît à l'aide de la +commande suivante : + +```shell +cat /var/log/audit/audit.log | grep -i denied +``` + +Si des erreurs apparaissent, vous devez les analyser et décider si ces erreurs sont régulières et doivent être ajoutées +en plus des règles SELinux par défaut de Centreon. Pour ce faire, utilisez la commande suivante pour transformer +l'erreur en règles SELinux : + +```shell +audit2allow -a +``` + +Exécutez ensuite les règles proposées. + +Si après un certain temps, aucune erreur n'est présente, vous pouvez activer SELinux en mode renforcé en suivant cette +[procédure](#activer-selinux) avec le mode **enforcing**. + +> N'hésitez pas à nous faire part de vos retours sur [Github](https://github.com/centreon/centreon). + +## Sécuriser les fichiers de configuration + +Changez les permissions des fichiers de configuration suivants: + +```shell +chown centreon:centreon /etc/centreon/conf.pm +chmod 660 /etc/centreon/conf.pm +``` + +et + +```shell +chown apache:apache /etc/centreon/centreon.conf.php +chmod 660 /etc/centreon/centreon.conf.php +``` + +## Sécuriser l'accès root au SGBD + +Vous devez obligatoirement définir un mot de passe pour l'utilisateur **root** de la base de données. Si vous ne l'avez pas déjà fait, exécutez la commande suivante et suivez les instructions : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +## Activer firewalld + + + + +Installez firewalld: + +```shell +dnf install firewalld +``` + + + + + +Installez firewalld: + +```shell +dnf install firewalld +``` + + + + + +Installez firewalld: + +```shell +apt install firewalld +``` + + + + +Activez firewalld: +```shell +systemctl enable firewalld +systemctl start firewalld +``` + +Ajoutez des règles pour firewalld : + +> La liste des flux réseau nécessaires pour chaque type de serveur est définie +> [ici](../installation/architectures.md#tableau-des-flux-de-la-plate-forme). + + + + +Exécutez les commandes suivantes (changez les numéros de port si vous avez personnalisé ceux-ci) : + +```shell +# For default protocols +firewall-cmd --zone=public --add-service=ssh --permanent +firewall-cmd --zone=public --add-service=http --permanent +firewall-cmd --zone=public --add-service=https --permanent +firewall-cmd --zone=public --add-service=snmp --permanent +firewall-cmd --zone=public --add-service=snmptrap --permanent +# Centreon Gorgone +firewall-cmd --zone=public --add-port=5556/tcp --permanent +# Centreon Broker +firewall-cmd --zone=public --add-port=5669/tcp --permanent +``` + + + + +Exécutez les commandes suivantes : + +```shell +# For default protocols +firewall-cmd --zone=public --add-service=ssh --permanent +firewall-cmd --zone=public --add-service=snmp --permanent +firewall-cmd --zone=public --add-service=snmptrap --permanent +# Centreon Gorgone +firewall-cmd --zone=public --add-port=5556/tcp --permanent +``` + + + + +Une fois les règles ajoutées, rechargez firewalld: + +```shell +firewall-cmd --reload +``` + +Pour vérifier que la configuration a été correctement appliquée, utilisez la commande suivante afin de lister toutes les règles actives : + +```shell +firewall-cmd --list-all +``` + +Par exemple : + +```shell +public (active) + target: default + icmp-block-inversion: no + interfaces: eth0 + sources: + services: http snmp snmptrap ssh + ports: 5556/tcp 5669/tcp + protocols: + forward: no + masquerade: no + forward-ports: + source-ports: + icmp-blocks: + rich rules: +``` + +## Activer fail2ban + +Fail2ban est un framework de prévention contre les intrusions, écrit en Python. + +Installez le module inotify: + + + + +```shell +dnf install python3-inotify +``` + + + + +```shell +dnf install python3-inotify +``` + + + + +```shell +apt install python3-inotify +``` + + + + +Installez fail2ban : + + + + +```shell +dnf install epel-release +dnf install fail2ban fail2ban-systemd +``` + +Si SELinux est installé, mettez à jour les politiques SELinux : + +```shell +dnf update -y selinux-policy* +``` + + + + +```shell +dnf install epel-release +dnf install fail2ban fail2ban-systemd +``` + +Si SELinux est installé, mettez à jour les politiques SELinux : + +```shell +dnf update -y selinux-policy* +``` + + + + +```shell +apt install fail2ban +``` + + + + +Activez fail2ban : +```shell +systemctl enable fail2ban +systemctl start fail2ban +``` + +Copiez le fichier de règles par défaut : +```shell +cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local +``` + +Éditez le fichier `/etc/fail2ban/jail.local` et recherchez le bloc **[centreon]**, puis modifiez tel que : +```shell +[centreon] +port = http,https +logpath = /var/log/centreon/login.log +backend = pyinotify +``` + +Pour activer la règle **centreon** fail2ban, créez le fichier `/etc/fail2ban/jail.d/custom.conf` et ajoutez les lignes +suivantes : +```shell +[centreon] +enabled = true +findtime = 10m +bantime = 10m +maxretry = 3 +``` + +> **maxretry** est le nombre d'authentifications échouées avant bannissement de l'adresse IP. +> +> **bantime** est la durée du bannissement. +> +> **findtime** est la plage de temps pour trouver les authentifications en échecs. + +Puis redémarrez fail2ban pour charger votre règle : + +```shell +systemctl restart fail2ban +``` + +Pour vérifier l'état de la règle **centreon**, vous pouvez exécuter : + +```shell +fail2ban-client status centreon +``` + +Voici un exemple de résultat : + +```shell +Status for the jail: centreon +|- Filter +| |- Currently failed: 1 +| |- Total failed: 17 +| `- File list: /var/log/centreon/login.log +`- Actions + |- Currently banned: 0 + |- Total banned: 2 + `- Banned IP list: +``` + +> Pour plus d'informations, visitez le [site officiel](http://www.fail2ban.org). + +## Sécuriser le serveur web en HTTPS + +Par défaut, Centreon installe un serveur web en mode HTTP. Il est fortement recommandé de passer en mode HTTPS en ajoutant votre certificat. Il est également recommandé d'utiliser un certificat validé par une autorité plutôt qu'un certificat auto-signé. + +- Si vous avez déjà un certificat validé par une autorité, vous pouvez passer directement à cette [étape](#activer-le-mode-https-sur-le-serveur-web) pour activer le mode HTTPS sur votre serveur Apache. + +- Si vous ne disposez pas d'un certificat validé par une autorité, vous pouvez en générer un sur des plateformes telles que [Let's Encrypt](https://letsencrypt.org/fr/). + +- Si vous souhaitez créer un certificat selon la méthode auto-signée, suivez cette [étape](#créer-un-certificat-auto-signé) avant d'activer le mode HTTPS sur votre serveur. + +### Créer un certificat auto-signé + +> Cette procédure permet de créer : +- Une clé privée pour le serveur : **centreon7.key** dans notre cas. Elle sera utilisée par le service Apache. +- Un fichier CSR (Certificate Signing Request) : **centreon7.csr** dans notre cas. +- Une clé privée pour le certificat de l'autorité de certification : **ca_demo.key** dans notre cas. +- Un certificat x509 pour signer votre certificat pour le serveur : **ca-demo.crt** dans notre cas. +- Un certificat pour le serveur : **centreon7.crt** dans notre cas. + +Soit un serveur Centreon avec le FQDN suivant : **centreon7.localdomain**. + +1. Préparez la configuration OpenSSL : + + En raison d'un changement de politique chez Google, les certificats auto-signés peuvent être rejetés par le navigateur Google Chrome (sans qu'il soit possible d'ajouter une exception). Pour continuer à utiliser ce navigateur, vous devez modifier la configuration OpenSSL. + + + + + Ouvrez le fichier **/etc/pki/tls/openssl.cnf**. L'objectif est de modifier ce fichier pour renseigner les différents IPs et FQDNs relatifs au serveur. + + + + + Ouvrez le fichier **/etc/pki/tls/openssl.cnf**. L'objectif est de modifier ce fichier pour renseigner les différents IPs et FQDNs relatifs au serveur. + + + + + Ouvrez le fichier **/etc/ssl/openssl.cnf**. L'objectif est de modifier ce fichier pour renseigner les différents IPs et FQDNs relatifs au serveur. + + + + + Recherchez la section ```[v3_ca]``` afin d'ajouter le nouveau tag ```alt_names``` : + + ```text + # Add the alt_names tag that allows you to inform our various IPs and FQDNs for the server + [ alt_names ] + IP.1 = xxx.xxx.xxx.xxx + DNS.1 = centreon7.localdomain + # If you have several IP (HA: vip + ip) + # IP.2 = xxx.xxx.xxx.xxx + [ v3_ca ] + subjectAltName = @alt_names + ``` + + Voici un exemple de ce à quoi le fichier peut ressembler : + ```text + [ alt_names ] + IP.1 = 10.25.11.73 + DNS.1 = centreon7.localdomain + + [ v3_ca ] + subjectAltName = @alt_names + ``` + +2. Créez une clé privée pour le serveur : + +Créez une clé privée nommée **centreon7.key** sans mot de passe afin qu'elle puisse être utilisée par le service Apache. +```text +openssl genrsa -out centreon7.key 2048 +``` + +Protégez le fichier en modifiant ses droits : +```text +chmod 400 centreon7.key +``` + +3. Créez un fichier CSR : + +Avec la clé que vous venez de créer, créez un fichier CSR (Certificate Signing Request). Remplissez les champs avec les informations propres à votre entreprise. Le champ **Common Name** doit être identique au hostname de votre serveur Apache (dans notre cas, **centreon7.localdomain**). +```text +openssl req -new -key centreon7.key -out centreon7.csr +``` + +4. Créez une clé privée pour le certificat de l'autorité de certification : + +Créez une clé privée pour cette autorité : **ca_demo.key** dans notre cas. Ajoutez l'option **-aes256** pour chiffrer la clé produite et y appliquer un mot de passe. Ce mot de passe sera demandé chaque fois que la clé sera utilisée. +```text +openssl genrsa -aes256 2048 > ca_demo.key +``` + +5. Créez un certificat x509 à partir de la clé privée du certificat de l'autorité de certification : + +Créez un certificat x509 qui sera valide pendant un an : **ca_demo.crt** dans notre cas. + +> Notez qu'il est nécessaire de simuler un tiers de confiance : le **Common Name** doit être différent de celui du certificat du serveur. +```text +openssl req -new -x509 -days 365 -key ca_demo.key -out ca_demo.crt +``` + +Ce certificat étant créé, vous pourrez l'utiliser pour signer le certificat du serveur. + +6. Créez un certificat pour le serveur : + +Créez votre certificat pour le serveur en utilisant le certificat x509 (**ca_demo.crt**) pour le signer. + + + + +```text +openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca +``` + + + + +```text +openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca +``` + + + + +```text +openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/ssl/openssl.cnf -extensions v3_ca +``` + + + + +Le mot de passe créé à l'étape **Créer une clé privée pour le certificat de l'autorité de certification** doit être renseigné. Vous obtenez un certificat pour le serveur nommé **centreon7.crt**. + +Vous pouvez voir le contenu du fichier : +```text +less centreon7.crt +``` + +7. Vous devez ensuite récupérer le fichier du certificat x509 (**ca_demo.crt**) et l'importer dans le magasin de certificats de votre navigateur. + +Maintenant que vous avez votre certificat auto-signé, vous pouvez suivre la procédure suivante pour activer le mode HTTPS sur votre serveur Apache. + +### Activer le mode HTTPS sur le serveur web + +1. Installez le module SSL pour Apache : + + + + +```shell +dnf install mod_ssl mod_security openssl +``` + +2. Installez les certificats : + +Installez vos certificats (**centreon7.key** et **centreon7.crt** dans notre cas) en les copiant dans la configuration Apache : + +```shell +cp centreon7.key /etc/pki/tls/private/ +cp centreon7.crt /etc/pki/tls/certs/ +``` + + + + +```shell +dnf install mod_ssl mod_security openssl +``` + +2. Installez les certificats : + +Installez vos certificats (**centreon7.key** et **centreon7.crt** dans notre cas) en les copiant dans la configuration Apache : + +```shell +cp centreon7.key /etc/pki/tls/private/ +cp centreon7.crt /etc/pki/tls/certs/ +``` + + + + +```shell +curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x +apt update +apt install libapache2-mod-security2 +a2enmod ssl +a2enmod security2 +systemctl restart apache2 +``` + +2. Installez les certificats : + +Installez vos certificats (**centreon7.key** et **centreon7.crt** dans notre cas) en les copiant dans la configuration Apache : + +```shell +cp centreon7.key /etc/ssl/private/ +cp centreon7.crt /etc/ssl/certs/ +``` + + + + +3. Sauvegardez la configuration actuelle du serveur Apache pour Centreon : + + + + +```shell +cp /etc/httpd/conf.d/10-centreon.conf{,.origin} +``` + + + + +```shell +cp /etc/httpd/conf.d/10-centreon.conf{,.origin} +``` + + + + +```shell +cp /etc/apache2/sites-available/centreon.conf{,.origin} +``` + + + + +4. Éditer la configuration Apache pour Centreon : + +> Centreon propose un fichier de configuration d'exemple HTTPS disponible dans le répertoire : +> **/usr/share/centreon/examples/centreon.apache.https.conf** + + + + +Éditez le fichier **/etc/httpd/conf.d/10-centreon.conf** en ajoutant la section ****. + + + + +Éditez le fichier **/etc/httpd/conf.d/10-centreon.conf** en ajoutant la section ****. + + + + +Éditez le fichier **/etc/apache2/sites-available/centreon.conf** en ajoutant la section ****. + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + +``` + +Voici un exemple de ce à quoi le fichier peut ressembler : + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/pki/tls/certs/centreon7.crt + SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> N'oubliez pas de changer les directives **SSLCertificateFile** et **SSLCertificateKeyFile** avec les chemins d'accès vers votre clé et votre certificat. Dans notre cas : **SSLCertificateFile /etc/pki/tls/certs/centreon7.crt** et **SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key**. + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/pki/tls/certs/centreon7.crt + SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> N'oubliez pas de changer les directives **SSLCertificateFile** et **SSLCertificateKeyFile** avec les chemins d'accès vers votre clé et votre certificat. Dans notre cas : **SSLCertificateFile /etc/pki/tls/certs/centreon7.crt** et **SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key**. + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/ssl/certs/centreon7.crt + SSLCertificateKeyFile /etc/ssl/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> N'oubliez pas de changer les directives **SSLCertificateFile** et **SSLCertificateKeyFile** avec les chemins d'accès vers votre clé et votre certificat. Dans notre cas : **SSLCertificateFile /etc/ssl/certs/centreon7.crt** et **SSLCertificateKeyFile /etc/ssl/private/centreon7.key**. + + + + +5. Activez les flags HttpOnly / Secure et cacher la signature du serveur Apache : + + + + +Éditez le fichier **/etc/httpd/conf.d/10-centreon.conf** en ajoutant les lignes suivantes avant la balise `` : + +```apacheconf +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +``` + +Éditez le fichier **/etc/php.d/50-centreon.ini** en désactivant le paramètre `expose_php` : + +```phpconf +expose_php = Off +``` + + + + +Éditez le fichier **/etc/httpd/conf.d/10-centreon.conf** en ajoutant les lignes suivantes avant la balise `` : + +```apacheconf +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +``` + +Éditez le fichier **/etc/php.d/50-centreon.ini** en désactivant le paramètre `expose_php` : + +```phpconf +expose_php = Off +``` + + + + +Éditez le fichier **/etc/apache2/sites-available/centreon.conf** en ajoutant les lignes suivantes avant la balise `` : + +```apacheconf +Header set X-Frame-Options: "sameorigin" +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +TraceEnable Off +``` + +Éditez le fichier **/etc/php/8.2/mods-available/centreon.ini** en désactivant le paramètre **expose_php** : + +> Cela a été fait automatiquement pendant l'installation. + + + + +6. Cachez le répertoire par défaut **/icons** : + + + + +Éditez le fichier **/etc/httpd/conf.d/autoindex.conf** en commentant la ligne suivante : + +```apacheconf +#Alias /icons/ "/usr/share/httpd/icons/" +``` + + + + +Éditez le fichier **/etc/httpd/conf.d/autoindex.conf** en commentant la ligne suivante : + +```apacheconf +#Alias /icons/ "/usr/share/httpd/icons/" +``` + + + + +Éditez le fichier **/etc/apache2/mods-available/autoindex.conf** en commentant la ligne suivante : + +> Le répertoire est caché par défaut. + + + + +7. Vous pouvez effectuer ce test vérifiant qu'Apache est bien configuré, en exécutant la commande suivante : + + + + +```apacheconf +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```apacheconf +Syntax OK +``` + + + + +```apacheconf +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```apacheconf +Syntax OK +``` + + + + +```apacheconf +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```apacheconf +Syntax OK +``` + + + + +8. Redémarrez le serveur web Apache et PHP pour prendre la configuration en compte : + + + + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +```shell +systemctl restart php8.2-fpm apache2 +``` + +Puis vérifiez le statut : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +Vous pouvez maintenant accéder à votre plateforme via votre navigateur en mode HTTPS. + +> Une fois que votre serveur web est configuré en mode HTTPS et si vous avez un serveur MAP sur votre plateforme, vous devez le configurer en mode HTTPS également. Sinon, les navigateurs web récents peuvent bloquer la communication entre les deux serveurs. Voir la procédure détaillée [ici](../graph-views/secure-your-map-platform.md/#configure-httpstls-on-the-map-server). + +9. Configuration API de Gorgone + +Éditez le fichier **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** en remplaçant **127.0.0.1** +par le FQDN de votre serveur central : + +```text +gorgone: + tpapi: + - name: centreonv2 + base_url: "http://centreon7.localdomain/centreon/api/latest/" + username: "centreon-gorgone" + password: "bpltc4aY" + - name: clapi + username: "centreon-gorgone" + password: "bpltc4aY" +``` + +Redémarrez le daemon Gorgone : + +```shell +systemctl restart gorgoned +``` + +Puis vérifiez le statut : + +```shell +systemctl status gorgoned +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Mon 2023-03-06 15:58:10 CET; 27min ago + Main PID: 1791096 (perl) + Tasks: 124 (limit: 23040) + Memory: 595.3M + CGroup: /system.slice/gorgoned.service + ├─1791096 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─1791109 gorgone-statistics + ├─1791112 gorgone-legacycmd + ├─1791117 gorgone-engine + ├─1791118 gorgone-audit + ├─1791125 gorgone-nodes + ├─1791138 gorgone-action + ├─1791151 gorgone-cron + ├─1791158 gorgone-dbcleaner + ├─1791159 gorgone-autodiscovery + ├─1791166 gorgone-httpserver + ├─1791180 gorgone-proxy + ├─1791181 gorgone-proxy + ├─1791182 gorgone-proxy + ├─1791189 gorgone-proxy + └─1791190 gorgone-proxy + +mars 06 15:58:10 ito-central systemd[1]: gorgoned.service: Succeeded. +mars 06 15:58:10 ito-central systemd[1]: Stopped Centreon Gorgone. +mars 06 15:58:10 ito-central systemd[1]: Started Centreon Gorgone. +``` + +Vous devriez voir la ligne suivante dans les logs de Gorgone **/var/log/centreon-gorgone/gorgoned.log** : + +```text +2023-03-06 15:58:12 - INFO - [autodiscovery] -class- host discovery - sync started +``` + +## URI personnalisée + +Il est possible de personnaliser l'URI de connexion à votre plateforme Centreon. Par exemple, **/centreon** peut être remplacé par **/monitoring**. + +> Au moins un niveau de chemin est obligatoire. + +Pour personnaliser l'URI de Centreon : + +1. Éditez le fichier de configuration Apache pour Centreon : + + + + +```shell +vi /etc/httpd/conf.d/10-centreon.conf +``` + + + + +```shell +vi /etc/httpd/conf.d/10-centreon.conf +``` + + + + +```shell +vi /etc/apache2/sites-available/centreon.conf +``` + + + + +2. Remplacez le chemin **/centreon** par le chemin désiré : + +```apache +Define base_uri "/centreon" +``` + +3. Redémarrez Apache : + + + + +```shell +systemctl restart httpd +``` + + + + +```shell +systemctl restart httpd +``` + + + + +```shell +systemctl restart apache2 +``` + + + + +## Activation du http2 + +Il est possible d'activer le protocole http2 pour améliorer les performances réseaux de Centreon. + +Pour utiliser http2, vous devez suivre les étapes suivantes: + + + + +1. [Configurer le https pour Centreon](#sécuriser-le-serveur-web-en-https). + +2. Installez le module nghttp2: + +```shell +dnf install nghttp2 +``` + +3. Activez le protocole **http2** dans **/etc/httpd/conf.d/10-centreon.conf** : + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Modifiez la méthode utilisée par apache pour le module multi-processus dans **/etc/httpd/conf.modules.d/00-mpm.conf** : + +Commentez la ligne suivante : + +```shell +LoadModule mpm_prefork_module modules/mod_mpm_prefork.so +``` + +Décommentez la ligne suivante : + +```shell +LoadModule mpm_event_module modules/mod_mpm_event.so +``` + +5. Redémarrez le processus Apache pour prendre en compte la nouvelle configuration : + +```shell +systemctl restart httpd +``` + + + + +1. [Configurer le https pour Centreon](#sécuriser-le-serveur-web-en-https). + +2. Installez le module nghttp2: + +```shell +dnf install nghttp2 +``` + +3. Activez le protocole **http2** dans **/etc/httpd/conf.d/10-centreon.conf** : + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Modifiez la méthode utilisée par apache pour le module multi-processus dans **/etc/httpd/conf.modules.d/00-mpm.conf** : + +Commentez la ligne suivante : + +```shell +LoadModule mpm_prefork_module modules/mod_mpm_prefork.so +``` + +Décommentez la ligne suivante : + +```shell +LoadModule mpm_event_module modules/mod_mpm_event.so +``` + +5. Redémarrez le processus Apache pour prendre en compte la nouvelle configuration : + +```shell +systemctl restart httpd +``` + + + + +1. [Configurer le https pour Centreon](#sécuriser-le-serveur-web-en-https). + +2. Installez le module nghttp2: + +```shell +apt install nghttp2 +``` + +3. Activez le protocole **http2** dans **/etc/apache2/sites-available/centreon.conf** : + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Exécutez les commandes suivantes : + +```shell +a2dismod php8.2 +a2dismod mpm_prefork +a2enmod mpm_event +a2enmod http2 +``` + +5. Redémarrez le processus Apache pour prendre en compte la nouvelle configuration : + +```shell +systemctl restart apache2 +``` + + + + +## Authentification des utilisateurs + +Centreon propose plusieurs méthodes pour authentifier les utilisateurs : + +- [localement](../connect/loginpwd.md) (MySQL) +- [LDAP](./parameters/ldap.md) +- [Generic SSO](../connect/sso.md) ou [OpenId Connect](../connect/openid.md) + +## Créer des profils d'utilisateurs + +Centreon propose de gérer les autorisations d'accès aux différents menus, ressources et actions possibles sur ces ressources +via la gestion de [liste de contrôle d'accès](./access-control-lists.md). + +## Communications sécurisées entre les serveurs + +Il est fortement recommandé de sécuriser les communications entre les différents serveurs de la plateforme Centreon si +certains serveurs ne sont pas dans un réseau sécurisé. + +> Le tableau des flux réseau est disponible [ici](../installation/architectures.md#tableau-des-flux-réseau). + +### Communication Centreon Broker + +#### Centreon Broker et pare-feu + +Parfois, il n'est pas possible d'initialiser le flux Centreon Broker depuis le collecteur (ou Remote Server) +vers le serveur Centreon Central ou le Remote Server. +[Voir la configuration suivante pour inverser le flux](../monitoring/monitoring-servers/advanced-configuration.md#centreon-broker-and-the-firewall). + +#### Authentification des flux Centreon Broker + +Si vous devez authentifier des collecteurs qui envoient des données, vous pouvez utiliser le mécanisme d'authentification +Centreon Broker, qui est basé sur des certificats X.509. +[Voir la configuration suivante pour authentifier les collecteurs](../monitoring/monitoring-servers/advanced-configuration.md#authentification-avec-centreon-broker). + +#### Compressez et chiffrez la communication Centreon Broker + +Il est également possible de compresser et de chiffrer la communication de Centreon Broker. Allez dans le menu +`Configuration > Pollers > Broker configuration`, modifiez votre configuration Centreon Broker et activez les entrées +et sorties **IPv4**: + +- Enable TLS encryption: Auto +- Enable negotiation: Yes +- Compression (zlib): Auto + +### Communication Centreon Gorgone + +Par défaut, les communications ZMQ sont sécurisées, à la fois celles externes (avec le collecteur) et celles internes (entre processus gorgone). + +Cependant, l'API gorgone HTTP n'est pas sécurisée par défaut. Seul localhost peut communiquer avec gorgone, mais il n'utilise pas SSL. + +Vous pouvez [configurer SSL](https://github.com/centreon/centreon-collect/blob/develop/gorgone/docs/modules/core/httpserver.md) via le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml**. + +Puis configurez gorgone à la page **Administration > Paramètres > Gorgone**. + +Le fichier **/etc/centreon-gorgone/config.d/whitelist.conf.d/centreon.yaml** (sur votre serveur central, vos serveurs distants et vos collecteurs) contient les listes blanches pour Gorgone. Si vous souhaitez personnaliser les commandes autorisées, n'éditez pas ce fichier. Créez un nouveau fichier dans le même dossier, par exemple **/etc/centreon-gorgone/config.d/whitelist.conf.d/custom.yaml**. + +## Gestion de l'information et des événements de sécurité (SIEM) + +Les journaux des événements Centreon sont disponibles dans les répertoires suivants : + +| Répertoires des journaux | Central server | Remote Server | Poller | Centreon Map server | Centreon MBI Server | +|---------------------------|----------------|---------------|--------|---------------------|---------------------| +| /var/log/centreon | X | X | | | | +| /var/log/centreon-broker | X | X | X | | | +| /var/log/centreon-engine | X | X | X | | | +| /var/log/centreon-gorgone | X | X | X | | | +| /var/log/centreon-bi | X | X | | | | +| /var/log/centreon-map | X | X | | X | X | + +> De plus, toutes les actions de modification de la configuration de Centreon effectuées par les utilisateurs sont +> disponibles via le menu [**Administration > Logs**](./logging-configuration-changes.md). + +## Sauvegardez votre plateforme + +Centreon propose de sauvegarder la configuration de la plateforme. Pour ce faire, accédez au menu +[**Administration > Parameters > Backup**](./backup.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/sql-proxy.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/sql-proxy.md new file mode 100644 index 000000000000..4dfd660f00ae --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/administration/sql-proxy.md @@ -0,0 +1,126 @@ +--- +id: sql-proxy +title: Optimiser le trafic vers les bases de données +--- + +> Cette procédure concerne les très gros environnements de production avec de nombreux utilisateurs, devant faire face à des problèmes de temps de réponse de l'interface. + +Lorsque la plateforme Centreon supervise de nombreux services et que l’application web sollicite fortement la base de données temps-réel, Broker peut avoir du mal à enregistrer l’ensemble des métriques. Cela aura pour effet de créer des fichiers de rétention, entraînant ainsi un délai entre la réception des nouveaux statuts et leur disponibilité dans l’interface web. + +Cette procédure a pour but de permettre une réduction de charge de la base de données en redirigeant une partie des requêtes vers un second serveur de bases de données. + +L’objectif est de soulager la base de données temps-réel (**centreon_storage**) pour éviter à Broker de faire de la rétention. Toutes les requêtes de lecture (SELECT) à destination de la base de données temps-réel seront redirigées vers la base de données répliquée. + +Le cas d’usage minimal consiste à mettre en place une réplication des bases de données. Pour assurer correctement ce routage, nous installerons entre la plateforme Centreon et les bases de données un serveur **ProxySQL**. + +![image](../assets/administration/sql_proxy.png) + +Votre architecture contiendra les 3 éléments suivants : + +* un serveur central Centreon, et ProxySQL installé sur celui-ci +* la base de données principale (qui sera une base de données déportée puisqu'il s'agit d'une plateforme à haute volumétrie) +* une base de données secondaire. + +> Attention : en cas de défaillance, ProxySQL ne pourra pas gérer le basculement de base de données automatiquement et votre site ne sera plus fonctionnel, c'est donc à vous de mettre en place une stratégie de tolérance aux pannes. +> Il faudra vous assurer de rediriger au plus vite l'ensemble des requêtes SQL vers votre nouveau serveur SQL Master le temps de la résolution de votre incident. + +> Il est fortement conseillé d'utiliser des FQDN plutôt que des adresses IP fixes. + +## Installation + +Afin de permettre la répartition des requêtes, nous utiliserons le logiciel [ProxySQL](https://proxysql.com/). + +1. Sur votre serveur central, [téléchargez puis installez](https://proxysql.com/documentation/installing-proxysql/) la version de ProxySQL correspondant à votre OS. + +2. Démarrez le service : + + ```shell + service proxysql start + ``` + +## Configuration + +### ProxySQL + +1. Sur le serveur central, connectez-vous à ProxySQL (le mot de passe par defaut est **admin**): + + ```shell + mysql -h127.0.0.1 -uadmin -P6032 -p + ``` + +2. Définissez dans ProxySQL les adresses IP des deux serveurs SQL, Master & Slave. Pour rappel, le serveur SQL Slave sera destiné à recevoir l'ensemble des requêtes de lecture (SELECT) liées aux données temps-réel. + + ```shell + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (0, ip_SQL_server_master); + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (1, ip_SQL_server_slave); + ``` + + Exemple : + + ```shell + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (0, "192.168.0.2"); + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (1, "192.168.0.3"); + ``` + +3. Créez l'utilisateur qui se connectera aux deux serveurs. Cet utilisateur doit être identique sur ProxySQL et sur vos deux bases de données. + + ```shell + INSERT INTO mysql_users (default_hostgroup, username, password) VALUES (0, SQL_user_login, SQL_user_password); + ``` + + Exemple : + + ```shell + INSERT INTO mysql_users (default_hostgroup, username, password) VALUES (0, "centreon", "centreon"); + ``` + + (La valeur **0** attribuée à la propriété **default_hostgroup** correspond à l'index du serveur SQL Master. Cela permet d'indiquer quel sera le serveur de destination par défaut pour l'ensemble des requêtes SQL.) + +4. Définissez quelles requêtes SQL doivent être redirigées vers le serveur SQL Slave : + + ```shell + INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (1, 1, '.*? AS REALTIME.*', 1,1); + INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (2, 1, '^SELECT.*FOUND_ROWS\(\).*AS.*REALTIME$', 1,1); + ``` + + **Explication** : Toutes les requêtes temps-réel pouvant être routées par le serveur proxy contiennent le mot clef **REALTIME**. Les requêtes ci-dessus contiennent des regex permettant d'identifier les requêtes temps-réel en provenance de Centreon. + + (La valeur **1** attribuée à la propriété **destination_hostgroup** correspond à l'index du serveur serveur SQL Slave. Cela permet d'indiquer quel sera le serveur de destination pour l'ensemble des requêtes SQL de type temps-réel.) + +5. Exécutez les commandes suivantes afin que ProxySQL prenne en compte la nouvelle configuration. + + ```shell + LOAD MYSQL SERVERS TO RUNTIME; + LOAD MYSQL USERS TO RUNTIME; + LOAD MYSQL QUERY RULES TO RUNTIME; + ``` + +6. Sauvegardez la configuration afin qu’elle soit prise en compte si le serveur ProxySQL redémarrait. + + ```shell + SAVE MYSQL SERVERS TO DISK; + SAVE MYSQL USERS TO DISK; + SAVE MYSQL QUERY RULES TO DISK; + ``` + +### Centreon + +Une fois le serveur ProxySQL correctement configuré, modifiez la configuration de Centreon afin de faire passer toutes les requêtes par ProxySQL : + +1. Faites une sauvegarde du fichier **/etc/centreon/centreon.conf.php**. + +2. Ouvrez le fichier **/etc/centreon/centreon.conf.php**, puis modifiez l'adresse des bases de données ainsi que le port de connexion. + + ```shell + $conf_centreon['hostCentreon'] = ip_serveur_proxy; + $conf_centreon['hostCentstorage'] = ip_serveur_proxy; + $conf_centreon['port'] = "6033"; + ``` + +Exemple : + + ```shell + $conf_centreon['hostCentreon'] = "127.0.0.1"; + $conf_centreon['hostCentstorage'] = "127.0.0.1"; + $conf_centreon['port'] = "6033"; + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/acknowledge.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/acknowledge.md new file mode 100644 index 000000000000..bfc45d72ff00 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/acknowledge.md @@ -0,0 +1,147 @@ +--- +id: acknowledge +title: Acquitter une alerte +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Acquitter une alerte + +### Principe + +Lorsqu'un hôte ou un service présente un incident et que ce dernier est +validé, le processus de notification est enclenché, pouvant générer une +notification envoyée à un contact. Si le problème persiste et suivant la +configuration réalisée (relancer une notification à intervalle de temps +régulier, escalade de notification) il est possible que d'autres notifications +soient émises. + +L'acquittement d'une alerte permet de stopper le processus de +notification (envoi de notifications), jusqu'à ce que l'hôte ou le +service retrouve un statut nominal. + +Exemple d'utilisation : + +Un service est chargé de vérifier la santé des disques durs d'une baie +de disques. Un disque dur physique tombe en panne sur une baie de disques, +une notification est envoyée. L'opérateur de supervision acquitte le +service en précisant qu'une équipe est en train de régler le problème. +Les notifications ne sont plus envoyées. Le service reprendra son état +nominal après changement du disque. + +> L'acquittement d'une alerte signifie la prise en compte du problème +> par un utilisateur de la supervision, et non la résolution de ce +> dernier qui ne pourra être effective que lorsque le contrôle sera +> revenu dans son état nominal. + +### En pratique + +Pour acquitter une alerte, plusieurs solutions sont possibles : + + + + +1. Allez à la page **Supervision > Statut des ressources**. +2. Utilisez une des méthodes suivantes : + - Sélectionnez le ou les objets que vous souhaitez acquitter, puis cliquez sur le bouton **Acquitter** au-dessus de la liste des ressources. + - Survolez la ressource désirée, puis cliquez sur l'icône **Acquitter** qui apparaît à gauche : + + ![image](../assets/alerts/resources-status/ack-hover.gif) + + Une fenêtre apparaît : + + - Le champ **Commentaire** est généralement utilisé pour fournir la raison de l'acquittement et est obligatoire. + + - Si la case **Notifier** est cochée, alors une notification est envoyée aux contacts liés à l'objet pour les avertir que l'incident sur la ressource a été acquitté (dans le cas où le filtre de notification d'acquittement est activé pour ce contact). + + - Si la case **Persistant (non-OK)** est cochée, alors l'acquittement sera conservé en cas de changement de statut non-OK (Exemple DOWN à UNREACHABLE ou bien WARNING à CRITICAL). Sinon, l'acquittement disparaît et le processus de notification est réactivé. + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le ou les objets que vous souhaitez acquitter. +3. Dans le menu **More actions** cliquez sur **Hosts: Acknowledge** ou sur + **Services: Acknowledge** + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/acknowledged.png) + +- Si la case **Sticky** est cochée, alors l'acquittement sera conservé + en cas de changement de statut non-OK (Exemple DOWN à UNREACHABLE ou + bien WARNING à CRITICAL). Sinon, l'acquittement disparaît et le + processus de notification est réactivé. +- Si la case **Notify** est cochée, alors une notification est envoyée + aux contacts liés à l'objet pour les avertir que l'incident sur la + ressource a été acquitté (dans le cas où le filtre de notification d'acquittement est activé pour ce contact). +- Si la case **Persistent** est cochée, alors l'acquittement sera + conservé en cas de redémarrage de l'ordonnanceur. Sinon, + l'acquittement disparaît et le processus de notification est + réactivé. +- Le champ **Comment** est généralement utilisé pour fournir la raison + de l'acquittement et est obligatoire. +- Si la case **Acknowledge services attached to hosts** est cochée, + alors tous les services liés à l'hôte seront acquittés (option + visible uniquement si vous acquittez un hôte). +- Si la case **Force active checks** est cochée, alors une commande + sera envoyée à l'ordonnanceur pour recontrôler la ressource dans les plus brefs + délais. + + + + +A partir de la page de détail d'un objet, cliquez sur l'icône activé +associé au champ **Acknowledged** dans le cadre **Options**. + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/acknowledged.png) + +- Si la case **Sticky** est cochée, alors l'acquittement sera conservé + en cas de changement de statut non-OK (Exemple DOWN à UNREACHABLE ou + bien WARNING à CRITICAL). Sinon, l'acquittement disparaît et le + processus de notification est réactivé. +- Si la case **Notify** est cochée, alors une notification est envoyée + aux contacts liés à l'objet pour les avertir que l'incident sur la + ressource a été acquitté (dans le cas où le filtre de notification d'acquittement est activé pour ce contact). +- Si la case **Persistent** est cochée, alors l'acquittement sera + conservé en cas de redémarrage de l'ordonnanceur. Sinon, + l'acquittement disparaît et le processus de notification est + réactivé. +- Le champ **Comment** est généralement utilisé pour fournir la raison + de l'acquittement et est obligatoire. +- Si la case **Acknowledge services attached to hosts** est cochée, + alors tous les services liés à l'hôte seront acquittés (option + visible uniquement si vous acquittez un hôte). +- Si la case **Force active checks** est cochée, alors une commande + sera envoyée à l'ordonnanceur pour recontrôler la ressource dans les plus brefs + délais. + + + + +### Supprimer un acquittement + +Pour supprimer l'acquittement d'un incident sur un objet : + + + + +1. Allez à la page **Supervision > Statut des ressources**. +2. Sélectionnez le ou les objets à désacquitter. +3. Dans le menu **Plus d'actions**, cliquez sur **Désacquitter**. + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (or + **Services**) menu +2. Sélectionnez les objets auxquels vous souhaitez supprimer + l'acquittement +3. Dans le menu **More actions**, cliquez sur **Hosts: Disacknowledge** + ou sur **Services: Disacknowledge** + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/concepts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/concepts.md new file mode 100644 index 000000000000..7bc77c66f578 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/concepts.md @@ -0,0 +1,87 @@ +--- +id: concepts +title: Statuts possibles d'une ressource +--- + +Les statuts indiquent la disponibilité d'un hôte, et la disponibilité ou la performance d'un service. Chaque +statut a une signification bien précise pour la ressource. +* Les statuts et états d'une ressource sont affichés à la page +[Statut des ressources](resources-status.md). Vous pouvez filtrer cette page en fonction des statuts et de certains états. +* Certains statuts sont déterminés par des seuils définis par l'utilisateur. + + +## Statut des hôtes + +Le tableau ci-dessous résume l'ensemble des statuts possibles pour un hôte. + +| Status | Description | +|------------------------------------------------------|------------------------------------| +| DISPONIBLE | L'hôte est disponible et joignable | +| INDISPONIBLE | L'hôte est indisponible | +| INJOIGNABLE | L'hôte est injoignable : il [dépend](notif-dependencies.md) d'un hôte dont le statut est **INDISPONIBLE** | +| EN ATTENTE | L'hôte vient d'être créé mais n'a pas encore été contrôlé par le moteur de supervision | + +## Statut des services + +Le tableau ci-dessous résume l'ensemble des statuts possibles pour un service. + +| Status | Description | +|----------------------------------------------------|------------------------------------------------------------------------| +| OK | Le service ne présente aucun problème | +| ALERTE | Le service a dépassé le seuil d'alerte | +| CRITIQUE | Le service a dépassé le seuil critique | +| INCONNU | Le statut du service ne peut être vérifié (exemple : agent SNMP DOWN…) | +| EN ATTENTE | Le service vient d'être créé mais n'a pas encore été contrôlé par le moteur de supervision | + +## États + +En plus de leur statut, les ressources peuvent avoir différents états : + +- [Acquitté](acknowledge.md) : indique que l'incident sur le service ou l'hôte est pris en + compte par un utilisateur. Les ressources acquittées ont un fond jaune. +- [En maintenance](downtimes.md) : indique que les notifications sont temporairement suspendues pour cette ressource. Une plage de maintenance peut être [planifiée à l'avance](downtimes.md#les-temps-darrêt-récurrents) pour éviter de recevoir des alertes pendant une opération de maintenance. Elle peut également être définie suite à un incident. Les ressources en maintenance ont un fond violet. + +- [Flapping](notif-flapping.md) (bagotement) : le pourcentage de +changement de statut de la ressource est très élevé. Ce pourcentage est +obtenu à partir de calculs effectués par le moteur de supervision. Les ressources dans un état de bagotement affichent l'icône suivante dans leur panneau **Détails** : + ![image](../assets/alerts/flapping_icon.png) + +## Types de statuts + +Le statut d'une ressource peut avoir deux types : + +- SOFT : Signifie qu'un incident vient d'être détecté et que ce + dernier doit être confirmé. +- HARD : Signifie que le statut de l'incident est confirmé. Lorsque le + statut est confirmé, le processus de notification est enclenché + (envoi d'un mail, SMS, …). + +Vous pouvez filtrer la page [Resources Status](resources-status.md) suivant le type de statut. + +### Explication + +Un incident (statut non-OK) est confirmé à partir du moment où le nombre +d'essais de validation est arrivé à son terme. La configuration d'un +objet (hôte ou service) implique un intervalle de contrôle régulier, un +nombre d'essais pour valider un état non-OK ainsi qu'un intervalle +non-régulier de contrôle. Dès la détection du premier incident, le +statut est dans un état “SOFT” jusqu'à sa validation en état “HARD” +déclenchant le processus de notification. + +Exemple : + +![image](../assets/configuration/soft_hard_states.png) + +| Temps | Nombre de vérifications | Statut | Type de statut | Changement d'état | Commentaire | +|-------|-------------------------|----------|------|-------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| t+0 | 1/3 | OK | HARD | No | État initial du service | +| t+5 | 1/3 | CRITICAL | SOFT | Yes | Première détection d'un état non-OK. Le gestionnaire d'événements s'exécute (event handlers). | +| t+6 | 2/3 | WARNING | SOFT | Yes | Le service continue à être dans un statut non-OK. Le gestionnaire d'événements s'exécute. | +| t+7 | 3/3 | CRITICAL | HARD | Yes | Le nombre maximal de tentatives de vérification a été atteint, le service passe donc à l'état HARD. Le gestionnaire d'événements s'exécute et une notification de problème est envoyée. Le contrôle # est remis à 1 immédiatement après que cela se produit. | +| t+12 | 3/3 | WARNING | HARD | Yes | Le service passe à un état HARD WARNING. Le gestionnaire d'événements s'exécute et une notification de problème est envoyée. | +| t+17 | 3/3 | WARNING | HARD | No | Le service se stabilise dans un état de problème HARD. En fonction de l'intervalle de notification pour le service, une autre notification peut être envoyée. | +| t+22 | 1/3 | OK | HARD | Yes | Le service revient à un statut OK HARD. Le gestionnaire d'événements s'exécute et une notification de récupération est envoyée. | +| t+27 | 1/3 | OK | HARD | No | Le service est toujours OK. | +| t+28 | 1/3 | UNKNOWN | SOFT | Yes | Le service passe à un état SOFT non-OK. Le gestionnaire d'événements s'exécute. | +| t+29 | 2/3 | OK | SOFT | Yes | Le service revient à un état OK SOFT. Le gestionnaire d'événements s'exécutent, mais les notifications ne sont pas envoyées, car ce n'était pas un problème "réel". Le type d'état est défini sur HARD et le contrôle # est remis à 1 immédiatement après que cela se produit. | +| t+30 | 1/3 | OK | HARD | No | Le service se stabilise dans un état OK HARD. | \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/custom-views.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/custom-views.md new file mode 100644 index 000000000000..cacb0b32366b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/custom-views.md @@ -0,0 +1,118 @@ +--- +id: custom-views +title: Vues personnalisées (legacy) +--- + +Les vues personnalisées sont des tableaux de bord, créés à l'aide de widgets. Vous pouvez partager des vues avec les autres utilisateurs. Voir aussi notre [tutoriel](../getting-started/create-custom-view.md) sur les vues personnalisées. + +## Créer une vue personnalisée + +1. Allez à la page **Accueil > Vues personnalisées**. + +2. Cliquez sur l'icône **Afficher/cacher le mode édition** en haut à droite de la page : ![image](../assets/alerts/edit_mode.png#thumbnail1) + + La barre d'édition apparaît: + + ![image](../assets/alerts/bar.png) + +3. Cliquez sur **Ajouter une vue** : une pop-up apparaît. + + ![image](../assets/alerts/view_add.png) + +4. Sélectionnez **Créer une nouvelle vue** : + - entrez un nom + - sélectionnez le nombre de colonnes désiré (c'est-à-dire le nombre de widgets disposés horizontalement sur la page) + - sélectionnez **Public** pour [partager votre vue](#partager-une-vue-personnalisée) en lecture seule aux autres utilisateurs. + +5. Cliquez sur **Soumettre**. La vue apparaît, vide. + +6. Cliquez sur **Ajouter widget** : + - entrez un titre (il sera affiché dans la vue au-dessus du widget) + - sélectionnez le type de widget souhaité. + +7. Cliquez sur **Soumettre**. Le widget apparaît. Certains widgets demandent un paramétrage supplémentaire (par exemple, sélectionner un collecteur) : cliquez sur l'icône clé à molette en haut à droite du widget pour [l'éditer](#éditer-un-widget). + +8. Une fois la vue créée et tous les widgets ajoutés, cliquez à nouveau sur l'icône **Afficher/cacher le mode édition** : ![image](../assets/alerts/edit_mode.png#thumbnail1) + + +## Éditer une vue personnalisée + +Dans la barre d'édition, cliquez sur le bouton **Éditer**. ![image](../assets/alerts/view_edit.png) + +Vous pouvez renommer la vue, changer la disposition en colonnes, et [partager la vue](#partager-une-vue-personnalisée) en lecture seule avec d'autres utilisateurs. Vous pouvez également éditer ou déplacer les widgets. + +### Éditer un widget + +Pour éditer un widget, cliquez sur l'icône clé à molette en haut à droite du widget : ![image](../assets/alerts/widget_controls.png) + +### Déplacer les widgets/rearranging widgets +Pour déplacer un widget, cliquez sur la barre de titre du widget et faites un glisser-déposer jusqu'à la position désirée. + + +## Partager une vue personnalisée + +Vous pouvez partager une vue personnalisée de différentes manières : + +- En lecture seule : + - Cochez **Public** lorsque vous [créez la vue](#créer-une-vue-personnalisée) ou lorsque vous [l'éditez](#éditer-une-vue-personnalisée). + - Partagez la vue avec des "locked users" ou "locked user groups". Tous les changements que vous + ferez par la suite seront hérités dans la vue partagée. + +- Rendre la vue modifiable : + - Partagez la vue avec des "unlocked users" ou "unlocked user groups". L'utilisateur deviendra le "propriétaire" de + cette copie de la vue et aucune modification faite par l'utilisateur ne s'appliquera à la vue d'origine. De la même façon, + aucune modification faite par le créateur de la vue ne sera répercutée sur les copies. + +Pour partager une vue avec des "locked"/"unlocked users" : + +1. Dans la barre d'édition, cliquez sur **Partager la vue**. +2. Sélectionnez les options désirées (voir ci-dessus). +3. Cliquez sur **Partage**. + +> Attention, bien que le champ se nomme "locked users" ou "unlocked users", ce ne sont pas les utilisateurs qui seront +"verrouillés", mais bien la vue partagée. + +## Afficher une vue personnalisée partagée avec vous + +1. À la page **Accueil > Vues personnalisées**, cliquez sur l'icône **Afficher/cacher le mode édition** en haut à droite de la page ![image](../assets/alerts/edit_mode.png#thumbnail1) + + La barre d'édition apparaît : + + ![image](../assets/alerts/bar.png) + +2. Cliquez sur **Ajouter une vue**, puis sélectionnez **À partir d'une vue existante**. Une liste déroulante propose toutes les vues partagées par d'autres utilisateurs. + +3. Sélectionnez une vue, puis cliquez sur **Soumettre**. La vue s'affiche. + +## Programmer la rotation des vues + +Une fois que vous avez créé plusieurs vues personnalisées, vous pouvez faire en sorte qu'elle s'affichent à tour de rôle. + +1. Dans la barre d'édition, cliquez sur **Rotation**. +2. Utilisez le curseur +pour définir le nombre de secondes que doit s'afficher chaque vue, puis cliquez sur **Appliquer**. + +## Choisir une vue à afficher par défaut + +Vous pouvez choisir quelle vue afficher lorsque vous vous rendez à la page **Accueil > Vues personnalisées**. + +1. Cliquez sur la vue désirée. +2. Dans la barre d'édition, cliquez sur **Configurer par défaut**. + +## Liste des widgets + +| Widget | Description | +|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Engine status | Affiche les statistiques d'un collecteur. (Sélectionnez un collecteur dans les paramètres.) | +| Global health | Affiche un camembert représentant le statut des hôtes. | +| Graph monitoring | Affiche le graphe RRD d'un service. Vous devez sélectionner un service utilisant des données de performances. Vous pouvez choisir la période et l'intervalle de rafraîchissement du graphe au niveau des paramètres. | +| Grid-map | Affiche des services sous la forme de carrés de couleur. Pour configurer ce widget, sélectionnez un groupe d'hôtes et remplissez le champ " Nom des services" en les séparant par une virgule (évitez d'utiliser des caractères réservés, par exemple le slash, avec ce widget). | +| Host monitoring | Affiche la liste des hôtes ainsi que leur statut et les informations associées. Vous pouvez filtrer la liste selon les critères de votre choix. | +| Hostgroup monitoring | Affiche les groupes d'hôtes. Il est possible d'avoir une vue détaillée des services. | +| HTTP loader | Affiche une page web de votre choix. | +| Live top 10 CPU usage | Affiche le top 10 d'utilisation CPU des hôtes de votre supervision. Vérifiez que la valeur du paramètre Metric Name correspond au nom de la métrique utilisée par le service CPU. | +| Live top 10 memory usage | Affiche le top 10 d'utilisation mémoire des hôtes de votre supervision. | +| Service monitoring | Affiche les services sous forme de liste. De nombreuses options sont disponibles (tri par criticité, filtres, affichage des colonnes, etc..) | +| Servicegroup monitoring | Affiche les groupes de services sous forme de liste. | +| Single metric | Affiche la valeur d'une seule métrique pour le service sélectionné. | +| Tactical overview | Affiche les détails des hôtes ou des services. Par défaut les hôtes sont affichés. | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/dashboards.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/dashboards.md new file mode 100644 index 000000000000..a47a3456e034 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/dashboards.md @@ -0,0 +1,196 @@ +--- +id: dashboards +title: Tableaux de bord +--- + +Commencez par créer des tableaux de bord et ajoutez des widgets spécialement conçus pour optimiser votre expérience utilisateur. Bénéficiez ensuite d'options de visualisation de données pour afficher et suivre vos ressources en temps réel. + +![image](../assets/alerts/dashboard-view.png) + +## Activer la fonctionnalité Tableaux de bord + +L'accès à la fonctionnalité Tableaux de bord n'est pas géré au niveau de l'utilisateur, mais via des groupes d'accès ou des listes de contrôle d'accès (ACL). Vous autorisez les utilisateurs à accéder à la fonctionnalité en accordant des droits à l'ACL à laquelle ils appartiennent (en savoir plus [sur les ACL](../administration/access-control-lists.md)). + +### Configurer l'ACL + +> Vous devez être connecté à Centreon en tant qu'administrateur. + +- Dans cet exemple, nous allons créer une nouvelle ACL appelée **Utilisateurs des tableaux de bord**. Cette ACL contiendra les utilisateurs appartenant au groupe **Guests**. + +1. Allez dans **Administration > ACL > Gestion des accès aux menus**. +2. Cliquez sur le bouton **Ajouter**. Ceci ouvre le formulaire **Ajouter une ACL**. +3. Renseignez le champ **Nom de l'ACL**. Dans cet exemple : **Dashboards users**. +4. Sélectionnez **Activé** dans les paramètres **Statut**. +5. Sélectionnez les **Groupes liés** à inclure dans cette ACL. Dans cet exemple : **Guests**. +6. Dans la section **Pages disponibles**, développez le menu **Accueil**, puis le menu **Tableaux de bord**. La liste des profils à sélectionner s'affiche. + + > - **Viewer:** ne peut voir que les tableaux de bord auxquels il a accès. + > - **Creator:** peut créer et modifier les tableaux de bord auxquels il a accès. + > - **Administrator:** peut accéder à tous les tableaux de bord et les modifier. + +7. Sélectionnez le profil à définir pour cette ACL. Dans cet exemple : **Viewer**. +8. Cliquez sur **Sauvegarder** pour confirmer vos modifications. + +### Vérifier que la fonctionnalité est activée + +> Vous devez disposer d'un compte d'utilisateur avec des droits d'accès à la fonctionnalité Tableaux de bord. + +1. Connectez-vous à Centreon. +2. Vous devriez voir dans le menu **Accueil**, l'entrée **Tableaux de bord**. + +## Créer votre premier tableau de bord + +> Vous devez être connecté à Centreon avec des droits d'administrateur ou de créateur. + +1. Dans la page **Bibliothèque de tableaux de bord**, cliquez sur le bouton **Créer un tableau de bord**. Cela ouvre la fenêtre **Créer un tableau de bord**. +2. Nommez le tableau de bord et renseignez une description si nécessaire. +3. Cliquez sur **Créer** pour confirmer la création. + +Votre tableau de bord est maintenant ajouté ! Vous pouvez directement commencer à ajouter des widgets. + +### Ajouter des widgets + +> Votre tableau de bord doit être ouvert en mode édition. + +- S'il s'agit de votre tout premier widget, cliquez sur la zone **Ajouter widget**. +- Sinon, cliquez sur le bouton **+ Ajouter widget** à droite de l'interface. + +![image](../assets/alerts/widget-view.png) + +La majorité des widgets fonctionnent généralement selon les étapes suivantes : + +- **Étape 1 :** sélectionnez le type de widget. Les paramètres du widget dépendent ensuite du widget sélectionné. +- **Étape 2 :** sélectionnez les ressources. +- **Étape 3 :** sélectionnez les métriques. + +> Assurez-vous de sauvegarder vos modifications. Si vous quittez sans sauvegarder votre tableau de bord, les modifications seront définitivement perdues. + +### Autres actions + +Cliquez sur le menu avec les **trois points verticaux** en haut à droite du widget pour le modifier ou pour accéder à d'autres actions : +- Dupliquer +- Supprimer le widget + +> En mode édition, vous pouvez facilement organiser vos widgets en les déplaçant ou en les redimensionnant. N'oubliez pas de sauvegarder vos modifications. + +### Lien vers la page Statut des ressources + +Depuis le tableau de bord, vous pouvez cliquer sur un pictogramme représentant un écran en haut à droite d'un widget : ce bouton vous permet de **Voir plus dans la page Statut des ressources**. Il ouvre un nouvel onglet sur la page Statut des ressources, avec des informations détaillées concernant le widget en question. + +## Gérer les tableaux de bord + +> Vous devez être dans la page **Bibliothèque de tableaux de bord** pour avoir une vue d'ensemble de vos tableaux de bord. + +### Modifier un tableau de bord + +#### Mettre les propriétés à jour + +Cliquez sur le bouton **roue dentée** en haut à gauche du tableau de bord pour mettre son nom et sa description à jour. + +#### Modifier les widgets du tableau de bord + +1. Cliquez sur le tableau de bord pour l'ouvrir en mode vue. +2. Cliquez sur **Éditer le tableau de bord** pour accéder aux widgets et les gérer en mode édition. + +### Supprimer un tableau de bord + +Cliquez sur le bouton **Corbeille** en bas à gauche du tableau de bord pour le supprimer. Confirmez ensuite la suppression. + +### Partager un tableau de bord + +> Vous pouvez partager des tableaux de bord en utilisant l'interface **Gestion des droits d'accès**. + +#### À propos des droits d'accès + +Vous utilisez la fonctionnalité Tableaux de bord avec un profil de **viewer** ou **editor** : + +- Les **viewers** : peuvent uniquement visualiser les tableaux de bord que vous partagez avec eux. +- Les **editors** : peuvent visualiser et modifier les tableaux de bord que vous partagez avec eux. + +#### Gérer les droits d'accès + +1. Cliquez sur le bouton **partager** en bas à droite du tableau de bord. +2. Dans la liste déroulante **Ajouter un contact**, sélectionnez l'utilisateur à ajouter. +3. Sélectionnez le profil **Viewer** ou **Editor**. +4. Cliquez sur le bouton **+** pour l'ajouter. +5. Répétez l'action pour chaque utilisateur que vous souhaitez ajouter. +6. Cliquez sur le bouton **Mettre à jour** pour enregistrer vos modifications. + +Les utilisateurs que vous venez d'ajouter ont maintenant accès au partage de votre tableau de bord, selon le profil que vous avez défini pour eux. + +> Utilisez la fonction **Copier le lien** pour partager l'URL du tableau de bord directement avec les utilisateurs qui ont accès à votre plateforme. + +## Gérer les listes de diffusion + +Les listes de diffusion sont des listes de tableaux de bord sélectionnés à diffuser dans l'ordre de votre choix. Cette fonctionnalité est utile par exemple lorsque vous souhaitez afficher vos tableaux de bord en plein écran dans des espaces publics. + +> Cette fonctionnalité nécessite une [licence](../administration/licenses.md) valide. Pour en acheter une et récupérer les référentiels nécessaires, contactez [Centreon](mailto:sales@centreon.com). + +### Créer une liste de diffusion + +> Avant de créer une liste de diffusion, assurez-vous que les tableaux de bord que vous souhaitez inclure ont été créés. + +1. Cliquez sur le lien **Listes de diffusion** pour accéder à l'interface des listes de diffusion. +2. Cliquez sur le bouton **Créer une liste de diffusion** (ou sur le bouton **Ajouter** s'il ne s'agit pas de votre première liste de diffusion). +3. Renseignez les propriétés : + - **Nom** + - **Description** + - Ajoutez vos tableaux de bord dans la liste déroulante **Sélectionner des tableaux de bord**. + - Dans la section **Définir l'ordre des tableaux de bord**, glissez/déposez les tableaux de bord comme vous le souhaitez. + - Définissez le temps de rotation en secondes. +4. Cliquez sur **Enregistrer**. +Votre liste de diffusion est maintenant ajoutée à la liste des listes de diffusion. + +### Afficher la liste de diffusion + +- Dans l'interface **Listes de diffusion**, cliquez sur la ligne de votre liste de diffusion. +Votre liste de diffusion est alors affichée et un bandeau de contrôle apparaît lorsque vous survolez le bas de l'interface. + +> Profitez d'une meilleure visualisation en affichant la page en mode plein écran (F). + +Le bandeau de contrôle vous permet de : +- Mettre en lecture/pause la diffusion. +- Aller au tableau de bord précédent ou suivant. +- Accéder directement à un tableau de bord spécifique en cliquant sur son nom. + +### Partager la liste de diffusion avec les utilisateurs de votre plateforme + +Vous pouvez partager votre liste de diffusion avec des contacts ayant accès à votre plateforme Centreon, et les droits de viewer sur les tableaux de bord. + +- Cliquez sur le bouton **Partager avec des contacts** à partir de la ligne de votre liste de diffusion. +La fenêtre **Droits d'accès de la liste de diffusion** s'affiche. +- Vous pouvez maintenant ajouter des contacts ou des groupes de contacts et définir leurs droits en tant que viewer ou editor dans la section **Partager avec**. +- Utilisez le bouton **Corbeille** dans la section **Droits utilisateur** pour supprimer un contact ou un groupe de contacts. +- Puis **Enregistrer** vos modifications. + +### Partager la liste de diffusion à l'aide d'un lien public + +Vous pouvez envoyer un lien public à des utilisateurs non-Centreon pour leur donner accès à une vue plein écran de leur infrastructure informatique. + +> - Le lien que vous partagez affichera le contenu de la liste de diffusion en fonction des droits d'accès de l'utilisateur qui active le lien. Toute personne disposant de ce lien peut consulter la liste de diffusion. Soyez vigilant lorsque vous le partagez. +> - La langue utilisée est celle définie par le navigateur courant, même si la langue initiale de la liste de diffusion est différente. + +- Dans la fenêtre **Droits d'accès à la liste de diffusion**, cliquez sur le bouton **Activé** dans la section **Lien public**. +- Vous pouvez maintenant copier le lien URL vers la liste de diffusion. +- Vous pouvez également redimensionner et copier le code intégré de la vue de la liste de diffusion. + +### Editer/Supprimer une liste de diffusion + +Le menu d'action à trois points situé à la fin de la ligne de la liste de diffusion vous permet d'éditer les propriétés ou de supprimer la liste de diffusion. + +## Liste des widgets + +| Widget | Description | +|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Diagramme d'activité métier | Affiche graphiquement et permet la navigation dans la hiérarchie d'une activité métier. | +| Horloge/Minuteur | Affiche l'heure en fonction du fuseau horaire sélectionné, ou un minuteur. | +| Texte générique | Permet d'ajouter du texte libre à vos tableaux de bord (titres de sections, informations, etc.). | +| Group monitoring | Affiche la répartition des statuts actuels pour les groupes de ressources sélectionnés, sous forme de tableau. | +| MAP - Afficher une vue | Permet de sélectionner et de visualiser une carte créée à partir du module MAP. | +| Graphe de métriques | Affiche les métriques pour une période donnée. | +| Tableau des ressources | Affiche des données sur le statut des ressources et les événements, centralisées dans un tableau. Affiche également les [ressources liées ou non à un ticket](../alerts-notifications/ticketing.md#configuration-du-widget).| +| Métrique unique | Affiche la valeur d'une seule métrique sous forme de texte, de jauge ou de diagramme à barres. | +| Graphique de statut | Affiche la répartition des statuts actuels sur des ressources sélectionnées, sous forme de graphique. | +| Grille de statut | Affiche le statut actuel des ressources sélectionnées, sous forme de grille. | +| Top/bottom | Affiche le top ou le bottom x des hôtes, pour une métrique sélectionnée. | +| Page web | Affiche une page web. | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/downtimes.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/downtimes.md new file mode 100644 index 000000000000..2dfeb7a033bb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/downtimes.md @@ -0,0 +1,213 @@ +--- +id: downtimes +title: Planifier un temps d'arrêt +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Ajouter un temps d'arrêt + +### Principe + +Un temps d'arrêt est une période de temps durant laquelle les +notifications sont désactivées pour une ressource. Les temps d'arrêts +sont utilisés lors d'opération d'une maintenance programmée; ils +permettent d'éviter de recevoir des alertes de type faux-positif. + +> Il est important de sélectionner l'ensemble des ressources nécessaires +> afin d'éviter les faux-positifs comme les faux-négatifs. De plus, le +> temps passé dans cet état est pris en compte lors de la génération des +> données de disponibilité. + +Il existe deux types de temps d'arrêt : + +- Le temps d'arrêt **fixe** : démarre et s'arrête aux heures prévues + de début et de fin. +- Le temps d'arrêt **flexible** : démarre pendant la fenêtre de temps + prévue, dès la détection d'un incident. Il prend fin lorsque la + durée prévue en secondes est écoulée. + +### En pratique + +Il existe plusieurs manières de définir un temps d'arrêt : + +- Depuis la page **Statut des ressources** +- Depuis la page de détails d'un hôte ou du service +- Depuis l'interface de supervision temps réel +- Depuis le menu **Downtime** + + + + +1. Allez à la page **Supervision > Statut des ressources**. +2. Utilisez une des méthodes suivantes : + - Sélectionnez le ou les objets que vous souhaitez mettre en maintenance , puis cliquez sur le bouton **Planifier une maintenance** au-dessus de la liste des ressources. + - Survolez la ressource désirée, puis cliquez sur l'icône **Planifier une maintenance** qui apparaît à gauche : + + ![image](../assets/alerts/resources-status/dt-hover.gif) + + La fenêtre suivante apparaît : + + ![image](../assets/alerts/resources-status/dt-popup.png) + + - Les champs **Du** et **Au** définissent les dates de début et de fin du temps d'arrêt. Un temps d'arrêt ne peut pas débuter ou s'arrêter après le 31 décembre 2037 à 23:59. + + - Si la case **Fixe** est cochée alors le temps d'arrêt est fixe. Sinon, il est flexible. + + - Si le temps d'arrêt est flexible, le champ **Durée** définit la durée du temps d'arrêt. + + - Le champ **Commentaire** sert à indiquer pourquoi le temps d'arrêt est programmé + + + + +1. Accédez à la page de détails d'un objet +2. Dans la catégorie **Commands**, cliquez sur **Schedule downtime for + this host/service** + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/downtime.png) + +- Le champ **Host Name** définit l'hôte concerné par le temps d'arrêt +- Le champ **Service** définit le service concerné par le temps + d'arrêt +- Si la case **Fixed** est cochée alors le temps d'arrêt est fixe. + Sinon, il est flexible +- Si le temps d'arrêt est flexible, le champ **Duration** définit la + durée du temps d'arrêt +- Les champs **Start Time** et **End Time** définissent les dates de + début et de fin du temps d'arrêt. Les temps d'arrêt ne peuvent pas débuter ni se finir après le 31 décembre 2099 à 23:59. +- Le champ **Comments** sert à indiquer pourquoi le temps d'arrêt est + programmé + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le(s) objet(s) sur lesquels vous souhaitez planifier un + temps d'arrêt +3. Dans le menu **More actions…**, cliquez sur **Hosts : Set Downtime** + ou **Services : Set Downtime** + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/downtime.png) + +- Le champ **Host Name** définit l'hôte concerné par le temps d'arrêt +- Le champ **Service** définit le service concerné par le temps + d'arrêt +- Si la case **Fixed** est cochée alors le temps d'arrêt est fixe. + Sinon, il est flexible +- Si le temps d'arrêt est flexible, le champ **Duration** définit la + durée du temps d'arrêt +- Les champs **Start Time** et **End Time** définissent les dates de + début et de fin du temps d'arrêt. Les temps d'arrêt ne peuvent pas débuter ni se finir après le 31 décembre 2099 à 23:59. +- Le champ **Comments** sert à indiquer pourquoi le temps d'arrêt est + programmé + + + + +1. Rendez-vous dans le menu **Monitoring > Downtimes > Downtimes** +2. Cliquez sur **Add a service downtime** ou **Add a host downtime** + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/downtime.png) + +- Le champ **Host Name** définit l'hôte concerné par le temps d'arrêt +- Le champ **Service** définit le service concerné par le temps + d'arrêt +- Si la case **Fixed** est cochée alors le temps d'arrêt est fixe. + Sinon, il est flexible +- Si le temps d'arrêt est flexible, le champ **Duration** définit la + durée du temps d'arrêt +- Les champs **Start Time** et **End Time** définissent les dates de + début et de fin du temps d'arrêt. Les temps d'arrêt ne peuvent pas débuter ni se finir après le 31 décembre 2099 à 23:59. +- Le champ **Comments** sert à indiquer pourquoi le temps d'arrêt est + programmé + + + + + + +## Les temps d'arrêt récurrents + +### Principe + +Un temps d'arrêt est une période de temps durant laquelle les +notifications sont désactivées pour un hôte ou un service. Les temps +d'arrêts sont pratiques lors d'opérations de maintenance sur un hôte ou +un service : ils permettent d'éviter de recevoir des alertes de type +faux-positif. + +Les temps d'arrêts récurrents sont des temps d'arrêts qui reviennent de +manière répétitive. + +Exemple : Une sauvegarde des machines virtuelles est effectuée tous les +jours de 20h00 à minuit. Ce type de sauvegarde a tendance à saturer +l'utilisation CPU de toutes les machines virtuelles. Il est nécessaire +de programmer des temps d'arrêts récurrents sur les services concernés +afin d'éviter de recevoir des notifications de 20h00 à minuit. + +> Les temps d'arrêts sont pris en comptes dans le calcul du taux de +> disponibilité de la ressource. + +### En pratique + +Il existe deux types de temps d'arrêts : + +- Les temps d'arrêts **fixe** : C'est à dire que le temps d'arrêt a + lieu exactement pendant la période de temps définie. +- Les temps d'arrêts **flexible** : C'est à dire que si pendant la + période de temps définie, le service ou l'hôte retourne un statut + non-OK alors le temps d'arrêt démare et dure le nombre de secondes + défini dans le formulaire. + +Pour ajouter un temps d'arrêt récurrent, rendez-vous dans le menu +`Monitoring > Downtimes > Recurrent Downtimes` et cliquez sur **Add**. + +![image](../assets/alerts/05recurrentdowntimes.png) + +#### Configuration des temps d'arrêts + +- Les champs **Name** et **Description** permettent de donner un nom + et de décrire le temps d'arrêt récurrent. +- Le champ **Enable** permet d'activer ou de désactiver le temps + d'arrêt. +- Le champ **Periods** permet de définir une ou plusieurs périodes de + temps d'arrêt récurrent. Pour ajouter une période, cliquez sur le + symbole ![image](../assets/common/navigate_plus.png) + +Il est possible de choisir trois types de périodes : + +- Weekly : Permet de choisir les jours de semaine +- Monthly : Permet de choisir les jours dans un mois +- Specific date : Permet de choisir des dates spécifiques + +- Le champ **Days** définit le (ou les) jour(s) concerné(s). +- Le champ **Time period** contient la période de temps concernée + (exprimée en HH:MM - HH:MM). +- Le champ **Downtime type** définit le type de temps d'arrêt + souhaité. + +> Il est possible de combiner plusieurs types de périodes au sein d'un +> seul temps d'arrêt. + +#### Relations + +- La liste **Linked with Hosts** permet de choisir le ou les hôtes + concernés par le temps d'arrêt récurrent. +- Si un groupe d'hôte est choisi avec la liste **Linked with Host + Groups** tous les hôtes appartenant à ce groupe sont concernés par + le temps d'arrêt récurrent. +- La liste **Linked with Services** permet de choisir le ou les + services concernés par le temps d'arrêt récurrent. +- Si un groupe de services est choisi avec la liste **Linked with + Service Groups** tous les services appartenant à ce groupe sont + concernés par le temps d'arrêt récurrent. + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-console.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-console.md new file mode 100644 index 000000000000..3d7b13a058f9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-console.md @@ -0,0 +1,411 @@ +--- +id: event-console +title: Consoles d'évènements +--- + +> Certaines de ces interfaces sont **dépréciées** et remplacées par la page +> [Statut des ressources](resources-status.md). Cette nouvelle page a pour but de regrouper les expériences que vous +> pouvez retrouver dans ces interfaces. +> +> Les pages dépréciées seront supprimées dans la prochaine version majeure de Centreon. +> +> Pour les nouvelles installations, les pages dépréciées sont automatiquement +> masquées. Il est possible de les afficher en sélectionnant l'option +> **Utiliser les pages dépréciées** dans les préférences propres à chaque +> utilisateur depuis le menu **Administration > Paramètres > Mon compte**. +> +> Tous les liens pointeront vers ces pages : les pages dépréciées deviendront votre outil de base pour la visualisation +> de l'état des hôtes et services. Cependant, en activant ce paramètre, vous ne bénéficierez pas des nouvelles +> fonctionnalités fournies par la page **Resources Status**, comme par exemple un outil de recherche plus puissant, +> la possibilité de personnaliser et de partager sa vue, de sauvegarder des filtres, et toutes autres améliorations futures. + +Ce chapitre présente les différentes interfaces permettant de visualiser +l'état des ressources. + +### Actions génériques + +Par défaut, lors de la visualisation des statuts des hôtes ou des +services, les données de supervision sont rafraîchies automatiquement +(15 secondes par défaut). Cependant, plusieurs icônes permettent de +contrôler le rafraichissement des données. Le tableau ci-dessous résume +les différentes fonctions de ces icônes : + +| Icon | Description | +|----------------------------------------|-----------------------------------------------------------------------| +| ![image](../assets/alerts/refresh.png) | Permet de rafraîchir manuellement les résultats | +| ![image](../assets/alerts/pause.png) | Permet de mettre en pause le rafraîchissement automatique des données | +| ![image](../assets/alerts/resume.png) | Permet de reprendre le rafraîchissement automatique des données | + +## Hôtes (dépréciée) + +> Cette interface est **dépréciée** et remplacée par la page +> **Statut des ressources** et la [liste des +> évènements](resources-status.md#lister-les-evenements). + +Pour visualiser le statut des hôtes, rendez-vous dans le menu +**Monitoring > Status Details > Hosts**. + +![image](../assets/alerts/04unhandledproblems.png) + +### Description des colonnes + +- **S** : Affiche le niveau de criticité de l'hôte +- **Hosts** : Affiche le nom de l'hôte + - L'icône suivante indique que les notifications pour cet hôte + sont désactivées : ![image](../assets/alerts/nonotifications.png) + - L'icône suivante peut être utilisée pour afficher tous les + graphiques de performances pour cet hôte : ![image](../assets/alerts/graphperformances.png) + - L'icône suivante permet d'accéder à une URL prédéfinie + configurée : ![image](../assets/alerts/url_link.png) +- **Status** : Sert à visualiser le statut de l'hôte +- **IP Address** : Indique l'adresse IP de l'hôte +- **Last Check** : Affiche la date et l'heure de la dernière + vérification +- **Duration** : Affiche la durée pendant laquelle l'hôte a conservé + son état actuel +- **Hard State Duration** : Affiche la durée pendant laquelle l'hôte a + conservé son état dur actuel (n'apparaît pas lorsque visualisation + de tous les hôtes) +- **Tries** : Affiche le nombre d'essais avant de confirmer l'état +- **Status information** : Affiche le message expliquant l'état de + l'hôte + +> La colonne de criticité et le filtre associé apparaissent si au moins +> un objet affiché a un niveau de criticité défini. + +### Filtres disponibles + +Vous pouvez filtrer le résultat présenté via les filtres suivants : + +- **Host Status** : + - Pour afficher les hôtes avec un problème mais non reconnu ou non + en temps d'arrêt, choisissez **Unhandled Problems**. + - Pour afficher tous les hôtes avec un problème, choisissez **Host + Problems**. + - Pour voir tous les hôtes, choisissez **All**. +- **Host** : Peut être utilisé pour filtrer par nom d'hôte via une + recherche de type SQL LIKE. +- **Status** : Peut être utilisé pour filtrer par le statut des hôtes. +- **Severity** : Peut être utilisé pour filtrer par criticité. +- **Poller** : Peut être utilisé pour filtrer les hôtes par + collecteur. Seuls les hôtes du collecteur sélectionné seront + affichés. +- **Hostgroup** : Peut être utilisé pour filtrer par groupe d'hôtes. + Seuls les hôtes du groupe d'hôtes sélectionné seront affichés. + +> La recherche dans les champs de texte ne démarre qu'après la saisie +> d'au moins 3 caractères. + +## Groupes d'hôtes + +Pour visualiser le statut des groupes d'hôtes, rendez-vous dans le menu +**Monitoring > Status Details > Hostgroups Summary**. + +![image](../assets/alerts/04hostgroup.png) + +### Description des colonnes + +- **Host Group** : Liste des groupes d'hôtes disponibles +- **Hosts Status** : Permet d'afficher le nombre d'hôtes en UP, DOWN, + UNREACHABLE ou PENDING +- **Services Status** : Permet d'afficher le nombre de services en + état OK, AVERTISSEMENT, CRITIQUE ou PENDING + +### Filtres disponibles + +- **Hostgroup** : Peut être utilisé pour filtrer par nom de groupe + d'hôtes via une recherche de type SQL LIKE. +- **Poller** : Peut être utilisé pour filtrer les hôtes par collecteur. + Seuls les hôtes du collecteur sélectionné seront affichés. + +## Détails d'un hôte (dépréciée) + +> Cette interface est **dépréciée** et remplacée par la page +> **Statut des ressources** et le [panneau +> d'hôte](resources-status.md#panneau-dhote). + +Lorsque vous cliquez sur le nom d'un hôte, vous accédez à la page de +détails de la ressource. + +4 onglets sont disponibles: + +- **Service Status** : Liste des services hôtes et de leur état + associé +- **Performances** : Liste des graphiques de performances pour chaque + service +- **Host Informations** : Détails sur l'hôte +- **Comments** : Commentaires de l'hôte disponibles + +![image](../assets/alerts/04hostdetail.png) + +### Détails du statut + +Description des attributs disponibles pour les détails de l'hôte : + +- **Host Status** : Affiche l'état de l'hôte. +- **Status information** : Affiche les informations sur l'état de + l'hôte. +- **Performance Data** : Affiche les données de performances associées + à la vérification. +- **Poller Name** : Nom du serveur supervisant l'hôte. +- **Current Attempt** : Affiche le nombre de tentatives avant la + validation de l'état. +- **State Type** : Affiche le type d'état (‘SOFT' ou ‘HARD'). +- **Last Check** : Affiche la dernière vérification de l'hôte. +- **Next Check** : Affiche la prochaine vérification planifiée de + l'hôte. +- **Last State Change** : Affiche la date et l'heure du dernier + changement de statut. +- **Current State Duration** : Affiche la date et l'heure à partir + desquelles l'hôte se trouve dans l'état actuel. +- **Last Notification** : Affiche la date et l'heure d'envoi de la + dernière notification. +- **Next Notification** : Affiche la date et l'heure d'envoi de la + prochaine notification +- **Current Notification Number** : Affiche le nombre de notifications + envoyées. +- **Is This Host Flapping?** : Indique si l'hôte est en FLAPPING +- **In Scheduled Downtime?** : Indique si l'hôte est en temps d'arrêt + planifié. +- **Timezone** : Le fuseau horaire de l'hôte. + +### Options + +L'option permet d'activer / désactiver les propriétés de l'hôte : + +- **Active Checks** : La méthode de vérification active de l'hôte. +- **Passive Checks** : La méthode de vérification passive de l'hôte. +- **Notifications** : Le processus de notification de l'hôte. +- **Obsess Over Host** : Le processus Obsess Over Host de l'hôte +- **Event Handler** : Le processus de réactions automatisé de l'hôte. +- **Flap Detection** : Le processus de détection de battement de + l'hôte. + +### Links + +Le conteneur **Links** permet d'afficher l'appartenance de l'hôte aux groupes +et catégories d'hôtes. + +### Notifications + +Le conteneur **Notifications** permet d'afficher les contacts et groupes de +contacts liés à l'hôte qui recevront notifications. + +## Services (dépréciée) + +> Cette interface est **dépréciée** et remplacée par la page +> **Statut des ressources** et la [liste des +> évènements](resources-status.md#lister-les-evenements). + +Pour visualiser le statut des services, rendez-vous dans le menu +**Monitoring > Status Details > Services**. + +![image](../assets/alerts/04servicelist.png) + +### Description des colonnes + +- **S** : Affiche le niveau de criticité du service. +- **Host** : Affiche le nom de l'hôtet. +- **Services** : Affiche le nom du service + - L'icône suivante indique que les notifications pour ce service + sont désactivées : ![image](../assets/alerts/nonotifications.png) + - L'icône suivante peut être utilisée pour afficher le graphique + de performances de ce service : ![image](../assets/alerts/graphperformances.png) + - L'icône suivante permet d'accéder à une URL prédéfinie + configurée : ![image](../assets/alerts/url_link.png) +- **Duration** : Affiche la durée du statut réel. +- **Hard State Duration** : Affiche la durée du statut non-ok validé. +- **Last Check** : Affiche la date et l'heure de la dernière + vérification. +- **Tries** : Affiche le nombre de tentatives avant la validation de + l'état. +- **Status information** : Affiche le message expliquant l'état du + service. + +> La colonne de criticité et le filtre associé apparaissent si au moins +> un objet affiché a un niveau de criticité défini. + +> La colonne **Hard State Duration** n'appraît pas si vous sélectionnez +> la valeur **All** pour le filtre **Service Status**. + +### Filtres disponibles + +- **Service Status**: + - Pour afficher les services avec un problème mais non reconnu ou + non en temps d'arrêt, choisissez **Unhandled Problems**. + - Pour afficher tous les services présentant un problème, + choisissez **Host Problems**. + - Pour voir tous les services, choisissez **All**. +- **Status** : Peut être utilisé pour filtrer par le statut des + services. +- **Severity** : Ppeut être utilisé pour filtrer par criticité. +- **Poller** : Peut être utilisé pour filtrer les services par + collecteur. Seuls les services du collecteur sélectionné seront + affichés. +- **Host** : Peut être utilisé pour filtrer par nom d'hôte via une + recherche de type SQL LIKE. +- **Service** : Peut être utilisé pour filtrer par nom de service via + une recherche de type SQL LIKE. +- **Hostgroup** : Peut être utilisé pour filtrer par groupe d'hôtes. + Seuls les hôtes du groupe d'hôtes sélectionné seront affichés. +- **Servicegroup** : Peut être utilisé pour filtrer par groupe de + services. Seuls les services du groupe de services sélectionné + seront affichés. +- **Output** : Peut être utilisé pour filtrer par le résultat de la + vérification. + +## Services Grid + +Pour voir tous les services (regroupés par hôte) dans n'importe quel +état, rendez-vous dans le menu +**Monitoring > Status Details > Services Grid** et choississez l'option +**Details** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyhostdetail.png) + +Pour afficher le nombre de services (regroupés par hôte et par statut), +choisissez l'option **Summary** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyhost.png) + +## Services by Hostgroup + +Pour voir tous les services (regroupés par groupe d'hôtes) dans +n'importe quel état, rendez-vous dans le menu +**Monitoring > Status Details > Services by Hostgroup** et choississez +l'option **Details** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyhostgroupdetail.png) + +Pour afficher le nombre de services (regroupés par groupe d'hôtes et par +statut), choisissez l'option **Summary** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyhostgroup.png) + +## Services by Servicegroup + +Pour voir tous les services (regroupés par groupe de services) dans +n'importe quel état, rendez-vous dans le menu +**Monitoring > Status Details > Services by Servicegroup** et choississez +l'option **Details** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyservicegroupdetail.png) + +Pour afficher le nombre de services (regroupés par groupe de services), +choisissez l'option **Summary** pour le filtre **Display** : + +![image](../assets/alerts/04servicelistbyservicegroup.png) + +## Service Details (dépréciée) + +> Cette interface est **dépréciée** et remplacée par la page +> **Statut des ressources** et la [panneau de +> service](resources-status.md#panneau-de-service). + +Lorsque vous cliquez sur un service, l'écran suivant apparaît: + +![image](../assets/alerts/04servicedetail.png) + +### Détails du statut + +Description des attributs disponibles pour les détails du service : + +- **Service Status** : Affiche l'état du service. +- **Status information** : Affiche les informations sur l'état du + service. +- **Extended status information** : Affiche la sortie longue du + service. +- **Performance Data** : Affiche les données de performances associées + à la vérification. +- **Current Attempt** : Affiche le nombre de tentatives avant la + validation de l'état. +- **State Type** : Affiche le type d'état (‘SOFT' ou ‘HARD'). +- **Last Check Type** : Indique si le dernier type de contrôle est + “actif” ou “passif”. +- **Last Check** : Affiche la dernière vérification du service. +- **Next Scheduled Active Check** : Affiche la prochaine vérification + planifiée du service. +- **Latency** : Affiche la latence en secondes entre la vérification + planifiée et l'exécution réelle de la vérification. +- **Check Duration** : Affiche la durée d'exécution de la + vérification. +- **Last State Change** : Affiche la date et l'heure à partir + desquelles l'hôte se trouve dans l'état actuel. +- **Current State Duration** : Affiche la date et l'heure à partir + desquelles l'hôte se trouve dans l'état actuel. +- **Last Service Notification** : Affiche la date et l'heure d'envoi + de la dernière notification. +- **Current Notification Number** : Affiche le nombre de notifications + envoyées. +- **Is This Service Flapping?** : Indique si l'hôte est en FLAPPING +- **Percent State Change** : Affiche le pourcentage de changement + d'état. +- **In Scheduled Downtime?** : Indique si l'hôte est en temps d'arrêt + planifié. +- **Last Update** : Affiche la date et l'heure de la dernière mise à + jour des informations. +- **Executed Check Command Line** : En ce qui concerne vos droits ACL, + vous pouvez avoir accès à la ligne de commande exécutée. Les mots de + passe sera remplacé par **\*** + +### Graphique détaillé et graphique d'état + +Les **Detailed Graph** et **Status Graph** permettent d'afficher des +graphiques de performances et les statuts des graphiques historiques +pour ce service. + +### Raccourcis d'hôte et de service + +- **View host status page** : Permet d'accéder à la page des détails + de l'hôte. +- **Configure host** : Permet d'accéder à la page de + configuration de l'hôte. +- **View logs for host** : Permet d'accéder aux journaux des + événements de l'hôte. +- **View report for host** : Permet d'accéder au rapport de + taux de disponibilité de l'hôte. +- **View graphs for host** : Permet d'accéder à tous les + graphiques de performances des services de l'hôte. +- **Configure service** : Permet d'accéder à la page de configuration + du service. +- **View logs for service** : permet d'accéder aux journaux + des événements du service. +- **View report for service** : Permet d'accéder au rapport de + taux de disponibilité du service. + +### Commandes de service + +- **Re-schedule the next check for this service** : Permet de + reprogrammer la prochaine vérification du service. +- **Re-schedule the next check for this service (forced)** : Permet de + reprogrammer la prochaine vérification du service, même si la + période de vérification n'est pas valide. +- **Schedule downtime for this service** : Permet de planifier des + temps d'arrêt pour le service. +- **Add a comment for this service** : Permet d'ajouter un commentaire + pour le service. + +### Options + +L'option permet d'activer / désactiver les propriétés du service : + +- **Active Checks** : La méthode de vérification active du service. +- **Passive Checks** : La méthode de contrôle passif du service. +- **Notifications** : Le processus de notification du service. +- **Event Handler** : Le processus de réactions automatisé du service. +- **Flap Detection** : Le processus de détection de battement du + service. +- **Obsess Over Service** : Le processus Obsess Over Service service. + +### Links + +Le conteneur **Links** permet d'afficher : + +- Les groupes d'hôtes auxquels ce service est lié. +- Les groupes de services auxquels ce service est lié. +- Les catégories de services auxquels ce service est lié. + +### Notifications + +Le conteneur **Notifications** permet d'afficher les contacts et groupes de +contacts liés à l'hôte qui recevra les notifications. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-log.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-log.md new file mode 100644 index 000000000000..e2012f2d0c9b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/event-log.md @@ -0,0 +1,28 @@ +--- +id: event-log +title: Journal des évènements +--- + +Le journal d'évènements permet de : + +- Voir les changements de statut et d'état des objets surveillés +- Voir les notifications envoyées et leurs destinataires + +Pour afficher le journal d'évènements, allez à la page +**Supervision > Journaux d'évènements**. + +![image](../assets/alerts/event_logs.png) + +- Dans le menu supérieur, sélectionnez les hôtes et/ou +les services désirés pour afficher les journaux d'événements correspondants. Vous pouvez également filtrer par +**Groupes de services** ou **Groupes d'hôtes**. + +- Cochez les options désirées dans les sections **Type de message** et **statut** afin d'afficher les évènements +correspondants. + +- Utilisez les champs suivants pour définir la période de temps pour laquelle afficher des évènements : + - **Période de visualisation** : sélectionnez une période prédéfinie + - **Du/Au** : saisissez des dates manuellement. + +- Vous pouvez exporter le résultat au format CSV ou XML à l'aide des +boutons au-dessus à droite de la liste : ![image](../assets/alerts/event_logs_export.png) \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/manage-alerts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/manage-alerts.md new file mode 100644 index 000000000000..e7c8e29dfdab --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/manage-alerts.md @@ -0,0 +1,449 @@ +--- +id: manage-alerts +title: Gestion des alertes +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +Ce chapitre présente les différentes méthodes de gestion des alertes. + +## Acquitter une alerte + +### Principe + +Lorsqu'un hôte ou un service présente un incident et que ce dernier est +validé, le processus de notification est enclenché, pouvant générer une +notification envoyée à un contact. Si le problème persiste et suivant la +configuration réalisée (relancer une notification à intervalle de temps +régulier, escalade de notification) il est possible que d'autres notifications +soient émises. + +L'acquittement d'une alerte permet de stopper le processus de +notification (envoi de notifications), jusqu'à ce que l'hôte ou le +service retrouve un statut nominal. + +Exemple d'utilisation : + +Un service est chargé de vérifier la santé des disques durs d'une baie +de disques. Un disque dur physique tombe en panne sur une baie de disques, +une notification est envoyée. L'opérateur de supervision acquitte le +service en précisant qu'une équipe est en train de régler le problème. +Les notifications ne sont plus envoyées. Le service reprendra son état +nominal après changement du disque. + +> L'acquittement d'une alerte signifie la prise en compte du problème +> par un utilisateur de la supervision, et non la résolution de ce +> dernier qui ne pourra être effective que lorsque le contrôle sera +> revenu dans son état nominal. + +### En pratique + +Pour acquitter une alerte, deux solutions sont possibles : + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (or + **Services**) menu +2. Select the object(s) that you want acknowledge +3. In the menu: **More actions** click on **Hosts: Acknowledge** or on + **Services: Acknowledge** + + + + +A partir de la page de détail d'un objet, cliquez sur l'icône activé +associé au champ **Acknowledged** dans le cadre **Options** + + + + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/acknowledged.png) + +- Si la case **Sticky** est cochée, alors l'acquittement sera conservé + en cas de changement de statut non-OK (Exemple DOWN à UNREACHABLE ou + bien WARNING à CRITICAL). Sinon, l'acquittement disparait et le + processus de notification est réactivé. +- Si la case **Notify** est cochée, alors une notification est envoyée + aux contacts liés à l'objet pour les avertir que l'incident sur la + ressource a été acquitté (dans le cas où le contact possède le + filtre de notification d'acquittement d'activé). +- Si la case **Persistent** est cochée, alors l'acquittement sera + conservé en cas de redémarrage de l'ordonnanceur. Sinon, + l'acquittement disparait et le processus de notification est + réactivé. +- Le champ **Comment** est généralement utilisé pour fournir la raison + de l'acquittement et est obligatoire. +- Si la casee **Acknowledge services attached to hosts** est cochée, + alors tous les services liés à l'hôte seront acquittés (option + visible uniquement si vous acquittez un hôte). +- Si la case **Force active checks** est cochée, alors une commande + sera envoyée à l'ordonnanceur pour recontrôler dans les plus brefs + délais la ressource. + +Pour supprimer l'acquittement d'un incident sur un objet : + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (or + **Services**) menu +2. Sélectionnez les objets auxquels vous souhaitez supprimer + l'acquittement +3. Dans le menu **More actions**, cliquez sur **Hosts: Disacknowledge** + ou sur **Services: Disacknowledge** + +## Ajouter un temps d'arrêt + +### Principe + +Un temps d'arrêt est une période de temps durant laquelle les +notifications sont désactivées pour une ressource. Les temps d'arrêts +sont utilisés lors d'opération d'une maintenance programmée; ils +permettent d'éviter de recevoir des alertes de type faux-positif. + +> Il est important de sélectionner l'ensemble des ressources nécessaires +> afin d'éviter les faux-positifs comme les faux-négatifs. De plus, le +> temps passé dans cet état est pris en compte lors de la génération des +> données de disponibilité. + +Il existe deux types de temps d'arrêts : + +- Le temps d'arrêt **fixe** : démarre et s'arrête aux heures prévues + de début et de fin. +- Le temps d'arrêt **flexible** : démarre pendant la fenêtre de temps + prévue, dès la détection d'un incident. Il prend fin lorsque la + durée prévue en secondes est écoulée. + +### En pratique + +Il y a trois possibilités différentes de définir un temps d'arrêt : + +- Depuis la page de détails d'un hôte ou du service +- Depuis l'interface de supervision temps réel +- Depuis le menu **Downtime** + + + + +1. Accédez à la page de détails d'un objet +2. Dans la catégorie **Commands**, cliquez sur **Schedule downtime for + this host/service** + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le(s) objet(s) sur lesquels vous souhaitez planifier un + temps d'arrêt +3. Dans le menu **More actions…**, cliquez sur **Hosts : Set Downtime** + ou **Services : Set Downtime** + + + + +1. Rendez-vous dans le menu **Monitoring > Downtimes > Downtimes** +2. Cliquez sur **Add a service downtime** ou **Add a host downtime** + + + + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/downtime.png) + +- Le champ **Host Name** définit l'hôte concerné par le temps d'arrêt +- Le champ **Service** définit le service concerné par le temps + d'arrêt +- Si la case **Fixed** est cochée alors le temps d'arrêt est fixe. + Sinon, il est flexible +- Si le temps d'arrêt est flexible, le champ **Duration** définit la + durée du temps d'arrêt +- Les champs **Start Time** et **End Time** définissent les dates de + début et de fin du temps d'arrêt. Les temps d'arrêt ne peuvent pas débuter ni se finir après le 31 décembre 2099 à 23:59. +- Le champ **Comments** sert à indiquer pourquoi le temps d'arrêt est + programmé + +## Les temps d'arrêts récurrents + +### Principe + +Un temps d'arrêt est une période de temps durant laquelle les +notifications sont désactivées pour un hôte ou un service. Les temps +d'arrêts sont pratiques lors d'opérations de maintenance sur un hôte ou +un service : ils permettent d'éviter de recevoir des alertes de type +faux-positif. + +Les temps d'arrêts récurrents sont des temps d'arrêts qui reviennent de +manière répétitive. + +Exemple : Une sauvegarde des machines virtuelles est effectuée tous les +jours de 20h00 à minuit. Ce type de sauvegarde a tendance à saturer +l'utilisation CPU de toutes les machines virtuelles. Il est nécessaire +de programmer des temps d'arrêts récurrents sur les services concernés +afin d'éviter de recevoir des notifications de 20h00 à minuit. + +> Les temps d'arrêts sont pris en comptes dans le calcul du taux de +> disponibilité de la ressource. + +### En pratique + +Il existe deux types de temps d'arrêts : + +- Les temps d'arrêts **fixe** : C'est à dire que le temps d'arrêt a + lieu exactement pendant la période de temps définie. +- Les temps d'arrêts **flexible** : C'est à dire que si pendant la + période de temps définie, le service ou l'hôte retourne un statut + non-OK alors le temps d'arrêt démare et dure le nombre de secondes + défini dans le formulaire. + +Pour ajouter un temps d'arrêt récurrent, rendez-vous dans le menu +`Monitoring > Downtimes > Recurrent Downtimes` et cliquez sur **Add**. + +![image](../assets/alerts/05recurrentdowntimes.png) + +#### Configuration des temps d'arrêts + +- Les champs **Name** et **Description** permettent de donner un nom + et de décrire le temps d'arrêt récurrent. +- Le champ **Enable** permet d'activer ou de désactiver le temps + d'arrêt. +- Le champ **Periods** permet de définir une ou plusieurs périodes de + temps d'arrêt récurrent. Pour ajouter une période, cliquez sur le + symbole ![image](../assets/common/navigate_plus.png) + +Il est possible de choisir trois types de périodes : + +- Weekly : Permet de choisir les jours de semaine +- Monthly : Permet de choisir les jours dans un mois +- Specific date : Permet de choisir des dates spécifiques + +- Le champ **Days** définit le (ou les) jour(s) concerné(s). +- Le champ **Time period** contient la période de temps concernée + (exprimée en HH:MM - HH:MM). +- Le champ **Downtime type** définit le type de temps d'arrêt + souhaité. + +> Il est possible de combiner plusieurs types de périodes au sein d'un +> seul temps d'arrêt. + +#### Relations + +- La liste **Linked with Hosts** permet de choisir le ou les hôtes + concernés par le temps d'arrêt récurrent. +- Si un groupe d'hôte est choisi avec la liste **Linked with Host + Groups** tous les hôtes appartenant à ce groupe sont concernés par + le temps d'arrêt récurrent. +- La liste **Linked with Services** permet de choisir le ou les + services concernés par le temps d'arrêt récurrent. +- Si un groupe de services est choisi avec la liste **Linked with + Service Groups** tous les services appartenant à ce groupe sont + concernés par le temps d'arrêt récurrent. + +## Ajouter un commentaire + +### Principe + +Centreon permet d'ajouter des commentaires à un objet. Ce commentaire +est visible par toute personne ayant accès à la ressource (hôte ou +service). Un commentaire possède les propriétés suivantes : + +- Nom de l'hôte +- Nom du service si le commentaire est associé à un service +- Date de saisie du commentaire +- Auteur du commentaire +- Le contenu du commentaire +- La validité du commentaire face à un redémarrage de l'ordonnanceur + +### En pratique + +Pour ajouter un commentaire, deux solutions sont possibles : + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Host/Service Commands**, cliquez sur **Add a + comment for this host/this service** + + + + +1. Rendez-vous dans le menu **Monitoring > Downtimes > Comments** +2. Cliquez sur **Add a Service Comment** ou **Add a Host Comment** + + + + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/comment.png) + +- Le champ **Host Name** définit l'hôte concerné par le commentaire +- Si vous avez choisi d'ajouter un commentaire pour un service, le + champ **Service** vous permet de sélectionner le service concerné + par le commentaire. +- Si la case **Persistent** en cas de redémarrage de l'ordonnanceur + est cochée, alors le commentaire sera conservé en cas de redémarrage + de l'ordonnanceur. +- Le champ **Comments** contient le commentaire lui-même. + +## Gestion des vérifications + +### Principe + +Il est possible d'activer ou de désactiver momentanément la vérification +d'un hôte ou d'un service. + +> La modification des paramètres de vérifications n'impacte pas la +> configuration de l'objet en base de données. Ces modifications sont +> réalisées sur la supervision en temps-réel; elles seront annulées lors +> du redémarrage de l'ordonnanceur. + +### En pratique + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Options** rendez-vous à la ligne **Active + checks** pour vérifier l'état des contrôles. + +Pour : + +- Activer la vérification, cliquez sur ![image](../assets/configuration/common/enabled.png) +- Désactiver la vérification, cliquez sur ![image](../assets/configuration/common/disabled.png) + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le(s) objet(s) sur lesquels vous souhaitez activer ou + de désactiver la vérification +3. Dans le menu **More actions…** cliquez sur : + +- **Hosts : Disable Check** ou **Services: Disable Check** pour + arrêter la vérification d'un hôte ou d'un service +- **Hosts: Enable Check** ou **Services: Enable Check** pour activer + la vérification d'un hôte ou d'un service + + + + +## Soumettre un résultat + +### Principe + +Pour les services ayant la propriété de contrôle passif, il est possible +d'envoyer manuellement un résultat à l'ordonnanceur afin que celui-ci +soit pris en compte par l'ordonnanceur. + +### En pratique + +Pour soumettre un résultat, accédez à la page de détails de l'objet. +Dans la catégorie **Service Commands** cliquez sur **Submit result for +this service** + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/submitresult.png) + +- Les champs **Host Name** et **Service** définissent l'hôte et le + service pour lequel le résultat sera soumis +- Le champ **Check result**définit le statut du service +- Le champ **Check output** définit le message à afficher pour le + service +- Le champ **Performance data** permet de définir des données de + performances pour la génération des graphiques + +## Gestion des notifications + +### Principe + +Il est possible d'activer ou de désactiver momentanément la notification +d'un hôte ou d'un service. + +> La modification des paramètres de notifications n'impacte pas la +> configuration de l'objet en base de données. Ces modifications sont +> réalisées sur la supervision en temps-réel; elles seront annulées lors +> du redémarrage de l'ordonnanceur. + +### En pratique + +Il y a deux moyens de gérer les notifications : + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Options** rendez-vous à la ligne : **Service + Notifications** + +Pour : + +- Activer la notification, cliquez sur ![image](../assets/configuration/common/enabled.png) +- Désactiver la notification, cliquez sur ![image](../assets/configuration/common/disabled.png) + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le ou les hôtes/services pour lesquels vous souhaitez + activer ou de désactiver la notification +3. Dans le menu **More actions…** cliquez sur: + +- **Hosts: Disable Notification** ou **Services: Disable + Notification** pour arrêter la notification d'un hôte ou d'un + service +- **Hosts: Enable Notification** ou **Services: Enable Notification** + pour activer la notification d'un hôte ou d'un service + + + + +## Reprogrammation des contrôles + +### Principe + +Par défaut, les contrôles (vérifications d'un service) sont exécutés à +intervalle régulier suivant la configuration définie par l'utilisateur. +Il est possible d'interagir sur la pile d'ordonnancement des contrôles +afin de modifier la programmation de ces derniers. + +Il existe deux types de programmation : + +- La programmation classique : la vérification du service est mise en + priorité dans la file d'attente de l'ordonnanceur (dès que + possible). +- La programmation forcée : la vérification du service est mise en + priorité dans la file d'attente de l'ordonnacneur (dès que possible) + et cela même si l'heure de la demande d'exécution est en dehors de + la période contrôle ou si le service n'est pas de type actif. + +### En pratique + +Il y a deux moyens de forcer la vérification d'un service : + + + + +1. Accédez à la page de détail de l’objet +2. Dans la catégorie **Host Commands** (ou **Service Commands**), + cliquez sur **Re-schedule the next check for this host / service** + ou **Re-schedule the next check for this host / service (forced)** + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le ou les objets pour lesquels vous souhaitez forcer la + vérification +3. Dans le menu **More actions…** cliquez sur **Schedule immediate + check** ou **Schedule immediate check (Forced)** + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-advanced.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-advanced.md new file mode 100644 index 000000000000..973814942670 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-advanced.md @@ -0,0 +1,33 @@ +--- +id: notif-advanced +title: Pour aller plus loin +--- + +## Commandes + +La notification est basée sur une commande qui sera exécutée par le +moteur lors de l'émission de la notification. Cette commande est +attachée à chaque contact à notifier. Centreon propose des commandes par +défaut que vous pouvez modifier. + +Accédez au chapitre de [configuration des +commandes](../monitoring/basic-objects/commands.md#definition) pour +modifier / ajouter de nouvelles commandes de notification. + +> Vous pouvez également trouver dans les [plugins +> Centreon](https://github.com/centreon/centreon-plugins/tree/master/notification) +> pour envoyer des e-mails HTML préformés, etc. Vous devez installer le +> plugin sur tous les collecteurs, et ajouter une commande pour utiliser +> ce plugin et changer la commande de vos contacts. + +## Chatops + +Un projet communautaire [Centreon-Chatops](https://github.com/centreon/centreon-chatops) +a été développé pour permettre la communication entre un chat d'équipe +comme Mattermost ou Slack et Centreon via des commandes slash + +## Stream connector + +Vous pouvez également transférer l’événement vers une application tierce +à l’aide de la fonctionnalité **Centreon Stream Connector**. Voir le +chapitre **Intregration / Stream-Connectors**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-concept.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-concept.md new file mode 100644 index 000000000000..e65bfed08480 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-concept.md @@ -0,0 +1,55 @@ +--- +id: notif-concept +title: Fonctionnement des notifications +--- + +Avant qu'un contact soit notifié au sein de Centreon, il est nécessaire +de respecter plusieurs étapes. Si aucune escalade de notification n'est +définie, le processus de gestion des notifications est standard. +Celui-ci est décrit ci-dessous : + +1. Un service (ou un hôte) est vérifié à intervalle régulier en + fonction de la période temporelle de vérifications définie pour lui + (Dans le cas d'un service passif, on attend que le statut du service + change d'état) +2. Lorsqu'une anomalie survient (statut non-OK), le service (ou l'hôte) + passe en état SOFT +3. Après que le nombre maximum de vérifications avant validation de + l'état ait eu lieu et si le service (ou l'hôte) persiste en + conservant son statut non-OK son état passe de SOFT à HARD. Le + moteur de supervision met en cache le numéro de la notification pour + le service (ou l'hôte) : c'est à dire 0. + +A chaque intervalle d'envoi de notification pour le service (ou l'hôte) +et jusqu'à la fin du statut non-OK, le moteur de supervision réalise les +opérations suivantes : + +4. Le moteur de supervision vérifie que la période temporelle de + notifications définie pour le service (ou l'hôte) permet la + notification à l'instant où le service (ou l'hôte) est passé en état + HARD. Si oui, alors on passe à l'étape suivante sinon, on attend que + la période temporelle définie pour le service (ou l'hôte) permette + la notification. +5. Le moteur de supervision vérifie que la notification est activée + pour le statut actuel du service (ou de l'hôte) + +Pour chaque contact associé au service (ou à l'hôte) : + +6. Le moteur de supervision vérifie plusieurs paramètres : + + - Est-ce que les notifications sont activées pour ce contact ? + - Est-ce que la période temporelle de notifications définie pour + le contact permet la notification ? + - Est-ce que le contact est configuré pour être notifié pour le + statut actuel du service (ou l'hôte) ? + +7. Si ces trois conditions sont validées, alors le moteur de + supervision alerte le contact en utilisant le script de + notifications définit pour le service ou l'hôte. + +8. Le moteur de supervision incrémente le numéro de notification de 1 + +Le schéma ci-dessous résume la gestion des notifications au sein de +Centreon : + +![image](../assets/alerts/hnotifications_schema.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-config-for-teams.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-config-for-teams.md new file mode 100644 index 000000000000..bb62827f1d53 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-config-for-teams.md @@ -0,0 +1,116 @@ +--- +id: notif-config-for-teams +title: Intégrer les notifications de Microsoft Teams +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Cette page explique comment intégrer et configurer les notifications de Centreon vers les canaux Microsoft Teams. + +## Prérequis + +- Pour utiliser le plugin de notification Teams, vous devez configurer un workflow Teams à l'aide de l'application Workflows dans Microsoft Teams. +Consultez cette page pour savoir comment [migrer vos connecteurs vers Workflows[EN]](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/). + +- Vous devez configurer votre workflow avec **MS Power Automate**. + + > Pour garantir une intégration optimale, Microsoft recommande d'utiliser *Power Automate workflows comme solution pour relayer les informations dans et en dehors de Teams de manière évolutive, flexible et sécurisée*. + +## Configurer Microsoft Teams + +Suivez cette procédure Microsoft qui explique comment publier sur un canal lors de la réception d’une demande de webhook : [Publier un flux de travail lorsqu’une demande de webhook est reçue dans Microsoft Teams](https://support.microsoft.com/fr-fr/office/post-a-workflow-when-a-webhook-request-is-received-in-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498#:~:text=You%20can%20post%20to%20a,a%20webhook%20request%20is%20received.&text=next%20to%20the%20channel%20or,that%20best%20suits%20your%20needs). Cela permettra à Centreon d'envoyer une alerte dans un canal Teams. + +> Vous obtiendrez une URL que vous pourrez facilement copier/coller. Conservez soigneusement cette URL. Vous en aurez besoin lorsque vous vous connecterez au service pour lequel vous souhaitez envoyer des données à votre groupe. + +Vous devriez recevoir une notification Teams confirmant la configuration du connecteur. + +## Configurer Centreon + +### Installer le plugin de notification Microsoft Teams + +Vous devez installer le plugin de notification Teams avec le gestionnaire de paquets sur chaque collecteur devant envoyer des notifications à un canal Teams. + +- Entrez la commande suivante : + + + + + ``` shell + dnf install centreon-plugin-Notification-Teams + ``` + + + + + ``` shell + dnf install centreon-plugin-Notification-Teams + ``` + + + + + ``` shell + apt install centreon-plugin-notification-teams + ``` + + + + +### Configurer les objets de configuration à l'aide de l'interface CLAPI + +Pour bénéficier des fonctionnalités du plugin, vous devez créer les objets Centreon suivants : +- Une **Commande de notification** correspondant à tous les types de ressources (Hôtes, Services, Activités métier). +- Un **Contact Centreon**, correspondant à un canal au sein de Teams. Cela signifie que vous aurez besoin de plusieurs contacts si vous devez notifier plusieurs canaux. + +1. Pour faciliter la création de ces objets, vous pouvez copier le contenu suivant issu d'un fichier CLAPI et le coller dans un fichier du répertoire /tmp de votre serveur central (par exemple /tmp/clapi-teams.import). + + > Avant de charger le fichier, remplacez ces valeurs par les vôtres : + - **** avec l'URL que vous utilisez pour accéder à l'interface web de Centreon. + - **** avec l'URL de Teams pour le workflow, obtenu précédemment. + - **** avec le mot de passe que vous souhaitez pour le nouveau contact. + + ``` shell + CMD;ADD;bam-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --bam --service-description='$SERVICEDISPLAYNAME$' --service-state='$SERVICESTATE$' --service-output='$SERVICEOUTPUT$' --date='$DATE$ $TIME$' --centreonurl='$CONTACTADDRESS1$' +CMD;setparam;bam-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;bam-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;bam-notify-by-microsoft-teams;command_locked;0 +CMD;ADD;host-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --notification-type='$NOTIFICATIONTYPE$' --host-name='$HOSTNAME$' --host-state='$HOSTSTATE$' --host-output='$HOSTOUTPUT$' --date='$DATE$ $TIME$' --action-links --centreon-url='$CONTACTADDRESS1$' --extra-info='$NOTIFICATIONAUTHOR$//$NOTIFICATIONCOMMENT$' +CMD;setparam;host-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;host-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;host-notify-by-microsoft-teams;command_locked;0 +CMD;ADD;host-notify-by-microsoft-teams;1; +CMD;ADD;service-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --notification-type='$NOTIFICATIONTYPE$' --host-name='$HOSTNAME$' --service-description='$SERVICEDESC$' --service-state='$SERVICESTATE$' --service-output='$SERVICEOUTPUT$' --date='$DATE$ $TIME$' --action-links --centreon-url='$CONTACTADDRESS1$' --extra-info='$NOTIFICATIONAUTHOR$//$NOTIFICATIONCOMMENT$' +CMD;setparam;service-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;service-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;service-notify-by-microsoft-teams;command_locked;0 +CONTACT;ADD;Microsoft-Teams-Consulting-Channel;notify_teams_consulting_channel;node@deadend;;0;0;browser;local +CONTACT;setparam;notify_teams_consulting_channel;hostnotifperiod;24x7 +CONTACT;setparam;notify_teams_consulting_channel;svcnotifperiod;24x7 +CONTACT;setparam;notify_teams_consulting_channel;hostnotifopt;d,u +CONTACT;setparam;notify_teams_consulting_channel;servicenotifopt;w,u,c +CONTACT;setparam;notify_teams_consulting_channel;contact_pager; +CONTACT;setparam;notify_teams_consulting_channel;contact_address1; +CONTACT;setparam;notify_teams_consulting_channel;contact_js_effects;0 +CONTACT;setparam;notify_teams_consulting_channel;reach_api;0 +CONTACT;setparam;notify_teams_consulting_channel;reach_api_rt;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_enable_notifications;1 +CONTACT;setparam;notify_teams_consulting_channel;contact_activate;1 +CONTACT;setparam;notify_teams_consulting_channel;show_deprecated_pages;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_ldap_last_sync;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_ldap_required_sync;0 +CONTACT;setparam;notify_teams_consulting_channel;hostnotifcmd;host-notify-by-microsoft-teams +CONTACT;setparam;notify_teams_consulting_channel;svcnotifcmd;service-notify-by-microsoft-teams + ``` + +2. Si l'URL de votre workflow Teams est plus longue que 200 caractères, augmentez la taille de la ligne **contact_pager** dans la base de données de configuration Centreon, en utilisant la requête suivante : + ``` shell + ALTER TABLE centreon.contact MODIFY contact_pager VARCHAR(255); + ``` + +3. Utilisez vos identifiants Centreon et CLAPI pour charger le fichier : + ``` shell + centreon -u ‘’ -p ‘’ -i /tmp/clapi-teams.import + ``` + +4. Le fichier créera le contact **Microsoft-Teams-Consulting-Channel**. Utilisez ce contact à l'étape [Configuration des notifications](../alerts-notifications/notif-configuration.md) afin de recevoir des notifications dans votre canal Teams. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-configuration.md new file mode 100644 index 000000000000..966871de136a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-configuration.md @@ -0,0 +1,191 @@ +--- +id: notif-configuration +title: Configurer les notifications +--- + +## Prérequis + +1. Vérifiez que le moteur de supervision est programmé pour envoyer des notifications. + + 1. Allez à la page **Configuration > Collecteurs > Configuration du moteur de collecte**. + + 2. Cliquez sur le collecteur désiré. + + 3. Dans l'onglet **Options de contrôle**, dans la section **Autres options**, sélectionnez **Oui** pour l'option **Notification**. + + 4. Cliquez sur **Sauvegarder**. + +2. Assurez-vous que votre Centreon peut envoyer des notifications, par exemple, [des emails](../administration/postfix.md). + + Les commandes de notifications sont exécutées par le collecteur qui supervise la ressource : configurez la capacité à envoyer des notifications sur tous les collecteurs. + +## Configurer des notifications + +### Étape 1 : Définir quand les contrôles doivent être faits + +1. Allez à la page **Configuration > Hôtes > Hôtes** ou **Configuration > Services > Services par hôte** et sélectionnez un hôte ou un service. + +2. Dans le premier onglet (**Configuration de l'hôte** ou **Informations générales**), remplissez la section **Options d'ordonnancement/Options d'ordonnancement des services**. + + Si aucune valeur n'est définie sur l'hôte ou le service, celui-ci héritera des valeurs de son modèle parent (voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles)). + + +| Action | Option à renseigner | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| +| Activez les contrôles actifs. | Mettre **Contrôle actif activé** à **Oui** | +| Définissez pendant quelle [période de temps](../monitoring/basic-objects/timeperiods.md) les contrôles actifs doivent être réalisés. En-dehors de cette période de temps, aucun contrôle n'aura lieu, ce qui signifie qu'aucune notification ne sera envoyée. | **Période de contrôle** | +| Définissez la fréquence à laquelle les contrôles actifs doivent avoir lieu quand l'hôte est dans un état **OK**. | **Intervalle normal de contrôle** | +| Définissez ce qui doit se produire lorsqu'un hôte ou service entre dans un état non-DISPONIBLE ou non-OK (SOFT) :
  • combien de contrôles doivent être faites sur l'hôte ou le service avant que celui-ci entre dans un état HARD (c'est-à-dire quand les notifications commenceront à être envoyées).
  • à quel intervalle de temps ces contôles SOFT doivent être faits
|
  • **Nombre de contrôles avant validation de l'état**
  • **Intervalle non-régulier de contrôle**
| +| Quand l'hôte ou le service entre dans un état HARD, les notifications commencent à être envoyées. | Les contrôles sont faits selon l'**Intervalle normal de contrôle**, et une notification peut être envoyée uniquement suite à un contrôle | + +### Étape 2 : Configurer les notifications sur l'hôte ou le service + +> Pour rendre la configuration des notifications plus rapide, vous pouvez ajuster les paramètres sur un modèle d'hôte ou de service. Tous les hôtes/services qui héritent de ce modèle hériteront également de ces paramètres. (Voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles).) + +1. Allez à la page **Configuration > Hôtes > Hôtes** ou **Configuration > Services > Services par hôte** et sélectionnez un hôte ou un service. + +2. Dans l'onglet **Notification** : + - Mettez l'option **Notification activée** à **Oui**. + + Si l'option est à **Défaut**, la valeur appliquée sera celle définie sur le modèle de l'hôte ou du service (voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles)). Si aucune valeur n'est définie sur aucun modèle parent, la valeur par défaut est **Non**. + + - Dans le champ **Contacts liés/Groupes de contacts liés**, définissez quels contacts recevront les notifications. Les notifications doivent être activées pour ces contacts (voir [Étape 3](#étape-3-activer-les-notifications-pour-les-contacts-choisis)). + + > Si les notifications sont activées pour un hôte et un contact est défini, alors les notifications seront également activées pour les services liés à cet hôte (sauf si l'option **Notification activée** du service est à **Non**). + + - **Options de notification** : Définissez pour quels statuts les notifications doivent être envoyées. Si aucune valeur n'est définie ici, la valeur sera héritée d'un modèle parent (voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles)). Si aucune valeur n'est définie sur aucun modèle parent, des notifications seront envoyées pour tous les statuts, sauf pour **Aucune**. + + - **Intervalle de notification** : Définissez le nombre d'unités de temps qui doivent s'écouler avant de notifier à nouveau un contact dans le cas où l'hôte est toujours dans un état non-DISPONIBLE/dans le cas où le service est toujours dans un état non-OK. + - Avec l'unité de temps par défaut de 60s, ce nombre sera des minutes. + - Entrez 0 pour envoyer 1 seule notification. + - Gardez à l'esprit qu'une notification ne peut être envoyée que si un contrôle a eu lieu. Pour obtenir le résultat attendu, la valeur définie dans ce champ doit être un multiple de l'option **Intervalle normal de contrôle** définie dans le premier onglet. + - Si aucune valeur n'est définie sur l'hôte/le service, la valeur sera héritée d'un modèle parent (voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles)). + - Si aucune valeur n'est définie sur l'hôte/le service ni sur aucun de ses modèles parents, la valeur par défaut est de 30 minutes. + + - **Période de notification** : Spécifiez la [période de temps](../monitoring/basic-objects/timeperiods.md) pendant laquelle des notifications peuvent être envoyées au contact pour cet hôte ou service. + - Si un changement d'état survient en-dehors de cette période de temps, aucune notification ne sera envoyée. + - Si aucune valeur n'est définie sur l'hôte/le service ni sur aucun de ses modèles parents, la valeur par défaut est 24x7. + + - **Délai de première notification** : Définissez le nombre d'unités de temps à attendre avant d'envoyer la première notification lorsque l'hôte entre dans un état HARD non-DISPONIBLE/lorsque le service entre dans un état HARD non-OK. L'hôte ou le service entre dans un état HARD après que la valeur du **Nombre de contrôles avant validation de l'état** a été atteinte (définie dans le premier onglet). + - Avec l'unité de temps par défaut de 60s, ce nombre sera des minutes. + - Si la valeur est à 0, le moteur de supervision commencera à envoyer des notifications immédiatement. + - Si aucune valeur n'est définie sur l'hôte/le service ni sur aucun de ses modèles parents, la valeur par défaut est 0. + + - **Délai de première notification de recouvrement** : Définissez le nombre d'unités de temps à attendre avant d'envoyer une notification de type récupération lorsque l'hôte entre dans un état DISPONIBLE/quand le service entre dans un état OK. + - Avec l'unité de temps par défaut de 60s, ce nombre sera des minutes. + - Si la valeur est à 0, le moteur de supervision commencera à envoyer des notifications immédiatement. + - Si aucune valeur n'est définie sur l'hôte/le service ni sur aucun de ses modèles parents, la valeur par défaut est 0. + +4. [Déployez](../monitoring/monitoring-servers/deploying-a-configuration.md) la configuration. + + +### Étape 3 : Activer les notifications pour les contacts choisis + +> Pour rendre la configuration des notifications plus rapide, vous pouvez ajuster les paramètres sur un modèle de contact. Tous les contacts qui héritent de ce modèle hériteront également de ces paramètres. (Voir [Règles d'héritage des modèles](#règles-dhéritage-des-modèles).) + +1. Allez à la page **Configuration > Utilisateurs > Contacts/Utilisateurs**, puis cliquez sur le contact à qui vous voulez que les notifications soient envoyées. + +2. Dans l'onglet **Informations générales**, dans la section **Notification**, mettez l'option **Activer les notifications** à **Oui**. + + Si l'option est à **Défaut**, Centreon utilisera la valeur définie sur le plus proche modèle parent. Si aucune valeur n'est définie sur aucun modèle parent, **Défaut** correspond à **Non**, sauf si le contact a été configuré pour recevoir des notifications au niveau de l'hôte. + +3. Dans les sections **Hôte** et **Service**, vérifiez que les [options](#réference) sont cohérentes avec les valeurs définies sur l'hôte/le service : + + - Par exemple, si vous avez mis **Options de notification d'hôte** à **Aucune** sur le contact, celui-ci ne recevra aucune notification pour cet hôte, même si vous avez activé tous les types de notifications sur l'hôte. Si vous avez activé tous les types de notifications sur le contact mais seulement celles de type **Critique** sur un service, le contact recevra uniquement des notification de type **Critique** pour ce service. + - Si vous n'avez défini aucune règle sur le contact, les règles appliquées sont celles définies sur le plus proche modèle parent. + - Si vous avez défini des règles sur le contact, celles-ci prendront le pas sur les règles définies sur le modèle de contact. + +6. Cliquez sur **Sauvegarder**. + +7. [Déployez](../monitoring/monitoring-servers/deploying-a-configuration.md) la configuration. + +#### Réference + +![image](../assets/alerts/notif_contact_config.png) + +- **Options de notification d'hôte/de service** : définissez dans quels cas le contact doit recevoir des notifications. Si vous sélectionnez **Aucune**, le contact ne recevra aucune notification d'aucun type pour les hôtes ou les services. + +- **Période de notification d'hôte/de service** : définissez pendant quelle [période de temps](../monitoring/basic-objects/timeperiods.md) le contact recevra des notifications. Si un changement d'état survient hors de cette période, aucune notification ne sera envoyée (même si la période de temps correspond à celle définie sur l'hôte ou le service). N'oubliez pas que cette période de temps correspondra à celle du fuseau horaire définie dans le profil de l'utilisateur (par exemple, si la période de notification est de 9h à 5h, l'utilisateur recevra des notifications entre 9h et 5h dans son fuseau horaire, qui n'est pas nécessairement le même que le vôtre). + +- **Commandes de notification d'hôte/de service** : définissez par quel moyen le contact doit être notifié (email, pager, jabber). + +### Vérifier la configuration des notifications +Vous pouvez rapidement vérifier que la configuration est bien appliquée dans la page [Statut des ressources](../alerts-notifications/resources-status.md). +1. Allez à la page **Supervision > Statut des ressources**. + +2. Cliquez sur la ressource pour laquelle vous avez configuré des notifications. +Un panneau de détail s'affiche sur la droite. + +3. Cliquez sur l'onglet **Notification**. + +Cet onglet affiche si des notifications sont activées pour cette ressource, ainsi que les contacts et groupes de contact qui seront notifiés. + +## Règles d'héritage des modèles + +Pour les hôtes et les services, la section **Options d'ordonnancement/Options d'ordonnancement des services** dans le premier onglet, et la section **Options de Notification** dans le deuxième onglet, fonctionnent de la même manière. + +- Si vous renseignez une option au niveau de l'hôte ou du service, sa valeur prendra le pas sur la valeur définie dans tout modèle parent de l'hôte ou du service. +- Si aucune valeur n'est définie sur l'hôte ou le service, les valeurs appliquées seront celles définies dans le modèle de l'hôte ou du service, dans son modèle parent, dans le modèle parent du modèle parent, etc. La valeur qui prend le pas est toujours celle définie sur l'objet lui-même ou le plus proche de lui. + +Exemple : + +Un service **Memory** a les modèles parents suivants : Memory < OS-Linux-Memory-SNMP-custom < OS-Linux-Memory-SNMP < generic-active-service-custom < generic-active-service. + +- **Memory** n'a aucune valeur définie dans **Options d'ordonnancement des services**. +- Son modèle parent deux niveaux au-dessus, **OS-Linux-Memory-SNMP**, a des valeurs définies pour **Nombre de contrôles avant validation de l'état**, **Intervalle normal de contrôle** et **Intervalle non-régulier de contrôle** : celles-ci seront appliqués à **Memory**. +- Cependant, le modèle **OS-Linux-Memory-SNMP** n'a aucune valeur définie pour **Période de contrôle**, **Contrôle actif activé**, **Contrôle passif activé** et **Est volatile**. Nous devons donc remonter de deux niveaux : ces valeurs sont définies sur le modèle **generic-active-service**. + +![image](../assets/alerts/template_inheritance.png) + +## Méthode de calcul pour les contacts et groupes de contacts + +Depuis la version Centreon **19.10**, 3 méthodes de détermination des +contacts et groupes de contacts qui seront notifiés sont disponibles : + +- **Vertical Inheritance Only** : récupère les contacts et les groupes + de contacts des ressources et de modèles liés, en utilisant l'option + d'héritage additif activée (méthode héritée, conserver pour la mise + à niveau) +- **Closest Value** : récupère les contacts et groupes de contacts les + plus proche des ressources, y compris des modèles +- **Cumulative inheritance** : Cumulez tous les contacts et groupes de + contacts des ressources et des modèles liés (méthode utilisée pour + la nouvelle installation) + +> L'option **Cumulative inheritance** est la plus simple à configurer. + +## Troubleshooting + +### Les contacts ne reçoivent pas d'emails de notification + +Vérifiez les points suivants : + +- Le service postfix est-il démarré ? Utilisez la commande suivante : + + ``` + systemctl status postfix + ``` + +- Le fichier suivant est-il configuré correctement ? + + ``` + /etc/postfix/main.cf + ``` + +- Les notifications sont-elles activées pour le contact ? Les notifications sont-elles configurées correctement sur le contact ? + +- Les notifications sont-elles configurées correctement sur l'hôte ou le service ? + +### Mes notifications n'arrivent pas suivant l'intervalle spécifié + +Vérifiez que la valeur que vous avez définie dans **Intervalle de notification** (dans le 2è onglet) est bien un multiple de la valeur définie dans **Intervalle normal de contrôle** (dans le 1er onglet). + +En effet, une notification ne peut être envoyée que suite à un contrôle. Par exemple, si vous décidez que les contrôles ont lieu toutes les heures mais que les notifications doivent être envoyées toutes les 10 minutes, les notifications seront en réalité envoyées toutes les heures, car les contrôles ont lieu toutes les heures et non toutes les 10 minutes. + +### Des notifications ont été envoyées en-dehors de la période temporelle définie + +Vérifiez le fuseau horaire de l'utilisateur à qui sont envoyées les notifications : + +1. Allez à la page **Configuration > Utilisateurs > Contacts/Utilisateurs**, puis cliquez sur le contact à qui vous voulez que les notifications soient envoyées. + +2. Vérifiez le champ **Fuseau horaire/Localisation**. La période de temps pendant laquelle les notifications seront envoyées à l'utilisateur est la période de temps dans son fuseau horaire. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-dependencies.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-dependencies.md new file mode 100644 index 000000000000..4d4a1c2f1f1c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-dependencies.md @@ -0,0 +1,313 @@ +--- +id: notif-dependencies +title: Les dépendances +--- + +## Principe + +Les dépendances sont utilisées afin de répondre à deux principaux besoins : + +- Limiter l'envoi de notifications +- Cibler les alertes + +Les dépendances d'objets sont de deux types : + +- Dépendance **physique** entre objet : un switch de répartition est + situé en amont d'un ensemble de serveurs et en aval d'un routeur +- Dépendance **logique** entre objet : l'accès à un site web avec + authentification LDAP dépend de l'état de l'annuaire LDAP lui-même + +## Les dépendances physiques + +Les dépendances physiques consistent à prendre en compte les liens +physiques entre les équipements. Ce lien ne peut être défini que pour +les objets de type **Host**. + +La configuration d'une dépendance physique se déroule au sein de +l'onglet **Relations** d'une fiche de configuration d'un hôte via le +menu **Configuration > Hosts > Hosts**. + +![image](../assets/alerts/dep_host_config.png) + +Il est possible de définir deux paramètres : + +- **Parent Hosts**: signifie que les hôtes sélectionnés sont parents + de cet hôte (situé en amont). Si tous les hôtes parents sélectionnés + deviennent indisponibles ou injoignables alors l'hôte sera considéré + par l'ordonnanceur comme injoignable lui-même. +- **Child Hosts**: signifie que l'hôte devient parent de tous les + hôtes enfants sélectionnés. + +> Il n'est pas possible d'établir des liens de parentés entre hôtes +> supervisés par des collecteurs différents. + +> Tous les parents d'un hôte doivent être dans un état non-OK pour que +> l'hôte lui-même soit considéré comme injoignable. A partir du moment +> où au moins un chemin d'accès (liaison de dépendance physique) est +> toujours joignable alors l'ordonnanceur continuera de surveiller cet +> hôte. + +## Les dépendances logiques + +Les dépendances logiques consistent à mettre en place des liens logiques +entre plusieurs objets de différents types ou non. + +Par exemple : Un service est chargé de superviser l'accès à une page web +requérant une authentification basée sur un annuaire LDAP. Il est +logique que si le serveur LDAP est en panne, l'accès à la page web sera +limité voire impossible. Dans cette situation, la notification émise ne +doit l'être que pour l'annuaire LDAP et non le site web. + +### Les hôtes + +Pour configurer une dépendance logique, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Hosts` et cliquez sur +**Add**. + +![image](../assets/alerts/03hostdependance.png) + +Dans ce cas, nous avons deux types d'hôtes qui entrent en jeu : un ou des +hôtes (appelé hôtes maîtres) dont le statut contrôle l'exécution et les +notifications d'autres hôtes (appelés hôtes dépendants). Si vous +utilisez Centreon Broker, il est également possible à partir des hôtes +maîtres de contrôler l'exécution et les notifications de services +(appelés services dépendants). + +- Les champs **Name** et **Description** indiquent le nom et la + description de la dépendance +- Le champ **Parent relationship** est à ignorer si vous utilisez + Centreon Engine. S'il est activé, alors si les liens de dépendances + de l'hôte maître deviennent indisponibles, la dépendance en cours de + création n'est plus prise en compte. +- Le champ **Execution Failure Criteria** indique quels sont les + statuts du ou des hôtes maîtres qui empêcheront la vérification des + hôtes ou des services dépendants +- Le champ **Notification Failure Criteria** indique quels sont les + statuts du ou des hôtes maîtres qui empêcheront l'envoi de + notifications pour les hôtes ou les services dépendants +- La liste **Hostnames** défini le ou les hôtes maîtres +- LLa liste **Dependent Host Names** défini les hôtes dépendants +- La liste **Dependent Services** défini les services dépendants +- Le champ **Comments** permet de commenter la dépendance + +### Les services + +Pour ajouter une dépendance au niveau des services, rendez-vous dans le +menu **Configuration > Notifications > Dependencies > Services** et +cliquez sur **Add**. + +![image](../assets/alerts/03servicedependance.png) + +Dans ce cas, nous avons deux entités qui entrent en jeu : les services +(dits maîtres) qui contrôlent l'exécution et les notifications d'autres +services (dits dépendants). Si vous utilisez Centreon Broker, il est +également possible de contrôler l'exécution et les notifications +d'autres hôtes. + +- Les champs **Name** et **Description** indiquent le nom et la + description de la dépendance +- Le champ **Parent relationship** est à ignorer si vous utilisez + Centreon Engine. S'il est activé, alors si les liens de dépendances + du service maître deviennent indisponibles la dépendance en cours de + création n'est plus prise en compte. +- Le champ **Execution Failure Criteria** indique quels sont les + statuts du (ou des) service(s) maître(s) qui empêchera(ront) la + vérification des hôtes ou des services dépendants +- Le champ **Notification Failure Criteria** indique quels sont les + statuts du (ou des) service(s) maître(s) qui empêchera(ront) l'envoi + de notifications pour les hôtes ou les services dépendants +- La liste **Services** définie le ou les services maîtres +- La liste **Dependent services** définie les services dépendants +- La liste **Dependent hosts** définie les hôtes dépendants +- Le champ **Comments** permet de commenter la dépendance + +### Les groupes d'hôtes + +Pour configurer une dépendance logique, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Host Groups` et cliquez +sur **Add**. + +![image](../assets/alerts/03hostgroupdependance.png) + +Deux types de groupes d'hôtes : Un groupe d'hôtes est dit maître s'il +contrôle l'exécution et la notification d'autres groupes d'hôtes (dit +dépendants). + +- Les champs **Name** et **Description** indiquent le nom et la + description de la dépendance +- Le champ **Parent relationship** est à ignorer si vous utilisez + Centreon Engine. S'il est activé, alors si les liens de dépendances + du groupe d'hôte maître deviennent indisponibles la dépendance en + cours de création n'est plus prise en compte. +- Le champ **Execution Failure Criteria** indique quels sont les + statuts du ou des groupes d'hôtes maîtres qui empêcheront la + vérification des groupes d'hôtes dépendants +- Le champ **Notification Failure Criteria** indique quels sont les + statuts du ou des hôtes maîtres qui empêcheront l'envoi de + notifications pour des groupes d'hôtes dépendants +- La liste **Host groups name** définie le ou les groupes d'hôtes + maîtres +- La liste **Dependent host group name** définie le ou les groupes + d'hôtes dépendants +- Le champ **Comments** permet de commenter la dépendance + +### Les groupes de services + +Pour configurer une dépendance logique, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Service Groups` et +cliquez sur **Add**. + +![image](../assets/alerts/03servicegroupdependance.png) + +Deux types de groupes de services : Un groupe de services est dit maître +s'il contrôle l'exécution et la notification d'autres groupes de +services (dit dépendants). + +- Les champs **Name** et **Description** indiquent le nom et la + description de la dépendance +- Le champ **Parent relationship** est à ignorer si vous utilisez + Centreon Engine. S'il est activé, alors si les liens de dépendances + du groupe de service maître deviennent indisponibles la dépendance + en cours de création n'est plus prise en compte. +- Le champ **Execution Failure Criteria** indique quels sont les + statuts du ou des groupes de services maîtres qui empêcheront la + vérification des groupes de services dépendants +- Le champ **Notification Failure Criteria** indique quels sont les + statuts du ou des hôtes maîtres qui empêcheront l'envoi de + notifications pour des groupes de services dépendants +- La liste **Service group names** définie le ou les groupes de + services maîtres +- La liste **Dependent service group names** définie le ou les groupes + de services dépendants +- Le champ **Comments** permet de commenter la dépendance + +### Meta-services + +Pour configurer une dépendance logique, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Meta Services` et +cliquez sur **Add**. + +![image](../assets/alerts/03metaservicedependance.png) + +Deux types de méta-services : Un méta-service est dit maître s'il +contrôle l'exécution et la notification d'autres méta-services (dit +dépendants). + +- Les champs **Name** et **Description** indiquent le nom et la + description de la dépendance +- Le champ **Parent relationship** est à ignorer si vous utilisez + Centreon Engine. S'il est activé, alors si les liens de dépendances + du méta-service maître deviennent indisponibles la dépendance en + cours de création n'est plus prise en compte. +- Le champ **Execution Failure Criteria** indique quels sont les + statuts du ou des méta-services maîtres qui empêcheront la + vérification des méta-services dépendants +- Le champ **Notification Failure Criteria** indique quels sont les + statuts du ou des méta-services qui empêcheront l'envoi de + notifications pour des méta-services dépendants +- La liste **Meta-service name** définie le (ou les) méta-service(s) + maître(s) +- La liste **Dependent meta-service** définie le (ou les) + méta-service(s) dépendant(s) +- Le champ **Comments** permet de commenter la dépendance + +## Exemples + +Ce sous-chapitre illustre l'utilisation de ces dépendances via quelques +cas réels. + +> Les dépendances sont basées sur des critères d'échec qui sont «ne pas +> faire si». Ne notifiez pas si le service est dans un état critique. +> N'effectuez pas la vérification si le service est dans un état +> Critical, Warning, Unknown… + +### Dépendance d'un service + +Un service est vérifié en utilisant un scénario Sélénium. Ce scénario se +connecte à une interface web avec un identifiant et un mot de passe. Ces +informations de connexions sont stockées dans une base de données +MariaDB. + +Par conséquent, si jamais le serveur de base de données ne répond plus, +alors le scénario Sélénium ne peut aboutir. Il parait évident qu'il est +nécessaire de créer un lien de dépendance logique entre le service qui +utilise le scénario Sélénium et le service qui est chargé de vérifier le +statut du serveur MariaDB. + +De plus, étant donné que le scénario Sélénium ne peut pas s'exécuter +correctement, aucune donnée de performances ne peut être stockée en base +de données. Il faut donc arrêter non seulement la notification pour le +service utilisant le scénario Sélénium mais aussi la vérification. + +Afin de créer cette dépendance, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Services` et cliquez sur +**Add**. + +1. Entrez le nom et la description de la dépendance +2. Pour les champs **Execution Failure Criteria** et **Notification + Failure Criteria**, cochez Alerte, Critique, Inconnu et En attente +3. Dans la liste **Services**, sélectionnez le service qui est chargé + de vérifier le statut du serveur MariaDB +4. Dans la liste **Dependent Services**, sélectionnez le service qui + utilise le scénario Sélénium +5. Sauvegardez + +A partir de ce moment, si le service chargé de vérifier le statut du +serveur MariaDB a un statut "Warning", "Critical", "Unknown" ou +"Pendinge", alors le service chargé d'exécuter le scénario Sélénium ne +sera plus exécuté jusqu'à ce que le service maître redevienne OK. + +### Dépendance d'un hôte + +Prenons le cas de deux hôtes qui fonctionnent en cluster. Trois hôtes +sont créés afin de pouvoir superviser ce cluster : un hôte A, un hôte B +(tous les deux membres du cluster) et un hôte C (qui centralise les +informations du cluster). + +Si jamais, l'hôte A ou l'hôte B a un statut non-OK, alors les services +de l'hôte C sera automatiquement considéré comme non-OK. Il est donc +nécessaire d'ajouter une dépendance qui empêche l'envoi de notifications +si jamais l'hôte A ou l'hôte B devient défaillant. Cependant, la +remontée des données de performances doit toujours être fonctionnelle, +c'est pourquoi il est nécessaire de continuer la supervision de l'hôte +C. + +Afin de créer cette dépendance, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Hosts` et cliquez sur +**Add**. + +1. Entrez le nom et la description de la dépendance +2. Pour le champ **Notification Failure Criteria**, cochez Alerte, + Critique, Inconnu et En attente +3. Dans la liste **Host Names**, sélectionnez l'hôte A +4. Dans la liste **Dependent Host Names**, sélectionnez l'hôte C +5. Sauvegardez + +Répétez cette opération pour l'hôte B. + +### Dépendance d'un groupe de service + +Prenons l'exemple d'un ensemble de services Oracle sur lequel se base +l'application ERP. Il faut deux groupes de services : + +- Le groupe Application Oracle +- Le groupe Application ERP + +Si les services Oracle deviennent critiques, alors les services de +l'application ERP sont automatiquement critiques. Il est nécessaire de +créer un lien de dépendance afin d'empêcher la vérification et la +notification des services de l'application ERP si l'application Oracle +est non-OK. + +Afin de créer cette dépendance, rendez-vous dans le menu +`Configuration > Notifications > Dependencies > Service Groups` et +cliquez sur **Add**. + +1. Entrez le nom et la description de la dépendance +2. Pour le champ **Execution Failure Criteria** et **Notification + Failure Criteria**, cochez Critique et En attente +3. Dans la liste **Service Group Names**, sélectionnez le groupe de + services **Application Oracle** +4. Dans la liste **Dependent Service Group Names**, sélectionnez le + groupe de services **Application ERP** +5. Sauvegardez diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-escalation.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-escalation.md new file mode 100644 index 000000000000..24bfb2086659 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-escalation.md @@ -0,0 +1,101 @@ +--- +id: notif-escalation +title: Les escalades de notifications +--- + +## Definition + +D'une manière générale, en cas de déclenchement d'une alerte, une +notification permet de contacter un ou plusieurs contacts (ou groupes de +contacts). De même, il est possible d'envoyer plusieurs notifications +suivant un intervalle de temps régulier. + +Une escalade de notifications permet de contacter différents groupes de +contacts au fil des notifications envoyées ou de changer le moyen de +notification (remplacer les mails par un SMS). La définition d'une +escalade de notification pour un hôte, un groupe d'hôte, un service, un +groupe de services ou un méta-service écrase la configuration classique +des notifications pour cet objet. + +Exemple : Un service A est paramétré pour envoyer des notifications à un +groupe de contacts “A” en cas de statut non-OK. Ces notifications sont +envoyées toutes les 5 minutes. Si pendant un certain nombre de +notifications envoyées le statut du service est toujours en non-OK, il +est possible de contacter les individus du groupe de contacts “B” etc… + +Les escalades de notifications sont pratiques dans les cas où il existe +dans une société une équipe de support de niveau 1, niveau 2, niveau 3… +Lorsqu'un problème survient l'équipe de support niveau 1 est contactée. +Si pendant un certain temps l'équipe niveau 1 n'a pas réussi à résoudre +le problème, l'équipe niveau 2 est avertie etc… + +## Principe + +Les escalades de notifications permettent deux choses : + +- Notifier des contacts différents en fonction du nombre de + notifications envoyées +- Changer de moyens de notifications au cours du temps + +En cas d'utilisation des escalades de notifications, la récupération de +la liste de contact est quelque peu différente : + +1. Un service (ou un hôte) est vérifié à intervalle régulier en + fonction de la période temporelle de vérification définie pour lui +2. Lorsqu'une anomalie survient (statut non-OK), le service (ou l'hôte) + passe en état SOFT +3. Après que le nombre maximum de vérifications avant validation de + l'état ait eu lieu, si le service (ou l'hôte) persiste en conservant + son statut non-OK son état passe de SOFT à HARD. Le moteur de + supervision met en cache le numéro de la notification pour le + service (ou l'hôte) : c'est à dire 0. + +A chaque intervalle d'envoi de notification pour le service (ou l'hôte) +et jusqu'à la fin du statut non-OK le moteur de supervision réalise les +opérations suivantes : + +1. Si aucune escalade de notification n'est définie pour le service (ou + l'hôte) et le numéro actuel de notification, alors le traitement de + la notification est fait de la même manière que pour une + notification classique : le moteur de supervision utilise la + configuration de notifications définie pour le service (ou l'hôte). +2. Si une escalade de notification est définie pour le service (ou + l'hôte) et le numéro actuel de notification, alors le moteur de + supervision se base sur la configuration de l'escalade afin de + sélectionner les contacts à notifier et les moyens à utiliser. +3. Le mécanisme de traitement d'une notification est le même que pour + l'envoi d'une notification normale + +## Configuration + +Pour ajouter une escalade de notification, rendez-vous dans le menu +`Configuration > Notifications > Escalations` et cliquez sur **Add** + +![image](../assets/alerts/04notificationsescalation.png) + +- Les champs **Escalation Name** et **Alias** permettent de définir un + nom et un alias à l'escalade de notifications. +- Le champ **First Notification** permet de choisir le numéro de la + notification à partir de laquelle le groupe de contacts sera averti. +- Le champ **Last Notification** permet de choisir le dernier numéro + de la notification pour lequel ce groupe de contacts sera averti. Si + le groupe de contacts est le dernier niveau de l'escalade. La valeur + de ce champ est **0**. +- Le champ **Notification Interval** définit l'intervalle de + notifications entre chaque alerte. +- Le champ **Escalation Period** définit la période temporelle de + notifications. +- Les champs **Hosts Escalation Options** et **Services Escalation + Options** définissent les statuts d'hôtes et de services pour + lesquels l'escalade est utilisée. +- La liste **Linked Contact Groups** définit le groupe de contacts à + contacter lors du déclenchement de l'escalade. +- Le champ **Comments** permet de commenter l'escalade. + +### Application de l'escalade + +Pour sélectionner les différents objets qui seront concernés par cette +escalade, les onglets **Hosts Escalation**, **Services Escalation**, +**Hostgroups Escalation**, **Meta Service Escalation** et +**Servicegroups Escalation** permettent de choisir les objets sur +lesquels les escalades sont appliquées. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-flapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-flapping.md new file mode 100644 index 000000000000..718a5ea4124c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/notif-flapping.md @@ -0,0 +1,155 @@ +--- +id: notif-flapping +title: Flapping +--- + +## Introduction + +Centreon Engine prend en charge la détection des hôtes et des services +bagoter. Le bagotement se produit lorsqu'un service ou un hôte change +d'état trop fréquemment, ce qui entraîne une tempête de notifications de +problèmes et de récupération. Le battement peut indiquer des problèmes +de configuration (c'est-à-dire des seuils trop bas), des services +gênants ou de vrais problèmes de réseau. + +## Fonctionnement de la détection de bagotement + +Chaque fois que Centreon Engine vérifie l'état d'un hôte ou d'un +service, il vérifie s'il l'état de bagotement en : + +- Enregistrant les résultats des 21 dernières vérifications de l'hôte + ou du service +- Analysant les résultats de l'historique de la vérification et + déterminant où se produisent les changements / transitions de + statuts +- Utilisant les transitions de statuts pour déterminer un pourcentage + de changement pour l'hôte ou le service +- Comparant la valeur de changement de statuts en pourcentage aux + seuils déterminés + +Un hôte ou un service est déterminé en état bagotant (flapping) lorsque +son pourcentage de changement de statuts dépasse pour la première fois +le seuil haut. + +Un hôte ou un service redevient en état régulier lorsque son pourcentage +de changement de statuts passe en dessous du seuil bas. + +## Exemple + +Décrivons plus en détail le fonctionnement de la détection de +bagotements avec les services... + +L'image ci-dessous montre un historique chronologique pour un service +des états des 21 derniers contrôles. Les états OK sont affichés en vert, +les états WARNING en jaune, les états CRITICAL en rouge et les états +UNKNOWN en orange. + +![image](../assets/alerts/statetransitions.png) + +L'historique des résultats de la vérification du service sont examinés +pour déterminer où se produisent les changements / transitions de +statuts. Les changements de statut se produisent lorsqu'un état archivé +est différent de l'état archivé qui le précède immédiatement +chronologiquement. Étant donné que nous conservons les résultats des 21 +dernières vérifications du service, il est possible d'avoir au plus 20 +changements de statuts. Dans cet exemple, il y a 7 changements de +statuts, indiqués par des flèches bleues dans l'image ci-dessus. + +La logique de détection des bagotement utilise les changements de +statuts pour déterminer un pourcentage global de changement de statuts +pour le service. Il s'agit d'une mesure de la volatilité / du changement +pour le service. Les services qui ne changent jamais de statuts auront +une valeur de changement de statuts de 0%, tandis que les services qui +changent de statuts chaque fois qu'ils sont vérifiés auront un +changement de statuts de 100%. La plupart des services auront un +changement de statuts en pourcentage quelque part entre les deux. + +Lors du calcul du pourcentage de changement de statuts pour le service, +l'algorithme de détection des bagotements donnera plus de poids aux +nouveaux changements par rapport aux anciens. Plus précisément, les +routines de détection des bagotements sont conçues pour que le +changement de statut le plus récent ait 50% de poids en plus que le +changement le plus ancien. L'image ci-dessous montre comment les +changements récents ont plus de poids que les changements plus anciens +lors du calcul du changement de statut global ou total en pourcentage +pour un service particulier. + +![image](../assets/alerts/statetransitions2.png) + +À l'aide des images ci-dessus, calculons le pourcentage de changement de +statut pour le service. Vous remarquerez qu'il y a un total de 7 +changements de statuts (à t\_3, t\_4, t\_5, t\_9, t\_12, t\_16 et +t\_19). Sans aucune pondération des changements au fil du temps, cela +nous donnerait un changement d'état total de 35%: + +(7 changements observés / 20 possible changements) \* 100 = 35 % + +Étant donné que la logique de détection des bagotements donnera aux +changements d'état plus récents un taux plus élevé que les changements +plus anciens, le pourcentage réel de changement calculé sera légèrement +inférieur à 35% dans cet exemple. Disons que le pourcentage pondéré du +changement d'état s'est avéré être de 31%. + +Le pourcentage de changement de statut calculé pour le service (31%) +sera ensuite comparé aux seuils de bagotements pour voir ce qui devrait +se produire: + +- Si le service était en état régulier auparavant, et que 31% est égal + ou supérieur au seuil de bagotement haut, le moteur Centeron + considère que le service vient de commencer à bagoter. +- Si le service était en état de bagotement précédemment et que 31% + est inférieur au seuil de bagotement bas, le moteur Centreon + considère que le service redevient dans un état régulier. + +Si aucune de ces deux conditions n'est remplie, la logique de détection +des bagotement ne fera rien d'autre avec le service, car soit le service +est en état de bagotement, soit en étt régulier. + +## Configuration + +### Activation de la détection des bagotements + +Rendez-vous dans le menu +`Configuration > Pollers > Engine configuration` et sélectionner un +moteur (Centreon Engine). Dans l'onglet **Check Options** ativer la +détection de bagotements : + +![image](../assets/alerts/flap_engine_conf.png) + +Vous pouvez modifier les seuils ou conserver ceux préconfigurés. + +### Détection de bagotement pour les hôtes + +Si vous activez la détection de bagotement pour un moteur (Centreon +Engine), le processus sera appliqué à toutes les ressources supervisées +par ce dernier. + +Vous pouvez désactiver / activer la détection de bagotement pour un hôte +via le menu de configuration. + +Rendez-vous dans le menu **Configuration > Hosts > Hosts**, sélectionnez +un hôte et accédez à l'onglet **Data Processing** : + +![image](../assets/alerts/flap_host_conf.png) + +Vous pouvez également adapter les seuils de bagotements pour cette ressource. + +> Utilisez des modèles pour faciliter la configuration. + +### Détection de bagotement pour les services + +Si vous activez la détection de bagotement pour un moteur (Centreon +Engine), le processus sera appliqué à toutes les ressources supervisées +par ce dernier. + +Vous pouvez désactiver / activer la détection de bagotement pour un +service via le menu de configuration. + +Rendez-vous dans le menu **Configuration > Services > Services by Host**, +sélectionnez un service et accédez à l'onglet **Data Processing** : + +![image](../assets/alerts/flap_host_conf.png) + +Vous pouvez également adapter les seuils de bagotements pour cette ressource. + +> Utilisez des modèles pour faciliter la configuration. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/other.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/other.md new file mode 100644 index 000000000000..aa96e5ffc980 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/other.md @@ -0,0 +1,188 @@ +--- +id: other +title: Autres actions +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Ajouter un commentaire + +### Principe + +Centreon permet d'ajouter des commentaires à un objet. Ce commentaire +est visible par toute personne ayant accès à la ressource (hôte ou +service). Un commentaire possède les propriétés suivantes : + +- Nom de l'hôte +- Nom du service si le commentaire est associé à un service +- Date de saisie du commentaire +- Auteur du commentaire +- Le contenu du commentaire +- La validité du commentaire face à un redémarrage de l'ordonnanceur + +### En pratique + +Pour ajouter un commentaire, deux solutions sont possibles : + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Host/Service Commands**, cliquez sur **Add a + comment for this host/this service** + + + + +1. Rendez-vous dans le menu **Monitoring > Downtimes > Comments** +2. Cliquez sur **Add a Service Comment** ou **Add a Host Comment** + + + + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/comment.png) + +- Le champ **Host Name** définit l'hôte concerné par le commentaire +- Si vous avez choisi d'ajouter un commentaire pour un service, le + champ **Service** vous permet de sélectionner le service concerné + par le commentaire. +- Si la case **Persistent** en cas de redémarrage de l'ordonnanceur + est cochée, alors le commentaire sera conservé en cas de redémarrage + de l'ordonnanceur. +- Le champ **Comments** contient le commentaire lui-même. + +## Gestion des vérifications + +### Principe + +Il est possible d'activer ou de désactiver momentanément la vérification +d'un hôte ou d'un service. + +> La modification des paramètres de vérifications n'impacte pas la +> configuration de l'objet en base de données. Ces modifications sont +> réalisées sur la supervision en temps-réel; elles seront annulées lors +> du redémarrage de l'ordonnanceur. + +### En pratique + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Options** rendez-vous à la ligne **Active + checks** pour vérifier l'état des contrôles. + +Pour : + +- Activer la vérification, cliquez sur ![image](../assets/configuration/common/enabled.png) +- Désactiver la vérification, cliquez sur ![image](../assets/configuration/common/disabled.png) + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le(s) objet(s) sur lesquels vous souhaitez activer ou + de désactiver la vérification +3. Dans le menu **More actions…** cliquez sur : + +- **Hosts : Disable Check** ou **Services: Disable Check** pour + arrêter la vérification d'un hôte ou d'un service +- **Hosts: Enable Check** ou **Services: Enable Check** pour activer + la vérification d'un hôte ou d'un service + + + + +## Gestion des notifications + +### Principe + +Il est possible d'activer ou de désactiver momentanément la notification +d'un hôte ou d'un service. + +> La modification des paramètres de notifications n'impacte pas la +> configuration de l'objet en base de données. Ces modifications sont +> réalisées sur la supervision en temps-réel; elles seront annulées lors +> du redémarrage de l'ordonnanceur. + +### En pratique + +Il y a deux moyens de gérer les notifications : + + + + +1. Accédez à la page de détails de l'objet +2. Dans la catégorie **Options** rendez-vous à la ligne : **Service + Notifications** + +Pour : + +- Activer la notification, cliquez sur ![image](../assets/configuration/common/enabled.png) +- Désactiver la notification, cliquez sur ![image](../assets/configuration/common/disabled.png) + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le ou les hôtes/services pour lesquels vous souhaitez + activer ou de désactiver la notification +3. Dans le menu **More actions…** cliquez sur: + +- **Hosts: Disable Notification** ou **Services: Disable + Notification** pour arrêter la notification d'un hôte ou d'un + service +- **Hosts: Enable Notification** ou **Services: Enable Notification** + pour activer la notification d'un hôte ou d'un service + + + + +## Reprogrammation des contrôles + +### Principe + +Par défaut, les contrôles (vérifications d'un service) sont exécutés à +intervalle régulier suivant la configuration définie par l'utilisateur. +Il est possible d'interagir sur la pile d'ordonnancement des contrôles +afin de modifier la programmation de ces derniers. + +Il existe deux types de programmation : + +- La programmation classique : la vérification du service est mise en + priorité dans la file d'attente de l'ordonnanceur (dès que + possible). +- La programmation forcée : la vérification du service est mise en + priorité dans la file d'attente de l'ordonnanceur (dès que possible) + et cela même si l'heure de la demande d'exécution est en dehors de + la période contrôle ou si le service n'est pas de type actif. + +### En pratique + +Il y a deux moyens de forcer la vérification d'un service : + + + + +1. Accédez à la page de détail de l’objet +2. Dans la catégorie **Host Commands** (ou **Service Commands**), + cliquez sur **Re-schedule the next check for this host / service** + ou **Re-schedule the next check for this host / service (forced)** + + + + +1. Rendez-vous dans le menu **Monitoring > Status Details > Hosts** (ou + **Services**) +2. Sélectionnez le ou les objets pour lesquels vous souhaitez forcer la + vérification +3. Dans le menu **More actions…** cliquez sur **Schedule immediate + check** ou **Schedule immediate check (Forced)** + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/resources-status.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/resources-status.md new file mode 100644 index 000000000000..5444ddb3109c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/resources-status.md @@ -0,0 +1,347 @@ +--- +id: resources-status +title: Page Statut des ressources +--- + +La vue **Supervision > Statut des ressources** est votre vue principale +pour connaître les évènements en cours et être en mesure de les comprendre, +les prendre en compte et les traiter rapidement. + +Cette vue rassemble à la fois les hôtes et les services afin de proposer +une interface unique et unifiée de gestion des évènements. + +## Lister les évènements + +Le listing des évènements permet d'avoir une vue condensée des alertes en +cours ou plus largement de l'état de toutes les ressources supervisées par +la plateforme Centreon. + +![image](../assets/alerts/resources-status/resources-status-listing.png) + +Il est possible d'ajouter ou de masquer des colonnes, ainsi que de choisir la colonne de tri afin d'ordonner le listing, par +exemple par statut ou encore par sévérité. + +![image](../assets/alerts/resources-status/resources-status-listing-order.gif) + +### Vue par hôte/par service + +Utilisez les boutons **Afficher la vue** au-dessus de la liste des ressources pour définir la façon dont la liste sera affichée. + +- **Tous**: Affiche une liste complète de tous les types de ressources dans la même vue (hôtes, services, métaservices, services de type Anomaly Detection). +- **Afficher par hôte**: Affiche la liste de tous les hôtes. Par défaut, pour chaque hôte, un résumé des statuts de tous les services est affiché dans la colonne **Services**. Cliquez sur la flèche à gauche du résumé pour étendre la zone et afficher le détail de tous les services rattachés à l'hôte. Les métaservices ne sont pas inclus dans cette vue. +- **Afficher par service**: Affiche la liste de tous les services, et indique l'hôte auquel ils sont rattachés dans la colonne **Hôte**. La liste inclut les métaservices et les services de type Anomaly Detection. + +### Vue compacte ou étendue + +Vous pouvez afficher la vue dans le mode qui vous convient le mieux, en modifiant la présentation visuelle des lignes dans les tableaux. + +Cliquez sur le bouton dédié pour faciliter la lecture des informations contenues dans les tableaux : +- Mode vue "compact" ![image](../assets/alerts/resources-status/compact-icon.png) +- Mode vue "extended" ![image](../assets/alerts/resources-status/extended-icon.png) + +## Exécuter des actions sur les évènements + +### Prendre en compte un évènement + +Lorsqu'une ou plusieurs alertes apparaissent, il est possible de les [acquitter](acknowledge.md) afin de montrer à votre équipe que le problème est bien +pris en compte, et ce de deux manières: + +- En acquittant la ressource directement via le bouton qui s'affiche au survol de la ligne +- En sélectionnant une ou plusieurs lignes et en cliquant sur le bouton **Acquitter** au-dessus du tableau. Vous pouvez utiliser la touche **Majuscule** pour sélectionner plusieurs lignes contiguës. + +Seules les ressources en statut "Non-OK" peuvent être acquittées. +Seule une ressource non acquittée peut être acquittée. + +Lorsqu'une ressource est acquittée : + +- l'alerte disparaît de la vue **Alertes non traitées** +- les [notifications](notif-configuration.md) partant de la ressource sont stoppées +- L'arrière-plan de la ligne d'une ressource acquittée passe en jaune. + +L'acquittement peut aussi être supprimé pour reverser l'évènement dans la liste +des évènements non pris en compte ainsi que pour relancer les notifications. Cliquez +sur **Désacquitter** dans le menu **Plus d'actions**. + +### Planifier une plage de maintenance + +Il est possible de [planifier une plage de maintenance](downtimes.md) : + +- En définissant directement une plage de maintenance via le bouton qui s'affiche au survol de la ligne +- En sélectionnant une ou plusieurs lignes et en cliquant sur le bouton **Planifier une maintenance** au-dessus du tableau. + +La mise en maintenance d'une ressource a pour effet de masquer l'alerte +de la vue **Alertes non traitées** et de stopper les notifications partant +de la ressource. L'arrière-plan des lignes des ressources en maintenance est mauve. + +### Relancer un contrôle + +Dans de nombreuses situations, il est nécessaire de pouvoir rafraîchir +le statut d'une ou plusieurs ressources en lançant un contrôle manuellement via +l'interface. + +Deux types d'actions de contrôle sont disponibles : +- L'action **Vérifier** : un contrôle que vous effectuez uniquement durant la période de vérification configurée. +- L'action **Vérification forcée** : un contrôle que vous pouvez effectuer à tout moment (pendant ou en dehors de la période de vérification configurée). + +Vous pouvez contrôler vos ressources et rafraîchir leur statut de deux manières : + +- En lançant le contrôle directement via le bouton qui s'affiche au survol de la ligne (**Vérification forcée** uniquement). +- En sélectionnant une ou plusieurs lignes et en cliquant sur le bouton **Vérifier** au-dessus du tableau. + +### Soumettre un statut + +Dans certains cas, notamment avec les services dit "passifs", il peut +être utile de soumettre un résultat, c'est à dire un statut, un message +de sortie et des métriques, afin de remettre à zéro l'évènement. +Pour cela, sélectionnez un service passif puis cliquez sur **Soumettre un statut** +dans le menu **Plus d'actions**. + +## Filtrer les évènements + +Les différents filtres s'ajoutent selon un critère ET : les résultats correspondront à tous les critères saisis. + +### Filtres prédéfinis + +Lorsque vous arrivez sur la vue d'évènements, par défaut le filtre est +positionné sur **Alertes non traitées** : ce filtre permet de visualiser +rapidement tous les problèmes n'ayant pas encore été pris en compte ou +associés à une plage de maintenance. Il est possible de choisir parmi 2 +autres filtres : **Toutes les alertes** & **Tous**. + +Signification des filtres : + +- **Alertes non traitées** : Le statut de la ressource est **Alerte** ou + **Critique** ou **Inconnu** ou **Indisponible** ET la ressource n'est ni acquittée ni en + plage de maintenance planifiée +- **Toutes les alertes**: Le statut de la ressource est **Alerte** ou + **Critique** ou **Inconnu** ou **Indisponible** (que la ressource ait été acquittée/mise en maintenance ou non) +- **Tous** : toutes les ressources. + +### Critères de recherche + +Vous pouvez filtrer la liste des ressources selon un certain nombre de critères prédéfinis. + +1. Cliquez sur l'icône **Options de filtre** :![image](../assets/alerts/resources-status/search-options-icon.png) + + Une pop-in apparaît, listant les critères suivants : + + - **Hôte :** sélectionnez un hôte dans la liste déroulante et les statuts à afficher (**Disponible**, **Indisponible**, **Injoignable**, **En attente**). + - **Groupes d'hôtes** + - **Service :** sélectionnez un service dans la liste déroulante et les statuts à afficher (**OK**, **Alerte**, **Critique**, **Inconnu**, **En attente**). + - **Groupe de services** + - **Collecteurs** + - **État :** y a-t'il une action en cours sur le service ou l'équipement ? (acquittement, plage de maintenance planifiée). + +2. Cliquez sur **Plus de filtres** pour afficher plus d'options : + + - [**Catégorie d'hôte**](../monitoring/categories.md) + - [**Criticité d'hôte**](../monitoring/categories.md) + - [**Catégorie de service**](../monitoring/categories.md) + - [**Criticité du service**](../monitoring/categories.md) + - Vous pouvez ajouter un commentaire dans le champ **Informations**. + - [**Type de statut**](concepts.md#types-de-statuts) : **Hard** ou **Soft**. + +3. Vous pouvez cliquer directement sur le bouton **Recherche** ou enregistrer votre filtre : + - Cliquez sur **Save as new** pour nommer et enregistrer votre filtre. Vous pourrez alors y accéder dans la liste **Mes filtres**. + - Cliquez sur **Save as** si vous êtes déjà en train de modifier un filtre existant. + + La liste des ressources est maintenant filtrée. + +### Barre de recherche + +Si vous entrez du texte dans la barre de recherche, par défaut la recherche se fait sur tous les champs suivants : + +- Nom de l'hôte +- Alias de l'hôte +- Adresse ou FQDN de l'hôte +- Nom du service + +Par exemple, si vous entrez "rta", toutes les ressources contenant un "rta" dans l'un des champs ci-dessus seront affichées (par exemple, un métaservice nommé **Ping-RTA-Average**). + +Cependant, vous pouvez faire une recherche beaucoup plus fine en utilisant le [Centreon Query Language](#critères-cql). Celui-ci vous permet de rechercher uniquement dans un ou plusieurs champs. + +#### Critères CQL + +- **alias** : rechercher des hôtes selon leur alias +- **fqdn** : rechercher des hôtes selon leur adresse IP ou FQDN +- **host_group** : rechercher les hôtes rattachés à un groupe d'hôtes +- **host_category**: rechercher les hôtes appartenant à une catégorie +- **host_severity**: rechercher des hôtes selon le nom de la criticité associée +- **host_severity_level**: rechercher des hôtes selon le niveau de la criticité associée +- **h.name** : rechercher des ressources selon le nom d'hôte affiché dans la colonne **Resource** pour les hôtes, et **Parent** pour les services +- **h.alias** : rechercher uniquement sur l'alias de l'hôte +- **h.address** : rechercher des ressources selon le FQDN/l'adresse IP de l'hôte ou du parent du services +- **information** : rechercher uniquement dans la colonne **Information** +- **monitoring_server** : rechercher toutes les ressources supervisées par le collecteur indiqué +- **name** : rechercher des hôtes uniquement sur le nom d'hôte, affiché dans la colonne **Resource** +- **parent_name** : rechercher des services, selon le nom de leur parent +- **parent_alias** : rechercher des services, selon l'alias de leur parent +- **state** : rechercher des ressources problématiques, selon qu'elles sont non prises en compte, acquittées ou en maintenance +- **status** : rechercher des ressources selon leur [statut](concepts.md) +- **status_type**: rechercher des ressources selon leur [type de statut](concepts.md#types-de-statuts) +- **service_category**: rechercher les services appartenant à une catégorie +- **service_group** : rechercher les services rattachés à un groupe de services +- **service_severity**: rechercher des services selon le nom de la criticité associée +- **service_severity_level**: rechercher des services selon le niveau de la criticité associée +- **s.description** : chercher uniquement sur le nom du service (indiqué dans la colonne **Resource**) +- **type** : afficher uniquement les hôtes, les services ou les métaservices + +#### Utiliser la barre de recherche + +La barre de recherche montre les critères appliqués sous forme textuelle. +L'autocomplétion vous aide à saisir les termes de recherche facilement : + +1. Tapez par exemple "h", et la barre suggère tous les critères commençant par +"h" (**host_group**, **h.name**, **h.alias**, **h.address**). Sélectionnez le +critère désiré avec les flèches haut et bas, puis appuyez sur **Tab** ou **Entrée** pour valider la sélection. +Le critère et ses valeurs possibles sont séparés par deux points (par exemple, **host:Linux**). + +2. Suivant le type de critère, l'autocomplétion peut vous suggérer les valeurs possibles +pour ce critère (par exemple, pour le critère **Type**, les valeurs peuvent +être **Hôte**, **Service** ou **Métaservice**). Sélectionnez la valeur désirée +avec les flèches haut et bas, puis appuyez sur **Tab** ou **Entrée** pour valider la sélection. +Un même critère peut avoir plusieurs valeurs possibles. Les valeurs doivent être séparées par des virgules. +La recherche ramènera toutes les valeurs selon un critère OU, par exemple, **type:service,metaservice** ramènera +toutes les ressources de type services et métaservices. + + ![image](../assets/alerts/resources-status/search_tab.gif) + +3. Séparez les critères de recherche par des espaces. Les critères s'additionnent +selon un critère "ET" : les résultats correspondront à tous les critères saisis. + + * Vous pouvez utiliser des expressions régulières. Les wildcards ne sont pas supportées : un motif de recherche commençant par * n'est pas valide. + * Vous ne pouvez pas faire de recherche basée sur un motif dans un champ ayant un nombre fini de valeurs (groupes d'hôtes, statuts, etc) : pour ces champs, utilisez le bouton [**Critères de recherche**](#critères-de-recherche). + +4. Une fois les critères de recherche saisis, entrez un caractère espace ou appuyez sur **Échap** pour sortir de l'autocomplétion, puis appuyez sur **Entrée**. + +Exemple : + **s.description:ping h.name:linux** : la liste affiche tous les services dont le nom contient "ping", pour tous les hôtes dont le nom contient "linux". + +![image](../assets/alerts/resources-status/search_ping_linux.gif) + +### Sauvegarder un filtre + +Lorsque vous souhaitez ne lister qu'un sous-ensemble des équipements de +la supervision, vous pouvez être amenés à utiliser de nombreux critères et +expressions régulières. Dans ce cas, il est intéressant de sauvegarder +le filtre afin de pouvoir facilement le réutiliser plus tard. + +Utilisez l'icône "Options de filtre" à droite de la barre de recherche pour : + +- Enregistrer la recherche actuelle comme un nouveau filtre +- Mettre à jour le filtre actuel avec la recherche en cours + +Une fois qu'un filtre est enregistré, il apparaîtra dans la liste des filtres sous la section **Mes filtres** et vous pourrez utiliser l'icône **Éditer les filtres** pour les manipuler (les renommer, les ré-ordonner ou les supprimer). + + +## Panneau de détail + +Lorsque vous cliquez sur une ligne, un panneau de détail s'affiche pour +présenter les informations principales de la ressource. Ce panneau peut être redimensionné. + +En fonction du type de ressource, différents onglets sont disponibles. + +### Panneau d'hôte + +Le panneau d'hôte contient les éléments suivants : + +- Onglet **Détails** : Informations détaillées sur le statut courant. Vous pouvez glisser-déposer les tuiles pour changer leur disposition. +- Onglet **Services** : La liste des services rattachés à cet hôte avec leur statut (et de leurs graphiques, quand le mode correspondant est sélectionné), +- Onglet **Historique** : La chronologie des évènements survenus pour cet hôte, +- Onglet **Notification** : Affiche si les notifications sont activées pour cette hôte, ainsi que les contacts et groupes de contacts qui seront notifiés. +- Des raccourcis vers la configuration, les journaux d'évènements et les + rapports de disponibilité. + +![image](../assets/alerts/resources-status/resources-status-panel-host.gif) + +Si l'hôte est acquitté ou en maintenance planifiée, des informations supplémentaires +seront visibles sur le panneau. + +### Panneau de service + +Le panneau de service contient les éléments suivants : + +- Onglet **Détails** : Informations détaillées sur le statut courant. Vous pouvez glisser-déposer les tuiles pour changer leur disposition. +- Onglet **Historique** : La chronologie des évènements survenus pour ce service, +- Onglet **Graphique** : Un graphique avec une courbe par métrique collectée par ce service, +- Onglet **Notification** : Affiche si les notifications sont activées pour ce service, ainsi que les contacts et groupes de contacts qui seront notifiés. +- Des raccourcis vers les configurations, les journaux d'évènements et les + rapports de disponibilité pour ce service et son hôte. +- Sous le nom du service, le nom de son hôte parent. Cliquez sur celui-ci pour ouvrir le panneau de détail d'hôte de l'hôte parent. + +![image](../assets/alerts/resources-status/resources-status-panel-service.gif) + +Si le service est acquitté ou en downtime, des informations supplémentaires +seront visibles sur le panneau. + +### Onglet Historique + +L'onglet **Historique** montre une liste antichronologique des évènements survenus pour ce service ou cet hôte. Utilisez la liste **Évènement** pour afficher uniquement les types d'évènements désirés. + +![image](../assets/alerts/resources-status/timeline.png) + +Vous pouvez exporter la liste complète des évènements au format CSV. + +### Onglet Graphique + +L'onglet **Graphique** vous permet d’afficher de manière visuelle l'évolution des métriques dans le temps pour la ressource sélectionnée. Survolez les courbes avec la souris pour afficher l'heure exacte sous le titre du graphique, et dans la légende, les valeurs des différentes métriques correspondant à l'instant. + +Lorsque le curseur ne survole pas les courbes, la légende affiche les valeurs minimum, maximum et moyennes +pour chaque métrique. + +![image](../assets/alerts/resources-status/resources-status-values.png) + +Utilisez la légende pour afficher ou masquer des métriques. + +- Cliquez sur un élément de la légende pour que seule la courbe correspondante s'affiche. +- Pour réafficher l'ensemble des métriques, cliquez à nouveau sur la légende de la métrique affichée. + +![image](../assets/alerts/resources-status/resources-status-graph-select-only-metric.gif) + +Vous pouvez également afficher plusieurs métriques en faisant Ctrl+clic (ou bien Cmd+clic pour les utilisateurs Mac) sur la légende correspondante : + +![image](../assets/alerts/resources-status/resources-status-graph-toggle-legends.gif) + +Les graphiques affichent l'évolution des métriques sur une période donnée. La période affichée peut être définie de différentes façons : + +- Des périodes préconfigurées sont disponibles dans l'en-tête du graphique : 1 jour, 7 jours, 31 jours. + +- Des sélecteurs de date et d'heure sont disponibles pour les points de début et de fin. Ils sont mis à jour lorsque la période affichée change. + +- Utilisez les boutons [<] et [>] qui apparaissent sur les côtés au survol du bord du graphique pour avancer ou reculer dans le temps de la moitié de la période de temps affichée. + +- Sélectionnez une période dans le graphique pour zoomer sur cette période. + + ![image](../assets/alerts/resources-status/resources-status-graph-time-selection.gif) + +La bascule **Afficher les évènements** permet d'afficher certains évènements de la chronologie de la ressource (plages de maintenance, acquittements, commentaires) directement sur le graphique, aux travers d'annotations : + +![image](../assets/alerts/resources-status/resources-status-graph-display-events.gif) + +Il est possible d'ajouter un commentaire directement sur le graphique, en cliquant n’importe où, au niveau du temps souhaité, et ensuite en cliquant sur **Ajouter un commentaire** sur l'infobulle qui apparaît : + +![image](../assets/alerts/resources-status/resources-status-graph-add-comment.gif) + +Pour supprimer un commentaire, allez à la page **Supervision > Planifier des plages de maintenance > Commentaires**. + +En cliquant sur le bouton **Exporter**, vous pouvez exporter une capture du graphique sous forme d'image PNG, qui va aussi inclure les évènements de la chronologie, si l'option correspondante est activée. Notez que seules les métriques sélectionnées seront exportées : + +![image](../assets/alerts/resources-status/resources-status-graph-export-to-png.gif) + +Pour voir une version plus grande du graphique, cliquez sur **Go to performance page** en haut à droite du graphique. + +![image](../assets/alerts/resources-status/graph-open.png) + +Le graphique s'ouvre dans la page **Supervision > Informations de performance > Graphiques**, vous permettant de filtrer celui-ci plus précisément. + +![image](../assets/alerts/resources-status/graph-open2.png) + +Vous pouvez aussi exporter les données du graphique au format CSV. Toutes les métriques seront incluses. + +### Onglet Notification + +L'onglet Notification affiche si les notifications sont activées pour la ressource sélectionnée. Vous pouvez voir les destinataires de ces notifications dans les sections **Contacts** et **Contact groups**. + +Pour paramétrer les destinataires, cliquez sur l'icône "roue dentée" de la section **Contacts** ou **Contact groups**. + +![image](../assets/alerts/resources-status/notification_tab.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/submit.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/submit.md new file mode 100644 index 000000000000..2bf69dc45d18 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/submit.md @@ -0,0 +1,58 @@ +--- +id: submit +title: Soumettre un résultat +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Soumettre un résultat + +### Principe + +Pour les services ayant la propriété de contrôle passif, il est possible +d'envoyer manuellement un résultat à l'ordonnanceur afin que celui-ci +soit pris en compte par l'ordonnanceur. + +### En pratique + + + + +1. Allez à la page **Supervision > Statut des ressources**. + +2. Sélectionnez le service désiré. + +3. Dans le menu **Plus d'actions**, cliquez sur **Soumettre un statut**. + + La fenêtre suivante s'ouvre : + + ![image](../assets/alerts/resources-status/submit-popup.png) + + - Le champ **Statut** définit le statut qu'aura le service une fois le résultat soumis. + - Le champ **Output** définit le message à afficher pour le + service dans la colonne **Information**. + - Le champ **Données de performance** permet de définir des données de + performance pour la génération des graphiques. + + + + +Accédez à la page de détails de l'objet. +Dans la catégorie **Service Commands** cliquez sur **Submit result for +this service**. + +La fenêtre suivante s'affiche : + +![image](../assets/alerts/submitresult.png) + +- Les champs **Host Name** et **Service** définissent l'hôte et le + service pour lequel le résultat sera soumis +- Le champ **Check result**définit le statut du service +- Le champ **Check output** définit le message à afficher pour le + service +- Le champ **Performance data** permet de définir des données de + performances pour la génération des graphiques + + + \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing-install.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing-install.md new file mode 100644 index 000000000000..7958ee174a30 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing-install.md @@ -0,0 +1,62 @@ +--- +id: ticketing-install +title: Installation d'Open Tickets +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +**Centreon Open Tickets** est un module communautaire développé pour +créer des tickets vers une plateforme ITSM à l'aide des API. + +Une fois la configuration du fournisseur de service effectuée, le module +permet à un opérateur de créer des tickets pour les ressources dans un +état non-ok à l'aide d'un widget dédié. En effet, un bouton associé +permet à Centreon de se connecter à l'API et de créer un ticket tout +acquittant les ressources dans Centreon. + +Concernant la configuration du widget, il est possible de voir les +tickets créés en présentant l'ID des tickets ainsi que la date de +création de ceux-ci. + +## Installation des paquets + +Exécutez la commande suivante : + + + + +``` shell +dnf install centreon-open-tickets +``` + + + + +``` shell +dnf install centreon-open-tickets +``` + + + + +``` shell +apt install centreon-open-tickets +``` + + + + +## Installation via l'interface + +Après avoir installé le rpm, vous devez terminer l'installation du +module via l'interface Web. Rendez-vous dans le menu +`Administration > Extensions > Manager` et recherchez **open tickets**. +Cliquez sur **Install selection**: + +![image](../assets/alerts/open_tickets_install_01.png) + +Le module est maintenant installé. + +![image](../assets/alerts/open_tickets_install_02.png) + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing.md new file mode 100644 index 000000000000..b258658f5586 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/alerts-notifications/ticketing.md @@ -0,0 +1,176 @@ +--- +id: ticketing +title: Configuration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Configuration + +### Sélectionner un fournisseur de service + +La liste des fournisseurs disponibles est actualisée dans la section de documentation +dédiée aux intégrations [ITSM](../integrations/itsm/itsm-overview.md). + +Chaque fournisseur a sa propre configuration, cependant, l'ajout d'un +fournisseur dans Centreon peut se faire de la manière suivante. + +Rendez-vous dans le menu +`Configuration > Notifications > Open Tickets > Rules` et cliquez sur le +bouton **Add** : + +![image](../assets/alerts/open_tickets_add_provider_01.png) + +Définissez le nom de la règle **Rule name** et sélectionnez le **Provider**: + +![image](../assets/alerts/open_tickets_add_provider_02.png) + +Un nouveau formulaire appraît. Configurez ce dernier en fonction de ses +spécificités. + +### Hôtes et services + +Pour que les ressources (hôtes et services) reçoivent un numéro de +ticket, il est nécessaire de leur ajouter une macro personnalisée à leur +configuration. + +La meilleure façon est de créer ces macros dans un modèle hôte et un +modèle de service hérité par toutes les ressources. + +Rendez-vous dans le menu **Configuration > Hosts > Templates** et +recherchez le modèle **generic-active-host-custom** et éditez ce +dernier. Ajouter la macro **TICKET\_ID** et cliquez sur **Save** : + +![image](../assets/alerts/open_tickets_macro.png) + +Rendez-vous dans le menu **Configuration > Services > Templates** et +recherchez le modèle **generic-active-service-custom** et éditez ce +dernier. Ajouter la macro **TICKET\_ID** et cliquez sur \*\*Save\* : + +![image](../assets/alerts/open_tickets_macro.png) + +### Configuration du widget + +Vous pouvez configurer Open Ticket pour qu'il soit intégré dans un widget : +- en utilisant la fonctionnalité **Tableaux de bord** avec le widget **Tableau des ressources**, +- ou en utilisant la fonctionnalité **Vues personnalisées (legacy)**. + + + + +> Dans la fonctionnalité **Tableaux de bord**, Open Ticket est disponible via le widget **Tableau des ressources**, dans la liste des événements. + +Pour utiliser **Open Ticket**, vous devez l'ajouter à un tableau de bord. + +1. Allez dans le menu **Accueil > Tableaux de bord**, sélectionnez votre tableau de bord et ajoutez un widget **Tableau des ressources**. + +2. Renseignez les propriétés. + +3. Définissez les paramètres de vos tickets dans la section **Gestion des tickets**. + - Définissez si vous souhaitez afficher les **Ressources sans ticket** ou les **Ressources liées à un ticket**. + +4. Enregistrez vos modifications. + +Votre tableau de bord affiche maintenant le widget **Tableau des ressources** contenant les ressources avec ou sans ticket. + +> Vous pouvez également fermer les tickets directement à partir du widget. + + + + +Pour utiliser le widget, vous devez l'ajouter dans une vue personnalisée. + +1. Allez dans le menu **Accueil > Vues personnalisées**, sélectionnez votre vue et cliquez sur le bouton **Ajouter widget**. + +2. Définissez un titre pour votre widget (par exemple: Open-Tickets) et +sélectionnez le widget **Open Tickets**. Faites la même manipulation +pour ajouter à nouveau ce widget. + +3. Sur le premier widget, pour ouvrir le ticket, cliquez sur le bouton de +**configuration** : + - Sélectionnez la règle **Rule** précédemment définie. + - Ne cochez pas la case **Opened Tickets**. + - Sélectionnez d'autres filtres. + - Ne cochez pas les cases **Display Ticket ID** et **Display Ticket Time**. + +4. Sur le deuxième widget, pour afficher les tickets ouverts, cliquez sur le bouton de **configuration** : + - Sélectionnez la règle **Rule** précédemment définie. + - Cochez la case **Opened Tickets**. + - Sélectionnez d'autres filtres. + - Cochez les cases **Display Ticket ID** et **Display Ticket Time**. + + + + +## Guide utilisateur + +### Créer un ticket + +- Pour ouvrir un ticket, sélectionnez la ressource à l'aide de la case à +cocher et dans le menu **– Plus d'actions –** sélectionnez l'action +requise. +- Une fenêtre s'ouvre pour saisir un commentaire. Une fois saisi, cliquez sur +le bouton **Open** pour créer le ticket. +- Une fois le ticket créé, l'ID de ce dernier apparaît. +- Les ressources précédemment sélectionnées disparaissent du widget +d'ouverture de tickets. + +### Fermer un ticket + +- Pour fermer un ticket, sélectionnez la ressource à l'aide de la case à +cocher et dans le menu **-- Plus d'actions --** sélectionnez l'action requise. +- Le ticket est fermé (pour Centreon seulement). +- Les ressources précédemment sélectionnées disparaissent du widget des +tickets ouverts. + +## Configuration avancée + +Ce module propose des fournisseurs prêts à l'emploi. Cependant, selon la +configuration de votre ITSM, il peut être nécessaire de modifiez-les +pour les adapter à votre environnement. + +### Définition de liste + +Avant d'ouvrir un ticket, un utilisateur peut choisir certaines options +dans une fenêtre. Une option peut être une liste de sélection. Dans la +configuration fournisseur, vous pouvez les configurer dans `Lists` and +`Custom list definition`. Pour chaque entrée dans `Lists`, vous pouvez +définir : + +- **Id** : valeur alphanumeric value (doit être unique) +- **Label** : affiché dans la fenêtre +- **Type** : type de liste. Il existe 3 types de listes + - Liste du fournisseur (données du logiciel de gestion de tickets) + - Liste Centreon (comme `Host group`) + - Liste personnalisées (provenant de la configuration + `Custom list definition`. Les champs **Id** doivent être + identiques) +- **Mandatory** : l'utilisateur doit définir l'option obligatoirement + +![image](../assets/alerts/open_ticket_advanced_list_01.png) + +Le module stocke la sélection de la liste d'utilisateurs dans un tableau +(peut être utilisé dans la section smarty comme `body` ou +`mapping ticket arguments`). Il y a 3 champs (**LIST\_ID** doit être +remplacé): + +- {$select.LIST\_ID.id} +- {$select.LIST\_ID.value} +- {$select.LIST\_ID.label} + +### Règles de chaînage + +Après avoir ouvert un ticket, vous souhaitez peut-être envoyer un +e-mail. Le système de règles de chaînage est conçu pour le faire : + +- Créez une règle avec le nom `emailme` et le fourisseur `Mail` +- Configurez `emailme` pour le champ **Chain rules** + +![image](../assets/alerts/open_ticket_advanced_chain_01.png) + +### Commandes + +Après avoir ouvert un ticket, vous souhaitez également exécuter certaines +commandes : + +![image](../assets/alerts/open_ticket_advanced_cmd_01.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/api-tokens.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/api-tokens.md new file mode 100644 index 000000000000..5bdacb0bc783 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/api-tokens.md @@ -0,0 +1,30 @@ +--- +id: api-tokens +title: Jetons d'API +--- + +Avec un jeton d'application, une application tierce peut faire des appels à l'API Centreon afin de réaliser des actions dans Centreon (webhooks). + +Un jeton est lié à un [utilisateur Centreon](../monitoring/basic-objects/contacts.md) et a une durée de validité. Les appels API seront exécutés en fonction des [droits assignés à cet utilisateur](../administration/access-control-lists.md#donner-des-droits-à-un-utilisateur). Un même utilisateur peut avoir plusieurs jetons. + +## Qui peut créer des jetons d'API ? + +* [Les utilisateurs ou les administrateurs](../administration/access-control-lists.md#donner-des-droits-à-un-utilisateur) ayant accès à la page **Administration > Jetons d'API** peuvent créer des jetons d'API pour leur propre usage. +* Les administrateurs ou les utilisateurs avec la permission **Gérer les jetons d'API** dans les [ACL d'actions](../administration/access-control-lists.md#filtres-daccès-sur-les-actions) peuvent également voir les jetons créés par d'autres utilisateurs, créer des jetons pour d'autres utilisateurs, ou les désactiver ou les supprimer. + +## Créer un jeton d'API + +1. Allez à la page **Administration > Jetons d'API**. +2. Cliquer sur **Ajouter**. Une fenêtre pop-up apparaît. +3. Remplissez les champs demandés puis cliquez sur **Créer un nouveau jeton**. Un champ **Jeton** apparaît dans la fenêtre. Vous pouvez cliquer sur l'icône en forme d'oeil pour afficher le jeton si vous le souhaitez. +4. Copiez le jeton à l'aide du bouton "copie" à droite du champ. Stockez le jeton avec soin : vous ne pourrez pas l'afficher une deuxième fois. +5. Cliquez sur **Fermer**. + +## Gérer les jetons d'API + +La liste des jetons indique le statut de chaque jeton dans la colonne de gauche (activé, valide mais désactivé, périmé). La date de dernière utilisation du jeton est également indiquée. + +Les utilisateurs ayant le rôle **Administrator** peuvent : + +* Désactiver un jeton d'API valide en utilisant le switch **Activé/Désactivé** à droite de la ligne. Le jeton pourra être réactivé si besoin. +* Supprimer totalement un jeton en utilisant le bouton **Supprimer**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/clapi.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/clapi.md new file mode 100644 index 000000000000..c94701c88af1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/clapi.md @@ -0,0 +1,6496 @@ +--- +id: clapi +title: Command Line API (v1) - CLAPI +--- + +> Cette documentation n'est disponible qu'en anglais. + +## Overview + +Centreon CLAPI aims to offer (almost) all the features that are available on the +user interface in terms of configuration. Only administrators can use CLAPI. + +### Features + +* Add/Delete/Update objects such as hosts, services, host templates, host groups, contacts etc... +* Generate configuration files +* Test configuration files +* Move configuration files to monitoring pollers +* Restart monitoring pollers +* Import and export objects + +### Basic usage + +All actions in Centreon CLAPI will require authentication, so your commands will always start like this: + +``` shell +centreon -u admin -p 'centreon' [...] +``` + +Obviously, the **-u** option is for the username and the **-p** option is for the password. The password can be in clear +or the encrypted in the database. + +> ***NOTE:*** If your passwords are encoded with SHA1 in database (MD5 by default), use the **-s** option: + +``` shell +centreon -u admin -p 'centreon' -s [...] +``` + +## Objects + +### ACL + +Object name: **ACL** + +#### Reload + +In order to reload ACL, use the **RELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a reload +``` + +#### Lastreload + +In order to check when the ACL was last reloaded, use the **LASTRELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a lastreload +1329833702 +``` + +If you wish to get a human readable time format instead of a timestamp, use the following command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a lastreload -v "d-m-Y H:i:s" +21-02-2012 15:17:01 +``` + +You can change the date format: + +| Format character | Description | +| ---------------- | ----------- | +| d | Day | +| m | Month | +| Y | Year | +| H | Hour | +| i | Minute | +| s | Second | + +### ACL Groups + +Object name: **ACLGROUP** + +#### Show + +In order to list available ACL Groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a show +id;name;alias;activate +1;ALL;ALL;1 +[...] +``` + +Columns are the following : + +| Column | Description | +| -------- | ---------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Activate | 1 when ACL Group is enabled, 0 otherwise | + +#### Add + +In order to add an ACL Group, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a add -v "ACL Group test;my alias" +``` + +Required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove an ACL Group, use the **DEL** action. The Name is used for identifying the ACL Group to delete: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a del -v "ACL Group test" +``` + +#### Setparam + +If you want to change a specific parameter of an ACL Group, use the **SETPARAM** action. The Name is used for +identifying the ACL Group to update: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setparam -v "ACL Group test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL Group | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | ---------------------------------------- | +| name | | +| alias | | +| activate | 1 when ACL Group is enabled, 0 otherwise | + +#### Getmenu + +If you want to retrieve the Menu Rules that are linked to a specific ACL Group, use the **GETMENU** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getmenu -v "ACL Group test" +id;name +1;Configuration +3;Reporting +4;Graphs +2;Monitoring + Home +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Getaction + +If you want to retrieve the Action Rules that are linked to a specific ACL Group, use the **GETACTION** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getaction -v "ACL Group test" +id;name +1;Simple action rule +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Getresource + +If you want to retrieve the Resource Rules that are linked to a specific ACL Group, use the **GETRESOURCE** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getresource -v "ACL Group test" +id;name +1;All Resources +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Getcontact and Getcontactgroup + +If you want to retrieve the Contacts that are linked to a specific ACL Group, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getcontact -v "ACL Group test" +id;name +1;user1 +``` + +If you want to retrieve the Contact Groups that are linked to a specific ACL Group, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getcontactgroup -v "ACL Group test" +id;name +1;usergroup1 +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Setmenu, Setaction, Setresource, Addmenu, Addaction, Addresource + +If you want to link rules to a specific ACL Group, use the following actions: **SETMENU**, **SETACTION**, +**SETRESOURCE**, **ADDMENU**, **ADDACTION**, **ADDRESOURCE**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setmenu -v "ACL Group test;Menu rule 1|Menu rule 2" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a addresource -v "ACL Group test;All Routers" +``` + +| Command type | Description | +| ------------ | ---------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the delimiter | +| add\* | Appends new rules to the previous definitions. Use the delimiter | + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ---------------------------- | +| 1 | Name of ACL group | +| 2 | Name of the ACL rule to link | + +#### Delmenu, Delaction, Delresource + +If you want to remove rules from a specific ACL Group, use the following actions: **DELMENU**, **DELACTION**, +**DELRESOURCE**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a delaction -v "ACL Group test;Ack rule|Downtime rule" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------ | +| 1 | Name of ACL group | +| 2 | Name of the ACL rule to remove | + +#### Setcontact, Setcontactgroup, Addcontact, Addcontactgroup + +If you want to link contacts or contact groups to a specific ACL Group, use the following actions: **SETCONTACT**, +**SETCONTACTGROUP**, **ADDCONTACT**, **ADDCONTACTGROUP**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setcontact -v "ACL Group test;user1" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a addcontactgroup -v "ACL Group test;usergroup1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | -------------------------------- | +| 1 | Name of ACL group | +| 2 | Contact/Contact group to add/set | + +| Command type | Description | +| ------------ | ---------------------------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the delimiter | +| add\* | Appends new contacts/contact groups to the previous definitions. Use the delimiter | + +#### Delcontact, Delcontactgroup + +If you want to remove rules from a specific ACL Group, use the following actions: **DELCONTACT**, **DELCONTACTGROUP**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a delcontact -v "ACL Group test;user1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ---------------------------------------------- | +| 1 | Name of ACL group | +| 2 | Contact/Contact group to remove from ACL group | + +### Action ACL + +Object name: **ACLACTION** + +#### Show + +In order to list available ACL Actions, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a show +id;name;description;activate +1;Simple User;Simple User;1 +[...] +``` + +Columns are the following: + +| Column | Description | +| ----------- | ----------------------------------------- | +| ID | | +| Name | | +| Description | | +| Activate | 1 when ACL Action is enabled, 0 otherwise | + +#### Add + +In order to add an ACL Action, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a add -v "ACL Action test;my description" +``` + +Required fields: + +| Column | Description | +| ----------- | ----------- | +| Name | | +| Description | | + +#### Del + +If you want to remove an ACL Action, use the **DEL** action. The Name is used for identifying the ACL Action to delete: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a del -v "ACL Action test" +``` + +#### Setparam + +If you want to change a specific parameter of an ACL Action, use the **SETPARAM** action. The Name is used for +identifying the ACL Action to update: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a setparam -v "ACL Action test;description;my new description" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of ACL action rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are the following: + +| Column | Description | +| ----------- | ----------------------------------------- | +| name | | +| description | | +| activate | 1 when ACL Action is enabled, 0 otherwise | + +#### Getaclgroup + +If you want to retrieve the ACL Groups that are linked to a specific ACL Action, use the **GETACLGROUP** command. + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of ACL action rule | + +##### Example + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a getaclgroup -v "ACL Action test" +id;name +1;ALL +3;Operators +``` + +#### Grant and Revoke + +If you want to grant or revoke actions in an ACL Action rule definition, use the following commands: **GRANT**, +**REVOKE**. + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of ACL action rule | +| 2 | Actions to grant/revoke | + +##### Example + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a grant -v "ACL Action test;host_acknowledgement|service_acknowledgement" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a revoke -v "ACL Action test;host_schedule_downtime|service_schedule_downtime" +``` + +The **\`\*\`** wildcard can be used in order to grant or revoke all actions: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a grant -v "ACL Action test;*" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a revoke -v "ACL Action test;*" +``` + +Below is the list of actions that you can grant/revoke: + +| Action | Description | +| ---------------------------------- | ---------------------------------------------------------------------------- | +| global\_event\_handler | Permission to globally enable/disable event handlers | +| global\_flap\_detection | Permission to globally enable/disable flap detection | +| global\_host\_checks | Permission to globally enable/disable host active checks | +| global\_host\_obsess | Permission to globally enable/disable obsess over host | +| global\_host\_passive\_checks | Permission to globally enable/disable host passive checks | +| global\_notifications | Permission to globally enable/disable notifications | +| global\_perf\_data | Permission to globally enable/disable performance data | +| global\_restart | Permission to restart the monitoring engine | +| global\_service\_checks | Permission to globally enable/disable service active checks | +| global\_service\_obsess | Permission to globally enable/disable obsess over service | +| global\_service\_passive\_checks | Permission to globally enable/disable service passive checks | +| global\_shutdown | Permission to shut down the monitoring engine | +| host\_acknowledgement | Permission to acknowledge hosts | +| host\_checks | Permission to enable/disable host active checks | +| host\_checks\_for\_services | Permission to enable/disable active checks of a host's services | +| host\_comment | Permission to put comments on hosts | +| host\_event\_handler | Permission to enable/disable event handlers on hosts | +| host\_flap\_detection | Permission to enable/disable flap detection on hosts | +| host\_notifications | Permission to enable/disable notification on hosts | +| host\_notifications\_for\_services | Permission to enable/disable notification on hosts' services | +| host\_schedule\_check | Permission to schedule a host check | +| host\_schedule\_downtime | Permission to schedule a downtime on a host | +| host\_schedule\_forced\_check | Permission to schedule a host forced check | +| host\_submit\_result | Permission to submit a passive check result to a host | +| manage_tokens | Permission to enable/disable organization’s API Token management | +| poller\_listing | Permission to see the Poller list on the monitoring console | +| poller\_stats | Permission to see the poller statistics (on top screen) | +| service\_acknowledgement | Permission to acknowledge services | +| service\_checks | Permission to enable/disable service active checks | +| service\_comment | Permission to put comments on services | +| service\_event\_handler | Permission to enable/disable event handlers on services | +| service\_flap\_detection | Permission to enable/disable flap detection on services | +| service\_notifications | Permission to enable/disable notification on services | +| service\_passive\_checks | Permission to enable/disable service passive checks | +| service\_schedule\_check | Permission to schedule a service check | +| service\_schedule\_downtime | Permission to schedule a downtime on a service | +| service\_schedule\_forced\_check | Permission to schedule a service forced check | +| service\_submit\_result | Permission to submit a passive check result to a service | +| top\_counter | Permission to see the quick status overview (top right corner of the screen) | + +### Menu ACL + +Object name: **ACLMENU** + +#### Show + +In order to list available ACL Menus, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a show +id;name;alias;comment;activate +1;Configuration;Configuration;;1 +2;Monitoring + Home;Monitoring + Home;;1 +3;Reporting;Reporting;;1 +4;Graphs;Graphs;just a comment;1 +[...] +``` + +Columns are the following : + +| Column | Description | +| -------- | --------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Comment | Comment | +| Activate | 1 when ACL Menu is enabled, 0 otherwise | + +#### Add + +In order to add an ACL Menu, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a add -v "ACL Menu test;my alias" +``` + +Required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove an ACL Menu, use the **DEL** action. The Name is used for identifying the ACL Menu to delete: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a del -v "ACL Menu test" +``` + +#### Setparam + +If you want to change a specific parameter of an ACL Menu, use the **SETPARAM** action. The Name is used for identifying +the ACL Menu to update: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a setparam -v "ACL Menu test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of ACL menu rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | --------------------------------------- | +| name | Name | +| alias | Alias | +| activate | 1 when ACL Menu is enabled, 0 otherwise | +| comment | Comment | + +#### Getaclgroup + +If you want to retrieve the ACL Groups that are linked to a specific ACL Menu, use the **GETACLGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a getaclgroup -v "ACL Menu test" +id;name +1;ALL +3;Operators +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of ACL menu rule | + +#### Grant and Revoke + +If you want to grant in Read/Write, Read Only or revoke menus in an ACL Menu rule definition, use the following actions: +**GRANTRW**, **GRANTRO**, **REVOKE** + +Let's assume that you would like to grant full access to the \[Monitoring\] menu in your ACL Menu rule: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantrw -v "ACL Menu test;1;Monitoring" +``` + +Then, you would like to grant access to the \[Home\] \> \[Poller statistics\] menu: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantrw -v "ACL Menu test;1;Home;Poller statistics" +``` + +Then, you would like to grant access in read only to the \[Configuration\] \> \[Hosts\] menu: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantro -v "ACL Menu test;1;Configuration;Hosts" +``` + +Then, you decide to revoke access from \[Monitoring\] \> \[Event Logs\]: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a revoke -v "ACL Menu test;1;Monitoring;Event Logs" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------------- | +| 1 | Name of ACL menu rule | +| 2 | Grant/revoke children menus | +| 3 | Menu name to grant/revoke | +| n | Possible sub menu name | + +### Resource ACL + +Object name: **ACLRESOURCE** + +#### Show + +In order to list available ACL Resources, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a show +id;name;alias;comment;activate +1;All Resources;All Resources;;1 +[...] +``` + +Columns are the following : + +| Column | Description | +| -------- | ------------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Comment | Comment | +| Activate | 1 when ACL Resource is enabled, 0 otherwise | + +#### Add + +In order to add an ACL Resource, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a add -v "ACL Resource test;my alias" +``` + +Required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove an ACL Resource, use the **DEL** action. The Name is used for identifying the ACL Resource to +delete: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a del -v "ACL Resource test" +``` + +#### Setparam + +If you want to change a specific parameter of an ACL Resource, use the **SETPARAM** action. The Name is used for +identifying the ACL Resource to update: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a setparam -v "ACL Resource test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------- | +| 1 | Name of ACL resource rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | ------------------------------------------- | +| name | Name | +| alias | Alias | +| activate | 1 when ACL Resource is enabled, 0 otherwise | + +#### Getaclgroup + +If you want to retrieve the ACL Groups that are linked to a specific ACL Resource, use the **GETACLGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a getaclgroup -v "ACL Resource test" +id;name +1;ALL +3;Operators +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Grant and revoke + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | +| 2 | Name of resource | + +If you want to grant or revoke resources in an ACL Resource rule definition, use the following commands: + +| Command | Description | Example | Wildcard '\*' supported | +| -------------------------- | ---------------------------- | ---------------------------------------------------------------------- | ----------------------- | +| grant\_host | Put host name(s) | \[...\] -a grant\_host -v "ACL Resource Test;srv-esx" | Yes | +| grant\_hostgroup | Put hostgroup name(s) | \[...\] -a grant\_hostgroup -v "ACL Resource Test;Linux servers" | Yes | +| grant\_servicegroup | Put servicegroup name(s) | \[...\] -a grant\_servicegroup -v "ACL Resource Test;Ping" | Yes | +| grant\_metaservice | Put metaservice name(s) | \[...\] -a grant\_metaservice -v "ACL Resource Test;Traffic Average" | No | +| addhostexclusion | Put host name(s) | \[...\] -a addhostexclusion -v "ACL Resource Test;srv-test" | No | +| revoke\_host | Put host name(s) | \[...\] -a revoke\_host -v "ACL Resource Test;srv-esx" | Yes | +| revoke\_hostgroup | Put hostgroup name(s) | \[...\] -a revoke\_hostgroup -v "ACL Resource Test;Linux servers" | Yes | +| revoke\_servicegroup | Put servicegroup name(s) | \[...\] -a revoke\_servicegroup -v "ACL Resource Test;Ping" | Yes | +| revoke\_metaservice | Put metaservice name(s) | \[...\] -a revoke\_metaservice -v "ACL Resource Test;Traffic Average" | Yes | +| delhostexclusion | Put host name(s) | \[...\] -a delhostexclusion -v "ACL Resource Test;srv-test" | Yes | +| addfilter\_instance | Put instance name(s) | \[...\] -a addfilter\_instance -v "ACL Resource Test;Monitoring-2" | No | +| addfilter\_hostcategory | Put host category name(s) | \[...\] -a addfilter\_hostcategory -v "ACL Resource Test;Customer-1" | No | +| addfilter\_servicecategory | Put service category name(s) | \[...\] -a addfilter\_servicecategory -v "ACL Resource Test;System" | No | +| delfilter\_instance | Put instance name(s) | \[...\] -a delfilter\_instance -v "ACL Resource Test;Monitoring-2" | Yes | +| delfilter\_hostcategory | Put host category name(s) | \[...\] -a delfilter\_hostcategory -v "ACL Resource Test;Customer-1" | Yes | +| delfilter\_servicecategory | Put service category name(s) | \[...\] -a delfilter\_servicecategory -v "ACL Resource Test;System" | Yes | + +> ***NOTE:*** Use delimiter "|" for defining multiple resources. + +### Centreon Broker + +Object name: **CENTBROKERCFG** + +#### Show + +In order to list available Centreon Broker CFG, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a show +config id;config name;instance +1;Central CFG;Central +2;Sattelite CFG;Sattelite +[...] +``` + +Columns are the following: + +| Order | Description | +| ----- | ------------------------------------- | +| 1 | ID | +| 2 | Name of configuration | +| 3 | Instance that is linked to broker cfg | + +#### Add + +In order to add a Centreon Broker CFG, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a add -v "broker cfg for poller test;Poller test" +``` + +Required fields are: + +| Order | Description | +| ----- | ------------------------------------- | +| 1 | Name of configuration | +| 2 | Instance that is linked to broker cfg | + +#### Del + +If you want to remove a Centreon Broker CFG, use the **DEL** action. The Name is used for identifying the configuration +to delete: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a del -v "broker cfg for poller test" +``` + +#### Setparam + +If you want to change a specific parameter of a Centreon Broker configuration, use the **SETPARAM** action. The +configuration name is used for identifying the configuration to update: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a setparam -v "broker cfg for poller test;name;new broker cfg name" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Broker configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------------------------- | ----------------------------------------------------------------------------- | +| filename | Filename of configuration (.json extension) | +| name | Name of configuration | +| instance | Instance that is linked to Centreon Broker CFG | +| event\_queue\_max\_size | Event queue max size (when number is reached, temporary output will be used). | +| event\_queues\_total\_size | Event queues maximum total size | +| cache\_directory | Path for cache files | +| daemon | Link this configuration to cbd service (0 or 1) | +| pool\_size | Number of threads used (by default, use the number of CPUs) | +| stats\_activate | | +| command\_file | Filename of command | +| log\_directory | Directory of log files | +| log\_filename | Filename of log file | + +#### Listinput, Listoutput + +If you want to list specific input output types of Centreon Broker, use one of the following commands: + +- listinput +- listoutput + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a listoutput -v "broker cfg for poller test" +id;name +1;Storage +2;RRD +3;PerfData +``` + +Columns are the following: + +| Column | Description | +| ------ | ----------- | +| ID | I/O ID | +| Name | I/O Name | + +#### Getinput and Getoutput + +In order to get parameters of a specific I/O object, use one of the following commands: + +* getinput +* getoutput + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getoutput -v "broker cfg for poller test;3" +parameter key;parameter value +db_host;localhost +db_name;centreon_storage +db_password;centreon +db_port;3306 +db_type;mysql +db_user;centreon +interval;60 +length; +name;PerfData +type;storage +``` + +The ID is used for identifying the I/O to get. + +Columns are the following: + +| Order | Description | +| ------ | -------------------------- | +| 1 | Parameter key of the I/O | +| 2 | Parameter value of the I/O | + +#### Addinput and Addoutput + +In order to add a new I/O object, use one of the following commands: + +* **ADDINPUT** +* **ADDOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a addoutput -v "broker cfg for poller test;MyFileOutput;file" +``` + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a listoutput -v "broker cfg for poller test" +id;name +1;Storage +2;RRD +3;PerfData +4:MyFileOutput +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------------- | +| 1 | Name of Centreon Broker CFG | +| 2 | Name of the I/O object | +| 3 | Nature of I/O object | + +#### Delinput and Deloutput + +In order to remove an I/O object from the Centreon Broker configuration, use one of the following commands: + +* **DELINPUT** +* **DELOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a deloutput -v "broker cfg for poller test;4" +``` + +The I/O ID is used for identifying the object to delete. + +#### Setintput and Setoutput + +In order to set parameters of an I/O object, use one of the following commands: + +* **SETINPUT** +* **SETOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a setoutput -v "broker cfg for poller test;1;retry_interval;5'" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------------------------------------------- | +| 1 | Name of Centreon Broker CFG | +| 2 | ID of I/O object | +| 3 | Parameter name | +| 4 | Parameter value, for multiple values, use the "," delimiter | + +You may get help with the following CLAPI commands: + +* **GETTYPELIST** +* **GETFIELDLIST** +* **GETVALUELIST** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a gettypelist -v "output" +type id;short name;name +27;bam_bi;BI engine (BAM) +16;sql;Broker SQL Database +32;correlation;Correlation +28;db_cfg_reader;Database configuration reader +29;db_cfg_writer;Database configuration writer +11;file;File +3;ipv4;IPv4 +10;ipv6;IPv6 +26;bam;Monitoring engine (BAM) +14;storage;Perfdata Generator (Centreon Storage) +13;rrd;RRD File Generator +30;graphite;Storage - Graphite +31;influxdb;Storage - InfluxDB +``` + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getfieldlist -v "ipv4" +field id;short name;name +3;ca_certificate;Trusted CA's certificate;text +2;host;Host to connect to;text +46;negotiation;Enable negotiation;radio +48;one_peer_retention_mode;One peer retention;radio +1;port;Connection port;int +4;private_key;Private key file.;text +12;protocol*;Serialization Protocol;select +5;public_cert;Public certificate;text +6;tls;Enable TLS encryption;radio +``` + +> ***NOTE:*** Note that the "protocol" entry is followed by a star. This means that you have to use one of the possible values. + +This is how you get the list of possible values of a given field: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getvaluelist -v "protocol" +possible values +ndo +``` + +The following chapters describes the parameters of each Object type + +ipv4: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in input

    +
  • +

ca_certificate

+

host

Trusted CA's certificate

+

Host to connect to

Trusted CA's certificate.

+

IP address or hostname of the host to connect to (leave blank for listening mode).

    +
  • +
  • +

one_peer_retention_mode

+

port

One peer retention

+

Connection port

This allows the retention to work even if the socket is listening

+

Port to listen on (empty host) or to connect to (with host filled).

    +
  • +
  • +

private_key

Private key file.

Private key file path when TLS encryption is used.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

public_cert

Public certificate

Public certificate file path when TLS encryption is used.

    +
  • +

tls

Enable TLS encryption

Enable TLS encryption.

    +
  • +
+ +ipv6: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in input

    +
  • +

ca_certificate

+

host

Trusted CA's certificate

+

Host to connect to

Trusted CA's certificate.

+

IP address or hostname of the host to connect to (leave blank for listening mode).

    +
  • +
  • +

one_peer_retention_mode

+

port

One peer retention

+

Connection port

This allows the retention to work even if the socket is listening

+

Port to listen on (empty host) or to connect to (with host filled).

    +
  • +
  • +

private_key

Private key file.

Private key file path when TLS encryption is used.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

public_cert

Public certificate

Public certificate file path when TLS encryption is used.

    +
  • +

tls

Enable TLS encryption

Enable TLS encryption.

    +
  • +
+ +file: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

max_size

Maximum size of file

Maximum size in bytes.

    +
  • +

path

File path

Path to the file.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

+ +#### logger + +file: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

Logging level

How much messages must be logged.

high,low,medium

max_size

+

name

Max file size in bytes

+

Name of the logger

The maximum size of log file.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

    +
  • +
  • +
+ +standard: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

+

name

Logging level

+

Name of the logger

How much messages must be logged.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

high,low,medium

+
    +
  • +
+ +syslog: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

Logging level

How much messages must be logged.

high,low,medium

+ +monitoring: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

+

name

Logging level

+

Name of the logger

How much messages must be logged.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

high,low,medium

+
    +
  • +
+ +##### output + +ipv4: + +| ID | Label | Description | Possible values | +| -------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in input | \- | +| ca\_certificate | Trusted CA's certificate | Trusted CA's certificate. | \- | +| host | Host to connect to | IP address or hostname of the host to connect to (leave blank for listening mode). | \- | +| one\_peer\_retention\_mode | one peer retention | This allows the retention to work even if the socket is listening | \- | +| port | Connection port | Port to listen on (empty host) or to connect to (with host filled). | \- | +| private\_key | Private key file. | Private key file path when TLS encryption is used. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | +| public\_cert | Public certificate | Public certificate file path when TLS encryption is used. | \- | +| tls | Enable TLS encryption | Enable TLS encryption | \- | + +ipv6: + +| ID | Label | Description | Possible values | +| -------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in input | \- | +| ca\_certificate | Trusted CA's certificate | Trusted CA's certificate. | \- | +| host | Host to connect to | IP address or hostname of the host to connect to (leave blank for listening mode). | \- | +| one\_peer\_retention\_mode | one peer retention | This allows the retention to work even if the socket is listening | \- | +| port | Connection port | Port to listen on (empty host) or to connect to (with host filled). | \- | +| private\_key | Private key file. | Private key file path when TLS encryption is used. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | +| public\_cert | Public certificate | Public certificate file path when TLS encryption is used. | \- | +| tls | Enable TLS encryption | Enable TLS encryption | \- | + +file: + +| ID | Label | Description | Possible values | +| ------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| failover | Failover name | Name of the output which will act as failover | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in output. | \- | +| max\_size | Maximum size of file | Maximum size in bytes. | \- | +| path | File path | Path to the file. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | + +rrd: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in output.

+
    +
  • +
+

metrics_path

+

path

+

port

RRD file directory for metrics

+

Unix socket

+

TCP port

RRD file directory, for example /var/lib/centreon/metrics

+

The Unix socket used to communicate with rrdcached. This is a global option, go to Administration > Options > RRDTool to modify it.

+

The TCP port used to communicate with rrdcached. This is a global option, go to Administration > Options > RRDTool to modify it.

    +
  • +
  • +
  • +

status_path

RRD file directory for statuses

RRD file directory, for example /var/lib/centreon/status

    +
  • +

write_metrics

Enable write_metrics

Enable or not write_metrics.

    +
  • +

write_status

Enable write_status

Enable or not write_status.

    +
  • +

store_in_data_bin

Enable store_in_data_bin

Enable or not store in performance data in data_bin.

+
    +
  • +
+
+ +storage: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

+

check_replication

Filter category

+

Replication enabled

Category filter for flux in output.

+

When enabled, the broker engine will check whether or not the replication is up to date before attempting to update data.

+
    +
  • +
+
+
    +
  • +

db_host

DB host

IP address or hostname of the database server.

    +
  • +

db_name

DB name

Database name.

    +
  • +

db_password

DB password

Password of database user.

    +
  • +

db_port

DB port

Port on which the DB server listens

    +
  • +

db_type

DB type

Target DBMS.

db2,ibase,mysql,oci,odbc,postgresql,sqlite,tds

db_user

DB user

Database user.

    +
  • +

interval

Interval length

Interval length in seconds.

    +
  • +

length

RRD length

RRD storage duration in seconds.

    +
  • +

queries_per_transaction

Maximum queries per transaction

The maximum queries per transaction before commit.

    +
  • +

read_timeout

+

rebuild_check_interval

Transaction commit timeout

+

Rebuild check interval in seconds

The transaction timeout before running commit.

+

The interval between check if some metrics must be rebuild. The default value is 300s

    +
  • +
  • +

store_in_data_bin

Enable store_in_data_bin

Enable or not store in performance data in data_bin.

+
    +
  • +
+
+ +sql: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

+

check_replication

Filter category

+

Replication enabled

Category filter for flux in output.

+

When enabled, the broker engine will check whether or not the replication is up to date before attempting to update data.

+
    +
  • +
+
+
    +
  • +

db_host

DB host

IP address or hostname of the database server.

    +
  • +

db_name

DB name

Database name.

    +
  • +

db_password

DB password

Password of database user.

    +
  • +

db_port

DB port

Port on which the DB server listens

    +
  • +

db_type

DB type

Target DBMS.

db2,ibase,mysql,oci,odbc,postgresql,sqlite,tds

db_user

DB user

Database user.

    +
  • +

queries_per_transaction

Maximum queries per transaction

The maximum queries per transaction before commit.

    +
  • +

read_timeout

Transaction commit timeout

The transaction timeout before running commit.

    +
  • +
+ +### Centreon Engine + +Object name: **ENGINECFG** + +#### Show + +In order to list available Centreon Engine conf, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a show +id;name;instance;comment +1;Centreon Engine CFG 1;Central;Default CentreonEngine.cfg +[...] +``` + +Columns are the following : + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Centreon Engine ID | +| 2 | Centreon Engine configuration name | +| 3 | Instance that is linked to centreon-engine.cfg | +| 4 | Comments regarding the configuration file | + +#### Add + +In order to add a Centreon Engine conf, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a add -v "Centreon Engine cfg for poller NY;Poller-NY;Just a small comment" +``` + +Required fields are: + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Centreon Engine configuration name | +| 2 | Instance that is linked to centreon-engine.cfg | +| 3 | Comment regarding the configuration file | + +#### Del + +If you want to remove a Centreon Engine conf, use the **DEL** action. The name is used for identifying the configuration +to delete: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a del -v "Centreon Engine cfg for poller NY" +``` + +#### Setparam + +If you want to change a specific parameter of a Centreon Engine conf, use the **SETPARAM** action. The name is used for +identifying the configuration to update: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a setparam -v "Centreon Engine cfg for poller NY;cfg_dir;/usr/local/nagios/etc" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| nagios\_name | Name | +| instance | Instance that is linked to centreon-engine.cfg | +| broker\_module | example: \[...\] -v "Engine CFG NY;broker\_module;/usr/lib64/nagios/cbmod.so /etc/centreon-broker/central-module.json", you can use a | delimiter for defining multiple broker modules | +| nagios\_activate | *1* if activated, *0* otherwise | +| \* | Centreon CLAPI handles pretty much all the options available in a centreon-engine configuration file. Because the list is quite long, it is best to refer to the official documentation of Centreon Engine | + +#### Addbrokermodule + +If you want to add new broker module without removing existing modules, use the **ADDBROKERMODULE**: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a addbrokermodule -v "Centreon Engine cfg for poller NY;/usr/lib64/centreon-engine/externalcmd.so" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Module name | + +To add multiple modules in one line, it will put the separator "/etc/centreon-broker/central-module.json" + +#### Delbrokermodule + +If you want to delete broker module, use the **DELBROKERMODULE**: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a delbrokermodule -v "Centreon Engine cfg for poller NY;/usr/lib64/centreon-engine/externalcmd.so" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Module name | + +To delete multiple modules in one line, it will put the separator "/etc/centreon-broker/central-module.json" + +### Commands + +Object name: **CMD** + +#### Show + +In order to list available commands, use **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show +id;name;type;line +1;check-ping;check;$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ +2;check_dummy;check;$USER1$/check_dummy -o $ARG1$ -s $ARG2$ +[...] +``` + +You can also specify the command to search: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show -v 'check-ping' +id;name;type;line +1;check-ping;check;$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ +``` + +Columns are the following: + +| Column | Description | +| ------------ | ------------------------------------------------- | +| Command ID | | +| Command name | | +| Command type | *check*, *notif*, *misc* or *discovery* | +| Command line | System command line that will be run on execution | + +#### Add + +In order to add a command use **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a ADD -v 'check-host-alive;check;$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1' +``` + +Required columns are the following: + +| Column | Description | +| ------------ | ------------------------------------------------- | +| Command name | | +| Command type | *check*, *notif*, *misc* or *discovery* | +| Command line | System command line that will be run on execution | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +If you want to remove a command use **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a del -v 'check-host-alive' +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +If you want to change a specific parameters for a command, use the **SETPARAM** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a setparam -v 'check-host-alive;type;notif' +centreon -u admin -p 'centreon' -o CMD -a setparam -v 'check-host-alive;name;check-host-alive2' +``` + +Parameters that you can change are the following: + +| Parameter | Description | +| --------- | --------------------------------------- | +| name | Name of command | +| line | Command line | +| type | *check*, *notif*, *misc* or *discovery* | +| graph | Graph template applied on command | +| example | Example of arguments (i.e: \!80\!90) | +| comment | Comments regarding the command | +| activate | Activate or disable the command | +| enable_shell | Enable / Disable shell | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a command, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name|line|type" +name;line;type +check-ping;check;$USER1$/check_ping;Check ping +``` + +You may edit the following parameters: + +| Parameter | Description | +| --------- | --------------------------------------- | +| name | Name of command | +| line | Command line | +| type | *check*, *notif*, *misc* or *discovery* | +| graph | Graph template applied on command | +| example | Example of arguments (i.e: \!80\!90) | +| comment | Comments regarding the command | +| activate | Activate or disable the command | +| enable_shell | Enable / Disable shell | + +#### Getargumentdescr + +To retrieve the argument descriptions for a command, use the **getargumentdescr** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getargumentdesc -v 'test-cmd' +name;description +ARG0;First Argument ARG1;Second Argument +``` + +#### Setargumentdescr + +If you want to change all arguments descriptions for a command, use the **setargumentdescr** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a setargumentdescr -v 'check_centreon_ping;ARG1:count;ARG2:warning;ARG3:critical' +``` + +### Contact Groups + +Object name: **CG** + +#### Show + +In order to list available contact groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a show +id;name;alias;members +Guest;Guests Group;guest-user1,guest-user2 +Supervisors;Centreon supervisors;Admin +``` + +Columns are the following: + +| Column | Description | +| ------- | ---------------------------------------------- | +| Name | | +| Alias | | +| Members | List of contacts that are in the contact group | + +#### Add + +In order to add a contact group, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a ADD -v "Windows;Windows admins" +``` + +Required fields are the following: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to delete one contact group, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a DEL -v "Windows" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to change the name or the alias of a contactgroup, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a setparam -v "Windows;name;Windows-2K" +centreon -u admin -p 'centreon' -o CG -a setparam -v "Cisco;alias;Cisco-Routers" +``` + +Parameters that you can change are the following: + +| Parameter | Description | +| --------- | ----------- | +| name | Name | +| alias | Alias | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Enable + +In order to enable a contact group, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a enable -v "Guest" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Disable + +In order to disable a contact group, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a disable -v "Guest" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getcontact + +In order to view the contact list of a contact group, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a getcontact -v "Guest" +id;name +1;User1 +2;User2 +``` + +Columns are the following: + +| Column | Description | +| ------ | --------------- | +| ID | Id of contact | +| Name | Name of contact | + +#### Addcontact and Setcontact + +In order to add a contact to a contact group, use the **ADDCONTACT** or **SETCONTACT** action where 'add' will append +and 'set' will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o CG -a addcontact -v "Guest;User1" +centreon -u admin -p 'centreon' -o CG -a setcontact -v "Guest;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontact + +In order to remove a contact from a contact group, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a delcontact -v "Guest;User1" +centreon -u admin -p 'centreon' -o CG -a delcontact -v "Guest;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Contacts + +Object name: **CONTACT** + +#### Show + +In order to list available contacts, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a show +id;name;alias;email;pager;gui access;admin;activate +4;Guest;guest;guest@localhost;;0;0;0 +5;Supervisor;admin;root@localhost;;1;1;1 +6;User;user;user@localhost;;0;0;0 +``` + +Columns are the following : + +| Column | Description | +| ----------- | --------------------------------------------- | +| ID | ID of contact | +| Name | Name of contact | +| Alias | Alias of contact (also login id) | +| Email | Email of contact | +| Pager | Phone number of contact | +| GUI Access | *1* (can access UI) or *0* (cannot access UI) | +| Admin | *1* (admin) or *0* (non admin) | +| activate | *1* (enabled) or *0* (disabled) | + +#### Add + +In order to add a contact, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CONTACT -a ADD -v "user;user;user@mail.com;mypassword;1;1;en_US;local" +``` + +The required parameters are the following: + +| Parameter | Description | +| ------------------- | --------------------------------------------- | +| Name | Name of contact | +| Alias (login) | Alias of contact (also login id) | +| Email | Email of contact | +| Password | Password of contact (this field doesn't apply to contact templates) | +| Admin | *1* (admin) or *0* (non admin) | +| GUI Access | *1* (can access UI) or *0* (cannot access UI) | +| Language | Language pack has to be installed on Centreon | +| Authentication type | *local* or *ldap* | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to delete one contact, use the **DEL** action. The contact name is used for identifying the contact you would +like to delete: + +``` shell +centreon -u admin -p 'centreon' -o contact -a del -v "user" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +If you want to change a specific parameter for a contact, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;hostnotifcmd;command name" +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;svcnotifcmd;command name" +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;hostnotifperiod;period name" +centreon -u admin -p 'centreon' -o contact -a setparam -v "contact alias;timezone;Europe/Berlin" +``` + +The required parameters are the following: + +| Parameter | Description | +| ------------- | -------------------------- | +| Contact alias | Alias of contact to update | +| Parameter | Parameter to update | +| Value | New value of parameter | + +Parameters that you can change are the following: + +| Parameter | Description | +| --------------------- | ------------------------------------------------------------------------------------ | +| name | Name | +| alias | Alias | +| comment | Comment | +| email | Email Address | +| password | User Password | +| access | Can reach centreon, *1* if user has access, *0* otherwise | +| language | Locale | +| admin | *1* if user is admin, *0* otherwise | +| authtype | *ldap* or *local* | +| hostnotifcmd | host notification command(s). Multiple commands can be defined with delimiter "|" | +| svcnotifcmd | service notification command(s). Multiple commands can be defined with delimiter "|" | +| hostnotifperiod | host notification period | +| svcnotifperiod | service notification period | +| hostnotifopt | can be d,u,r,f,s,n | +| servicenotifopt | can be w,u,c,r,f,s,n | +| address1 | Address \#1 | +| address2 | Address \#2 | +| address3 | Address \#3 | +| address4 | Address \#4 | +| address5 | Address \#5 | +| address6 | Address \#6 | +| ldap\_dn | LDAP domain name | +| enable\_notifications | *1* when notification is enable, *0* otherwise | +| autologin\_key | Used for auto login | +| template | Name of the template to apply to the contact | +| timezone | Timezone | +| reach_api | **1** if the user has access to the API configuration, **0** otherwise | +| reach_api_rt | **1** if the user has access to the API realtime, **0** otherwise | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Enable + +In order to enable a contact, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a enable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Disable + +In order to disable a contact, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a disable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Contact templates + +Object name: CONTACTTPL + +Refer to the `CONTACT ` object + +### Dependencies + +Object name: **DEP** + +#### Show + +In order to list available dependencies, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a show +id;name;description;inherits_parent;execution_failure_criteria;notification_failure_criteria +62;my dependency;a description;1;n;n +``` + +Columns are the following: + +| Column | Description | +| ------------------------------- | -------------------------------------------------------------------------- | +| ID | Unique ID of the dependency | +| Name | Name | +| Description | Short description of the dependency | +| inherits\_parent | Whether or not dependency inherits higher level dependencies | +| execution\_failure\_criteria | Defines which parent states prevent dependent resources from being checked | +| notification\_failure\_criteria | Defines which parent states prevent notifications on dependent resources | + +#### Add + +In order to add a new dependency, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a ADD -v "my new dependency;any description;HOST;dummy-host" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | -------------------------------------------- | +| 1 | Name of the dependency | +| 2 | Description of the dependency | +| 3 | Dependency type: HOST, HG, SG, SERVICE, META | +| 4 | Name of the parent resource(s) | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to delete a dependency, use the **DEL** action. The dependency name is used for identifying the dependency you +would like to delete: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a DEL -v "my dependency" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to set a specific parameter for a dependency, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a setparam -v "my dependency;name;my new dependency name" +``` + +You may change the following parameters: + +| Parameter | Description | +| ------------------------------- | ------------- | +| name | Name | +| description | Description | +| comment | Comment | +| inherits\_parent | *0* or *1* | +| execution\_failure\_criteria | o,w,u,c,p,d,n | +| notification\_failure\_criteria | o,w,u,c,p,d,n | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Listdep + +If you want to retrieve the dependency definition of a dependency object, use the **LISTDEP** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a LISTDEP -v "my dependency" +parents;children +HostParent1|HostParent2;HostChild1|HostChild2,ServiceChild2 +``` + +#### Addparent and Addchild + +If you want to add a new parent or a new child in a dependency definition, use the **ADDPARENT** or **ADDCHILD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a ADDPARENT -v "my dependency;my_parent_host" +centreon -u admin -p 'centreon' -o DEP -a ADDCHILD -v "my dependency;my_child_host" +centreon -u admin -p 'centreon' -o DEP -a ADDCHILD -v "my dependency;my_child_host2,my_child_service2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delparent and Delchild + +In order to delete a parent or a child in a dependency definition, use the **DELPARENT** or **DELCHILD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a DELPARENT -v "my dependency;my_parent_host" +centreon -u admin -p 'centreon' -o DEP -a DELCHILD -v "my dependency;my_child_host" +centreon -u admin -p 'centreon' -o DEP -a DELCHILD -v "my dependency;my_child_host2,my_child_service2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Downtimes + +Object name: **DOWNTIME** + +#### Show + +In order to list available recurring downtimes, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a show +id;name;description;activate +1;mail-backup;sunday backup;1 +2;my downtime;a description;1 +``` + +Columns are the following: + +| Column | Description | +| ----------- | ------------------------------------------- | +| ID | Unique ID of the recurring downtime | +| Name | Name | +| Description | Short description of the recurring downtime | +| Activate | Whether or not the downtime is activated | + +In order to show resources of a downtime, use the **Show** action with parameters: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a show -v "mail-backup;host" +``` + +The parameters are the following: + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Name of the downtime | +| 2 | (optional) Object type (host, hg, service, sg) | + +#### Add + +In order to add a new downtime, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADD -v "my new downtime;any description" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | --------------------------- | +| 1 | Name of the downtime | +| 2 | Description of the downtime | + +#### Del + +In order to delete a downtime, use the **DEL** action. The downtime name is used for identifying the recurring downtime +you would like to delete: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a DEL -v "my downtime" +``` + +#### Setparam + +In order to set a specific parameter for a downtime, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a setparam -v "my downtime;name;my new downtime name" +``` + +You may change the following parameters: + +| Parameter | Description | +| ----------- | ----------- | +| name | Name | +| description | Description | + +#### Listperiods + +If you want to retrieve the periods set on a recurring downtime, use the **LISTPERIODS** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a LISTPERIODS -v "my downtime" +position;start time;end time;fixed;duration;day of week;day of month;month cycle +1;1;23:00:00;24:00:00;1;;7;;all +2;1;00:00:00;02:00:00;1;;;1,2;none +3;1;13:45:00;14:40:00;1;;5;;first +``` + +Columns are the following: + +| Column | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Position | Position of the period; used for deleting a period from a recurring downtime | +| Start time | Start time of the recurring downtime | +| End time | End time of the recurring downtime | +| Fixed | Type of downtime (1 = fixed, 0 = flexible) | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | 1 - 7 (1 = monday ... 7 = sunday) | +| Day of month | 1 - 31 | +| Month cycle | "all", "none", "first" or "last". Determines when the downtime will be effective on specific weekdays (i.e: all Sundays, last Sunday of the month, first Sunday of the month...) | + +#### Addweeklyperiod + +In order to add a weekly period, use the **ADDWEEKLYPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDWEEKLYPERIOD -v "my downtime;00:00;04:00;0;7200;saturday,sunday" +``` + +The above example will set a downtime every saturday and sunday between 00:00 and 04:00. + +| Parameter | Description | +| ----------- | ------------------------------------------------------------------- | +| Name | Name of the recurring downtime | +| Start time | Start time of the recurring downtime | +| End time | End time of the recurring downtime | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | Can be written with letters or numbers (1 to 7 or monday to sunday) | + +#### Addmonthlyperiod + +In order to add a monthly period, use the **ADDMONTHLYPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDMONTHLYPERIOD -v "my downtime;19:00;22:00;1;;14,21" +``` + +The above example will set a downtime on every 14th and 21st day for all months. + +| Parameter | Description | +| --------------- | ---------------------------------------------------- | +| Name | Name of the recurring downtime | +| Start time Star | t time of the recurring downtime | +| End time | End time of the recurring downtime | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of month | 1 to 31 | + +#### Addspecificperiod + +In order to add a specific period, use the **ADDSPECIFICPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSPECIFICPERIOD -v "my downtime;19:00;22:00;1;;wednesday;first" +``` + +The above example will set a downtime on every first wednesday for all months. + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------- | +| Name | Name of the recurring downtime | +| Start time Star | t time of the recurring downtime | +| End time | End time of the recurring downtime | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | Can be written with letters or numbers (1 to 7 or monday to sunday) | +| Month cycle | first or last | + +#### Addhost, addhostgroup, addservice, addservicegroup + +If you want to associate a host, host group, service or service group to a recurring downtime, use the **ADDHOST**, +**ADDHOSTGROUP**, **ADDSERVICE** or **ADDSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDHOST -v "my downtime;host_1" +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSERVICE -v "my downtime;host_1,service_1" +``` + +Use the "|" delimiter in order to define multiple relationships. + +#### Delhost, delhostgroup, delservice, delservicegroup + +If you want to remove a host, host group, service or service group from a recurring downtime, use the **DELHOST**, +**DELHOSTGROUP**, **DELSERVICE** or **DELSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a DELHOST -v "my downtime;host_1" +centreon -u admin -p 'centreon' -o DOWNTIME -a DELSERVICE -v "my downtime;host_1,service_1" +``` + +#### Sethost, sethostgroup, setservice, setservicegroup + +The **SETHOST**, **SETHOSTGROUP**, **SETSERVICE** AND **SETSERVICEGROUP** actions are similar to their **ADD** +counterparts, but they will overwrite the relationship definitions instead of appending them: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDHOST -v "my downtime;host_1|host_2" +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSERVICE -v "my downtime;host_1,service_1|host_2,service_2" +``` + +Use the "|" delimiter in order to define multiple relationships. + +### Host categories + +Object name: **HC** + +#### Show + +In order to list available host categories, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a show +id;name;alias;members +1;Linux;Linux Servers;host1 +2;Windows;Windows Server;host2 +3;AS400;AS400 systems;host3,host4 +``` + +Columns are the following: + +| Column | Description | +| ------ | ---------------------- | +| Name | Name of host category | +| Alias | Alias of host category | + +#### Add + +In order to add a host category, use the **ADD**: + +``` shell +centreon -u admin -p 'centreon' -o HC -a add -v "Databases;Databases servers" +``` + +Required parameters are the following: + +| Order | Description | +| ----- | ---------------------- | +| 1 | Name of host category | +| 2 | Alias of host category | + +#### Del + +In order to delete a host category, use the **DEL** action. The name is used for identifying the host category you want +to delete: + +``` shell +centreon -u admin -p 'centreon' -o HC -a DEL -v "Databases" +``` + +#### Getmember + +In order to view the list hosts in a host category, use the **GETMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a getmember -v "Linux" +id;name +14;Centreon-Server +15;srv-test +``` + +#### Addmember and Setmember + +In order to add a host or a host template into a host category, use the **ADDMEMBER** or **SETMEMBER** action where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HC -a addmember -v "Linux;host7" +centreon -u admin -p 'centreon' -o HC -a setmember -v "Windows;host7|host8|host9" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | ----------------------------------------------------------- | +| 1 | Host category name | +| 2 | Host names to add/set. For multiple definitions, use the \* | + +#### Setseverity + +In order to turn a host category into a severity, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a setseverity -v "Critical;3;16x16/critical.gif" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Host category name | +| 2 | Severity level - must be a number | +| 3 | Icon that represents the severity | + +#### Unsetseverity + +In order to turn a severity into a regular host category, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a unsetseverity -v "Critical" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | ------------------ | +| 1 | Host category name | + +#### Delmember + +In order to remove a host or a host template from a host category, use the **DELMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a delmember -v "Linux;host7" +centreon -u admin -p 'centreon' -o HC -a delmember -v "Windows;host8" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | --------------------------------------- | +| 1 | Host category name | +| 2 | Host names to remove from host category | + +###### Host group services + +Object name: **HGSERVICE** + +Refer to the `SERVICE ` object + +> ***NOTE:*** HGSERVICE works just like SERVICE, you only need to replace the host name with the host group name. + +### Host groups + +Object name: **HG** + +#### Show + +In order to list available host groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a show +id;name;alias +53;Linux-Servers;All linux servers +54;Windows-Servers;All windows servers +55;Networks;All other equipments +56;Printers;All printers +58;Routers;All routers +59;Switches;All switches +60;Firewall;All firewalls +61;Unix-Servers;All Unix servers +``` + +Columns are the following: + +| Column | Description | +| ------ | ----------- | +| ID ID | | +| Name | Name | +| Alias | Alias | + +#### Add + +In order to add a hostgroup, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a add -v "SAP;SAP servers" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | ------------------- | +| 1 | Name of host group | +| 2 | Alias of host group | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to delete one hostgroup, use the **DEL** action. The host group name is used for identifying the host group you +would like to delete: + +``` shell +centreon -u admin -p 'centreon' -o HG -a DEL -v "SAP" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to set a specific parameter for a host group, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a setparam -v "SAP;name;hg1" +centreon -u admin -p 'centreon' -o HG -a setparam -v "SAP;alias;hg2" +``` + +You may change the following parameters: + +| Parameter | Description | +| ---------------- | ------------------------------- | +| name | Name | +| alias | Alias | +| comment | Comment | +| activate | *1* when enabled, *0* otherwise | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| map\_icon\_image | Map icon image | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a host group, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o HG -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|comment|notes" +alias;comment;notes +test;my comment;my notes +``` + +You may edit the following parameters: + +| Parameter | Description | +| ---------------- | ------------------------------- | +| name | Name | +| alias | Alias | +| comment | Comment | +| activate | *1* when enabled, *0* otherwise | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| map\_icon\_image | Map icon image | + +#### Getmember + +If you want to retrieve the members of a host group, use the **GETMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a getmember -v "Linux-Servers" +id;name +34;Centreon-Server +35;srv-web +``` + +#### Addmember and Setmember + +If you want to add members to a specific host group, use the **SETMEMBER** or **ADDMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a setmember -v "Linux-Servers;srv-test|srv-test2" +centreon -u admin -p 'centreon' -o HG -a addmember -v "Linux-Servers;srv-new" +``` + +| Action | Description | +| ------ | ------------------------------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the delimiter | to set multiple members | +| add\* | Appends new members to the existing ones. Use the delimiter | to add multiple members | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delmember + +If you want to remove members from a specific host group, use the **DELMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a delmember -v "Linux-Servers;srv-test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Hosts + +Object name: HOST + +#### Show + +In order to list available hosts, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a show +id;name;alias;address;activate +82;sri-dev1;dev1;192.168.2.1;1 +83;sri-dev2;dev2;192.168.2.2;1 +84;sri-dev3;dev3;192.168.2.3;0 +85;sri-dev4;dev4;192.168.2.4;1 +86;sri-dev5;dev5;192.168.2.5;1 +87;sri-dev6;dev6;192.168.2.6;1 +94;sri-dev7;dev7;192.168.2.7;1 +95;sri-dev8;dev8;192.168.2.8;1 +``` + +You can also specify the host to search: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a show -v 'sri-dev1' +id;name;alias;address;activate +82;sri-dev1;dev1;192.168.2.1;1 +``` + +Columns are the following : + +| Column | Description | +| ---------- | ------------------------------- | +| ID | ID of host | +| Name | Host name | +| Alias | Host alias | +| IP/Address | IP of host | +| Activate | 1 when enabled, 0 when disabled | + +#### Show by address + +In order to list available hosts by address, use the **SHOWBYADDRESS** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a showbyaddress -v 'localhost' +id;name;alias;address;activate +82;sri-dev1;dev1;localhost;1 +``` + +Columns are the following : + +| Column | Description | +| ---------- | ------------------------------- | +| ID | ID of host | +| Name | Host name | +| Alias | Host alias | +| IP/Address | IP of host | +| Activate | 1 when enabled, 0 when disabled | + +#### Add + +In order to add a host, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a ADD -v "test;Test host;127.0.0.1;generic-host;central;Linux" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------------------------------------------------ | +| 1 | Host name | +| 2 | Host alias | +| 3 | Host IP address | +| 4 | Host templates; for multiple definitions, use delimiter \*\* | +| 5 | Instance name (poller) | +| 6 | Hostgroup; for multiple definitions, use delimiter \*\* | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to delete one host, use the **DEL** action. You have to list the available hosts in order to identify the one +you want to delete: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a DEL -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to change parameters on a host configuration, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;alias;Development test" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;address;192.168.1.68" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;check_period;24x7" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;timezone;Europe/Berlin" +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| geo\_coords | Geo coordinates | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Enables check freshness | +| check\_period | Check period | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options 'o' for Up, 'd' for Down, 'u' for Unreachable | +| host\_high\_flap\_threshold | High flap threshold | +| host\_low\_flap\_threshold | Low flap threshold | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | +| comment | Comment | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a host configuration, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|alia|timezone" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|address|timezone" +alias;address;timezone +test;192.168.56.101;Europe/Berlin +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Enables check freshness | +| check\_period | Check period | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options 'o' for Up, 'd' for Down, 'u' for Unreachable | +| host\_high\_flap\_threshold | High flap threshold | +| host\_low\_flap\_threshold | Low flap threshold | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | +| comment | Comment | + +#### Setinstance + +In order to set the instance from which a host will be monitored, use the **SETINSTANCE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setinstance -v "Centreon-Server;Poller 1" +``` + +#### Showinstance + +To determine the instance from which a host will be monitored, use the **SHOWINSTANCE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a showinstance -v "Centreon-Server" +id;name +2;Poller 1 +``` + +#### Getmacro + +In order to view the custom macro list of a host, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getmacro -v "Centreon-Server" +macro name;macro value;is_password;description +$_HOSTMACADDRESS$;00:08:C7:1B:8C:02;0;description of macro +``` + +#### Setmacro + +In order to set a custom host macro, use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setmacro -v "Centreon-Server;warning;80;0;description of macro" +centreon -u admin -p 'centreon' -o HOST -a setmacro -v "Centreon-Server;critical;90;0;description of macro" +``` + +The required parameters are the following: + +| Order | Description | +| -------- | ---------------------------------------- | +| 1 | Host name | +| 2 | Macro name | +| 3 | Macro value | +| 4 | 1 for a password macro, 0 otherwise | +| 5 | Description of macro | + +> ***NOTE:*** If the macro already exists, this action will only update the macro value. Otherwise, macro will be created. + +#### Delmacro + +In order to delete a macro host, use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delmacro -v "Centreon-Server;warning" +centreon -u admin -p 'centreon' -o HOST -a delmacro -v "Centreon-Server;critical" +``` + +#### Gettemplate + +In order to view the template list of a host, use the **GETTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a gettemplate -v "Centreon-Server" +id;name +2;generic-host +12;Linux-Servers +``` + +#### Addtemplate and Settemplate + +In order to add a host template to an existing host, use the **ADDTEMPLATE** or the **SETTEMPLATE** action, where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addtemplate -v "Centreon-Server;srv-Linux" +centreon -u admin -p 'centreon' -o HOST -a settemplate -v "Centreon-Server;hardware-Dell" +``` + +> ***NOTE:*** All service templates linked to the new host template will be automatically deployed on the existing host. (no longer +the case with version later than 1.3.0, use the 'applytpl' action manually) + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Deltemplate + +In order to remove a host template to an existing host, use the **DELTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a deltemplate -v "test;srv-Linux|hardware-Dell" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Applytpl + +When a template host undergoes modified link-level service template, the change is not automatically reflected in hosts +belonging to that template. For the change to take effect, it must then re-apply the template on this host. For this, +use the **APPLYTPL** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a applytpl -v "test" +All new services are now created. +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparent + +In order to view the parents of a host, use the **GETPARENT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparent -v "Centreon-Server" +id;name +43;server-parent1 +44;server-parent2 +``` + +#### Addparent and Setparent + +In order to add a host parent to an host, use the **ADDPARENT** or **SETPARENT** actions where *add* will append and +*set* will overwrite the previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addparent -v "host;hostParent1" +centreon -u admin -p 'centreon' -o HOST -a setparent -v "host;hostParent1|hostParent2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delparent + +In order to remove a parent, use the **DELPARENT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delparent -v "Centreon-Server;server-parent1|server-parent2" +``` + +#### Getcontactgroup + +In order to view the notification contact groups of a host, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getcontactgroup -v "Centreon-Server" +id;name +17;Administrators +``` + +#### Addcontactgroup and Setcontactgroup + +If you want to add notification contactgroups to a host, use the **ADDCONTACTGROUP** or **SETCONTACTGROUP** actions +where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addcontactgroup -v "Centreon-Server;Contactgroup1" +centreon -u admin -p 'centreon' -o HOST -a setcontactgroup -v "Centreon-Server;Contactgroup1|Contactgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontactgroup + +If you want to remove notification contactgroups from a host, use the **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delcontactgroup -v "Centreon-Server;Contactgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getcontact + +In order to view the notification contacts of a host, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getcontact -v "Centreon-Server" +id;name +11;guest +``` + +#### Addcontact and Setcontact + +If you want to add notification contacts to a host, use the **ADDCONTACT** or **SETCONTACT** actions where *add* will +append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addcontact -v "Centreon-Server;Contact1" +centreon -u admin -p 'centreon' -o HOST -a setcontact -v "Centreon-Server;Contact1|Contact2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontact + +If you want to remove a notification contacts from a host, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delcontact -v "Centreon-Server;Contact2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Gethostgroup + +In order to view the hostgroups that are tied to a host, use the **GETHOSTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a gethostgroup -v "Centreon-Server" +id;name +9;Linux-Servers +``` + +#### Addhostgroup and Sethostgroup + +If you want to tie hostgroups to a host, use the **ADDHOSTGROUP** or **SETHOSTGROUP** actions where *add* will append +and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addhostgroup -v "Centreon-Server;Hostgroup1" +centreon -u admin -p 'centreon' -o HOST -a sethostgroup -v "Centreon-Server;Hostgroup1|Hostgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delhostgroup + +If you want to remove hostgroups from a host, use the **DELHOSTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delhostgroup -v "Centreon-Server;Hostgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setseverity + +In order to associate a severity to a host, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setseverity -v "Centreon-Server;Critical" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------- | +| 1 | Host name | +| 2 | Severity name | + +#### Unsetseverity + +In order to remove the severity from a host, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a unsetseverity -v "Centreon-Server" +``` + +Required parameters: + +| Order | Description | +| ----- | ----------- | +| 1 | Host name | + +#### Enable + +In order to enable an host, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a enable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Disable + +In order to disable a host, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a disable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Host templates + +Object name: **HTPL** + +Refer to the `HOST ` object + +> ***NOTE:*** You cannot use the **APPLYTPL** and **SETINSTANCE** actions on **HTPL** objects. + +If you are looking for service templates association to host templates refer to ADDHOSTTEMPLATE/SETHOSTTEMPLATE command +from `STPL ` object. + +### Instances (Pollers) + +Object name: **INSTANCE** + +#### Show + +In order to list available instances, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a show +id;name;localhost;ip address;activate;status;init script;monitoring engine;bin;stats bin;perfdata;ssh port +1;Central;1;127.0.0.1;1;0;/etc/init.d/nagios;NAGIOS;/usr/local/nagios/bin/nagios;/usr/local/nagios/bin/nagiostats;/usr/local/nagios/var/service-perfdata;22 +[...] +``` + +Columns are the following: + +| Column | Description | +| ----------- | ------------------------------------------- | +| ID | ID | +| Name | Name | +| Localhost | *1* if it is the main poller, *0* otherwise | +| IP Address | IP address of the poller | +| Activate | *1* if poller is enabled, *0* otherwise | +| Status | *1* if poller is running, *0* otherwise | +| Init script | Init script path | +| Bin | Path of the Scheduler binary | +| Stats Bin | Path of the Nagios Stats binary | +| SSH Port | SSH Port | + +#### Add + +In order to add an instance you use the **ADD** action: + + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a add -v "Poller test;10.30.2.55;22;ZMQ;5556" +``` + +Required fields are: + +| Column | Description | +| -------------------------- | ------------------------------------------------- | +| Name | | +| Address | IP address of the poller | +| SSH Port | SSH port | +| Gorgone Communication Type | ZMQ (1) or SSH (2) | +| Gorgone Communication Port | Port used by Gorgone to communicate | + +#### Del + +If you want to remove an instance, use the **DEL** action. The Name is used for identifying the instance to delete: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a del -v "Poller test" +``` + +#### Setparam + +If you want to change a specific parameter of an instance, use the **SETPARAM** command. The Name is used for +identifying the instance to update: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a setparam -v "Poller test;ns_ip_address;10.30.2.99" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of instance | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| ---------------------------- | ------------------------------------------- | +| name | Name of the poller | +| localhost | *1* if it is the main poller, *0* otherwise | +| ns\_ip\_address | IP address of the poller | +| ns\_activate | *1* if poller is enabled, *0* otherwise | +| engine\_start\_command | Command to start Centreon Engine process | +| engine\_stop\_command | Command to stop Centreon Engine process | +| engine\_restart\_command | Command to restart Centreon Engine process | +| engine\_reload\_command | Command to reload Centreon Engine process | +| nagios\_bin | Path of the Scheduler binary | +| nagiostats\_bin | Path of the Nagios Stats binary | +| ssh\_port | SSH Port | +| broker\_reload\_command | Command to reload Centreon Broker process | +| centreonbroker\_cfg\_path | Centreon Broker Configuration path | +| centreonbroker\_module\_path | Centreon Broker Module path | + +#### Gethosts + +If you want to list all hosts that are monitored by a poller, use the **GETHOSTS** action. The Name is used for +identifying the instance to query: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a GETHOSTS -v "Poller test" +14;Centreon-Server;127.0.0.1 +17;srv-website;10.30.2.1 +``` + +Returned info is the following: + +| Order | Description | +| ----- | ------------ | +| 1 | Host ID | +| 2 | Host name | +| 3 | Host address | + +### LDAP configuration + +Object name: **LDAP** + +#### Show + +In order to list available LDAP configurations, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a show +id;name;description;status +3;ad;my ad conf;1 +2;openldap;my openldap conf;1 +[...] +``` + +Columns are the following: + +| Order | Description | +| ----- | ------------------------------- | +| 1 | ID | +| 2 | Configuration name | +| 3 | Configuration description | +| 4 | 1 when enabled, 0 when disabled | + +#### Add + +In order to add an LDAP configuration, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a add -v "my new configuration;my description" +``` + +Required fields are: + +| Order | Description | +| ----- | ------------------------- | +| 1 | Configuration name | +| 2 | Configuration description | + +#### Del + +If you want to remove an LDAP configuration, use the **DEL** action. The Configuration Name is used for identifying the +LDAP configuration to delete: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a del -v "my new configuration" +``` + +#### Setparam + +If you want to change a specific parameter of an LDAP configuration, use the **SETPARAM** action. The Configuration Name +is used for identifying the LDAP configuration to update: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SETPARAM -v "my new configuration;description;my new desc" +``` + +Parameters use the following order: + +| Order | Description | +| ----- | ----------------------- | +| 1 | Configuration to update | +| 2 | Parameter key | +| 3 | Parameter value | + +Parameters that you may change are the following: + +| Key | Description | +| ---------------------- | -------------------------------------------------------------- | +| name | Configuration name | +| description | Configuration description | +| enable | 1 when enabled, 0 when disabled | +| alias | Alias | +| bind\_dn | Bind DN | +| bind\_pass | Bind password | +| group\_base\_search | Group base search | +| group\_filter | Group filter | +| group\_member | Group member | +| group\_name | Group name | +| ldap\_auto\_import | Enable or disable auto import (0 or 1) | +| ldap\_contact\_tmpl | Contact template to use on import | +| ldap\_dns\_use\_domain | Use domain or not (0 or 1) | +| ldap\_search\_limit | Search size limit | +| ldap\_search\_timeout | Timeout delay (in seconds) | +| ldap\_srv\_dns | DNS server (only used when ldap\_dns\_use\_domain is set to 1) | +| ldap\_store\_password | Store password in database or not (0 or 1) | +| ldap\_template | Possible values: Posix, Active Directory | +| protocol\_version | Protocol version (2 or 3) | +| user\_base\_search | User base search | +| user\_email | User email | +| user\_filter | User filter | +| user\_firstname | User firstname | +| user\_lastname | User lastname | +| user\_name | User name | +| user\_pager | User phone number | +| user\_group | User group | + +#### Showserver + +In order to show the server list of an LDAP configuration, use the **SHOWSERVER** action. The Configuration Name is used +for identifying the LDAP configuration to query: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SHOWSERVER -v "openldap" +id;address;port;ssl;tls;order +2;10.30.2.3;389;0;0;1 +``` + +#### Addserver + +In order to add a server to an LDAP configuration, use the **ADDSERVER** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a ADDSERVER -v "openldap;10.30.2.15;389;0;1" +``` + +Required parameters are the following: + +| Order | Description | +| ----- | ------------------ | +| 1 | Configuration name | +| 2 | Server address | +| 3 | Server port | +| 4 | Use SSL or not | +| 5 | Use TLS or not | + +#### Delserver + +In order to remove a server from an LDAP configuration, use the **DELSERVER** action. The server ID is used for +identifying the server to delete: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a DELSERVER -v 2 +``` + +#### Setparamserver + +In order to update the server parameters of an LDAP configuration, use the **SETPARAMSERVER** action. The server ID is +used for identifying the server to update: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SETPARAMSERVER -v "2;use_ssl;1" +``` + +Parameters that you may update are the following: + +| Key | Description | Possible values | +| ------------- | ---------------------------------- | --------------- | +| host\_address | Address of the server | | +| host\_port | Port of the server | | +| host\_order | Priority order in case of failover | | +| use\_ssl | Use SSL or not | 0 or 1 | +| use\_tls | Use TLS or not | 0 or 1 | + +### Realtime acknowledgement + +Object name: **RTACKNOWLEDGEMENT** + +#### Show host realtime acknowledgement + +In order to list available realtime acknowledgement, use the **SHOW** action: You can use the value "HOST" to display +all the acknowledgement: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a show -v "HOST;generic-host" +id;host_name;entry_time;author;comment_data;sticky;notify_contacts;persistent_comment +6;generic-host;2017/09/28 14:21;admin;'generic-comment';2;0;1 +``` + +Columns are the following : + +| Column | Description | +| ------------------- | ---------------------------------------------------------------------------------- | +| Id | Id of the acknowledgement | +| Host\_name | Name of the host | +| Entry\_time | Beginning of acknowledgement | +| Author | Name of the author | +| Comment\_data | Short description of the acknowledgement | +| Sticky | Acknowledgement will be maintained in case of a change of Not-OK status (0/2) | +| Notify\_contacts | Notification send to the contacts linked to the object (0/1) | +| Persistent\_comment | Acknowledgement will be maintained in the case of a restart of the scheduler (0/1) | + +#### Show service realtime acknowledgement + +In order to list available realtime acknowledgement, use the **SHOW** action: You can use the value "SVC" to display +all the acknowledgement: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a show -v "SVC;generic-host,generic-service" +id;host_name;service_name;entry_time;author;comment_data;sticky;notify_contacts;persistent_comment +42;generic-host;generic-service;2017/09/28 14:21;admin;'generic-comment';2;0;1 +``` + +Columns are the following : + +| Column | Description | +| ------------------- | ---------------------------------------------------------------------------------- | +| Id | Id of the acknowledgement | +| Host\_name | Name of the host | +| Service\_name | Name of the service | +| Entry\_time | Beginning of acknowledgement | +| Author | Name of the author | +| Comment\_data | Short description of the acknowledgement | +| Sticky | Acknowledgement will be maintained in case of a change of Not-OK status (0/2) | +| Notify\_contacts | Notification send to the contacts linked to the object (0/1) | +| Persistent\_comment | Acknowledgement will be maintained in the case of a restart of the scheduler (0/1) | + +#### Add host realtime acknowledgement + +If you want to associate a host to a realtime acknowledgement, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a add -v "HOST;central;my comments;2;0;1" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ----------------------------------------------------------------------------------------------- | +| 1 | Value you want to associate | +| 2 | Name of the host (Name of the service) | +| 3 | Short description of the realtime acknowledgement | +| 4 | Acknowledgement maintained in case of a change of status (Sticky use 0 or 2) | +| 5 | Notification send to the contacts linked to the object (Notify use 0 or 1) | +| 6 | Maintained th acknowledgement in the case of a restart of the scheduler (Persistent use 0 or 1) | + +#### Add service realtime acknowledgement + +If you want to associate a service or service group to a realtime acknowledgement, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a add -v "SVC;central,ping|central,memory;my comments;2;0;1" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ----------------------------------------------------------------------------------------------- | +| 1 | Value you want to associate | +| 2 | Name of the host , name of the service | +| 3 | Short description of the realtime acknowledgement | +| 4 | Acknowledgement maintained in case of a change of status (Sticky use 0 or 2) | +| 5 | Notification send to the contacts linked to the object (Notify use 0 or 1) | +| 6 | Maintained th acknowledgement in the case of a restart of the scheduler (Persistent use 0 or 1) | + +#### Cancel a realtime acknowledgement + +In order to cancel a realtime acknowledgement, use the **CANCEL** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a cancel -v "central,ping" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | -------------------------------- | +| 1 | Name of acknowledged resource(s) | + +### Realtime downtimes + +Object name: **RTDOWNTIME** + +#### Show host realtime downtime + +In order to list available realtime downtimes, use the **SHOW** action: You can use the value "HOST" to display all the +downtimes: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a show -v "HOST;generic-host" +id;host_name;author;actual_start_time;actual_end_time;start_time;end_time;comment_data;duration;fixed +6;generic-host;admin;2017/09/28 14:21;N/A;2017/09/26 17:00;2017/09/30 19:00;'generic-comment';3600;1 +``` + +Columns are the following : + +| Column | Description | +| ------------------- | ---------------------------------------------------------- | +| id | Name of the downtime | +| Host\_name | Name of the host | +| Author | Name of the author | +| Actual\_start\_time | Actual start date in case of flexible downtime | +| Actual\_end\_time | Actual end date in case of flexible downtime | +| Start\_time | Beginning of downtime | +| End\_time | End of downtime | +| Comment\_data | Short description of the realtime downtime | +| Duration | Duration of Downtime | +| Fixed | Downtime starts and stops at the exact start and end times | + +#### Show service realtime downtime + +In order to list available realtime downtimes, use the **SHOW** action: You can use the value "SVC" to display all the +downtimes: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a show -v "SVC;generic-host,generic-service" +id;host_name;service_name;author;start_time;end_time;comment_data;duration;fixed +42;generic-host;generic-service;admin;2017/09/28 14:21;N/A;2017/09/26 17:00;2017/09/30 19:00;'generic-comment';3600;1 +``` + +Columns are the following : + +| Column | Description | +| ------------------- | ---------------------------------------------------------- | +| id | Name of the downtime | +| Host\_name | Name of the host | +| Service\_name | Name of the service | +| Author | Name of the author | +| Actual\_start\_time | Actual start date in case of flexible downtime | +| Actual\_end\_time | Actual end date in case of flexible downtime | +| Start\_time | Beginning of downtime | +| End\_time | End of downtime | +| Comment\_data | Short description of the realtime downtime | +| Duration | Duration of Downtime | +| Fixed | Downtime starts and stops at the exact start and end times | + +#### Add host and host group realtime downtime + +If you want to associate a host, host group to a realtime downtime, use the **ADD** action: To set the value of the +start/end, use following format : YYYY/MM/DD HH:mm: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "HOST;central;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments;1" +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "HG;linux-servers;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments;1" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate | +| 2 | Name of the host (Name of the service) | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | +| 8 | Apply downtime on linked services (0/1) | + +#### Add service and service group realtime downtime + +If you want to associate a service or service group to a realtime downtime, use the **ADD** action: To set the value of +the start/end, use following format : YYYY/MM/DD HH:mm: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "SVC;central,ping|central,memory;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments" +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "SG;servicegroup1;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate | +| 2 | Name of the host (Name of the service) | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | + +#### Add instance realtime downtime + +In order to add a new realtime downtime for a poller, use the **ADD** action: To set the value of the start/end, use +following format : YYYY/MM/DD HH:mm: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "INSTANCE;Central;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate | +| 2 | Name of the poller | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | + +#### Cancel a realtime downtime + +In order to cancel a realtime downtime, use the **CANCEL** action: To get the value of the id, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a cancel -v "6|42" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | -------------- | +| 1 | Id of downtime | + +### Resource CFG + +Object name: **RESOURCECFG** + +#### Show + +In order to list available Resource variables, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a show +id;name;value;comment;activate;instance +1;$USER1$;/usr/local/nagios/libexec;path to the plugins;1;Central +[...] +``` + +Columns are the following : + +| Column | Description | +| -------- | -------------------------------------------- | +| ID | ID | +| Name | Name | +| Value | Value of $USERn$ macro | +| Comment | Comment | +| Activate | *1* when activated, *0* otherwise | +| Instance | Instances that are tied to the $USERn$ macro | + +#### Add + +In order to add a resource macro, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a add -v "USER2;public;Poller test;my comment" +``` + +Required fields are: + +| Column | Description | +| --------- | ---------------------------------------- | +| Name | Macro name; do not use the $ symbols | +| Value | Macro value | +| Instances | Instances that are tied to $USERn$ macro | +| Comment | Comment | + +#### Del + +If you want to remove a Resource variable, use the **DEL** action. The ID is used for identifying the variable to +delete: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a del -v "1" +``` + +#### Setparam + +If you want to change a specific parameter of a Resource macro, use the **SETPARAM** action. The ID is used for +identifying the macro to update: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a setparam -v "1;instance;Poller test|AnotherPoller" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ------ | ----------------------------------- | +| 1 | ID number of resource configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | --------------------------------------------------------- | +| name | Macro name; do not use the $ symbols | +| value | Macro value | +| activate | *1* when activated, *0* otherwise | +| comment | Comment | +| instance | Instances that are tied to $USERn$ macro Use delimiter \* | + +### Service categories + +Object name: **SC** + +#### Show + +In order to list available service categories, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a show +id;name;description +1;Ping;ping +2;Traffic;traffic +3;Disk;disk +``` + +Columns are the following: + +| Column | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Add + +In order to add a service category, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a ADD -v "Alfresco;Alfresco Services" +``` + +Required parameters are: + +| Column | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Del + +In order to remove a service category, use the **DEL**: + +``` shell +centreon -u admin -p 'centreon' -o SC -a del -v "Alfresco" +``` + +#### Setparam + +In order to change parameters for a service category, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a setparam -v "SG1;name;Web Service" +``` + +You can change the following parameters: + +| Parameter | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Getservice and Getservicetemplate + +In order to view the member list of a service category, use the **GETSERVICE** or **GETSERVICETEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a getservice -v "Ping-Category" +host id;host name;service id;service description +14;Centreon-Server;27;Ping +27;srv-web;42;Ping +``` + +``` shell +centreon -u admin -p 'centreon' -o SC -a getservicetemplate -v "Ping-Category" +template id;service template description +22;Ping-LAN +23;Ping-WAN +``` + +#### Addservice, Setservice , Addservicetemplate and Setservicetemplate + +In order to add a new element to a specific service category, you use the following action **ADDSERVICETEMPLATE**, where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SC -a addservicetemplate -v "Ping-Category;my template" +``` + +#### Delservice and Delservicetemplate + +In order to remove a service from a specific service category, use the **DELSERVICE** OR **DELSERVICETEMPLATE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SC -a delservice -v "Ping-Category;my host,my service" +``` + +``` shell +centreon -u admin -p 'centreon' -o SC -a delservicetemplate -v "Ping-Category;my template" +``` + +#### Setseverity + +In order to turn a service category into a severity, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a setseverity -v "Critical;3;16x16/critical.gif" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Service category name | +| 2 | Severity level - must be a number | +| 3 | Icon that represents the severity | + +#### Unsetseverity + +In order to turn a severity into a regular service category, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a unsetseverity -v "Critical" +``` + +The needed parameters are the following: + +| Order | Description | +| ----- | --------------------- | +| 1 | Service category name | + +### Service groups + +Object name: **SG** + +#### Show + +In order to list available servicegroups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a show +id;name;alias +11;Alfresco;Alfresco Services +``` + +You can also specify the servicegroup to search: + +``` shell +centreon -u admin -p 'centreon' -o SG -a show -v 'Alfresco' +id;name;alias +11;Alfresco;Alfresco Services +``` + + +#### Add + +In order to add a servicegroup, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a ADD -v "Alfresco;Alfresco Services" +``` + +Required fields are: + +| Order | Description | +| ----- | ---------------------- | +| 1 | Name of service group | +| 2 | Alias of service group | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to remove a servicegroup, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a del -v "Alfresco" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to change parameters for a servicegroup, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a setparam -v "SG1;name;Web Service" +``` + +You can change the following parameters: + +| Parameter | Description | +| --------- | ---------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| name | Name of service group | +| alias | Alias of service group | +| comment | Comments regarding service group | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a servicegroup, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias|name|comment" +alias;name;comment +Web service;app1;my best app1 +``` + +You may edit the following parameters: + +| Parameter | Description | +| --------- | ---------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| name | Name of service group | +| alias | Alias of service group | +| comment | Comments regarding service group | + +#### Getservice and Gethostgroupservice + +In order to view the members of a service group, use the **GETSERVICE** or **GETHOSTGROUPSERVICE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a getservice -v "Web-Access" +host id;host name;service id;service description +14;Centreon-Server;28;http +14;Centreon-Server;29;TCP-80 +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a gethostgroupservice -v "Web-Access" +hostgroup id;hostgroup name;service id;service description +22;Web group;31;mysql +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +#### Addservice, Setservice, Addhostgroupservice and Sethostgroupservice + +In order to add a new element to a specific service group, you can use **ADDSERVICE**, **SETSERVICE**, +**ADDHOSTGROUPSERVICE**, **SETHOSTGROUPSERVICE** where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a addservice -v "Web-Access;www.centreon.com,http" +centreon -u admin -p 'centreon' -o SG -a setservice -v "Web-Access;www.centreon.com,TCP-80|www.centreon.com,http|www.centreon.com,mysql" +centreon -u admin -p 'centreon' -o SG -a sethostgroupservice -v "Web-Access;web group,TCP-80" +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delservice and Delhostgroupservice + +In order to remove a service from a service group, use the **DELSERVICE** or **DELHOSTGROUPSERVICE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a delservice -v "Web-Access;www.centreon.com,http" +centreon -u admin -p 'centreon' -o SG -a delhostgroupservice -v "Web-Access;Web group,mysql" +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +### Services + +Object name: **SERVICE** + +#### Show + +In order to list available service, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +14;Centreon-Server;20;Disk-/home;;;;;;2;2;1 +14;Centreon-Server;21;Disk-/opt;;;;;;2;2;1 +14;Centreon-Server;22;Disk-/usr;;;;;;2;2;1 +14;Centreon-Server;23;Disk-/var;;;;;;2;2;1 +14;Centreon-Server;151;Load;;;;;;2;2;1 +14;Centreon-Server;25;Memory;;;;;;2;2;1 +14;Centreon-Server;26;Ping;;;;;;2;2;0 +14;Centreon-Server;40;dummy;check_centreon_dummy;!2!critical;;;;2;2;1 +``` + +You can also specify the service to search: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show -v 'Disk-/' +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +15;Centreon-DB;20;Disk-/;;;;;;2;2;1 +``` + +Or can specify service on host to search: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show -v 'Centreon-Server;Disk-/' +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +``` + +Columns are the following: + +| Column | Description | +| --------------------- | -------------------------------------------------- | +| Host ID | Host ID | +| Host name | Host name | +| Service ID | Service ID | +| Service description | Service description | +| Check Command | Check command | +| Command arguments | Check command arguments | +| Normal check interval | Normal check interval | +| Retry check interval | Retry check interval | +| Max check attempts | Maximum check attempts | +| Active check enable | *1* when active checks are enabled, *0* otherwise | +| Passive check enable | *1* when passive checks are enabled, *0* otherwise | +| Activate | *1* when enabled, *0* when disabled | + +#### Add + +In order to add a service, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a add -v "Host-Test;ping;Ping-LAN" +``` + +The required fields are: + +| Order | Description | +| ----- | ----------------------------------------------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Service template - Only one service template can be defined | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to remove a service, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a del -v "test;ping" +``` + +The required fields are: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to set a specific paremeter for a particular service, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;max_check_attempts;10" +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;normal_check_interval;2" +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;normal_check_interval;10" +``` + +The required fields are: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Parameter that you want to update | +| 4 | New parameter value | + +Parameters that may be modified: + +| Parameter | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| description | Description | +| template | Name of the service template | +| is\_volatile | *1* when service is volatile, *0* otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' character | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | *1* when active checks are enabled, *0* otherwise | +| passive\_checks\_enabled | *1* when passive checks are enabled, *0* otherwise | +| notifications\_enabled | *1* when notification is enabled, *0* otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_service | *1* when obsess over service is enabled, *0* otherwise | +| check\_freshness | *1* when check freshness is enabled, *0* otherwise | +| freshness\_threshold | Value in seconds | +| event\_handler\_enabled | *1* when event handler is enabled, *0* otherwise | +| flap\_detection\_enabled | *1* when flap detection is enabled, *0* otherwise | +| retain\_status\_information | *1* when status information is retained, *0* otherwise | +| retain\_nonstatus\_information | *1* when non status information is retained, *0* otherwise | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the '\!' character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a service configuration, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getparam -v "test;comment" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getparam -v "test;comment|alia|description" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;comment|template|description" +comment;template;description +Check disk /;ST_DISK;DIsk-/ +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| description | Description | +| template | Name of the service template | +| is\_volatile | *1* when service is volatile, *0* otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' character | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | *1* when active checks are enabled, *0* otherwise | +| passive\_checks\_enabled | *1* when passive checks are enabled, *0* otherwise | +| notifications\_enabled | *1* when notification is enabled, *0* otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_service | *1* when obsess over service is enabled, *0* otherwise | +| check\_freshness | *1* when check freshness is enabled, *0* otherwise | +| freshness\_threshold | Value in seconds | +| event\_handler\_enabled | *1* when event handler is enabled, *0* otherwise | +| flap\_detection\_enabled | *1* when flap detection is enabled, *0* otherwise | +| retain\_status\_information | *1* when status information is retained, *0* otherwise | +| retain\_nonstatus\_information | *1* when non status information is retained, *0* otherwise | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the '\!' character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +#### Addhost and Sethost + +You may want to tie a service to an extra host. In order to do so, use the **ADDHOST** or **SETHOST** actions where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a sethost -v "host1;ping;host2" +``` + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addhost -v "host1;ping;host2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delhost + +In order to remove the relation between a host and a service, use the **DELHOST** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delhost -v "host1;ping;host2" +``` + +The service ping which was originally linked to host1 and host2 is now only linked to host1. + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getmacro + +In order to view the custom macro list of a service, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getmacro -v "host1;ping" +macro name;macro value;is_password;description +$_SERVICETIME$;80;0;description of macro +$_SERVICEPL$;400;0;description of macro +``` + +#### Setmacro + +In order to set a macro for a specific service use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setmacro -v "test;ping;time;80;0;description of macro" +centreon -u admin -p 'centreon' -o SERVICE -a setmacro -v "test;ping;pl;400;0;description of macro" +``` + +The required parameters are the following: + +| Order | Description | +| -------- | ---------------------------------------- | +| 1 | Host name | +| 2 | Service name | +| 3 | Macro name | +| 4 | Macro value | +| 5 | 1 for a password macro, 0 otherwise | +| 6 | Description of macro | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delmacro + +In order to remove a macro from a specific service use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delmacro -v "test;ping;time" +centreon -u admin -p 'centreon' -o SERVICE -a delmacro -v "test;ping;pl" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setseverity + +In order to associate a severity to a service, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setseverity -v "Centreon-Server;ping;Critical" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Severity name | + +#### Unsetseverity + +In order to remove the severity from a service, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a unsetseverity -v "Centreon-Server;ping" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | + +#### Getcontact + +In order to view the contact list of a service, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcontact -v "Centreon-Server;Ping" +id;name +28;Contact_1 +29;Contact_2 +``` + +#### Addcontact and Setcontact + +In order to add a new contact to notification contact list, use the **ADDCONTACT** or **SETCONTACT** actions where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcontact -v "test;ping;User1" +centreon -u admin -p 'centreon' -o SERVICE -a setcontact -v "test;ping;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontact + +In order to remove a contact from the notification contact list, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcontact -v "test;ping;User1" +centreon -u admin -p 'centreon' -o SERVICE -a delcontact -v "test;ping;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getcontactgroup + +In order to view the contact group list of a service, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcontactgroup -v "Centreon-Server;Ping" +id;name +28;ContactGroup_1 +29;ContactGroup_2 +``` + +#### Addcontactgroup and Setcontactgroup + +In order to add a new contactgroup to notification contactgroup list, use the **ADDCONTACTGROUP** or **SETCONTACTGROUP** +actions where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcontactgroup -v "test;ping;Group1" +centreon -u admin -p 'centreon' -o SERVICE -a setcontactgroup -v "test;ping;Group1|Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontactgroup + +In order to remove a contactgroup from the notification contactgroup list, use **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcontactgroup -v "test;ping;Group1" +centreon -u admin -p 'centreon' -o SERVICE -a delcontactgroup -v "test;ping;Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Gettrap + +In order to view the trap list of a service, use the **GETTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a gettrap -v "Centreon-Server;Ping" +id;name +48;ciscoConfigManEvent +39;ospfVirtIfTxRetransmit +``` + +#### Addtrap and Settrap + +In order to add a new trap, use the **ADDTRAP** or **SETTRAP** actions where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addtrap -v "test;ping;snOspfVirtIfConfigError" +centreon -u admin -p 'centreon' -o SERVICE -a settrap -v "test;ping;snOspfVirtNbrStateChange|snTrapAccessListDeny" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Deltrap + +In order to remove a trap from a service, use the **DELTRAP** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a deltrap -v "test;ping;snOspfVirtIfConfigError" +``` + +#### Getservicegroup + +In order to view the servicegroup of a service, use the **GETSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getservicegroup -v "Centreon-Server;Ping" +id;name +48;SG1 +39;SG2 +``` + +#### Addservicegroup and Setservicegroup + +In order to add a new servicegroup, use the **ADDSERVICEGROUP** or **SETSERVICEGROUP** actions where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addservicegroup -v "test;ping;SG2" +centreon -u admin -p 'centreon' -o SERVICE -a setservicegroup -v "test;ping;SG1|SG2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delservicegroup + +In order to remove a servicegroup from a service, use the **DELSERVICEGROUP** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delservicegroup -v "test;ping;SG1" +``` + +#### Getcategory + +In order to view the category of a service, use the **GETCATEGORY** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcategory -v "Centreon-Server;Ping" +id;name +48;CPU +``` + +#### Addcategory and Setcategory + +In order to add a new category, use the **ADDCATEGORY** or **SETCATEGORY** actions where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcategory -v "test;ping;CPU" +centreon -u admin -p 'centreon' -o SERVICE -a setcategory -v "test;ping;CPU" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcategory + +In order to remove a category from a service, use the **DELCATEGORY** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcategory -v "test;ping;CPU" +``` + + +### Service templates + +Object name: **STPL** + +#### Show + +In order to list available service, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a show +id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled +1;generic-service;generic-service;;;5;1;3;1;0 +3;Ping-LAN;Ping;check_centreon_ping;!3!200,20%!400,50%;;;;2;2 +4;Ping-WAN;Ping;check_centreon_ping;!3!400,20%!600,50%;;;;2;2 +5;SNMP-DISK-/;Disk-/;check_centreon_remote_storage;!/!80!90;;;;2;2 +6;SNMP-DISK-/var;Disk-/var;check_centreon_remote_storage;!/var!80!90;;;;2;2 +7;SNMP-DISK-/usr;Disk-/usr;check_centreon_remote_storage;!/usr!80!90;;;;2;2 +8;SNMP-DISK-/home;Disk-/home;check_centreon_remote_storage;!/home!80!90;;;;2;2 +9;SNMP-DISK-/opt;Disk-/opt;check_centreon_remote_storage;!/opt!80!90;;;;2;2 +``` + +You can also specify the service template to search: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a show -v 'Ping-LAN' +id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled +3;Ping-LAN;Ping;check_centreon_ping;!3!200,20%!400,50%;;;;2;2 +``` + +Columns are the following : + +| Order | Description | +| ----- | -------------------------------------------------- | +| 1 | Service ID | +| 2 | Service Description | +| 3 | Check command | +| 4 | Check command arguments | +| 5 | Normal check interval | +| 6 | Retry check interval | +| 7 | Maximum check attempts | +| 8 | *1* when active checks are enabled, *0* otherwise | +| 9 | *1* when passive checks are enabled, *0* otherwise | + +#### Add + +In order to add a service template, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a add -v "MyTemplate;mytemplate;Ping-LAN" +``` + +The required fields are: + +| Order | Description | +| ----- | -------------------------------------------------------------------- | +| 1 | Service template description | +| 2 | Alias will be used when services are deployed through host templates | +| 3 | Service template; Only one service template can be defined | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Del + +In order to remove a service template, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a del -v "MyTemplate" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Setparam + +In order to set a specific parameter for a service template, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;max_check_attempts;10" +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;normal_check_interval;2" +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;normal_check_interval;http://192.168.1.2/admincp" +``` + +The required fields that you have pass in options are: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Service template description | +| 2 | Parameter that you want to update | +| 3 | New paramater value | + +Parameters that may be modified: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------------------------------- | +| activate | 1 when service is enabled, 0 otherwise | +| description | Service template description | +| alias | Service template alias | +| template | Name of the service template | +| is\_volatile | 1 when service is volatile, 0 otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' characteri | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | 1 when active checks are enabled, 0 otherwise | +| passive\_checks\_enabled | 1 when passive checks are enabled, 0 otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance= | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| parallelize\_check | 1 when parallelize checks are enabled, 0 otherwise | +| obsess\_over\_service | 1 when obsess over service is enabled, 0 otherwise | +| check\_freshness | 1 when check freshness is enabled, 0 otherwise | +| freshness\_threshold | Service freshness threshold in seconds | +| event\_handler\_enabled | 1 when event handler is enabled, 0 otherwise | +| flap\_detection\_enabled | 1 when flap detection is enabled, 0 otherwise | +| process\_perf\_data | 1 when process performance data is enabled, 0 otherwise | +| retain\_status\_information | 1 when status information is retained, 0 otherwise | +| retain\_nonstatus\_information | 1 when non status information is retained, 0 otherwise | +| stalking\_options | Comma separated options: 'o' for OK, 'w' for Warning, 'u' for Unknown and 'c' for Critical | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the "\!" character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| graphtemplate | Graph template namei | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getparam + +In order to get specific parameters on a service template, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias|notes|comment" +alias;notes;comment +test;my notes;my comment +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------------------------------- | +| activate | 1 when service is enabled, 0 otherwise | +| description | Service template description | +| alias | Service template alias | +| template | Name of the service template | +| is\_volatile | 1 when service is volatile, 0 otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' characteri | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | 1 when active checks are enabled, 0 otherwise | +| passive\_checks\_enabled | 1 when passive checks are enabled, 0 otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance= | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| parallelize\_check | 1 when parallelize checks are enabled, 0 otherwise | +| obsess\_over\_service | 1 when obsess over service is enabled, 0 otherwise | +| check\_freshness | 1 when check freshness is enabled, 0 otherwise | +| freshness\_threshold | Service freshness threshold in seconds | +| event\_handler\_enabled | 1 when event handler is enabled, 0 otherwise | +| flap\_detection\_enabled | 1 when flap detection is enabled, 0 otherwise | +| process\_perf\_data | 1 when process performance data is enabled, 0 otherwise | +| retain\_status\_information | 1 when status information is retained, 0 otherwise | +| retain\_nonstatus\_information | 1 when non status information is retained, 0 otherwise | +| stalking\_options | Comma separated options: 'o' for OK, 'w' for Warning, 'u' for Unknown and 'c' for Critical | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the "\!" character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| graphtemplate | Graph template namei | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + + +#### Addhosttemplate and Sethosttemplate + +You may want to tie a service template to an extra host template. In order to do so, use the **ADDHOSTTEMPLATE** or +**SETHOSTTEMPLATE** actions where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a sethosttemplate -v "MyTemplate;generic-host-template" +centreon -u admin -p 'centreon' -o STPL -a addhosttemplate -v "MyTemplate;Linux-Servers" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delhosttemplate + +In order to remove the relation between a host template and a service template, use the **DELHOSTTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delhosttemplate -v "MyTemplate;Linux-Servers" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getmacro + +In order to view the custom macro list of a service template, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getmacro -v "MyTemplate" +macro name;macro value;description;is_password +$_SERVICETIME$;80;description of macro1;0 +$_SERVICEPL$;400;description of macro2;0 +``` + +#### Setmacro + +In order to set a macro for a specific service template use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;time;80" +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;pl;400;description" +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;password;mypassword;;1" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delmacro + +In order to remove a macro from a specific service template, use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delmacro -v "MyTemplate;time" +centreon -u admin -p 'centreon' -o STPL -a delmacro -v "MyTemplate;pl" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getcontact + +In order to view the contact list of a service template, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcontact -v "MyTemplate" +id;name +28;Contact_1 +29;Contact_2 +``` + +#### Addcontact and Setcontact + +In order to add a new contact to notification contact list, use **ADDCONTACT** or **SETCONTACT** actions where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcontact -v "MyTemplate;User1" +centreon -u admin -p 'centreon' -o STPL -a setcontact -v "MyTemplate;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontact + +In order to remove a contact from the notification contact list, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delcontact -v "MyTemplate;User1" +centreon -u admin -p 'centreon' -o STPL -a delcontact -v "MyTemplate;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Getcontactgroup + +In order to view the contactgroup list of a service template, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcontactgroup -v "MyTemplate" +id;name +28;ContactGroup_1 +29;ContactGroup_2 +``` + +#### Setcontactgroup + +In order to add a new contactgroup to notification contactgroup list, use the **ADDCONTACTGROUP** or **SETCONTACTGROUP** +actions where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcontactgroup -v "MyTemplate;Group1" +centreon -u admin -p 'centreon' -o STPL -a setcontactgroup -v "MyTemplate;Group1|Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcontactgroup + +In order to remove a contactgroup from the notification contactgroup list, use the **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delcontactgroup -v "MyTemplate" +centreon -u admin -p 'centreon' -o STPL -a delcontactgroup -v "MyTemplate;Group1" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Gettrap + +In order to view the trap list of a service template, use the **GETTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o "STPL" -a gettrap -v "Ping-LAN" +id;name +48;ciscoConfigManEvent +39;ospfVirtIfTxRetransmit +``` + +#### Settrap + +In order to add a trap to a service template, use the **ADDTRAP** or **SETTRAP** actions where *add* will append and +*set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addtrap -v "Ping-LAN;snOspfVirtIfConfigError" +centreon -u admin -p 'centreon' -o STPL -a settrap -v "Ping-LAN;snOspfVirtNbrStateChange|snTrapAccessListDeny" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Deltrap + +In order to remove a trap from a service template, use the **DELTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a deltrap -v "Ping-LAN;snOspfVirtIfConfigError" +``` + +#### Getcategory + +In order to view the category of a service template, use the **GETCATEGORY** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcategory -v "ping" +id;name +48;CPU +``` + +#### Addcategory and Setcategory + +In order to add a new category, use the **ADDCATEGORY** or **SETCATEGORY** actions where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcategory -v "ping;CPU" +centreon -u admin -p 'centreon' -o STPL -a setcategory -v "ping;CPU" +``` + +> ***NOTE:*** You need to generate your configuration file and restart monitoring engine in order to apply changes. + +#### Delcategory + +In order to remove a category from a service template, use the **DELCATEGORY** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcategory -v "ping;CPU" +``` + +### Settings + +Object name: **Settings** + +#### Show + +In order to list editable settings, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SETTINGS -a show +parameter;value +centstorage;1 +debug_auth;0 +debug_ldap_import;0 +debug_nagios_import;0 +debug_path;/var/log/centreon/ +debug_rrdtool;0 +enable_autologin;1 +enable_gmt;0 +enable_logs_sync;1 +enable_perfdata_sync;1 +gmt;1 +interval_length;60 +mailer_path_bin;/bin/mail +nagios_path_img;/usr/share/nagios/html/images/logos/ +perl_library_path;/usr/local/lib +rrdtool_path_bin;/usr/bin/rrdtool +snmpttconvertmib_path_bin;/usr/share/centreon/bin/snmpttconvertmib +snmptt_unknowntrap_log_file;snmptrapd.log +``` + +#### Setparam + +If you want to change a specific parameter of a Vendor, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SETTINGS -a setparam -v ";" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Parameter name | +| 2 | Parameter value | + +Parameters that you may change are: + +| Column | Description | Possible values and examples | +| ------------------------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------- | +| centstorage | Enable/disable CentStorage | Enable: '1', Disable: '0' | +| debug\_auth | Enable/disable authentication debug | Enable: '1', Disable: '0' | +| debug\_ldap\_import | Enable/disable LDAP debug | Enable: '1', Disable: '0' | +| debug\_nagios\_import | Enable/disable Nagios configuration import | Enable: '1', Disable: '0' | +| debug\_path | Debug log files directory | /var/log/centreon/ | +| debug\_rrdtool | Enable/disable RRDTool debug | Enable: '1', Disable: '0' | +| enable\_autologin | Enable/disable autologin | Enable: '1', Disable: '0' | +| enable\_gmt | Enable/disable GMT management | Enable: '1', Disable: '0' | +| enable\_logs\_sync | Enable/disable CentCore log synchronization (not necessary when using Centreon Broker) | Enable: '1', Disable: '0' | +| enable\_perfdata\_sync | Enable/disable Centcore PerfData synchronization (not necessary when using Centreon Broker) | Enable: '1', Disable: '0' | +| gmt | GMT timezone of monitoring system | 2 (for GMT+2) | +| interval\_length | Monitoring interval length in seconds (default: 60) | 120 | +| mailer\_path\_bin | Mail client bin path | /bin/mail | +| nagios\_path\_img | Nagios image path | /usr/share/nagios/html/images/logos/ | +| perl\_library\_path | Perl library path | /usr/local/lib | +| rrdtool\_path\_bin | RRDTool bin path | /usr/bin/rrdtool | +| snmpttconvertmib\_path\_bin | SNMPTT mib converter bin path | /usr/share/centreon/bin/snmpttconvertmib | +| snmptt\_unknowntrap\_log\_file | SNMPTT unknown trap log file | snmptrapd.log | + +### Time periods + +Object name: **TP** + +#### Show + +In order to list available time periods, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a show +id;name;alias;sunday;monday;tuesday;wednesday;thursday;friday,saturday +1;24x7;24_Hours_A_Day,_7_Days_A_Week;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00 +2;none;No Time Is A Good Time;;;;;;; +3;nonworkhours;Non-Work Hours;00:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-24:00 +4;workhours;Work hours;;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00; +``` + +#### Add + +In order to add a Time Period, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a add -v "Timeperiod_Test;Timeperiod_Test" +``` + +Required fields are: + +| Order | Description | +| ----- | ----------- | +| 1 | Name | +| 2 | Alias | + +#### Del + +If you want to remove a Time Period, use the **DEL** action. The Name is used for identifying the Time Period to delete: + +``` shell +centreon -u admin -p 'centreon' -o TP -a del -v "Timeperiod_Test" +``` + +#### Setparam + +If you want to change a specific parameter of a time period, use the **SETPARAM** action. The Name is used for +identifying the Time Period to update: + +``` shell +centreon -u admin -p 'centreon' -o TP -a setparam -v "Timeperiod_Test;monday;00:00-24:00" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------- | +| 1 | Name of time period | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------- | +| name | Name | +| alias | Alias | +| sunday | Time Period definition for Sunday | +| monday | Time Period definition for Monday | +| tuesday | Time Period definition for Tuesday | +| wednesday | Time Period definition for Wednesday | +| thursday | Time Period definition for Thursday | +| friday | Time Period definition for Friday | +| saturday | Time Period definition for Saturday | +| include | example: \[...\] -v "Timeperiod\_Test;include;workhours"; Use delimiter | for multiple inclusion definitions | + +#### Getexception + +In order to view the exception list of a time period, use the **GETEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a getexception -v "mytimeperiod" +days;timerange +january 1;00:00-00:00 +december 25;00:00-00:00 +``` + +#### Setexception + +In order to set an exception on a timeperiod, use the **SETEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a setexception -v "mytimeperiod;january 1;00:00-24:00" +``` + +> ***NOTE:*** If exception does not exist, it will be created, otherwise it will be overwritten. + +#### Delexception + +In order to delete an exception, use the **DELEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a delexception -v "mytimeperiod;january 1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------------------- | +| 1 | Name of timeperiod | +| 2 | Exception to remove from timeperiod | + +### Traps + +Object name: **TRAP** + +#### Show + +In order to list available traps, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a show +id;name;oid;manufacturer +576;alertSystemUp;.1.3.6.1.4.1.674.10892.1.0.1001;Dell +577;alertThermalShutdown;.1.3.6.1.4.1.674.10892.1.0.1004;Dell +578;alertTemperatureProbeNormal;.1.3.6.1.4.1.674.10892.1.0.1052;Dell +599;alertFanEnclosureInsertion;.1.3.6.1.4.1.674.10892.1.0.1452;Dell +600;alertFanEnclosureRemoval;.1.3.6.1.4.1.674.10892.1.0.1453;Dell +601;alertFanEnclosureExtendedRemoval;.1.3.6.1.4.1.674.10892.1.0.1454;Dell +602;alertLogNormal;.1.3.6.1.4.1.674.10892.1.0.1552;Dell +605;ccmCLIRunningConfigChanged;.1.3.6.1.4.1.9.9.43.2.0.2;Cisco +[...] +``` + +#### Add + +In order to add a trap, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a add -v "aNewTrap;.1.3.6.1.4.1.11.2.3.9.7.1.0.30" +``` + +Required fields are: + +| Order | Description | +| ----- | -------------------- | +| 1 | Trap name | +| 2 | OID of the SNMP Trap | + +#### Del + +If you want to remove a Trap, use the **DEL** action. The Name is used for identifying the Trap to delete: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a del -v "aNewTrap" +``` + +#### Setparam + +If you want to change a specific parameter of a Trap, use the **SETPARAM** command. The Name is used for identifying the +Trap to update: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a setparam -v "aNewTrap;vendor;3com" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of Trap | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | Possible values | +| -------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------ | +| name | Name | | +| comments | Comments | | +| output | Output | | +| oid | OID | | +| status | Status | *ok*, *warning*, *critical*, *unknown* or *0*, *1*, *2*, *3* | +| vendor | Vendor name | A valid vendor name | +| matching\_mode | Advanced regexp matching mode | *1* to enable, *0* to disable | +| reschedule\_svc\_enable | Whether or not will reschedule service check when trap is received | *1* to enable, *0* to disable | +| execution\_command | Command to be executed when trap is received | A valid Unix command line | +| execution\_command\_enable | Whether or not will execute the 'execution\_command' | *1* to enable, *0* to disable | +| submit\_result\_enable | Whether or not will submit result to Service | *1* to enable, *0* to disable | + +#### Getmatching + +In order to display the list of matching rules defined for a specific trap, use the **GETMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a getmatching -v "aNewTrap" +id;string;regexp;status;order +8;@OUTPUT@;/test/;UNKNOWN;1 +``` + +| Column | Description | +| ------ | ----------------------------------- | +| ID | ID of the matching rule | +| String | String to match | +| Regexp | Matching Regular Expression | +| Status | Status to submit | +| Order | Priority order of the matching rule | + +#### Addmatching + +In order to add a matching rule, use the **ADDMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a addmatching -v "aNewTrap;@OUTPUT@;/test2/;critical" +``` + +Required fields are: + +| Order | Description | Possible values | +| ----- | --------------------------- | -------------------------------------------- | +| 1 | Trap name | | +| 2 | String to match | | +| 3 | Matching Regular Expression | | +| 4 | Status to submit | ok, warning, critical, unknown or 0, 1, 2, 3 | + +#### Delmatching + +In order to delete a matching rule, use the **DELMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a delmatching -v "8" +``` + +Required fields are: + +| Column | Description | +| ------ | ----------------------- | +| ID | ID of the matching rule | + +#### Updatematching + +In order to delete a matching rule, use the **UPDATEMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a updatematching -v "8;status;critical" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | ID of the matching rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | Possible values | +| ------ | --------------------------- | -------------------------------------------- | +| string | String to match | | +| order | Priority order | | +| status | Status to submit | ok, warning, critical, unknown or 0, 1, 2, 3 | +| regexp | Matching Regular Expression | | + +### Vendors + +Object name: **VENDOR** + +#### Show + +In order to list available vendors, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a show +id;name;alias +1;Cisco;Cisco Networks +2;HP;HP Networks +3;3com;3Com +4;Linksys;Linksys +6;Dell;Dell +7;Generic;Generic +9;Zebra;Zebra +11;HP-Compaq;HP and Compaq Systems +``` + +#### Add + +In order to add a Vendor, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a add -v "DLink;DLink routers" +``` + +Required fields are: + +| Order | Description | +| ----- | ----------- | +| 1 | Name | +| 2 | Alias | + +#### Del + +If you want to remove a Vendor, use the **DEL** action. The Name is used for identifying the Vendor to delete: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a del -v "DLink" +``` + +#### Setparam + +If you want to change a specific parameter of a Vendor, use the **SETPARAM** command. The Name is used for identifying +the Vendor to update: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a setparam -v "3com;name;HP" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of vendor | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| ----------- | ----------- | +| name | Name | +| alias | Alias | +| description | Description | + +#### Generatetraps + +It is possible to generate new SNMP traps from a given MIB file. In order to do so, use the **GENERATETRAPS** command: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a generatetraps -v "3com;/usr/share/mymibs/3com/A3COM-SWITCHING-SYSTEMS-MIB.mib" +[...] +Done + +Total translations: 10 +Successful translations: 10 +Failed translations: 0 +``` + +> ***NOTE:*** Make sure to put all the mib file dependencies in the /usr/share/snmp/mibs/ directory before starting the +> generation. Then, remove them when it is done. + +Required fields are: + +| Column | Description | +| -------- | ----------------- | +| Name | Name of Vendor | +| Mib file | File path of .mib | + + +## Service Mapping + +The service mapping capabilities in Centreon relies on the **Centreon Business Activity Monitoring (BAM)** extension. + + +> Centreon BAM is a Centreon **extension** that requires a valid license key. To purchase one and retrieve +the necessary repositories, contact [Centreon](mailto:sales@centreon.com). + +### Business View + +Object name: **BV** + +#### SHOW + +To list available BVs, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BV -a SHOW + id;name;description + 4;BV1;BV1 + 5;BV2;BV2 + 6;BV4;BV3 + [...] + +The following columns are required: + +| Column | Description | +|----------------|---------------------------| +| BV ID | Business View id | +| BV name | Business View name | +| BV description | Business View description | + +#### ADD + +To add a BV, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADD -v 'BV1;BV1' + +The following columns are required: + +|Column |Description | +|-----------------|---------------------------| +|Name |Business View name | +|Description | Business View description | + +#### DEL + +To remove a BV, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BV -a DEL -v 'BV1' + +#### SETPARAM + +To change specific parameters for a BV, use the **SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETPARAM -v 'BV1;description;BV description' + +You can change the following parameters: + +| Parameter | Description | +|-------------|-------------------------------| +| name | Business Activity name | +| description | Business Activity description | +| overview | Visible in overview (0 or 1) | + +#### SETBA + +To set the Business Activity (BA) to a BV, use the **SETBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|---------|---------------------------------------------------------| +| Bv name | Business View name | +| Ba name | Business Activity name (multiple with "pipe" separator) | + +#### ADDBA + +To add BA to a BV, use the **ADDBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADDBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|---------|-------------------------------------------------------------| +| Bv name| Business View name | +| Ba name| Business Activity name (multiple with a "pipe" separator) | + +#### DELBA + +To delete a BA from a BV, use the **DELBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a DELBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Ba name | Business Activity name (multiple with a "pipe" separator) | + +#### SETACLGROUP + +To set an ACL group to a BV, use the **SETACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description | +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Acl group name (multiple with a pipe separator) | + +#### ADDACLGROUP + +To add an ACL group to a BV, use the **ADDACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADDACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Acl group name (multiple with a "pipe" separator) | + +#### DELACLGROUP + +To delete an ACL group from a BV, use the **DELACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a DELACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Acl group name (multiple with a "pipe" separator) | + +### Business Activity (BA) + +Object name: **BA** + +#### SHOW + +To list available business activities, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BA -a SHOW + id;name;description;state_source;level_w;level_c;notification_interval + 1;ba1;ba1;1;80;70;3 + 2;ba2;ba2;2;;;2 + 3;ba3;ba3;3;;; + [...] + +The following columns are displayed: + + * BA ID: Business Activity id + * BA name: Business Activity name + * Ba description: Business Activity description + * Ba state_source: Business Activity Calculation Method + * level\_w: Warning threshold (only applicable for Impact and Ratio modes) + * level\_c: Critical threshold (only applicable for Impact and Ratio modes) + +Business Activity Calculation Methods (state_source): + * 0 - Impact Mode (requires level\_w to be > level\_c) + * 1 - Best Status + * 2 - Worst Status + * 3 - Ratio Percentage (requires level\_c to be > level\_w) + * 4 - Ratio Number (requires level\_c to be > level\_w) + +#### ADD + +To add a BA, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADD -v 'ba1;ba1;0;90;80;5' + +The following columns are required: + + |Column | Description | + |------------------------|---------------------------------| + |Name | Business Activity name | + |Description | Business Activity description | + |State Source | BA Calcuation Method | + |Warning threshold | Warning threshold (if needed) | + |Critical threshold | Critical threshold (if needed) | + |Notification interval | Notification interval (minutes) | + +#### DEL + +To remove a BA, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BA -a DEL -v 'ba1' + +#### SETPARAM + +To change a specific parameters for a BV, use the **SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;enable;1' + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;comment;new comments' + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;notification_options;r,w,c' + +Parameters that you can change are the following: + + |Parameter |Description |Possible values | + |--------------------------------|---------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| + |name |Business Activity name | | + |description |Business Activity description | | + |level\_w |Warning threshold | | + |level\_c |Critical threshold | | + |reporting\_period |reporting period | | + |comment |Comments | | + |notifications\_enabled |Enable notifications (0 or 1) | | + |notification\_options |Notification options (r, w, c, f) | | + |notification\_period |Notification period | | + |notification\_interval |Notification interval | | + |first\_notification\_delay |Delay before sending first notification when entering non-OK status | | + |recovery\_notification\_delay |Delay before sending first notification when entering OK status | | + |icon |Business Activity icon | | + |inherit\_kpi\_downtimes |Inherit planned downtimes from KPIs |*0* to ignore the planned downtime, *1* to inherit the planned downtime on the business activity, *2* to ignore the indicator in the calculation | + |geo_coords |Geo-coordinate to position the BA | | + |enable |Enable (0 or 1) | | + |state_source |0 - Impact, 1 - Best, 2 - Worst, 3 - Ratio Nr., 4 - Ratio Percent | | + +> Note: Changing State Source will require updating your Level W and Level C to match the appropriate +> Calculation Method! + +#### SETBV + +To set a BV to a BA, use the **SETBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETBV -v 'ba1;bv1' + ./centreon -u admin -p 'centreon' -o BA -a SETBV -v 'ba1;bv1|bv2' + +The following columns are required: + + Column Description + --------- ------------------------------------------------- + Ba name Business Activity name + Bv name Business View name (multiple with \| seperator) + +#### ADDBV + +To add a BV to a BA, use the **ADDBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDBV -v 'ba1;bv1' + ./centreon -u admin -p 'centreon' -o BA -a ADDBV -v 'ba1;bv2|bv3' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Bv name | Business View name (multiple with a "pipe" separator) | + +#### DELBV + +To delete a BV from a BA, use the **DELBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELBV -v 'ba1;bv1' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Bv name | Business View name (multiple with a "pipe" separator) | + +#### SETCONTACTGROUP + +To set contact group to a BA, use the **SETCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETCONTACTGROUP -v 'ba1;Guest' + ./centreon -u admin -p 'centreon' -o BA -a SETCONTACTGROUP -v 'ba1;Guest|Supervisors' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### ADDCONTACTGROUP + +To add contact group to a BA, use the **ADDCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDCONTACTGROUP -v 'ba1;Guest' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### DELCONTACTGROUP + +To delete a contact group from a BA, use the **DELCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELCONTACTGROUP -v 'ba1;Guest' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### SETEXTRAREPORTINGPERIOD + +To set extra reporting periods for Centreon MBI, use the +**SETEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### ADDEXTRAREPORTINGPERIOD + +To add extra reporting periods for Centreon MBI, use the +**ADDEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### DELEXTRAREPORTINGPERIOD + +To delete extra reporting periods from a BA, use the +**DELEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### SETPOLLER + +To set the poller where the BA is calculated (in addition to central), +use the **SETPOLLER** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETPOLLER -v 'ba1;poller1' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Poller name | Poller name where Business Activity can be calculated | + +#### DELPOLLER + +To delete poller where the BA is calculated, use the **DELPOLLER** +action: + + ./centreon -u admin -p 'centreon' -o BA -a DELPOLLER -v 'ba1;poller1' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Poller name | Poller name where Business Activity is calculated | + +### Indicators (KPI) + +Object name: **KPI** + +#### SHOW + +To list available KPI, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o KPI -a SHOW + id;type;name;impacted_ba;warning_impact;critical_impact;unknown_impact + 1;service;Centreon-Server Load;ba1;25;50;20 + 2;metaservice;meta1;toto;50;100;75 + [...] + +Columns are the following: + + |Column |Description | + |-----------------|---------------------------------------------| + |KPI ID |KPI id | + |KPI type | *service*, *metaservice*, *ba* or *boolean* | + |KPI name |KPI name | + |Impacted BA |Impacted business activity | + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + +#### ADD + +To add a KPI, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'service;host1|service1;ba1;10;20;5' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'metaservice;meta11;ba2;minor;major;null' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'ba;ba1;ba3;10;20;5' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'boolean;rule1;ba4;10;20;5' + +Required columns are the following: + + |Column |Description | + |-----------------|---------------------------------------------| + |KPI type | *service*, *metaservice*, *ba* or *boolean* | + |Object | Object used in KPI | + |Impacted BA |Impacted business activity | + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + +#### DEL + +If you want to remove a KPI, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o KPI -a DEL -v 'ba;ba1;ba3' + +#### SETPARAM + +If you want to change a specific parameters for a KPI, use the +**SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o KPI -a SETPARAM -v 'service;host1|service1;ba1;enable;0' + ./centreon -u admin -p 'centreon' -o KPI -a SETPARAM -v 'metaservice;meta1;ba1;warning_impact;50' + +Parameters that you can change are the following: + + |Column |Description | + |-----------------|---------------------------------------------| + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + |impacted\_ba |Impacted business activity | + |enable | Enable (0 or 1) | + +#### SETIMPACTMODE + +If you want to change configuration mode, use the **SETIMPACTMODE** +action: + + ./centreon -u admin -p 'centreon' -o KPI -a SETIMPACTMODE -v 'ba;ba1;ba3;advanced' + +Parameters that you can change are the following: + + |Parameter |Description | + |--------------|--------------------------------------------| + |KPI type |*service*, *metaservice*, *ba* or *boolean* | + |Object |Object used in KPI | + |Impacted BA |Impacted business activity | + |Impact mode |regular or advanced | + +### Boolean Rule + +Object name: **BOOLEANRULE** + +#### SHOW + +To list available boolean rules, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a SHOW + id;name;expression;bool_state + 8;rule1;expression1;1 + 9;rule2;expression2;1 + [...] + +The following columns are required: + + |Column |Description | + |-----------------|------------------------------------------------------| + |Rule ID |Boolean rule id | + |Rule name | Boolean rule name | + |Rule expression |Boolean rule expression | + |Bool state |Impact is applied when expression returns this state | + +#### ADD + +To add a boolean rule, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a ADD -v 'rule1;expression1;1' + +The following columns are required: + + |Column |Description | + |-----------------|------------------------------------------------------| + |Rule name | Boolean rule name | + |Rule expression |Boolean rule expression | + |Bool state |Impact is applied when expression returns this state | + +#### DEL + +To remove a boolean rule, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a DEL -v 'rule1' + +#### SETPARAM + +To change a specific parameter for a boolean rule, use the **SETPARAM** +command: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a setparam -v 'rule1;expression;new expression' + +Parameters that you can change are the following: + + |Column |Description | + |-----------------|------------------------------------------------------| + |Rule name | Boolean rule name | + |Rule expression |Boolean rule expression | + |Bool state |Impact is applied when expression returns this state | + + + +## Poller management + +### List available pollers + +In order to list available pollers, use the **POLLERLIST** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERLIST +poller_id;name +1;Local Poller +2;Remote Poller +``` + +### Generate local configuration files for a poller + +In order to generate configuration files for poller "Local Poller" of id 1, use the **POLLERGENERATE** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERGENERATE -v 1 +Configuration files generated for poller 1 +``` + +You can generate the configuration using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERGENERATE -v "Local Poller" +Configuration files generated for poller 'Local Poller' +``` + +### Test monitoring engine configuration of a poller + +In order to test configuration files for poller "Remote Poller" of id 2, use the **POLLERTEST** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERTEST -v 1 +OK: Nagios Poller 2 can restart without problem... +``` + +You can test the configuration using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERTEST -v "Local Poller" +Warning: Nagios Poller poller can restart but configuration is not optimal. Please see debug bellow : +--------------------------------------------------------------------------------------------------- +[1440681047] [15559] Reading main configuration file '/usr/share/centreon//filesGeneration/nagiosCFG/5/nagiosCFG.DEBUG'. +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hosts.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hostTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/serviceTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/services.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/misccommands.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/checkcommands.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contactgroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contactTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contacts.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hostgroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/servicegroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/timeperiods.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/escalations.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/dependencies.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/connectors.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-command.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-contact.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-contactgroup.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-dependencies.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-escalations.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-host.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-services.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-timeperiod.cfg' +[1440681047] [15559] Reading resource file '/usr/share/centreon/filesGeneration/nagiosCFG/5/resource.cfg' +[1440681047] [15559] Checking global event handlers... +[1440681047] [15559] Checking obsessive compulsive processor commands... +[1440681047] [15559] +[1440681047] [15559] Checked 55 commands. +[1440681047] [15559] Checked 0 connectors. +[1440681047] [15559] Checked 7 contacts. +[1440681047] [15559] Checked 0 host dependencies. +[1440681047] [15559] Checked 0 host escalations. +[1440681047] [15559] Checked 0 host groups. +[1440681047] [15559] Checked 1 hosts. +[1440681047] [15559] Checked 0 service dependencies. +[1440681047] [15559] Checked 0 service escalations. +[1440681047] [15559] Checked 0 service groups. +[1440681047] [15559] Checked 1 services. +[1440681047] [15559] Checked 5 time periods. +[1440681047] [15559] +[1440681047] [15559] Total Warnings: 1 +[1440681047] [15559] Total Errors: 0 + +--------------------------------------------------------------------------------------------------- +Return code end : 0 +``` + +### Move monitoring engine configuration files + +In order to move configuration files for poller "Local Poller" of id 1 to the final engine directory, use the +**CFGMOVE** command: + +``` shell +centreon -u admin -p 'centreon' -a CFGMOVE -v 2 +OK: All configuration will be send to 'Remote Poller' by centcore in several minutes. +Return code end : 1 +``` + +You can move the configuration files using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a CFGMOVE -v "Remote Poller" +OK: All configuration will be send to 'Remote Poller' by centcore in several minutes. +Return code end : 1 +``` + +### Restart monitoring engine of a poller + +In order to restart the monitoring process on poller "Local Poller" of id 1, use the the **POLLERRESTART** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRESTART -v 2 +OK: A restart signal has been sent to 'Remote Poller' +Return code end : 1 +``` + +You can restart the poller using its name: + +``` shell +centreon -u Remote Poller -p 'centreon' -a POLLERRESTART -v "Remote Poller" +OK: A restart signal has been sent to 'Remote Poller' +Return code end : 1 +``` + +### All in one command + +Use the **APPLYCFG** command in order to execute all of the above with one single command: + +``` shell +centreon -u admin -p 'centreon' -a APPLYCFG -v 1 +``` + +You can execute using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a APPLYCFG -v "Remote Poller" +``` + +This will execute **POLLERGENERATE**, **POLLERTEST**, **CFGMOVE** and **POLLERRELOAD**. + +### Reload monitoring engine of a poller + +In order to reload the monitoring process on poller "Remote Poller" of id 2, use the **POLLERRELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRELOAD -v 2 +OK: A reload signal has been sent to Remote Pollerpoller' +Return code end : 1 +``` + +You can reload poller using its name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRELOAD -v "Remote Poller" +OK: A reload signal has been sent to 'Remote Poller' +Return code end : 1 +``` + +### Execute post generation commands of a poller + +In order to execute post generation commands of a poller, use the **POLLEREXECCMD** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLEREXECCMD -v 2 +Running configuration check...done. +Reloading nagios configuration...done +``` + +You can execute post generation commands of a poller using its name: + +``` shell +centreon -u admin -p 'centreon' -a POLLEREXECCMD -v "Remote Poller" +Running configuration check...done. +Reloading nagios configuration...done +``` + +## Import/Export + +### Export + +At some point, you might need to export all of the object configuration parameters into a plain text file, either for +synchronizing or backuping purpose. + +The following items will not be exported: + +* Escalation +* ACL (ACL Groups, ACL Resources, ACL actions) +* LDAP settings +* Global Centreon settings + +This export feature is ran like this: + +``` shell +centreon -u admin -p 'centreon' -e > /tmp/clapi-export.txt +``` + +This will generate CLAPI commands and redirect them to the */tmp/clapi-export.txt* file. + +This file can now be read by the import command. + +With this, you can also build your own CLAPI command file if you know the straight forward syntax. + +For instance: + +``` shell +HOST;ADD;Host-Test1;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test2;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test3;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test4;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test5;Test host;127.0.0.1;generic-host;Local Poller;Linux +``` + +### Export of a subset of objects + +You can choose to export only predefined hosts or services. + +For example, to export all services linked to "srv-mssql-01" host you have to execute following command: + +``` shell +centreon -u admin -p 'centreon' -e --select='HOST;srv-mssql-01' --filter-type='^(HOST|SERVICE)$' +``` + +To export "memory" and "mssql-listener" services execute following command: + +``` shell +centreon -e --select='SERVICE;memory' --select='SERVICE;mssql-listener' --filter-type='^SERVICE$' +``` + +To export all commands run: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show | awk -F\; 'NR > 2 { print "--select=\"CMD;" $2 "\"" }' | xargs --verbose php ./centreon -u admin -p 'centreon' -e +``` + +### Import + +You can import configuration from the exported file */tmp/clapi-export*: + +``` shell +centreon -u admin -p 'centreon' -i /tmp/clapi-export.txt +``` + +In case you have a very large export file, it is advised to redirect the output of the above command to a file. Indeed, +when errors occur during the import process, CLAPI will print out an error message along with the line number of the +file, you might need to store those output message for troubleshooting later on. + +Empty or commented lines (beginning with `#`) will be ignored. + +You can build your own CLAPI command file if you know the straight forward syntax. You can use parameter described in +Object Management with the syntax you can see in export files : + +``` shell +OBJECT;AACTION;Parameter1;Parameter2;Parameter3;... +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/graph-views-map-api.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/graph-views-map-api.md new file mode 100644 index 000000000000..bda484f71a6c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/graph-views-map-api.md @@ -0,0 +1,105 @@ +--- +id: map-api +title: MAP API +--- + +Si vous souhaitez automatiser la création ou la maintenance de cartes standard, vous pouvez utiliser l'API de Centreon MAP. + +## Permissions + +Avec cette API, vous pouvez créer / mettre à jour / supprimer des cartes standard. Pour pouvoir utiliser l'API, le compte que vous utilisez doit avoir l'un des privilèges suivants : + +- Un compte Centreon Admin. +- Les droits de création de carte et de modification sur les cartes que vous souhaitez mettre à jour / supprimer. + +## Comment utiliser l'API de Centreon MAP + +> Parce que l'API de Centreon MAP n'est pas évidente à utiliser, voici un scénario pour s'authentifier, puis créer une carte et y ajouter une "shape". + +### S'authentifier + +``` +POST : http://{{serverURL}}:8081/centreon-map/api/beta/auth/sign-in +``` + +``` +Headers { + Content-Type = application/json + X-Client-Version = 24.10.0 +} + +Body { + "login" : "admin" + "password" : "denied" +} +``` + +- Dans le résultat, récupérez le {jwtToken}. Vous devrez l'utiliser pour tous vos appels à l'API. Les headers ressembleront à ceci : + +``` +Headers { + Content-Type = application/json + X-client-version = 24.10.0 + Authorization = Bearer {jwtToken} +} +``` + +### Créer une carte + +``` +POST http://{{serverURL}}:8081/centreon-map/api/beta/maps +``` + +``` +Headers { + Content-Type = application/json + X-client-version = 24.10.0 + Authorization = Bearer {jwtToken} +} + +Body { + "name": "My new map created from API" + } +``` + +- Récupérez l'identifiant de la carte {mapId} et de la vue {viewId} renvoyés. + +### Ouvrir la carte + +``` +GET http://{{serverURL}}:8081/centreon-map/api/beta/maps/{mapId}/views/{viewId} +``` + +### Créer et attacher un élément "shape" à la carte ouverte + +Dans ce scénario, l'élément "shape" est un rectangle. + +``` +PUT http://{{serverURL}}:8081/centreon-map/api/beta/maps/{mapId}/views +``` + +``` +Body: { + "id": {viewId}, + "shapes": [ + { + "type": "RECTANGLE", + "graphics": { + "label": "FR - Rectangle", + "x": 120, + "y": 120, + "width": 130, + "height": 53, + "color": "#0096FF", + "thickness": 1, + "borderColor": "#F0F0F0", + "line": "SOLID" + } + } + ] +} +``` + +## Pour plus d'informations + +> Suivez ce [lien](https://docs-api.centreon.com/api/centreon-map/24.10/) pour accéder à la documentation de l'API Centreon et avoir un aperçu des fonctionnalités de l'API. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/introduction.md new file mode 100644 index 000000000000..6d0663f31cbc --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/introduction.md @@ -0,0 +1,16 @@ +--- +id: introduction +title: Introduction +--- + +Centreon met à disposition plusieurs API pour manipuler ou récupérer la +configuration ou des données temps réel. + +En fonction du type de script ou de vos besoins d'*automation*, vous pouvez +choisir parmis les documentations suivantes : + +- [API en ligne de commande (CLAPI)](clapi.md) pour gérer la configuration +- [Rest API (v1)](rest-api-v1.md) pour gérer la configuration ou [Rest API + (v2)](rest-api-v2.md) pour gérer la configuration et les données temps réel +- [MAP API](graph-views-map-api.md) pour gérer certaines + données de vues graphiques diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v1.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v1.md new file mode 100644 index 000000000000..45886a15efb9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v1.md @@ -0,0 +1,2640 @@ +--- +id: rest-api-v1 +title: Rest API (v1) +--- + +> Cette documentation n'est disponible qu'en anglais. + +## Overview + +This documentation is for developers familiar with HTTP requests and JSON. It +explains various API operations, related requests and responses structure, and +error codes. If you are not familiar with the JSON API, we recommend you to use +the Centreon command line API documentation. + +## Permissions + +To perform API calls, you must be an administrator. + +## Authentication + +Using POST method and the URL below: + + api.domain.tld/centreon/api/index.php?action=authenticate + +Body form-data: + +| Parameter | Type | Value | +| --------- | ---- | ------------------------------------------ | +| username | Text | The user name you use to login on Centreon | +| password | Text | Your Centreon password | + +The response is a json flow getting back the authentication token : + +``` json +{ + "authToken": "NTc1MDU3MGE3M2JiODIuMjA4OTA2OTc=" +} +``` + +This token will be used later on the other API actions. + +## Error codes + +|Code|Message | +|----|----------------------------------------------------------------------------------------| +|200 |Successful | +|400 |Missing parameter / Missing name parameter / Unknown parameter / Objects are not linked| +|401 |Unauthorized | +|404 |Object not found / Method not implemented into Centreon API | +|409 |Object already exists / Name is already in use / Objects already linked | +|500 |Internal server error (custom message) | + +## Configuration + +### Getting started + +Most of the actions available (about 95%) in the command line API is available +in the rest API. + +Here is an example for listing hosts using rest API. + +Using POST method and the URL below: + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header:** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body:** + +``` json +{ + "action": "show", + "object": "HOST" +} +``` + + - The key **action** corresponds to the option **-a** in Centreon CLAPI, the + value **show** corresponds to the **-a** option value. + - The key **object** corresponds to the option **-o** in Centreon CLAPI, the + value **HOST** corresponds to the **-o** option value. + +The equivalent action using Centreon CLAPI is: + +``` shell +centreon -u admin -p centreon -o HOST -a show +``` + +**Response:** The response is a json flow listing all hosts and formated as +below: + +``` json +{ + "result": [ + { + "id": "12", + "name": "mail-uranus-frontend", + "alias": "mail-uranus-frontend", + "address": "mail-uranus-frontend", + "activate": "1" + }, + { + "id": "13", + "name": "mail-neptune-frontend", + "alias": "mail-neptune-frontend", + "address": "mail-neptune-frontend", + "activate": "1" + }, + { + "id": "14", + "name": "srvi-mysql01", + "alias": "srvi-mysql01", + "address": "srvi-mysql01", + "activate": "1" + } + ] +} +``` + +> Some actions need the values key (the option **-v** in Centreon CLAPI). +Depending on the called action, the body can contain **values** key. We will see +that in detail later. + +### API Calls + +All API calls you can do on objects are described below. Note that you need to +be authenticate before each call. + +API calls on the Host object are fully-detailed below. For the next objects, +only the actions available are listed, so just follow the same approach as for +the host object for an API call. + +### Host + +#### List hosts + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "show", + "object": "host" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "79", + "name": "mail-uranus-frontend", + "alias": "mail-uranus-frontend", + "address": "mail-uranus-frontend", + "activate": "1" + }, + { + "id": "80", + "name": "mail-neptune-frontend", + "alias": "mail-neptune-frontend", + "address": "mail-neptune-frontend", + "activate": "1" + }, + { + "id": "81", + "name": "mail-earth-frontend", + "alias": "mail-earth-frontend", + "address": "mail-earth-frontend", + "activate": "1" + } + ] +} +``` + +#### Add host + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "add", + "object": "host", + "values": "test;Test host;127.0.0.1;generic-host;central;Linux-SerVers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete host + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "del", + "object": "host", + "values": "test" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Set parameters + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparam", + "object": "host", + "values": "test;ParameterToSet;NewParameter" +} +``` + +Available parameters + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| geo\_coords | Geo coordinates (used by Centreon MAP) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Check freshness (in seconds) | +| check\_period | Check period | +| checks\_enabled | Whether or not checks are enabled | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get parameters + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getparam", + "object": "host", + "values": "test;ParameterToGet|ParameterToGet" +} +``` + +Available parameters + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| geo\_coords | Geo coordinates (used by Centreon MAP) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Check freshness (in seconds) | +| check\_period | Check period | +| checks\_enabled | Whether or not checks are enabled | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | + +**Response** + +``` json +{ + "result": [ + { + "alias": "test", + "address": "192.168.56.101", + "timezone": "Europe/Berlin" + } + ] +} +``` + +#### Set instance poller + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setinstance", + "object": "host", + "values": "test;Poller-2" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getmacro", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** Here is a response example : + +``` json +{ + "result": [ + { + "macro name": "ALIVENUM", + "macro value": "1", + "is_password": "", + "description": "", + "source": "generic-host-bench" + }, + { + "macro name": "ALIVEWARNING", + "macro value": "3000,80", + "is_password": "", + "description": "", + "source": "generic-host-bench" + }, + { + "macro name": "ALIVECRITICAL", + "macro value": "5000,100", + "is_password": "", + "description": "", + "source": "generic-host-bench" + } + ] +} +``` + +#### Set macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setmacro", + "object": "host", + "values": "mail-uranus-frontend;MacroName;NewValue" +} +``` + +To edit an existing custom macro, The MacroName used on the body should be +defined on the Custom Marco of the chosen host. If the marco doesn't exist, it +will be created. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delmacro", + "object": "host", + "values": "mail-uranus-frontend;MacroName" +} +``` + +The MacroName used on the body is the macro to delete. It should be defined on +the Custom Marco of the chosen host. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "gettemplate", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** Here is a response example : + +``` json +{ + "result": [ + { + "id": "3", + "name": "Servers-Linux" + }, + { + "id": "62", + "name": "Postfix-frontend" + }, + { + "id": "59", + "name": "Cyrus-murder-frontend" + } + ] +} +``` + +#### Set template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "settemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. The new +template erase templates already exist. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Add template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addtemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. The new +template is added without erasing template already linked + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "deltemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. + + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Apply template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "applytpl", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getparent", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "219", + "name": "mail-uranus-frontdad" + } + ] +} +``` + +#### Add parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one parent to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + +The add action add the parent without overwriting he previous configuration. + +#### Set parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one parent to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + +The set action overwrite the previous configuration before setting the new +parent. + +#### Delete parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one parent, use the character '|'. Ex: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + + +#### Get child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "getchild", + "object": "host", + "values": "mail-uranus-frontdad" + } +``` + +**Response** + +``` json + { + "result": [ + { + "id": "219", + "name": "mail-uranus-frontchild" + } + ] + } +``` + +#### Add child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "addchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To add more than one child to a host, use the character '|'. Ex: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +The add action add the child without overwriting the previous configuration. + +### Set child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + + +**Body** + +``` json + { + "action": "setchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To set more than one child to a host, use the character '|'. Ex: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +The set action overwrite the previous configuration before setting the new child. + +### Delete child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "delchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To delete more than one child, use the character '|'. Ex: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +#### Get contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getcontactgroup", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "6", + "name": "Mail-Operators" + } + ] +} +``` + +#### Add contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Supervisors" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one contactgroup to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Supervisors|Guest" + +The add action add the contact without overwriting he previous configuration. + +#### Set contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Supervisors" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one contactgroup to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Supervisors|Guest" + +The set action overwrite the previous configuration before setting the new +contactgroup. + +#### Delete contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Guest" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one contactgroup, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Guest|Supervisors" + +#### Get contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getcontact", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "20", + "name": "user-mail" + } + ] +} +``` + +#### Add contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addcontact", + "object": "host", + "values": "mail-uranus-frontend;admin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one contact to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +The add action add the contact without overwriting he previous configuration. + +#### Set contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setcontact", + "object": "host", + "values": "mail-uranus-frontend;admin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one contact to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +The set action overwrite the previous configuration before setting the new +contact. + +#### Delete contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delcontact", + "object": "host", + "values": "mail-uranus-frontend;Guest" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one contact, use the character '|'. Ex: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +#### Get hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "gethostgroup", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "53", + "name": "Linux-Servers" + }, + { + "id": "63", + "name": "Mail-Cyrus-Frontend" + } + ] +} +``` + +#### Add hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addhostgroup", + "object": "host", + "values": "mail-uranus-frontend;Mail-Postfix-Frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one hostgroup to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Mail-Postfix-Frontend|Linux-Servers" + +The add action add the hostgroup without overwriting he previous configuration. + +#### Set hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "sethostgroup", + "object": "host", + "values": "mail-uranus-frontend;Linux-Servers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one hostgroup to a host, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend" + +The set action overwrite the previous configuration before setting the new +hostgroup. + +#### Delete hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delhostgroup", + "object": "host", + "values": "mail-uranus-frontend;Linux-Servers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one hostgroup, use the character '|'. Ex: + + "values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend" + +#### Enable + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "enable", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Disable + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "disable", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +### ACL + + - **Object** + + - ACL + +**Actions** + + - reload + - lastreload + +#### Action ACL + + - **Object** + + - ACLACTION + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +#### ACL groups + + - **Object** + + - ACLGROUP + +**Actions** + + - show + - add + - del + - setparam + - getmenu + - getaction + - getresource + - getcontact + - getcontactgroup + - setmenu + - setaction + - setresource + - addmenu + - addaction + - addresource + - delmenu + - delaction + - delresource + - setcontact + - setcontactgroup + - addcontact + - addcontactgroup + - delcontact + - delcontactgroup + +#### Menu ACL + + - **Object** + + - ACLMENU + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +#### Resource ACL + + - **Object** + + - ACLRESOURCE + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +### Centreon Broker + + - **Object** + + - CENTBROKERCFG + +**Actions** + + - show + - add + - del + - setparam + - listinput, listoutput, listlogger, listcorrelation, listtemporary, +> liststats + - getinput , getoutput, getlogger, getcorrelation, gettemporary, getstats + - addinput, addoutput, addlogger, addcorrelation, addtemporary, addstats + - delinput, deloutput, dellogger, delcorrelation, deltemporary, delstats + - setinput, setoutput, setlogger, setcorrelation, settemporary, setstats + +### CGI CFG + + - **Object** + + - CGICFG + +**Actions** + + - show + - add + - del + - setparam + +### Commands + + - **Object** + + - CMD + +**Actions** + + - show + - add + - del + - setparam + +### Contacts + + - **Object** + + - CONTACT + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + +#### Contact templates + + - **Object** + + - CONTACTTPL + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + +#### Contact groups + + - **Object** + + - CG + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + - getcontact + - addcontact + - setcontact + - delcontact + +### Dependencies + + - **Object** + + - DEP + +**Actions** + + - show + - add + - del + - setparam + - listdep + - addparent + - addchild + - delparent + - delchild + +### Downtimes + + - **Object** + + - DOWNTIME + +**Actions** + + - show + - add + - del + - listperiods + - addweeklyperiod + - addmonthlyperiod + - addspecificperiod + - addhost, addhostgroup, addservice, addservicegroup + - delhost, delhostgroup, delservice, delservicegroup + - sethost, sethostgroup, setservice, setservicegroup + +### Host template + + - **Object** + + - HTPL + +**Actions** APPLYTPL and SETINSTANCE actions on HTPL + + - show + - add + - del + - setparam + - getmacro + - setmacro + - delmacro + - getparent + - addparent + - setparent + - delparent + - getcontactgroup + - addcontactgroup + - setcontactgroup + - delcontactgroup + - getcontact + - addcontact + - setcontact + - delcontact + - gethostgroup + - addhostgroup + - sethostgroup + - delhostgroup + - setseverity + - unsetseverity + - enable + - disable + +### Host categories + + - **Object** + + - HC + +**Actions** + + - show + - add + - del + - getmember + - addmember + - setmember + - setseverity + - unsetseverity + - delmember + +### Hostgroups + + - **Object** + + - HG + +**Actions** + + - show + - add + - del + - setparam + - getmember + - addmember + - setmember + - delmember + +### Instances (Pollers) + + - **Object** + + - INSTANCE + +**Actions** + + - show + - add + - del + - setparam + - gethosts + +### Resource CFG (monitoring engines related macros) + +`resourcecfg` objects allow to define macro values that apply to a set of monitoring engines. +A `resourcecfg` object defines a macro for one or multiple monitoring engines. +The same macro can be defined in multiple `resourcecfg` objects with complementary lists of monitoring engines. +More information here: [Resource macros](../monitoring/basic-objects/macros.md#resource-macros) + +#### List RESOURCECFG objects + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "show", + "object": "resourcecfg" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "1", + "name": "$USER1$", + "value": "/usr/lib64/nagios/plugins", + "comment": "Nagios Plugins Path", + "activate": "1", + "instance": [ + "Central" + ] + }, + { + "id": "2", + "name": "$CENTREONPLUGINS$", + "value": "/usr/lib/centreon/plugins", + "comment": "Centreon Plugins Path", + "activate": "1", + "instance": [ + "Central" + ] + } + ] +} +``` + +#### Add a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "add", + "object": "resourcecfg", + "values": "{macro name};{macro value};{poller related list};{comment}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +#### Delete a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "del", + "object": "resourcecfg", + "values": "{macro ID}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +#### Change a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparam", + "object": "resourcecfg", + "values": "{macro ID};{parameter to change: instance,comment,value or activate};{value}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +### Service templates + + - **Object** + + - STPL + +**Actions** + + - show + - add + - del + - setparam + - gethosttemplate + - addhosttemplate + - sethosttemplate + - delhosttemplate + - getmacro + - setmacro + - delmacro + - getcontact + - addcontact + - setcontact + - delcontact + - getcontactgroup + - setcontactgroup + - delcontactgroup + - gettrap + - settrap + - deltrap + +### Services + + - **Object** + + - SERVICE + +**Actions** + + - show + - add + - del + - setparam + - addhost + - sethost + - delhost + - getmacro + - setmacro + - delmacro + - setseverity + - unsetseverity + - getcontact + - addcontact + - setcontact + - delcontact + - getcontactgroup + - setcontactgroup + - delcontactgroup + - gettrap + - settrap + - deltrap + +### Service groups + + - **Object** + + - SG + +**Actions** + + - show + - add + - del + - setparam + - getservice + - gethostgroupservice + - addservice + - setservice + - addhostgroupservice + - sethostgroupservice + - delservice + - delhostgroupservice + +### Service categories + + - **Object** + + - SC + +**Actions** + + - show + - add + - del + - setparam + - getservice + - getservicetemplate + - addservice + - setservice + - addservicetemplate + - setservicetemplate + - delservice + - delservicetemplate + - setseverity + - unsetseverity + +### Time periods + + - **Object** + + - TIMEPERIOD + +**Actions** + + - show + - add + - del + - setparam + - getexception + - setexception + - delexception + +### Traps + + - **Object** + + - TRAP + +**Actions** + + - show + - add + - del + - setparam + - getmatching + - addmatching + - delmatching + - updatematching + +#### Vendors + + - **Object** + + - VENDOR + +**Actions** + + - show + - add + - del + - setparam + - generatetraps + +#### Get business views + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action":"show", + "object":"bv" +} +``` + +**Response** + +The response is a JSON flow listing all hosts, formated as follows: : + +``` json +{ + "result": [ + { + "id_ba_group": "1", + "name": "BA-Mail-View", + "description": "BA Mail View" + }, + { + "id_ba_group": "2", + "name": "BA-CIO-View", + "description": "BA CIO View" + } + ] +} +``` + +## Realtime information + +### Host Status + +All monitoring information regarding hosts are available in throw the Centreon +API. + +Using GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a list of parameters in order to select the data you want. + +| Parameters | values | +| ----------- | ---------------------------------------------------------------------------------- | +| viewType | select the predefined filter like in the monitoring view: all, unhandled, problems | +| fields | the fields list that you want to get separated by a "," | +| status | the status of hosts that you want to get (up, down, unreachable, pending, all) | +| hostgroup | hostgroup id filter | +| instance | instance id filter | +| search | search pattern applyed on host name | +| criticality | a specific criticity | +| sortType | the sortType (selected in the field list) | +| order | ASC ou DESC | +| limit | number of line you want | +| number | page number | + +Field list : + +| Fields | Description | +| -------------------------- | ---------------------------------------- | +| id | host id | +| name | host name | +| alias | host alias (description of the host) | +| address | host address (domain name or ip) | +| state | host state (UP = 0, DOWN = 2, UNREA = 3) | +| state\_type | host state type (SOFT = 0, HARD = 1) | +| output | Plugin output - state message | +| max\_check\_attempts | maximum check attempts | +| check\_attempt | current attempts | +| last\_check | last check time | +| last\_state\_change | last time the state change | +| last\_hard\_state\_change | last time the state change in hard type | +| acknowledged | acknowledged flag | +| instance | name of the instance who check this host | +| instance\_id | id of the instance who check this host | +| criticality | criticality fo this host | +| passive\_checks | accept passive results | +| active\_checks | active checks are enabled | +| notify | notification is enabled | +| action\_url | shortcut for action URL | +| notes\_url | shortcut for note URL | +| notes | note | +| icon\_image | icone image for this host | +| icon\_image\_alt | title of the image | +| scheduled\_downtime\_depth | scheduled\_downtime\_depth | +| flapping | is the host flapping ? | + +Using GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list&limit=60&viewType=all&sortType=name&order=desc&fields=id,name,alias,address,state,output,next_check + +### Service Status + +All monitoring information regarding services are available in throw the +Centreon API. With this call, you can also get host informations in the same +time that service information. This web service provide the same possibility +that the service monitoring view. + +Using GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_services&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a list of parameters in order to select the data you want. + +| Parameters | values | +| ------------ | ------------------------------------------------------------------------------------------ | +| viewType | select the predefined filter like in the monitoring view: all, unhandled, problems | +| fields | the fields list that you want to get separated by a "," | +| status | the status of services that you want to get (ok, warning, critical, unknown, pending, all) | +| hostgroup | hostgroup id filter | +| servicegroup | servicegroup id filter | +| instance | instance id filter | +| search | search pattern applied on service | +| searchHost | search pattern applied on host | +| searchOutput | search pattern applied on output | +| criticality | a specific criticity | +| sortType | the sortType (selected in the field list) | +| order | ASC ou DESC | +| limit | number of line you want | +| number | page number | + +Field list : + +| Fields | Description | +| -------------------------- | ---------------------------------------- | +| host\_id | host id | +| host\_name | host name | +| host\_alias | host alias (description of the host) | +| host\_address | host address (domain name or ip) | +| host\_state | host state (UP = 0, DOWN = 2, UNREA = 3) | +| host\_state\_type | host state type (SOFT = 0, HARD = 1) | +| host\_output | Plugin output - state message | +| host\_max\_check\_attempts | maximum check attempts for host | +| host\_check\_attempt | current attempts | +| host\_last\_check | last check time | +| host\_acknowledged | acknowledged flag | +| instance | name of the instance who check this host | +| instance\_id | id of the instance who check this host | +| host\_action\_url | shortcut for action URL | +| host\_notes\_url | shortcut for note URL | +| host\_notes | note | +| description | service description - service name | +| display\_name | service display name | +| service\_id | service id | +| state | service state | +| state\_type | service state type (SOFT = 0, HARD = 1) | +| output | service output returned by plugins | +| perfdata | service perfdata returned by plugins | +| current\_attempt | maximum check attempts for the service | +| last\_update | last update date for service | +| last\_state\_change | last time the state change | +| last\_hard\_state\_change | last time the state change in hard type | +| next\_check | next check time for service | +| max\_check\_attempts | maximum check attempts for service | +| action\_url | shortcut for action URL | +| notes\_url | shortcut for note URL | +| notes | notes | +| icone\_image | icone image for service | +| passive\_checks | accept passive results | +| active\_checks | active checks are enabled | +| acknowledged | acknowledged flag | +| notify | notification is enabled | +| scheduled\_downtime\_depth | scheduled\_downtime\_depth | +| flapping | is the host flapping ? | +| event\_handler\_enabled | is the event-handfler enabled | +| criticality | criticality fo this service | + +Example: + +Using GET method and the URL below: + + api.domain.tld/centreon/api/index.php?action=list&object=centreon_realtime_services&limit=60&viewType=all&sortType=name&order=desc&fields=id,description,host_id,host_name,state,output + +### Submit results + +You can use the centreon API to submit information to the monitoring engine. All +information that you submit will be forwarded to the centreon engine poller that +host the configuration. + +To provide information, Centreon need to have specific and mandatory +information. + +The user must be admin or have access to "Reach API Configuration". + +For the service submission please provide the following information : + +| Fields | Description | +| ------------------- | -------------------------------------------------------- | +| host | host name | +| service | service description | +| status | status id (0, 1, 2, 3) or ok, warning, critical, unknown | +| output | a specific message | +| perfdata (optional) | all performance metric following the nagios plugin API | +| updatetime | the check time (timestamp) | + +For the host submission please provide the following information : + +| Fields | Description | +| ---------- | -------------------------- | +| host | host name | +| status | status id (0, 1, 2, 3) | +| output | a specific message | +| updatetime | the check time (timestamp) | + +To send status, please use the following URL using POST method: + + api.domain.tld/centreon/api/index.php?action=submit&object=centreon_submit_results + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Example of service body submit:** The body is a json with the parameters +provided above formated as below: + +``` json +{ + "results": [ + { + "updatetime": "1528884076", + "host": "Centreon-Central", + "service": "Memory", + "status": "2", + "output": "The service is in CRITICAL state", + "perfdata": "perf=20" + }, + { + "updatetime": "1528884076", + "host": "Centreon-Central", + "service": "fake-service", + "status": "1", + "output": "The service is in WARNING state", + "perfdata": "perf=10" + } + ] +} +``` + +**Example of body response** The response body is a json with the HTTP +return code and a message for each submit + +``` json +{ + "results": [ + { + "code": 202, + "message": "The status send to the engine" + }, + { + "code": 404, + "message": "The service is not present." + } + ] +} +``` + +### Business activity + +All monitoring information on Business Activites are available through +the Centreon API. The BA list is sorted by *impact*. + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_ba&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a number of parameters to select the data you want. + +| Parameters | values | +| -------------- | ------------------------------------------------------------------------------------------- | +| ba\_id | filter on BA ID | +| search | filter pattern on BA name | +| business\_view | filter pattern on business view name | +| status | filter on BA status (OK, Warning, Critical, Unknown); multiple statuses separated by commas | +| limit | number of desired lines | +| number | page number | + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_ba_realtime&action=list&status=ok&number=0&limit=2 + +**Response** + +``` json +[ + { + "id": "49", + "name": "Africa Office Availability", + "description": "Africa Office Availability", + "level_w": "12", + "level_c": "12", + "current_level": "100", + "acknowledged": "0", + "last_state_change": "1518663959", + "current_status": "0", + "in_downtime": "0", + "kpis": [ + "372", + "373", + "401", + "402" + ] + }, + { + "id": "50", + "name": "Asia Office Availability", + "description": "Asia Office Availability", + "level_w": "12", + "level_c": "12", + "current_level": "100", + "acknowledged": "0", + "last_state_change": "1519029327", + "current_status": "0", + "in_downtime": "0", + "kpis": [ + "374", + "375", + "376" + ] + } +] +``` + +Additionnal information: + + - current_status: 0 = OK, 1 = warning, 2 = Critical, 3 = Unknown + - current_impact: impact on linked BA in % + - number: page number (first page is 0) + - limit: page limit (default= 30) + +### KPI + +All monitoring information for Key Performance Indicators(KPI) is +available through the Centreon API. The kpi list is sorted by *impact*. + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a number of parameters to select the data you want: + +| Parameters | values | +| ------------- | ------------------------------------------------------------------------------------------------------ | +| kpi\_id | filter on KPI ID | +| kpi\_search | filter pattern on KPI name | +| ba\_search | filter pattern on BA name | +| is\_impacting | filter on impacting KPI (false, true) | +| kpi\_status | filter on KPI status (ok, warning, critical, unknown) multiple statuses can be set separated by commas | +| ba\_status | filter on BA status (OK, Warning, Critical, Unknown) multiple status separated by commas | +| limit | number of desired lines | +| number | page number | + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list&kpi_status=ok,warning&number=0&limit=2 + +**Response** + +``` json +[ + { + "id": "366", + "activate": "1", + "ba_id": "47", + "ba_name": "DB-Oracle-Accounting", + "ba_activate": "1", + "type": "0", + "kpi_host": "srv-oracle-accounting", + "kpi_host_id": "149", + "kpi_service": "Query -Stores-", + "kpi_service_id": "1172", + "kpi_ba": "", + "kpi_ba_id": "", + "kpi_meta": "", + "kpi_meta_id": "", + "kpi_boolean": "", + "kpi_boolean_id": "", + "last_state_change": "1517297343", + "current_impact": "0", + "in_downtime": "0", + "acknowledged": "0", + "warning_impact": "0", + "critical_impact": "30", + "unknown_impact": "10", + "name": "srv-oracle-accounting / Query -Stores-", + "type_label": "Service", + "output": "Query executed on 0.021 second", + "current_status": "0", + "current_status_label": "OK", + "ba_current_status": "0", + "ba_current_status_label": "OK" + }, + { + "id": "365", + "activate": "1", + "ba_id": "47", + "ba_name": "DB-Oracle-Accounting", + "ba_activate": "1", + "type": "0", + "kpi_host": "srv-oracle-accounting", + "kpi_host_id": "149", + "kpi_service": "Query -Stock-", + "kpi_service_id": "1171", + "kpi_ba": "", + "kpi_ba_id": "", + "kpi_meta": "", + "kpi_meta_id": "", + "kpi_boolean": "", + "kpi_boolean_id": "", + "last_state_change": "1511356592", + "current_impact": "0", + "in_downtime": "0", + "acknowledged": "0", + "warning_impact": "0", + "critical_impact": "30", + "unknown_impact": "10", + "name": "srv-oracle-accounting / Query -Stock-", + "type_label": "Service", + "output": "Query executed on 0.786 second", + "current_status": "0", + "current_status_label": "OK", + "ba_current_status": "0", + "ba_current_status_label": "OK" + } +] +``` + +Additionnal information: + +- kpi\_type: 0 = service, 1 = metaservice, 2 = BA, 3 = boolean rule +- kpi\_name: name of the kpi ( / or + or or ) +- kpi\_current\_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown +- ba\_current\_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown +- current\_impact: impact on linked BA in % +- number: page number (first page is 0) +- limit: page limit (default= 30) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v2.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v2.md new file mode 100644 index 000000000000..11e97acfea57 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/api/rest-api-v2.md @@ -0,0 +1,157 @@ +--- +id: rest-api-v2 +title: Utiliser l'API v2 avec Postman +--- + +Cette page décrit comment utiliser [l'API v2](https://docs-api.centreon.com/api/centreon-web/24.10/) de Centreon Web avec Postman + +## Créer une collection Postman depuis la définition OpenAPI + +Afin de manipuler l'API plus efficacement ou seulement pour comprendre comment +elle fonctionne, il n'y a rien de plus pratique qu'une collection +[Postman](https://learning.postman.com/docs/getting-started/introduction/). + +### Importer la définition OpenAPI + +Depuis l'espace de travail, cliquer sur le bouton **Import**. + +![image](../assets/api/postman-import.png) + +Aller dans l'onglet **Link** et entrer l'URL vers la définition OpenAPI de +GitHub : + +```text +https://raw.githubusercontent.com/centreon/centreon/24.10.x/centreon/doc/API/centreon-api.yaml +``` + +![image](../assets/api/postman-import-link.png) + +Cliquer sur **Continue** et modifier quelques paramètres par défaut : + +- Sélectionner seulement *Collection* comme méthode d'import, +- Sélectionner *Example* pour le champ *Request parameter generation* car cela + amène plus de contexte aux variables d'URL ou aux paramètres de requête, +- Sélectionner *Tags* pour le champ *Folder organization* car cela permet + d'arranger la collection comme dans la documentation. + +Cliquer ensuite sur **Import** et attendre quelques secondes que le processus +aboutisse. + +![image](../assets/api/postman-import-feedback.png) + +### Ajouter un environnement + +Pour pouvoir communiquer avec vote plateforme, la collection va utiliser des +variables d'environnement pour déinir les informations d'accès ainsi que les +identifiants. + +Depuis l'espace de travail, cliquer sur l'icone **Manage Environments**. + +![image](../assets/api/postman-environment.png) + +Cliquer sur **Add** et definir les variables comme suit avec les informations +de la plateforme : + +![image](../assets/api/postman-environment-add.png) + +Cliquer ensuite sur **Add**, et sélectionner l'environnement dans la liste des +environnements. + +> La version de l'API n'est pas défini dans les variables d'environnement. Il +> s'agit d'avantage d'une variable de la collection. Elle peut être changée +> directement dans la collection en l'éditant. +> +> ![image](../assets/api/postman-collection-edit.png) +> +> Dans l'onglet **Variables**, changer la valeur de *version* soit par +> "latest", soit par votre numéro de version `v.`, par exemple "v24.10". +> +> Vous pouvez obtenir votre numéro de version "majeure.mineure" à l'aide de la commmande suivante : +> `curl -s http://127.0.0.1:80/centreon/api/latest/platform/versions | jq '.web '` +> +> Voici un exemple de résultat : +> +> { +> "version": "24.10.0", +> "major": "24", +> "minor": "10", +> "fix": "0" +> } +> +> ![image](../assets/api/postman-collection-variables.png) +> +> Les autres variables seront surchargées par les variables d'environnement. + +### Éditer la requête d'authentification + +Pour faire en sorte que la requête d'authentification utilise les identifiants +précedemment définis, et qu'elle récupère le *token* dans la réponse, il faut +l'éditer. + +Depuis la collection, sélectionner la requête *Login* du répertoire +*Authentication*. + +Dans l'onglet **Body**, changer les valeurs des paramètres *login* et *password* +par les variables d'environnement `{{username}}` et `{{password}}` comme suit : + +![image](../assets/api/postman-login-body.png) + +Dans l'onglet **Tests**, ajouter le code suivante : + +```javascript +pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); + +const responseJson = pm.response.json(); + +pm.test("The response has all properties", () => { + pm.expect(responseJson).to.be.an("object"); + pm.expect(responseJson.contact.alias).to.eql(pm.environment.get("username")); + pm.expect(responseJson.security.token).to.be.a('string'); +}); + +pm.environment.set("token", responseJson.security.token); +``` + +![image](../assets/api/postman-login-test.png) + +Cliquer ensuite sur **Save** ou utiliser le raccourci *Ctrl+S*. + +### Utiliser le token + +Une fois sauvegardée, exécuter la requête d'authentification en cliquant sur +**Send**. + +![image](../assets/api/postman-login-response.png) + +Si réussie, cela va ajouter une nouvelle variable d'environnement *token* avec +la valeur récupérée dans la réponse. + +![image](../assets/api/postman-environment-view.png) + +Pour l'utiliser dans toutes les requêtes, il faut éditer la collection. + +![image](../assets/api/postman-collection-edit.png) + +Dans l'onglet **Authorization**, choisir le type *API Key* et remplir le champ +*Key* avec `X-AUTH-TOKEN` et le champ *Value* avec `{{token}}`. + +![image](../assets/api/postman-collection-edit-authorization.png) + +S'assurer de sélectionner *Header*. + +Cliquer ensuite sur **Update**. + +### Exécuter des requêtes + +Maintenant qu'un *token* valide est stocké, vous pouvez exécuter des requêtes +sur les autres *endpoints*. + +Désélectionner les paramètres de requête non utilisés ou les remplir avec des +valeurs, et cliquer sur **Send**. + +![image](../assets/api/postman-hosts-list-console.png) + +Vous remarquerez le *token* ajouté dans les *headers*. + +Si le *token* expire, ré-exécuter la requête d'authentification pour en avoir un +nouveau. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau-poller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau-poller.png new file mode 100644 index 000000000000..50d9eb215fc7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau-poller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau.png new file mode 100644 index 000000000000..359d53829c04 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/acl-bandeau.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/data_retention.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/data_retention.png new file mode 100644 index 000000000000..a5b3a48b4395 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/data_retention.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/database-information.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/database-information.png new file mode 100644 index 000000000000..42edb8564fe8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/database-information.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmedias.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmedias.png new file mode 100644 index 000000000000..8e70251fd9f5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmedias.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmediasimports.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmediasimports.png new file mode 100644 index 000000000000..a450fe0c10be Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/dmediasimports.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/extension-popin.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/extension-popin.png new file mode 100644 index 000000000000..61ce21750461 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/extension-popin.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fobjectmodif.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fobjectmodif.png new file mode 100644 index 000000000000..05a6f8b2b568 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fobjectmodif.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fsearchlogs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fsearchlogs.png new file mode 100644 index 000000000000..c39ae9103bac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/fsearchlogs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-1.png new file mode 100644 index 000000000000..f02d8aba1511 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-2.png new file mode 100644 index 000000000000..6d096e59db74 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/install-imp-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_not_valid.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_not_valid.png new file mode 100644 index 000000000000..9595f70cef2b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_not_valid.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_valid.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_valid.png new file mode 100644 index 000000000000..facfb2b6cefc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/license_valid.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/licenses.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/licenses.png new file mode 100644 index 000000000000..6d096e59db74 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/licenses.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/local-configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/local-configuration.png new file mode 100644 index 000000000000..73a1173f83cf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/local-configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/logs_audit_enable.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/logs_audit_enable.png new file mode 100644 index 000000000000..698d39b2cf83 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/logs_audit_enable.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-backup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-backup.png new file mode 100644 index 000000000000..968916f716f5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-backup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-debug.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-debug.png new file mode 100644 index 000000000000..beda6a4fb27a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-debug.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-gorgone.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-gorgone.png new file mode 100644 index 000000000000..cde352a221b8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-gorgone.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-ldap-add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-ldap-add.png new file mode 100644 index 000000000000..da3dda48bb9e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-ldap-add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-monitoring.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-monitoring.png new file mode 100644 index 000000000000..a64c4a89301e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-monitoring.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-rrdtool.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-rrdtool.png new file mode 100644 index 000000000000..dea4a6bd2452 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-rrdtool.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-article.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-article.png new file mode 100644 index 000000000000..72511b0c6cb9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-article.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png new file mode 100644 index 000000000000..8e34514e960c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki.png new file mode 100644 index 000000000000..4870cc4da21b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/parameters-wiki.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-configuration.png new file mode 100644 index 000000000000..d24c5403a2cb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-state.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-state.png new file mode 100644 index 000000000000..973bc487ed81 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/partitioning-state.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expiration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expiration.png new file mode 100644 index 000000000000..5ff572d9ab10 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expiration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expired.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expired.png new file mode 100644 index 000000000000..51675f7ab166 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_expired.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_will_expire.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_will_expire.png new file mode 100644 index 000000000000..3c37cc1e8c2a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/password_will_expire.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/postfix-status.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/postfix-status.png new file mode 100644 index 000000000000..a5690e52155a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/postfix-status.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/proxy_configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/proxy_configuration.png new file mode 100644 index 000000000000..39195c8a4c26 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/proxy_configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/sql_proxy.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/sql_proxy.png new file mode 100644 index 000000000000..bd526a4d01b4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/sql_proxy.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-broker.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-broker.png new file mode 100644 index 000000000000..aac627abfdcd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-broker.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-engine.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-engine.png new file mode 100644 index 000000000000..32c52bac9420 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/statistics-engine.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/web-sso-configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/web-sso-configuration.png new file mode 100644 index 000000000000..3732d5ef7f90 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/administration/web-sso-configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostdependance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostdependance.png new file mode 100644 index 000000000000..ee08b0e4ea28 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostdependance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostgroupdependance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostgroupdependance.png new file mode 100644 index 000000000000..9a6a4dcf0d48 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03hostgroupdependance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03metaservicedependance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03metaservicedependance.png new file mode 100644 index 000000000000..8cfcf7a14325 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03metaservicedependance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicedependance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicedependance.png new file mode 100644 index 000000000000..daa79c1ce066 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicedependance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicegroupdependance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicegroupdependance.png new file mode 100644 index 000000000000..b089ed9a3659 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/03servicegroupdependance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostdetail.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostdetail.png new file mode 100644 index 000000000000..a91ca119567d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostdetail.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostgroup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostgroup.png new file mode 100644 index 000000000000..93e8317915de Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04hostgroup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04notificationsescalation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04notificationsescalation.png new file mode 100644 index 000000000000..16bd6ad8b167 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04notificationsescalation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicedetail.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicedetail.png new file mode 100644 index 000000000000..91bb2a8d724e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicedetail.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelist.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelist.png new file mode 100644 index 000000000000..ba3c1fad98a0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelist.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhost.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhost.png new file mode 100644 index 000000000000..bc4f5e822eb5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhost.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png new file mode 100644 index 000000000000..3b0240872d89 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png new file mode 100644 index 000000000000..ab9a0c305dbd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png new file mode 100644 index 000000000000..c7025e8432d4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png new file mode 100644 index 000000000000..53832cd574ab Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png new file mode 100644 index 000000000000..fe17f3031bb1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04unhandledproblems.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04unhandledproblems.png new file mode 100644 index 000000000000..f2d7fd6d4800 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/04unhandledproblems.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/05recurrentdowntimes.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/05recurrentdowntimes.png new file mode 100644 index 000000000000..341c56065c6d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/05recurrentdowntimes.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/acknowledged.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/acknowledged.png new file mode 100644 index 000000000000..cc1e71e3d575 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/acknowledged.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/bar.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/bar.png new file mode 100644 index 000000000000..d786f4367be3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/bar.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/comment.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/comment.png new file mode 100644 index 000000000000..a753734865c7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/comment.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dashboard-view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dashboard-view.png new file mode 100644 index 000000000000..2622ad693cdf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dashboard-view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dep_host_config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dep_host_config.png new file mode 100644 index 000000000000..3ef4357f8df6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/dep_host_config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/downtime.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/downtime.png new file mode 100644 index 000000000000..6f2dfa95c018 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/downtime.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/edit_mode.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/edit_mode.png new file mode 100644 index 000000000000..f6e7d21b93e1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/edit_mode.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs.png new file mode 100644 index 000000000000..58d89228c38e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs_export.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs_export.png new file mode 100644 index 000000000000..77ad1ea267ad Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/event_logs_export.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_engine_conf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_engine_conf.png new file mode 100644 index 000000000000..1025190dfd28 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_engine_conf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_host_conf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_host_conf.png new file mode 100644 index 000000000000..31c9b4dcf338 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flap_host_conf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flapping_icon.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flapping_icon.png new file mode 100644 index 000000000000..cd3526f9e92e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/flapping_icon.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/graphperformances.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/graphperformances.png new file mode 100644 index 000000000000..643018e0d48d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/graphperformances.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/hnotifications_schema.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/hnotifications_schema.png new file mode 100644 index 000000000000..1bc338849238 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/hnotifications_schema.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/nonotifications.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/nonotifications.png new file mode 100644 index 000000000000..981f7b3d839b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/nonotifications.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/notif_contact_config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/notif_contact_config.png new file mode 100644 index 000000000000..08f04f40e18b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/notif_contact_config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_01.png new file mode 100644 index 000000000000..1acb881baee0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_02.png new file mode 100644 index 000000000000..2dfd781e6b48 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_03.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_03.png new file mode 100644 index 000000000000..6d3e3f9a8052 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_03.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_04.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_04.png new file mode 100644 index 000000000000..ac991bcf5851 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_add_04.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png new file mode 100644 index 000000000000..34778b832340 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png new file mode 100644 index 000000000000..7747f973f372 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png new file mode 100644 index 000000000000..2041deac411f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png new file mode 100644 index 000000000000..92b3255b08c1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png new file mode 100644 index 000000000000..10377963fb96 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png new file mode 100644 index 000000000000..9d67f98505ff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png new file mode 100644 index 000000000000..177b37b02125 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png new file mode 100644 index 000000000000..5ef60450597b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_widget.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_widget.png new file mode 100644 index 000000000000..d36331ea0bc8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_add_widget.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_01.png new file mode 100644 index 000000000000..66a8de0f441f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_02.png new file mode 100644 index 000000000000..f489bead74ae Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_install_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_macro.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_macro.png new file mode 100644 index 000000000000..372f1c9f9fb2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/open_tickets_macro.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/pause.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/pause.png new file mode 100644 index 000000000000..4c9cbcc42b87 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/pause.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/refresh.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/refresh.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/ack-hover.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/ack-hover.gif new file mode 100644 index 000000000000..64e9c790dbbe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/ack-hover.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/compact-icon.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/compact-icon.png new file mode 100644 index 000000000000..e4b2dfad76f1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/compact-icon.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-hover.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-hover.gif new file mode 100644 index 000000000000..9b63804dbb21 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-hover.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-popup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-popup.png new file mode 100644 index 000000000000..52f94f2a0eb2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/dt-popup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/extended-icon.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/extended-icon.png new file mode 100644 index 000000000000..9878f4c90dfa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/extended-icon.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open.png new file mode 100644 index 000000000000..9c6461c49d56 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open2.png new file mode 100644 index 000000000000..667588d7808e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/graph-open2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/notification_tab.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/notification_tab.png new file mode 100644 index 000000000000..ed1ff8c028f4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/notification_tab.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif new file mode 100644 index 000000000000..90bff128ffc9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif new file mode 100644 index 000000000000..57753d9d6c74 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif new file mode 100644 index 000000000000..b88bc4c4b2ef Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif new file mode 100644 index 000000000000..4d465ab23d99 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif new file mode 100644 index 000000000000..e74b004e5402 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif new file mode 100644 index 000000000000..a9444d443040 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif new file mode 100644 index 000000000000..163a12f26925 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png new file mode 100644 index 000000000000..1a6c50e4ad7b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif new file mode 100644 index 000000000000..d18321c08eff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif new file mode 100644 index 000000000000..e12429d89732 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-values.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-values.png new file mode 100644 index 000000000000..6118bf3b8223 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/resources-status-values.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search-options-icon.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search-options-icon.png new file mode 100644 index 000000000000..2757536082c0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search-options-icon.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif new file mode 100644 index 000000000000..6cf7ac6e584b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_tab.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_tab.gif new file mode 100644 index 000000000000..22c893326548 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/search_tab.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/submit-popup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/submit-popup.png new file mode 100644 index 000000000000..8effed6b681c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/submit-popup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/timeline.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/timeline.png new file mode 100644 index 000000000000..18a60cb60c4e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resources-status/timeline.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resume.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resume.png new file mode 100644 index 000000000000..76ba8adc3a10 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/resume.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions.png new file mode 100644 index 000000000000..89d4892e9e30 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions2.png new file mode 100644 index 000000000000..f8b30c0fb395 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/statetransitions2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/submitresult.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/submitresult.png new file mode 100644 index 000000000000..e0cc3a29cb51 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/submitresult.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/template_inheritance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/template_inheritance.png new file mode 100644 index 000000000000..7a1d26fe1920 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/template_inheritance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/url_link.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/url_link.png new file mode 100644 index 000000000000..19ecdb99d147 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/url_link.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_add.png new file mode 100644 index 000000000000..555bf7ba092f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_edit.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_edit.png new file mode 100644 index 000000000000..4069786279c1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/view_edit.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget-view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget-view.png new file mode 100644 index 000000000000..19c02d09766a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget-view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget_controls.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget_controls.png new file mode 100644 index 000000000000..c0f0ee26441b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/alerts/widget_controls.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit-authorization.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit-authorization.png new file mode 100644 index 000000000000..5f99a3317e4a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit-authorization.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit.png new file mode 100644 index 000000000000..a8473b1b833c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-edit.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-variables.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-variables.png new file mode 100644 index 000000000000..d11b9fe3f795 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-collection-variables.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-add.png new file mode 100644 index 000000000000..ac85a6c6188b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-view.png new file mode 100644 index 000000000000..9dd3a266abdc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment-view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment.png new file mode 100644 index 000000000000..baa9964e2298 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-environment.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-hosts-list-console.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-hosts-list-console.png new file mode 100644 index 000000000000..afe826e1ee91 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-hosts-list-console.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-feedback.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-feedback.png new file mode 100644 index 000000000000..1c228086edd1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-feedback.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-link.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-link.png new file mode 100644 index 000000000000..43d83ddb99cf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import-link.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import.png new file mode 100644 index 000000000000..683e24cd6c22 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-import.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-body.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-body.png new file mode 100644 index 000000000000..b7479ce689a2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-body.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-response.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-response.png new file mode 100644 index 000000000000..05564e4668cb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-response.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-test.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-test.png new file mode 100644 index 000000000000..467dd02e5aa8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/api/postman-login-test.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed.png new file mode 100644 index 000000000000..104326043dbb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png new file mode 100644 index 000000000000..6b9aae7df7c6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_remote.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_remote.png new file mode 100644 index 000000000000..6e8de79bf51c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_distributed_remote.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_standalone.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_standalone.png new file mode 100644 index 000000000000..1218c9662890 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/architectures/Architecture_standalone.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/column-chart.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/column-chart.png new file mode 100644 index 000000000000..643018e0d48d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/column-chart.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/csv.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/csv.png new file mode 100644 index 000000000000..a02f08b44805 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/csv.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/navigate_plus.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/navigate_plus.png new file mode 100644 index 000000000000..5a831efa7111 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/navigate_plus.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/png.png new file mode 100644 index 000000000000..cae334a4e944 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/refresh.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/refresh.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/timer-gray.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/timer-gray.png new file mode 100644 index 000000000000..e2271f436f1b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/common/timer-gray.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01hostmacros.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01hostmacros.png new file mode 100644 index 000000000000..80a7f41e1fb6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01hostmacros.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01macrosressources.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01macrosressources.png new file mode 100644 index 000000000000..f5976d78df01 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01macrosressources.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01servicemacros.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01servicemacros.png new file mode 100644 index 000000000000..64865befc86e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/01servicemacros.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02addmetaservice.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02addmetaservice.png new file mode 100644 index 000000000000..08cf81375f37 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02addmetaservice.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02metaservicesindicators.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02metaservicesindicators.png new file mode 100644 index 000000000000..6a76217abb17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/02metaservicesindicators.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04command.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04command.png new file mode 100644 index 000000000000..186edce09f1b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04command.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04commandlist.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04commandlist.png new file mode 100644 index 000000000000..13aa97366591 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/04commandlist.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/05timeperiod.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/05timeperiod.png new file mode 100644 index 000000000000..99bf3455c4d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/05timeperiod.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_centreon.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_centreon.png new file mode 100644 index 000000000000..a7eaa19cee14 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_centreon.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_poller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_poller.png new file mode 100644 index 000000000000..7e55b6478d63 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06_trap_poller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06addsnmptrap.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06addsnmptrap.png new file mode 100644 index 000000000000..94da8d037730 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06addsnmptrap.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06advancedconfiguration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06advancedconfiguration.png new file mode 100644 index 000000000000..30aef9afa231 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06advancedconfiguration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06constructors.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06constructors.png new file mode 100644 index 000000000000..9b16ce80407b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06constructors.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06createpassiveservice.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06createpassiveservice.png new file mode 100644 index 000000000000..833fd246e73b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06createpassiveservice.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06importmibssuccess.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06importmibssuccess.png new file mode 100644 index 000000000000..b0467c8d7146 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06importmibssuccess.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06servicetrapsrelation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06servicetrapsrelation.png new file mode 100644 index 000000000000..3b89881eba6f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06servicetrapsrelation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06useradd.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06useradd.png new file mode 100644 index 000000000000..c14e849374ba Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/06useradd.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/07contactgroup.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/07contactgroup.png new file mode 100644 index 000000000000..e78b4e925643 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/07contactgroup.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08hostcategory.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08hostcategory.png new file mode 100644 index 000000000000..923514284b4f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08hostcategory.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08servicecategory.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08servicecategory.png new file mode 100644 index 000000000000..499c7ded6580 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/08servicecategory.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09contactmodel.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09contactmodel.png new file mode 100644 index 000000000000..dbdd51273c7e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09contactmodel.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09heritageservice.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09heritageservice.png new file mode 100644 index 000000000000..ccf84b0d5317 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09heritageservice.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostexemple.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostexemple.png new file mode 100644 index 000000000000..8d31975a0f3f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostexemple.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodels.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodels.png new file mode 100644 index 000000000000..8819bd2078db Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodels.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodelsheritage.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodelsheritage.png new file mode 100644 index 000000000000..50be3d19980f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/09hostmodelsheritage.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png new file mode 100644 index 000000000000..8c326c7b3ea0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_attributes.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_attributes.png new file mode 100644 index 000000000000..6804400ca353 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_attributes.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_disco.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_disco.png new file mode 100644 index 000000000000..648785a9d01e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/command_disco.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/commands_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/commands_list.png new file mode 100644 index 000000000000..446089bbd48d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/commands_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_1.png new file mode 100644 index 000000000000..90a9c8039f4e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_2.png new file mode 100644 index 000000000000..464e3fb672e0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_3.png new file mode 100644 index 000000000000..b88f9511b778 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_4.png new file mode 100644 index 000000000000..e46495ee2ca9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_5.png new file mode 100644 index 000000000000..37fe0a00eb69 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_6.png new file mode 100644 index 000000000000..2b01e147d9b4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_7.png new file mode 100644 index 000000000000..fb96aab60863 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/create_rule_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png new file mode 100644 index 000000000000..9e3a4316efe4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png new file mode 100644 index 000000000000..e2460c2202fe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png new file mode 100644 index 000000000000..d256a6fcffbe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png new file mode 100644 index 000000000000..07959f8c2024 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png new file mode 100644 index 000000000000..8ef3005bc7b2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png new file mode 100644 index 000000000000..153b7644a8fe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/Import.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/Import.png new file mode 100644 index 000000000000..9f9ca00c1562 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/Import.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/commands.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/commands.png new file mode 100644 index 000000000000..afcbb2fc624d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/commands.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/contacts.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/contacts.png new file mode 100644 index 000000000000..f5b3ec992cc1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/contacts.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/exportdefault.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/exportdefault.png new file mode 100644 index 000000000000..2d9b18033508 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/exportdefault.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostgroups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostgroups.png new file mode 100644 index 000000000000..c60ffb0bba99 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostgroups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hosts.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hosts.png new file mode 100644 index 000000000000..d0bdc5e97230 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hosts.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostscat.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostscat.png new file mode 100644 index 000000000000..97548a30c421 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostscat.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostsetc.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostsetc.png new file mode 100644 index 000000000000..c608bcb88ace Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hostsetc.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hoststemplates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hoststemplates.png new file mode 100644 index 000000000000..b0fca33f3e43 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/hoststemplates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_01.png new file mode 100644 index 000000000000..7ddb40d7e359 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_02.png new file mode 100644 index 000000000000..df4a2b6ed35d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/install_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/poller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/poller.png new file mode 100644 index 000000000000..ded02f9d44d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/poller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/resources.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/resources.png new file mode 100644 index 000000000000..3350988b8041 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/resources.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicegroups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicegroups.png new file mode 100644 index 000000000000..b32e20a6d42d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicegroups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/services.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/services.png new file mode 100644 index 000000000000..e3d0be6896a9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/services.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicescat.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicescat.png new file mode 100644 index 000000000000..4148c5749978 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicescat.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicesetc.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicesetc.png new file mode 100644 index 000000000000..8eb6c59b3f45 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicesetc.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicestemplates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicestemplates.png new file mode 100644 index 000000000000..cd6944d248dd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/servicestemplates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/success.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/success.png new file mode 100644 index 000000000000..5539b3bf66d7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/success.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/zipfileuploaded.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/zipfileuploaded.png new file mode 100644 index 000000000000..6f4243e54df6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/awie/zipfileuploaded.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicate.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicate.png new file mode 100644 index 000000000000..bcd52daaafc2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicate.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicateobjects.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicateobjects.png new file mode 100644 index 000000000000..54678bff7fdd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/01duplicateobjects.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/add.png new file mode 100644 index 000000000000..6ee88f57a44a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete.png new file mode 100644 index 000000000000..59fb5e8b932a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete_new.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete_new.png new file mode 100644 index 000000000000..51afcd2c6029 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/delete_new.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/description.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/description.png new file mode 100644 index 000000000000..45bb21316def Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/description.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled.png new file mode 100644 index 000000000000..f16f1be164a3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled_new.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled_new.png new file mode 100644 index 000000000000..bbd4d68225c5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/disabled_new.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_new.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_new.png new file mode 100644 index 000000000000..98d5201526ae Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_new.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_objects_new.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_objects_new.png new file mode 100644 index 000000000000..86aa39c219be Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/duplicate_objects_new.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enable_disable.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enable_disable.png new file mode 100644 index 000000000000..61c2d043868d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enable_disable.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled.png new file mode 100644 index 000000000000..6324d0f7b6df Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled_new.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled_new.png new file mode 100644 index 000000000000..453706581115 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/enabled_new.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/flechedirection.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/flechedirection.png new file mode 100644 index 000000000000..54dfbfe94c24 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/flechedirection.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/mass_change.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/mass_change.png new file mode 100644 index 000000000000..e5ac6b373409 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/mass_change.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/move.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/move.png new file mode 100644 index 000000000000..4b96a78644f4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/move.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/navigate_plus.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/navigate_plus.png new file mode 100644 index 000000000000..5a831efa7111 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/navigate_plus.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/undo.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/undo.png new file mode 100644 index 000000000000..c59ba81662ee Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/common/undo.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-passive-service.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-passive-service.png new file mode 100644 index 000000000000..21bd001b35e7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-passive-service.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-slot.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-slot.png new file mode 100644 index 000000000000..d1abfc6d992c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/form-slot.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/trap-form-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/trap-form-2.png new file mode 100644 index 000000000000..263869f4ca73 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/dsm/trap-form-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png new file mode 100644 index 000000000000..9ad847b4e3aa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronresources.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronresources.png new file mode 100644 index 000000000000..963d4fa1634d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableeventhnadleronresources.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png new file mode 100644 index 000000000000..cda298adf4da Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kcentreontrapd_schema.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kcentreontrapd_schema.png new file mode 100644 index 000000000000..b063bbf0ddeb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kcentreontrapd_schema.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kdependances.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kdependances.png new file mode 100644 index 000000000000..6d401cc1c4bd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kdependances.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/klinkcomment.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/klinkcomment.png new file mode 100644 index 000000000000..ee968790c31b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/klinkcomment.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kpreexec.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kpreexec.png new file mode 100644 index 000000000000..c5cc02e73b17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/kpreexec.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/after_install.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/after_install.png new file mode 100644 index 000000000000..64a7aaa0b735 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/after_install.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/before_install.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/before_install.png new file mode 100644 index 000000000000..3d04e8349358 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/before_install.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/doc.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/doc.png new file mode 100644 index 000000000000..1e1b1d1245ae Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/doc.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp.png new file mode 100644 index 000000000000..cf4ca312b0cd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png new file mode 100644 index 000000000000..5da9159e166e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png new file mode 100644 index 000000000000..b87909af3730 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/pp_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/pp_list.png new file mode 100644 index 000000000000..a423ceb44d50 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/pp_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall.png new file mode 100644 index 000000000000..2fe49932ce8e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png new file mode 100644 index 000000000000..42b3a6d2105f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png new file mode 100644 index 000000000000..08ff1109d0b7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png new file mode 100644 index 000000000000..ee74b3be6e78 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png new file mode 100644 index 000000000000..876b153eb664 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update.png new file mode 100644 index 000000000000..02b4afc474bd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update2.png new file mode 100644 index 000000000000..7e054ae87d34 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update3.png new file mode 100644 index 000000000000..d1c76f8cc194 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_all.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_all.png new file mode 100644 index 000000000000..96b664259eee Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_all.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png new file mode 100644 index 000000000000..82accf58e378 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_finish.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_finish.png new file mode 100644 index 000000000000..61dba6a595b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/pluginpacks/update_finish.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/soft_hard_states.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/soft_hard_states.png new file mode 100644 index 000000000000..00a7f1477763 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/configuration/soft_hard_states.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/broker_config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/broker_config.png new file mode 100644 index 000000000000..2d8c2377dfaf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/broker_config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_parameter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_parameter.png new file mode 100644 index 000000000000..453b84cb0f21 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_parameter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_stream_connector.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_stream_connector.png new file mode 100644 index 000000000000..1e5b27c08a7e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/add_stream_connector.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png new file mode 100644 index 000000000000..ffaa5b94b156 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_regular.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_regular.png new file mode 100644 index 000000000000..470a08ec1266 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/archi_broker_regular.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/broker_influxdb_output.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/broker_influxdb_output.png new file mode 100644 index 000000000000..857d23dc7b21 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/broker_influxdb_output.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/describe_output.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/describe_output.png new file mode 100644 index 000000000000..16270525de72 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/describe_output.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/visualize_data_grafana.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/visualize_data_grafana.png new file mode 100644 index 000000000000..e09321dcd3d5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/developer/lua/visualize_data_grafana.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/1_FR_createJob.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/1_FR_createJob.png new file mode 100644 index 000000000000..3098f4906ba0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/1_FR_createJob.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/2_FR_createJob_FirstTab.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/2_FR_createJob_FirstTab.png new file mode 100644 index 000000000000..2d7199edaec4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/2_FR_createJob_FirstTab.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/3_FR_createJob_FirstTab_Filled.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/3_FR_createJob_FirstTab_Filled.png new file mode 100644 index 000000000000..63b0a188c2dd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/3_FR_createJob_FirstTab_Filled.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/4_FR_createJob_Parameter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/4_FR_createJob_Parameter.png new file mode 100644 index 000000000000..2a7639836a7a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/4_FR_createJob_Parameter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/5_FR_generateJob.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/5_FR_generateJob.png new file mode 100644 index 000000000000..86a148a7437e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/5_FR_generateJob.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/6_FR_generateJob_Filter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/6_FR_generateJob_Filter.png new file mode 100644 index 000000000000..81bd88ff3abc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/6_FR_generateJob_Filter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/7_FR_reportView.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/7_FR_reportView.png new file mode 100644 index 000000000000..13afddd9a5aa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/7_FR_reportView.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/8_FR_availabilityReport.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/8_FR_availabilityReport.png new file mode 100644 index 000000000000..e52f34766c24 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/8_FR_availabilityReport.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aconnection.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aconnection.png new file mode 100644 index 000000000000..aed8ecb39e65 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aconnection.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/amenu.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/amenu.png new file mode 100644 index 000000000000..281e5217599e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/amenu.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/archi.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/archi.png new file mode 100644 index 000000000000..0e65d48e4a0f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/archi.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-doc.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-doc.png new file mode 100644 index 000000000000..842411af7aaf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-doc.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-listofjobs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-listofjobs.png new file mode 100644 index 000000000000..fc52d4fdaed7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-listofjobs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-mapper.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-mapper.png new file mode 100644 index 000000000000..e3f9c83eb713 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-mapper.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-provider.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-provider.png new file mode 100644 index 000000000000..e32f4a27b9fc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-provider.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-results.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-results.png new file mode 100644 index 000000000000..9b9a1c9805fb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-results.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-save.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-save.png new file mode 100644 index 000000000000..f4f2b32f6a5f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-save.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-success.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-success.png new file mode 100644 index 000000000000..1ec9aa149683 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/aws-success.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/banner_pollers.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/banner_pollers.png new file mode 100644 index 000000000000..53ae4fe6b747 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/banner_pollers.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_1.png new file mode 100644 index 000000000000..b9d8babd5e23 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_2.png new file mode 100644 index 000000000000..6895f1c45a58 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/change_language_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/createJob_ListReport.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/createJob_ListReport.png new file mode 100644 index 000000000000..ff746d85897b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/createJob_ListReport.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_1.png new file mode 100644 index 000000000000..b6035506f65d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_2.png new file mode 100644 index 000000000000..78c6739bc505 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_3.png new file mode 100644 index 000000000000..5da837c40f55 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_4.png new file mode 100644 index 000000000000..3b144af73cab Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_5.png new file mode 100644 index 000000000000..9c97efca3076 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_6.png new file mode 100644 index 000000000000..26865771ebd2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_7.png new file mode 100644 index 000000000000..86795563f512 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_8.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_8.png new file mode 100644 index 000000000000..773506f770b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/cv_8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/dark_mode_switch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/dark_mode_switch.png new file mode 100644 index 000000000000..d5e7a37c9bef Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/dark_mode_switch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png new file mode 100644 index 000000000000..29b3306da274 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png new file mode 100644 index 000000000000..dc3814d89da6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_form.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_form.png new file mode 100644 index 000000000000..e69a0720fd5d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/it_100_free_token_form.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/light_mode_switch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/light_mode_switch.png new file mode 100644 index 000000000000..3163c8ba27fd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/light_mode_switch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/menus.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/menus.png new file mode 100644 index 000000000000..0891dfd7b3cc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/menus.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expiration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expiration.png new file mode 100644 index 000000000000..5ff572d9ab10 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expiration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expired.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expired.png new file mode 100644 index 000000000000..1011c5a23f2e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_expired.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_will_expire.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_will_expire.png new file mode 100644 index 000000000000..3c37cc1e8c2a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/password_will_expire.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_1.png new file mode 100644 index 000000000000..3a4ae5f6b650 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_2.png new file mode 100644 index 000000000000..9040a65bf5eb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_base_generic_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_install_basic.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_install_basic.gif new file mode 100644 index 000000000000..2111be0ecdc8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/pp_install_basic.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_1.png new file mode 100644 index 000000000000..e062c18ae662 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_10.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_10.gif new file mode 100644 index 000000000000..ce27b909f505 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_10.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_11.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_11.gif new file mode 100644 index 000000000000..fe6455d7297d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_11.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_12.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_12.png new file mode 100644 index 000000000000..342068ea61c3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_12.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_13.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_13.png new file mode 100644 index 000000000000..74e3a988a431 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_13.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_14.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_14.gif new file mode 100644 index 000000000000..8932db6a53d3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_14.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_16.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_16.png new file mode 100644 index 000000000000..ae0ffbb45c46 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_16.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_17.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_17.png new file mode 100644 index 000000000000..758db395444a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_17.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_18.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_18.png new file mode 100644 index 000000000000..5177f27a273d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_18.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_19.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_19.png new file mode 100644 index 000000000000..47dec52618d8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_19.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_2.png new file mode 100644 index 000000000000..034fd5a33a01 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_20.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_20.png new file mode 100644 index 000000000000..71cfb5270d8c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_20.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_21.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_21.png new file mode 100644 index 000000000000..fe6118f1c1d0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_21.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_3.png new file mode 100644 index 000000000000..3c75f876ce08 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_4.png new file mode 100644 index 000000000000..249e38c648a9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_5.png new file mode 100644 index 000000000000..34c711cc2096 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_6.png new file mode 100644 index 000000000000..172348b1b51b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_7.png new file mode 100644 index 000000000000..b42f3a22dd7a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_8.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_8.png new file mode 100644 index 000000000000..21dc454edddc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/prise_en_main_windows_snmp_8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif new file mode 100644 index 000000000000..23ab34821eb0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif new file mode 100644 index 000000000000..4aff78dc3a5a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_2.png new file mode 100644 index 000000000000..dee54a6ba77c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_3.png new file mode 100644 index 000000000000..78764e8fed53 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png new file mode 100644 index 000000000000..85db3e516746 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png new file mode 100644 index 000000000000..aa14b663b104 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_5.png new file mode 100644 index 000000000000..aa86d0988bd8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_6.png new file mode 100644 index 000000000000..076c9c9779f5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_7.png new file mode 100644 index 000000000000..31d02819d80b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_cisco_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_0.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_0.gif new file mode 100644 index 000000000000..f0f871c0c9d5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_0.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_1.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_1.gif new file mode 100644 index 000000000000..278dbf6f0798 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_1.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_2.png new file mode 100644 index 000000000000..83b4dd61701a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_3.png new file mode 100644 index 000000000000..86babd7ac450 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4a.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4a.png new file mode 100644 index 000000000000..85db3e516746 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4a.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4b.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4b.png new file mode 100644 index 000000000000..512f24ea9ee2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_4b.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_5.png new file mode 100644 index 000000000000..1419f479db90 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_6.png new file mode 100644 index 000000000000..0ecdd66a00ea Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_7.png new file mode 100644 index 000000000000..dfde977a2dfb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_linux_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif new file mode 100644 index 000000000000..0acb920d59f7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif new file mode 100644 index 000000000000..53c7aa2ae4e2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png new file mode 100644 index 000000000000..2c10017fe45b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png new file mode 100644 index 000000000000..6a32d923f1eb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_2.png new file mode 100644 index 000000000000..ebbda626b5b4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_3.png new file mode 100644 index 000000000000..8f0c22165b27 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif new file mode 100644 index 000000000000..3659af8921a1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_0.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_0.gif new file mode 100644 index 000000000000..7147c75c78c0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_0.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_1.png new file mode 100644 index 000000000000..d654ea2a417a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_2.png new file mode 100644 index 000000000000..fbb0b176d5c8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_3.png new file mode 100644 index 000000000000..f3a960b4a34c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_4.png new file mode 100644 index 000000000000..f355faf1587a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_printer_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_0.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_0.gif new file mode 100644 index 000000000000..d1a1e93a98d5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_0.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_1.png new file mode 100644 index 000000000000..4aba9220c4c2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_2.png new file mode 100644 index 000000000000..6757a29ec44a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_3.png new file mode 100644 index 000000000000..3c48708a253d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_4.png new file mode 100644 index 000000000000..12ee4f83a4ac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_ups_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png new file mode 100644 index 000000000000..11330974dfcd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/top_counters.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/top_counters.png new file mode 100644 index 000000000000..7616dfef3891 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/getting-started/top_counters.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/acl_views_preference_page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/acl_views_preference_page.png new file mode 100644 index 000000000000..7708014f6bd8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/acl_views_preference_page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/admin_preference_page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/admin_preference_page.png new file mode 100644 index 000000000000..1fb0754dc800 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/admin_preference_page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/centreon_media_part.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/centreon_media_part.png new file mode 100644 index 000000000000..3948951eb320 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/centreon_media_part.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_geo_view.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_geo_view.gif new file mode 100644 index 000000000000..15c332540709 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_geo_view.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view.gif new file mode 100644 index 000000000000..0c868a07160f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view_from_container.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view_from_container.gif new file mode 100644 index 000000000000..d10c0db93fd5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/create_view_from_container.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop-ssl-option.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop-ssl-option.png new file mode 100644 index 000000000000..0410c5edfa00 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop-ssl-option.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop.gif new file mode 100644 index 000000000000..3e732f6e4e4b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop_client_empty.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop_client_empty.png new file mode 100644 index 000000000000..da9068622060 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/desktop_client_empty.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/disabled-resources.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/disabled-resources.png new file mode 100644 index 000000000000..6564327b3205 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/disabled-resources.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/display_geo_view.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/display_geo_view.gif new file mode 100644 index 000000000000..b9c102b16ed1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/display_geo_view.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ex_view.jpg b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ex_view.jpg new file mode 100644 index 000000000000..76714d2043c1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ex_view.jpg differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/first_page_web.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/first_page_web.png new file mode 100644 index 000000000000..73e873780dd4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/first_page_web.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/gauge-example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/gauge-example.png new file mode 100644 index 000000000000..e225c0c02ded Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/gauge-example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_custom_provider.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_custom_provider.png new file mode 100644 index 000000000000..f23a5053dd70 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_custom_provider.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png new file mode 100644 index 000000000000..a995208fd50a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png new file mode 100644 index 000000000000..dbeb61966021 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_options.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_options.png new file mode 100644 index 000000000000..1266ccba8478 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_options.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_view_creation.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_view_creation.gif new file mode 100644 index 000000000000..cbaf52de0388 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geo_view_creation.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geoview_datalayers.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geoview_datalayers.gif new file mode 100644 index 000000000000..70adb6a4e013 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/geoview_datalayers.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-example.png new file mode 100644 index 000000000000..ca1524552a8c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-line-wizard.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-line-wizard.png new file mode 100644 index 000000000000..69397def0697 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/graph-line-wizard.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_link_color.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_link_color.png new file mode 100644 index 000000000000..ca68fd972c3d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_link_color.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_object_ratio_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_object_ratio_example.png new file mode 100644 index 000000000000..8577ad78251e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_object_ratio_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_ratio_preferences.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_ratio_preferences.png new file mode 100644 index 000000000000..ce6d32be3d6c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/guide_ratio_preferences.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/host_geocoord.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/host_geocoord.png new file mode 100644 index 000000000000..c25b52ec73ad Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/host_geocoord.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-1.png new file mode 100644 index 000000000000..d79aa7e9ce2b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-2.png new file mode 100644 index 000000000000..03fbbe8e8e67 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-desktop-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-2.png new file mode 100644 index 000000000000..4df494e7d818 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-3.png new file mode 100644 index 000000000000..8c2edd1bf2d5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-4.png new file mode 100644 index 000000000000..55d95b9a0dd0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-widget.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-widget.png new file mode 100644 index 000000000000..7dc765e2667f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/install-web-step-widget.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm1.png new file mode 100644 index 000000000000..d2575d923f75 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm2.png new file mode 100644 index 000000000000..20bca2a61dff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm3.png new file mode 100644 index 000000000000..544b0efae004 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/jvm3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_metric_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_metric_example.png new file mode 100644 index 000000000000..ebddd1c04ee9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_metric_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_simple_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_simple_example.png new file mode 100644 index 000000000000..d8574862ee5a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_simple_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_status_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_status_example.png new file mode 100644 index 000000000000..9d1ed038eb1f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/link_status_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_1.png new file mode 100644 index 000000000000..061ccbfadc89 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_2.png new file mode 100644 index 000000000000..7057be1cf5ea Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/links_color_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map-address-https.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map-address-https.png new file mode 100644 index 000000000000..3cf7de1e2084 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map-address-https.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map_architect.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map_architect.png new file mode 100644 index 000000000000..7b91c0b45710 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/map_architect.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-change-style.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-change-style.png new file mode 100644 index 000000000000..a137b34527f3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-change-style.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-configuration-error.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-configuration-error.png new file mode 100644 index 000000000000..c32b80345cd2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/mapbox-configuration-error.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/media_add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/media_add.png new file mode 100644 index 000000000000..e26004af5a5a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/media_add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/modify_styles.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/modify_styles.png new file mode 100644 index 000000000000..6cfd9833c4e8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/modify_styles.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_panel.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_panel.png new file mode 100644 index 000000000000..fd164aa38a02 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_panel.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_wizard.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_wizard.png new file mode 100644 index 000000000000..fa7a2255777e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/new_view_wizard.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/connected-server-container.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/connected-server-container.png new file mode 100644 index 000000000000..f471c3e2600e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/connected-server-container.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-1.png new file mode 100644 index 000000000000..a463eaf181c1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-2.png new file mode 100644 index 000000000000..7577dec6c2e6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-migrate-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png new file mode 100644 index 000000000000..3e446cd24f17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png new file mode 100644 index 000000000000..52be563df0b3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-global-view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-global-view.png new file mode 100644 index 000000000000..f83ab5282927 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-global-view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png new file mode 100644 index 000000000000..e1ac8baf1bd2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-schema.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-schema.png new file mode 100644 index 000000000000..6e466669aabe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map-web-schema.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map_architect.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map_architect.png new file mode 100644 index 000000000000..3c6cf236f74c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/map_architect.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/status-computation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/status-computation.png new file mode 100644 index 000000000000..57264812ca2b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/status-computation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/switch-map-engine.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/switch-map-engine.png new file mode 100644 index 000000000000..0aca7e8c7580 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ng/switch-map-engine.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example-2.png new file mode 100644 index 000000000000..5979e74a87ff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example.png new file mode 100644 index 000000000000..f41b84c33c94 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-wizard-metric.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-wizard-metric.png new file mode 100644 index 000000000000..0024cc6302b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output-wizard-metric.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker.png new file mode 100644 index 000000000000..18fdece6a92d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker_tls.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker_tls.png new file mode 100644 index 000000000000..5a93529a7a58 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/output_broker_tls.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/palette-part.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/palette-part.png new file mode 100644 index 000000000000..7e90a5c9dc38 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/palette-part.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/password-expiration-policy.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/password-expiration-policy.png new file mode 100644 index 000000000000..6d6f358a08b3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/password-expiration-policy.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/piechart-example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/piechart-example.png new file mode 100644 index 000000000000..d275b6b0b8da Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/piechart-example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/rdp-config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/rdp-config.png new file mode 100644 index 000000000000..5e68745d639d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/rdp-config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/reach-api.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/reach-api.png new file mode 100644 index 000000000000..d90afcaadd3a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/reach-api.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/server-api-soap.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/server-api-soap.png new file mode 100644 index 000000000000..8190b0f0f17c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/server-api-soap.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/set_current_lat_long.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/set_current_lat_long.png new file mode 100644 index 000000000000..626083bcbb96 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/set_current_lat_long.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/share_view.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/share_view.png new file mode 100644 index 000000000000..971ac8e6eb38 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/share_view.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/status-background-color.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/status-background-color.png new file mode 100644 index 000000000000..bd06b18d8733 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/status-background-color.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/style_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/style_example.png new file mode 100644 index 000000000000..0965e95f06ba Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/style_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/sync_resources.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/sync_resources.png new file mode 100644 index 000000000000..b83d3c5eb7b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/sync_resources.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-command-putty.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-command-putty.png new file mode 100644 index 000000000000..5d3ef825fcb6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-command-putty.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-preference-page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-preference-page.png new file mode 100644 index 000000000000..712e42823941 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/system-preference-page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tooltips.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tooltips.gif new file mode 100644 index 000000000000..fe1d58c741a6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tooltips.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_1.png new file mode 100644 index 000000000000..6d8384a2ee15 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_2.png new file mode 100644 index 000000000000..25360a6743eb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_ex_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_workspace.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_workspace.png new file mode 100644 index 000000000000..21c8948fc819 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/tuto_workspace.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png new file mode 100644 index 000000000000..ee6c9b5a97bf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/view_menu.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/view_menu.png new file mode 100644 index 000000000000..8f47489af5e2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/view_menu.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_authentication_error.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_authentication_error.png new file mode 100644 index 000000000000..78bbbc2c1d88 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_authentication_error.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_configuration_2204.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_configuration_2204.png new file mode 100644 index 000000000000..41aa4476ceb5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_client_configuration_2204.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_empty_list_2204.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_empty_list_2204.png new file mode 100644 index 000000000000..55d95b9a0dd0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/web_empty_list_2204.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget.png new file mode 100644 index 000000000000..14ac92b5f328 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget_process.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget_process.png new file mode 100644 index 000000000000..34ec20844a9c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/widget_process.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/windows_start_menu.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/windows_start_menu.png new file mode 100644 index 000000000000..7d5b9c4d49f5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/graph-views/windows_start_menu.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VB2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VB2.png new file mode 100644 index 000000000000..4b9afc4d7c53 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VB2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW1.png new file mode 100644 index 000000000000..2391702681c1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW_network_adapter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW_network_adapter.png new file mode 100644 index 000000000000..b6c95f92ca57 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/VMW_network_adapter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aadmininfo.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aadmininfo.png new file mode 100644 index 000000000000..fa31b3dec824 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aadmininfo.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/abrokerinfo2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/abrokerinfo2.png new file mode 100644 index 000000000000..0c801a1faed4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/abrokerinfo2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreoncheckmodules.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreoncheckmodules.png new file mode 100644 index 000000000000..671f9cfea965 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreoncheckmodules.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreonwelcome.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreonwelcome.png new file mode 100644 index 000000000000..2d99a7981b2b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/acentreonwelcome.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aconnection.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aconnection.png new file mode 100644 index 000000000000..e820c6012d03 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aconnection.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbconf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbconf.png new file mode 100644 index 000000000000..70a600927f5b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbconf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbinfo.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbinfo.png new file mode 100644 index 000000000000..61cf46b468f2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/adbinfo.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aendinstall.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aendinstall.png new file mode 100644 index 000000000000..1f55bbc4d669 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/aendinstall.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/amonitoringengine2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/amonitoringengine2.png new file mode 100644 index 000000000000..5cadaab2c470 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/amonitoringengine2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/architecture_decision.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/architecture_decision.png new file mode 100644 index 000000000000..2e94a53b17cc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/architecture_decision.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/extensions-manager.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/extensions-manager.png new file mode 100644 index 000000000000..f02d8aba1511 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/extensions-manager.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/inside_central_poller.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/inside_central_poller.png new file mode 100644 index 000000000000..689d11153abd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/inside_central_poller.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/ip_addr.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/ip_addr.png new file mode 100644 index 000000000000..4928b77c765a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/ip_addr.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationa.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationa.png new file mode 100644 index 000000000000..dda14938d7cf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationa.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationb.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationb.png new file mode 100644 index 000000000000..edfc399d91dc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/module_installationb.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/partition_created.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/partition_created.png new file mode 100644 index 000000000000..29c1ee869248 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/partition_created.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/terminal_ready.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/terminal_ready.png new file mode 100644 index 000000000000..317787817038 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/installation/terminal_ready.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png new file mode 100644 index 000000000000..4f28799f78f8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png new file mode 100644 index 000000000000..f16ea641d9d6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/data-analytics/status.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/data-analytics/status.png new file mode 100644 index 000000000000..09f826de5ed8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/data-analytics/status.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-connector-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-connector-architecture.png new file mode 100644 index 000000000000..e6d22aae4aa6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-connector-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-epp-install.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-epp-install.png new file mode 100644 index 000000000000..5975f7784936 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/mip-epp-install.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png new file mode 100644 index 000000000000..d0d53c40cb21 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png new file mode 100644 index 000000000000..73653845e188 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png new file mode 100644 index 000000000000..d1c91c14d5bf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png new file mode 100644 index 000000000000..c860c5afac46 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif new file mode 100644 index 000000000000..22a6279aff1b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png new file mode 100644 index 000000000000..cd976712415b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png new file mode 100644 index 000000000000..d268a7ab2e69 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png new file mode 100644 index 000000000000..0baa98ca3b3d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png new file mode 100644 index 000000000000..d04078c36ce4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png new file mode 100644 index 000000000000..cebeea9f5fea Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif new file mode 100644 index 000000000000..c614cea43609 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png new file mode 100644 index 000000000000..bac1e2b63eb6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png new file mode 100644 index 000000000000..0fd5a831d064 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png new file mode 100644 index 000000000000..112bac0ba194 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png new file mode 100644 index 000000000000..40f0e3dc3ab9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png new file mode 100644 index 000000000000..2e5343d06f58 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png new file mode 100644 index 000000000000..1c442e83e3e3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png new file mode 100644 index 000000000000..6e09818378fd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png new file mode 100644 index 000000000000..5323b32ec8b6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png new file mode 100644 index 000000000000..0fc89eb84e3a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png new file mode 100644 index 000000000000..5be49be005a8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png new file mode 100644 index 000000000000..84aa4a70fb0c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png new file mode 100644 index 000000000000..05e859fa6d96 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png new file mode 100644 index 000000000000..8f8d1776eec6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png new file mode 100644 index 000000000000..5fe2b67790d5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png new file mode 100644 index 000000000000..9580c13ac118 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png new file mode 100644 index 000000000000..1a1961338a9f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png new file mode 100644 index 000000000000..d3172de793fa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png new file mode 100644 index 000000000000..c56c645c9909 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png new file mode 100644 index 000000000000..bc8dda0faf7a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png new file mode 100644 index 000000000000..d5a7aad5957d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png new file mode 100644 index 000000000000..51be5adb4f73 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png new file mode 100644 index 000000000000..61e99ebd55ab Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png new file mode 100644 index 000000000000..b2fc28580d57 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png new file mode 100644 index 000000000000..f44c16a952f9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png new file mode 100644 index 000000000000..a4f7c02fd4e6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01graph_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01graph_list.png new file mode 100644 index 000000000000..77982f962b3f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01graph_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01perf_graph.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01perf_graph.png new file mode 100644 index 000000000000..2edd335624bf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/01perf_graph.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addcurve.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addcurve.png new file mode 100644 index 000000000000..0e15d07cc942 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addcurve.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addgraph_template.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addgraph_template.png new file mode 100644 index 000000000000..d2e406f4fdc5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addgraph_template.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addvmetric.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addvmetric.png new file mode 100644 index 000000000000..32fef90bf167 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02addvmetric.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphempile.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphempile.png new file mode 100644 index 000000000000..90e5f856e3b0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphempile.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphinverse.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphinverse.png new file mode 100644 index 000000000000..66e1c338e5a7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphinverse.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphremplissage.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphremplissage.png new file mode 100644 index 000000000000..7358bd2fa92c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02graphremplissage.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02linkgraph_template.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02linkgraph_template.png new file mode 100644 index 000000000000..6507e699ed56 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02linkgraph_template.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_conf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_conf.png new file mode 100644 index 000000000000..518020d4e916 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_conf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_example.png new file mode 100644 index 000000000000..5a57d1e0f45e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/02virtualmetric_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/chart_zoom.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/chart_zoom.gif new file mode 100644 index 000000000000..2b93242a4a78 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/chart_zoom.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/columns_selection.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/columns_selection.png new file mode 100644 index 000000000000..697c6c685ec6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/columns_selection.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_compare.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_compare.png new file mode 100644 index 000000000000..af7df87ed252 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_compare.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_variables.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_variables.png new file mode 100644 index 000000000000..0fe295340a23 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/grafana_variables.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/left_arrow.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/left_arrow.png new file mode 100644 index 000000000000..88f6f57f767d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/left_arrow.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/right_arrow.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/right_arrow.png new file mode 100644 index 000000000000..0e1489858f02 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/metrology/right_arrow.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-app-screens.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-app-screens.png new file mode 100644 index 000000000000..c09930444b25 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-app-screens.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-demo.mp4 b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-demo.mp4 new file mode 100644 index 000000000000..eb684fc329a3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-demo.mp4 differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-login.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-login.png new file mode 100644 index 000000000000..78dc348bc56a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/mobile/mobile-login.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png new file mode 100644 index 000000000000..8b9054412dc9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png new file mode 100644 index 000000000000..e5a805750feb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png new file mode 100644 index 000000000000..7fcbf9a5722e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png new file mode 100644 index 000000000000..579dc68bc2a1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png new file mode 100644 index 000000000000..e89c514acac0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png new file mode 100644 index 000000000000..6da85cb4dec0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png new file mode 100644 index 000000000000..6ccc17fa73a7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png new file mode 100644 index 000000000000..fb8c4e16ba76 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png new file mode 100644 index 000000000000..cb99694b1def Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png new file mode 100644 index 000000000000..ed301d378213 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png new file mode 100644 index 000000000000..dcdbf3b627d8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png new file mode 100644 index 000000000000..f8dc8d933c59 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png new file mode 100644 index 000000000000..78823bc9c9fe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png new file mode 100644 index 000000000000..da5371436bbb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png new file mode 100644 index 000000000000..664b6e2256f6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png new file mode 100644 index 000000000000..57a6294ba841 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png new file mode 100644 index 000000000000..4652af813458 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png new file mode 100644 index 000000000000..44286c800f81 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif new file mode 100644 index 000000000000..317723793f1d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png new file mode 100644 index 000000000000..7811068f93b1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png new file mode 100644 index 000000000000..9794ccf7ba9f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png new file mode 100644 index 000000000000..4f9d3f015933 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png new file mode 100644 index 000000000000..e9fc852e1a80 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png new file mode 100644 index 000000000000..115c3e128ddc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png new file mode 100644 index 000000000000..84ba15772346 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png new file mode 100644 index 000000000000..2ab8438639c2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png new file mode 100644 index 000000000000..c930a27c4feb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png new file mode 100644 index 000000000000..b74851778224 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png new file mode 100644 index 000000000000..9d7362e3e1ee Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png new file mode 100644 index 000000000000..391b47b5ac85 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png new file mode 100644 index 000000000000..37a2b49ba325 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png new file mode 100644 index 000000000000..933e0d46d2db Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png new file mode 100644 index 000000000000..3c6478ca300b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png new file mode 100644 index 000000000000..b17e9e4a336c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png new file mode 100644 index 000000000000..6adaede46a33 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png new file mode 100644 index 000000000000..4c657980b070 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png new file mode 100644 index 000000000000..f915b4853d92 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png new file mode 100644 index 000000000000..3a39dec1e1d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png new file mode 100644 index 000000000000..15063ae4be4d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png new file mode 100644 index 000000000000..294a954a4734 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png new file mode 100644 index 000000000000..6092136c1dac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png new file mode 100644 index 000000000000..7fcb9bb7ed41 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png new file mode 100644 index 000000000000..0a5b0cf64c3c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png new file mode 100644 index 000000000000..5740ace7d9a8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png new file mode 100644 index 000000000000..b0288926fa2f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png new file mode 100644 index 000000000000..002ee6064247 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png new file mode 100644 index 000000000000..e59fcd37c19b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png new file mode 100644 index 000000000000..6b5acaf129b0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png new file mode 100644 index 000000000000..24fb1dff3965 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-after.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-after.png new file mode 100644 index 000000000000..e1138ac8686d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-after.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-before.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-before.png new file mode 100644 index 000000000000..6cf3f11a45ad Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/install-before.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png new file mode 100644 index 000000000000..a1d825f42e17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png new file mode 100644 index 000000000000..99fc82385ea5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/update.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/update.png new file mode 100644 index 000000000000..fcbac2014731 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/discovery/update.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/metrics.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/metrics.png new file mode 100644 index 000000000000..f4fc2723af61 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/metrics.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png new file mode 100644 index 000000000000..8ec3a279dedd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png new file mode 100644 index 000000000000..1524fb3eb789 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png new file mode 100644 index 000000000000..0f0a638a2ca6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png new file mode 100644 index 000000000000..d40659ad729f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png new file mode 100644 index 000000000000..e93e4c7d2116 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png new file mode 100644 index 000000000000..8ea0b41509c0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png new file mode 100644 index 000000000000..2639ba6c6d81 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png new file mode 100644 index 000000000000..65a21d627cbe Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png new file mode 100644 index 000000000000..846df16388f0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png new file mode 100644 index 000000000000..d05b577c8ac9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png new file mode 100644 index 000000000000..196ca381e5f6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png new file mode 100644 index 000000000000..f459d0a83de1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png new file mode 100644 index 000000000000..4dde63856d0d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png new file mode 100644 index 000000000000..96b73ca0f2a5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png new file mode 100644 index 000000000000..666197b9a4f3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png new file mode 100644 index 000000000000..4bc839deadcf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png new file mode 100644 index 000000000000..b0cb23b588b3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png new file mode 100644 index 000000000000..a563bb8e3d30 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png new file mode 100644 index 000000000000..e9b2fde9e235 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png new file mode 100644 index 000000000000..f88094a9efcd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png new file mode 100644 index 000000000000..440f20d24316 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png new file mode 100644 index 000000000000..da3aa5d2313e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png new file mode 100644 index 000000000000..e1cbf9cac67f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png new file mode 100644 index 000000000000..02aac2f6fa4f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png new file mode 100644 index 000000000000..32d217a7a25b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png new file mode 100644 index 000000000000..5f81d37ca54e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png new file mode 100644 index 000000000000..b3ea31769240 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png new file mode 100644 index 000000000000..4f0dc72465c4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle-24.10.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle-24.10.png new file mode 100644 index 000000000000..57710cbb3d17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle-24.10.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle.png new file mode 100644 index 000000000000..2815afb940a1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/releases/lifecycle.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf new file mode 100644 index 000000000000..a8acc6d22dbd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql new file mode 100644 index 000000000000..abb886684d53 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql @@ -0,0 +1,80 @@ +-- +-- Table structure for table `gtid_slave_pos` +-- + +DROP TABLE IF EXISTS `gtid_slave_pos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gtid_slave_pos` ( + `domain_id` int(10) unsigned NOT NULL, + `sub_id` bigint(20) unsigned NOT NULL, + `server_id` int(10) unsigned NOT NULL, + `seq_no` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`domain_id`,`sub_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Replication slave GTID position'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `gtid_slave_pos` +-- + +LOCK TABLES `gtid_slave_pos` WRITE; +/*!40000 ALTER TABLE `gtid_slave_pos` DISABLE KEYS */; +/*!40000 ALTER TABLE `gtid_slave_pos` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `innodb_index_stats` +-- + +DROP TABLE IF EXISTS `innodb_index_stats`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `innodb_index_stats` ( + `database_name` varchar(64) COLLATE utf8_bin NOT NULL, + `table_name` varchar(64) COLLATE utf8_bin NOT NULL, + `index_name` varchar(64) COLLATE utf8_bin NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `stat_name` varchar(64) COLLATE utf8_bin NOT NULL, + `stat_value` bigint(20) unsigned NOT NULL, + `sample_size` bigint(20) unsigned DEFAULT NULL, + `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `innodb_index_stats` +-- + +LOCK TABLES `innodb_index_stats` WRITE; +/*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `innodb_index_stats` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `innodb_table_stats` +-- + +DROP TABLE IF EXISTS `innodb_table_stats`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `innodb_table_stats` ( + `database_name` varchar(64) COLLATE utf8_bin NOT NULL, + `table_name` varchar(64) COLLATE utf8_bin NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `n_rows` bigint(20) unsigned NOT NULL, + `clustered_index_size` bigint(20) unsigned NOT NULL, + `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`database_name`,`table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `innodb_table_stats` +-- + +LOCK TABLES `innodb_table_stats` WRITE; +/*!40000 ALTER TABLE `innodb_table_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `innodb_table_stats` ENABLE KEYS */; +UNLOCK TABLES; diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dashboard.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dashboard.png new file mode 100644 index 000000000000..dabb78ebd1e6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dashboard.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png new file mode 100644 index 000000000000..4ff2b41c3d77 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png new file mode 100644 index 000000000000..b4b6152f2e77 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png new file mode 100644 index 000000000000..3ae3e2bcf23a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png new file mode 100644 index 000000000000..152c50c03320 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png new file mode 100644 index 000000000000..8e1ed6f7b481 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png new file mode 100644 index 000000000000..2f7f2449e173 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png new file mode 100644 index 000000000000..b6ab7bf9e788 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png new file mode 100644 index 000000000000..cb967b509bac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png new file mode 100644 index 000000000000..ad4b3a5f6fe3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png new file mode 100644 index 000000000000..c51abe47b06f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png new file mode 100644 index 000000000000..1451cd104897 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png new file mode 100644 index 000000000000..ee1bafaa844b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png new file mode 100644 index 000000000000..7727c0a07bca Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png new file mode 100644 index 000000000000..0d6a3aabf574 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png new file mode 100644 index 000000000000..73fa49b0c3a1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png new file mode 100644 index 000000000000..e0e6034bba7c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png new file mode 100644 index 000000000000..4e8e2f39dd42 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png new file mode 100644 index 000000000000..5206572abfdf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png new file mode 100644 index 000000000000..8346ac7802d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png new file mode 100644 index 000000000000..6644d98ca274 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png new file mode 100644 index 000000000000..71692616cb2d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png new file mode 100644 index 000000000000..6f835b6dcb16 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png new file mode 100644 index 000000000000..acf59b18ede6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png new file mode 100644 index 000000000000..35a7029a1d7d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png new file mode 100644 index 000000000000..2a67180264d4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png new file mode 100644 index 000000000000..3f77eb37743b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png new file mode 100644 index 000000000000..16e24610aca9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png new file mode 100644 index 000000000000..63d113d78007 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png new file mode 100644 index 000000000000..023072064774 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png new file mode 100644 index 000000000000..e615ebdbd9d6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/first_page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/first_page.png new file mode 100644 index 000000000000..0ad2cdf9942f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/first_page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/10000000000005A100000028486B421A.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/10000000000005A100000028486B421A.png new file mode 100644 index 000000000000..8909e7dbe28a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/10000000000005A100000028486B421A.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRules.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRules.png new file mode 100644 index 000000000000..1a36a88b0ab1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRules.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png new file mode 100644 index 000000000000..deb1806d0a19 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesJob.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesJob.png new file mode 100644 index 000000000000..89911f5779ac Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesJob.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png new file mode 100644 index 000000000000..5dccb5b709fd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashActions.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashActions.png new file mode 100644 index 000000000000..8ade84004a00 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashActions.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashFilter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashFilter.png new file mode 100644 index 000000000000..1912ad9cbcf8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashFilter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashList.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashList.png new file mode 100644 index 000000000000..d77cfb95b995 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/TrashList.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_Delete.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_Delete.png new file mode 100644 index 000000000000..659132dda305 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_Delete.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png new file mode 100644 index 000000000000..1dba26a85c8b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addJob.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addJob.png new file mode 100644 index 000000000000..10bdcf21250a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addJob.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addReportTemplate.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addReportTemplate.png new file mode 100644 index 000000000000..46fd031f2a57 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/addReportTemplate.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_job_groups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_job_groups.png new file mode 100644 index 000000000000..70c473d71da9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_job_groups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_report_design_groups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_report_design_groups.png new file mode 100644 index 000000000000..620fe4bab83f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/add_report_design_groups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png new file mode 100644 index 000000000000..c67148bc627b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png new file mode 100644 index 000000000000..347b7affdce5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png new file mode 100644 index 000000000000..ea5bc4252bec Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png new file mode 100644 index 000000000000..4003c4c9727d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png new file mode 100644 index 000000000000..a8f603137513 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png new file mode 100644 index 000000000000..fb6ffb3db3b5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png new file mode 100644 index 000000000000..8d87ae166756 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png new file mode 100644 index 000000000000..8df4850a02a9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png new file mode 100644 index 000000000000..e74d27dcf430 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png new file mode 100644 index 000000000000..292c83618218 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png new file mode 100644 index 000000000000..b5da6d460c9a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png new file mode 100644 index 000000000000..4e32aec1abfb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png new file mode 100644 index 000000000000..86a34ac36679 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png new file mode 100644 index 000000000000..2c23c0b8a030 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png new file mode 100644 index 000000000000..6d0e0762eb13 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png new file mode 100644 index 000000000000..38ec46018504 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png new file mode 100644 index 000000000000..83aaba297181 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png new file mode 100644 index 000000000000..c27658775778 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png new file mode 100644 index 000000000000..19b0689b1cc1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png new file mode 100644 index 000000000000..6c20b8b716bb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png new file mode 100644 index 000000000000..056b91adb353 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png new file mode 100644 index 000000000000..b9681085ac85 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png new file mode 100644 index 000000000000..154f51f5a256 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png new file mode 100644 index 000000000000..bd0ae97df940 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png new file mode 100644 index 000000000000..c2b1fd8aa34e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png new file mode 100644 index 000000000000..c2a8ab522a90 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png new file mode 100644 index 000000000000..08abc4c956c0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png new file mode 100644 index 000000000000..59901167d587 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png new file mode 100644 index 000000000000..103772d39b09 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png new file mode 100644 index 000000000000..250965352795 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png new file mode 100644 index 000000000000..847a1dbad91d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png new file mode 100644 index 000000000000..0b48839f3881 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png new file mode 100644 index 000000000000..9f845e333570 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png new file mode 100644 index 000000000000..867b908e8190 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png new file mode 100644 index 000000000000..9f66ff958706 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png new file mode 100644 index 000000000000..39a1a994454a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png new file mode 100644 index 000000000000..c3cfdaf5b48e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png new file mode 100644 index 000000000000..7c95328b5d90 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png new file mode 100644 index 000000000000..f3e53942005a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png new file mode 100644 index 000000000000..1a9bf8b59892 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png new file mode 100644 index 000000000000..8a8f34b5a5aa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png new file mode 100644 index 000000000000..ed84ed2d1493 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png new file mode 100644 index 000000000000..6ab819b4f455 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png new file mode 100644 index 000000000000..5e1905f55d00 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png new file mode 100644 index 000000000000..eea497c1ff4e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png new file mode 100644 index 000000000000..245e23709ea4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png new file mode 100644 index 000000000000..297336468e0b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png new file mode 100644 index 000000000000..9b52a81cce9b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png new file mode 100644 index 000000000000..4ae7d2926863 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png new file mode 100644 index 000000000000..19362a7e1c81 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png new file mode 100644 index 000000000000..08dd8047966e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png new file mode 100644 index 000000000000..61f59c349096 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png new file mode 100644 index 000000000000..415a4b884e8c Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png new file mode 100644 index 000000000000..3dba880476e2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png new file mode 100644 index 000000000000..8b33c8434de6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png new file mode 100644 index 000000000000..f2fce30fc814 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png new file mode 100644 index 000000000000..dfa6ba80a777 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png new file mode 100644 index 000000000000..cfc6846b2608 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png new file mode 100644 index 000000000000..a5f1f7fe2289 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png new file mode 100644 index 000000000000..de102015785f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png new file mode 100644 index 000000000000..dda7008d5793 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png new file mode 100644 index 000000000000..46683ef0ef48 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png new file mode 100644 index 000000000000..4a98bd4fa890 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png new file mode 100644 index 000000000000..e7d4c75827c2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png new file mode 100644 index 000000000000..936716e308a2 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png new file mode 100644 index 000000000000..1645fad3b324 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png new file mode 100644 index 000000000000..6642bd773b7f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png new file mode 100644 index 000000000000..7e8f9f002887 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png new file mode 100644 index 000000000000..b026d69fb3d9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png new file mode 100644 index 000000000000..124ec2f10463 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png new file mode 100644 index 000000000000..6298f3806831 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png new file mode 100644 index 000000000000..755825556d9d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png new file mode 100644 index 000000000000..784516e59b6b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png new file mode 100644 index 000000000000..f3e3cec6b5f8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png new file mode 100644 index 000000000000..fa2bfdbb2ccc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png new file mode 100644 index 000000000000..16047e304734 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png new file mode 100644 index 000000000000..c77a59dc1005 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png new file mode 100644 index 000000000000..e2cf643ecf4f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png new file mode 100644 index 000000000000..a4080d444b94 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png new file mode 100644 index 000000000000..bd10c090e455 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png new file mode 100644 index 000000000000..35d59a877d72 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png new file mode 100644 index 000000000000..d173e2eec3f9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png new file mode 100644 index 000000000000..d10befc616cb Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png new file mode 100644 index 000000000000..408e19c27729 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png new file mode 100644 index 000000000000..ec425584dbdc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png new file mode 100644 index 000000000000..823891e5179b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png new file mode 100644 index 000000000000..f1825cfa742e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png new file mode 100644 index 000000000000..51be53a062a4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png new file mode 100644 index 000000000000..ac4583111bfd Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_information.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_information.png new file mode 100644 index 000000000000..6afd56884d71 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_information.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png new file mode 100644 index 000000000000..024be7240d23 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png new file mode 100644 index 000000000000..e6fb8bfdf0df Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png new file mode 100644 index 000000000000..c568c677eae5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png new file mode 100644 index 000000000000..4433d3a01f89 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png new file mode 100644 index 000000000000..29f801b6784a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/service_information.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/service_information.png new file mode 100644 index 000000000000..c6d99f14e9a0 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/service_information.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png new file mode 100644 index 000000000000..3843d6bff8be Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/centileParameters.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/centileParameters.png new file mode 100644 index 000000000000..f609d6bfbe33 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/centileParameters.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock.png new file mode 100644 index 000000000000..9c57dc21c98a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_running.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_running.png new file mode 100644 index 000000000000..38bac6a22ab7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_running.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_stopped.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_stopped.png new file mode 100644 index 000000000000..238879cb7707 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/clock_stopped.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/dashboard.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/dashboard.png new file mode 100644 index 000000000000..dabb78ebd1e6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/dashboard.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/enabled.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/enabled.png new file mode 100644 index 000000000000..6324d0f7b6df Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/enabled.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/etl_dataRetention.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/etl_dataRetention.png new file mode 100644 index 000000000000..8131534d94b8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/etl_dataRetention.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/failed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/failed.png new file mode 100644 index 000000000000..190b7eded83d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/failed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobParameter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobParameter.png new file mode 100644 index 000000000000..686e5aa7df42 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobParameter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobPublication.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobPublication.png new file mode 100644 index 000000000000..c4adcfcb575a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobPublication.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobsList.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobsList.png new file mode 100644 index 000000000000..218429b344c6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/jobsList.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_job_groups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_job_groups.png new file mode 100644 index 000000000000..d7b8e09e26bc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_job_groups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_report_design_groups.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_report_design_groups.png new file mode 100644 index 000000000000..8acb25d26128 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/list_report_design_groups.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_add.png new file mode 100644 index 000000000000..fc8969bd1450 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_list.png new file mode 100644 index 000000000000..10c6e2020e05 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/logo_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png new file mode 100644 index 000000000000..c8157568784e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png new file mode 100644 index 000000000000..70a9b2886767 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png new file mode 100644 index 000000000000..879d48d331d1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png new file mode 100644 index 000000000000..3043d32c1101 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png new file mode 100644 index 000000000000..9248a3a85710 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png new file mode 100644 index 000000000000..d6fc6af34496 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png new file mode 100644 index 000000000000..6daa5fdfa241 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png new file mode 100644 index 000000000000..d7917a6f9e17 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png new file mode 100644 index 000000000000..b09615db0402 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png new file mode 100644 index 000000000000..fb4bffa58929 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png new file mode 100644 index 000000000000..e7554c5af3a6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png new file mode 100644 index 000000000000..e59fa867254f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png new file mode 100644 index 000000000000..fc9fea9c689b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png new file mode 100644 index 000000000000..67628d7e45b1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png new file mode 100644 index 000000000000..4dbd14818de1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png new file mode 100644 index 000000000000..8e61f9dae4c4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png new file mode 100644 index 000000000000..6e4dee32d922 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png new file mode 100644 index 000000000000..0a7aeaa16bea Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png new file mode 100644 index 000000000000..3015dff49ea6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png new file mode 100644 index 000000000000..d3117a825c01 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png new file mode 100644 index 000000000000..5edb168c1f9a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png new file mode 100644 index 000000000000..a39f737a819d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png new file mode 100644 index 000000000000..4079c27ee5a8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png new file mode 100644 index 000000000000..65926bf30299 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png new file mode 100644 index 000000000000..f41d4dbddeff Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png new file mode 100644 index 000000000000..f232cb5799f8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png new file mode 100644 index 000000000000..3aa70a368efc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png new file mode 100644 index 000000000000..d7cecbe75b40 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png new file mode 100644 index 000000000000..0ccf4665dbf4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_pause.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_pause.png new file mode 100644 index 000000000000..c345c50567de Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_pause.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_play_gray.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_play_gray.png new file mode 100644 index 000000000000..76ba8adc3a10 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/media_play_gray.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActions.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActions.png new file mode 100644 index 000000000000..8e60f50a5952 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActions.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActionsJobs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActionsJobs.png new file mode 100644 index 000000000000..ba542292d679 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/moreActionsJobs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png new file mode 100644 index 000000000000..91c48a6be32d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/refresh.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/refresh.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportDesignList.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportDesignList.png new file mode 100644 index 000000000000..a7df23cd0275 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportDesignList.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportList.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportList.png new file mode 100644 index 000000000000..3677560feae1 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportList.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportViewFilter.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportViewFilter.png new file mode 100644 index 000000000000..d90e35733333 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/reportViewFilter.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleImmediate.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleImmediate.png new file mode 100644 index 000000000000..ae9e977feb47 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleImmediate.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleOS.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleOS.png new file mode 100644 index 000000000000..223b7bcb4faf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleOS.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleRegular.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleRegular.png new file mode 100644 index 000000000000..d82c0e4b526e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/scheduleRegular.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/searchJobs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/searchJobs.png new file mode 100644 index 000000000000..be345e761ff5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/searchJobs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/theme.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/theme.png new file mode 100644 index 000000000000..eec70e3fe630 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/guide/theme.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/architecture.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/architecture.png new file mode 100644 index 000000000000..43769753d5fa Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/architecture.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/bi_retention.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/bi_retention.png new file mode 100644 index 000000000000..a8d7178ea1a5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/bi_retention.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/centreon.cnf b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/centreon.cnf new file mode 100644 index 000000000000..02751848d984 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/centreon.cnf @@ -0,0 +1,58 @@ +[mysqld] +#datadir=/var/lib/mysql +#tmpdir = /var/lib/mysql/tmp +port = 3306 + +max_heap_table_size=512M +open_files_limit = 32000 +group_concat_max_len = 1M + +#By request( all engines) +tmp_table_size=512M +sort_buffer_size = 64M +join_buffer_size = 256M + +#During load or enable keys +bulk_insert_buffer_size = 1G +myisam_sort_buffer_size=1G + +table_open_cache = 2048 +thread_cache_size = 64 + +#Time out and linked problems +connect_timeout=28800 +innodb_lock_wait_timeout=28800 +wait_timeout=28800 +interactive_timeout=28800 +max_allowed_packet = 128M + +#Low query +slow_query_log=1 +slow_query_log_file=slow-queries.log +long_query_time=120 + +#At startup +key_buffer_size = 2G +query_cache_size=8M +query_cache_type=1 +query_cache_limit=1048576 +innodb_buffer_pool_size = 2G + + +#Innob DB +innodb_stats_on_metadata=0 +innodb_flush_method=O_DIRECT +innodb_flush_log_at_trx_commit=2 +innodb_log_buffer_size=1G #taille buffer redo log +innodb_log_file_size=512M +innodb_log_files_in_group=3 +innodb_file_per_table +innodb_open_files=1024 +innodb_max_dirty_pages_pct=30 + + +[mysqld_safe] +log-error=/var/log/mysqld.log +pid-file=/var/run/mysqld/mysqld.pid +innodb_lock_wait_timeout=1500 + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/pie_charts.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/pie_charts.png new file mode 100644 index 000000000000..c09edab5c7b7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/pie_charts.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/storage_example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/storage_example.png new file mode 100644 index 000000000000..516d041ce1af Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/storage_example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/view_creation.sql b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/view_creation.sql new file mode 100644 index 000000000000..c4ed3deb6c8d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/installation/view_creation.sql @@ -0,0 +1,59 @@ +CREATE VIEW mod_bi_report_v01 AS + + SELECT id, name, description, source, xml_file, trash, activate, weight, is_editable, optgroup_id + + FROM mod_bi_report + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_v01 AS + + SELECT id, name, id_report, task_hour, task_day_of_week, task_day, scheduling, task_month, trash, + mail_enable, mail_title, mail_body, mail_footer, report_period_start, report_period_end, is_cyclic, + mail_attach_file, generation_date, coefficient, enable_notification + + FROM mod_bi_generation + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_locale_v01 AS + + SELECT id, name + + FROM mod_bi_locale + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_publication_v01 AS + + SELECT id, name, description, publish_job_log, publication_type_id, root_directory, sub_directory, is_global, is_default + + FROM mod_bi_publication + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_publication_relations_v01 AS + + SELECT publication_id, generation_id + + FROM mod_bi_publication_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_locale_relations_v01 AS + + SELECT generation_id, locale_id + + FROM mod_bi_generation_locale_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_output_relations_V01 AS + + SELECT generation_id, generation_output_id + + FROM mod_bi_generation_output_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_host_service_relations_V01 AS + + SELECT param_obj_id , generation_id, host_id, service_id, + sg_id, hg_id, sc_id, ba_group_id, ba_id + + FROM mod_bi_host_service_relations + WHERE activity_start <= now() and activity_end > now(); + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-csv.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-csv.png new file mode 100644 index 000000000000..a02f08b44805 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-csv.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png new file mode 100644 index 000000000000..c5cede41eb4a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png new file mode 100644 index 000000000000..4d1ec14887ad Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png new file mode 100644 index 000000000000..6731d359c23f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/commit_to_branch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/commit_to_branch.png new file mode 100644 index 000000000000..8229389df149 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/commit_to_branch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request1.png new file mode 100644 index 000000000000..88adf0064d61 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request2.png new file mode 100644 index 000000000000..729390394ed5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/compare_and_pull_request2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_branch.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_branch.png new file mode 100644 index 000000000000..343af31f0b4f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_branch.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_this_page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_this_page.png new file mode 100644 index 000000000000..ca9a24b69ee5 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/edit_this_page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/editable_page.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/editable_page.png new file mode 100644 index 000000000000..45d0ac38693b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/editable_page.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/open_pr.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/open_pr.png new file mode 100644 index 000000000000..a07d9c51e9a8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/open_pr.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/pr_with_branch_name.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/pr_with_branch_name.png new file mode 100644 index 000000000000..0d526b4988e9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/pr_with_branch_name.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes.png new file mode 100644 index 000000000000..e62e3f5f4509 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes2.png new file mode 100644 index 000000000000..5d16a79198ae Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/resources/propose_changes2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/about/ba_detailed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/about/ba_detailed.png new file mode 100644 index 000000000000..e5b3a9c1fb8b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/about/ba_detailed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png new file mode 100644 index 000000000000..c2bdc5bdf602 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio.png new file mode 100644 index 000000000000..0874109fadba Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/conf-ratio.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/example.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/example.png new file mode 100644 index 000000000000..c6a302951139 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/example.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/final-frontend.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/final-frontend.png new file mode 100644 index 000000000000..d5b14e679338 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/final-frontend.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/first_page.gif b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/first_page.gif new file mode 100644 index 000000000000..c43c72a820d6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/first_page.gif differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-concept.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-concept.png new file mode 100644 index 000000000000..f8a8123b3042 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-concept.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-conf.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-conf.png new file mode 100644 index 000000000000..ebd59b6b75db Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/frontend-1-conf.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png new file mode 100644 index 000000000000..f5e23d36dd60 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png new file mode 100644 index 000000000000..0c5a1eef7f5b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-add.png new file mode 100644 index 000000000000..9c0e1874cd3d Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png new file mode 100644 index 000000000000..bcb128188407 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png new file mode 100644 index 000000000000..4b4f62ee393f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png new file mode 100644 index 000000000000..f91d4065021a Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png new file mode 100644 index 000000000000..46d7f32732e4 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png new file mode 100644 index 000000000000..baafc64c739e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png new file mode 100644 index 000000000000..696af68bf4b9 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png new file mode 100644 index 000000000000..06272daac65b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png new file mode 100644 index 000000000000..79fad36afd2b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-add.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-add.png new file mode 100644 index 000000000000..309d94258c28 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-add.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-listing.png new file mode 100644 index 000000000000..e509adb8fa77 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/business-view-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/conf_kpi.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/conf_kpi.png new file mode 100644 index 000000000000..7c5644ac04a8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/conf_kpi.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png new file mode 100644 index 000000000000..f5135c662dba Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png new file mode 100644 index 000000000000..6f12b4c14b33 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png new file mode 100644 index 000000000000..eb83ee40a1ad Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png new file mode 100644 index 000000000000..0f677fad7544 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png new file mode 100644 index 000000000000..e89eb3c506d6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png new file mode 100644 index 000000000000..841358dd2c9b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_standard.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_standard.png new file mode 100644 index 000000000000..0abb6c2c4f67 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/kpi_standard.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png new file mode 100644 index 000000000000..5935012b7575 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png new file mode 100644 index 000000000000..4a031e8cfe67 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_detailed.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_detailed.png new file mode 100644 index 000000000000..ab645c4df0d8 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_detailed.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png new file mode 100644 index 000000000000..d664de3df2ca Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png new file mode 100644 index 000000000000..02d06aa63131 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_trend.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_trend.png new file mode 100644 index 000000000000..4812616664e3 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/mon_trend.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/reporting.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/reporting.png new file mode 100644 index 000000000000..1df0dbdf9a3b Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/reporting.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/user_custom.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/user_custom.png new file mode 100644 index 000000000000..7c6fe1ceac0f Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/guide/user_custom.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png new file mode 100644 index 000000000000..1e4e4c039f76 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/logs.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/logs.png new file mode 100644 index 000000000000..5d13ac7b98cf Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/logs.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/ratio.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/ratio.png new file mode 100644 index 000000000000..baafc64c739e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/ratio.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png new file mode 100644 index 000000000000..4dcfc9f5f640 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png new file mode 100644 index 000000000000..60618c25aaa7 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png new file mode 100644 index 000000000000..d0f8d3481667 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png new file mode 100644 index 000000000000..c45a24c3c5b6 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_1.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_1.png new file mode 100644 index 000000000000..5058f4ebec73 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_1.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_2.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_2.png new file mode 100644 index 000000000000..b0c057e75e07 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_2.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_3.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_3.png new file mode 100644 index 000000000000..10b8d3cfdb3e Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_3.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_4.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_4.png new file mode 100644 index 000000000000..5ef3f6e839cc Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_4.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_5.png b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_5.png new file mode 100644 index 000000000000..3aaadd4e6427 Binary files /dev/null and b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/assets/upgrade/web_update_5.png differ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/autologin.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/autologin.md new file mode 100644 index 000000000000..91b0e030bb0a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/autologin.md @@ -0,0 +1,47 @@ +--- +id: autologin +title: Configurer une authentification par Autologin +--- + +La fonctionnalité d'Autologin vous permet de donner accès à la plateforme via une simple URL, sans login ni mot de passe. Utilisez l'Autologin par exemple pour afficher des custom views sur un grand écran dans votre espace de travail. + +## Étape 1 : Activer l'autologin + +1. Allez à la page **Administration > Paramètres > Centreon web**. + +2. Dans la section **Propriétés d'authentification**, cochez les cases suivantes : + + - **Activer la connexion automatique** + - **Afficher le raccourci de connexion automatique**. + +3. Cliquez sur **Sauvegarder**. + +## Étape 2 : Créer un utilisateur autologin + +1. [Créez un utilisateur](../monitoring/basic-objects/contacts-create.md) **autologin**, et [donnez-lui des droits d'accès](../administration/access-control-lists.md) uniquement sur les pages qui devront être affichées. + +2. Éditez l'utilisateur. Allez à l'onglet **Authentification** : + - activez l'option **Autoriser l'utilisateur à se connecter à l'interface web**. + - à droite du champ **Clé d'auto-connexion**, cliquez sur **Générer**. Notez la clé ainsi générée. + +3. Cliquez sur **Sauvegarder**. + +## Étape 3 : Récupérer l'URL de connexion + +1. Connectez-vous à Centreon en tant que l'utilisateur **autologin**. + +2. Allez à la page que vous voudrez afficher, puis cliquez sur l'icône profil en haut à droite de l'écran. + +3. Cliquez sur **Copier le lien de connexion automatique** pour obtenir l'URL à utiliser. Les URLs d'autologin ont la structure suivante : + + ``` + http://[IP_CENTREON]/centreon/main.php?p=[numéro_page]&autologin=1&useralias=[login_utilisateur]&token=[clé_autologin] + ``` + + Exemple : Le lien suivant permet à l'utilisateur **admin** de se connecter à la page **Accueil > Vues personnalisées** : + ``` + http://10.29.11.2/centreon/main.php?p=103&autologin=1&useralias=admin&token=3sWymDJk + ``` + + Pour afficher Centreon en plein écran, sans les menus ni l'en-tête, appuyez sur F. + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/loginpwd.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/loginpwd.md new file mode 100644 index 000000000000..929db7b91fb5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/loginpwd.md @@ -0,0 +1,51 @@ +--- +id: loginpwd +title: Configurer une authentification locale +--- + +## Autoriser les utilisateurs à accéder à Centreon + +1. Pour autoriser un [utilisateur](../monitoring/basic-objects/contacts.md) à accéder à l'interface Centreon, allez à la page +**Configuration > Utilisateurs > Contacts/Utilisateurs** et cliquez sur l'utilisateur désiré. + +2. Dans l'onglet **Authentification Centreon**, mettez le champ **Autoriser l'utilisateur à se connecter à l'interface web** +à **Oui**. + +3. Renseignez les champs **Mot de passe** et **Confirmation du mot de passe**: le mot de passe doit être conforme à la [politique de sécurité](#configurer-la-politique-de-sécurité-de-mot-de-passe) définie. Vous pouvez utiliser le bouton **Générer** +pour générer une chaîne de caractères aléatoires basée sur la **politique de sécurité par mot de passe**. + +Les utilisateurs peuvent changer leur mot de passe en cliquant sur l'icône profil dans le coin supérieur droit de l'écran, +puis en cliquant sur **Éditer le profil**. De plus, dans cet écran le délai d'expiration du mot de passe est affiché : + +![image](../assets/administration/password_expiration.png) + +## Configurer la politique de sécurité de mot de passe + +Depuis Centreon 22.04, une **politique de sécurité par mot de passe** a été mise en place. +Cette politique permet de renforcer la sécurité des mots de passe des comptes locaux en forcant +l'utilisateur à saisir un mot de passe complexe, de donner une durée de vie aux mots de passe +et de bloquer les tentatives d'attaque de type force brute. + +Allez à la page **Administration > Authentification> Politique de sécurité de mot de passe** : + +![image](../assets/administration/local-configuration.png) + +### Politique de casse du mot de passe + +- Définissez la longueur minimum du mot de passe. +- Définissez quels caractères le mot de passe doit contenir pour qu'il soit plus fort (minuscules/majuscules, chiffres, caractères spéciaux). Les caractères spéciaux autorisés sont les suivants : `'@$!%*?&'` + +### Politique d'expiration du mot de passe + +Configurez les conditions dans lesquelles les mots de passe expireront : + +- **Le mot de passe expire après** : Une fois le mot de passe expiré, l'utilisateur sera redirigé vers une + [page dédiée](../getting-started/interface.md#réinitialisez-votre-mot-de-passe-après-expiration) pour mettre à jour son mot de passe. +- **Durée minimum entre chaque changement de mot de passe** : Lorsqu'un mot de passe vient d'être changé, combien de temps doit s'écouler avant qu'il puisse être changé à nouveau. +- Activez ou non l'option **Les 3 derniers mot de passe peuvent être réutilisés**. +- **Excluded users** : Sélectionnez des comptes utilisateur pour lesquels la politique d'expiration de mot de passe ne s'appliquera pas (par exemple, le compte **admin**, ou les comptes accédant aux API). Les mots de passe de ces comptes n'expireront jamais. + +### Politique de blocage du mot de passe + +Pour bloquer les attaques de type force brute, vous pouvez définir le **Nombre de tentatives avant que l'utilisateur soit bloqué**, +ainsi que la **Durée de blocage avant qu'une nouvelle connexion soit autorisée**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/openid.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/openid.md new file mode 100644 index 000000000000..5de0473e0070 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/openid.md @@ -0,0 +1,363 @@ +--- +id: openid +title: Configurer une authentification par OpenId Connect +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon est compatible avec l'authentification OAuth 2.0/OpenId Connect. + +Il est possible d'utiliser un fournisseur d'identité (IdP) tel que Microsoft Azure AD, Okta, Keycloak, LemonLDAP::NG ou +tout autre IdP compatible avec le flux d'autorisation via un code (Authorization Code Grant). + +## Configurer l'authentification OpenID Connect + +L'authentification se paramètre à la page **Administration > Authentification > Configuration OpenId Connect**. + +### Étape 1 : Activer l'authentification + +Activez l'authentification OpenID Connect : + +- **Activer l'authentification OpenID Connect** : active/désactive l'authentification OpenId Connect. +- **Mode d'authentification** : indique si l'authentification doit se faire uniquement par OpenId Connect ou en + utilisant également l'authentification locale (**Mixte**). En mode mixte, des utilisateurs créés manuellement dans + Centreon (et non identifiés par OpenID) pourront également se connecter. + +> Lors du paramétrage, il est recommandé d'activer le mode "mixte". Cela vous permettra de garder l'accès au compte +> local `admin` en cas de configuration erronée. + +### Étape 2 : Configurer les informations d'accès au fournisseur d'identité + +Renseignez les informations du fournisseur d'identité : + +- **URL de base** : définit l'URL de base du fournisseur d'identité pour les points d'entrée OpenId Connect (obligatoire). +- **Point d'entrée d'autorisation** : définit le point d'entrée d'autorisation, par exemple `/authorize` (obligatoire). +- **Point d'entrée de jeton** : définit le point d'entrée du jeton, par exemple `/token` (obligatoire). +- **Identifiant client** : définit l'ID client (obligatoire). +- **Secret de client** : définit le secret client (obligatoire). +- **Portées** : définit la portée du fournisseur d'identité, par exemple `openid`. Séparez différentes portées par des espaces. + > Selon le fournisseur d'identité, il est nécessaire de saisir plusieurs portées (scopes) afin de récupérer la valeur + > (claim) qui identifiera l'utilisateur. Ceci est indiqué dans la documentation de configuration du fournisseur. +- **Valeur de la déclaration de connexion** : définit quelle variable renvoyée par les points d'entrée + **Point d'entrée de jeton d'introspection** ou **Point d'entrée d'information utilisateur** doit être utilisée pour + authentifier l'utilisateur. Par exemple `sub` ou `email`. +- **Point d'entrée de fin de session** : définit le point d'entrée de déconnexion, par exemple `/logout`. + +Suivant votre fournisseur d'identité, définissez l'un ou l'autre des deux endpoints suivants : + +- **Point d'entrée de jeton d'introspection** : définit le point d'entrée du jeton d'introspection, par exemple `/introspect` (obligatoire). +- **Point d'entrée d'information utilisateur** : définit le point d'entrée des informations utilisateur, par exemple `/userinfo`. + +Vous pouvez également configurer : + +- **Utiliser l'authentification basique pour l'authentification du point d'entrée de jeton** : si cette option est activée, la + méthode `Authorization: Basic` sera utilisée. Activez cette option si votre fournisseur d'identité le demande. +- **Désactiver la vérification du pair** : permet de désactiver la validation des pairs SSL. Le certificat du fournisseur d'identité ne + sera pas vérifié : cette option ne doit être utilisée qu'à des fins de test. + +> Il est possible de définir une URL complète pour les points de entrée au cas où la base de l'URL est différente +> des autres. + +> Vous pouvez activer **Enregistrer les authentifications** via le menu **Administration > Paramètres > Débogage** pour comprendre les +> échecs d'authentification et améliorer votre configuration. + +### Étape 3 : Configurer les conditions d'authentification + +* Vous pouvez ajouter des adresses IP en liste blanche ou liste noire. Si vous laissez ces deux champs vides, toutes les +adresses IP seront autorisées à accéder à l'interface Centreon. + + - **Adresses de clients de confiance** : Si vous entrez des adresses IP dans ce champ, seules ces adresses IP seront + autorisées à accéder à l'interface Centreon. Toutes les autres adresses IP seront bloquées. Séparez les adressses IP + par des virgules. + - **Adresses de clients sur liste noire** : Ces adresses IP seront bloquées. Toutes les autres adresses IP seront autorisées. + +* Vous pouvez également définir des conditions selon lesquelles les utilisateurs seront autorisés à se connecter ou non, en + fonction des données reçues par un point d'entrée particulier. + - **Activer les conditions sur le fournisseur d'identité**. + - Définissez quel attribut et quel point d'entrée seront utilisés pour valider les conditions. + - Pour l'option **Définir les valeurs des conditions autorisées**, définissez quelles valeurs renvoyées par ce + point d'entrée seront autorisées. Si vous entrez plusieurs valeurs, toutes devront être remplies pour que la condition soit validée. Tous les + utilisateurs qui tentent de se connecter avec une autre valeur ne pourront pas se connecter. + + Dans l'exemple ci-dessous, la valeur de **Chemin de l'attribut des conditions** est **status** et la valeur de + **Définir les valeurs des conditions autorisées** est **activated**. Si le point d'entrée **Point d'entrée d'introspection** + vous donne la réponse suivante, l'utilisateur est autorisé à se connecter : + + ```json + { + ... + "name": "OpenId Connect OIDC", + "given_name": "OpenId Connect", + "family_name": "OIDC", + "preferred_username": "oidc", + "email": "oidc@localhost", + "email_verified": false, + ... + "status": "activated" + } + ``` + + > Actuellement, seules les valeurs de type chaîne de caractères peuvent être utilisées. + +### Étape 4 : Gérer la création d'utilisateurs + + + + +Si vous activez l'import automatique des utilisateurs, les utilisateurs qui se connecteront à Centreon pour la première fois +seront créés dans la configuration Centreon. (Activer l'option n'importe pas automatiquement tous les utilisateurs de votre infrastructure.) + +- **Activer l'importation automatique** : active/désactive l'import automatique des utilisateurs. Si l'import automatique des utilisateurs + est désactivé, vous devrez [créer chaque utilisateur manuellement](../monitoring/basic-objects/contacts-create.md) avant que celui-ci ne se connecte. +- **Modèle de contact** : sélectionnez un [modèle de contact](../monitoring/basic-objects/contacts-templates.md) qui sera appliqué aux + nouveaux utilisateurs importés. + Cela permet notamment de gérer le paramétrage par défaut des [notifications](../alerts-notifications/notif-configuration.md). +- **Attribut de l'email** : définit quelle variable renvoyée par les points d'entrée **Point d'entrée de jeton d'introspection** ou + **Point d'entrée d'information utilisateur** doit être utilisée pour récupérer l'adresse email de l'utilisateur. +- **Attribut du nom complet** : définit quelle variable renvoyée par les points d'entrée **Point d'entrée de jeton d'introspection** + ou **Point d'entrée d'information utilisateur** doit être utilisée pour récupérer le nom complet de l'utilisateur. + + + + +À la page **Configuration > Utilisateurs > Contacts/Utilisateurs**, [créez les utilisateurs](../monitoring/basic-objects/contacts-create.md) +qui se connecteront à Centreon avec OpenID Connect. + + + + +### Étape 5 : Gérer les autorisations + + + + +Si vous activez l'option **Activer la gestion automatique**, les utilisateurs qui se connectent à Centreon se verront +automatiquement accorder des [droits](../administration/access-control-lists.md), car ils seront liés à des +[groupes d'accès](../administration/access-control-lists.md#créer-un-groupe-daccès) selon les règles que vous avez définies. + +- Définissez quel attribut et quel point d'entrée seront utilisés pour récupérer des valeurs afin d'appliquer des relations + avec des groupes d'accès. +- **Appliquer uniquement le premier rôle**: si plusieurs rôles sont trouvés pour un utilisateur spécifique dans les informations du fournisseur + d'identité, alors seul le premier rôle sera appliqué. Si l'option est désactivée, tous les rôles seront appliqués. +- Faites correspondre un attribut extrait du fournisseur d'identité avec le groupe d'accès auquel vous souhaitez que l'utilisateur + appartienne. + +Par exemple, le **Point d'entrée d'introspection** vous donne la réponse suivante et l'option **Appliquer uniquement le premier rôle** +est activée. Le **Chemin de l'attribut de rôles** sera **realm_access.roles** et l'option +**Définir la relation entre les rôles et les groupes d'accès ACL** établira une relation entre la valeur **centreon-editor** +et un groupe d'accès défini dans Centreon : + +```json +{ + ... + "realm_access": { + "roles": ["centreon-editor", "centreon-admin", "user"] + }, + ... +} +``` + +> Lors de la récupération des attributs, Centreon va fusionner les attributs récupérés dans le JWT (JSON Web Token) +> avec ceux récupérés dans le point d'entrée sélectionné en donnant priorité aux attributs du JWT. Ainsi, si un attribut +> est disponible dans le JWT et dans le point d'entrée sélectionné, alors l'attribut retenu sera celui provenant du JWT. + +> À chaque connexion de l'utilisateur, la gestion des autorisations est réinitialisée pour prendre en compte toute nouvelle +> information en provenance du fournisseur d'identité. + + + + +Si vous désactivez l'option **Activer la gestion automatique**, vous devrez [attribuer des droits](../administration/access-control-lists.md) +à vos utilisateurs manuellement en liant ceux-ci à des [groupes d'accès](../administration/access-control-lists.md#créer-un-groupe-daccès). + + + + +### Étape 6 : Gérer les groupes de contacts + + + + +Si vous activez l'option **Activer la gestion automatique**, les utilisateurs qui se connectent à Centreon seront rattachés +aux [groupes de contacts](../monitoring/basic-objects/contacts-groups.md#créer-un-groupe-de-contacts) que vous avez définis. + +- Définissez quel attribut et quel point d'entrée seront utilisés pour récupérer des valeurs afin de créer des relations avec + des groupes d'accès. +- Faites correspondre les attributs extraits du fournisseur d'identité avec les groupes de contacts auxquels vous souhaitez + que l'utilisateur appartienne. + +Par exemple, le **Point d'entrée d'introspection** vous donne la réponse suivante. Le **Chemin de l'attribut de groupes** +sera **groups** et l'option **Définir la relation entre les groupes et les groupes de contact** établira une relation entre +la valeur **Linux** et un groupe de contacts défini dans Centreon : + +```json +{ + ... + "groups": ["Windows", "Linux", "DBA"], + ... +} +``` + +> À chaque connexion de l'utilisateur, la gestion des groupes est réinitialisée pour prendre en compte toute nouvelle +> information en provenance du fournisseur d'identité. + +> Lors de la récupération des attributs, Centreon va fusionner les attributs récupérés dans le JWT (JSON Web Token) +> avec ceux récupérés dans le point d'entrée sélectionné en donnant priorité aux attributs du JWT. Ainsi, si un attribut +> est disponible dans le JWT et dans le point d'entrée sélectionné, alors l'attribut retenu sera celui provenant du JWT. + + + + +Si vous désactivez l'otion **Activer la gestion automatique**, vous devrez gérer manuellement les relations entre contacts et [groupes de contacts](../monitoring/basic-objects/contacts-groups.md#créer-un-groupe-de-contacts). + + + + +### Étape 7 : Configurer le fournisseur d'identité + +Configurez votre fournisseur d'identité pour ajouter l'application Centreon à utiliser le protocole OpenID Connect pour +authentifier vos utilisateur, et pour autoriser l'uri de redirection suivante une fois vos utilisateurs authentifiés : + +```shell +{protocol}://{server}:{port}/centreon/authentication/providers/configurations/openid +``` + +> Remplacez `{protocol}`, `{server}` et `{port}` par l'URI permettant d'accéder à votre serveur Centreon. +> Par exemple : `https://centreon.domain.net/centreon/authentication/providers/configurations/openid` + +### Exemples de configuration + + + + +Voici un exemple de configuration pour Microsoft Azure Active Directory: + +| Champs | Valeurs | +|------------------------------|-----------------------------------------------------------| +| Base Url | https://login.microsoftonline.com/${tenantId}/oauth2/v2.0 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| User Information Endpoint | https://graph.microsoft.com/oidc/userinfo | +| End Session Endpoint | | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Remplacez `${tenantId}`, `${clientId}` et `${clientSecret}` par vos propres valeurs. + + + + +Voici un exemple de configuration pour Okta: + +| Champs | Valeurs | +|------------------------------|------------------------------------------| +| Base Url | https://${theIdPdomain}/oauth2/v1 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| Introspection Token Endpoint | /introspect | +| User Information Endpoint | /userinfo | +| End Session Endpoint | /logout | +| Scope | profile openid | +| Login claim value | username | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Remplacez `${theIdPdomain}`, `${clientId}` et `${clientSecret}` par vos propres valeurs. + + + + +Voici un exemple de configuration pour Keycloak: + +| Champs | Valeurs | +|------------------------------|-------------------------------------------------------------------------| +| Base Url | https://${theIdPdomain}:8080/auth/realms/master/protocol/openid-connect | +| Authorization Endpoint | /auth | +| Token Endpoint | /token | +| Introspection Token Endpoint | /token/introspect | +| User Information Endpoint | | +| End Session Endpoint | /logout | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Remplacez `${theIdPdomain}`, `${clientId}` et `${clientSecret}` par vos propres valeurs. + + + + +Voici un exemple de configuration pour LemonLDAP::NG: + +| Champs | Valeurs | +|------------------------------|------------------------------------------| +| Base Url | http://auth.example.com/oauth2 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| Introspection Token Endpoint | /introspect | +| User Information Endpoint | /userinfo | +| End Session Endpoint | | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Remplacez `auth.example.com`, `${clientId}` et `${clientSecret}` par vos propres valeurs. + + + + +La plupart des fournisseurs de services ont une URL présentant la configuration des paramètres de configuration telle que +définie par [le protocole](https://openid.net/specs/openid-connect-discovery-1_0#ProviderConfig). + +```json +{ + "issuer": "https://server.example.com", + "authorization_endpoint": "https://server.example.com/connect/authorize", + "token_endpoint": "https://server.example.com/connect/token", + "token_endpoint_auth_methods_supported": ["client_secret_basic", "private_key_jwt"], + "token_endpoint_auth_signing_alg_values_supported": ["RS256", "ES256"], + "userinfo_endpoint": "https://server.example.com/connect/userinfo", + "check_session_iframe": "https://server.example.com/connect/check_session", + "end_session_endpoint": "https://server.example.com/connect/end_session", + "jwks_uri": "https://server.example.com/jwks.json", + "registration_endpoint": "https://server.example.com/connect/register", + "scopes_supported": ["openid", "profile", "email", "address", "phone", "offline_access"], + "response_types_supported": ["code", "code id_token", "id_token", "token id_token"], + "acr_values_supported": ["urn:mace:incommon:iap:silver", "urn:mace:incommon:iap:bronze"], + "subject_types_supported": ["public", "pairwise"], + "userinfo_signing_alg_values_supported": ["RS256", "ES256", "HS256"], + "userinfo_encryption_alg_values_supported": ["RSA1_5", "A128KW"], + "userinfo_encryption_enc_values_supported": ["A128CBC-HS256", "A128GCM"], + "id_token_signing_alg_values_supported": ["RS256", "ES256", "HS256"], + "id_token_encryption_alg_values_supported": ["RSA1_5", "A128KW"], + "id_token_encryption_enc_values_supported": ["A128CBC-HS256", "A128GCM"], + "request_object_signing_alg_values_supported": ["none", "RS256", "ES256"], + "display_values_supported": ["page", "popup"], + "claim_types_supported": ["normal", "distributed"], + "claims_supported": ["sub", "iss", "auth_time", "acr", + "name", "given_name", "family_name", "nickname", + "profile", "picture", "website", + "email", "email_verified", "locale", "zoneinfo", + "http://example.info/claims/groups" + ], + "claims_parameter_supported": true, + "service_documentation": "http://server.example.com/connect/service_documentation", + "ui_locales_supported": ["en-US", "en-GB", "en-CA", "fr-FR", "fr-CA"] +} +``` + +Récupérez les paramètres suivants pour configurer votre Centreon : + +- issuer (Base Url) +- authorization_endpoint +- token_endpoint +- userinfo_endpoint +- end_session_endpoint +- scopes_supported +- claims_supported (Login claim value) + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/saml.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/saml.md new file mode 100644 index 000000000000..d0bec3788518 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/saml.md @@ -0,0 +1,138 @@ +--- +id: saml +title: Configurer une authentification par SAML +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Configurer l'authentification SAML + +L'authentification se paramètre à la page **Administration > Authentification > Configuration SAML**. + +### Étape 1 : Activer l'authentification + +Activez l'authentification SAML : + +- **Activer l'authentification SAMLv2** : active/désactive l'authentification SAML. +- **Mode d'authentification**: indique si l'authentification doit se faire uniquement par SAML ou en utilisant + également l'authentification locale (**Mixte**). En mode mixte, des utilisateurs créés manuellement dans Centreon + (et non identifiés par SAML) pourront également se connecter. + +> Lors du paramétrage, il est recommandé d'activer le mode "mixte". Cela vous permettra de garder l'accès au compte local +> `admin` en cas de configuration erronée. + +### Étape 2 : Configurer les informations d'accès au fournisseur d'identité + +Renseignez les informations du fournisseur d'identité : + +- **URL de connexion distante**: définit l'URL de connexion du fournisseur d'identité pour identifier les utilisateurs + (obligatoire). +- **URL de l'émetteur (Entity ID)**: définit l'URL représentant le nom unique d'une entité SAML (obligatoire). +- **Copier/coller le certificat x509**: ajoutez ici le certificat x509 du fournisseur d'identité (obligatoire). +- **Attribut de l'identifiant utilisateur (login) pour l'utilisateur Centreon**: définit quelle variable renvoyée par + le fournisseur d'identité doit être utilisée pour authentifier les utilisateurs. Par exemple, **email**. (obligatoire). +- Se déconnecter de: + * **Interface Centreon uniquement**: les utilisateurs seront uniquement déconnectés de Centreon. + * **Fournisseur d'identité et interface Centreon**: les utilisateurs seront déconnectés à la fois de Centreon et du fournisseur + d'identité. + > Si vous sélectionnez **Fournisseur d'identité et interface Centreon**, vous devez définir une **URL de déconnexion**. + +### Étape 3 : Configurer les conditions d'authentification + +Vous pouvez définir des conditions selon lesquelles les utilisateurs seront autorisés à se connecter ou non, en +fonction des données reçues par un endpoint particulier: + - Activer **Activer les conditions sur le fournisseur d'identité**. + - Définir quel attribut sera utilisé pour valider les conditions. + - **Définir les valeurs des conditions autorisées**: définir quelles seront les valeurs autorisées renvoyées. Si vous + entrez plusieurs valeurs, toutes devront être remplies pour que la condition soit validée. Tous les utilisateurs qui + tentent de se connecter avec une autre valeur ne pourront pas se connecter. + +### Étape 4 : Gérer la création d'utilisateurs + + + + +Si vous activez **Activer l'importation automatique**, les utilisateurs qui se connectent pour la première fois à Centreon +seront créés dans la configuration de Centreon. (L'activation de l'option n'importe pas automatiquement tous les utilisateur + de votre infrastructure.) + +- **Activer l'importation automatique** : active/désactive l'import automatique des utilisateurs. Si l'import automatique desutilisateurs + est désactivé, vous devrez [créer chaque utilisateur manuellement](../monitoring/basic-objects/contacts-create.md) avant que celui-ci ne se connecte. +- **Modèle de contact** : sélectionnez un [modèle de contact](../monitoring/basic-objects/contacts-templates.md) qui sera appliqué aux + nouveaux utilisateurs importés. + Cela permet notamment de gérer le paramétrage par défaut des [notifications](../alerts-notifications/notif-configuration.md). +- **Attribut de mail** : définit quelle variable sera utilisée pour récupérer l'adresse email de l'utilisateur. +- **Attribut de nom complet** : définit quelle variable sera utilisée pour récupérer le nom complet de l'utilisateur. + + + + +À la page **Configuration > Utilisateurs > Contacts/Utilisateurs**, [créez les utilisateurs](../monitoring/basic-objects/contacts-create.md) +qui se connecteront à Centreon avec SAML. + + + + +### Étape 5 : Gérer les autorisations + + + + +Si vous activez l'option **Activer la gestion automatique**, les utilisateurs qui se connectent à Centreon se verront +automatiquement accorder des [droits](../administration/access-control-lists.md), car ils seront liés à des +[groupes d'accès](../administration/access-control-lists.md#créer-un-groupe-daccès) selon les règles que vous avez définies. + +- Définissez quel attribut et quel point d'entrée seront utilisés pour récupérer des valeurs afin d'appliquer des relations + avec des groupes d'accès. +- **Appliquer uniquement le premier rôle**: si plusieurs rôles sont trouvés pour un utilisateur spécifique dans les informations du fournisseur + d'identité, alors seul le premier rôle sera appliqué. Si l'option est désactivée, tous les rôles seront appliqués. +- Faites correspondre un attribut extrait du fournisseur d'identité avec le groupe d'accès auquel vous souhaitez que l'utilisateur + appartienne. + +> À chaque connexion de l'utilisateur, la gestion des autorisations est réinitialisée pour prendre en compte toute nouvelle +> information en provenance du fournisseur d'identité. + + + + +Si vous désactivez l'option **Activer la gestion automatique**, vous devrez [attribuer des droits](../administration/access-control-lists.md) +à vos utilisateurs manuellement en liant ceux-ci à des [groupes d'accès](../administration/access-control-lists.md#créer-un-groupe-daccès). + + + + +### Étape 6 : Gérer les groupes de contacts + + + + +Si vous activez l'option **Activer la gestion automatique**, les utilisateurs qui se connectent à Centreon seront rattachés +aux [groupes de contacts](../monitoring/basic-objects/contacts-groups.md#créer-un-groupe-de-contacts) que vous avez définis. + +- Définissez quel attribut et quel point d'entrée seront utilisés pour récupérer des valeurs afin de créer des relations avec + des groupes d'accès. +- Faites correspondre les attributs extraits du fournisseur d'identité avec les groupes de contacts auxquels vous souhaitez + que l'utilisateur appartienne. + +> À chaque connexion de l'utilisateur, la gestion des groupes est réinitialisée pour prendre en compte toute nouvelle +> information en provenance du fournisseur d'identité. + + + + +Si vous désactivez l'otion **Activer la gestion automatique**, vous devrez gérer manuellement les relations entre contacts et +[groupes de contacts](../monitoring/basic-objects/contacts-groups.md#créer-un-groupe-de-contacts). + + + + +### Étape 7 : Configurer le fournisseur d'identité + +Configurez votre fournisseur d'identité afin que l'application Centreon puisse utiliser le protocole SAML pour authentifier +vos utilisateurs. Voici un exemple de champs que vous devrez peut-être remplir : + +| Option fournisseur d'identité | Valeur Centreon | +|--------------------------------------|----------------------------------------------------------------| +| Client ID | https:// | +| Assertion Consumer Service (ACS) URL | https:///centreon/api/latest/saml/acs | +| Redirect Binding URLs for SLO | https:///centreon/api/latest/saml/sls | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/sso.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/sso.md new file mode 100644 index 000000000000..80ac77be9254 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/connect/sso.md @@ -0,0 +1,115 @@ +--- +id: sso +title: Configurer une authentification par SSO +--- + +L'authentification Web SSO repose sur le serveur Web Apache. C'est Apache qui, selon sa configuration, se charge +d'authentifier l'utilisateur avant d'autoriser l'accès à l'interface web de Centreon. +De nombreux modules Apache permettent l'authentification via les protocoles OIDC, SAMLv2, TLS, Kerberos, etc. + +> L'utilisateur doit être présent dans la configuration de Centreon pour accéder à l'interface. + +## Configurer l'authentification Web SSO + +L'authentification se paramètre à la page **Administration > Authentication > Web SSO Configuration** : + +![image](../assets/administration/web-sso-configuration.png) + +### Étape 1 : Activer l'authentification + +Activez l'authentification : + +- **Enable Web SSO authentication** permet d'activer ou de désactiver l'authentification Web SSO. +- **Mode d'authentification** : indique si l'authentification doit se faire uniquement par Web SSO ou en + utilisant également l'authentification locale (**Mixte**). En mode mixte, des utilisateurs créés manuellement dans + Centreon (et non identifiés par Web SSO) pourront également se connecter. + +> Lors du paramétrage, il est recommandé d'activer le mode "mixte". Cela vous permettra de garder l'accès au compte +> local `admin` en cas de configuration érronée. + +### Étape 2 : Configurer les informations d'accès au fournisseur d'identité + +Configurez les informations du fournisseur d'identité: + +- **Login header attribute name**: Quelle variable des en-têtes doit être utilisée pour récupérer le login de + l'utilisateur. Par exemple `REMOTE_USER`. +- **Pattern match login (regex)**: une expression régulière à rechercher dans l'identifiant. Par exemple, entrez + `/@.*/` pour trouver la fin de l'adresse email de votre identifiant. +- **Pattern replace login (regex)**: la chaîne par laquelle remplacer celle définie dans le champ + **Pattern match login (regex)** pour l'authentification (login). Laissez le champ vide pour supprimer cette chaîne. + +### Étape 3 : Configurer les adresses des clients + +Si vous laissez ces deux champs vides, toutes les adresses IP seront autorisées à accéder à l'interface Centreon. + +- **Adresses de clients de confiance** : Si vous entrez des adresses IP dans ce champ, seules ces adresses IP seront autorisées à accéder à l'interface Centreon. Toutes les autres adresses IP seront bloquées. Séparez les adressses IP par des virgules. +- **Adresses de clients sur liste noire** : Ces adresses IP seront bloquées. Toutes les autres adresses IP seront autorisées. + +### Étape 4 : Configurer le serveur web Apache + +Vous devez configurer le module Apache permettant l'authentification auprès du fournisseur d'identité. +Une fois cette configuration effectuée, vous devez modifier la configuration de Centreon pour Apache afin de +n'autoriser l'accès qu'aux utilisateurs authentifiés. + +1. Éditez le fichier **/etc/httpd/conf.d/10-centreon.conf** et recherchez le bloc suivant : + + ```apache + Header set X-Frame-Options: "sameorigin" + Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict + ServerSignature Off + TraceEnable Off + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + ``` + +2. Remplacez-le par : + + ```apache + Header set X-Frame-Options: "sameorigin" + Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict + ServerSignature Off + TraceEnable Off + + RequestHeader set X-Forwarded-Proto "http" early + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + AuthType openid-connect + Require valid-user + + ``` + + > Dans cet exemple, le module Apache utilisé était **mod_auth_openidc**. C'est pourquoi l'authentification est **openid-connect**. + +3. Validez la configuration d'Apache à l'aide de la commande suivante : + + ```shell + /opt/rh/httpd24/root/usr/sbin/httpd -t + ``` + +4. Redémarrez ensuite le serveur Web Apache : + + ```shell + systemctl restart httpd24-httpd + ``` + +5. Pour conclure, reconstruisez le cache : + + ```shell + sudo -u apache /usr/share/centreon/bin/console cache:clear + ``` + +### Step 5: Configurer le fournisseur d'identité + +Configurer votre fournisseur d'identité pour ajouter l'application Centreon à utiliser votre protocole pour +authentifier vos utilisateur, et pour autoriser `l'uri de redirection` suivante une fois vos utilisateurs authentifiés : + +```shell +{protocol}://{server}:{port}/centreon/websso +``` + +> Remplacez `{protocol}`, `{server}` et `{port}` par l'URI permettant d'accéder à votre serveur Centreon. +> Par exemple : `https://centreon.domain.net/centreon/websso` \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-bbdo.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-bbdo.md new file mode 100644 index 000000000000..931fbf527793 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-bbdo.md @@ -0,0 +1,341 @@ +--- +id: developer-broker-bbdo +title: Le protocole BBDO +--- + +Le protocole BBDO a été créé pour être le protocole par défaut de Centreon Broker. Il est léger, facile à décoder et spécialement conçu pour la surveillance des ressources avec Centreon Broker. + +## Introduction + +BBDO est l’abréviation de Broker Binary Data Object. BBDO est conçu pour transférer des « paquets de données » d’un nœud à un autre. Ces « paquets de données » sont la plupart du temps des informations de supervision fournies par le moteur de supervision (par exemple le moteur Centreon Engine ou Nagios). Il utilise principalement des valeurs binaires brutes, ce qui lui permet d’utiliser très peu de mémoire. + +Avec Broker 22.04.0, nous avons introduit une nouvelle version de BBDO basée sur [Google Protobuf 3](https://developers.google.com/protocol-buffers). Le nouveau protocole reste compatible avec le précédent mais introduit de nouveaux événements. Par exemple, les événements PbService et PbServiceStatus sont envoyés au lieu des événements Service et ServiceStatus. Configuré avec BBDO 3, Broker comprend toujours les événements Service et ServiceStatus mais il doit envoyer par défaut les nouvelles versions. + +## Types + +Cette section porte sur le protocole BBDO 2. + +En tant que protocole binaire, BBDO utilise des types de données pour sérialiser les données. Ils sont écrits dans un format Big Endian et décrits dans le tableau suivant. + +| Type| Représentation| Taille (octets) +|----------|----------|---------- +| entier| binaire| 4 +| entier court| binaire| 2 +| entier long| binaire| 8 +| temps| binaire (horodatage)| 8 +| booléen| binaire (0 est False, tout le reste est True)| 1 +| chaîne| chaîne UTF-8 non terminée| variable +| réel| chaîne UTF-8 non terminée (au format fixe (2013) ou scientifique (2.013e+3))| variable + +## Format de paquet + +Le format des paquets de Centreon Broker n’introduit que 16 octets d’en-tête pour transmettre chaque événement de supervision (généralement environ 100-200 octets chacun). Les champs sont fournis au format Big Endian. + +| Champ| Type| Description +|----------|----------|---------- +| checksum| entier court non signé| CRC-16-CCITT X.25 de la taille, de l’ID, de la source et de la destination. La somme de contrôle peut être utilisée pour récupérer un paquet de données incomplet envoyé dans le flux en laissant tomber les octets un par un. +| size| entier court non signé| Taille du paquet, hors en-tête. +| id| entier non signé| ID de l’événement. +| source\_id| entier non signé| L’ID de l’instance source de cet événement. +| destination\_id| entier non signé| L’ID de l’instance de destination de cet événement. +| data| | Données utiles. + +Ici, la seule différence entre BBDO 3 et les versions précédentes est le contenu des données. Dans BBDO 3, cette partie est un objet Protobuf sérialisé alors que dans les versions précédentes, il s’agit de données sérialisées comme expliqué dans la section Types. + +### ID de paquet + +Comme nous l’avons vu dans le paragraphe précédent, chaque paquet contient un ID qui exprime par lui-même la façon dont les données sont encodées. Cet ID peut être divisé en deux composants de 16 bits. Les 16 bits les plus significatifs sont la catégorie d’événement et les 16 bits les moins significatifs sont le type d’événement. + +Les catégories d’événements sérialisent les propriétés des événements l’une après l’autre, l’ordre est donc très important pour ne pas perdre le fil lors de la désérialisation des événements. + +## Catégories d’événements + +Les catégories actuellement disponibles sont décrites dans le tableau ci-dessous. + +| Catégorie| macro API| Valeur| Description +|----------|----------|----------|---------- +| NEB| BBDO\_NEB\_TYPE| 1| Événements classiques de supervision (hôtes, services, notifications, gestionnaires d’événements, exécution des plugins, ...). +| BBDO| BBDO\_BBDO\_TYPE| 2| Catégorie interne au protocole BBDO. +| Storage| BBDO\_STORAGE\_TYPE| 3| Catégorie liée à la création de graphiques RRD. +| Correlation| BBDO\_CORRELATION\_TYPE| 4| Corrélation d’état (obsolète). +| Dumper| BBDO\_DUMPER\_TYPE| 5| Événements de dumper (utilisés uniquement pour les tests). +| Bam| BBDO\_BAM\_TYPE| 6| Événements BAM. +| Extcmd| BBDO\_EXTCMD\_TYPE| 7| Commandes externes de Centreon Broker (obsolète). +| Internal| BBDO\_INTERNAL\_TYPE| 65535| Réservé à l’usage interne du protocole. + +### NEB + +Le tableau ci-dessous répertorie les types d’événements disponibles dans la catégorie NEB. Ils doivent être combinés avec la catégorie BBDO\_NEB\_TYPE pour obtenir un ID d’événement BBDO. + +| Type| Valeur| Utilise Protobuf +|----------|----------|---------- +| Acknowledgement| 1| Non +| Comment| 2| Non +| Custom variable| 3| Non +| Custom variable status| 4| Non +| Downtime| 5| Non +| Event handler| 6| Non +| Flapping status| 7| Non +| Host check| 8| Non +| Host dependency| 9| Non +| Host group| 10| Non +| Host group member| 11| Non +| Host| 12| Non +| Host parent| 13| Non +| Host status| 14| Non +| Instance| 15| Non +| Instance status| 16| Non +| Log entry| 17| Non +| Module| 18| Non +| Service check| 19| Non +| Service dependency| 20| Non +| Service group| 21| Non +| Service group member| 22| Non +| Service| 23| Non +| Service status| 24| Non +| Instance Configuration| 25| Non +| Responsive Instance| 26| Non +| Pb Service| 27| Oui +| Pb Adaptive Service| 28| Oui +| Pb Service Status| 29| Oui +| Pb Host| 30| Oui +| Pb Adaptive Host| 31| Oui +| Pb Host Status| 32| Oui +| Pb Severity| 33| Oui +| Pb Tag| 34| Oui + +### Storage + +Le tableau ci-dessous répertorie les types d’événements disponibles dans la catégorie Storage. Ils doivent être combinés avec la catégorie BBDO\_STORAGE\_TYPE pour obtenir un ID d’événement BBDO. + +| Type | Value | Utilise Protobuf | +|---------------------------------|-------|------------------| +| Metric | 1 | No | +| Rebuild | 2 | No | +| Remove graph | 3 | No | +| Status | 4 | No | +| Index mapping | 5 | No | +| Metric mapping | 6 | No | +| Pb Rebuild Message | 7 | Yes | +| Pb Remove Graph Message | 8 | Yes | +| Pb Metric | 9 | Yes | +| Pb Status | 10 | Yes | +| Pb Index mapping | 11 | Yes | +| Pb Metric mapping | 12 | Yes | + +### BBDO + +Le tableau ci-dessous répertorie les types d’événements disponibles dans la catégorie BBDO. Ils doivent être combinés avec la catégorie BBDO\_BBDO\_TYPE pour obtenir un ID d’événement BBDO. + +| Type | Valeur| Utilise Protobuf | +|-------------------|-------|------------------| +| version response | 1 | Non | +| ack | 2 | Non | +| stop | 3 | Non | +| Pb ack | 8 | Oui | +| Pb stop | 9 | Oui | + +### BAM + +Le tableau ci-dessous répertorie les types d’événements disponibles dans la catégorie BAM. Ils doivent être combinés avec la catégorie BBDO\_BAM\_TYPE pour obtenir un ID d’événement BBDO. + +| Type | Valeur | Uses Protobuf | +|------------------------------------ | ------ | ------------- | +| BA status | 1 | Non | +| KPI status | 2 | Non | +| Meta Service Status | 3 | Non | +| BA event | 4 | Non | +| KPI event | 5 | Non | +| BA Duration Event | 6 | Non | +| Dimension BA Event | 7 | Non | +| Dimension KPI Event | 8 | Non | +| Dimension BA BV Relation Event | 9 | Non | +| Dimension BV Event | 10 | Non | +| Dimension Truncate Table Signal | 11 | Non | +| Rebuild | 12 | Non | +| Dimension Timeperiod | 13 | Non | +| Dimension BA Timeperiod Relation | 14 | Non | +| Inherited Downtime | 17 | Non | +| Pb Inherited Downtime | 18 | Oui | +| Pb BA status | 19 | Oui | +| Pb BA event | 20 | Oui | +| Pb KPI event | 21 | Oui | +| Pb Dimension BV Event | 22 | Oui | +| Pb Dimension BA BV Relation Event | 23 | Oui | +| Pb Dimension Timeperiod | 24 | Oui | +| Pb Dimension BA Event | 25 | Oui | +| Pb Dimension KPI Event | 26 | Oui | +| Pb KPI status | 27 | Oui | +| Pb BA Duration Event | 28 | Oui | +| Pb Dimension BA Timeperiod Relation | 29 | Oui | +| Pb Dimension Truncate Table Signal | 30 | Oui | + +## Sérialisation des événements + +La plupart des événements répertoriés dans chaque [catégorie d’événements](#catégories-dévénements) dispose d’un mapping utilisé pour sérialiser leur contenu. En effet, leur contenu est directement sérialisé dans les [données utiles du paquet](#format-de-paquet), un champ après l’autre dans l’ordre décrit dans les [tables de correspondance](developer-broker-mapping.md). Ils sont encodés selon les règles décrites dans le [paragraphe sur les types](#types). + +## Exemple + +Prenons un exemple et voyons comment un *événement* *host check* est envoyé dans un paquet. Son mapping est le suivant : + +| Propriété| Type| Valeur dans l’exemple +|----------|----------|---------- +| active\_checks\_enabled| booléen| True. +| check\_type| entier court| 0 (contrôle de l’hôte actif). +| host\_id| entier non signé| 42 +| next\_check| temps| 1365080225 +| command\_line| chaîne| ./my\_plugin -H 127.0.0.1 + +Et donne le paquet suivant avec les valeurs en hexadécimal. + +``` ++-----------------+-----------------+-----------------------------------+ +| CRC16 | SIZE | ID | ++========+========+========+========+========+========+========+========+ +| 0A | 23 | 00 | 28 | 00 | 01 | 00 | 09 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + ++--------+-----------------+-----------------------------------+-------- +| active_| | | +| checks_| check_type | host_id | => +| enabled| | | ++========+========+========+========+==========================+========+ +| 01 | 00 | 00 | 00 | 00 | 00 | 2A | 00 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +--------------------------+-------------------------------------------- + => next_check | => ++========+========+========+========+========+========+========+========+ +| 00 | 00 | 00 | 51 | 5D | 78 | A1 | 2E | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +----------------------------------------------------------------------- + => command_line => ++========+========+========+========+========+========+========+========+ +| 2F | 6D | 79 | 5F | 70 | 6C | 75 | 67 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +----------------------------------------------------------------------- + => command_line => ++========+========+========+========+========+========+========+========+ +| 69 | 6E | 20 | 2D | 48 | 20 | 31 | 32 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +-----------------------------------------------------------------------+ + => command_line | ++========+========+========+========+========+========+========+========+ +| 37 | 2E | 30 | 2E | 30 | 2E | 31 | 00 | ++--------+--------+--------+--------+--------+--------+--------+--------+ +``` + +## Établissement de la connexion + +BBDO est un protocole qui peut négocier des fonctionnalités. Lors de l’établissement d’une connexion, un paquet *version_response* est envoyé par le client. Il fournit la version du protocole BBDO qu’il supporte et ses extensions. Le serveur répond à ce message par un autre paquet *version_response* contenant sa propre version du protocole supportée et ses extensions. Si les versions du protocole correspondent, la négociation des extensions commence. + +Actuellement, deux extensions sont supportées : **TLS** et **COMPRESSION**. Juste après le paquet **version_response**, chaque pair recherche dans la liste des extensions de l’autre pair les extensions qu’il supporte. Lorsqu’il en trouve une, elle est activée (c’est-à-dire qu’elle démarre immédiatement). + +### Exemple + +Prenons **C** le client et **S** le serveur. Les étapes suivantes sont effectuées de manière séquentielle. + +- **C** initie une connexion TCP avec **S** et la connexion est établie. +- **C** envoie un paquet *version\_response* avec les attributs suivants + - protocole majeur : 1 + - protocole mineur : 0 + - protocole correctif : 0 + - extensions : « TLS COMPRESSION » +- **S** envoie son propre paquet **version\_response** en réponse à **C** + - protocole majeur : 1 + - protocole mineur : 0 + - protocole correctif : 0 + - extensions : « TLS COMPRESSION » +- **C** et **S** déterminent les extensions qu’ils ont en commun (ici TLS et COMPRESSION) +- si l’ordre est important, les extensions sont appliquées dans l’ordre fourni par le serveur +- la connexion TLS est initiée, le handshake est effectué... +- la connexion de compression est ouverte +- les données transmises entre **C** et **S** sont maintenant à la fois chiffrées et compressées + +## Acquittement + +Les clients/serveurs dits « intelligents » peuvent acquitter les paquets qui leur sont envoyés. Cette fonction est utilisée par Centreon Broker pour s’assurer que chaque paquet est pris en compte et pour lancer la procédure de rétention au cas où l’autre partie ne répondrait pas. + +Pour cela, l’autre partie doit envoyer périodiquement un paquet BBDO « ack » sur le même canal TCP. Ce paquet comporte le numéro du paquet acquitté par le client. + +Les modes « Clever »/« Dumb » sont configurés sur chaque sortie TCP, pour chaque Broker. + +## Changement de version de BBDO + +La version de BBDO doit être la même pour tous les serveurs de votre architecture (serveur central, serveurs distants, collecteurs). + +> Si vous utilisez BBDO v2 avec cette version de Centreon, vous ne pourrez pas utiliser la page **Statut des ressources**. + +Si vous voulez changer de version de BBDO (passer de la v3 à la v2 ou de la v2 à la v3), procédez comme suit : + +1. Sur le serveur central, accédez à **Configuration > Collecteurs > Configuration de Centreon Broker**. + +2. Sélectionnez le serveur souhaité, et dans l’onglet **Général**, dans la section **Paramètres avancés**, sélectionnez la version de BBDO souhaitée dans la liste **BBDO version**. Cliquez ensuite sur **Sauvegarder**. + +3. Faites de même avec tous les éléments figurant sur la page **Configuration > Collecteurs > Configuration de Centreon Broker**. + +4. Redémarrez **gorgoned** sur chaque serveur : + + ```shell + systemctl restart gorgoned + ``` + +5. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) pour tous les serveurs. + +6. Arrêtez les services suivants : + + - Sur le serveur central et sur les serveurs distants : + + ```shell + systemctl stop cbd centengine + ``` + + - Sur les collecteurs : + + ```shell + systemctl stop centengine + ``` + +7. Démarrez les services suivants : + + - Sur le serveur central et sur les serveurs distants : + + ```shell + systemctl start cbd centengine + ``` + + - Sur les collecteurs : + + ```shell + systemctl start centengine + ``` + +Vous pouvez vérifier dans les journaux quelle version de BBDO est active pour un serveur : + +- broker central : + + ```shell + tail /var/log/centreon-broker/central-{broker,rrd,module}-master.log + + ``` + +- broker distant : + + ```shell + tail /var/log/centreon-broker/-{broker,rrd,module}-master.log + ``` + +- module collecteur : + + ```shell + tail /var/log/centreon-broker/-module.log + ``` + +La ligne suivante indique quelle version est utilisée pour chaque serveur : + +```shell +[2022-05-17T14:53:44.828+00:00] [bbdo] [info] BBDO: peer is using protocol version 2.0.0, we're using version 2.0.0 +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-mapping.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-mapping.md new file mode 100644 index 000000000000..2454c1301718 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-mapping.md @@ -0,0 +1,3374 @@ +--- +id: developer-broker-mapping +title: Mapping d’évènements Centreon Broker +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon Broker utilise des tables de correspondance globales pour les évènements qui peuvent être échangés. Cette page répertorie les propriétés disponibles pour chaque type d’évènement. + +## NEB + +### Acknowledgement + +Lorsqu'un incident est acquitté, cela signifie que le problème a été pris en compte par un utilisateur de la supervision. Quand l'utilisateur acquitte le problème, Centreon Engine émet un évènement **acknowledgement**. Cet évènement est différent en BBDO v2 et en BBDO v3. + + + + +#### NEB::Acknowledgement + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 1 | 65537 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| -------------------------------------------- | ---------------- | ------------------------------------------------------------------------------ | +| acknowledgement\_type | entier court | Acquittement de l’hôte quand 0, acquittement du service quand 1. | +| author | chaîne | Auteur de l’acquittement. | +| comment | chaîne | Commentaire associé à l’acquittement. | +| deletion\_time | temps | Heure à laquelle l’acquittement a été supprimé. Si 0, il n’a pas été supprimé. | +| entry\_time | temps | Heure à laquelle l’acquittement a été créé. | +| host\_id | entier non signé | ID de l’hôte. | +| instance\_id | entier non signé | ID de l’instance. | +| is\_sticky | booléen | Indicateur "Persistant (non-OK)". | +| notify\_contacts | booléen | Indicateur de notification. | +| persistent\_comment | booléen | True si le commentaire est persistant. | +| service\_id | entier non signé | ID de service. 0 pour un acquittement de l’hôte. | +| state | entier court | État de l’hôte / du service. | +| notify\_only\_if\_not\_already\_acknowledged | booléen | Une notification ne doit être envoyée qu’en cas de non acquittement. | + + + + +#### NEB::PbAcknowledgement + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 45 | 65581 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Acknowledgement** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbAcknowledgement** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message Acknowledgement { + uint64 host_id = 1; // ID de l'hôte. + uint64 service_id = 2; // ID du service, ou 0 pour un acquittement d'hôte. + uint64 instance_id = 3; // ID de l'instance. + enum ResourceType { + HOST = 0; + SERVICE = 1; + } + ResourceType type = 4; // Type de la ressource. + string author = 5; // Auteur de l'acquittement + string comment_data = 6; // Commentaire associé à l'acquittement. + bool sticky = 7; // Indicateur "Persistant". + bool notify_contacts = 8; // Indicateur de notification. + uint64 entry_time = 9; // Heure à laquelle l'acquittement a été créé. + uint64 deletion_time = 10; // Heure à laquelle l'acquittement a été supprimé. + bool persistent_comment = 11; // True si le commentaire est persistant. + int32 state = 12; // L'état de l'hôte/du service. +} +``` + + + + +### Comment + +Dans certaines situations, l'utilisateur doit saisir un commentaire dans l'interface Centreon. Quand le commentaire est validé, Centreon Engine émet un évènement **comment**. Cet évènement est différent en BBDO v2 et en BBDO v3. + + + + +#### NEB::Comment + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 2 | 65538 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| -------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| author | chaîne | Auteur du commentaire. | +| comment\_type | entier court | 1 pour un commentaire pour un hôte, 2 pour un commentaire pour un service. | +| data | chaîne | Données du commentaire (texte). | +| deletion\_time | temps | Heure à laquelle le commentaire a été supprimé. 0 si le commentaire n’a pas (encore) été supprimé. | +| entry\_time | temps | Heure à laquelle le commentaire a été créé. | +| entry\_type | entier court | 1 pour un commentaire de l’utilisateur (par commande externe), 2 pour un commentaire d’arrêt, 3 pour un commentaire de bagotement et 4 pour un commentaire d’acquittement. | +| expire\_time | temps | Délai d’expiration des commentaires. 0 si aucun délai d’expiration. | +| expires | bool | True si le commentaire expire. | +| host\_id | entier non signé | ID de l’hôte. | +| internal\_id | entier non signé | ID du moteur de supervision interne du commentaire. | +| persistent | booléen | True si le commentaire est persistant. | +| instance\_id | entier non signé | ID de l’instance. | +| service\_id | entier non signé | ID de service. 0 si c’est un commentaire de l’hôte. | +| source | entier court | 0 lorsque le commentaire provient du moteur de supervision (interne) ou 1 lorsque le commentaire provient d’une autre source (externe). | + + + + +#### NEB::PbComment + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 35 | 65571 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Comment** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbComment** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message Comment { + BBDOHeader header = 1; // Non utilisé actuellement. + + enum Src { + INTERNAL = 0; // Le commentaire provient du moteur de supervision. + EXTERNAL = 1; // Le commentaire provient d'une autre source. + } + + enum Type { + NO_TYPE = 0; + HOST = 1; + SERVICE = 2; + } + + enum EntryType { + NO_ENTRY_TYPE = 0; + USER = 1; + DOWNTIME = 2; + FLAPPING = 3; + ACKNOWLEDGMENT = 4; + } + + string author = 2; // Auteur du commentaire. + Type type = 3; // Type du commentaire, suivant l'enum Type. + string data = 4; // Le contenu du commentaire. + uint64 deletion_time = 5; // Heure à laquelle le commentaire a été supprimé, ou 0 si le commentaire n'a pas (encore) été supprimé. + uint64 entry_time = 6; // Heure à laquelle le commentaire a été créé. + EntryType entry_type = 7; // Type d'entrée, suivant l'enum EntryType. + uint64 expire_time = 8; // Heure d'expiration du commentaire, ou 0 si le commentaire n'a pas d'heure d'expiration. + bool expires = 9; // True si le commentaire a expiré. + uint64 host_id = 10; // ID de l'hôte. + uint64 internal_id = 11; // ID interne du moteur de supervision pour le commentaire. + bool persistent = 12; // True si le commentaire est persistant. + uint64 instance_id = 13; // ID de l'instance + uint64 service_id = 14; // ID du service, ou 0 pour un commentaire sur un hôte. + Src source = 15; // Source du commentaire, suivant l'enum Src. +} +``` + + + + +### Custom variable + +Une variable personnalisée consiste en une variable ayant un nom et une valeur. Elle provient souvent de macros Centreon Engine. +Pour que Centreon fonctionne correctement, ces variables personnalisées doivent être envoyées à Centreon Broker. Elles sont envoyées via un évènement **custom variable**. Cet évènement est différent en BBDO v2 et en BBDO v3. + + + + +#### NEB::CustomVariable + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 3 | 65539 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| -------------- | ---------------- | --------------------------------------------------------------------------------------- | +| enabled | booléen | True si la variable personnalisée est activée. | +| host\_id | entier non signé | ID de l’hôte. | +| modified | booléen | True si la variable a été modifiée. | +| name | chaîne | Nom de la variable. | +| service\_id | entier non signé | ID de service. 0 si c’est une variable d’hôte personnalisée. | +| update\_time | temps | Dernière heure à laquelle la variable a été mise à jour. | +| var\_type | entier court | 0 pour une variable d’hôte personnalisée, 1 pour une variable de service personnalisée. | +| value | chaîne | Valeur variable. | +| default\_value | chaîne | La valeur par défaut de la variable personnalisée. | + + + + +#### NEB::PbCustomVariable + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 37 | 65573 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::CustomVariable** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbCustomVariable** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message CustomVariable { + enum VarType { + HOST = 0; + SERVICE = 1; + } + + BBDOHeader header = 1; // Non utilisé. + uint64 host_id = 2; // ID de l'hôte. + uint64 service_id = 3; // ID du service, ou 0 pour une variable personnalisée pour un hôte. + bool modified = 4; // True si la variable a été modifiée. + string name = 5; // Nom de la variable. + uint64 update_time = 6; // Dernière heure à laquelle la variable a été mise à jour. + string value = 7; // Valeur de la variable. + string default_value = 8; // La valeur par défaut de la variable personnalisée. + bool enabled = 9; // True si la variable personnalisée est activée. + bool password = 10; // True si la valeur doit être masquée. + VarType type = 11; // Une des valeurs de l'enum VarType. +} +``` + + + + +### Custom variable status + +Les évènements **Custom variable status** sont générés lorsqu’une variable personnalisée doit être mise à jour. + + + + +#### NEB::CustomVariableStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 4 | 65540 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| ------------ | ---------------- | ------------------------------------------------------------ | +| host\_id | entier non signé | ID de l’hôte. | +| modified | booléen | True si la variable a été modifiée. | +| name | chaîne | Nom de la variable. | +| service\_id | entier non signé | ID de service. 0 si c’est une variable d’hôte personnalisée. | +| update\_time | temps | Dernière heure à laquelle la variable a été mise à jour. | +| value | chaîne | Valeur variable. | + + + + +#### NEB::PbCustomVariableStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 38 | 65574 | + +Le message Protobuf pour **PbCustomVariableStatus** est le même que celui pour **PbCustomVariable**, +excepté que certains des champs peuvent ne pas être renseignés. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message CustomVariable { + enum VarType { + HOST = 0; + SERVICE = 1; + } + + BBDOHeader header = 1; // Non utilisé. + uint64 host_id = 2; // ID de l'hôte. + uint64 service_id = 3; // ID du service, ou 0 pour une variable personnalisée pour un hôte. + bool modified = 4; // True si la variable a été modifiée. + string name = 5; // Nom de la variable. + uint64 update_time = 6; // Dernière heure à laquelle la variable a été mise à jour. + string value = 7; // Valeur de la variable. + string default_value = 8; // La valeur par défaut de la variable personnalisée. + bool enabled = 9; // True si la variable personnalisée est activée. + bool password = 10; // True si la valeur doit être masquée. + VarType type = 11; // Une des valeurs de l'enum VarType. +} +``` + + + + +### Downtime + +Cet évènement est émis par Centreon Engine lorsqu'une plage de maintenance est définie sur une ressource. + + + + +#### NEB::Downtime + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 5 | 65541 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| ------------------- | ---------------- | ---------------------------------------------------------------------- | +| actual\_end\_time | temps | Heure réelle à laquelle le temps d’arrêt s’est terminé. | +| actual\_start\_time | temps | Heure réelle à laquelle le temps d’arrêt a commencé. | +| author | chaîne | Créateur du temps d’arrêt. | +| downtime\_type | entier court | 1 pour un arrêt de service, 2 pour un arrêt d’hôte. | +| deletion\_time | temps | Heure à laquelle le temps d’arrêt a été supprimé. | +| duration | temps | Durée du temps d’arrêt. | +| end\_time | temps | Heure de fin du temps d’arrêt programmé. | +| entry\_time | temps | Heure à laquelle le temps d’arrêt a été créé. | +| fixed | booléen | True si le temps d’arrêt est fixe, False s’il est flexible. | +| host\_id | entier non signé | ID de l’hôte. | +| instance\_id | entier non signé | ID de l’instance. | +| internal\_id | entier non signé | ID du moteur de supervision interne. | +| service\_id | entier non signé | ID de service. 0 s’il s’agit d’un arrêt de l’hôte. | +| start\_time | temps | Heure de début de l’arrêt programmé. | +| triggered\_by | entier non signé | ID interne du temps d’arrêt qui a déclenché ce temps d’arrêt. | +| was\_cancelled | booléen | True si le temps d’arrêt a été annulé. | +| was\_started | booléen | True si le temps d’arrêt a été démarré. | +| comment | chaîne | Commentaire sur le temps d’arrêt. | +| is\_recurring | booléen | True si ce temps d’arrêt est récurrent. | +| recurring\_tp | chaîne | La période de temps récurrente du temps d’arrêt récurrent. | +| come\_from | court | Id du temps d’arrêt récurrent parent pour les temps d’arrêt engendrés. | + + + + +#### NEB::PbDowntime + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 36 | 65572 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Downtime** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbDowntime** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message Downtime { + enum DowntimeType { + NOT_USED = 0; + SERVICE = 1; // La plage de maintenance est positionnée sur un service. + HOST = 2; // La plage de maintenance est positionnée sur un hôte. + ANY = 3; // Valeur gardée pour des raisons de rétrocompatibilité (non utilisée). + }; + uint64 id = 1; // ID interne au moteur de supervision. + uint64 instance_id = 2; // ID de l'instance + uint64 host_id = 3; // ID de l'hôte. + uint64 service_id = 4; // ID du service, ou 0 s'il s'agit d'une plage de maintenance sur un hôte. + string author = 5; // Utilisateur ayant défini la place de maintenance. + string comment_data = 6; // Commentaire associé à la plage de maintenance. + DowntimeType type = 7; // Une valeur de la précédente énumération. + uint32 duration = 8; // Durée de la plage de maintenance. + uint64 triggered_by = 9; // ID interne de la plage de maintenance ayant déclenché cette plage de maintenance. + int64 entry_time = 10; // Heure à laquelle la plage de maintenance a été créée. + uint64 actual_start_time = 11; // Heure à laquelle la plage de maintenance a réellement démarré. + uint64 actual_end_time = 12; // Heure à laquelle la plage de maintenance a réellement terminé. + uint64 start_time = 13; // Heure de départ programmée de la plage de maintenance. + uint64 deletion_time = 14; // Heure à laquelle la plage de maintenance a été supprimée. + uint64 end_time = 15; // Heure de fin programmée de la plage de maintenance. + bool started = 16; // True si la plage de maintenance a démarré. + bool cancelled = 17; // True si la plage de maintenance a été annulée. + bool fixed = 18; // True si la plage de maintenance est fixe, false si elle est flexible. +} +``` + + + + +### Event handler + +Les **Event handlers** sont des commandes système optionnelles (scripts ou exécutables) qui sont exécutées lorsqu'un changment de statut se produit pour une ressource. Lorsqu'une commande de ce type est configurée, un évènement **event handler** est émis par Centreon Engine. Ces évènements BBDO sont généralement envoyés lorsque Centreon Engine est redémarré ou rechargé. + + + + +#### NEB::EventHandler + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 6 | 65542 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| --------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| early\_timeout | booléen | True si le gestionnaire d’évènements a été interrompu. | +| end\_time | temps | Heure à laquelle l’exécution du gestionnaire d’évènements s’est terminée. | +| execution\_time | réel | Temps d’exécution en secondes. | +| handler\_type | entier court | 0 pour le gestionnaire d’évènements spécifiques à l’hôte, 1 pour le gestionnaire d’évènements spécifiques au service, 2 pour le gestionnaire d’évènements global pour les hôtes et 3 pour le gestionnaire d’évènements global pour les services. | +| host\_id | entier non signé | ID de l’hôte. | +| return\_code | entier court | Valeur renvoyée par le gestionnaire d’évènements. | +| service\_id | entier non signé | ID de service. 0 si c’est un gestionnaire d’évènements d’hôte. | +| start\_time | temps | Heure à laquelle le gestionnaire d’évènements a démarré. | +| state | entier court | État de l’hôte / du service. | +| state\_type | entier court | 0 pour SOFT, 1 pour HARD. | +| timeout | entier court | Délai d’attente du gestionnaire d’évènements en secondes. | +| command\_args | chaîne | Arguments du gestionnaire d’évènements. | +| command\_line | chaîne | Ligne de commande du gestionnaire d’évènements. | +| output | chaîne | Output retourné par le gestionnaire d’évènements. | +| source\_id | entier non signé | L’id de l’instance source de cet évènement. | +| destination\_id | entier non signé | L’id de l’instance de destination de cet évènement. | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Flapping status + +Lorsque le statut d'une ressource est instable, Centreon Engine le marque comme en bagotage (**flapping**). Historiquement, un évènement **flapping status** était émis dans ces cas-là. Cela n'est plus d'actualité. L'évènement **flapping status** n'existe plus. + +### Tag + +L'évènement **tag** est un nouvel évènement de configuration, actuellement utilisé pour les catégories et les groupes. + +En ce moment il est utilisé (entre autres) en parallèle avec les évènements **group**, mais devrait devenir plus global dans le futur. + + + + +L'évènement **tag** n'existe pas en BBDO v2. + + + + + +#### NEB::PbTag + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 34 | 65570 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Tag** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbTag** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +enum TagType { + SERVICEGROUP = 0; // Tag représentant un groupe de services + HOSTGROUP = 1; // Tag représentant un groupe d'hôtes + SERVICECATEGORY = 2; // Tag représentant une catégorie de services + HOSTCATEGORY = 3; // Tag représentant une catégorie d'hôtes +} + +message Tag { + uint64 id = 1; // ID du tag (l'unicité est obtenue en l'associant au type) + enum Action { + ADD = 0; // Par cette action, l'évènement crée un nouveau tag. + DELETE = 1; // Par cette action, l'évènement supprime un tag. + MODIFY = 2; // Par cette action, l'évènement modifie un tag. + } + + Action action = 2; // L'action courante pour cet évènement. + TagType type = 3; // Le type du tag. + string name = 4; // Nom du tag. + int64 poller_id = 5; // ID du collecteur. +} +``` + + + + +### Host + +Cet évènement est émis chaque fois que la configuration d'un hôte est modifiée et la configuration déployée. + + + + +#### NEB::Host + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 12 | 65548 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------------------------- | ---------------- | ----------- | ------- | +| acknowledged | booléen | | +| acknowledgement\_type | entier court | | +| action\_url | chaîne | | +| active\_checks\_enabled | booléen | | +| address | chaîne | | +| alias | chaîne | | +| check\_freshness | booléen | | +| check\_interval | réel | | +| check\_period | chaîne | | +| check\_type | entier court | | +| current\_check\_attempt | entier court | | +| current\_state | entier court | | +| default\_active\_checks\_enabled | booléen | | +| default\_event\_handler\_enabled | booléen | | +| default\_flap\_detection\_enabled | booléen | | +| default\_notifications\_enabled | booléen | | +| default\_passive\_checks\_enabled | booléen | | +| downtime\_depth | entier court | | +| display\_name | chaîne | | +| enabled | booléen | | +| event\_handler | chaîne | | +| event\_handler\_enabled | booléen | | +| execution\_time | réel | | +| first\_notification\_delay | réel | | +| flap\_detection\_enabled | booléen | | +| flap\_detection\_on\_down | booléen | | +| flap\_detection\_on\_unreachable | booléen | | +| flap\_detection\_on\_up | booléen | | +| freshness\_threshold | réel | | +| has\_been\_checked | booléen | | +| high\_flap\_threshold | réel | | +| host\_name | chaîne | | +| host\_id | entier non signé | | +| icon\_image | chaîne | | +| icon\_image\_alt | chaîne | | +| instance\_id | entier non signé | | +| is\_flapping | booléen | | +| last\_check | temps | | +| last\_hard\_state | entier court | | +| last\_hard\_state\_change | temps | | +| last\_notification | temps | | +| last\_state\_change | temps | | +| last\_time\_down | temps | | +| last\_time\_unreachable | temps | | +| last\_time\_up | temps | | +| last\_update | temps | | +| latency | réel | | +| low\_flap\_threshold | réel | | +| max\_check\_attempts | entier court | | +| next\_check | temps | | +| next\_notification | temps | | +| no\_more\_notifications | booléen | | +| notes | chaîne | | +| notes\_url | chaîne | | +| notification\_interval | réel | | +| notification\_number | entier court | | +| notification\_period | chaîne | | +| notifications\_enabled | booléen | | +| notify\_on\_down | booléen | | +| notify\_on\_downtime | booléen | | +| notify\_on\_flapping | booléen | | +| notify\_on\_recovery | booléen | | +| notify\_on\_unreachable | booléen | | +| obsess\_over | booléen | | +| passive\_checks\_enabled | booléen | | +| percent\_state\_change | réel | | +| retry\_interval | réel | | +| should\_be\_scheduled | booléen | | +| stalk\_on\_down | booléen | | +| stalk\_on\_unreachable | booléen | | +| stalk\_on\_up | booléen | | +| statusmap\_image | chaîne | | +| state\_type | entier court | | +| check\_command | chaîne | | +| output | chaîne | | +| perf\_data | chaîne | | +| retain\_nonstatus\_information | booléen | | +| retain\_status\_information | booléen | | +| timezone | chaîne | | + + + + +#### NEB::PbHost + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 30 | 65566 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Host** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbHost** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message TagInfo { + uint64 id = 1; + TagType type = 2; +} + +message Host { + uint64 host_id = 1; // ID de l'hôte. + + bool acknowledged = 2; // True si l'alerte a été acquittée. + AckType acknowledgement_type = 3; // Type d'acquittement. + + bool active_checks = 4; // True si les contrôles actifs sont activés. + bool enabled = 5; // True si cet hôte est activé. + int32 scheduled_downtime_depth = 6; // Nombre de plages de maintenance actives. + string check_command = 7; // Commande de contrôle. + int32 check_interval = 8; // Intervalle en unités (en général 60s) entre 2 contrôles. + string check_period = 9; // Période de temps durant laquelle les contrôles sont autorisés + + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 10; // Type du dernier contrôle. + int32 check_attempt = 11; // Nombre de contrôles non OK. + enum State { + UP = 0; + DOWN = 1; + UNREACHABLE = 2; + } + State state = 12; // État courant. + bool event_handler_enabled = 13; // True si un event handler est configuré sur cet hôte. + string event_handler = 14; // Commande exécutée quand l'état change. + double execution_time = 15; // Durée du dernier contrôle. + bool flap_detection = 16; // True si la détection du bagotement est activée. + bool checked = 17; // La ressource a été contrôlée au moins une fois. + bool flapping = 18; // True si l'hôte est en bagotement. + int64 last_check = 19; // Timestamp du dernier contrôle. + State last_hard_state = 20; // Dernier état hard. + int64 last_hard_state_change = 21; // Timestamp du dernier passage à l'état hard. + int64 last_notification = 22; // Timestamp de la dernière notification. + int32 notification_number = 23; // Numéro de la notification courante, ou 0 en l'absence de notification. + int64 last_state_change = 24; // Timestamp du dernier changement d'état. + int64 last_time_down = 25; // Timestamp du dernier contrôle non OK. + int64 last_time_unreachable = 26; // Timestamp du dernier contrôle non OK avec tous les hôtes parents au statut non OK. + int64 last_time_up = 27; // Timestamp du dernier contôle OK. + int64 last_update = 28; // Timestamp du dernier message créé. + double latency = 29; // Délai entre l'heure programmée d'un contrôle et celle de son exécution. + int32 max_check_attempts = 30; // Nombre de contrôles non OK après lesquels l'hôte rentre dans un état non OK hard. + int64 next_check = 31; // Timestamp du prochain contrôle programmé. + int64 next_host_notification = 32; // Timestamp de la prochaine renotification. + bool no_more_notifications = 33; // Si true, aucune autre notification ne sera envoyée. + bool notify = 34; // Notifications autorisées + string output = 35; // Output de la commande de contrôle. + bool passive_checks = 36; // Les contrôles passsifs sont activés. + double percent_state_change = 37; // Utilisé par le bagotement, et comparé aux seuils hauts et bas de bagotement. + string perfdata = 38; // Données de performance extraites de l'output de la commande. + double retry_interval = 39; // Interval entre deux contrôles quand l'hôte n'est pas dans un statut disponible et que le type de l'état est soft. + bool should_be_scheduled = 40; // True si le prochain contrôle devrait être programmé. + bool obsess_over_host = 41; // True si une commande OCSP est exécutée après un contôle ou une commande de notification. + + enum StateType { + SOFT = 0; // État pas encore confirmé. + HARD = 1; // État confirmé. + } + + StateType state_type = 42; // Type d'état. + string action_url = 43; // URL optionnelle disponible dans l'interface, associée à cet hôte. + string address = 44; // Adresse + string alias = 45; // Alias de cet hôte. + bool check_freshness = 46; // Contrôle de fraîcheur passif activé. + bool default_active_checks = 47; // Identique à active_checks, mais valeur par défaut. + bool default_event_handler_enabled = 48;// Identique à event_handler, mais valeur par défaut. + bool default_flap_detection = 49; // Identique à flap_detection, mais valeur par défaut. + bool default_notify = 50; // Identique à notify, mais valeur par défaut. + bool default_passive_checks = 51; // Identique à passive checks, mais valeur par défaut. + string display_name = 52; // Nom affiché dans l'interface + double first_notification_delay = 53; // Délai entre deux notifications, en unités (généralement 60s). + bool flap_detection_on_down = 54; // Le statut indsponible est pris en compte pour la détection du bagotement. + bool flap_detection_on_unreachable = 55;// Le statut injoignable est pris en compte pour la détection du bagotement. + bool flap_detection_on_up = 56; // Le statut OK est pris en compte pour la détection du bagotement. + double freshness_threshold = 57; // Délai après lequel le résultat du contrôle n'est plus considéré comme frais. + double high_flap_threshold = 58; // Si le pourcentage de changement de statut dépasse ce seuil, l'hôte est considéré en bagotement. + string name = 59; // Nom de l'hôte. + string icon_image = 60; // Icône affichée dans l'interface pour cet hôte. + string icon_image_alt = 61; // Text alternatif pour icon_image. + int32 instance_id = 62; // ID de l'instance + double low_flap_threshold = 63; // Si le pourcentage de changement de statut est plus bas que ce seuil, l'hôte n'est pas considéré en bagotement. + string notes = 64; // Infobulle dans la page Statut des Ressources. + string notes_url = 65; // URL cliquable dans la page Statut des Ressources. + double notification_interval = 66; // Intervalle entre deux notifications. + string notification_period = 67; // Période de temps pendant laquelle les notifications sont autorisées. + bool notify_on_down = 68; // Les utilisateurs sont notifiés si l'hôte devient indisponible. + bool notify_on_downtime = 69; // Les utilisateurs sont notifiés si l'hôte entre en plage de maintenance. + bool notify_on_flapping = 70; // Les utilisateurs sont notifiés si l'hôte est en bagotement. + bool notify_on_recovery = 71; // Les utilisateurs sont notifiés si l'hôte devient disponible. + bool notify_on_unreachable = 72; // Les utilisateurs sont notifiés si l'hôte devient injoignable. + bool stalk_on_down = 73; // Inscrit dans le log le changement d'output si le statut passe à indisponible. + bool stalk_on_unreachable = 74; // Inscrit dans le log le changement d'output si le statut passe à injoignable. + bool stalk_on_up = 75; // Inscrit dans le log le changement d'output si le statut passe à disponible. + string statusmap_image = 76; // Image affichée sur une carte. + bool retain_nonstatus_information = 77; // Non utilisé + bool retain_status_information = 78; // Non utilisé + string timezone = 79; // Fuseau horaire de l'hôte. + uint64 severity_id = 80; // ID de la sévérité. + repeated TagInfo tags = 81; // Tags associés à cet hôte. + uint64 icon_id = 82; // ID de l'icône. +} +``` + + + + +### Host check + +Ce type d'évènement est émis par Centreon Engine lorsqu'un contrôle est exécuté sur un hôte. + + + + +#### NEB::HostCheck + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 8 | 65544 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ----------------------- | ---------------- | ----------------------------------------------------- | ------- | +| active\_checks\_enabled | booléen | True si les contrôles actifs sont activés sur l’hôte. | +| check\_type | entier court | | +| host\_id | entier non signé | ID de l’hôte. | +| next\_check | temps | Heure à laquelle le prochain contrôle est prévu. | +| command\_line | chaîne | Ligne de commande du contrôle. | +| source\_id | entier non signé | L’ID de l’instance source de cet évènement. | +| destination\_id | entier non signé | L’ID de l’instance de destination de cet évènement. | + + + + +#### NEB::PbHostCheck + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 39 | 65575 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::HostCheck** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbHostCheck** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +enum CheckType { + CheckActive = 0; + CheckPassive = 1; +} + +message Check { + BBDOHeader header = 1; + + bool active_checks_enabled = 2; // True si les contôle actifs sont activés sur l'hôte. + CheckType check_type = 3; // L'une des valeurs de CheckType. + string command_line = 4; // Ligne de commande de contrôle. + uint64 host_id = 5; // ID de l'hôte. + uint64 next_check = 6; // Timestamp du prochain contrôle programmé. + uint64 service_id = 7; // ID du service, ou 0 pour un contrôle sur un hôte. +} +``` + + + + +### Host dependency + +Cet évènement est émis lorsqu'une dépendance entre hôtes est définie, et que la configuration est déployée. + + + + +#### NEB::HostDependency + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 9 | 65545 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ------------------------------ | ---------------- | ----------- | ------- | +| dependency\_period | chaîne | | +| dependent\_host\_id | entier non signé | | +| enabled | booléen | | +| execution\_failure\_options | chaîne | | +| inherits\_parent | booléen | | +| host\_id | entier non signé | | +| notification\_failure\_options | chaîne | | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Host group + +Cet évènement est émis lorsqu'un groupe d'hôtes est créé. + + + + +#### NEB::HostGroup + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 10 | 65546 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------- | ---------------- | -------------------------------------------------------------------- | ------- | +| host\_group\_id | entier non signé | | +| name | chaîne | Nom du groupe. | +| enabled | booléen | True si le groupe est activé, False s’il ne l’est pas (suppression). | +| poller\_id | entier non signé | | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Host group member + +Ceci est un évènement de configuration. Il est envoyé juste après un évènement **hostgroup** afin de détailler les membres du groupe à configurer. En BBDO v3, la version BBDO v2 de cet évènement est toujours utilisée. + + + + +#### NEB::HostGroupMember + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 11 | 65547 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------- | ---------------- | --------------------------------------------------------------------------- | ------- | +| enabled | booléen | True si l'hôte est membre du groupe, False s'il ne l’est pas (suppression). | +| group | chaîne | Nom du groupe. | +| instance\_id | entier non signé | ID de l’instance. | +| host\_id | entier non signé | ID de l’hôte. | +| source\_id | entier non signé | L’ID de l’instance source de cet évènement. | +| destination\_id | entier non signé | L’ID de l’instance de destination de cet évènement. | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Host parent + +Ceci est un évènement de configuration envoyé lorsqu'un hôte parent est défini. En BBDO v3, la version BBDO v2 de cet évènement est toujours utilisée. + + + + +#### NEB::HostParent + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 13 | 65549 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ---------- | ---------------- | --------------------------------------------------------------------------------- | ------- | +| enabled | booléen | True si la fonction parent est activée, False si elle ne l’est pas (suppression). | +| child\_id | entier non signé | ID d’hôte enfant. | +| parent\_id | entier non signé | ID d’hôte parent. | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Host status + +Ceci est un évènement émis par Centreon Engine lorsqu'une modification en temps réel est appliquée à un hôte (statut, output, métriques...). + + + + +#### NEB::HostStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 14 | 65550 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ------------------------- | ---------------- | ----------- | ------- | +| acknowledged | booléen | | +| acknowledgement\_type | entier court | | +| active\_checks\_enabled | booléen | | +| check\_interval | réel | | +| check\_period | chaîne | | +| check\_type | entier court | | +| current\_check\_attempt | entier court | | +| current\_state | entier court | | +| downtime\_depth | entier court | | +| enabled | booléen | | +| event\_handler | chaîne | | +| event\_handler\_enabled | booléen | | +| execution\_time | réel | | +| flap\_detection\_enabled | booléen | | +| has\_been\_checked | booléen | | +| host\_id | entier non signé | | +| is\_flapping | booléen | | +| last\_check | temps | | +| last\_hard\_state | entier court | | +| last\_hard\_state\_change | temps | | +| last\_notification | temps | | +| last\_state\_change | temps | | +| last\_time\_down | temps | | +| last\_time\_unreachable | temps | | +| last\_time\_up | temps | | +| last\_update | temps | | +| latency | réel | | +| max\_check\_attempts | entier court | | +| next\_check | temps | | +| next\_host\_notification | temps | | +| no\_more\_notifications | booléen | | +| notification\_number | entier court | | +| notifications\_enabled | booléen | | +| obsess\_over | booléen | | +| passive\_checks\_enabled | booléen | | +| percent\_state\_change | réel | | +| retry\_interval | réel | | +| should\_be\_scheduled | booléen | | +| state\_type | entier court | | +| check\_command | chaîne | | +| output | chaîne | | +| perf\_data | chaîne | | + + + + +#### NEB::PbHostStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 32 | 65538 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::HostStatus** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbHostStatus** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message HostStatus { + uint64 host_id = 1; // ID de l'hôte. + + bool checked = 2; // True si l'hôte est contrôlé. + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 3; // Type du dernier contrôle (ACTIVE/PASSIVE). + + enum State { + UP = 0; + DOWN = 1; + UNREACHABLE = 2; + } + State state = 4; // État courant de l'hôte. + enum StateType { + SOFT = 0; + HARD = 1; + } + StateType state_type = 5; // État confirmé ou non (HARD/SOFT). + int64 last_state_change = 6; // Timestamp du dernier changement d'état. + State last_hard_state = 7; // Dernier état hard. + int64 last_hard_state_change = 8; // Timestamp du dernier état hard. + int64 last_time_up = 9; // Timestamp du dernier statut disponible. + int64 last_time_down = 10; // Timestamp du dernier statut indisponible. + int64 last_time_unreachable = 11; // Timestamp du dernier statut injoignable. + + string output = 12; // Output du contrôle. + string long_output = 13; // Output long du contrôle. + string perfdata = 14; // Données de performance. + + bool flapping = 15; // True si l'hôte est en bagotement. + double percent_state_change = 16; // Utilisé par le bagotement, et comparé aux seuils hauts et bas de bagotement. + double latency = 17; // Délai entre l'heure où le contrôle est programmé et celle où il est exécuté. + double execution_time = 18; // Durée du dernier contrôle. + int64 last_check = 19; // Timestamp du dernier contrôle. + int64 next_check = 20; // Timestamp du moment ou le prochain contrpole est programmé. + bool should_be_scheduled = 21; // True si le prochain contrôle devrait être programmé. + int32 check_attempt = 22; // Nombre de contrôles non OK. + + int32 notification_number = 23; // Nombre de notifications envoyées depuis le début de l'alerte. + bool no_more_notifications = 24; // Aucune autre notification ne sera envoyée. + int64 last_notification = 25; // Timestamp de la dernière notification envoyée. + int64 next_host_notification = 26; // Timestamp de la prochaine renotification. + + AckType acknowledgement_type = 27; // Une valeur de l'énumération AckType. + int32 scheduled_downtime_depth = 28;// Nombre de plages de maintenance actives. +} +``` + + + + +### Instance + +Cet évènement est émis par Centreon Engine lorsqu'Engine commence à envoyer sa configuration, ou bien lorqu'Engine s'arrête. + + + + +#### NEB::Instance + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 15 | 65551 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| -------------- | ---------------- | ------------------------------------------------------------ | ------- | +| engine | chaîne | Nom du moteur de supervision utilisé sur cette instance. | +| id | entier non signé | ID de l’instance. | +| name | chaîne | Nom de l’instance. | +| is\_running | booléen | Si cette instance est en cours d’exécution ou non. | +| pid | entier non signé | Supervision du PID du moteur. | +| program\_end | temps | Heure à laquelle l’instance s’est arrêtée. | +| program\_start | temps | Heure à laquelle l’instance a démarré. | +| version | chaîne | Version du moteur de supervision utilisé sur cette instance. | + + + + +#### NEB::PbInstance + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 44 | 65580 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Instance** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbInstance** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message Instance { + BBDOHeader header = 1; + + string engine = 2; // Nom du moteur de supervision utilisé sur cette instance. + bool running = 3; // Si l'instance fonctionne ou pas. + string name = 4; // Nom de l'instance. + int64 pid = 5; // PID du moteur de supervision. + uint64 instance_id = 6; // ID de l'instance + int64 end_time = 7; // Timestamp auquel l'instance s'éteint. + int64 start_time = 8; // Timestamp auquel l'instance s'allume. + string version = 9; // Version de l'émetteur de ce message. +} +``` + + + + +### Instance status + +Cet évènement est émis régulièrement par Centreon Engine en tant que watchdog. Cet évènement informe Broker que le collecteur est toujours vivant (en même temps que diverses autres informations). + + + + +#### NEB::InstanceStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 16 | 65552 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------------------------- | ---------------- | ----------------------------------------------------------------------------------------- | ------- | +| active\_host\_checks\_enabled | booléen | Si les contrôles d’hôtes actifs sont activés ou non de manière globale. | +| active\_service\_checks\_enabled | booléen | Si les contrôles de services actifs sont activés ou non de manière globale. | +| check\_hosts\_freshness | booléen | Si le contrôle de la fraîcheur des hôtes est activé ou non de manière globale. | +| check\_services\_freshness | booléen | Si le contrôle de la fraîcheur des services est activé ou non de manière globale. | +| event\_handler\_enabled | booléen | Si les gestionnaires d’évènements sont activés ou non de manière globale. | +| flap\_detection\_enabled | booléen | Si la détection des bagotements est activée ou non de manière globale. | +| id | entier non signé | ID de l’instance. | +| last\_alive | temps | La dernière fois que l’instance a été identifiée comme étant vivante. | +| last\_command\_check | temps | Dernière fois qu’une commande de contrôle a été exécutée. | +| notifications\_enabled | booléen | Si les notifications sont activées ou non de manière globale. | +| obsess\_over\_hosts | booléen | Si oui ou non le moteur de supervision remontera les résultats de contrôles des hôtes. | +| obsess\_over\_services | booléen | Si oui ou non le moteur de supervision remontera les résultats de contrôles des services. | +| passive\_host\_checks\_enabled | booléen | Si les contrôles passifs d’hôtes sont activés ou non de manière globale. | +| passive\_service\_checks\_enabled | booléen | Si les contrôles passifs de services sont activés ou non de manière globale. | +| global\_host\_event\_handler | chaîne | Gestionnaire d’évènements global pour les hôtes. | +| global\_service\_event\_handler | chaîne | Gestionnaire d’évènements global pour les services. | + + + + +#### NEB::PbInstanceStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 42 | 65578 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::InstanceStatus** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbInstanceStatus** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message InstanceStatus { + BBDOHeader header = 1; + + bool event_handlers = 2; // Si les event handlers sont activés globalement, ou non. + bool flap_detection = 3; // Si la détection du bagotement est activée globalement, ou non. + bool notifications = 4; // Si les notifications sont activées globalement, ou non. + bool active_host_checks = 5; // Si les contrôles actifs sur les hôtes sont activés globalement, ou non. + bool active_service_checks = 6; // Si les contrôles actifs sur les services sont activés globalement, ou non. + bool check_hosts_freshness = 7; // Si le contrôle de la fraîcheur des hôtes est activé globalement, ou non. + bool check_services_freshness = 8; // Si le contrôle de la fraîcheur des services est activé globalement, ou non. + string global_host_event_handler = 9; // Event handler global sur les hôtes. + string global_service_event_handler = 10; // Event handler global sur les services. + uint64 last_alive = 11; // Dernière fois que l'instance était vivante. + int64 last_command_check = 12; // Dernière fois qu'une commande de vérification a été exécutée. + bool obsess_over_hosts = 13; // Si le moteur de supervision doit porcéder à des contôles supplémentaires sur les hôtes, ou non. + bool obsess_over_services = 14; // Si le moteur de supervision doit porcéder à des contôles supplémentaires sur les services, ou non. + bool passive_host_checks = 15; // Si les contôles passifs sur les hôtes sont activés globalement, ou non. + bool passive_service_checks = 16; // Si les contôles passifs sur les services sont activés globalement, ou non. + uint64 instance_id = 17; // ID de l'instance. +} +``` + + + + +### Log entry + +Centreon Engine génère beaucoup de logs. Certains sont envoyés à Centreon Broker +afin d'être stockés dans la base de données. Ces logs sont envoyés via des évènements **log entry**. + + + + +#### NEB::LogEntry + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 17 | 65553 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | ------- | +| c\_time | temps | Temps de connexion. | +| host\_id | entier non signé | ID de l’hôte. 0 si l’entrée du journal ne fait pas référence à un hôte ou un service spécifique. | +| host\_name | chaîne | Nom de l’hôte. Peut être vide si l’entrée du journal ne fait pas référence à un hôte ou un service spécifique. | +| instance\_name | chaîne | Nom de l’instance. | +| log\_type | entier court | 0 pour SOFT, 1 pour HARD. | +| msg\_type | entier court | 0 pour SERVICE ALERT (envoyé lors du changement d’état du service), 1 pour HOST ALERT (envoyé lors du changement d’état de l’hôte), 2 pour SERVICE NOTIFICATION (notification envoyée pour un service), 3 pour HOST NOTIFICATION (notification envoyée pour un hôte), 4 pour Warning (avertissement de Centreon Engine), 5 pour EXTERNAL COMMAND (commande externe reçue), 6 pour CURRENT SERVICE STATE (état actuel du service supervisé, généralement envoyé lors du rechargement de la configuration), 7 pour CURRENT HOST STATE (état actuel de l’hôte supervisé, (état actuel de l’hôte supervisé, généralement envoyé lors du rechargement de la configuration), 8 pour INITIAL SERVICE STATE (état initial du service, après traitement de rétention, envoyé au début du processus), 9 pour INITIAL HOST STATE (état initial de l’hôte surveillé, après traitement de rétention, envoyé au début du processus), 10 pour la commande externe ACKNOWLEDGE\_SVC\_PROBLEM (cas particulier de EXTERNAL COMMAND pour l’acquittement du service), 11 pour la commande externe ACKNOWLEDGE\_HOST\_PROBLEM (cas particulier de EXTERNAL COMMAND pour l’acquittement de l’hôte). | +| notification\_cmd | chaîne | Commande de notification. | +| notification\_contact | chaîne | Contact pour la notification. | +| retry | entier | Tentative de contrôle actuelle. | +| service\_description | chaîne | Description du service. Vide si l’entrée du journal ne fait pas référence à un service spécifique. | +| service\_id | entier non signé | ID de service. 0 si l’entrée du journal ne fait pas référence à un service spécifique. | +| status | entier court | Statut de l’hôte / du service. | +| output | chaîne | Output. | + + + + +#### NEB::PbLogEntry + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 41 | 65577 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::LogEntry** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbLogEntry** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message LogEntry { + enum LogType { + SOFT = 0; + HARD = 1; + } + enum MsgType { + SERVICE_ALERT = 0; + HOST_ALERT = 1; + SERVICE_NOTIFICATION = 2; + HOST_NOTIFICATION = 3; + WARNING = 4; + OTHER = 5; + SERVICE_INITIAL_STATE = 8; + HOST_INITIAL_STATE = 9; + SERVICE_ACKNOWLEDGE_PROBLEM = 10; + HOST_ACKNOWLEDGE_PROBLEM = 11; + SERVICE_EVENT_HANDLER = 12; + HOST_EVENT_HANDLER = 13; + GLOBAL_SERVICE_EVENT_HANDLER = 14; + GLOBAL_HOST_EVENT_HANDLER = 15; + } + + uint64 ctime = 1; // Timestamp du log. + string instance_name = 2; // Nom de l'instance. + string output = 3; // Output. + uint64 host_id = 4; // ID de l'hôte. + uint64 service_id = 5; // ID du service, ou 0 si l'entrée de log ne se rapporte pas à un service spécifique. + string host_name = 6; // Nom de l'hôte. + string service_description = 7; // Description du service, ou vide si l'entrée de log ne se rapporte pas à un service spécifique. + string notification_contact = 8; // Contact de notification. + string notification_cmd = 9; // Commande de notification. + LogType type = 10; // Une valeur de LogType. + MsgType msg_type = 11; // Une valeur de MsgType. + int32 status = 12; // Statut de l'hôte/ du service. + int32 retry = 13; // Tentative de contrôle courante. +} +``` + + + + +### Module + +Les évènements relatifs aux modules sont générés lors du chargement ou du déchargement des modules de Centreon Broker. Ils sont peu utiles car les seuls modules disponibles dans Engine sont les modules obligatoires **external command** et **cbmod**. + +L'évènement **Module** devrait être supprimé dans un futur proche. + + + + +#### NEB::Module + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 18 | 65554 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ------------------ | ---------------- | ------------------------------------------------------ | ------- | +| args | chaîne | Arguments du module. | +| enabled | booléen | Si ce module est activé ou non. | +| filename | chaîne | Chemin d’accès au fichier du module. | +| instance\_id | entier non signé | ID de l’instance. | +| loaded | booléen | Si ce module est chargé ou non. | +| should\_be\_loaded | booléen | Si ce module doit être (aurait dû être) chargé ou non. | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Service + +Ceci est un évènement de configuration. Il est émis par Centreon Engine lorsque la configuration d'un service est modifiée, et que la configuration est déployée. + + + + +#### NEB::Service + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 23 | 65559 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| --------------------------------- | ---------------- | ----------- | ------- | +| acknowledged | booléen | | +| acknowledged\_type | entier court | | +| action\_url | chaîne | | +| active\_checks\_enabled | booléen | | +| check\_freshness | booléen | | +| check\_interval | réel | | +| check\_period | chaîne | | +| check\_type | entier court | | +| current\_check\_attempt | entier court | | +| current\_state | entier court | | +| default\_active\_checks\_enabled | booléen | | +| default\_event\_handler\_enabled | booléen | | +| default\_flap\_detection\_enabled | booléen | | +| default\_notifications\_enabled | booléen | | +| default\_passive\_checks\_enabled | booléen | | +| dowtine\_depth | entier court | | +| display\_name | chaîne | | +| enabled | booléen | | +| event\_handler | chaîne | | +| event\_handler\_enabled | booléen | | +| execution\_time | réel | | +| first\_notification\_delay | réel | | +| flap\_detection\_enabled | booléen | | +| flap\_detection\_on\_critical | booléen | | +| flap\_detection\_on\_ok | booléen | | +| flap\_detection\_on\_unknown | booléen | | +| flap\_detection\_on\_warning | booléen | | +| freshness\_threshold | réel | | +| has\_been\_checked | booléen | | +| high\_flap\_threshold | réel | | +| host\_id | entier non signé | | +| host\_name | chaîne | | +| icon\_image | chaîne | | +| icon\_image\_alt | chaîne | | +| service\_id | entier non signé | | +| is\_flapping | booléen | | +| is\_volatile | booléen | | +| last\_check | temps | | +| last\_hard\_state | entier court | | +| last\_hard\_state\_change | temps | | +| last\_notification | temps | | +| last\_state\_change | temps | | +| last\_time\_critical | temps | | +| last\_time\_ok | temps | | +| last\_time\_unknown | temps | | +| last\_time\_warning | temps | | +| last\_update | temps | | +| latency | réel | | +| low\_flap\_threshold | réel | | +| max\_check\_attempts | entier court | | +| next\_check | temps | | +| next\_notification | temps | | +| no\_more\_notifications | booléen | | +| notes | chaîne | | +| notes\_url | chaîne | | +| notification\_interval | réel | | +| notification\_number | entier court | | +| notification\_period | chaîne | | +| notifications\_enabled | booléen | | +| notify\_on\_critical | booléen | | +| notify\_on\_downtime | booléen | | +| notify\_on\_flapping | booléen | | +| notify\_on\_recovery | booléen | | +| notify\_on\_unknown | booléen | | +| notify\_on\_warning | booléen | | +| obsess\_over | booléen | | +| passive\_checks\_enabled | booléen | | +| percent\_state\_change | réel | | +| retry\_interval | réel | | +| scheduled\_downtime\_depth | entier court | | +| service\_description | chaîne | | +| should\_be\_scheduled | booléen | | +| stalk\_on\_critical | booléen | | +| stalk\_on\_ok | booléen | | +| stalk\_on\_unknown | booléen | | +| stalk\_on\_warning | booléen | | +| state\_type | entier court | | +| check\_command | chaîne | | +| output | chaîne | | +| perf\_data | chaîne | | +| retain\_nonstatus\_information | booléen | | +| retain\_status\_information | booléen | | + + + + +#### NEB::PbService + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 27 | 65563 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::Service** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbService** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +enum ServiceType { + SERVICE = 0; + METASERVICE = 2; + BA = 3; + ANOMALY_DETECTION = 4; +} + +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message Service { + uint64 host_id = 1; // ID de l'hôte. + uint64 service_id = 2; // ID du service. + + bool acknowledged = 3; // Actuellement acquitté? + AckType acknowledgement_type = 4; // Valeur de AckType. + + bool active_checks = 5; // Les contrôles actifs sont-ils activés? + bool enabled = 6; // Ce service est-il actif? + int32 scheduled_downtime_depth = 7; // Nombre de plages de maintenance actives. + string check_command = 8; // Commande exécutée. + uint32 check_interval = 9; // Intervalle en unités (généralement 60s) entre 2 contrôles. + string check_period = 10; // Période de temps durant laquelle les contrôles sont autorisés. + + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 11; // Valeur de CheckType. + int32 check_attempt = 12; // Nombre de contrôles non OK. + enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; + PENDING = 4; + } + State state = 13; // État courant du service. + bool event_handler_enabled = 14; // Event handler activé? + string event_handler = 15; // Commande exécutée lors d'un changement d'état. + double execution_time = 16; // Durée du dernier contrôle. + bool flap_detection = 17; // La détaction du bagotement est-elle activée ? + bool checked = 18; // Le service a-t-il été contrôlé ? + bool flapping = 19; // Le service est-il en état de bagotement ? + int64 last_check = 20; // Timestamp du dernier contrôle. + State last_hard_state = 21; // Dernier état hard. + int64 last_hard_state_change = 22; // Timestamp du dernier changement d'état hard. + int64 last_notification = 23; // Timestamp de la dernière notification. + int32 notification_number = 24; // Nombre de notifications envoyées depuis le début de l'alerte. + int64 last_state_change = 25; // Timestamp du dernier changement de statut. + int64 last_time_ok = 26; // Timestamp du dernier code retour check OK. + int64 last_time_warning = 27; // Timestamp du dernier code retour check WARNING. + int64 last_time_critical = 28; // Timestamp du dernier code retour check CRITICAL. + int64 last_time_unknown = 29; // Timestamp du dernier code retour check UNKNOWN. + int64 last_update = 30; // Timestamp de la création de cet évènement. + double latency = 31; // Délai entre l'heure de contrôle programmée et celle de l'exécution du contrôle. + uint32 max_check_attempts = 32; // Nombre de contrôles non OK après lesquels le service entre dans un état non OK hard. + int64 next_check = 33; // Timestamp du prochain contrôle programmé. + int64 next_notification = 34; // Timestamp de la prochaine notification. + bool no_more_notifications = 35; // Aucune autre notification ne sera envoyée. + bool notify = 36; // Les notifications sont-elles activées sur ce service? + string output = 37; // Output de la commande de contrôle. + string long_output = 38; // Output long de la commande de contrôle. + bool passive_checks = 39; // Les contrôles passifs sont-ils activés? + double percent_state_change = 40; // Utilisé par le bagotement, et comparé aux seuils hauts et bas de bagotement. + string perfdata = 41; // Données de performance extraites de l'output de la commande. + double retry_interval = 42; // Intervalle entre deux contrôles lorsque le service n'est pas dans un statut OK et que le type d'état est SOFT. + string host_name = 43; // Nom de l'hôte pour ce service. + string description = 44; // Description de ce service. + bool should_be_scheduled = 45; // Un prochain contrôle est-il programmé ? + bool obsess_over_service = 46; // True si une commande OCSP est exécutée après un contrôle ou une commande de notification. + + enum StateType { + SOFT = 0; + HARD = 1; + } + + StateType state_type = 47; // Valeur de StateType. + string action_url = 48; // URL permettant d'obtenir des informations sur ce service. + bool check_freshness = 49; // Contrôle de fraîcheur passive activé? + bool default_active_checks = 50; // Valeur par défaut pour active_checks. + bool default_event_handler_enabled = 51; // Valeur par défaut pour event_handler_enabled. + bool default_flap_detection = 52; // Valeur par défaut pour flap detection. + bool default_notify = 53; // Valeur par défaut pour notify. + bool default_passive_checks = 54; // Valeur par défaut pour passive checks. + string display_name = 55; // Non affiché dans l'interface. + double first_notification_delay = 56; // Délai avant de notifier, en unités (généralement 60s). + bool flap_detection_on_critical = 57; // Le statut critique est pris en compte pour la détection du bagotement. + bool flap_detection_on_ok = 58; // Le statut ok est pris en compte pour la détection du bagotement. + bool flap_detection_on_unknown = 59; // Le statut inconnu est pris en compte pour la détection du bagotement. + bool flap_detection_on_warning = 60; // Le statut alerte est pris en compte pour la détection du bagotement. + double freshness_threshold = 61; // Délai après lequel le résultat du contrôle n'est plus considéré comme frais. + double high_flap_threshold = 62; // Si le pourcentage de changement est plus élevé que ce nombre, le service est considéré comme en état de bagotement. + string icon_image = 63; // Icône affichée dans l'interface pour ce service. + string icon_image_alt = 64; // Texte alternatif pour icon_image. + bool is_volatile = 65; // Le service est-il volatile? + double low_flap_threshold = 66; // Si le pourcentage de changement est moins élevé que ce nombre, le service n'est pas considéré comme en état de bagotement. + string notes = 67; // Infobulle dans la page Statut des ressources. + string notes_url = 68; // URL cliquable dans la page Statut des ressources. + double notification_interval = 69; // Intervalle entre deux notifications. + string notification_period = 70; // Période de temps pendant laquelle les notifications sont autorisées. + bool notify_on_critical = 71; // Les utilisateurs sont notifiés si le statut du service devient critique. + bool notify_on_downtime = 72; // Les utilisateurs sont notifiés si une plage de maintenance est appliquée au service. + bool notify_on_flapping = 73; // Les utilisateurs sont notifiés si le service est en état de bagotement. + bool notify_on_recovery = 74; // Les utilisateurs sont notifiés si le statut du service devient Disponible. + bool notify_on_unknown = 75; // Les utilisateurs sont notifiés si le statut du service devient inconnu. + bool notify_on_warning = 76; // Les utilisateurs sont notifiés si le statut du service devient alerte. + bool stalk_on_critical = 77; // Les utilisateurs sont notifiés si le statut du service devient critique. + bool stalk_on_ok = 78; // Inscrit dans le log le changement d'output si le statut passe à disponible. + bool stalk_on_unknown = 79; // Inscrit dans le log le changement d'output si le statut passe à inconnu. + bool stalk_on_warning = 80; // Inscrit dans le log le changement d'output si le statut passe à alerte + bool retain_nonstatus_information = 81; // Non utilisé. + bool retain_status_information = 82; // Non utilisé. + uint64 severity_id = 83; // ID de la sévérité, ou 0. + repeated TagInfo tags = 84; // IDs des tags. + + ServiceType type = 85; // De quel type de service s'agit-il? + + /* Les métaservices et les BA ont un ID interne. Il est stocké ici. */ + uint64 internal_id = 86; // ID du métaservice ou de la BA. + uint64 icon_id = 87; // ID de l'icône. +} +``` + + + + +### Service check + +Cet évènement est émis par Centreon Engine lorsqu'un contrôle est effectué sur un service. + + + + +#### NEB::ServiceCheck + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 19 | 65555 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ----------------------- | ---------------- | --------------------------------------------------------- | ------- | +| active\_checks\_enabled | booléen | True si les contrôles actifs sont activés sur le service. | +| check\_type | court | | +| host\_id | entier non signé | ID de l’hôte. | +| next\_check | temps | Heure à laquelle le prochain contrôle est prévu. | +| service\_id | entier non signé | ID de service. | +| command\_line | chaîne | Ligne de commande du contrôle. | + + + + +#### NEB::PbServiceCheck + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 40 | 65576 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::ServiceCheck** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbServiceCheck** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +enum CheckType { + CheckActive = 0; + CheckPassive = 1; +} + +message Check { + BBDOHeader header = 1; + + bool active_checks_enabled = 2; // True si les contrôles actifs sont activés sur l'hôte. + CheckType check_type = 3; // L'une des valeurs de CheckType. + string command_line = 4; // Commande de contrôle. + uint64 host_id = 5; // ID de l'hôte. + uint64 next_check = 6; // Timestamp pour lequel le prochain contrôle est programmé. + uint64 service_id = 7; // ID du service, ou 0 pour un contrôle sur un hôte. +} +``` + + + + +### Service dependency + +Ceci est un évènement de configuration envoyé lorsqu'une dépendance entre services est définie. + + + + +#### NEB::ServiceDependency + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 20 | 65556 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ------------------------------ | ---------------- | ----------- | ------- | +| dependency\_period | chaîne | | +| dependent\_host\_id | entier non signé | | +| dependent\_service\_id | entier non signé | | +| enabled | booléen | | +| execution\_failure\_options | chaîne | | +| host\_id | entier non signé | | +| inherits\_parent | booléen | | +| notification\_failure\_options | chaîne | | +| service\_id | entier non signé | | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Service group + +Cet évènement de configuration est émis lorsqu'un groupe de services est créé. + + + + +#### NEB::ServiceGroup + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 21 | 65557 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ---------- | ---------------- | ------------------------------------------------------------------- | ------- | +| id | entier non signé | | +| name | chaîne | Nom du groupe. | +| enabled | enabled | True si le groupe est activé, faux s’il ne l’est pas (suppression). | +| poller\_id | entier non signé | | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Service group member + +Ceci est un évènement de configuration. Il est envoyé juste après un évènement **servicegroup** afin de détailler les membres du groupe à configurer. En BBDO v3, la version BBDO v2 de l'évènement est toujours utilisée. + + + + +#### NEB::ServiceGroupMember + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 22 | 65558 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ----------- | ---------------- | ------------------------------------------------------------------- | ------- | +| id | entier non signé | | +| host\_id | entier non signé | | +| service\_id | entier non signé | | +| enabled | enabled | True si le groupe est activé, faux s’il ne l’est pas (suppression). | +| group\_name | chaîne | Nom du groupe. | +| poller\_id | entier non signé | | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Service status + +Cet évènement est émis par Centreon Engine losque des modifications en temps réel sont apportées à un service. + + + + +#### NEB::ServiceStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 24 | 65560 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | +| ------------------------- | ---------------- | ----------- | +| acknowledged | booléen | | +| acknowledgement\_type | entier court | | +| active\_checks\_enabled | booléen | | +| check\_interval | réel | | +| check\_period | chaîne | | +| check\_type | entier court | | +| current\_check\_attempt | entier court | | +| current\_state | entier court | | +| downtime\_depth | entier court | | +| enabled | booléen | | +| event\_handler | chaîne | | +| event\_handler\_enabled | booléen | | +| execution\_time | réel | | +| flap\_detection\_enabled | booléen | | +| has\_been\_checked | booléen | | +| host\_id | entier non signé | | +| host\_name | chaîne | | +| is\_flapping | booléen | | +| last\_check | temps | | +| last\_hard\_state | entier court | | +| last\_hard\_state\_change | temps | | +| last\_notification | temps | | +| last\_state\_change | temps | | +| last\_time\_critical | temps | | +| last\_time\_ok | temps | | +| last\_time\_unknown | temps | | +| last\_time\_warning | temps | | +| last\_update | temps | | +| latency | réel | | +| max\_check\_attempts | entier court | | +| modified\_attributes | entier non signé | | +| next\_check | temps | | +| next\_notification | temps | | +| no\_more\_notifications | booléen | | +| notification\_number | entier court | | +| notifications\_enabled | booléen | | +| obsess\_over | booléen | | +| passive\_checks\_enabled | booléen | | +| percent\_state\_change | réel | | +| retry\_interval | réel | | +| service\_description | chaîne | | +| service\_id | entier non signé | | +| should\_be\_scheduled | booléen | | +| state\_type | entier court | | +| check\_command | chaîne | | +| output | chaîne | | +| perf\_data | chaîne | | + + + + +#### NEB::PbServiceStatus + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 29 | 65565 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::ServiceStatus** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbServiceStatus** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message ServiceStatus { + uint64 host_id = 1; // ID de l'hôte. + uint64 service_id = 2; // ID du service. + + bool checked = 3; // Le service est-il contrôlé? + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 4; // Valeur de CheckType. + + enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; + PENDING = 4; + } + State state = 5; // État courant du service. + enum StateType { + SOFT = 0; + HARD = 1; + } + StateType state_type = 6; // Valeur de StateType. + int64 last_state_change = 7; // Timestamp du dernier changement d'état. + State last_hard_state = 8; // Dernier état hard. + int64 last_hard_state_change = 9; // Timestamp du dernier changement d'état hard. + int64 last_time_ok = 10; // Timestamp du dernier code retour OK. + int64 last_time_warning = 11; // Timestamp du dernier code retour WARNING. + int64 last_time_critical = 12; // Timestamp du dernier code retour CRITICAL. + int64 last_time_unknown = 13; // Timestamp du dernier code retour UNKNOWN. + + string output = 14; // Output de la commande de contrôle. + string long_output = 15; // Output long de la commande de contrôle. + string perfdata = 16; // Données de performance extraites de l'output de la commande. + + bool flapping = 17; // Le service est-il en état de bagotement ? + double percent_state_change = 18; // Utilisé par le bagotement, et comparé aux seuils hauts et bas de bagotement. + double latency = 19; // Délai entre l'heure de contrôle programmée et celle à laquelle le contrôle a été exécuté. + double execution_time = 20; // Durée du dernier contrôle. + int64 last_check = 21; // Timestamp du dernier contrôle. + int64 next_check = 22; // Timestamp du prochain contrôle programmé. + bool should_be_scheduled = 23; // Un prochain contrôle est-il programmé? + int32 check_attempt = 24; // Nombre de contrôles non OK après lesquels un service entre dans un état non OK hard. + + int32 notification_number = 25; // Nombre de notifications envoyées depuis le début de l'alerte. + bool no_more_notifications = 26; // Aucune autre notification ne sera envoyée. + int64 last_notification = 27; // Timestamp de la dernière notification. + int64 next_notification = 28; // Timestamp de la prochaine notification. + + AckType acknowledgement_type = 29; // Valeur de AckType. + int32 scheduled_downtime_depth = 30; // Nombre de plages de maintenance actives. + + ServiceType type = 31; // De quel type de service s'agit-il ? + + /* Les métaservices et les BA ont un ID interne. Il est stocké ici. */ + uint64 internal_id = 32; // ID du métaservice ou de la BA. +} +``` + + + + +### Instance configuration + +Ceci est un évènement de configuration annonçant tous les évènements de configuration qui seront envoyés par un collecteur. + + + + +#### NEB::InstanceConfiguration + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 25 | 65561 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ---------- | ---------------- | ------------------------------------------------------------------------------------ | ------- | +| loaded | booléen | True si l’instance s’est chargée avec succès. | +| poller\_id | entier non signé | ID du collecteur qui a reçu une demande de mise à jour de la configuration (reload). | + + + + +Cet évènement est le même qu'en BBDO v2. Il n'existe pas d'évènement Protobuf. + + + + +### Responsive instance + +Cet évènement est émis par cbd. Il indique si un collecteur répond ou non. + + + + +#### NEB::ResponsiveInstance + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 26 | 65562 | + +Le contenu de ce message est sérialisé de la manière suivante : + +| Propriété | Type | Description | Version | +| ---------- | ---------------- | ------------------------------------------------------------------------------------ | ------- | +| poller\_id | entier non signé | ID du collecteur qui a reçu une demande de mise à jour de la configuration (reload). | +| responsive | booléen | Un booléen indiquant si le collecteur ayant l’ID **poller_id** répond ou non. | + + + + +#### NEB::PbResponsiveInstance + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 46 | 65582 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::ResponsiveInstance** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbResponsiveInstance** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // Un nombre interne, non utilisé actuellement. +} + +message ResponsiveInstance { + BBDOHeader header = 1; + + uint64 poller_id = 2; // ID du collecteur. + bool responsive = 3; // Le collecteur répond-il? +} +``` + + + + +### Adaptive service + +Cet évènement a été introduit en BBDO v3. Il est émis lorsque la configuration d'un service est mise à jour à chaud (par exemple à l'aide d'une commande externe). + + + + +**Adaptive service** n'est pas disponible en BBDO v2. + + + + +#### NEB::PbAdaptiveService + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 41 | 65577 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::AdaptiveService** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbAdaptiveService** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message AdaptiveService { + uint64 host_id = 1; // ID de l'hôte. + uint64 service_id = 2; // ID du service. + + optional bool notify = 3; // Les notifications sont-elles activées sur ce service? + optional bool active_checks = 4; // Les contrôles actifs sont-ils activés ? + optional bool should_be_scheduled = 5; // Un prochain contrôle est-il programmé ? + optional bool passive_checks = 6; // Les contrôles passifs sont-ils activés ? + optional bool event_handler_enabled = 7; // Event handler est-il activé ? + optional bool flap_detection_enabled = 8; // La détection du bagotement est-elle activée ? + optional bool obsess_over_service = 9; // True si une commande OCSP est exécutée après un contôle ou une commande de notification. + optional string event_handler = 10; // Commande exécutée quand le statut change. + optional string check_command = 11; // Command exécutée. + optional uint32 check_interval = 12; // Intervalle en unités (généralement 60s) entre 2 contrôles. + optional uint32 retry_interval = 13; // Intervalle entre deux contrôles lorsque le service n'est pas dans un statut OK et que le type d'état est SOFT. + optional uint32 max_check_attempts = 14; // Nombre de contrôles non OK après lesquels un service entre dans un état non OK hard. + optional bool check_freshness = 15; // Le contrôle passif de fraîcheur est-il activé ? + optional string check_period = 16; // Période de temps pendant laquelle les contrôles sont autorisés. + optional string notification_period = 17; // Période de temps pendant laquelle les notifications sont autorisées. +} +``` + + + + +### Adaptive host + +Cet évènement a été introduit en BBDO v3. Il est émis lorsque la configuration d'un hôte est mise à jour à chaud (par exemple à l'aide d'une commande externe). + + + + +**Adaptive host** n'est pas disponible en BBDO v2. + + + + + +#### NEB::PbAdaptiveHost + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 31 | 65567 | + +Cet évènement est un évènement Protobuf, de sorte que les éléments ne sont pas sérialisés comme dans les évènements précédents, mais en utilisant le mécanisme de sérialisation Protobuf 3. Lorsque la version BBDO 3 est utilisée, plus aucun message **NEB::AdaptiveHost** ne devrait être envoyé, vous devriez voir des évènements **NEB::PbAdaptiveHost** à la place. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```cpp +message AdaptiveHost { + uint64 host_id = 1; // ID de l'hôte. + + optional bool notify = 2; // Les notifications sont-elles activées sur ce service ? + optional bool active_checks = 3; // Les contrôles actifs sont-ils activés ? + optional bool should_be_scheduled = 4; // Un prochain contrôle est-il programmé ? + optional bool passive_checks = 5; // Les contrôles passifs sont-ils activés ? + optional bool event_handler_enabled = 6; // Event handler est-il activé ? + optional bool flap_detection = 7; // La détection du bagotement est-elle activée ? + optional bool obsess_over_host = 8; // True si une commande OCSP est exécutée après un contôle ou une commande de notification. + optional string event_handler = 9; // Commande exécutée quand le statut change. + optional string check_command = 10; // Commande exécutée. + optional uint32 check_interval = 11; // Intervalle en unités (généralement 60s) entre 2 contrôles. + optional uint32 retry_interval = 12; // Intervalle entre deux contrôles lorsque le service n'est pas dans un statut OK et que le type d'état est SOFT. + optional uint32 max_check_attempts = 13; // Nombre de contrôles non OK après lesquels un service entre dans un état non OK hard. + optional bool check_freshness = 14; // Le contrôle passif de fraîcheur est-il activé ? + optional string check_period = 15; // Période de temps pendant laquelle les contrôles sont autorisés. + optional string notification_period = 16; // Période de temps pendant laquelle les notifications sont autorisées. +} +``` + + + + +### Severity + +Ceci est un évènement de configuration. il définit une sévérité. Cet évènement a été introduit en BBDO v3. + + + + +IL n'y a pas de version BBDO v2 de cet évènement. + + + + +#### NEB::PbSeverity + +| Catégorie | élément | ID | +| --------- | ------- | ----- | +| 1 | 33 | 65569 | + +Cet évènement est compris dans BBDO 3. Il contient la sévérité d’une ressource. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```text +message Severity { + uint64 id = 1; + enum Action { + ADD = 0; + DELETE = 1; + MODIFY = 2; + } + Action action = 2; + uint32 level = 3; + uint64 icon_id = 4; + string name = 5; + enum Type { + SERVICE = 0; + HOST = 1; + } + Type type = 6; + uint64 poller_id = 7; +} +``` + + + + +## Storage + +### Metric + +Cet évènement est généré par un point de terminaison Storage pour notifier qu’un graphique de métriques RRD doit être mis à jour. + + + + +#### Storage::Metric + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 1 | 196609 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ---------------- | ---------------- | --------------------------------------------------------------------------------------------- | +| ctime | temps | Heure à laquelle la valeur métrique a été générée. | +| interval | entier non signé | Intervalle de contrôle du service normal en secondes. | +| metric\_id | entier non signé | ID de la métrique (à partir du tableau des métriques). | +| name | chaîne | Nom de la métrique. | +| rrd\_len | entier | Durée de rétention des données RRD en secondes. | +| value | réel | Valeur de la métrique. | +| value\_type | entier court | Type de métrique (1 =3D compteur, 2 =3D dérive, 3 =3D absolu, autre =3D jauge). | +| is\_for\_rebuild | booléen | Défini sur True quand un graphique est en cours de reconstruction (voir l’évènement rebuild). | +| host\_id | entier non signé | ID de l’hôte auquel cette métrique est attachée. | +| service\_id | entier non signé | ID du service auquel cette métrique est attachée. | + + + + +#### Storage::PbMetric + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 9 | 196617 | + +Cet événement est un événement Protobuf, ainsi son contenu n'est pas sérialisé +comme pour les événements en BBDO v2 mais plutôt en utilisant le mécanisme de +sérialisation Protobuf 3. Lorsque BBDO v3 est utilisé, les événements +**Storage::Metric** ne devraient plus être émis, vous devriez voir à la place +des événements **Storage::PbMetric**. + +Voici la définition de cet événement [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) + +```cpp +message Metric { + enum ValueType { + GAUGE = 0; + COUNTER = 1; + DERIVE = 2; + ABSOLUTE = 3; + AUTOMATIC = 4; + } + uint64 metric_id = 4; // ID de la métrique. + int32 rrd_len = 5; // Longueur en secondes de la rétention RRD. + int32 interval = 6; // Intervalle de check de service normal en secondes. + ValueType value_type = 7; // Une valeur de ValueType. + uint64 time = 8; // Timestamp à laquelle la valeur de la métrique a été générée. + double value = 9; // Valeur de la métrique. + string name = 10; // Nom de la métrique. + uint64 host_id = 11; // ID de l'hôte. + uint64 service_id = 12; // ID du service. +} +``` + + + + +### Rebuild + +Les évènements de reconstruction sont générés lorsqu’un point de terminaison Storage détecte qu’un graphique doit être reconstruit. Il envoie d’abord un évènement de début de reconstruction (end `false`), +puis des valeurs métriques (évènement métrique avec is\_for\_rebuild défini sur True) et enfin un évènement de fin de reconstruction (end `true`). + +Ce message et son fonctionnement sont uniquement disponibles en BBDO v2. +Avec BBDO v3, on profite de la puissance de Protobuf. Pour reconstruire les +graphiques, on utilise l'événement [Storage::PbRebuildMessage](#storagepbrebuildmessage). + + + + +#### Storage::Rebuild + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 2 | 196610 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| --------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------------- | +| end | booléen | Indicateur de fin. Défini sur True si la reconstruction commence, False si elle se termine. | +| id | entier non signé | ID de la métrique à reconstruire si is\_index est False, ou ID de l’index à reconstruire (graphique d’état) si is\_index est True. | +| is\_index | booléen | Indicateur d’index. Reconstruction de l’index (état) si True, reconstruction de la métrique si False. | + + + + +Non disponible avec Protobuf 3. + +Veuillez consulter [Storage::PbRebuildMessage](#storagepbrebuildmessage) pour l'alternative. + + + + +### Remove graph + +Un point de terminaison Storage génère un évènement de suppression de graphique lorsqu’un graphique doit être supprimé. + +Ce message et son fonctionnement sont uniquement disponibles en BBDO v2. +Avec BBDO v3, on profite de la puissance de Protobuf. Pour supprimer les +graphiques, on utilise l'événement [Storage::PbRemoveGraphMessage](#storagepbremovegraphmessage). + + + + +#### Storage::RemoveGraph + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 3 | 196611 | + +Le contenu de ce message est sérialisé comme suit: + +| Propriété | Type | Description | +| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------- | +| id | entier non signé | ID de l’index (is\_index =`true`) ou ID de la métrique (is\_index =`false`) à supprimer. | +| is\_index | booléen | Indicateur d’index. Si True, un graphique d’index (état) sera supprimé. Si False, un graphique de métrique sera supprimé. | + + + + +Non disponible avec Protobuf 3. + +Veuillez consulter [Storage::PbRemoveGraphMessage](#storagepbremovegraphmessage) +pour l'alternative. + + + + +### Status + +Cet événement est émis par Centreon Broker lorsqu'un événement de type **Service Status** ou **Host Status** est reçu. +Il contient essentiellement une ressource avec son état. + + + + +#### Storage::Status + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 4 | 196612 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ---------------- | ---------------- | --------------------------------------------------------------------------------------------- | +| ctime | temps | Heure à laquelle l’état a été généré. | +| index\_id | entier non signé | ID de l’index. | +| interval | entier non signé | Intervalle de contrôle du service normal en secondes. | +| rrd\_len | temps | Rétention des données RRD en secondes. | +| state | entier court | État du service. | +| is\_for\_rebuild | booléen | Défini sur True quand un graphique est en cours de reconstruction (voir l’évènement rebuild). | + + + + +#### Storage::PbStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 10 | 196618 | + +Cet évènement est un évènement Protobuf, par conséquent ses éléments ne sont pas +sérialisés comme avec BBDO v2 mais en utilisant le mécanisme de sérialisation +Protobuf 3. Lorsque BBDO v3 est utilisé, il ne devrait plus y avoir d'émission +d'évènements **Storage::Status**, à la place on devrait avoir des +**Storage::PbStatus**. + +Voici la définition de l'évènement [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) : + +```cpp +message Status { + uint64 index_id = 1; // ID de l'index. + uint32 interval = 2; // Intervalle en secondes entre deux checks de service normaux. + uint32 rrd_len = 3; // Rétention RRD en secondes. + uint64 time = 4; // Timestamp auquel le status est généré. + uint32 state = 5; // État du service. +} +``` + + + + +### Metric mapping + +Cet évènement est émis par Centreon Broker lorsqu'une nouvelle configuration de +service est reçue. Il établit la relation entre un ID d'index d'un service et un +ID de métrique. Voir [Index mapping](#indexmapping) pour davantage d'informations +sur les ID d'index. + + + + +#### Storage::MetricMapping + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 6 | 196614 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| --------- | ---------------- | -------------- | +| index\_id | entier non signé | ID de l’index. | +| metric\_d | entier non signé | ID de l’index. | + + + + +#### Storage::PbMetricMapping + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 12 | 196620 | + +Cet évènement est un évènement Protobuf, ainsi ses éléments ne sont pas sérialisés +comme avec BBDO v2 mais plutôt en utilisant le mécanisme de sérialisation de +Protobuf 3. Quand BBDO v3 est actif, il ne devrait plus y avoir d'évènements +**Storage::MetricMapping** émis mais plutôt des **Storage::PbIndexMapping**. + +Voici la définition de cet événement [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) : + +```cpp +message MetricMapping { + uint64 index_id = 1; // ID de l'index de service. + uint64 metric_id = 2; // ID de la métrique liée au service. +} +``` + + + + +### Index mapping + +Cet évènement est émis par Centreon Broker lorsqu'une nouvelle configuration de service +est reçue. Il crée l'association entre un ID et un service identifié par le couple +**(host ID/service ID)**. Ce nouvel ID est utile pour la déclaration des métriques +de service. + + + + +#### Storage::IndexMapping + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 5 | 196613 | + +Le contenu de ce message est sérialisé de la façon suivante : + +| Propriété | Type | Description | +| ----------- | ---------------- | -------------- | +| index\_id | entier non signé | ID de l’index. | +| host\_id | entier non signé | ID de l’index. | +| service\_id | entier non signé | ID de l’index. | + + + + +#### Storage::PbIndexMapping + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 11 | 196619 | + +Cet évènement est un évènement Protobuf, ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais plutôt en utilisant le mécanisme de sérialisation de +Protobuf 3. Lorsque BBDO v3 est actif, les événements **Storage::IndexMapping** +ne devraient plus être émis, à la place on devrait avoir des évènements +**Storage::PbIndexMapping**. + +Voici la définition de l'évènement [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) : + +```cpp +message IndexMapping { + uint64 index_id = 1; // ID de l'index d'un service. + uint64 host_id = 2; // ID de l'hôte du service. + uint64 service_id = 3; // ID du service. +} +``` + + + + +### Rebuild Message + +Cet événement arrive avec BBDO v3. Quand on doit reconstruire des graphes, +c'est cet évènement qui contient les informations de reconstruction. Il remplace +les anciens messages BBDO v2 de **rebuild**. + + + + +Non disponible en BBDO v2. + +Voir [Storage::Rebuild](#storagerebuild) + + + + +#### Storage::PbRebuildMessage + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 7 | 196615 | + +Il existe trois états pour ce message : + +* START : il s’agit du premier état, ce message initialise les métriques qui doivent être reconstruites. +* DATA : une fois que l’état START a été envoyé, un ou plusieurs messages avec l’état DATA peuvent être envoyés au broker RRD. +* END : lorsque tous les évènements de reconstruction ont été envoyés, celui-ci est envoyé pour clôturer les reconstructions. Et le broker RRD revient à un état nominal. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) est le suivant : + +```text +message Point { + int64 ctime = 1; + double value = 2; +} + +message Timeserie { + repeated Point pts = 1; + int32 data_source_type = 2; + uint32 check_interval = 3; + uint32 rrd_retention = 4; +} + +message RebuildMessage { + enum State { + START = 0; + DATA = 1; + END = 2; + } + State state = 1; + /* Only used on DATA state */ + map timeserie = 2; + + /* Only used on START/END state */ + repeated uint64 metric_id = 3; +} +``` + + + + +### Remove Graph Message + +Cet évènement est compris dans BBDO 3. Lorsque nous voulons supprimer des fichiers graphiques, nous pouvons utiliser l’API gRPC de centengine et cet appel fait en sorte que cbd génère un **Pb Remove Graph Message**. Deux possibilités sont combinées dans cet évènement. Nous pouvons supprimer les graphiques correspondant à certaines données d’index ou les graphiques correspondant à certaines données métriques. Il est également possible de combiner les deux types. + + + + +Non disponible en BBDO v2. + +Voir [Storage::RemoveGraph](#storageremovegraph) + + + + +#### Storage::PbRemoveGraphMessage + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 3 | 8 | 196616 | + +Voici la définition de cet évènement [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) : + +```cpp +message RemoveGraphMessage { + repeated uint64 index_ids = 1; + repeated uint64 metric_ids = 2; +} +``` + + + + +## BBDO + +### Version response + +Voici le message de négociation utilisé jusqu'à la version BBDO v3.0.0. +Chaque fois qu'une connexion BBDO est établie, chaque interlocuteur envoie +ce message pour négocier les options à activer. + + + + +#### BBDO::VersionResponse + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 2 | 1 | 131073 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ----------- | ------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------- | +| bbdo\_major | entier court | La version majeure du protocole BBDO utilisée par le pair qui envoie ce paquet **version_response**. La seule version actuelle du protocole est la 1.0.0. | +| bbdo\_minor | entier court | La version mineure du protocole BBDO utilisée par le pair qui envoie ce paquet **version_response**. | +| bbdo\_patch | entier court | Le correctif du protocole BBDO utilisé par le pair qui envoie ce paquet **version_response**. | +| extensions | chaîne | Chaîne séparée par des espaces des extensions prises en charge par le pair qui envoie ce paquet **version_response**. | + + + + +L'événement est le même qu'en BBDO v2. Il n'y a pas d'évènement Protobuf. + + + + +### Ack + +Généralement, un **envoyeur BBDO** envoie des événements tandis qu'un +**récepteur BBDO** reçoit des événements. Ceci dit, il envoie quelques évènements +comme le **Ack**. + +Le principe est le suivant : l'envoyeur garde en mémoire tous les évènements qu'il +envoie au récepteur. Et lorsque le récepteur a terminé d'en traiter un lot, il +envoie un **Ack** avec le nombre d'évènements qu'il a traité. L'envoyeur peut +alors les jeter. + + + + +#### BBDO::Ack + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 2 | 2 | 131074 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ------------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| acknowledged events | entier non signé | Nombre d’évènements acquittés. Utilisé uniquement par les clients « intelligents » (c’est-à-dire capables d’acquitter des évènements). Ne doit pas être utilisé par des clients non intelligents. | + + + + +#### NEB::PbAck + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 2 | 8 | 131080 | + +Cet évènement est un évènement Protobuf, ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf 3. +Quand BBDO v3 est actif, il ne devrait plus y avoir d'évènements **NEB::Ack** +émis mais plutôt des **NEB::PbAck**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant: + +```cpp +message Ack { + uint32 acknowledged_events = 1; // Le nombre d'évènements à acquitter. +} +``` + + + + +### Stop + +Quand un côté d'une connexion BBDO va s'éteindre, il émet un événement **Stop** +afin que l'autre côté puisse, si possible, lui envoyer un **Ack** permettant de +jeter les éventuels événements déjà traités. + + + + +#### BBDO::Stop + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 2 | 3 | 131075 | + +Le contenu de ce message est vide. + + + + +#### BBDO::PbStop + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 2 | 9 | 131081 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais plutôt en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, on ne devrait plus voir de **BBDO::Stop** émis mais plutôt +des **BBDO::PbStop**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message Stop {} +``` + + + + +## BAM + +### BA status event + +Cet évènement est envoyé lorsque le statut d’une BA a changé. + + + + +#### BAM::BaStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 1 | 393217 | + +Le contenu de ce message est sérialisé comme suit: + +| Propriété | Type | Description | +| ---------------------- | ---------------- | ---------------------------------------------- | +| ba\_id | entier non signé | L’id de la BA. | +| in\_downtime | booléen | True si la BA est en temps d’arrêt. | +| last\_state\_change | temps | L’heure du dernier changement d’état de la BA. | +| level\_acknowledgement | réel | Le niveau d’acquittement de la BA. | +| level\_downtime | réel | Le niveau de temps d’arrêt de la BA. | +| level\_nominal | réel | Le niveau nominal de la BA. | +| state | entier court | L’état de la BA. | +| state\_changed | booléen | True si l’état de la BA vient de changer. | + + + + +#### BAM::PbBaStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 19 | 393235 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisé +comme avec BBDO v2 mais plutôt en utilisant le mécanisme de sérialisation de +Protobuf. Quand BBDO v3 est actif, les évènements **BAM::BaStatus** devraient +être remplacés par les évènements **BAM::PbBaStatus**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message BaStatus { + uint32 ba_id = 2; // ID de la BA. + bool in_downtime = 3; // Vrai si la BA est en downtime. + uint64 last_state_change = 4; // Timestamp du dernier changement d'état de la BA. + double level_acknowledgement = 5; // Niveau d'acquittement de la BA. + double level_downtime = 6; // Niveau de downtime de la BA. + double level_nominal = 7; // Niveau nominal de la BA. + State state = 8; // État de la BA. + bool state_changed = 9; // Vrai si l'état de la BA vient juste de changer. +} +``` + + + + +### KPI status event + +Cet évènement est envoyé lorsque le statut d’un KPI a changé. + + + + +#### BAM::KpiStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 2 | 393218 | + +Le contenu de ce message est sérialisé comme suit: + +| Propriété | Type | Description | +| ---------------------------- | ---------------- | -------------------------------------------- | +| kpi\_id | entier non signé | L’ID du KPI. | +| in\_downtime | bool | True si le KPI est en temps d’arrêt. | +| level\_acknowledgement\_hard | réel | Le niveau d’acquittement hard du KPI. | +| level\_acknowledgement\_soft | réel | Le niveau d’acquittement soft du KPI. | +| level\_downtime\_hard | réel | Le niveau de temps d’arrêt hard du KPI. | +| level\_downtime\_soft | réel | Le niveau de temps d’arrêt soft du KPI. | +| level\_nominal\_hard | réel | Le niveau nominal hard du KPI. | +| level\_nominal\_soft | réel | Le niveau nominal soft du KPI. | +| state\_hard | entier court | L’état hard du KPI. | +| state\_soft | entier court | L’état soft du KPI. | +| last\_state\_change | temps | L’heure du dernier changement d’état du KPI. | +| last\_impact | réel | Le dernier impact du KPI. | +| valid | bool | True si le KPI est valide. | + + + + +#### BAM::PbKpiStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 27 | 393243 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utlisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les évènements **BAM::KpiStatus** ne sont plus envoyés +et sont remplacés par des évènements **BAM::PbKpiStatus**. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message KpiStatus { + uint32 kpi_id = 1; // ID du KPI. + bool in_downtime = 2; // Vrai si le KPI est en downtime. + double level_acknowledgement_hard = 3; // Niveau hard d'acquittement du KPI. + double level_acknowledgement_soft = 4; // Niveau soft d'acquittement du KPI. + double level_downtime_hard = 5; // Niveau hard du downtime du KPI. + double level_downtime_soft = 6; // Niveau soft du downtime du KPI. + double level_nominal_hard = 7; // Niveau nominal hard du KPI. + double level_nominal_soft = 8; // Niveau nominal soft du KPI. + State state_hard = 9; // État hard du KPI. + State state_soft = 10; // État soft du KPI. + int64 last_state_change = 11; // Timestamp du dernier changement d'état du KPI. + double last_impact = 12; // Dernier impact du KPI. + bool valid = 13; // Vrai si le KPI est valide. +} +``` + + + + +### Meta service status event + +Cet évènement a été créé pour envoyer les changements d'état d'un méta-service. + +Actuellement, les méta-services n'étant pas gérés par Centreon Broker, cet +évènement n'est pas utilisé. + + + + +#### BAM::MetaServiceStatus + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 3 | 393219 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ----------------- | ---------------- | -------------------------------- | +| meta\_service\_id | entier non signé | L’ID du méta-service. | +| value | réel | La valeur du méta-service. | +| state\_changed | booléen | True si l’état vient de changer. | + + + + +Il n'y a pas d'évènement Protobuf. + + + + +### BA-event event + +Cet évènement est envoyé lorsqu’un nouvel évènement BA est ouvert, ou qu’un ancien est fermé. + + + + +#### BAM::BaEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 4 | 393220 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ------------ | ---------------- | ----------------------------------------------------------------------- | +| ba\_id | entier non signé | L’ID de la BA. | +| first\_level | réel | Le premier niveau de l’évènement BA. | +| end\_time | temps | L’heure de fin de l’évènement. 0 ou (temps)-1 pour un évènement ouvert. | +| in\_downtime | booléen | True si BA était en arrêt pendant l’évènement BA. | +| start\_time | temps | L’heure de début de l’évènement. | +| status | entier court | Le statut de la BA pendant l’évènement. | + + + + +#### BAM::PbBaEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 20 | 393236 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comment en BBDO v2 mais en utilisant le mécanisme de sérialisation Protobuf. +Quand BBDO v3 est actif, les événements **BAM::BaEvent** ne devraient plus être +envoyés et sont remplacés par des **BAM::PbBaEvent**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message BaEvent { + uint32 ba_id = 1; // ID de la BA. + double first_level = 2; // Premier niveau de l'évènement BA. + int64 end_time = 3; // Le timestamp de fin de l'évènement. 0 ou -1 si l'évènement est ouvert. + bool in_downtime = 4; // Vrai si la BA est en downtime. + uint64 start_time = 5; // Timestamp de démarrage de l'évènement. + State status = 6; // L'état de la BA sur cet évènement. +} +``` + + + + +### KPI Event + +Cet évènement est envoyé lorsqu’un nouvel évènement KPI est ouvert, ou qu’un ancien est fermé. + + + + +#### BAM::KpiEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 5 | 393221 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ------------- | ---------------- | ----------------------------------------------------------------------- | +| kpi\_id | entier non signé | L’ID du KPI. | +| end\_time | temps | L’heure de fin de l’évènement. 0 ou (temps)-1 pour un évènement ouvert. | +| impact\_level | entier | Le niveau de l’impact. | +| in\_downtime | booléen | True si BA était en arrêt pendant l’évènement BA. | +| first\_output | chaîne | Le premier output du KPI pendant l’évènement. | +| perfdata | chaîne | La première perfdata du KPI pendant l’évènement. | +| start\_time | temps | L’heure de début de l’évènement. | +| status | entier court | Le statut de la BA pendant l’évènement. | + + + + +#### BAM::PbKpiEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 21 | 393237 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation Protobuf. +Quand BBDO v3 est actif, les évènements **BAM::KpiEvent** devraient être +remplacés par des **BAM::PbKpiEvent**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message KpiEvent { + uint32 ba_id = 1; // ID de la BA. + uint64 start_time = 2; // Timestamp de démarrage de l'évènement. + int64 end_time = 3; // Timestamp de fin de l'évènement. 0 ou -1 pour un évènement encore ouvert. + uint32 kpi_id = 4; // ID du KPI. + int32 impact_level = 5; // Niveau de l'impact. + bool in_downtime = 6; // Vrai si la BA est en downtime sur l'évènement. + string output = 7; // Premier output du KPI sur l'évènement. + string perfdata = 8; // Premières données de performance du KPI sur l'évènement. + State status = 9; // État de la BA sur l'évènement. +} +``` + + + + +### BA duration event event + +Cet évènement est envoyé lorsqu’un nouvel évènement de durée BA est calculé par le broker BAM. + + + + +#### BAM::BaDurationEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 6 | 393222 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ----------------------- | ---------------- | ------------------------------------------------------------------- | +| ba\_id | entier non signé | L’ID de la BA. | +| real\_start\_time | temps | Le premier niveau de l’évènement BA. | +| end\_time | temps | L’heure de fin de l’évènement, dans la période de temps donnée. | +| start\_time | temps | L’heure de début de l’évènement, dans la période de temps donnée. | +| duration | entier non signé | end\_time - start\_time. | +| sla\_duration | entier non signé | La durée de l’évènement dans la période de temps donnée. | +| timeperiod\_is\_default | booléen | True si la période de temps est la valeur par défaut pour cette BA. | + + + + +#### BAM::PbBaDurationEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 28 | 393244 | + +Cet évènement est un évènement Protobuf ainsi les éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation Protobuf. +Quand BBDO v3 est actif, les évènements **BAM::BaDurationEvent** devraient être +remplacés par des **BAM::PbBaDurationEvent**. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BaDurationEvent { + uint32 ba_id = 1; // ID de la BA. + int64 real_start_time = 2; // Timestamp du départ effectif de l'évènement. + int64 end_time = 3; // Timestamp de fin de l'évènement. 0 ou -1 si l'évènement est encore ouvert. + int64 start_time = 4; // Timestamp de création de l'évènement. + uint32 duration = 5; // Durée en secondes de l'évènement. + uint32 sla_duration = 6; // Durée en secondes de l'évènement dans la timeperiod en cours. + uint32 timeperiod_id = 7; // ID de la timeperiod. + bool timeperiod_is_default = 8; // Vrai si la timeperiod est celle par défaut pour cette BA. +} +``` + + + +### Dimension BA + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +#### BAM::DimensionBaEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 7 | 393223 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| -------------------------- | ---------------- | ------------------------ | +| ba\_id | entier non signé | L’ID de la BA. | +| ba\_name | chaîne | Le nom de la BA. | +| ba\_description | chaîne | La description de la BA. | +| sla\_month\_percent\_crit | réel | | +| sla\_month\_percent\_warn | réel | | +| sla\_month\_duration\_crit | entier non signé | | +| sla\_month\_duration\_warn | entier non signé | | + + + + +#### BAM::PbDimensionBaEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 25 | 393241 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation Protobuf. +Quand BBDO v3 est actif, les messages **BAM::DimensionBaEvent** devraient +être remplacés par des **BAM::PbDimensionBaEvent**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionBaEvent { + uint32 ba_id = 1; // ID de la BA. + string ba_name = 2; // Nom de la BA. + string ba_description = 3; // Description de la BA. + double sla_month_percent_crit = 4; + double sla_month_percent_warn = 5; + uint32 sla_duration_crit = 6; + uint32 sla_duration_warn = 7; +} +``` + + + +### Dimension KPI + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +#### BAM::DimensionKpiEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 8 | 393224 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| -------------------- | ---------------- | ----------------------------------------------------------------------- | +| kpi\_id | entier non signé | L’ID du KPI. | +| ba\_id | entier non signé | L’identifiant de la BA parent de ce KPI. | +| ba\_name | chaîne | Le nom de la BA parent de ce KPI. | +| host\_id | entier non signé | L’ID de l’hôte associé à ce KPI pour le KPI de service. | +| host\_name | chaîne | Le nom de l’hôte associé à ce KPI pour le KPI de service. | +| service\_id | entier non signé | L’ID du service associé à ce KPI pour le KPI de service. | +| service\_description | chaîne | La description du service associé à ce KPI pour le KPI de service. | +| kpi\_ba\_id | entier non signé | L’ID de la BA associée à ce KPI pour le KPI de BA. | +| kpi\_ba\_name | chaîne | Le nom de la BA associée à ce KPI pour le KPI de BA. | +| meta\_service\_id | entier non signé | L’ID du méta-service associé à ce KPI pour le KPI de méta-service. | +| meta\_service\_name | chaîne | Le nom du méta-service associé à ce KPI pour le KPI de méta-service. | +| boolean\_id | entier non signé | L’ID de l’expression booléenne associée à ce KPI pour le KPI booléen. | +| boolean\_name | chaîne | Le nom de l’expression booléenne associée à ce KPI pour le KPI booléen. | +| impact\_warning | réel | L’impact d’un état d’alerte pour ce KPI. | +| impact\_critical | réel | L’impact d’un état critique pour ce KPI. | +| impact\_unknown | réel | L’impact d’un état inconnu pour ce KPI. | + + + + +#### BAM::PbDimensionKpiEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 26 | 393242 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation Protobuf. +Quand BBDO v3 est actif, les messages **BAM::DimensionKpiEvent** devraient +être remplacés par des **BAM::PbDimensionKpiEvent**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionKpiEvent { + uint32 kpi_id = 1; // ID du KPI. + uint32 ba_id = 2; // ID de la BA parent du KPI. + string ba_name = 3; // Nom de la BA parent du KPI. + uint32 host_id = 4; // ID de l'hôte associé au KPI (KPI de type service) + string host_name = 5; // Nom de l'hôte associé au KPI (KPI de type service) + uint32 service_id = 6; // ID du service associé au KPI (KPI de type service) + string service_description = 7; // Description du service associé au KPI (KPI de type service) + uint32 kpi_ba_id = 8; // ID de la BA associée au KPI (KPI de type BA) + string kpi_ba_name = 9; // Nom de la BA associée au KPI (KPI de type BA) + uint32 meta_service_id = 10; // ID du méta-service associé au KPI (KPI de type méta-service) + string meta_service_name = 11; // Nom du méta-service associé au KPI (KPI de type méta-service) + uint32 boolean_id = 12; // Id of the boolean expression associated with this KPI for boolean KPI. + string boolean_name = 13; // Nom de l'expression booléenne associée au KPI (KPI de type booléen) + double impact_warning = 14; // Impact d'un état warning pour le KPI. + double impact_critical = 15; // Impact d'un état critique pour le KPI. + double impact_unknown = 16; // Impact d'un état inconnu pour le KPI. +} +``` + + + + +### Dimension BA BV relation + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +| Propriété | Type | Description | +| --------- | ---------------- | -------------- | +| ba\_id | entier non signé | L’ID de la BA. | +| bv\_id | entier non signé | L’ID de la BV. | + + + + +| Propriété | Type | Description | +| --------- | ---------------- | -------------- | +| ba\_id | entier non signé | L’ID de la BA. | +| bv\_id | entier non signé | L’ID de la BV. | + + + + +### Dimension BV + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +#### BAM::DimensionBvEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 10 | 393226 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| --------------- | ---------------- | ------------------------ | +| bv\_id | entier non signé | L’ID de la BV. | +| bv\_name | chaîne | Le nom de la BV. | +| bv\_description | chaîne | La description de la BV. | + + + + +#### BAM::PbDimensionBvEvent + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 22 | 393238 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les évènements **BAM::DimensionBvEvent** devraient +être remplacés par des évènements **BAM::PbDimentionBvEvent**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionBvEvent { + uint32 bv_id = 1; // ID de la BV. + string bv_name = 2; // Nom de la BV. + string bv_description = 3; // Description de la BV. +} +``` + + + +### Dimension Truncate Table Signal + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + +Ce signal est envoyé avant le dump de toutes les dimensions, et à nouveau à la fin du dump. + + + + +#### BAM::DimensionTruncateTableSignal + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 11 | 393228 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| --------------- | ------- | ------------------------------------------------------ | +| update\_started | booléen | True si c’est le début du dump, False si c’est la fin. | + + + + +#### BAM::PbDimensionTruncateTableSignal + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 30 | 393246 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les évènements **BAM::DimensionTruncateTableSignal** +devraient être remplacés par des évènements +**BAM::PbDimensionTruncateTableSignal**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionTruncateTableSignal { + bool update_started = 1; // Vrai pour signaler le départ du dump, faux pour la fin. +} +``` + + + + +### Rebuild signal + +Cet évènement est envoyé lorsqu’une reconstruction des durées et des disponibilités des évènements est demandée au point de terminaison du broker BAM. + + + + +#### BAM::Rebuild + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 12 | 393228 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ---------------- | ------ | -------------------------------------------------------------------------------------------------------------------------------- | +| bas\_to\_rebuild | chaîne | Une chaîne contenant les ID de toutes les BA à reconstruire, séparés par une virgule et un espace (par exemple « 1, 5, 8, 12 »). | + + + + +L'évènement est le même qu'en BBDO v2. Il n'y a pas d'évènement Protobuf. + + + + +### Dimension timeperiod + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +#### BAM::DimensionTimeperiod + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 13 | 393230 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| --------- | ---------------- | --------------------------------------------- | +| tp\_id | entier non signé | L’ID de la période de temps. | +| name | chaîne | Le nom de la période de temps. | +| monday | chaîne | La règle de la période de temps pour ce jour. | +| tuesday | chaîne | La règle de la période de temps pour ce jour. | +| wednesday | chaîne | La règle de la période de temps pour ce jour. | +| thursday | chaîne | La règle de la période de temps pour ce jour. | +| friday | chaîne | La règle de la période de temps pour ce jour. | +| saturday | chaîne | La règle de la période de temps pour ce jour. | +| sunday | chaîne | La règle de la période de temps pour ce jour. | + + + + +#### BAM::PbDimensionTimeperiod + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 24 | 393240 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les **BAM::DimensionTimeperiod** devraient être remplacés +par des **BAM::PbDimensionTimeperiod**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionTimeperiod { + uint32 id = 1; // ID de la période de temps. + string name = 2; // Nom de la période de temps. + string monday = 3; // Règle de la période de temps pour ce jour. + string tuesday = 4; // Règle de la période de temps pour ce jour. + string wednesday = 5; // Règle de la période de temps pour ce jour. + string thursday = 6; // Règle de la période de temps pour ce jour. + string friday = 7; // Règle de la période de temps pour ce jour. + string saturday = 8; // Règle de la période de temps pour ce jour. + string sunday = 9; // Règle de la période de temps pour ce jour. +} +``` + + + +### Dimension BA timeperiod relation + +Cet évènement fait partie du dump de dimension (c’est-à-dire, la configuration) qui se produit au démarrage et après chaque rechargement de la configuration BAM. + + + + +#### BAM::DimensionBaTimeperiodRelation + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 14 | 393231 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| -------------- | ---------------- | --------------------------------------------------------------- | +| ba\_id | entier non signé | L’ID de la BA. | +| timeperiod\_id | entier non signé | L’ID de la période de temps. | +| is\_default | booléen | True si la période de temps est celle par défaut pour cette BA. | + + + + +#### BAM::PbDimensionBaTimeperiodRelation + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 29 | 393245 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les **BAM::DimensionBaTimeperiodRelation** devraient être remplacés +par des **BAM::PbDimensionBaTimeperiodRelation**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message DimensionBaTimeperiodRelation { + uint32 ba_id = 1; // ID de la BA. + uint32 timeperiod_id = 2; // ID de la période de temps. + bool is_default = 3; // Vrai si la période de temps est celle par défaut de cette BA. +} +``` + + + +### Inherited downtime + + + + +#### BAM::InheritedDowntime + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 17 | 393233 | + +Le contenu de ce message est sérialisé comme suit : + +| Propriété | Type | Description | +| ------------ | ---------------- | ----------------------------------- | +| bad\_id | entier non signé | L’ID de la BA en temps d’arrêt. | +| in\_downtime | booléen | True si la BA est en temps d’arrêt. | + + + + +#### BAM::PbInheritedDowntime + +| Catégorie | élément | ID | +| --------- | ------- | ------ | +| 6 | 18 | 393234 | + +Cet évènement est un évènement Protobuf ainsi ses éléments ne sont pas sérialisés +comme en BBDO v2 mais en utilisant le mécanisme de sérialisation de Protobuf. +Quand BBDO v3 est actif, les **BAM::InheritedDowntime** devraient être remplacés +par des **BAM::PbInheritedDowntime**. + +Le [message protobuf](https://developers.google.com/protocol-buffers/docs/proto3) +est le suivant : + +```cpp +message BBDOHeader { + uint32 conf_version = 1; +} +message InheritedDowntime { + BBDOHeader header = 1; + uint32 ba_id = 2; // ID de la BA concernée par le downtime. + bool in_downtime = 3; // Vrai si la BA est en downtime. +} +``` + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector-migration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector-migration.md new file mode 100644 index 000000000000..71756c54cf1c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector-migration.md @@ -0,0 +1,97 @@ +--- +id: developer-broker-stream-connector-migration +title : Migration des Stream Connectors vers BBDO 3.0.0 +--- + +Centreon Broker 22.04.0 et suivantes comprend une nouvelle version 3.0.0 de son protocole BBDO. Ce nouveau protocole est beaucoup plus souple que le précédent : + +* il n’est pas figé dans le temps, mais peut être mis à jour sans rupture ; +* il supporte des objets plus structurés comme les tableaux, les dictionnaires et autres ; +* la sérialisation se traduit généralement par des tampons plus petits. + +Tous les événements du broker n’ont pas encore été migrés, nous nous sommes juste concentrés sur : + +* événement **neb::host** +* événement **neb::host\_status** +* événement **neb::service** +* événement **neb::service\_status** + +Le broker peut toujours les lire mais il produit maintenant les événements suivants : + +* événement **neb::pb\_host** +* événement **neb::pb\_adaptive\_host** +* événement **neb::pb\_host\_status** +* événement **neb::pb\_service** +* événement **neb::pb\_adaptive\_service** +* événement **neb::pb\_service\_status** + +L’inconvénient est que si vous avez écrit des Stream Connectors, ils pourraient ne plus fonctionner et vous devrez les réparer. + +Dans cette section, nous allons expliquer ce qui a changé et comment résoudre votre problème. + +## Exemple de Stream Connector qui ne fonctionnera pas avec BBDO 3.0 + +Voici du code Lua pour un Stream Connector qui fonctionnait avant BBDO 3.0 et qui ne fonctionnera pas avec Centreon Broker à partir de 22.04 si BBDO 3.0 est activé : + +```LUA + function init(conf) + broker_log:set_parameters(0, "/tmp/log") + end + + function write(d) + if d.category == 1 and d.element == 23 then + broker_log:info(0, "Here is a service: " .. broker.json_encode(d)) + end + if d.category == 1 and d.element == 12 then + broker_log:info(0, "Here is a host: " .. broker.json_encode(d)) + end + return true + end +``` + +Ce script est très simple. La fonction `init()` initialise les journaux pour permettre à tous les journaux d’être écrits dans le fichier `/tmp/log`. + +La fonction `write()`, appelée à chaque fois qu’un événement est reçu, ne gère que deux événements, l’événement **neb::service** (avec `category` 1 et `element` 23) et l’événement **neb::host** (avec `category` 1 et `element` 12). + +Chaque événement est sérialisé en JSON et écrit dans le fichier journal. + +Ce script ne fonctionne pas avec BBDO 3.0 car il attend les anciens événements **neb::host** et **neb::service**, et bien que ces événements puissent toujours être transmis par Centreon Broker, ils ne sont plus produits avec le nouveau protocole. Ainsi, tous les événements reçus par la fonction `write()` ne correspondent pas aux valeurs `category` et `element` attendues. + +Au lieu de **neb::service**, les événements produits sont **neb::pb\_service** et au lieu de **neb::host**, les événements produits sont **neb::pb\_host**. + +Pour que le script fonctionne à nouveau, il suffit donc d’ajouter la reconnaissance de ces deux nouveaux événements. + +En conséquence, nous obtenons le nouveau script suivant : + +```LUA + function init(conf) + broker_log:set_parameters(0, "/tmp/log") + end + + function write(d) + if d.category == 1 and (d.element == 27 or d.element == 23) then + broker_log:info(0, "Here is a service: " .. broker.json_encode(d)) + end + if d.category == 1 and (d.element == 30 or d.element == 12) then + broker_log:info(0, "Here is a host: " .. broker.json_encode(d)) + end + return true + end +``` + +Maintenant, le script devrait fonctionner comme prévu. + +Si vous avez besoin de récupérer des champs d’un événement **neb::service**, par exemple la **description**, ce même champ devrait également être disponible dans **neb::pb\_service**. Donc en général, à part les nouveaux types à gérer, vous n’aurez rien d’autre à faire. + +Pour la migration, ce tableau peut vous aider : + +| **objet hérité**| **Objet BBDO 3.0**| **Commentaires** +|:----------:|:----------:|---------- +| **neb::service**
(1, 23)| **neb::pb\_service**
(1, 27)| +| **neb::host**
(1, 12)| **neb::pb\_host**
(1, 30)| +| **neb::service\_status**
(1, 24)| **neb::pb\_service\_status**
(1, 29)| Les nouveaux événements sont plus légers. Plusieurs champs peuvent être manquants. Dans ce cas, **pb\_service** est utile pour les obtenir. +| **neb::host\_status**
(1, 14)| **neb::pb\_host\_status**
(1, 32)| Les nouveaux événements sont plus légers. Plusieurs champs peuvent être manquants. Dans ce cas, **pb\_host** est utile pour les obtenir. + +Il existe également deux nouveaux événements avec BBDO 3.0, **neb::pb\_adaptive\_host** et **neb::pb\_adaptive\_service**. Ils apportent des changements de configuration pour un hôte ou un service. Ces événements sont conçus pour être de petite taille. + +Dans un événement **neb::pb\_adaptive\_service**, il y a deux champs obligatoires, **host\_id** et **service\_id** pour connaître le service concerné. Et tous les autres champs sont facultatifs. Si elle est définie (en Lua pas **nil**), la valeur a été définie et vous devez la gérer, sinon ignorez-la. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector.md new file mode 100644 index 000000000000..867b6732c298 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-broker-stream-connector.md @@ -0,0 +1,399 @@ +--- +id: developer-broker-stream-connector +title : Stream Connectors +--- + +Centreon Broker fournit un Stream Connector. Si vous ne trouvez pas de connecteur approprié parmi ceux proposés, ce Stream Connector répondra certainement à vos besoins. Son principe est d’exposer une partie de l’API Centreon Broker par le biais de l’interpréteur Lua et l’utilisateur n’a plus qu’à la remplir selon ses besoins. + +## Centreon Broker exposé + +Voici le code Lua minimal acceptable pour fonctionner comme Stream Connector : + +```LUA + function init(conf) + end + + function write(d) + return true + end +``` + +Nous recommandons de placer les scripts Lua dans le répertoire `/usr/share/centreon-broker/lua`. S’il n’existe pas, nous pouvons le créer. Faites juste attention à ce que ce répertoire soit accessible à l’utilisateur centreon-broker. Si un Stream Connector est composé de plusieurs fichiers (un script principal et un module par exemple), vous pouvez les placer dans ce répertoire. Si une bibliothèque dynamique (fichier `\*.so`) est utilisée par un script Lua, placez-la dans le répertoire `/usr/share/centreon-broker/lua/lib`. + +Lorsque Centreon Broker démarre, il initialise tous les connecteurs configurés. Pour le Stream Connector, il charge le script Lua, contrôle sa syntaxe et vérifie que les fonctions `init()` et `write()` existent. + +Centreon Broker vérifie également si une fonction `filter(category, element)` existe. + +Examinons ces fonctions. La fonction `init` est appelée lorsque le connecteur est initialisé. L’argument fourni à cette fonction est une table Lua contenant les informations données par l’utilisateur dans l’interface de configuration de l'output de Broker. Par exemple, si une adresse IP est fournie avec le nom *address* et la valeur *192.168.1.18*, alors cette information sera accessible via `conf["address"]`. + +La fonction `write()` est appelée chaque fois qu’un événement est reçu d’un collecteur par le biais de Broker. Cet événement est configuré pour être envoyé à ce connecteur. Cette fonction a besoin d’un argument qui est l’événement traduit sous forme de table Lua. + +La fonction `write()` doit retourner une valeur booléenne **True** si les événements sont traités et **False** dans le cas contraire. + +Si cette fonction ne renvoie pas une valeur booléenne, Broker déclenche une erreur. + +## Le SDK Lua de Broker + +Pour simplifier la vie du développeur Lua, plusieurs objets sont proposés et directement disponibles pour le script. + +### L’objet *broker\_log* + +1. `broker_log:set_parameters(level, filename)` permet à l’utilisateur de définir un niveau de journal et un nom de fichier. Le niveau est un nombre entier compris entre 1 et 3, du plus important au moins important. Le nom du fichier doit contenir le chemin d’accès complet. Et le fichier doit être accessible à centreon-broker. Si cette méthode n’est pas appelée, les journaux seront écrits dans les journaux de centreon Broker. +2. `broker_log:info(level, content)` écrit une *information* de journal si le niveau donné est inférieur ou égal à celui configuré. Le contenu est le texte à écrire dans les journaux. +3. `broker_log:warning(level, content)` fonctionne comme `log_info` mais écrit un *avertissement*. +4. `broker_log:error(level, content)` fonctionne comme `log_info` mais écrit une *erreur*. + +Voici un exemple : + +```LUA + function init(conf) + -- Here, we allow all logs with level 3 and set the output to + -- /tmp/test.log. + broker_log:set_parameters(3, "/tmp/test.log") + end + + function write(d) + -- For each entry, we write the key and the value. + for k,v in pairs(d) do + broker_log:info(3, k .. " => " .. tostring(v)) + end + return true + end +``` + +Ici, lorsque la fonction `init` est exécutée, l’objet *broker\_log* est paramétré avec un niveau max 3 et un fichier de sortie */tmp/test.log*. + +Ensuite, à chaque appel de `write()`, les événements reçus sont enregistrés comme des informations. Nous obtenons un résultat comme celui-ci : + +``` + Fri Jan 26 08:31:49 2018: INFO: service_id => 21 + Fri Jan 26 08:31:49 2018: INFO: type => 0 + Fri Jan 26 08:31:49 2018: INFO: host_id => 13 + Fri Jan 26 08:31:49 2018: INFO: element => 1 + Fri Jan 26 08:31:49 2018: INFO: comment_data => +``` + +> Pour utiliser une méthode en Lua, le séparateur entre l’objet et la méthode est `:` ; *broker\_log* est un objet puisqu’il contient des informations telles que le niveau maximum ou le fichier de destination. + +### Le socket TCP de Broker + +Un socket TCP de base est disponible dans le SDK *Broker*. Voici un exemple simple : + +```LUA + local socket = broker_tcp_socket.new() + socket:connect("10.40.1.2", 9002) + socket:write(message) + answer = socket:read() + socket:close() +``` + +1. Dans cet exemple, le premier appel est *broker\_tcp\_socket.new()*. Il crée un nouveau socket en appelant la fonction *new()* stockée dans la table *broker\_tcp\_socket*. +2. L’étape suivante est un appel à la méthode *connect* qui nécessite deux arguments : une chaîne indiquant une adresse IP ou un nom d’hôte auquel se connecter et le port à utiliser. +3. L’étape suivante est un appel à la méthode *write* qui écrit une chaîne dans le socket. L’appel de la méthode est terminé lorsque l’intégralité du message est envoyée. +4. La méthode *read* reçoit une chaîne comme résultat. +5. Lorsque l’utilisateur a fini d’utiliser le socket, il peut le fermer avec la méthode *close()*. + +Cet objet socket fournit également une méthode *get\_state()* qui renvoie une chaîne de caractères : + +1. *unconnected* : le socket n’est pas connecté +2. *hostLookup*: le socket effectue une recherche de nom d’hôte +3. *connecting*: le socket a commencé à établir une connexion +4. *connected*: une connexion est établie +5. *closing*: le socket est sur le point de se fermer (des données peuvent encore être en attente d’écriture). + +### La table *broker* + +Plusieurs fonctions sont disponibles dans cette table. Ces fonctions ne sont pas des méthodes, *broker* est juste une table qui les contient. On peut trouver ici : + +1. `json_encode(object)` qui convertit un objet Lua en json. Le json est retourné sous forme de chaîne par la fonction. +2. `json_decode(json)` qui convertit une chaîne json en objet Lua. L’objet est directement retourné par la méthode. Une deuxième valeur est également retournée. Elle n’est définie que lorsqu’une erreur s’est produite et contient une chaîne décrivant l’erreur. +3. `parse_perfdata(str)` qui prend comme argument une chaîne contenant des perfdata. Un deuxième argument booléen est disponible. Si sa valeur est *true*, la table retournée est plus grande et donne tous les détails sur les métriques ainsi que les seuils « *warning »* et *« critical »*. En cas de succès, il retourne une table contenant les valeurs récupérées à partir des perfdata. En cas d’échec, il renvoie un objet nil et une chaîne de description de l’erreur. +4. `url_encode(text)` qui convertit le *texte* de la chaîne de caractères en une chaîne encodée en URL. +5. `stat(filename)` qui appelle la fonction `stat` système sur le fichier. En cas de succès, nous obtenons une table contenant diverses informations sur le fichier (voir l’exemple ci-dessous). Sinon, cette table est `nil` et une deuxième valeur retournée est donnée et contient un message d’erreur. +6. `md5(str)` qui calcule le MD5 de la chaîne `str` et le renvoie sous forme de chaîne. +7. `bbdo_version()` qui renvoie la version BBDO configurée dans Centreon Broker. + +```LUA + local obj = { + a = 1, + b = 2, + c = { 'aa', 'bb', 'cc' } + } + local json = broker.json_encode(obj) + print(json) +``` + +qui renvoie + +```JSON + { "a": 1, "b": 2, "c": [ 'aa', 'bb', 'cc' ] } +``` + +Un deuxième exemple est le suivant : + +```LUA + local json = { "a": 1, "b": 2, "c": [ 'aa', 'bb', 'cc' ] } + local obj, err = broker.json_decode(json) + + for i,v in pairs(obj) do + print(i .. " => " .. tostring(v)) + end +``` + +devrait retourner quelque chose comme ceci : + +``` + a => 1 + b => 2 + c => table: 0x12ef67b5 +``` + +Dans ce cas (pas d’erreur), `err` est `nil`. + +Il est également facile d’accéder à chaque champ de l’objet, par exemple : `obj['a']` donne 1, ou `obj['c'][1]` donne *aa*, ou `obj.b` donne 2. + +Voici un exemple montrant les possibilités de la fonction `parse_perfdata`. + +```LUA + local perf, err_str = broker.parse_perfdata(" 'one value'=2s;3;5;0;9 'a b c'=3.14KB;0.8;1;0;10") + + if perf then + for i,v in pairs(perf) do + print(i .. " => " .. tostring(v)) + end + else + print("parse_perfdata error: " .. err_str) + end +``` + +devrait retourner quelque chose comme ceci : + +``` + a b c => 3.14 + one value => 2 +``` + +Si maintenant, nous appelons la même fonction avec *true* comme deuxième argument : + +```LUA + local perf, err_str = broker.parse_perfdata("pl=45%;40;80;0;100", true) + + if perf then + print("Content of 'pl'") + for i,v in pairs(perf['pl']) do + print(i .. " => " .. tostring(v)) + end + else + print("parse_perfdata error: " .. err_str) + end +``` + +devrait retourner quelque chose comme ceci : + +``` + Content of 'pl' + value => 45 + uom => % + min => 0 + max => 100 + warning_low => 0 + warning_high => 40 + warning_mode => false + critical_low => 0 + critical_high => 80 + critical_mode => false +``` + +Attention, les clés ne sont pas triées dans les tables de hachage, donc si vous créez un tel programme, les données ne seront probablement pas dans le même ordre. + +```LUA + local str = broker.url_encode("La leçon du château de l'araignée") + print(str) +``` + +devrait retourner quelque chose comme ceci : + +``` + La%20le%C3%A7on%20du%20ch%C3%A2teau%20de%20l%27araign%C3%A9e +``` + +```LUA + local s, err = broker.stat("filename") + for i,v in pairs(perf['pl']) do + print(i .. " => " .. tostring(v)) + end +``` + +devrait retourner quelque chose comme ceci : + +``` + uid=>1000 + gif=>1000 + size=>279 + ctime=>1587641144 + mtime=>1587641144 + atime=>1587641144 +``` + +Si une erreur se produit, `s` est `nil` tandis que `err` contient une chaîne de caractères contenant un message d’erreur. + +```LUA + local info = broker.md5('Hello World!') + print(info) +``` + +doit retourner une chaîne de caractères de la forme : + +``` + ed076287532e86365e841e92bfc50d8c +``` + +```LUA + local v = broker.bbdo_version() + print(v) +``` + +doit retourner une chaîne de caractères de la forme : + +``` + 2.0.0 +``` + +### L’objet *broker\_cache* + +Cet objet fournit plusieurs méthodes pour accéder au cache. Parmi les données, nous pouvons obtenir les noms d’hôtes, etc... + +> Les fonctions décrites ici nécessitent que le cache soit rempli. Il est important pour cela d’activer les événements NEB, sinon ces fonctions ne feront que retourner `nil`. **Le cache est rempli lorsqu’un moteur redémarre.** + +Les méthodes disponibles sont les suivantes : + +1. `get_ba(ba_id)` qui obtient des informations *ba* à partir de son ID. Cette fonction retourne une table le cas échéant ou *nil* autrement. +2. `get_bv(bv_id)` qui récupère les informations *bv* à partir de son ID. Cette fonction retourne une table le cas échéant ou *nil* autrement. +3. `get_bvs(ba_id)` qui récupère tous les *bv* contenant le *ba* de l’ID *ba\_id*. Cette fonction renvoie un tableau d’ID *bv*, potentiellement vide si aucune *bv* n’est trouvée. +4. `get_check_command(host_id[,service_id])` qui retourne la commande de check configurée pour le host ou le service. Le *service\_id* est facultatif, s'il est fourni, nous voulons la commande de check d'un service, sinon nous voulons celle d'un host. Si elle n'existe pas dans le cache, *nil* est retourné. +5. `get_hostgroup_name(id)` qui récupère dans le cache le nom du groupe d’hôtes de l’ID donné. Cette fonction renvoie une chaîne ou *nil* autrement. +6. `get_hostgroups(host_id)` qui obtient la liste des groupes d’hôtes contenant l’hôte correspondant à *host\_id*. La valeur retournée est un tableau d’objets, chacun contenant deux champs, *group\_id* et *group\_name*. +7. `get_hostname(id)` qui récupère dans le cache le nom d’hôte correspondant à l’ID d’hôte donné. Cette fonction retourne une chaîne avec le nom de l’hôte ou *nil* autrement. +8. `get_index_mapping(index_id)` qui récupère du cache l’objet de mapping d’index de l’ID d’index donné. Le résultat est un tableau contenant trois clés, `index_id`, `host_id` et `service_id`. +9. `get_instance_name(instance_id)` qui récupère dans le cache le nom de l’instance correspondant à l’ID de l’instance. +10. `get_metric_mapping(metric_id)` qui récupère dans le cache l’objet de mapping de métriques de l’ID de métrique donné. Le résultat est un tableau contenant deux clés, `metric_id` et `index_id`. +11. `get_service_description(host_id,service_id)` qui récupère dans le cache la description du service pour la paire donnée host\_id / service\_id. Cette fonction renvoie une chaîne de caractères ou *nil* autrement. +12. `get_servicegroup_name(id)` qui récupère dans le cache le nom du groupe de services de l’ID donné. Cette fonction renvoie une chaîne ou *nil* autrement. +13. `get_servicegroups(host_id, service_id)` qui obtient la liste des groupes de services contenant le service correspondant à la paire *host\_id* / *service\_id*. La valeur retournée est un tableau d’objets, chacun contenant deux champs, *group\_id* et *group\_name*. +14. `get_notes(host_id[,service_id])` qui récupère les notes configurées dans l’hôte ou le service. Le *service\_id* est facultatif, s’il est fourni, nous voulons des notes d’un service, sinon nous voulons des notes d’un hôte. Si l’objet n’est pas trouvé dans le cache, *nil* est retourné. +15. `get_notes_url(host_id[, service_id])` qui récupère l’URL des notes configurée dans l’hôte ou le service. Le *service\_id* est facultatif, s’il est fourni, nous voulons que l’*URL des notes* provienne d’un service, sinon nous voulons qu’elle provienne d’un hôte. Si l’objet n’est pas trouvé dans le cache, *nil* est retourné. +16. `get_action_url(host_id)` qui obtient l’URL d’action configurée dans l’hôte ou le service. Le *service\_id* est facultatif, s’il est fourni, nous voulons l’*URL d’action* d’un service, sinon nous la voulons d’un hôte. Si l’objet n’est pas trouvé dans le cache, *nil* est retourné. +17. `get_severity(host_id[,service_id])` qui obtient la sévérité d’un hôte ou d’un service. Si vous ne fournissez que l’*host\_id*, nous supposons que vous voulez obtenir une sévérité d’hôte. Si un hôte ou un service n’a pas de sévérité, la fonction renvoie une valeur *nil*. + +## La fonction init() + +Cette fonction ne doit **pas** être définie comme `local`, sinon elle ne sera pas détectée par centreon Broker. + +Prenons l’exemple de cette configuration : + +![image](../assets/developer/broker_config.png) + +avec deux entrées personnalisées : + +1. une chaîne de caractères *elastic-address* avec comme contenu `172.17.0.1`. +2. un numéro *elastic-port* avec 9200 comme contenu. + +Ensuite, la fonction `init()` y a accès comme ceci : + +```LUA + function init(conf) + local my_address = conf['elastic-address'] + local port = conf['elastic-port'] + end +``` + +## La fonction write() + +Cette fonction ne doit **pas** être définie comme `local`, sinon elle ne sera pas vue par Broker. + +Le seul argument donné à la fonction `write()` est un événement. Il est donné avec les mêmes données que celles que nous pouvons voir dans Centreon Broker. + +Pour classer l’événement, nous avons deux données qui sont `category` et `element`. Ces deux informations sont des nombres entiers. Si nous concaténons ces deux nombres, nous obtenons un entier plus long égal à l’événement `type` également disponible dans l’événement comme `_type`. + +| **entier**| **court**| **court** +|----------|----------|---------- +| \_type =| catégorie| élém + +Parfois, on peut vouloir le nom d’hôte correspondant à un événement mais on ne reçoit que le `host_id`. Il est possible de l’obtenir grâce à la méthode `broker_cache:get_hostname(id)`. + +Par exemple : + +```LUA + function write(d) + if d.category == 3 and d.element == 1 then + local hostname = broker_cache:get_hostname(d.host_id) + if hostname then + broker_log:info("host name " + .. hostname .. " corresponds to host id " .. d.host_id) + else + -- Unable to get the name, we wait for the next time, wishing + -- the cache will contain the name. And so return 0 + return true + end + end + -- Here, we can add the event processing... + + return true + end +``` + +La valeur retournée par la fonction `write` est un booléen. Tant que cette valeur est *false*, Broker garde les événements envoyés en mémoire et si nécessaire en rétention. Lorsque nous sommes sûrs que tous les événements ont été traités, l’idée est que `write` retourne *true*, puis Broker libère la pile d’événements. + +Grâce à cela, il est possible d’éviter de réaliser les événements un par un. La fonction `write` peut les stocker dans une pile et retourner la valeur *false*, et lorsqu’une limite donnée est atteinte, elle peut les envoyer tous à leur destination et retourner la valeur *true*. + +## La fonction filter() + +La fonction ne doit **pas** être définie comme `local`, sinon elle ne sera pas détectée par Centreon Broker. + +Elle tient compte de deux paramètres : `category` et `element` que nous avons déjà vu dans la section précédente. La catégorie est un nombre entier de 1 à 7, ou la valeur 65535. `element` donne des détails sur l’événement, par exemple, pour la *catégorie NEB*, les *elements* sont *Acknowledgement*, *Comment*, etc... donnés comme des entiers. + +## La fonction flush() + +Lorsque la taille de la file d’attente de Broker atteint la taille maximale autorisée, il continue à remplir cette file dans un fichier et n’envoie plus d’événements aux flux. Tant que les événements dans la file d’attente ne sont pas acquittés, les flux ne recevront plus d’événements. + +Dans plusieurs cas, cela peut entraîner des problèmes. L’idée est que le flux a gardé des événements en mémoire en attendant d’autres événements pour les envoyer à une base de données. Mais la file d’attente de Broker est pleine et Broker n’appelle plus la fonction `write` du flux puisqu’il écrit les événements directement dans ses fichiers de rétention en attendant un accusé de réception du flux qui n’arrivera pas puisque la fonction `write` n’est pas appelée. + +La solution pour résoudre ce problème dans Broker est une fonction `flush` appelée régulièrement par Broker qui demande simplement au flux de vider ses données. Cette fonction renvoie un booléen qui est True si le flux est arrivé pour vider sa file d’attente. Une fois que le Broker reçoit une information sur le succès de la fonction flush, il peut à nouveau appeler la fonction `write` du flux. + +```LUA + function write(d) + if d.category ~= 3 or d.element ~= 1 then + return false + end + + -- We don't send data each time. We fill a queue and when it is full we + -- send its content with the flush() function. + queue[#queue + 1] = serialize(d) + local retval = false + if #queue > max_queue_size then + retval = flush() + end + -- Here, we return retval that is false except when flush has sent the + -- queue content. + return retval + end + + function flush() + -- if the queue is empty, nothing to do and we can tell Broker to empty its + -- retention + if #queue == 0 then + return true + end + + -- Here, we should write some code to send events stored in the queue. + -- + -- ... + if success then + return true + else + return false + end + end +``` + +Pour plus de détails sur les types, les catégories et leurs identifiants, voir [Le protocole BBDO](developer-broker-bbdo.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-broker.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-broker.md new file mode 100644 index 000000000000..fbf1251cc3ab --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-broker.md @@ -0,0 +1,8 @@ +--- +id: centreon-broker +title: Centreon Broker +--- + +import DocCardList from '@theme/DocCardList'; + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-gorgone.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-gorgone.md new file mode 100644 index 000000000000..c5d2b55ec0de --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-gorgone.md @@ -0,0 +1,8 @@ +--- +id: centreon-gorgone +title: Centreon Gorgone +--- + +import DocCardList from '@theme/DocCardList'; + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-plugin.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-plugin.md new file mode 100644 index 000000000000..9402b814de58 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-centreon-plugin.md @@ -0,0 +1,4 @@ +--- +id: developer-centreon-plugin +title : How to wite a Centreon Plugin +--- \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-client-server-communication.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-client-server-communication.md new file mode 100644 index 000000000000..a974e7fd2aff --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-client-server-communication.md @@ -0,0 +1,97 @@ +--- +id: developer-gorgone-client-server-communication +title : Gérer la communication client/serveur +--- + +Centreon Gorgone est le composant logiciel qui permet la communication du serveur central vers les collecteurs et les serveurs distants. Gorgone déploie notamment la configuration des moteurs de supervision. + +> Gorgone remplace Centcore depuis la version Centreon 20.04. + +Centreon recommande d'utiliser le protocole ZMQ pour la communication entre deux processus **gorgoned**. Lors de l'utilisation du protocole ZMQ, toutes les communications sont chiffrées à l'aide d'une clé de chiffrement symétrique basé sur les clés publiques/privées du client et du serveur. Vous devez donc générer des clés publiques/privées pour définir la configuration. + +Dans un contexte Centreon : +- le serveur central a un Gorgone en cours d'exécution (par défaut) en tant que client et peut se connecter à des serveurs Gorgone fonctionnant sur des serveurs distants et des collecteurs. +- Les serveurs distants disposent de Gorgone fonctionnant (par défaut) comme client et peuvent se connecter aux serveurs Gorgone fonctionnant sur les collecteurs. + +Suivez cette procédure pour paramétrer la communication entre le client et le serveur. +## Générer les clés privées et publiques +À la fois côté client et côté serveur, générez des clés privées et publiques au format RSA (format pour le chiffrement des clés) en utilisant l'utilisateur **centreon**. + +```shell +$ mkdir -p /var/spool/centreon/.gorgone/ +$ chmod 700 /var/spool/centreon/.gorgone +$ openssl genrsa -out /var/spool/centreon/.gorgone/privkey.pem 4092 +Generating RSA private key, 4092 bit long modulus +...................................++ +...........................................................................................................................................................................++ +e is 65537 (0x10001) +$ openssl rsa -in /var/spool/centreon/.gorgone/privkey.pem -out /var/spool/centreon/.gorgone/pubkey.pem -pubout -outform PEM +writing RSA key +$ chmod 644 /var/spool/centreon/.gorgone/pubkey.pem +$ chmod 600 /var/spool/centreon/.gorgone/privkey.pem +``` + +Copiez la clé publique du serveur dans un répertoire spécifique côté client (par exemple **/var/spool/centreon/.gorgone/**). + +## Récupérer l'empreinte au format JWK + +Côté client, exécutez la commande suivante : + +```shell +$ perl /usr/local/bin/gorgone_key_thumbprint.pl --key-path='/var/spool/centreon/.gorgone/pubkey.pem' +2019-09-30 11:00:00 - INFO - File '/var/spool/centreon/.gorgone/pubkey.pem' JWK thumbprint: pnI6EWkiTbazjikJXRkLmjml5wvVECYtQduJUjS4QK4 +``` + +## Définir les configurations + +Vous devez faire en sorte que les identifiants Gorgone correspondent aux identifiants des collecteurs Centreon pour bénéficier des actions du module de commandes legacy. + +### Côté serveur + +Dans le fichier de configuration **/etc/centreon/confid.d/20-gorgoned.yaml**, ajoutez les directives suivantes sous la section **gorgonecore** : + +```shell +gorgone: + gorgonecore: + id: 1 + privkey: /var/spool/centreon/.gorgone/privkey.pem + pubkey: /var/spool/centreon/.gorgone/pubkey.pem +``` + +Ajoutez le module de registre et définissez le chemin vers le fichier de configuration dédié : + +```shell +modules: + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon/gorgone-targets.yml +``` + +Créez le fichier **/etc/centreon/gorgone-targets.yml** et renseignez-le suivant cette configuration : + +```shell + nodes: + - id: 2 + type: push_zmq + address: 10.1.2.3 + port: 5556 +``` + +### Côté client + +Dans le fichier **/etc/centreon/config.d/20-gorgoned.yaml**, ajoutez les directives suivantes : + +```shell +gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + privkey: /var/spool/centreon/.gorgone/privkey.pem + pubkey: /var/spool/centreon/.gorgone/pubkey.pem + authorized_clients: + - key: pnI6EWkiTbazjikJXRkLmjml5wvVECYtQduJUjS4QK4 +``` + +L'entrée **authorized_clients** vous permet de définir l'empreinte de la clé publique du client récupérée précédemment. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md new file mode 100644 index 000000000000..65dc6a7a0f94 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md @@ -0,0 +1,101 @@ +--- +id: developer-gorgone-migrate-from-centcore +title : Migrer depuis Centreon Centcore +--- + +Cette procédure décrit comment migrer de Centreon Centcore vers Centreon Gorgone. + +> Gorgone remplace Centcore depuis la version Centreon 20.04. + +Vous devez créer un fichier de configuration basé sur **/etc/centreon/conf.pm**. + +- Si vous utilisez des paquets, exécutez la commande suivante : + +```shell +$ perl /usr/local/bin/gorgone_config_init.pl +2019-09-30 11:00:00 - INFO - file '/etc/centreon-gorgone/config.yaml' created success +``` + +- Si vous utilisez des sources, exécutez la commande suivante : + +```shell +$ perl ./contrib/gorgone_config_init.pl +2019-09-30 11:00:00 - INFO - file '/etc/centreon-gorgone/config.yaml' created success +``` +> Vous devez adapter les sections en fonction de votre propre base de données initiale, de votre configuration et de votre réseau. + +Le fichier de configuration suivant sera créé : **/etc/centreon-gorgone/config.yaml** + +```shell +name: config.yaml +description: Configuration init by gorgone_config_init +configuration: + centreon: + database: + db_configuration: + dsn: "mysql:host=localhost;port=3306;dbname=centreon" + username: "centreon" + password: "centreon" + db_realtime: + dsn: "mysql:host=localhost;port=3306;dbname=centreon_storage" + username: "centreon" + password: "centreon" + gorgone: + gorgonecore: + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: httpserver + package: gorgone::modules::core::httpserver::hooks + enable: false + address: 0.0.0.0 + port: 8085 + ssl: false + auth: + enabled: false + allowed_hosts: + enabled: true + subnets: + - 127.0.0.1/32 + + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: gorgone::modules::core::cron::hooks + enable: false + cron: !include cron.d/*.yaml + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/lib/centreon/remote-data/" + + - name: engine + package: "gorgone::modules::centreon::engine::hooks" + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pollers + package: gorgone::modules::centreon::pollers::hooks + enable: true + + - name: broker + package: "gorgone::modules::centreon::broker::hooks" + enable: true + cache_dir: "/var/cache/centreon//broker-stats/" + cron: + - id: broker_stats + timespec: "*/2 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-pull-mode.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-pull-mode.md new file mode 100644 index 000000000000..7f78613db0f2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-pull-mode.md @@ -0,0 +1,98 @@ +--- +id: developer-gorgone-pull-mode +title : Configurer Gorgone en mode pull +--- + +Cette procédure décrit comment configurer Gorgone entre un collecteur distant et un serveur central. + +- Le mode pull permet au collecteur de fonctionner comme un client et de se connecter au central (qui sera le serveur). + +- Le mode pull est utilisé lorsque des pare-feu sont installés sur les collecteurs et empêchent le trafic entrant. + +- Le mode pull est utilisé lorsque le central est dans le Cloud et que les collecteurs ne sont pas joignables via les adresses IP habituelles. Le mode pull (ou reverse) est alors utilisé pour que chaque collecteur initie une connexion à l'adresse IP publique du central. Pour en savoir plus sur ce cas d'utilisation, consultez [cet article](https://thewatch.centreon.com/product-how-to-21/how-to-use-the-gorgone-pull-mode-374). + + +> Note : notre exemple utilise la configuration décrite ci-dessous (vous devez adapter la procédure à votre propre configuration). + +Serveur central : +- Adresse : 10.30.2.203 + +Collecteur distant : +- ID : 6 (configuré dans l'interface Centreon avec le protocole ZMQ. Vous pouvez obtenir cet identifiant à partir de l'interface Centreon). +- Addresse : 10.30.2.179 +- Empreinte de la clé publique RSA : nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + +## Côté collecteur distant + +### Prérequis d'installation + +Le collecteur distant et Gorgone doivent être installés. + +### Configuration + +Configurez le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** de la manière suivante : + +```shell +name: distant-server +description: Configuration for distant server +gorgone: + gorgonecore: + id: 6 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.203:5556 + ping: 1 +``` + +## Côté serveur central + +### Prérequis d'installation + +Le serveur central et Gorgone doivent être installés. + +### Configuration + +Configurez le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** de la manière suivante : + +```shell +... +gorgone: + gorgonecore: + ... + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + ... + modules: + ... + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon-gorgone/nodes-register-override.yml + ... +``` + +Vous venez de créer le fichier **/etc/centreon-gorgone/nodes-register-override.yml** : + +```shell +nodes: + - id: 6 + type: pull + prevail: 1 +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-rebound-mode.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-rebound-mode.md new file mode 100644 index 000000000000..8b5e657d8019 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-gorgone-rebound-mode.md @@ -0,0 +1,191 @@ +--- +id: developer-gorgone-rebound-mode +title : Configurer Gorgone en mode rebound +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Cette procédure décrit comment configurer Gorgone entre un collecteur distant et un serveur central, via un serveur de rebond. + +> Note : notre exemple utilise la configuration décrite ci-dessous (vous devez adapter la procédure à votre propre configuration). + +Serveur central : + +- Addresse : 10.30.2.203 + +Serveur de rebond : + +- ID : 1024 (cet identifiant est un nombre aléatoire et doit être unique). +- Adresse : 10.30.2.67 +- Empreinte de la clé publique RSA : NmnPME43IoWpkQoam6CLnrI5hjmdq6Kq8QMUCCg-F4g + +Collecteur distant : + +- ID : 6 (configured in Centreon interface as zmq. You can get this id from the Centreon interface) +- Adresse : 10.30.2.179 +- Empreinte de la clé publique RSA : nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + +## Côté collecteur distant + +### Prérequis d'installation + +Le collecteur distant et Gorgone doivent être installés. + +### Configuration + +Configurez le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** de la manière suivante : + +```shell +name: distant-server +description: Configuration for distant server +gorgone: + gorgonecore: + id: 6 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.67:5556 + ping: 1 +``` + +## Côté serveur de rebond + +### Prérequis d'installation + +Assurez-vous d'avoir un [OS supporté](../installation/compatibility.md#operating-systems). + +Installez le démon Gorgone en utilisant les commandes suivantes : + + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +dnf install centreon-gorgone +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +dnf install centreon-gorgone +``` + + + + +Pour installer le dépôt Centreon, exécutez la commande suivante : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Puis importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + +Enfin, installez gorgone: + +```shell +apt install centreon-gorgone +``` + + + + +### Configuration + +Configurez le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** de la manière suivante : + +```shell +name: rebound-server +description: Configuration for rebound-server +gorgone: + gorgonecore: + id: 1024 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + + modules: + - name: proxy + package: "gorgone::modules::core::proxy::hooks" + enable: true + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.203:5556 + ping: 1 +``` + +## Côté serveur central + +### Prérequis d'installation + +Le collecteur distant et Gorgone doivent être installés. + +### Configuration + +Configurez le fichier **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** de la manière suivante : + +```shell +... +gorgone: + gorgonecore: + ... + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: NmnPME43IoWpkQoam6CLnrI5hjmdq6Kq8QMUCCg-F4g + ... + modules: + ... + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon-gorgone/nodes-register-override.yml + ... +``` + +Vous venez de créer le fichier **/etc/centreon-gorgone/nodes-register-override.yml** : + +```shell +nodes: + - id: 1024 + type: pull + prevail: 1 + nodes: + - id: 6 + pathscore: 1 +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-module.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-module.md new file mode 100644 index 000000000000..25fa4a47e913 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-module.md @@ -0,0 +1,111 @@ +--- +id: developer-module +title: Comment écrire un module +--- + +Vous souhaitez créer un nouveau module pour Centreon ou adapter un module existant ? Vous êtes au bon endroit ! + +Un modèle de module vide est disponible dans le [dépôt Centreon](https://github.com/centreon/centreon-dummy). + +--- + + +> **_REMARQUE :_** La documentation principale est directement stockée dans le [dépôt **centreon-dummy** fourni à titre d'exemple](https://github.com/centreon/centreon-dummy/blob/master/README.md). + +--- + + +Il faut savoir que Centreon contient une page dédiée à l’installation et à la désinstallation des modules (**Administration > Extensions > Gestionnaire**). Pour que le module apparaisse sur cette page, son répertoire doit être placé dans le répertoire `modules/` de Centreon. Exemple : + +```Shell +/usr/share/centreon/www/modules/dummy +``` + +## Base + +Les éléments essentiels que doit contenir le répertoire de votre module sont présentés ci-dessous : + +```PHP +$module_conf['dummy'] = [ + // Short module's name. Must be equal to your module's directory name + 'name' => 'dummy', + // Full module's name + 'rname' => 'Dummy Example Module', + // Module's version + 'mod_release' => '24.10', + // Additional information + 'infos' => 'This module is a skeleton', + // Allow your module to be uninstalled + 'is_removeable' => '1', + // Module author's name + 'author' => 'Centreon', + // Stability of module. + 'stability' => 'stable', + // Last time module was updated. + 'last_update' => '2020-12-01', + // Release notes link, if any. + 'release_note' => 'https://docs.centreon.com/current/en/releases/centreon-os-extensions', + // Images associated with this module. + 'images' => [ + 'images/centreon.png', + ], +]; +``` + +**\[php > install.php]** + +Ce fichier PHP est exécuté à l’installation du module s’il est configuré dans le fichier *conf.php*. + +**\[php > uninstall.php]** + +Ce fichier PHP est exécuté à la désinstallation du module s’il est configuré dans le fichier *conf.php*. + +**\[sql > install.sql]** + +Ce fichier SQL est exécuté lors de l’installation du module s’il est configuré dans le fichier *conf.php*. Si vous souhaitez que votre module soit disponible dans les menus Centreon, vous devez insérer de nouvelles entrées dans la table `topology` de la base de données `centreon`. Un exemple est disponible à l’intérieur du module `Dummy`. + +**\[sql > uninstall.sql]** + +Ce fichier SQL est exécuté lors de la désinstallation du module s’il est configuré dans le fichier *conf.php*. Il peut également supprimer votre module des menus Centreon. + +**\[generate\_files > \*.php]** + +Les fichiers PHP contenus dans le répertoire `generate_files` seront exécutés lors de la génération des fichiers de configuration du moteur de supervision (dans **Configuration > Collecteurs > Collecteurs**). Ces fichiers doivent générer des fichiers de configuration. + +**\[UPGRADE > dummy-x.x > sql > upgrade.sql]** + +Centreon propose un système de mise à niveau des modules. Pour l’utiliser, il suffit d’ajouter un répertoire sous `UPGRADE` nommé selon le modèle suivant : `-`. Lorsque vous cliquez sur le bouton de mise à niveau, Centreon recherche les scripts à exécuter, en suivant l’ordre logique des versions. + +Par exemple, si la version 1.0 du module d'exemple est installée et que les répertoires suivants existent : + +```Shell +ls UPGRADE +dummy-1.1 dummy-1.2 +``` + +Centreon exécutera les scripts dans l’ordre suivant : 1.1, 1.2. Un fichier de configuration dans chaque répertoire de mise à niveau est présent afin d’autoriser (ou non) l’exécution. + +Vous êtes libre d’organiser les fichiers restants (le contenu de votre module) comme vous le souhaitez. + +## Avancé + +> **Cette section est obsolète, veuillez vous référer à la [documentation du dépôt d'exemple](https://github.com/centreon/centreon-dummy/blob/master/README.md)** + +C’est fantastique, vous savez comment installer un module ! Comme un module vide n’est pas vraiment utile, faites travailler votre imagination. Sachant que vous pouvez presque tout faire, cela ne devrait pas être trop compliqué :-). + +### Connexion à la base de données + +Vous pouvez utiliser les bases de données `centreon` et `centstorage` en appelant le fichier suivant : `centreon/www/class/centreonDB.class.php`. + +Par exemple, exécutez des requêtes comme celle-ci : + +```PHP +$pearDB = new CentreonDB(); +$pearDB->query("SELECT * FROM host"); +``` + +### Fonctions existantes + +Vous pouvez accéder à la plupart des fonctions déjà développées dans Centreon à l’aide d’instructions `include()`. Elles sont généralement stockées dans `centreon/www/class/`. + +Avant de développer votre propre fonction, vérifiez le code existant, cela pourrait vous faire gagner du temps ! \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-stream-connector.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-stream-connector.md new file mode 100644 index 000000000000..0aa209da387f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-stream-connector.md @@ -0,0 +1,742 @@ +--- +id: developer-stream-connector +title: Comment écrire un Stream Connector +--- + +## Vue d'ensemble + +Centreon Stream Connector est une fonction introduite dans Centreon 3.4.6. Elle permet d'exporter les données Centreon (événements et métriques) vers un stockage ou une application externe comme ElasticSearch, Splunk, InfluxDB, des fichiers, etc. + +Dans une plateforme Centreon, le composant qui transporte les informations entre les collecteurs distants et le serveur central Centreon est appelé Centreon Broker. Ce broker stocke les données reçues dans le stockage local de Centreon : MariaDB et RRDtool. + +Le schéma suivant explique le transfert des données collectées et leur insertion dans les stockages : + +![image](../assets/developer/lua/archi_broker_regular.png) + +La fonctionnalité Stream Connector est un nouvel output de Centreon Broker qui récupère les données de Centreon Broker Master (également connu sous le nom de Centreon Broker SQL) pour les agréger et les transmettre à un stockage externe. + +Cet output charge un script Lua appelé un Stream Connector, dont la tâche consiste à traiter, agréger et enrichir les données avant de les transmettre au protocole défini : + +![image](../assets/developer/lua/archi_broker_lua_script.png) + +Comme il s'agit d'un output de Centreon Broker, le principe de la création de fichiers de rétention lors de l'interruption de l'accès au stockage externe est conservé. De la même manière, il est possible de filtrer les entrées sur les catégories de flux à traiter. + +## Prérequis + +Pour utiliser la fonctionnalité Centreon Stream Connector, vous devez disposer au minimum de la version 3.4.6 de Centreon : + +* Centreon Web >= 2.8.18 +* Centreon Broker >= 3.0.13 +* Lua >= 5.1.x + +## Création d'un nouveau script Lua + +La documentation technique complète est disponible [ici](developer-broker-stream-connector.md). Dans ce mode d'emploi, nous allons écrire deux scripts : + +* Le premier, simple, qui explique les bases des Stream Connectors. Son objectif est d'exporter les données vers un fichier journal. +* Le second est plus exigeant pour le lecteur, il exporte les données de performance vers la TSDB InfluxDB mais est facilement adaptable pour exporter vers une autre TSDB. + +## Migration d'un Stream Connector de BBDO 2 vers BBDO 3 + +La documentation technique de la migration est disponible [ici](developer-broker-stream-connector-migration.md). Ce mode d'emploi donne plusieurs conseils pour réussir la migration et présente un petit exemple. + +### Langage de programmation + +Centreon a choisi le langage de programmation Lua pour vous permettre de manipuler, d'agréger et de transférer des données. Lua est un langage de programmation facile à utiliser. De plus amples informations sont disponibles avec la [Documentation officielle Lua](https://www.lua.org/docs.html). + +### Stockage des scripts Lua + +Les scripts Lua de Broker peuvent être stockés dans tout répertoire lisible par l'utilisateur **centreon-broker**. + +Nous recommandons de les stocker dans **/usr/share/centreon-broker/lua**. + +### Écrire toutes les informations dans un fichier + +#### Stocker les données brutes + +Commençons par le premier script. Notre objectif est de stocker tous les événements donnés par Broker dans un fichier journal. Nous allons appeler notre Stream Connector **bbdo2file.lua**. + +Comme nous l'avons dit précédemment, nous allons stocker ce fichier dans le répertoire **/usr/share/centreon-broker/lua** sur le serveur central Centreon. + +Si le répertoire n'existe pas, en tant que root, nous pouvons le créer avec la commande suivante : + +```Shell +mkdir -p /usr/share/centreon-broker/lua +``` + +Centreon Broker propose plusieurs fonctions de journalisation pour écrire les journaux, les avertissements ou les erreurs dans un fichier. Nous utiliserons une de ces fonctions *info()* pour écrire les événements de Broker. [Consultez la documentation technique pour plus d'informations](developer-broker-stream-connector.md#lobjet-broker_log). + +La fonction *info()* fait partie de l'objet *broker\_log*. Pour l'appeler, la syntaxe est la suivante : + +```LUA +broker_log:info(level, text) +``` + +* *level* est un nombre entier de 1 (le plus important) à 3 (le moins important). +* *text* est le texte à écrire comme journal. + +> Avez-vous remarqué que le séparateur entre **broker\_log** et **info** est un double point ? Les fonctions des objets, aussi appelées *methods* sont appelées comme ceci en Lua. + +Commençons notre script. La fonction la plus importante dans un Stream Connector est la fonction **write()**. Chaque fois qu'un événement est reçu d'un collecteur via Broker, cette fonction est appelée avec l'événement comme argument. + +> Vous n'aurez jamais à appeler la fonction **write()** par vous-même, c'est toujours à Broker de le faire. Et ce serait une erreur de faire un tel appel. En d'autres termes, il ne doit pas y avoir d'appel à la fonction **write()** dans votre script. [Consultez la documentation technique pour plus d'informations](developer-broker-stream-connector.md#la-fonction-write). + +Voici la première version de **bbdo2file.lua** : + +```LUA +function init(conf) + broker_log:set_parameters(3, "/var/log/centreon-broker/bbdo2file.log") +end + +function write(d) + for k,v in pairs(d) do + broker_log:info(3, k .. " => " .. tostring(v)) + end + return true +end +``` + +> Les informations sur l'initialisation de la fonction de journalisation du Broker et ses paramètres sont données ici : [consultez la documentation technique](developer-broker-stream-connector.md#lobjet-broker_log). + +Expliquons ce que nous faisons dans ce script. + +Nous devons fournir une fonction **init()**, elle est décrite dans la [documentation technique](developer-broker-stream-connector.md#lobjet-broker_log). + +Cette fonction est appelée pendant l'initialisation du Stream Connector. Ici, nous l'utilisons pour initialiser l'objet **broker\_log**. Pour cela, nous appelons la méthode **broker\_log::set\_parameters()** qui nécessite deux paramètres : + +* Un niveau max (de 1 à 3). Si vous indiquez 2 ici, seuls les journaux des niveaux 1 et 2 seront retournés. +* Un fichier dans lequel écrire les journaux. Ce fichier doit se trouver dans un répertoire accessible en écriture pour l'utilisateur **centreon-broker**. + +La deuxième fonction est la fonction **write()**. Nous avons déjà dit que son argument est un événement de Broker. Ce type d'objet est une collection de clés/valeurs. Par exemple : + +```JSON +{ + "check_hosts_freshness": false, + "active_host_checks": true, + "category": 1, + "event_handlers": true, + "instance_id": 1, + "last_command_check": 1522836592, + "type": 65552, + "global_service_event_handler": "", + "obsess_over_services": false, + "passive_service_checks": true, + "last_alive": 1522836593, + "active_service_checks": true, + "check_services_freshness": true, + "flap_detection": false, + "global_host_event_handler": "", + "notifications": true, + "obsess_over_hosts": false, + "passive_host_checks": true, + "element": 16 +} +``` + +Tous les événements comprennent les valeurs *category*, *element* et *type*. + +* Les informations sur la *catégorie* se trouvent [dans la documentation bbdo](developer-broker-bbdo.md#catégories-dévénements). +* L’*élément* est la *sous-catégorie* (également appelé *type* dans la documentation bbdo). +* Le *type* est un nombre dérivé de la *catégorie* et l’*élément* (concaténation binaire). + +Dans cet exemple, la *catégorie* est 1 et l’*élément* est 16. Ainsi, en lisant la documentation, nous pouvons dire que cet événement est un événement NEB avec la sous-catégorie *instance-status*. + +Pour terminer avec la fonction **write()**, nous faisons une boucle sur les paramètres de l'événement **d**. Pour chaque étape, *k* est une clé et *v* est la valeur correspondante. Et nous envoyons au fichier journal une chaîne `k .. " => " .. tostring(v)` qui signifie la *concaténation* de *k*, *\=>* et *v* convertie en une chaîne de caractères. Voici un exemple du résultat ci-dessous. + +Une autre possibilité serait d'utiliser la fonction **broker.json\_encode(d)** qui convertit tout objet Lua en une représentation de chaîne *json* de celui-ci. Ainsi, nous pourrions écrire la fonction comme ceci : + +```LUA +function write(d) + broker_log:info(3, broker.json_encode(d)) + return true +end +``` + +> On constate que **broker.json\_encode(d)** est composé de **broker** et **json\_encode(d)** séparés par un *point* et non un *double point*. C'est parce que **broker** n'est pas un objet Lua. En fait, vous pouvez le voir comme un ensemble de fonctions fournies par *Centreon Broker*. + +Une fois que votre fichier **/usr/share/centreon-broker/lua/bbdo2file.lua** est prêt, vérifiez qu'il est lisible par l'utilisateur **centreon-broker** (ou l'utilisateur **centreon-engine** qui est le propriétaire du groupe **centreon-broker**), si ce n'est pas le cas, en tant que root vous pouvez entrer : + +```Shell +chown centreon-engine:centreon-engine /usr/share/centreon-broker/lua/bbdo2file.lua +``` + +Ensuite, configurez le nouvel output dans l'interface Web Centreon dans **Configuration > Collecteurs > Configuration de Centreon Broker > Central Broker**. Dans l’onglet **Output**, sélectionnez **Generic – Stream connector**, puis cliquez sur **Ajouter** : + +![image](../assets/developer/lua/add_stream_connector.png) + +Définissez le nom de cet output et le chemin vers le connecteur Lua : + +![image](../assets/developer/lua/describe_output.png) + +Cliquez ensuite sur **Sauvegarder** et générez la configuration, puis redémarrez **cbd**. + +Une fois que le Centreon Broker sera redémarré sur votre serveur central Centreon, les données apparaîtront dans votre fichier journal **/var/log/centreon-broker/bbdo2file.log** : + +```Shell +mer. 28 mars 2018 14:27:35 CEST: INFO: flap_detection => true +mer. 28 mars 2018 14:27:35 CEST: INFO: enabled => true +mer. 28 mars 2018 14:27:35 CEST: INFO: host_id => 102 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_time_ok => 1522240053 +mer. 28 mars 2018 14:27:35 CEST: INFO: state => 0 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_update => 1522240054 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_check => 1522240053 +mer. 28 mars 2018 14:27:35 CEST: INFO: execution_time => 0.005025 +mer. 28 mars 2018 14:27:35 CEST: INFO: acknowledged => false +mer. 28 mars 2018 14:27:35 CEST: INFO: service_id => 778 +mer. 28 mars 2018 14:27:35 CEST: INFO: active_checks => true +mer. 28 mars 2018 14:27:35 CEST: INFO: notify => false +mer. 28 mars 2018 14:27:35 CEST: INFO: max_check_attempts => 3 +mer. 28 mars 2018 14:27:35 CEST: INFO: obsess_over_service => true +mer. 28 mars 2018 14:27:35 CEST: INFO: check_type => 0 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_hard_state_change => 1522165654 +mer. 28 mars 2018 14:27:35 CEST: INFO: category => 1 +mer. 28 mars 2018 14:27:35 CEST: INFO: perfdata => used=41986296644o;48103633715;54116587930;0;60129542144 size=60129542144o +mer. 28 mars 2018 14:27:35 CEST: INFO: check_interval => 5 +mer. 28 mars 2018 14:27:35 CEST: INFO: output => Disk /var - used : 39.10 Go - size : 56.00 Go - percent : 69 % +mer. 28 mars 2018 14:27:35 CEST: INFO: check_command => check-bench-disk +mer. 28 mars 2018 14:27:35 CEST: INFO: check_period => 24x7 +mer. 28 mars 2018 14:27:35 CEST: INFO: type => 65560 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_hard_state => 0 +``` + +> Ce fichier journal va grossir rapidement, n'oubliez pas d'ajouter une rotation du journal. + +#### Utiliser les paramètres + +Les fonctions de journalisation de Centreon Broker ne doivent être utilisées que pour la journalisation. Pour écrire dans un fichier, nous devons utiliser la fonction dédiée de Lua. En outre, il est possible d'utiliser des paramètres pour définir le nom du fichier journal. + +Il est donc temps d'améliorer notre Stream Connector : + +```LUA +function init(conf) + logFile = conf['logFile'] + broker_log:set_parameters(3, "/var/log/centreon-broker/debug.log") +end + +function writeIntoFile(output) + local file,err = io.open(logFile, 'a') + if file == nil then + broker_log:info(3, "Couldn't open file: " .. err) + else + file:write(output) + file:close() + end +end + +function write(d) + for k,v in pairs(d) do + writeIntoFile(k .. " => " .. tostring(v) .. "\n") + end + return true +end +``` + +Avez-vous remarqué l'expression `local file,err = io.open(logFile, 'a')` ? + +Lua est capable de stocker plusieurs variables en même temps. En outre, les fonctions Lua peuvent retourner plusieurs variables. + +Par exemple, si vous voulez échanger les variables *a* et *b*, vous pouvez entrer : + +```LUA +a, b = b, a +``` + +Un autre exemple qui illustre plusieurs valeurs retournées : + +```LUA +function fib(a, b) + return b, a + b +end +``` + +Ainsi, cet appel à **io.open** renvoie deux variables, une première variable **file** qui est un *descripteur de fichier* utilisé pour accéder au fichier et une seconde variable pas toujours définie qui contient l'erreur s'il y en a une ou **nil** (non défini) sinon. + +La fonction **init()** permet d'obtenir des paramètres et de les définir à partir de l'interface web Centreon. Consultez la documentation technique pour plus d'informations. Ici, nous ajoutons la possibilité de choisir le nom du fichier de destination. La table **conf** possède une clé *logFile* définie dans l'interface web. La valeur correspondante est le nom du fichier utilisé pour stocker les événements. + +Modifiez votre output Broker pour déclarer ce paramètre : + +![image](../assets/developer/lua/add_parameter.png) + +Il est important que le nom du paramètre dans l'interface web corresponde au nom de la clé dans la table **conf**. Il s’agit ici de *logFile*. + +Cliquez ensuite sur **Sauvegarder** et générez la configuration, puis redémarrez **cbd**. + +Les données sont stockées dans le fichier journal **/var/log/centreon-broker/bbdo2file.log** comme ceci : + +```Shell +name => error +category => 3 +interval => 300 +rrd_len => 3456000 +value => 0 +value_type => 0 +type => 196612 +ctime => 1522315660 +index_id => 4880 +element => 4 +state => 0 +category => 3 +interval => 300 +rrd_len => 3456000 +is_for_rebuild => false +service_id => 1056 +type => 196609 +ctime => 1522315660 +host_id => 145 +element => 1 +is_for_rebuild => false +metric_id => 11920 +``` + +#### Manipuler les données + +Ici, nous continuons à améliorer notre Stream Connector en choisissant les événements à exporter et aussi en améliorant les outputs. + +Nous ne retiendrons que la catégorie NEB et les événements concernant le statut des hôtes et des services. + +Nous savons que NEB est la catégorie 1, que le statut du service est la sous-catégorie 24, et que le statut de l'hôte est la sous-catégorie 14. + +Donc, seuls les événements répondant aux critères suivants nous intéressent : + +* catégorie = 1 +* élément = 14 ou élément = 24 + +De plus, nous préférerions avoir un nom d'hôte au lieu d'un ID d'hôte et une description de service au lieu d'un ID de service. + +Enfin, nous aimerions obtenir des informations sur le statut et les outputs. + +Les événements NEB avec les éléments 14 et 24 nous donnent presque toutes les informations que nous voulons sauf les noms d'hôtes et les descriptions de services. + +Pour obtenir ces deux informations, nous devrons utiliser l'objet **broker\_cache**. Celui-ci est rempli lorsque les collecteurs sont redémarrés ou rechargés. Donc, n'oubliez pas de redémarrer vos collecteurs si vous voulez avoir quelque chose dans votre objet **broker\_cache** ! + +Si le cache est bien rempli, il est facile d'obtenir un nom d'hôte à partir de l'ID d'hôte : + +```LUA +broker_cache:get_hostname(host_id) +``` + +Il est également facile d'obtenir la description du service à partir de l'ID d'hôte et de l'ID de service : + +```LUA +broker_cache:get_service_description(host_id, service_id) +``` + +Pour installer le filtre sur les événements, il existe une fonction utile appelée **filter()** qui prend en compte deux paramètres : *category*, *element*. + +Cette fonction, si elle est définie, est appelée juste avant **write()**. Si elle retourne **true**, la fonction **write()** sera appelée, sinon, l'événement sera rejeté. + +Complétons notre script Lua : + +```LUA +function init(conf) + logFile = conf['logFile'] + broker_log:set_parameters(3, "/var/log/centreon-broker/debug.log") +end + +local function writeIntoFile(output) + local file,err = io.open(logFile, 'a') + if file == nil then + broker_log:info(3, "Couldn't open file: " .. err) + else + file:write(output) + file:close() + end +end + +function write(d) + local output = "" + + local host_name = broker_cache:get_hostname(d.host_id) + if not host_name then + broker_log:info(3, "Unable to get name of host, please restart centengine") + host_name = d.host_id + end + + if d.element == 14 then + output = "HOST:" .. host_name .. ";" .. d.host_id .. ";" .. d.state .. ";" .. d.output + writeIntoFile(output) + broker_log:info(output) + elseif d.element == 24 then + local service_description = broker_cache:get_service_description(d.host_id, d.service_id) + if not service_description then + broker_log:info(3, "Unable to get description of service, please restart centengine") + service_description = d.service_id + end + output = "SERVICE:" .. host_name .. ";" .. d.host_id .. ";" .. service_description .. ";" .. d.service_id .. ";" .. d.state .. ";" .. d.output + writeIntoFile(output) + broker_log:info(output) + end + return true +end + +function filter(category, element) + -- Get only host status and services status from NEB category + if category == 1 and (element == 14 or element == 24) then + return true + end + return false +end +``` + +Juste quelques remarques sur ce nouveau script avant de montrer ce que nous obtenons. + +Dans la fonction **init()**, nous accédons à la clé *logFile* dans la table *conf* en utilisant `conf['logFile']`. Tandis que dans la fonction **write()**, nous accédons à la clé *element* dans la table *d* en utilisant `d.element`. + +En fait, les deux syntaxes sont autorisées : `d.element` est la même valeur que `d['element']`. + +Autre remarque, dans la fonction **write()**, on peut voir quelque chose comme : + +```LUA +if not host_name then +``` + +Et dans la fonction **writeIntoFile()**, on peut voir que : + +```LUA +if file == nil then +``` + +Les deux syntaxes ont-elles la même signification ? Où est la différence ? + +Vous devez savoir qu'en Lua, une variable est considérée comme **true** si elle est définie et non **false** : + +Ainsi, le code suivant + +```LUA +if foo then + print("Good") +else + print("Bad") +end +``` + +écrira *Good* si *foo* est défini et n'a pas une valeur **false**. Plus précisément, il écrira *Good* dans les cas suivants : + +* foo=12 +* foo=true +* foo="Une chaîne" +* foo=0 (surprenant !) + +Il écrira *Bad* dans les cas suivants : + +* foo=nil (par défaut, une variable est nil, ce qui signifie non définie) +* foo=false + +Le fichier **/var/log/centreon-broker/bbdo2file.log** contiendra désormais : + +```Shell +HOST:srv-DC-djakarta;215;0;OK - srv-DC-djakarta: rta 0.061ms, lost 0% +SERVICE:mail-titan-gateway;92;disk-/usr;623;0;Disk /usr - used : 42.98 Go - size : 142.00 Go - percent : 30 % +SERVICE:mail-sun-master;87;memory-stats;535;0;Memory usage (Total 13.0GB): 0.12GB [buffer:0.00GB] [cache:0.01GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.07GB] [inactive:0.00GB] [apps:0.02GB] [unused:12.88GB] +SERVICE:mail-saturn-frontend;86;traffic-eth1;512;0;Traffic In : 4.73 Mb/s (4.73 %), Out : 4.79 Mb/s (4.79 %) - Total RX Bits In : 396.01 Gb, Out : 393.88 Gb +SERVICE:mail-saturn-frontend;86;memory-stats;515;0;Memory usage (Total 16.0GB): 8.89GB [buffer:0.43GB] [cache:0.95GB] [pages_tables:0.27GB] [mapped:0.15GB] [active:3.92GB] [inactive:0.29GB] [apps:2.88GB] [unused:7.11GB] +SERVICE:mail-neptune-frontend;80;traffic-eth1;392;0;Traffic In : 4.82 Mb/s (4.82 %), Out : 6.48 Mb/s (6.48 %) - Total RX Bits In : 398.40 Gb, Out : 396.44 Gb +HOST:srv-DC-casablanca;207;0;OK - srv-DC-casablanca: rta 2.042ms, lost 0% +SERVICE:mail-neptune-frontend;80;memory-stats;395;0;Memory usage (Total 9.0GB): 0.54GB [buffer:0.03GB] [cache:0.00GB] [pages_tables:0.01GB] [mapped:0.00GB] [active:0.48GB] [inactive:0.00GB] [apps:0.01GB] [unused:8.46GB] +SERVICE:mail-mercury-frontend;82;traffic-eth1;432;0;Traffic In : 8.28 Mb/s (8.28 %), Out : 1.23 Mb/s (1.23 %) - Total RX Bits In : 397.71 Gb, Out : 400.34 Gb +SERVICE:mail-mercury-frontend;82;memory-stats;435;0;Memory usage (Total 12.0GB): 1.58GB [buffer:0.00GB] [cache:0.63GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.75GB] [inactive:0.00GB] [apps:0.19GB] [unused:10.42GB] +SERVICE:mail-mars-frontend;84;traffic-eth1;472;0;Traffic In : 7.24 Mb/s (7.24 %), Out : 3.36 Mb/s (3.36 %) - Total RX Bits In : 399.93 Gb, Out : 395.67 Gb +SERVICE:mail-mars-frontend;84;memory-stats;475;0;Memory usage (Total 3.0GB): 1.19GB [buffer:0.01GB] [cache:0.59GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.15GB] [inactive:0.04GB] [apps:0.39GB] [unused:1.81GB] +SERVICE:mail-jupiter-frontend;85;traffic-eth1;492;0;Traffic In : 1.41 Mb/s (1.41 %), Out : 9.08 Mb/s (9.08 %) - Total RX Bits In : 388.86 Gb, Out : 394.85 Gb +SERVICE:mail-jupiter-frontend;85;memory-stats;495;0;Memory usage (Total 12.0GB): 0.57GB [buffer:0.04GB] [cache:0.23GB] [pages_tables:0.02GB] [mapped:0.02GB] [active:0.07GB] [inactive:0.03GB] [apps:0.16GB] [unused:11.43GB] +SERVICE:mail-io-backend;88;traffic-eth1;547;0;Traffic In : 1.51 Mb/s (1.51 %), Out : 7.12 Mb/s (7.12 %) - Total RX Bits In : 389.61 Gb, Out : 390.54 Gb +SERVICE:mail-io-backend;88;diskio-system;551;0;Device /dev/sda: avg read 4.78 (MB/s) and write 9.08 (MB/s) +``` + +## Exporter les données de performance vers InfluxDB + +Vous avez déjà appris beaucoup de choses sur les Stream Connectors. Il est temps de créer quelque chose de plus utile ! + +[InfluxDB](https://www.influxdata.com/) est une base de données de séries chronologiques (TSDB) Nous utiliserons ce stockage pour insérer les données de performance collectées par la plateforme Centreon. Pour cet exemple, nous allons utiliser le [InfluxDB Docker](https://hub.docker.com/_/influxdb/) prédéfini. + +Pour envoyer des données à InfluxDB, nous avons besoin de paramètres pour accéder au stockage InfluxDB : + +* **http\_server\_address** : adresse IP du stockage +* **http\_server\_port**: 8086 par défaut +* **http\_server\_protocol** : HTTP ou HTTPS +* **influx\_database**: nom de la base de données +* **influx\_user** : utilisateur qui accèdera à la base de données si défini +* **influx\_password** : mot de passe de l'utilisateur qui accèdera à la base de données si défini + +Afin de ne pas saturer le stockage, nous ajouterons tous les événements dans une file d'attente et une fois que sa taille maximale sera atteinte, nous enverrons les données en vrac. + +Nous devons définir la taille de la file d'attente et le délai maximal avant l'envoi des événements : + +* max\_buffer\_size +* max\_buffer\_age + +Pour créer cette file d'attente, nous introduisons un code un peu plus compliqué. Nous créons un objet **event\_queue**. Il est composé de paramètres tels que *events*, *influx\_database* et des méthodes telles que *new()*, *add()*. + +Pour comprendre comment créer un tel objet en Lua, nous recommandons la documentation Lua [pour les classes](https://www.lua.org/pil/16.1.html) et [pour les métatables](https://www.lua.org/pil/13.html). + +Pour envoyer des données à un serveur, nous fournissons un objet **broker\_tcp\_socket**. + +Son API est très simple. Ce *socket* est un socket TCP, il ne prend pas en charge le chiffrement et il peut être délicat d'envoyer des données en HTTP. Voici un exemple : + +```LUA +-- Here, we create our socket +local socket = broker_tcp_socket.new() + +-- We establish the connection with the server +socket:connect(address, port) + +-- Now, we can send data +socket:write("This is a text to send") + +-- If, we want an answer, we also have a function to read +local content = socket:read() + +-- When exchanges are finished, we can close the socket +socket:close() +``` + +Dans notre cas, nous n'utilisons pas **broker\_tcp\_socket** en raison de ses limitations. Nous voulons être en mesure d'envoyer des données à un serveur HTTPS. + +Un prérequis est d'installer la [bibliothèque lua-socket](http://w3.impa.br/~diego/software/luasocket/). Cette bibliothèque fournit plusieurs fonctionnalités, nous avons besoin de deux d'entre elles : + +* socket http +* ltn12 + +Pour y accéder, Lua fournit la fonction **require**. + +Introduisons le début de notre nouveau Stream Connector. + +### Les paramètres de la file d'attente + +```LUA +-- We declare the objects to import here +local http = require("socket.http") +local ltn12 = require("ltn12") + +-- Here are predefined queue parameters +local event_queue = { + __internal_ts_last_flush = nil, + http_server_address = "", + http_server_port = 8086, + http_server_protocol = "http", + events = {}, + influx_database = "mydb", + influx_user = "", + influx_password = "", + max_buffer_size = 5000, + max_buffer_age = 5 +} +``` + +Dans ce tableau, nous donnons des valeurs par défaut aux paramètres qui peuvent éventuellement être modifiés lors de l'appel **init()**. Cette table sera utilisée pour stocker des données importantes pour le script et est également notre objet de file d'attente. + +### Une méthode pour créer la file d'attente + +Pour déclarer cette table comme un objet Lua, nous avons besoin d'un constructeur. Le voici : + +```LUA +-- Constructor of the event_queue +function event_queue:new(o, conf) + o = o or {} + setmetatable(o, self) + self.__index = self + for i,v in pairs(conf) do + if self[i] and i ~= "events" and string.sub(i, 1, 11) ~= "__internal_" then + broker_log:info(1, "event_queue:new: getting parameter " .. i .. " => " .. v) + self[i] = v + else + broker_log:warning(1, "event_queue:new: ignoring parameter " .. i .. " => " .. v) + end + end + self.__internal_ts_last_flush = os.time() + broker_log:info(2, "event_queue:new: setting the internal timestamp to " .. self.__internal_ts_last_flush) + return o +end +``` + +> Dans cette fonction, nous utilisons une astuce Lua « o = o ou {} » qui signifie que *o* reste le même s'il est **true**, sinon il est affecté d'un tableau vide `{}`. +> +> Un autre point à noter est l'opérateur **~=** qui signifie **différent de**. +> +> Et pour finir sur cette fonction, la variable **self** est implicitement définie lorsque nous déclarons la méthode d'un objet. Sa signification est la même que celle de **this** en Java ou en C++. Elle représente l'objet sur lequel nous travaillons. + +### Une méthode pour ajouter un événement dans la file d'attente + +Nous avons un objet de file d'attente. Ce serait formidable de l'utiliser comme ceci : + +```LUA +-- We construct it +local queue = event_queue:new(nil, conf) + +-- We add an event to it +queue:add(event) + +-- When the queue is full, we would like to do something like this +queue:flush() +``` + +C'est parti ! Ci-dessous, nous présentons une méthode **add()** qui récupère un nom d'hôte et une description de service dans le cache, crée une chaîne à partir de l'événement et la place sur sa pile. + +```LUA +function event_queue:add(e) + local metric = e.name + -- time is a reserved word in influxDB so I rename it + if metric == "time" then + metric = "_" .. metric + end + + -- retrieve objects names instead of IDs + local host_name = broker_cache:get_hostname(e.host_id) + local service_description = broker_cache:get_service_description(e.host_id, e.service_id) + + -- what if we could not get them from cache + if not host_name then + broker_log:warning(1, "event_queue:add: host_name for id " .. e.host_id .. " not found. Restarting centengine should fix this.") + host_name = e.host_id + end + if not service_description then + broker_log:warning(1, "event_queue:add: service_description for id " .. e.host_id .. "." .. e.service_id .. " not found. Restarting centengine should fix this.") + service_description = e.service_id + else + service_description = service_description:gsub(" ", "_") + end + + -- we finally append the event to the events table + metric = metric:gsub(" ", "_") + broker_log:info(3, 'event_queue:add: adding ' .. service_description .. ",host=" .. host_name .. " " .. metric .. "=" .. e.value .. " " .. e.ctime .. '000000000" to event list.') + self.events[#self.events + 1] = service_description .. ",host=" .. host_name .. " " .. metric .. "=" .. e.value .. " " .. e.ctime .. "000000000\n" + + -- then we check whether it is time to send the events to the receiver and flush + if #self.events >= self.max_buffer_size then + broker_log:info(2, "event_queue:add: flushing because buffer size reached " .. self.max_buffer_size .. " elements.") + self:flush() + return true + elseif os.time() - self.__internal_ts_last_flush >= self.max_buffer_age then + broker_log:info(2, "event_queue:add: flushing " .. #self.events .. " elements because buffer age reached " .. (os.time() - self.__internal_ts_last_flush) .. "s and max age is " .. self.max_buffer_age .. "s.") + self:flush() + return true + else + return false + end +end +``` + +### Une méthode pour vider la file d'attente + +Une fois les événements ajoutés dans la file d'attente et la taille maximale de la file ou le délai d'attente atteint, les événements seront envoyés au stockage InfluxDB. + +Cette fonction crée des données à partir de la file d'attente et les envoie au stockage. Si une erreur se produit, elle introduit une erreur dans le journal. + +C'est ici que nous utilisons les objets **http** et **ltn12** chargés au début du script. + +```LUA + function event_queue:flush() + broker_log:info(2, "event_queue:flush: Concatenating all the events as one string") + -- we concatenate all the events + local http_post_data = "" + local http_result_body = {} + for i, raw_event in ipairs(self.events) do + http_post_data = http_post_data .. raw_event + end + broker_log:info(2, 'event_queue:flush: HTTP POST request "' .. self.http_server_protocol .. "://" .. self.http_server_address .. ":" .. self.http_server_port .. "/write?db=" .. self.influx_database .. '"') + broker_log:info(3, "event_queue:flush: HTTP POST data are: '" .. http_post_data .. "'") + + -- build url + local influxdb_url = self.http_server_protocol .. "://" .. self.http_server_address .. ":" .. self.http_server_port .. "/write?db=" .. self.influx_database + -- add authentication if needed + if string.len(self.influx_user) >= 1 and string.len(self.influx_password) >= 1 then + influxdb_url = influxdb_url .. "&u=" .. self.influx_user .. "&p="..self.influx_password + end + + local hr_result, hr_code, hr_header, hr_s = http.request{ + url = influxdb_url, + method = "POST", + -- sink is where the request result's body will go + sink = ltn12.sink.table(http_result_body), + -- request body needs to be formatted as a LTN12 source + source = ltn12.source.string(http_post_data), + headers = { + -- mandatory for POST request with body + ["content-length"] = string.len(http_post_data) + } + } + -- Handling the return code + if hr_code == 204 then + broker_log:info(2, "event_queue:flush: HTTP POST request successful: return code is " .. hr_code) + else + broker_log:error(1, "event_queue:flush: HTTP POST request FAILED: return code is " .. hr_code) + for i, v in ipairs(http_result_body) do + broker_log:error(1, "event_queue:flush: HTTP POST request FAILED: message line " .. i .. ' is "' .. v .. '"') + end + end + + -- now that the data has been sent, we empty the events array + self.events = {} + -- and update the timestamp + self.__internal_ts_last_flush = os.time() + end +``` + +### La fonction init() pour obtenir les paramètres et créer la file d'attente + +Dans ce cas, la fonction **init()** crée la file d'attente avec les paramètres définis par les utilisateurs dans l'interface web ou utilise les paramètres par défaut déjà définis dans la file d'attente. Cette alternative est gérée par le constructeur de la file d'attente. + +```LUA + function init(conf) + broker_log:set_parameters(1, "/var/log/centreon-broker/stream-connector-influxdb.log") + broker_log:info(2, "init: Beginning init() function") + queue = event_queue:new(nil, conf) + broker_log:info(2, "init: Ending init() function, Event queue created") + end +``` + +> **queue** n'est pas définie comme locale, ceci est important pour qu'elle soit accessible depuis toutes les fonctions. + +### La fonction write() pour insérer les événements dans la file d'attente + +La fonction **write()** est uniquement utilisée pour insérer des événements filtrés dans la file d'attente : + +```LUA + function write(e) + broker_log:info(3, "write: Beginning write() function") + queue:add(e) + broker_log:info(3, "write: Ending write() function\n") + return true + end +``` + +### La fonction filter() pour sélectionner uniquement les événements de données de performance + +Pour sélectionner uniquement les données de performance, nous devons sélectionner la catégorie 3 (« Storage ») et l'*element* 1 pour *metric* : + +```LUA + function filter(category, element) + if category == 3 and element == 1 then + return true + end + return false + end +``` + +### Script complet + +Le script complet peut être téléchargé [ici](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/centreon-certified/influxdb/influxdb-metrics-apiv1.lua). + +### Configurer Centreon Broker + +Configurez le nouvel output dans l'interface Web Centreon dans **Configuration > Collecteurs > Configuration de Centreon Broker > Central Broker**. Dans l’onglet **Output**, sélectionnez **Generic – Stream connector**, puis cliquez sur **Ajouter** : + +![image](../assets/developer/lua/add_stream_connector.png) + +Définissez le nom de cet output et le chemin vers le connecteur Lua : + +![image](../assets/developer/lua/broker_influxdb_output.png) + +Cliquez ensuite sur **Sauvegarder** et générez la configuration, puis redémarrez **cbd**. + +> N'oubliez pas de redémarrer également « centengine » pour créer le cache de Centreon Broker. + +Si vous installez le tableau de bord [Grafana](https://grafana.com/), vous pouvez visualiser les données stockées : + +![image](../assets/developer/lua/visualize_data_grafana.png) + +## Découvrez d'autres Stream Connectors Centreon + +Centreon fournit un dépôt Github pour héberger les scripts Lua développés par Centreon et la communauté. Rendez-vous sur le [Github dédié](http://github.com/centreon/centreon-stream-connector-scripts). + +Vous avez besoin d'aide pour développer votre Stream Connector ? Vous voulez partager votre expérience avec la communauté ? Rejoignez notre [plateforme communautaire The Watch](https://thewatch.centreon.com/). \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-translate-centreon.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-translate-centreon.md new file mode 100644 index 000000000000..fd5be73db3f8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-translate-centreon.md @@ -0,0 +1,147 @@ +--- +id: developer-translate-centreon +title: Comment traduire Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Si vous voulez contribuer à traduire Centreon, ce tutoriel est pour vous ! Découvrez comment traduire l’interface web de Centreon et comment nous aider à ajouter de nouvelles langues dans Centreon. + +## Installer l’environnement de traduction + +Contactez-nous afin d'obtenir une archive des contenus à traduire, puis copiez celle-ci sur un serveur Linux. + +Exécutez les commandes suivantes : + +```shell +unzip centreon-translation.zip +cd centreon-translation +``` + +Votre environnement pour traduire Centreon est maintenant prêt. + +## Première génération + +Lors de la première génération, le script clonera les sources de Centreon depuis GitHub sur votre serveur. + +Exécutez la commande suivante : + +```shell +sh make-translation.sh +``` + +À la fin de l’exécution, deux fichiers sont disponibles : + +* messages.pot pour traduire le menu et les formulaires de l’interface web Centreon +* help.pot pour traduire les infobulles d’aide dans les formulaires de configuration + +Renommer messages.pot en messages.po et help.pot en help.po + +Vous pouvez maintenant commencer la traduction de Centreon en modifiant les fichiers avec un éditeur de fichiers PO comme poedit. + +> Conservez toujours vos fichiers \*.po pour la prochaine traduction. + +## Utiliser votre traduction + +Sur votre serveur Centreon, installez gettext. + +Créez le répertoire **locale** pour votre Centreon : + +```shell +sudo mkdir -p /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +``` + +> **/usr/share/centreon** est le répertoire d’installation de Centreon. + +Si vous souhaitez traduire Centreon dans une autre langue que celle utilisée par votre serveur Centreon, vous devez définir manuellement la locale. + +Par exemple, pour les utilisateurs brésiliens, exécutez la commande suivante : + +```Shell +sudo mkdir -p /usr/share/centreon/www/locale/pt_BR.UTF-8/LC_MESSAGES +``` + +Compilez les fichiers traduits : + +```shell +msgfmt messages.po -o messages.mo +msgfmt help.pot -o help.mo +php ./centreon-github/bin/centreon-translations.php pt centreon-github/lang/pt_BR.UTF-8/LC_MESSAGES/messages.po centreon-github/lang/pt_BR.UTF-8/LC_MESSAGES/messages.ser +``` + +Copiez les fichiers traduits compilés : + +```shell +sudo cp *.mo /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +sudo cp messages.ser /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +``` + +Modifiez les droits sur le répertoire : + +```shell +sudo chown -R apache.apache /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2` +``` + +Redémarrez Apache : + + + + +Restart Apache: +```shell +systemctl restart httpd +``` + + + + +Restart Apache: +```shell +systemctl restart httpd +``` + + + + +Connectez-vous à votre interface web Centreon, modifiez votre profil et sélectionnez une nouvelle langue : + +![image](../assets/getting-started/change_language_2.png) + +Sauvegardez le formulaire et accédez à un autre menu, votre interface sera traduite. + +## Mise à niveau de la traduction + +Les développeurs de Centreon publient chaque mois une nouvelle version de Centreon Web. La traduction pourrait donc être modifiée à chaque nouvelle version. + +Pour maintenir la traduction à jour, procédez comme suit : + +```shell +sh make-translation.sh +``` + +À la fin de l’exécution, deux fichiers à jour sont disponibles : + +* messages.pot pour traduire le menu et les formulaires de l’interface Web Centreon +* help.pot pour traduire les infobulles d’aide dans les formulaires de configuration + +Fusionnez ces fichiers avec les traductions précédentes (messages.po et help.po) : + +```shell +msgmerge help.po help.pot -o new_help.po +msgmerge messages.po messages.pot -o new_messages.po +``` + +Reportez-vous au chapitre « Utiliser votre traduction » pour mettre à niveau la traduction pour Centreon. + +## Participer au projet Centreon + +Une fois que votre traduction est à jour, vous pouvez demander à l’équipe Centreon d’ajouter votre traduction au projet Centreon. Cela permettra à toutes les personnes utilisant Centreon d’avoir accès à votre traduction sur leur plateforme Centreon. + +* Créez un compte sur GitHub +* Forkez le projet centreon/centreon sur GitHub +* Ajoutez vos fichiers traduits \*.mo et \*.po au répertoire lang/\/LC\_MESSAGES +* Soumettez votre modification sur votre projet +* Créez une demande de contribution sur le projet centreon/centreon +* Nous ajouterons votre traduction à Centreon. + +Merci pour votre aide ! diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-widget.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-widget.md new file mode 100644 index 000000000000..d0928c7d868e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/developer/developer-widget.md @@ -0,0 +1,185 @@ +--- +id: developer-widget +title: Comment écrire un widget +--- + +Centreon offre un système d’affichage personnalisé qui permet à l’utilisateur d’afficher un ou plusieurs widgets sur la même page : **Accueil > Vues personnalisées**. + +Vous pourriez avoir des besoins spécifiques qui ne sont pas encore couverts par notre catalogue de widgets et ce tutoriel vous expliquera comment écrire votre premier widget pour Centreon. + +## Dois-je développer un widget ou un module ? + +Si vous ne savez pas si vous devez créer un module ou un widget, demandez-vous si votre projet est destiné à contenir de nombreux menus ou s’il s’agit plutôt d’une page simple qui affichera peu d’informations. + +Bien sûr, vous pourriez créer un widget qui ne fonctionnerait qu’avec un module donné. + +## Structure du répertoire + +Les widgets fonctionnent à peu près comme les modules. Ils doivent être placés dans le répertoire suivant : + +```Shell +centreon/www/widgets/name-of-your-widget/ +``` + +Votre widget doit contenir un fichier obligatoire nommé **configs.xml** à sa racine. + +## Fichier de configuration + +Voici le fichier de configuration XML de notre widget d'exemple : + +```XML + + Dummy + Centreon + contact@centreon.com + http://www.centreon.com + Dummy widget + 1.0.3 + dummy, widget, centreon + + ./widgets/dummy/resources/logoCentreon.png + ./widgets/dummy/index.php + + + + + + + + + + + + +``` + +Voyons maintenant à quoi ces balises font référence. + +### Balises de base + +\* = balise obligatoire + +| Nom de la balise| Description +|----------|---------- +| title\*| Titre de votre widget +| author\*| Votre nom +| email| Votre adresse e-mail +| website| URL de votre projet +| description\*| Brève description de votre widget +| version\*| Version de votre widget. Incrémentez ce numéro chaque fois que vous publiez une nouvelle version. +| keywords| Quelques mots clés qui décrivent votre widget +| screenshot| Une capture d’écran qui montre votre widget sous son meilleur jour. La capture d’écran doit être placée dans votre répertoire de widgets. +| thumbnail| Le logo de votre projet. La taille qui convient le mieux est 100px x 25px. Les vignettes doivent être placées dans votre répertoire de widgets. +| url\*| Le chemin de la page principale de votre widget +| autorefresh| Ce paramètre n’est pas encore implémenté + +### Attributs des paramètres + +\* = *Paramètre obligatoire* + +| Attributs des balises| Description +|----------|---------- +| label\*| Étiquette du paramètre +| name\*| Nom du paramètre qui sera utilisé pour récupérer sa valeur +| defaultValue\*| Valeur par défaut du paramètre +| requirePermission| La valeur peut être « 1 » ou « 0 ». Lorsqu’il est défini sur 1, ce paramètre ne sera pas affiché pour les utilisateurs non autorisés. +| type\*| Type de paramètre, doit être l’un des suivants : text,boolean,date,list,range,compare,host,hostgroup, hostTemplate,servicegroup,serviceTemplate +| min\*| Pour le type de plage uniquement. Il s’agit de la valeur minimale du paramètre de la plage. +| max\*| Pour le type de plage uniquement. Il s’agit de la valeur maximale du paramètre de la plage. +| step\*| Pour le type de plage uniquement. Il s’agit de la valeur de l’étape du paramètre de la plage. + +# Type de paramètre + +| Nom de la balise| Description +|----------|---------- +| text| Rend un élément de saisie de texte +| boolean| Rend une case à cocher +| date| Rend deux éléments de saisie de texte. L’un pour la date de début, l’autre pour la date de fin. +| list| Rend une boîte de sélection. La boîte de sélection sera remplie avec les balises d’option qui doivent être définies dans la balise de préférence. +| range| Rend une boîte de sélection qui sera remplie de valeurs en fonction des définitions de min, max et étape. +| compare| Rend une boîte de sélection et une saisie de texte. La boîte de sélection contiendra des opérandes SQL tels que : +| | \> : supérieur à +| | \< : inférieur à +| | \>= : supérieur ou égal à +| | \<= : inférieur ou égal à +| | \= : égal à +| | != : non égal à +| | LIKE : peut être utilisé avec le caractère générique %%. +| | NOT LIKE : peut être utilisé avec le caractère générique %%. +| host| Rend une boîte de sélection remplie d’une liste d’hôtes. +| hostgroup| Rend une boîte de sélection remplie d’une liste de groupes d’hôtes. +| hostTemplate| Rend une boîte de sélection remplie d’une liste de modèles d’hôtes. +| servicegroup| Rend une boîte de sélection remplie d’une liste de groupes de services. +| serviceTemplate| Rend une boîte de sélection remplie d’une liste de modèles de services. + +La fenêtre des préférences se présente alors comme suit : + +.. image : /\_static/images/extending/pref\_dummy\_widget.png :align: center + +### Code + +Toutes les langues sont séparées dans différents fichiers, un fichier pour chaque langue. Le fichier « configs.xml » appelle le fichier PHP et le fichier php appelle le fichier HTML, etc... + +Nous utilisons Smarty, qui est un moteur et un compilateur de templates PHP (http://smarty.net). + +Pour utiliser Smarty, vous devez : + +```PHP +require_once $centreon_path . 'GPL_LIB/Smarty/libs/Smarty.class.php'; +``` + +1. Configurer Smarty : + +```PHP +$path = $centreon_path . "www/widgets/Dummy/src/"; +$template = new Smarty(); +$template = initSmartyTplForPopup($path, $template, "./", $centreon_path); +``` + +2. Créer un modèle PHP à utiliser en html : + +```PHP +$template->assign('widgetId', $widgetId); +$template->assign('autoRefresh', $autoRefresh); +$template->assign('data', $data); +``` + +3. Affecter le fichier HTML à exécuter : + +```PHP +$template->display('dummy.ihtml'); +``` + + +Cette ligne demande à PHP d'appeler le template smarty **dummy.ihtml** pour afficher le résultat : + +```PHP +$template->display('dummy.ihtml'); +``` + +Pour requêter les bases de données (**centreon** pour la configuration et **centstorage** pour les données temps réel), +vous devez initialiser l'objet PHP comme décrit ci-dessous (en utilisant **pearDB**) : + +```PHP +try { + global $pearDB; + + $db_centreon = new CentreonDB("centreon"); + $db = new CentreonDB("centstorage"); + $pearDB = $db_centreon; + + $widgetObj = new CentreonWidget($centreon, $db_centreon); + $preferences = $widgetObj->getWidgetPreferences($widgetId); + $autoRefresh = 0; + if (isset($preferences['refresh_interval'])) { + $autoRefresh = $preferences['refresh_interval']; + } +} catch (Exception $e) { + echo $e->getMessage() . "
"; + exit; +} +``` + +Puis requêter la base en utilisant les méthodes de la classe. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/actions.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/actions.md new file mode 100644 index 000000000000..3279b6209844 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/actions.md @@ -0,0 +1,18 @@ +--- +id: actions +title: Quelles actions effectuer pour superviser? +--- + +Une fois vos ressources [mises en supervision](first-supervision.md), allez à la page **Supervision > Statut des ressources** pour suivre le statut des ressources en temps réel. + +Sur cette page, vous pouvez effectuer les actions suivantes (survolez le statut d'une ressource puis cliquez sur le bouton correspondant) : + +- **Aquitter une ressource** : Quand un évènement survient sur une ressource, vous pouvez marquer cette ressource commme acquittée, afin de signifier à votre équipe que vous êtes au courant de l'incident et que vous vous en occupez. + + Lorsqu'une ressource est acquittée, les notifications sont suspendues et la ressource acquittée est surlignée en jaune dans les écrans de supervision. + + Acquitter une ressource ne signifie pas que l'incident est résolu : il le sera lorsque la ressource sera revenue dans son état nominal (OK ou DISPONIBLE). + +- **Planifier un temps d'arrêt** : Un temps d'arrêt (ou plage de maintenance) est une période de temps pendant laquelle les notifications sont désactivées pour une ressource. Lorsque vous savez qu'une ressource va être indisponible pour maintenance, planifiez un temps d'arrêt dessus pour éviter de recevoir des alertes inutiles. + +- **Effectuer un contrôle sur une ressource** : Exécutez la commande de vérification pour la ressource immédiatement. Son statut sera rafraîchi sous peu. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/analyze-resources-availability.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/analyze-resources-availability.md new file mode 100644 index 000000000000..73af9b0969e0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/analyze-resources-availability.md @@ -0,0 +1,141 @@ +--- +id: analyze-resources-availability +title: Analyser la disponibilité des ressources +description: Tutoriel MBI +--- + +Vous débutez avec Centreon MBI et souhaitez extraire vos premières +statistiques ? Ce tutoriel est fait pour vous. + +Grâce à lui, apprenez à utiliser le produit et générez votre premier +rapport. + +Le principe est simple : + +- Vous déterminez votre besoin +- Vous sélectionnez parmi les modèles de rapports disponibles, celui + qui répond à votre besoin d'analyse +- Vous configurez votre rapport via l'ajout d'une "tâche planifiée" +- Vous récupérer votre rapport via l'interface + +> Centreon MBI est une **extension** Centreon qui requiert une license valide. Pour plus d'information, +> contactez [Centreon](mailto:sales@centreon.com). + +## Définition du besoin + +Partons d'un besoin assez simple qui est souvent le point de départ de +l'exploitation de Centreon MBI : nous souhaitons suivre la disponibilité +de nos ressources. Dans notre cas, le responsable du réseau Europe nous +remonte que les routeurs semblent parfois injoignables. Pour répondre à +son besoin d'analyse, nous allons récupérer la disponibilité de nos +routeurs qui se situent en Europe. Le besoin est établi, passons à +l'étape suivante. + +## Sélection du modèle de rapport + +Chaque modèle de rapport répond à un besoin précis. Dans notre exemple, +nous souhaitons analyser la disponibilité de nos routeurs en Europe. +Pour cela, parcourons la page listant +les [modèles de rapports disponibles](../reporting/report-development.md) et sélectionnons le modèle de rapport +Hostgroup-Host-Availability-List. Ce modèle affiche sous forme de liste, +la disponibilité des hôtes d'un groupe. Dans notre exemple, les hôtes +sont nos routeurs. + +## Configuration du rapport via l'ajout d'une "tâche planifiée" + +Dans Centreon MBI, la configuration d'un rapport correspond à la +création d'une tâche planifiée. Allez dans le menu *Reporting → +Monitoring Business Intelligence → Configuration \| Tâches planifiées* +et cliquez sur "Ajouter" : + +![image](../assets/getting-started/1_FR_createJob.png) + +Le formulaire de création d'une nouvelle tâche planifiée s'ouvre : + +![image](../assets/getting-started/2_FR_createJob_FirstTab.png) + +Dans ce premier onglet, partie *Configuration de la tâche planifiée*, +donnez un nom à votre tâche. Ce nom correspond au nom du rapport qui +sera généré. + +N.B. : Vous pourrez avoir rapidement plusieurs dizaines de tâches +planifiées configurées, il est donc très important de définir des règles +de nommage. + +Choisissez ensuite : + +- le modèle de rapport sur lequel vous vous basez, dans notre exemple + *Hostgroup-Host-Availability-List* +- la langue : Français +- le format de sortie souhaité : PDF + +![image](../assets/getting-started/createJob_ListReport.png) + +Puis rattachez le rapport à un groupe. C'est une obligation liée aux +droits et profils utilisateurs. + +Dans la partie Paramètres d'ordonnancement, choisissez le mode de +planification. Vous pouvez choisir une exécution immédiate ou une +exécution planifiée. Dans notre exemple, il est préférable d'utiliser +l'exécution immédiate afin de visualiser directement le résultat de la +génération de la tâche planifiée. + +Dans la configuration ci-dessous, le rapport sera généré immédiatement, +en français, sur les données du mois dernier : + +![image](../assets/getting-started/3_FR_createJob_FirstTab_Filled.png) + +Une fois l'onglet de configuration renseigné, nous pouvons passer à +l'onglet "Paramètres du rapports". Cet onglet permet de choisir le +contexte sur lequel le rapport sera généré. Sur cet exemple, nous +choisissons de lister la disponibilité des hôtes du groupe "Routers" qui +se situent en "Europe". + +![image](../assets/getting-started/4_FR_createJob_Parameter.png) + +N.B. : Pour la plupart des modèles de rapports, il est possible de +choisir la plage horaire dans laquelle vous souhaitez générer le +rapport. + +Nous choisissons d'analyser la disponibilité sur la plage 24×7. Pour +être visible dans le listing, elle doit obligatoirement et préalablement +être définie dans Centreon et configurée dans les options générales de +Centreon MBI, dans l'onglet "Options de l'ETL". + +Enfin, sélectionnez votre logo pour personnaliser votre rapport. Il est +possible d'en rajouter via le menu "Logo" de Centreon MBI. Ces derniers +seront alors visibles lors du paramétrage d'une tâche planifiée. + +En cliquant sur "Enregistrer", le rapport est planifié selon le mode +choisi, dans notre cas, immédiatement. Sa génération va démarrer. + +![image](../assets/getting-started/5_FR_generateJob.png) + +Si vous ne voyez pas la tâche planifiée dans la liste, contrôlez les +filtres s'appliquant à la page. Sélectionnez "Tous" si vous voulez être +sûr de voir toutes vos tâches planifiées. + +![image](../assets/getting-started/6_FR_generateJob_Filter.png) + +## Récupération du rapport généré + +Une fois la tâche terminée, rendez-vous dans le menu *Report view*. +Cette page contient la liste de tous les rapports générés. + +Pour visualiser votre rapport, il vous suffit de le télécharger en +cliquant sur l'icône du format de sortie disponible, dans notre cas, +PDF. + +![image](../assets/getting-started/7_FR_reportView.png) + +S'ouvre alors le rapport de disponibilité des routeurs sur le périmètre +Europe : + +![image](../assets/getting-started/8_FR_availabilityReport.png) + +Bravo ! Vous savez maintenant comment extraire les statistiques de la +base de reporting. + +Vous voulez générez d'autres rapports ? Parcourez la liste des rapports +disponibles, déterminer ceux qui seront utiles pour suivre et analyser +la disponibilité et la performance de votre SI, et lancez-vous ! diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/autodisco-aws.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/autodisco-aws.md new file mode 100644 index 000000000000..4bf0ef4702e8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/autodisco-aws.md @@ -0,0 +1,115 @@ +--- +id: autodisco-aws +title: Utiliser Autodiscovery pour découvrir des instances AWS EC2 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Dans ce tutoriel, nous allons utiliser le module [Autodiscovery](../monitoring/discovery/hosts-discovery.md) pour détecter des instances AWS EC2 et les mettre en supervision. + +## Prérequis + +Vous devez disposer : + +- des informations d'identification pour le groupe d'instances AWS que vous souhaitez superviser (nom, AWS Access Key et AWS Secret Key) +- de la région dans laquelle se trouvent vos instances. + +## Étape 1 : Installer le plugin Amazon EC2 + +1. Assurez-vous que votre [licence](../administration/licenses.md) commerciale ou votre licence gratuite [IT-100](it100.md) est installée. + +2. [Installez](../monitoring/discovery/installation.md) le module d'autodécouverte. + +3. Rendez les connecteurs de supervision disponibles : + + - Si vous avez une licence en ligne, les connecteurs de supervision sont déjà disponibles dans l'interface. + - Si vous avez une licence hors ligne, dans le terminal de votre serveur central, entrez : + + + + +``` shell +dnf install centreon-pack-* +``` + + + + +``` shell +dnf install centreon-pack-* +``` + + + + +```shell +apt install centreon-pack-* +``` + + + + + +4. Pour installer le connecteur de supervision Amazon EC2, allez à la page **Configuration > Gestionnaire de connecteurs de supervision**. + +5. Dans le champ **Keyword**, entrez **Amazon EC2** puis cliquez sur **Rechercher**. + +6. Cliquez sur le `+` dans le coin supérieur droit du connecteur de supervision. Le connecteur de supervision a maintenant une bordure verte et une coche dans le coin supérieur droit : les modèles de configuration et les fournisseurs de découverte sont maintenant installés. + +7. Suivez [cette procédure](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2) + (sections [Plugin dependencies](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2#plugin-dependencies) et +[Setup](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2#setup)) pour finir d'installer le connecteur de supervision. (Vous pouvez également accéder à la documentation d'un connecteur de supervision en cliquant sur le `i`.) + + ![image](../assets/getting-started/aws-doc.png) + +## Étape 2 : Configurer la tâche de découverte + +1. Allez à la page **Configuration > Hôtes > Découverte**, puis cliquez sur **Ajouter**. + +2. Entrez un nom pour votre tâche de découverte, puis sélectionnez le fournisseur **Amazon AWS EC2**. Cliquez sur **Suivant**. + + ![image](../assets/getting-started/aws-provider.png) + +3. Si votre infrastructure le demande, renseignez les détails du proxy désiré. + +4. Cliquez sur le `+` à droite de la liste **Choisir des identifants**. Renseignez les champs nom, AWS Access Key et AWS Secret Key, +puis cliquez sur **Confirmer**. Cliquez sur **Suivant**. + +5. Entrez la région où se situent vos instances EC2 (par exemple, **eu-north-1**). Cliquez sur **Suivant**. + +6. Éditez ou ajoutez des [modificateurs](../monitoring/discovery/hosts-discovery.md#comment-utiliser-les-modificateurs) : + - Faites correspondre `host.name` à l'attribut `discovery.results.name`. Les noms de vos hôtes dans Centreon seront ceux définis dans cet attribut (c'est-à-dire le hostname de l'instance). + - Dans notre exemple, nous allons exclure les instances dont le hostname contient "test". + + ![image](../assets/getting-started/aws-mapper.png) + + Cliquez sur **Suivant**. + +7. Sélectionnez **Analyse manuelle** : nous devrons ajouter manuellement les hôtes à la liste des hôtes à superviser. Cliquez sur **Suivant**. + +8. Sélectionnez **Exécuter immédiatement** puis cliquez sur **Finir**. La tâche de découverte apparaît dans la liste des tâches. + + ![image](../assets/getting-started/aws-listofjobs.png) + +## Étape 3 : Sauvegarder les hôtes et les mettre en supervision + +1. Après quelques secondes, rafraîchissez la page. Une coche verte devrait apparaître dans la colonne **Statut**. + + ![image](../assets/getting-started/aws-success.png) + +2. Survolez la ligne correspondant à la tâche qui vient de se terminer puis cliquez sur **Afficher le résultat de la tâche** (l'icône flèche). Une liste d'hôtes apparaît. + + ![image](../assets/getting-started/aws-results.png) + + Des icônes vous permettent d'identifier l'action qui sera effectuée sur l'hôte : + + - L'icône **plus** signifie que cet hôte n’existe pas encore et sera créé. + - L'icône **flèche** signifie que cet hôte existe déjà et sa configuration sera mise à jour. + +3. Sélectionnez les hôtes que vous souhaitez ajouter à la liste des hôtes supervisés, puis cliquez sur **Enregistrer**. ![image](../assets/getting-started/aws-save.png) + +4. Allez à la page **Configuration > Hôtes > Hôtes** et vérifiez que les hôtes que vous avez sélectionnés à l'étape précedente apparaissent bien dans la liste. Attention, les hôtes ont été ajoutés à la liste des hôtes mais ils ne sont pas encore supervisés. + +5. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). Les hôtes apparaissent à la page **Statut des ressources** : ils sont maintenant supervisés. + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/concepts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/concepts.md new file mode 100644 index 000000000000..9153772eac88 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/concepts.md @@ -0,0 +1,35 @@ +--- +id: concepts +title: Bases de la supervision +--- + +## Que supervise Centreon? + +Centreon vous permet de superviser des ressources. Les ressources peuvent être des hôtes ou des services : + +* Un **hôte** est tout équipement qui possède une adresse IP et que l'on souhaite superviser : un serveur physique, une machine virtuelle, une sonde de température, une caméra IP, une imprimante ou un espace de stockage, par exemple. L’hôte peut avoir un ou plusieurs services associés. +* Un **service** est un point de contrôle, ou indicateur, à superviser sur un hôte. Cela peut être le taux d'utilisation du CPU, la température, la détection de mouvement, le taux d'utilisation de la bande passante, les I/O disque, etc. Un service peut avoir une ou plusieurs [métriques](../monitoring/metrics.md) associées. + +## Comment fonctionne la supervision? + +Afin de mesurer chaque indicateur, on utilise des sondes de supervision (plugin en anglais) qui sont exécutées périodiquement par un moteur de collecte appelé Centreon Engine. + +## Comment voir les ressources en cours de supervision? + +Une fois les hôtes et services mis en supervision, ceux-ci ont un statut dans Centreon (**OK**, **Alerte**, **Critique**...). Vous pouvez suivre leur évolution à la page **Statut des ressources**. + +En cas d'alerte (statut non-OK/non-DISPONIBLE), les [contacts](../monitoring/basic-objects/contacts-create.md) pourront recevoir des [notifications](../alerts-notifications/notif-configuration.md), suivant des périodes de temps définies. + +## Quelles fonctionnalités m'aident à superviser des ressources? + +Avec Centreon, la supervision est rendue facile par les éléments suivants : + +* les modèles d'hôtes et de services, qui permettent de définir des valeurs par défaut afin d’accélérer la création de ces objets. + +* les [connecteurs de supervision](../monitoring/pluginpacks.md), qui fournissent des modèles d'hôtes et de services prêts à l'emploi. Ceux-ci simplifient énormément la configuration des hôtes et des services : par exemple, il suffit d'appliquer les modèles issus d'un connecteur de supervision à un hôte afin de mettre celui-ci en supervision. + +* la fonctionnalité d'autodécouverte d'hôtes et de services qui permet d'obtenir une liste des nouveaux hôtes ou services et de les ajouter automatiquement à la liste des ressources supervisées. + +## Voir aussi + +Pour vous familiariser avec la terminologie Centreon, vous pouvez consulter le [**Glossaire des concepts Centreon**](../resources/glossary.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-custom-view.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-custom-view.md new file mode 100644 index 000000000000..14aff5291e44 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-custom-view.md @@ -0,0 +1,61 @@ +--- +id: create-custom-view +title: Créer une vue personnalisée +--- + +## Qu'est-ce qu'une vue personnalisée? + +Les [vues personnalisées](../alerts-notifications/custom-views.md) sont des tableaux de bord, créés à l'aide de widgets. + +## Créez votre première vue personnalisée + +Rendez-vous au menu **Accueil > Vues personnalisées** et cliquez sur l'icône crayon situé tout à droite de l'interface pour activer +le mode d'édition. + +Cliquez sur le bouton **+ Ajouter une vue** pour créer votre première vue personnalisée, puis saisissez **Ma vue** pour le nom +de la vue et sélectionnez 2 colonnes. Cliquez enfin sur le bouton **Soumettre** : + +![image](../assets/getting-started/cv_1.png) + +Ajoutez votre premier widget, en cliquant sur le bouton **+ Ajouter widget**, puis saisissez le titre **TOP 10 CPU** et +sélectionnez le widget **Live Top 10 CPU Usage**. Cliquez ensuite sur le bouton **Soumettre** : + +![image](../assets/getting-started/cv_2.png) + +Cliquez de nouveau sur le bouton **+ Ajouter widget**, saisissez le titre **TOP 10 Memory** et sélectionnez le widget +**Live Top 10 Memory Usage**. Cliquez ensuite sur le bouton **Soumettre** : + +![image](../assets/getting-started/cv_3.png) + +Le deuxième widget se place automatiquement sur la deuxième colonne : + +![image](../assets/getting-started/cv_4.png) + +Cliquez de nouveau sur le bouton **+ Ajouter widget**, saisissez le titre **Alertes non traitées** et sélectionnez le +widget **Services Monitoring**. Cliquez ensuite sur le bouton **Soumettre** : + +![image](../assets/getting-started/cv_5.png) + +Éditez ce widget en cliquant sur l'icône clé à molette : + +![image](../assets/getting-started/cv_6.png) + +Dans la fenêtre qui s'ouvre, décochez les cases : + +* **Display Pending** +* **Display Duration** +* **Display Tries** + +Puis cliquez sur le bouton **Apply**. + +Cliquez de nouveau sur le bouton **+ Ajouter widget**, saisissez le titre **Global Health** et sélectionnez le widget +**Global Health**. Cliquez ensuite sur le bouton **Soumettre** : + +![image](../assets/getting-started/cv_7.png) + +Éditez ce widget en cliquant sur l'icône clé à molette et sélectionnez **Show services** pour le champ **Services/Hosts**. +Cliquez sur le bouton **Apply**. + +Votre première vue personnalisée est créée : + +![image](../assets/getting-started/cv_8.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-graphical-view.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-graphical-view.md new file mode 100644 index 000000000000..1be1798fc93d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/create-graphical-view.md @@ -0,0 +1,95 @@ +--- +id: create-graphical-view +title: Créer une vue graphique +descritption: Tutoriel MAP +--- + +L'objectif de ce tutoriel est de vous aider à comprendre comment utiliser +l'extension de présentation de données Centreon MAP afin de fournir un aperçu des statuts +de votre infrastructure IT en temps réel à vos équipes ITOM et à vos utilisateurs opérationnels. + +Avec Centreon MAP, vous pouvez de manière simple créer et partager des vues de supervision temps réel afin de +superviser les performances de votre infrastructure IT, de votre réseau, vos applications et vos services. + +![image](../assets/graph-views/tuto_ex_1.png) + +![image](../assets/graph-views/tuto_ex_2.png) + +Exemple : Grâce à ces vues temps réel, les équipes ITOM et leurs managers peuvent visualiser instantanément la disponibilité +de services et d'applications métier critiques. Cela garantit un meilleur temps de réaction en cas de panne et optimise le +temps moyen de rétablissement du service (MTRS : Mean Time to Restore Service). + +Dans ce tutoriel, nous montrerons comment créer des vues avec Centreon MAP. +Après avoir lu cet article, vous aurez découvert les fonctionnalités principales de Centreon MAP +et vous serez capable de créer des vues qui répondent aux besoins de vos utilisateurs techniques et métier. + +> Centreon MAP est une **extension** Centreon qui demande une clé de licence valide. Pour en acheter une et récupérer les dépôts nécessaires, contactez [Centreon](mailto:sales@centreon.com). +## Créer une vue logique + +### Avant de créer la vue : définir les objectifs + +Définissez l'objectif principal de la vue : à quel besoin répond-elle, à qui s'adresse-t-elle ? +Voilà quelques questions à prendre en compte : + + - À qui s'adresse la vue ? (profils utilisateur) + - De quel niveau d'information les utilisateurs ont-ils besoin ? + - Toutes les ressources et tous les indicateurs dont j'ai besoin pour créer cette vue sont-ils bien en supervision ? + - Quel type d'informations doit contenir la vue ? (ressources, indicateurs, + graphiques, liens réseau, etc). Il peut être utile de schématiser la vue sur papier. + +Maintenant que les objectifs de la vue sont définis, voyons comment la réaliser. + +### L'espace de travail + +Connectez-vous au serveur Centreon MAP grâce au client desktop : l'espace de travail suivant apparaît. +Voici une illustration. Par défaut aucune vue n'est ouverte. + +![image](../assets/graph-views/tuto_workspace.png) + +L'interface est organisée de la manière suivante : + +1. **Vues** : Vues existantes auxquelles vous avez accès +2. **Éléments** : Objets utilisés dans les vues ouvertes +3. **Médias**: Images disponibles +4. **Ressources** : Objets Centreon pouvant être utilisés dans la vue (par glisser-déposer) +5. Contenu de la vue +6. **Palette** : Éléments graphiques pouvant être utilisés dans la vue +7. **Propriétés** : Propriétés de l'élément sélectionné + +### Créer une nouvelle vue + +Pour créer une nouvelle vue, faites un clic droit sur le panneau **Vues** puis cliquez sur **Ajouter**. + +![image](../assets/graph-views/create_view.gif) + +Positionnez des ressources, des widgets et autres éléments, en utilisant le glisser-déposer et les raccourcis. + +Voici ci-dessous un exemple de vue sur le statut temps réel d'une infrastructure IT créée en moins de 4 minutes (en Anglais) : + +![image](../assets/graph-views/ex_view.jpg) + +
+ +
+ +## Créer une vue géographique + +Que votre infrastructure IT soit répartie géographiquement sur une ville, un pays ou à travers le monde, +vous avez besoin de visualiser l'état de votre infrastrcture IT de la façon la plus appropriée. + +Vous pouvez faire cela facilement en utilisant une **GeoView**. Le seul prérequis est d'avoir rempli le champ +**Coordonnées géographiques** pour vos hôtes (à la page **Configuration > Hôtes > Hôtes**, onglet **Informations détaillées de l'hôte**). + +Pour créer une **GeoView**, allez à la page **Supervision \> Map** et cliquez sur le "+" +dans la section **Géographique**. (Si vous ne voyez pas le "+", cela signifie que vous n'avez pas les droits nécessaires.) + +![image](../assets/graph-views/create_geo_view.gif) + +## Afficher et partager une vue + +Grâce à un mécanisme de contrôle d'accès basé sur les objets ACL Centreon, vous pouvez facilement partager les vues que vous voulez avec les équipes désirées. Dès qu'une vue est partagée avec un utilisateur, elle est accessible pour lui à la page +**Supervision > Map**, ou même directement dans un tableau de bord en utilisant le widget Centreon Map (exemple ci-dessous). + +![image](../assets/graph-views/share_view.png) + +Vous avez maintenant assez d'informations pour commencer à utiliser Centreon MAP. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/first-supervision.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/first-supervision.md new file mode 100644 index 000000000000..f92a479d6136 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/first-supervision.md @@ -0,0 +1,52 @@ +--- +id: first-supervision +title: Prérequis +--- + +Ce topic vous propose d'installer les modèles de supervision fournis gratuitement avec la solution Centreon, puis de les implémenter afin de mettre votre premier équipement en supervision. + +> Si vous disposez d'une licence adéquate, vous pouvez utiliser notre [module d'autodécouverte](../monitoring/discovery/introduction.md) afin de trouver et de configurer vos hôtes facilement. Voir aussi notre tutoriel [sur la détection d'instances AWS EC2](autodisco-aws.md). + +### Installation des modèles de supervision de base + +Rendez-vous dans le menu **Configuration > Gestionnaire de connecteurs de supervision**. + +> Avant toute chose, appliquez la procédure de [configuration du proxy](../administration/parameters/centreon-ui.md#configuration-du-proxy) +> pour configurer et vérifier la connexion de votre serveur Centreon à internet. + +Commencez par installer le connecteur de supervision **Base Pack** (s'il n'est pas déjà installé) en déplaçant votre curseur sur ce dernier et en cliquant sur +l'icône **+** (il s'agit d'un pré-requis à l'installation de tout autre connecteur de supervision) : + +![image](../assets/getting-started/pp_base_generic_1.png) + +Vous pouvez aussi cliquer sur le connecteur de supervision afin d'en connaître son contenu avant de l'installer : + +![image](../assets/getting-started/pp_base_generic_2.png) + +Installez ensuite les connecteurs de supervision inclus gratuitement avec la solution, par exemple **Linux SNMP** et **Windows SNMP** : + +![image](../assets/getting-started/pp_install_basic.gif) + +Vous disposez maintenant des modèles de base pour configurer votre supervision ! + +## Déployer une configuration + +Lorsque vous créerez des hôtes, vous devrez déployer la configuration pour que la supervision démarre. + +1. Rendez-vous dans le menu **Configuration > Collecteurs > Collecteurs**. +2. Choisissez les collecteurs sur lesquels exporter la configuration. +3. Cliquez sur **Exporter la configuration**. + + ![image](../assets/monitoring/monitoring-servers/export_conf.png) + +4. Cochez les cases suivantes : + - **Générer les fichiers de configuration** + - **Lancer le débogage du moteur de supervision (-v)** + - **Déplacer les fichiers générés** + - **Redémarrer l'ordonnanceur**. + +5. Cliquez sur **Exporter**. + + ![image](../assets/monitoring/monitoring-servers/export_conf_done.png) + +6. Vérifiez qu'aucune erreur n'apparaît lors de la génération. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/interface.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/interface.md new file mode 100644 index 000000000000..965142684e5a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/interface.md @@ -0,0 +1,78 @@ +--- +id: interface +title: Découvrir l'interface web Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Première connexion à l'interface + +Pour vous connecter à l'interface web, rendez-vous à l'adresse : `http://ADRESSE_IP/centreon`. + +> Remplacez **ADRESSE_IP** par l'adresse IP ou le FQDN du serveur web Centreon. + +Renseignez le nom d'utilisateur et le mot de passe associé et cliquez sur le bouton **Se connecter** : + +![image](../assets/getting-started/aconnection.png) + +>Si vous avez installé Centreon depuis une [VM](../installation/installation-of-a-central-server/using-virtual-machines.md), les identifiants par défaut sont **admin/Centreon!123**. +Si ce n'est pas le cas, l'identifiant par défaut est **admin** et le mot de passe est celui que vous avez défini à [l'étape 5 de l'installation web](../installation/web-and-post-installation.md#étape-5--admin-information). + +Vous êtes maintenant connecté à l'interface web Centreon. + +## Menus + +![image](../assets/getting-started/menus.png) + +L'interface web de Centreon est composée de plusieurs menus, chaque menu a une fonction bien précise (cliquez sur le logo Centreon en haut à gauche de l'écran pour afficher les libellés) : + +![image](../assets/getting-started/amenu.png) + +* Le menu **Accueil** affiche les [vues personnalisées](create-custom-view.md). Votre espace de travail peut être vide pour l'instant. Une fois que vous aurez configuré les widgets + personnalisables, vous verrez les données et les graphiques en fonction de votre personnalisation. +* Le menu **Supervision** regroupe l'état de tous les éléments supervisés en temps réel et en différé au travers de la + visualisation des logs. +* Le menu **Rapports** permet de visualiser de manière intuitive (via des diagrammes) l'évolution de la supervision sur + une période donnée. +* Le menu **Configuration** permet de configurer l'ensemble des éléments supervisés ainsi que l'infrastructure de supervision. +* Le menu **Administration** permet de configurer la plateforme Centreon (authentification, proxy, extensions...) ainsi que de visualiser l'état général des serveurs. + +## Bandeau supérieur + +### Section Collecteurs + +![image](../assets/getting-started/banner_pollers.png) + +La partie gauche du bandeau supérieur montre la santé de votre plateforme en temps réel : + +* Si tous les collecteurs sont en cours d'exécution ou non : l'icône devient rouge lorsqu'un collecteur n'a pas envoyé de données au serveur central depuis au moins 15 minutes. +* Si les contrôles sont en retard ou non. Si l'icône est orange ou rouge, cela peut indiquer que vos collecteurs supervisent de trop nombreuse ressources. + +Cliquez sur l'icône **Collecteurs** pour développer le menu. Dans le menu, cliquez sur **Configurer les collecteurs** pour accéder à la page **Configuration > Collecteurs > Collecteurs**. + +### Section hôtes et services ("top counters") + +![image](../assets/getting-started/top_counters.png) + +Dans le bandeau supérieur, à côté de la section Collecteurs, des statistiques indiquent le nombre de ressources supervisées, avec un statut spécifique : + +* Pour les services: le nombre de services avec le statut **CRITIQUE**, **ALERTE**, **INCONNU** et **OK**. +* Pour les hôtes : le nombre d'hôtes avec le statut **INDISPONIBLE**, **INJOIGNABLE** et **DISPONIBLE**. + +Ces nombres incluent les alertes non confirmées (SOFT), mais n'incluent pas les ressources acquittées ou en maintenance. Les ressources en attente sont indiquées par une pastille bleue sur les icônes **hôtes** ou **services**. + +Cliquez sur un cercle représentant un statut : + +* La page **Supervision > Statut des ressources** s'ouvre. +* La page est filtrée selon le type de ressource et le statut correspondant. + +Cliquez sur les icônes **hôtes** ou **services** pour développer le menu et afficher le détail des hôtes et services. + +## Fonctionnalités de personnalisation + +Vous pouvez profiter de [fonctionnalités de personnalisation](../monitoring/basic-objects/customization.md) pour une meilleure utilisation de Centreon : + +- [Passer en mode sombre](../monitoring/basic-objects/customization.md#passer-en-mode-sombre) +- [Changer la langue de l'interface utilisateur](../monitoring/basic-objects/customization.md#changer-la-langue-de-linterface-utilisateur) +- [Réinitialiser le mot de passe](../monitoring/basic-objects/customization.md#réinitialiser-le-mot-de-passe) +- [Définir une page par défaut après connexion](../monitoring/basic-objects/customization.md#définir-une-page-par-défaut-après-connexion) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/introduction-tutorials.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/introduction-tutorials.md new file mode 100644 index 000000000000..3cf22af064cc --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/introduction-tutorials.md @@ -0,0 +1,11 @@ +--- +id: introduction-tutorials +title: Introduction +--- + +Centreon propose des tutoriels pour profiter rapidement des fonctionnalités de notre solution. + +* [Créer une vue personnalisée](create-custom-view.md) +* [Créer une vue graphique](create-graphical-view.md) +* [Modélisez vos services informatiques (Service Mapping)](model-it-services.md) +* [Analyser la disponibilité des ressources (Reporting)](analyze-resources-availability.md) \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/it100.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/it100.md new file mode 100644 index 000000000000..f3a4ee78c314 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/it100.md @@ -0,0 +1,45 @@ +--- +id: IT100 +title: Mettre en place sa solution gratuite IT-100 +--- + +Centreon vous propose de tester gratuitement toutes les fonctionnalités de **Centreon IT Edition**, grâce à l'offre d'essai IT-100. + +- Vous pourrez installer jusqu'à 3 serveurs centraux, et monitorer jusqu'à 100 hôtes. +- Vous aurez accès à la fonctionnalité de [découverte automatique des hôtes et services](../monitoring/discovery/introduction.md), et à la totalité de la bibliothèque de [connecteurs de supervision Centreon](/pp/integrations/plugin-packs/getting-started/introduction). + +Votre plateforme Centreon doit être [connectée à internet](../administration/licenses.md#vérifier-la-connexion-à-internet) pour que la licence IT-100 puisse fonctionner. + +Pour plus d'informations, consultez notre [FAQ sur Centreon IT-100](https://www.centreon.com/faq/faq-centreon-it-100/). + +## Procédure + +1. Pour demander votre licence d'essai gratuite, rendez-vous sur notre site internet à la page **[Essayez Centreon IT Edition](https://www.centreon.com/essai-gratuit/)** +et remplissez le formulaire suivant : + + ![image](../assets/getting-started/it_100_free_token_form.png) + + Vous recevrez un email contenant votre jeton permettant d'essayer **Centreon IT Edition**. + +2. Installez Centreon rapidement en utilisant une [machine virtuelle prête à l'emploi](../installation/installation-of-a-central-server/using-virtual-machines.md). + +3. Connectez-vous à l'interface, à l'adresse : `http://ADRESSE_IP/centreon`. (Remplacez **ADRESSE_IP** par l'adresse IP ou le FQDN du serveur web Centreon.) + + > Les identifiants par défaut sont `admin`/`centreon`. + +4. Ajoutez le jeton Centreon IT Edition que vous avez reçu par email. + > Si nécessaire, appliquez la procédure de [configuration du proxy](../administration/parameters/centreon-ui.md#configuration-du-proxy) pour configurer et vérifier la connexion de votre serveur Centreon à Internet. + + 1. Rendez-vous dans le menu **Administration > Extensions > Manager** et cliquez sur le bouton **Add Token** : + + ![image](../assets/getting-started/it_100_free_token_add_1.png) + + 2. Une fenêtre s'ouvre. Saisissez votre jeton et cliquez sur le bouton **Enregistrer** : + + ![image](../assets/getting-started/it_100_free_token_add_2.png) + +5. Votre plateforme est maintenant prête. Vous pouvez [superviser votre premier hôte](first-supervision.md). + +## Dépanner la solution IT-100 + +Si vous avez besoin d'aide pour mettre en place votre solution IT-100, consultez le [groupe dédié à IT-100](https://thewatch.centreon.com/groups/centreon-it-100-users-54) sur notre plateforme communautaire The Watch. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/model-it-services.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/model-it-services.md new file mode 100644 index 000000000000..70f7b3225903 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/model-it-services.md @@ -0,0 +1,183 @@ +--- +id: model-it-services +title: Modéliser un service IT +description: Tutoriel BAM +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +L'extension Centreon BAM est utilisée pour modéliser des services IT et applications +mis à disposition des utilisateurs finaux. Il permet de connaître en +temps réel l'état du service fourni et d'en suivre l'évolution afin +de comparer les résultats à des engagements (SLA) pris auprès des +métier, utilisateurs internes ou externes. + +> Centreon BAM est une **extension** Centreon qui requiert une license valide. Pour plus d'information, +> contactez [Centreon](mailto:sales@centreon.com). + +## Concepts + +Un service IT ou une application, dans Centreon BAM, correspond à un +nouvel indicateur de supervision orienté "métier", appelé "Activité +métier" (Business Activity - BA), à partir d'une agrégation +d'indicateurs unitaires collectés par la supervision appelé indicateurs +ou KPI (KPI: Key Performance Indicators). + +Les indicateurs sont soit des services au sens Centreon soit une règle logique +entre plusieurs services soit une autre activité métier. Le +nouvel objet créé à partir des KPis est appelé une Business Activity +(BA). + +Il est possible d'utiliser des BA en tant qu'indicateurs d'autre BA afin de +créer des arbre d'impact et modéliser finement les services IT ou +applications que vous souhaitez analyser. + +L'évolution du statut de la BA déterminera une qualité de service (Qos) +correspondant à la qualité rendu par l'application aux utilisateurs de +cette dernière. En s'appuyant sur cette mesure de Qos, on peut définir +les niveaux de fonctionnement la BA et ainsi des indicateurs de niveau +de service (SLA). + +En cas de défaillance de la BA, il est possible d'analyser les +dysfonctionnements qui ont conduit à la baisse de la Qos et par +extension la diminution de la SLA. + +Ci-dessous un exemple de ce qu'il est possible de modéliser dans +Centreon BAM. + +![image](../assets/service-mapping/example.png) + +## Introduction + +La construction d'une BA et de ses KPI associés doit être réalisée de +manière *simple* et par étape. L'idéal est de commencer par intégrer les +indicateurs les plus évidents, ceux directement liés au fonctionnement général +de la BA puis d'ajouter au fur et à mesure celles qui ont un impact +potentiel sur le fonctionnement global. + +Tous les indicateurs ajoutés aux BA doivent être initialement supervisés +par le système de supervision pour connaître leurs états de fonctionnement. + +Une des notions importantes à comprendre lorsqu'on manipule des BA est la méthode de calcul appliquée. Il +y a quatre méthodes de calcul disponible afin de rendre compte de l'état d'une BA: + +- **Best Status**: Lorsque vous souhaitez suivre le dysfonctionnement de TOUS les indicateurs au même moment +- **Worst Status**: Lorsque vous souhaitez savoir dès qu'un indicateur ne fonctionne plus +- **Ratio**: Lorsque vous souhaitez modéliser des concepts de **Cluster** en spécifiant un pourcentage ou un nombre + de resources maximum en statut Critique que vous ne voulez pas dépassez +- **Impact**: Lorsque vous souhaitez définir finement l'impact de chaque indicateur en fonction de leurs poids (<=> sévérité) + +Pour plus d'information sur les méthodes de calcul, consulter [ce chapitre](../service-mapping/ba-management.md#méthodes-de-calcul) + +## Méthode d'implémentation + +La première chose à faire avant de démarrer la création d'une activité métier dans Centreon est d'avoir parfaitement +en tête / sur papier, la composition de l'application ou du service métier cible que vous allez modéliser et de s'assurer +que les indicateurs sont tous disponibles, c'est à dire supervisés, dans Centreon. + +**La visualisation** d'une activité métier se fait de haut en bas: vous souhaitez représenter une application "A", dont le +fonctionnement repose sur des concepts Réseau, Backend & Frontaux, qui eux même reposent sur des serveurs et équipements réseaux dont le fonctionnement est déterminé par leurs *services* (au sens Centreon) + +**La création** d'une activité métier se fait de bas en haut: vous partez des *services* pour donner une représentation +du statut des équipements réseau et servers pour ensuite les agréger en indicateur "Réseau", Frontaux, Backend pour enfin +créer un indicateur de plus haut niveau représentant l'application "A" + +Maintenant que vous avez déterminé les indicateurs qui entrent dans +la composition de la BA, vous pouvez les catégoriser en deux catégories:  + +- Les indicateurs clés dont on sait qu'ils ont un impact bloquant +- Les indicateurs clés dont on ne sait pas mesurer l'impact + +> Dans un premier temps il est plus simple d'utiliser uniquement les indicateurs +> ayant des impacts "*Bloquants*". + +## Exemple + +Prenons un exemple assez simple: la modélisation d'un cluster de serveurs frontaux. Nous voulons nous assurer que +20% au moins des serveurs sont fonctionnels. + +Cela se fera en deux étapes (de bas en haut) + +- Premièrement, définir ce qu'est un frontend server qui fonctionne en créant un premier niveau de BA +- Ensuite, définir la règle de clustering au dessus des BA en créant une BA parent + +Définissons simplement ce qu'est un serveur frontend-x qui est ok: + +- un serveur qui n'est pas surchargé (load qui n'est pas critique) +- un espace disque qui n'est pas proche de la saturation (statut critique dans Centreon) +- de la mémoire physique qui n'est pas proche de la saturation (statut critique dans Centreon) + +Partant de ces règles, l'état d'un serveur frontal le plus approprié va être déterminé par la +règle de calcul "Worst status". Voici un exemple avec le serveur (1) + + + + +![image](../assets/service-mapping/frontend-1-concept.png) + + + + +![image](../assets/service-mapping/frontend-1-conf.png) + + + + +Maintenant que nous avons défini nos 10 serveurs frontaux en suivant cette règle, il est temps de créer notre BA +principale: le cluster des serveurs frontaux. Nous allons pour cela utiliser la règle "Ratio" et défnir que ce Cluster +passera en Critique lorsque plus de 80% des serveurs frontaux seront non-ok. + + + + +![image](../assets/service-mapping/ratio.png) + + + + +![image](../assets/service-mapping/conf-ratio.png) + + + + +Pour rajouter de la pro-activité dans notre gestion et éviter que le cluster comptent 80% de frontaux non fonctionnels, +nous pouvons également ajouter la règle suivant: à partir de 50% de serveurs frontaux non disponibles, nous voulons être +avertis + +![image](../assets/service-mapping/conf-ratio-with-warn.png) + +Au final nous obtenons cette activité métier "Frontend Cluster" nous permettant de suivre l'état de fonctionnement +général des serveurs frontaux. Il est également possible de ré-utiliser cette BA dans une autre, notamment une BA représentant le fonctionnement d'une application reposant sur ces serveurs. + + ![image](../assets/service-mapping/final-frontend.png) + +En suivant au quotidien l'état de la BA, il sera possible de faire des ajustements afin de rendre compte de plus +en plus précisemment de l'état du service ou de l'application représenté par la BA ou ses composants. + +La valeur finale de la SLA est liée au temps passé dans les états +opérationnels, dégradés/critiques (indisponibilité/disponibilité), +visible dans les écrans de "reporting". + +## Reporting + +Maintenant que vous êtes pro-actif sur la gestion de vos services IT et applications grâce à un suivi temps réel +de leur état, il est temps d'analyser la disponibilité par rapport aux SLA. +Cela est possible grâce à l'extension Centreon MBI et la configuration de la section "Reporting" de la BA. + +**Comment la disponibilité est elle calculée ?** + +La disponibilité est calculée par rapport au temps passé dans les status OK, Warning et Critical. + +Exemples :  + +- Supervision 24x7  +- Sur une période de 1 jour, le temps passé dans chaque seuil pour la BA:  + - BA en statut OK = 23hours & 30min + - BA en statut WARNING = 10 minutes + - BA en statut CRITICAL = 20 minutes + +Dans le cas présent, la disponibilité se calcul comme suit:  + +- % de disponibilité & performance optimale ~ 97,917% (Opérationnel) +- % de disponibilité ~ 0,694% (Dégradé) +- % d'indisponibilité ~ 1,388% (Critique) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md new file mode 100644 index 000000000000..f840617f8104 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md @@ -0,0 +1,103 @@ +--- +id: monitor-cisco-router-with-snmp +title: Superviser votre premier routeur Cisco +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Superviser un routeur Cisco avec SNMP + +Dans ce tutoriel, nous partons du principe que votre plate-forme Centreon est installée et fonctionne correctement, et que vous disposez au moins d'une édition [Centreon IT 100](it100.md) qui fournit des connecteurs de supervision Centreon (votre [licence](../administration/licenses.md) est déjà configurée). + +Votre routeur Cisco sera supervisé à l'aide du connecteur de supervision [Cisco standard](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp). (Plus d'informations sur les connecteurs de supervision [ici](../monitoring/pluginpacks.md)). + +## Prérequis + +### Sur le routeur Cisco que vous souhaitez superviser + +La première étape consiste à activer et à configurer un service SNMP sur votre appareil Cisco. +Veuillez vous référer à la documentation de votre appareil Cisco pour savoir comment configurer le service SNMP. La procédure de surveillance des Plugins Packs [Cisco standard](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp) inclut un exemple. + +### Flux réseau + +L'équipement doit être accessible depuis le collecteur Centreon sur le port SNMP UDP/161. + +### Sur le collecteur + +Connectez-vous à votre collecteur en SSH et installez le plugin standard Cisco (voir la [procédure de surveillance pour le connecteur de supervision **Cisco standard**](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp) pour plus d'informations) : + + + + +``` shell +dnf install centreon-plugin-Network-Cisco-Standard-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Network-Cisco-Standard-Snmp +``` + + + + +```shell +apt install centreon-plugin-network-cisco-standard-snmp +``` + + + + + +### Sur le serveur central + +Dans l'interface web, allez à la page **Configuration > Gestionnaire de connecteurs de supervision**, recherchez et installez le connecteur de supervision **Cisco standard** : + +![image](../assets/getting-started/quick_start_cisco_0.gif) + +## Configurer l'hôte et déployer la configuration + +1. Allez à la page **Configuration > Hôtes > Hôtes** et cliquez sur **Ajouter** : + + ![image](../assets/getting-started/quick_start_cisco_1.gif) + +2. Remplissez les informations suivantes : + + * Le nom du routeur (1) + * Une description du routeur (2) + * L'adresse IP du routeur (3) + * La version et la communauté SNMP (4) + * Sélectionnez le collecteur qui supervisera votre routeur (gardez "Central" si vous n'avez pas d'autre collecteur) (5) + +3. Cliquez sur **+ Ajouter une nouvelle entrée** dans le champ **Modèles** (6), puis sélectionnez le modèle **Net-Cisco-Standard-SNMP-custom** (7) dans la liste : + + ![image](../assets/getting-started/quick_start_cisco_2.png) + +4. Cliquez sur **Sauvegarder** (8). Votre équipement a été ajouté à la liste des hôtes : + + ![image](../assets/getting-started/quick_start_cisco_3.png) + +5. Allez à la page **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été créé automatiquement. + + ![image](../assets/getting-started/quick_start_cisco_4a.png) + + Vous pouvez également utiliser le raccourci situé à côté du nom de l'hôte pour accéder directement à la page **Configuration > Services > Services par hôte**. La liste sera filtrée par le nom de l'hôte : + + ![image](../assets/getting-started/quick_start_cisco_4b.png) + + ![image](../assets/getting-started/quick_start_cisco_5.png) + +6. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Allez dans **Supervision > Statut des ressources** et sélectionnez **Toutes** dans le filtre **Statut des ressources**. Dans un premier temps, les ressources apparaissent avec le statut **En attente**, ce qui signifie qu'aucun contrôle n'a encore été exécuté : + + ![image](../assets/getting-started/quick_start_cisco_6.png) + + Après quelques minutes, les premiers résultats du contrôle apparaissent : + + ![image](../assets/getting-started/quick_start_cisco_7.png) + + Si tous les services ne sont pas dans un état OK, vérifiez la cause de l'erreur et corrigez le problème. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md new file mode 100644 index 000000000000..1e7a28b7cfc4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md @@ -0,0 +1,137 @@ +--- +id: monitor-linux-server-with-snmp +title: Superviser votre premier serveur Linux +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Superviser un serveur Linux avec SNMP + +Dans ce tutoriel, nous partons du principe que votre plate-forme Centreon est installée et fonctionne correctement, et que vous disposez au moins d'une édition [Centreon IT 100](it100.md) qui fournit les connecteurs de supervision Centreon (votre [licence](../administration/licenses.md) est déjà en place). + +Votre serveur sera supervisé à l'aide du connecteur de supervision [Linux SNMP](/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp). (Plus d'informations sur les connecteurs de supervision [ici](../monitoring/pluginpacks.md)). + +## Prérequis + +### Sur le serveur Linux que vous souhaitez superviser + +La première étape consiste à activer et à configurer l'agent SNMP sur l'hôte à superviser. +Veuillez vous référer à la documentation de votre distribution Linux pour savoir comment configurer l'agent SNMP. + +Voici ci-dessous un fichier de configuration snmpd.conf/net-snmp minimaliste : + +- remplacez la ligne **agentaddress** par l'adresse IP de l'interface sur laquelle snmpd doit écouter +- remplacez **my-snmp-community** par la valeur correspondant à votre environnement. +- Ajoutez la ligne **view centreon included .1.3.6.1** pour avoir accès à toutes les informations de la MIB requises par le plugin + +```shell +agentaddress 0.0.0.0,[::] +# sec.name source community +com2sec notConfigUser default my-snmp-community +#### +# Second, map the security name into a group name: +# groupName securityModel securityName +group notConfigGroup v1 notConfigUser +group notConfigGroup v2c notConfigUser +#### +# Third, create a view for us to let the group have rights to: +# Make at least snmpwalk -v 1 localhost -c public system fast again. +# name incl/excl subtree mask(optional) +view centreon included .1.3.6.1 +view systemview included .1.3.6.1.2.1.1 +view systemview included .1.3.6.1.2.1.25.1.1 +#### +# Finally, grant the group read-only access to the systemview view. +# group context sec.model sec.level prefix read write notif +access notConfigGroup "" any noauth exact centreon none none +access notConfigGroup "" any noauth exact systemview none none +``` + +L'agent SNMP doit être redémarré à chaque fois que la configuration est modifiée. Assurez-vous également que l'agent SNMP est configuré pour démarrer automatiquement au démarrage. Utilisez les commandes suivantes pour les distributions récentes : + +```shell +systemctl restart snmpd +systemctl enable snmpd +``` + +> Le serveur cible doit être accessible depuis le collecteur Centreon sur le port SNMP UDP/161. + +### Sur le collecteur + +Connectez-vous à votre collecteur en SSH et installez le plugin SNMP Linux (voir la [procédure de surveillance pour le connecteur de supervision **Linux SNMP**](/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp) pour plus d'informations) : + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Linux-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Linux-Snmp +``` + + + + +```shell +apt install centreon-plugin-operatingsystems-linux-snmp +``` + + + + + +### Sur le serveur central + +Dans l'interface web, allez à la page **Configuration > Gestionnaire de connecteurs de supervision** et installez le connecteur de supervision **Linux SNMP** : + +![image](../assets/getting-started/quick_start_linux_0.gif) + +## Configurer l'hôte et déployer la configuration + +1. Allez à la page **Configuration > Hôtes > Hôtes** et cliquez sur **Ajouter** : + + ![image](../assets/getting-started/quick_start_linux_1.gif) + +2. Remplissez les informations suivantes : + + * Le nom du serveur (1) + * Une description de celui-ci (2) + * L'adresse IP du serveur (3) + * La communauté SNMP et sa version (4) + * Sélectionnez le collecteur désiré (laissez "Central" si vous n'avez pas d'autre collecteur) (5) + +3. Cliquez sur **+ Ajouter une nouvelle entrée** dans le champ **Modèles** (6), puis sélectionnez le modèle **OS-Linux-SNMP-custom** (7) dans la liste : + + ![image](../assets/getting-started/quick_start_linux_2.png) + +4. Cliquez sur **Sauvegarder** (8). Votre équipement a été ajouté à la liste des hôtes : + + ![image](../assets/getting-started/quick_start_linux_3.png) + +5. Allez à la page **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été créé automatiquement. + + ![image](../assets/getting-started/quick_start_linux_4a.png) + + Vous pouvez également utiliser le raccourci situé à côté du nom de l'hôte pour accéder directement à la page **Configuration > Services > Services par hôte**. La liste sera filtrée par le nom de l'hôte : + + ![image](../assets/getting-started/quick_start_linux_4b.png) + + ![image](../assets/getting-started/quick_start_linux_5.png) + +6. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Allez à la page **Surveillance > Statut des ressources** et sélectionnez **Toutes** dans le filtre **Statut des ressources**. Dans un premier temps, les ressources apparaissent avec le statut **En attente**, ce qui signifie qu'aucun contrôle n'a encore été exécuté : + + ![image](../assets/getting-started/quick_start_linux_6.png) + + Après quelques minutes, les premiers résultats du contrôle apparaissent : + + ![image](../assets/getting-started/quick_start_linux_7.png) + + Si tous les services ne sont pas dans un état OK, vérifiez la cause de l'erreur et corrigez le problème. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-printer-with-snmp.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-printer-with-snmp.md new file mode 100644 index 000000000000..8405bca66dcc --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-printer-with-snmp.md @@ -0,0 +1,40 @@ +--- +id: monitor-printer-snmp +title: Superviser une imprimante en SNMP +--- + +Rendez-vous dans le menu **Configuration > Gestionnaire de connecteurs de supervision** et installez le connecteur de supervision **Printer Standard** : + +![image](../assets/getting-started/quick_start_printer_0.gif) + +Rendez-vous maintenant dans le menu **Configuration > Hôtes > Hôtes** et cliquez sur le bouton **Ajouter** : + +![image](../assets/getting-started/quick_start_printer_1.png) + +Renseignez les informations suivantes : + +* Le nom de votre serveur +* Une description de votre serveur +* Son adresse IP +* La communauté et la version SNMP + +Cliquez sur le bouton **+ Ajouter une nouvelle entrée** pour le champ **Modèles** puis +sélectionnez le modèle **HW-Printer-standard-rfc3805-custom**. + +Cliquez sur le bouton **Sauvegarder**. + +Votre équipement a été ajouté à la configuration de la supervision : + +![image](../assets/getting-started/quick_start_printer_2.png) + +Rendez-vous dans le menu **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été déployé +automatiquement : + +![image](../assets/getting-started/quick_start_printer_3.png) + +Il est maintenant temps de [déployer la supervision](first-supervision.md#déployer-une-configuration). + +Rendez-vous ensuite dans le menu **Supervision > Détails des statuts > Regroupement par hôte** et sélectionnez la valeur **Tous** pour le +filtre **Afficher les détails**. Après quelques minutes, les premiers résultats de la supervision apparaissent : + +![image](../assets/getting-started/quick_start_printer_4.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-ups-with-snmp.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-ups-with-snmp.md new file mode 100644 index 000000000000..061b4703eb95 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-ups-with-snmp.md @@ -0,0 +1,40 @@ +--- +id: monitor-ups-snmp +title: Superviser un onduleur en SNMP +--- + +Rendez-vous dans le menu **Configuration > Gestionnaire de connecteurs de supervision** et installez le connecteur de supervision **UPS Standard** : + +![image](../assets/getting-started/quick_start_ups_0.gif) + +Rendez-vous maintenant dans le menu **Configuration > Hôtes > Hôtes** et cliquez sur le bouton **Ajouter** : + +![image](../assets/getting-started/quick_start_ups_1.png) + +Renseignez les informations suivantes : + +* Le nom de votre serveur +* Une description de votre serveur +* Son adresse IP +* La communauté et la version SNMP + +Cliquez sur le bouton **+ Ajouter une nouvelle entrée** pour le champ **Modèles** puis sélectionnez le modèle +**HW-UPS-Standard-Rfc1628-SNMP-custom**. + +Cliquez sur le bouton **Sauvegarder**. + +Votre équipement a été ajouté à la configuration de la supervision : + +![image](../assets/getting-started/quick_start_ups_2.png) + +Rendez-vous dans le menu **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été déployé +automatiquement : + +![image](../assets/getting-started/quick_start_ups_3.png) + +Il est maintenant temps de [déployer la supervision](first-supervision.md#déployer-une-configuration). + +Rendez-vous ensuite dans le menu **Supervision > Détails des statuts > Regroupement par hôte** et sélectionnez la valeur **Tous** pour le +filtre **Afficher les détails**. Après quelques minutes, les premiers résultats de la supervision apparaissent : + +![image](../assets/getting-started/quick_start_ups_4.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md new file mode 100644 index 000000000000..aede1d83683d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md @@ -0,0 +1,193 @@ +--- +id: monitor-windows-server-with-snmp +title: Superviser votre premier serveur Windows +description: Superviser un serveur Windows en SNMP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Superviser un serveur Windows en SNMP + +Dans ce tutoriel, nous supposons que votre plateforme Centreon est installée et fonctionnelle. Une [licence](../administration/licenses.md) est nécessaire pour accéder au catalogue complet des connecteurs de supervision. Nous supposons que vous avez au moins une licence [Centreon IT 100 Edition](it100.md). + +La supervision d'un serveur Windows en SNMP se fait via le [connecteur de supervision Windows SNMP](/pp/integrations/plugin-packs/procedures/operatingsystems-windows-snmp). (Vous pouvez obtenir plus d'informations sur les connecteurs de supervision [ici](../monitoring/pluginpacks.md)). + +## Prérequis + +### Sur le serveur Windows que vous souhaitez superviser + +La première étape consiste à installer et à configurer le service SNMP sur l'hôte Windows. +Veuillez vous référer à la documentation de votre distribution Windows pour savoir comment configurer le service SNMP. + +Retrouvez ci-dessous quelques étapes pour installer et configurer SNMP sur Windows 10. + +#### Installation de SNMP sur Windows 10 + +Vous avez deux options : installer SNMP en mode graphique ou installer SNMP via PowerShell. + + + + +1. Rendez-vous dans le menu **Paramètres > Applications et fonctionnalités > Fonctionnalités facultatives**. + +2. Cliquez sur le bouton **Ajouter une fonctionnalité** et recherchez **SNMP** : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_4.png) + +3. Sélectionnez **Protocole SNMP (Simple Network Management Protocol)** et cliquez sur **Installer**. + + + + +Dans la barre de recherche, tapez **PowerShell** et choisissez **Exécuter en tant qu'administrateur**. + +1. Vérifiez si le service SNMP est installé: + + ```shell + Get-WindowsCapability -Online -Name "SNMP*" + ``` + + ![image](../assets/getting-started/prise_en_main_windows_snmp_1.png) + +2. Pour installer le service SNMP à partir des serveurs de Microsoft, exécutez la commande suivante: + + ```shell + Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0" + ``` + + ![image](../assets/getting-started/prise_en_main_windows_snmp_2.png) + +3. Vérifiez si le service SNMP a été installé avec succès : + + ```shell + Get-WindowsCapability -Online -Name "SNMP*" + ``` + + ![image](../assets/getting-started/prise_en_main_windows_snmp_3.png) + + + + +#### Configuration de SNMP sur Windows 10 + +Après l'installation de SNMP, vous devez procéder à sa configuration. + +1. Dans la barre de recherche, tapez **services.msc** et appuyez sur **Entrée** pour lancer le panneau **Services**. + +2. Recherchez le service SNMP dans la liste. + + ![image](../assets/getting-started/prise_en_main_windows_snmp_7.png) + +3. Dans l'onglet **Agent**, renseignez les paramètres **Contact** et **Emplacement**. Puis dans la rubrique **Service**, cochez les cases des services dont vous souhaitez collecter les données pour les transmettre au serveur Centreon qui supervisera l'hôte. + + ![image](../assets/getting-started/prise_en_main_windows_snmp_6.png) + +4. Dans l'onglet **Sécurité**, renseignez la communauté SNMP dans la section **Noms de communauté acceptés** et choisissez l'option **LECTURE SEULE**. +Sélectionnez ensuite **Accepter les paquets SNMP de ces hôtes** et ajoutez l'adresse IP du serveur Centreon. + + ![image](../assets/getting-started/prise_en_main_windows_snmp_8.png) + +5. Redémarrez le service SNMP: + + ![image](../assets/getting-started/prise_en_main_windows_snmp_5.png) + +### Sur le serveur Centreon (collecteur) + +Connectez-vous à votre collecteur en SSH et installez le plugin Windows SNMP (voir la [procédure de supervision du connecteur de supervision **Windows SNMP**](/pp/integrations/plugin-packs/procedures/operatingsystems-windows-snmp) pour plus d'informations): + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Windows-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Windows-Snmp +``` + + + + +```shell +apt install centreon-plugin-operatingsystems-windows-snmp +``` + + + + + +### Sur le serveur central + +Dans l'interface Web, accédez à **Configuration > Gestionnaire de connecteurs de supervision** et installez le connecteur de supervision **Windows SNMP** : + +![image](../assets/getting-started/prise_en_main_windows_snmp_10.gif) + +## Configurer l'hôte et déployer la configuration + +1. Rendez-vous dans le menu **Configuration > Hôtes > Hôtes** et cliquez sur **Ajouter** : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_11.gif) + +2. Remplissez les informations suivantes: + + * Le nom du serveur (1) + * Une description du serveur (2) + * L'adresse IP du serveur (3) + * La communauté SNMP et sa version (4) + * Sélectionnez le collecteur qui supervisera le serveur Windows (gardez "Central" si vous n'avez pas d'autres collecteur) (5) + +3. Cliquez sur **+ Ajouter une nouvelle entrée** dans le champ **Modèles** (6), puis sélectionnez le modèle **OS-Windows-SNMP-custom** (7) et enregistrez en cliquant sur **Sauvegarder**. + + ![image](../assets/getting-started/prise_en_main_windows_snmp_12.png) + +4. Votre équipement a été ajouté à la lite des hôtes : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_13.png) + +5. Rendez-vous dans le menu **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été déployé automatiquement : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_14.gif) + +6. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Rendez-vous dans le menu **Monitoring > Status des Resources** et positionnez le filtre sur **Tous** pour récupérer tous les indicateurs quel que soit leur état : + + ![image](../assets/getting-started/quick_start_windows_snmp_15.png) + + Les premiers résultats de la supervision apparaissent avec le statut **En attente**, ce qui signifie que le moteur de supervision n'a pas encore vérifié leur statut : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_17.png) + + Après quelques minutes, les premiers résultats de la supervision apparaissent : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_16.png) + + Si tous les services ne sont pas dans un état **OK**, dépannez et [corrigez le problème](/pp/integrations/plugin-packs/getting-started/how-to-guides/troubleshooting-plugins/) + +### Pour aller plus loin + +Le connecteur de supervision **Windows SNMP** apporte de nombreux modèles de supervision. Rendez-vous dans le menu **Configuration > Services > Modèles** et trouvez la liste complète: + +![image](../assets/getting-started/prise_en_main_windows_snmp_18.png) + +Avec **Centreon IT Edition**, vous pouvez ajouter très rapidement et très simplement la supervision de vos cartes réseau, partitions, processus et services en utilisant la fonctionnalité de [découverte des services](../monitoring/discovery/services-discovery.md). + +1. Rendez-vous dans le menu **Configuration > Services > Manuelle**. Commencez à saisir le nom de l’hôte sur lequel réaliser la découverte et l’interface vous proposera de compléter automatiquement ce dernier : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_19.png) + +2. Sélectionnez ensuite la commande de découverte à exécuter dans la liste déroulante qui vient d’apparaître en dessous du champ **Rule**. Cliquez sur le bouton **Scan** et patientez durant l’analyse des éléments disponibles. Le résultat s’affiche. Sélectionnez les éléments à intégrer à la supervision et cliquez sur le bouton **Save** : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_20.png) + + Les éléments ont été ajoutés. Vous pouvez sélectionner une autre commande de découverte et répéter le processus. + +3. Les services ont été ajoutés et peuvent être affichés dans le menu **Configuration > Services > Services par hôte** : + + ![image](../assets/getting-started/prise_en_main_windows_snmp_21.png) + +4. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/mysql_tuto.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/mysql_tuto.md new file mode 100644 index 000000000000..c42a20e076d9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/mysql_tuto.md @@ -0,0 +1,106 @@ +--- +id: monitor-mysql-server +title: Superviser une base de données MySQL ou MariaDB +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +L'objectif de ce tutoriel est de superviser une base de données Mysql/MariaDB. + +## Prérequis + +### Sur la base de données à superviser + +Afin de pouvoir collecter les informations nécessaires à partir de la base de données, un utilisateur de la base de données disposant de privilèges spécifiques sera nécessaire. Si la base que vous souhaitez superviser est une base Centreon, un utilisateur dédié existe déjà (il s'appelle **centreon**). Dans le cas contraire, commencez par créer un nouvel utilisateur : connectez-vous à votre base de données, puis exécutez la commande suivante : + +```shell +CREATE USER 'username'@'IP_POLLER' IDENTIFIED BY 'password'; +``` + +Puis, que votre base soit une base Centreon ou non, exécutez la commande suivante : + +```shell +GRANT SELECT ON *.* TO 'username'@'IP_POLLER'; +``` + +> Remplacez le nom d'utilisateur, l'adresse IP du collecteur et le mot de passe par les valeurs de votre choix. + +### Sur le collecteur + +Installez le plugin suivant sur le collecteur qui supervisera votre base de données : + + + + +``` shell +dnf install centreon-plugin-Applications-Databases-Mysql +``` + + + + +``` shell +dnf install centreon-plugin-Applications-Databases-Mysql +``` + + + + +```shell +apt install centreon-plugin-applications-databases-mysql +``` + + + + + +### Sur le serveur central + +La base de données sera supervisée à l'aide du [connecteur de supervision **MySQL/MariaDB**](/pp/integrations/plugin-packs/procedures/applications-databases-mysql). +Rendez-vous dans le menu **Configuration > Gestionnaire de connecteurs de supervision** et installez le connecteur de supervision **MySQL/MariaDB** : + +![image](../assets/getting-started/quick_start_mysql_0.gif) + +## Configurer l'hôte et déployer la configuration + +1. Allez à la page **Configuration > Hôtes > Hôtes** et cliquez sur le bouton **Ajouter** : + + ![image](../assets/getting-started/quick_start_mysql_1a.gif) + +2. Renseignez les informations suivantes : + + * Le nom de votre serveur + * Une description de votre serveur + * Son adresse IP + * Sélectionnez le collecteur qui supervisera votre base de données (laissez "Central" si vous n'avez pas d'autre collecteur) + +3. Cliquez sur le bouton **+ Ajouter une nouvelle entrée** à côté du champ **Modèles** puis sélectionnez le modèle +**App-DB-MySQL-custom**. + + ![image](../assets/getting-started/quick_start_mysql_1a.png) + +4. Une liste de macros correspondant au modèle va alors apparaître : + + ![image](../assets/getting-started/quick_start_mysql_1b.png) + + Renseignez la valeur des macros suivantes : + + * **MYSQLUSERNAME** : le nom de l'utilisateur qui se connectera à la base de données. + * **MYSQLPASSWORD** : le mot de passe associé à cet utilisateur. + * **MYSQLPORT** : le port d'écoute de la base de données, par défaut 3306. + +5. Cliquez sur le bouton **Sauvegarder**. Votre équipement a été ajouté à la liste des hôtes : + + ![image](../assets/getting-started/quick_start_mysql_2.png) + +6. Allez dans **Configuration > Services > Services par hôte**. Un ensemble d'indicateurs a été créé automatiquement. + + ![image](../assets/getting-started/quick_start_mysql_3.png) + +7. [Déployez la supervision](first-supervision.md#déployer-une-configuration). + +8. À la page **Supervision > Status des ressources**, sélectionnez la valeur **Tous** pour le +filtre **Afficher les détails**. Dans un premier temps, les ressources apparaissent avec le statut **En attente**, ce qui signifie qu'aucun contrôle n'a encore été exécuté. Après quelques minutes, les premiers résultats de la supervision apparaissent : + + ![image](../assets/getting-started/quick_start_mysql_4.gif) \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/platform.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/platform.md new file mode 100644 index 000000000000..cdf9d380110f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/platform.md @@ -0,0 +1,38 @@ +--- +id: platform +title: Éléments d'une plateforme Centreon +--- + +Selon vos besoins, votre plateforme peut être constituée de plusieurs éléments : un [serveur central](#serveur-central), un ou plusieurs [serveurs distants](#serveur-distant), et un ou plusieurs [collecteurs](#collecteur). + +- Si vous ne supervisez que quelques ressources, vous n'aurez besoin que d'un serveur central. +- Si vous supervisez un grand nombre de ressources, répartissez la charge sur une [architecture distribuée](#architecture-distribuée). + +## Serveur central + +Dans Centreon, le serveur central est la console principale de votre supervision. Il permet : + +- de configurer toute la supervision de votre infrastructure, +- de superviser des ressources, +- de consulter la supervision de tous les serveurs Centreon (serveur central, [serveurs distants](#serveur-distant) et [collecteurs](#collecteur)) dans son interface web. + +## Serveur distant + +Un serveur distant est rattaché à un [serveur central](#serveur-central). Des collecteurs peuvent être rattachés à un [serveur distant](#serveur-distant). + +- Un serveur distant supervise des ressources. Il possède un moteur de supervision. +- Il a une interface graphique, mais pas de menus de configuration. +- Les ressources qu’il supervise s’affichent dans son interface et dans l’interface du serveur central auquel il est rattaché. + +## Collecteur + +Un collecteur peut être rattaché à un [serveur distant](#serveur-distant) ou bien directement à un [serveur central](#serveur-central). + +- Un collecteur Centreon supervise des [ressources](#ressource). Il possède un [moteur de supervision](#moteur-de-supervision). +- Il n’a pas d’interface graphique : les ressources qu’il supervise s’affichent dans l’interface du serveur central et du serveur distant auxquels il est rattaché. + +## Architecture distribuée + +![image](../assets/getting-started/archi.png) + +Voir aussi [**Architectures**](../installation/architectures.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/welcome.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/welcome.md new file mode 100644 index 000000000000..d2b6e419d567 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/welcome.md @@ -0,0 +1,7 @@ +# Démarrer avec Centreon OnPrem + +Bonjour et bienvenue ! Nous sommes heureux de vous compter parmi les utilisateurs de Centreon. + +import DocCardList from '@theme/DocCardList'; + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/which-install.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/which-install.md new file mode 100644 index 000000000000..c07993fc55d5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/getting-started/which-install.md @@ -0,0 +1,19 @@ +--- +id: which-install +title: Quelle installation choisir ? +--- + +Centreon propose plusieurs modes d'installation. Lequel choisir ? + +## Pour utiliser Centreon [IT-100](it100.md) ou pour tester la solution + +- À partir d'une [machine virtuelle prête à l'emploi](../installation/installation-of-a-central-server/using-virtual-machines.md). + +## Pour installer Centreon en production + +- À partir des [paquets RPM ou DEB](../installation/installation-of-a-central-server/using-packages.md) : si vous avez déjà + l'OS et vous souhaitez juste installer Centreon. Voir la [liste des OS supportés par Centreon](../installation/compatibility.md#système-dexploitation). + +## Voir aussi + +Voir aussi les [prérequis d'installation](../installation/prerequisites.md). \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/import-into-map-web.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/import-into-map-web.md new file mode 100644 index 000000000000..10d9f6af254d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/import-into-map-web.md @@ -0,0 +1,79 @@ +--- +id: import-into-map-web +title: Passer de MAP (Legacy) à MAP +--- + +Cette page décrit comment passer de Centreon MAP (Legacy) à Centreon MAP en important vos anciennes cartes dans le module MAP. + +> **À partir de Centreon 24.10, MAP Legacy n'est plus disponible.** Si vous utilisiez toujours MAP Legacy, consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/fr/docs/graph-views/map-legacy-eol/). + +## Prérequis + +- Centreon MAP doit être installé dans votre environnement. Consultez la procédure [Installer MAP](map-web-install.md) si besoin. + +- Avant de démarrer la procédure pour importer les anciennes cartes dans MAP, vous devez basculer de MAP (Legacy) à MAP en [activant le module MAP](./map-web-install.md#étape-3--activer-le-module-map). + +- Si vous souhaitez installer MAP sur le même serveur que MAP (Legacy), assurez-vous que l'espace disque disponible est au moins égal à l'espace utilisé. En effet, après la migration, la nouvelle base de données coexistera avec l'ancienne (du Legacy). + +## Importer les cartes Legacy dans MAP + +> Toute migration de MAP Legacy à MAP est définitive : importer vos cartes depuis MAP Legacy vers MAP doit être fait une seule fois. N'utilisez plus MAP Legacy une fois que vous avez migré vos cartes legacy vers MAP. Si vous migrez vos cartes de MAP Legacy à MAP plus d'une fois, tout contenu créé dans MAP entre-temps sera supprimé, sans possibilité de récupération. + +### Étape 1 : installer MAP + +Vous devez d'abord installer Centreon MAP. Allez à cette [page](map-web-install.md) pour procéder à l'installation et basculer sur le serveur MAP Engine. + +### Étape 2 : mettre à jour MAP (Legacy) + +Pour que les icônes s'affichent correctement après avoir migré vos cartes, vous devez mettre à jour votre MAP (legacy) en exécutant les commandes suivantes : + +```shell +systemctl stop centreon-map +yum update centreon-map-server +systemctl daemon-reload +systemctl start centreon-map +``` + +### Étape 3 : migrer les cartes + +1. Si vous avez des images personnalisées dans vos anciennes cartes, vous devez créer un répertoire dédié (**/usr/share/centreon/www/img/media/**) sur le serveur MAP Legacy : + + ```shell + mkdir -p /usr/share/centreon/www/img/media/ + chown -R centreon-map:centreon-map /usr/share/centreon/ + chmod -R 775 /usr/share/centreon/* + ``` + +2. Pour importer vos anciennes cartes dans MAP, allez sur la page **Supervision > Map**, puis cliquez sur le bouton **Migrer**. La fenêtre suivante apparaît : + +3. Cliquez sur **Migrer**. + +4. Lorsque la migration a réussi, vous pouvez fermer la fenêtre. + +5. Si vous avez créé un répertoire dédié comme indiqué précédemment, vous devez maintenant le copier dans **/usr/share/centreon/www/img/media/** sur le serveur central. En supposant que vous ayez les droits d'accès aux serveurs concernés, entrez la commande suivante : + + ```shell + scp -r /usr/share/centreon/www/img/media/* root@:/usr/share/centreon/www/img/media/ + ``` + +Vos anciennes cartes sont maintenant affichées dans la page **Map**. + +## À propos des images + +Le processus de migration a permis de migrer les images de MAP Legacy vers Centreon MAP. L'exemple suivant explique comment le nom du fichier image est défini après la migration : + +- Dans MAP Legacy, votre image était placée dans le panneau **Médias** dans le format suivant : + + ```shell + pays > france > hardware > hardware_green.png + ``` + +- Après la migration, cette image sera placée dans Centreon dans **Administration > Paramètres > Images**, dans le format suivant : + + ```shell + pays_france_hardware > hardware_green.png + ``` + +## Après avoir migré de MAP Legacy à MAP dans Centreon 24.10 + +Une fois la migration vers MAP effectuée, vous devez [désinstaller MAP Legacy de votre plateforme Centreon 24.10](map-legacy-eol.md#how-to-fully-uninstall-map-legacy). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/introduction-map.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/introduction-map.md new file mode 100644 index 000000000000..5ee274ad099c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/introduction-map.md @@ -0,0 +1,43 @@ +--- +id: introduction-map +title: Introduction à Centreon MAP +--- + +Centreon MAP est une solution intégralement disponible dans l'interface web Centreon tout en vous proposant la meilleure expérience possible pour créer, visualiser et partager des représentations graphiques de votre infrastructure supervisée. + +> **À partir de Centreon 24.10, MAP Legacy n'est plus disponible.** Que vous utilisiez encore MAP Legacy ou non, consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/fr/docs/graph-views/map-legacy-eol/). + +> Vous pouvez consulter la procédure de gestion des vues à l'aide de l'API REST de Centreon MAP [ici](https://docs-api.centreon.com/api/centreon-map/24.10/). + +## Aperçu de l'interface + +Créez, personnalisez et visualisez vos cartes au sein d'une unique interface web. + +Vous devez d'abord créer vos vues logiques à l'aide de l'éditeur MAP : + +![image](../assets/graph-views/ng/map-web-editor-view.png) + +Vous pouvez ensuite visualiser votre carte directement dans le mode de visualisation : + +![image](../assets/graph-views/ng/map-web-global-view.png) + +Vos cartes peuvent être affichées de deux façons dans l'interface : +- Dans la page **Supervision > Map**, en mode visualisation. +- Dans la page **Accueil > Vues personnalisées**, en utilisant un [widget](../alerts-notifications/custom-views.md) MAP dédié. + +## Procédures + +Les procédures suivantes permettent de gérer et d'utiliser Centreon MAP. + +### Gérer MAP + - [Installer MAP](map-web-install.md) décrit les prérequis et les procédures d'installation de MAP. + - [Installer MAP sur un serveur distant](map-web-install-remote.md) explique comment installer MAP sur un serveur distant. + - [Mettre à jour MAP](map-web-update.md) décrit la procédure de mise à jour de MAP. + - [Gérer les droits d'accès dans MAP](map-web-manage.md) décrit les différents droits et permissions sur les cartes. + - [Problèmes connus dans MAP](map-web-known-issues.md) est une liste d'incidents que vous pouvez rencontrer en utilisant MAP. + - [Dépannage de MAP](map-web-troubleshooting.md) vous aide à résoudre certains incidents survenant dans MAP. + +### Utiliser MAP + - [Gérer les cartes dans MAP](map-web-manage.md) vous donne des informations sur la manière de gérer des cartes à partir de l'interface Centreon MAP. + - [Créer une carte standard](map-web-create-standard-map.md) décrit comment créer des cartes standard et comment les personnaliser à l'aide de l'éditeur MAP. + - [Créer une vue géographique](map-web-create-geoview.md) explique comment afficher vos ressources dans une zone géographique définie. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-legacy-eol.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-legacy-eol.md new file mode 100644 index 000000000000..49a9e75b2411 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-legacy-eol.md @@ -0,0 +1,105 @@ +--- +id: map-legacy-eol +title: Fin de vie de MAP Legacy +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> **MAP Legacy n'est plus disponible. À partir de la version 24.10,vous devez utiliser MAP.** + +Cette page décrit quoi faire : + +- si vous utilisiez toujours MAP Legacy et que vous souhaitez monter de version vers Centreon 24.10 sans perdre de données. +- si vous utilisiez toujours MAP Legacy et que vous êtes déjà montés de version vers Centreon 24.10, et que vous souhaitez passer à MAP sans perdre de données. +- si vous aviez déjà migré de MAP Legacy à MAP dans une version précédente (dans ce cas les fichiers MAP Legacy doivent être supprimés). + +Si vous utilisiez toujours MAP Legacy, il est probable que vous n'ayez jamais installé MAP par le passé. Pour savoir si MAP est installé sur votre palteforme, exécutez la commande suivante : + +```shell +rpm -q centreon-map-engine +``` + +Si vous aviez utilisé MAP par le passé, puis êtes retournés à MAP Legacy, sachez que migrer de MAP Legacy à MAP supprimera tout contenu créé dans MAP lorsque vous l'aviez utilisé à l'époque.. + +## J'utilisais toujours MAP Legacy et je n'ai pas encore monté de version vers la 24.10 + +* Faites une sauvegarde de vos données MAP legacy : sauvegardez tous les fichiers présents dans **/etc/centreon-studio** et faites un dump de la base de données MAP. +* [Montez de version votre plateforme Centreon en 24.10](../../upgrade/introduction). +* Si vous ne l'aviez jamais installé par le passé, [installez MAP](map-web-install.md). Si vous l'aviez déjà installé, [montez-le de version vers la 24.10](map-web-upgrade.md). +* [Montez MAP legacy de version vers la 24.10](upgrading-map-legacy.md). +* [Migrez de MAP Legacy à MAP](import-into-map-web.md) dans votre version actuelle. Cela inclut d'activer le nouveau module MAP et d'importer vos cartes legacy dans MAP. +* [Désinstallez MAP Legacy de votre plateforme Centreon](#how-to-fully-uninstall-map-legacy). + +## J'utilisais toujours MAP Legacy et j'ai déjà monté de version ma platefrome et MAP Legacy et MAP vers la 24.10 + +* Faites une sauvegarde de vos données MAP legacy : sauvegardez tous les fichiers présents dans **/etc/centreon-studio** et faites un dump de la base de données MAP. +* [Migrez de MAP Legacy à MAP](import-into-map-web.md) dans votre version actuelle. Cela inclut d'activer le nouveau module MAP et d'importer vos cartes legacy dans MAP. +* [Désinstallez MAP Legacy de votre plateforme Centreon](#how-to-fully-uninstall-map-legacy). + +## Je n'utilisais plus MAP Legacy mais il est toujours installé sur ma plateforme + +Si vous aviez déjà migré vers MAP dans une version précédente de Centreon et que vous n'utilisiez plus MAP Legacy, [désinstallez MAP Legacy de votre plateforme Centreon 24.10](#how-to-fully-uninstall-map-legacy). En effet, certains fichiers legacy sont toujours présents et doivent être supprimés afin d'éviter tout problème lors d'une future montée de version. + +## Comment désinstaller complètement MAP Legacy + +> Il est obligatoire de désinstaller MAP Legacy de votre plateforme Centreon 24.10 afin d'éviter tout problème lors d'une future montée de version. + +### Supprimer les paquets Legacy + +Supprimez le paquet **centreon-map-server** du serveur sur lequel MAP Legacy était installé : + + + + +```shell +dnf remove centreon-map-server +``` + + + + +```shell +dnf remove centreon-map-server +``` + + + + +```shell +apt remove centreon-map-server +``` + + + + +### Procédures optionnelles + +> Ces procédures de nettoyage vous permettront de travailler dans un environnement optimal. Assurez-vous de faire une sauvegarde de vos données. + +- Supprimez les fichiers de logs Legacy. (Si vous ne savez pas où les trouver, vérifiez le chemin d'accès dans ce fichier `/etc/centreon-studio/map-log.xml`. Le chemin par défaut est `/var/log/centreon-map/centreon-map.log`.) + + ```shell + rm /var/log/centreon-map/centreon-map.log + ``` + +- Supprimez les fichiers de configuration du serveur sur lequel MAP Legacy était installé : + + ```shell + rm -rf /etc/centreon-studio + ``` + +- Supprimez la base de données qui était utilisée par MAP Legacy : + + - Récupérez les informations pour vous connecter à la base de données dans ce fichier `/etc/centreon-studio/studio-database.properties`. + + - Entrez cette commande pour supprimer la base de données : + + ```shell + mysql --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password $DB_NAME "DROP DATABASE centreon_studio;" + ``` + +- Si vous avez réutilisé votre serveur MAP legacy pour installer MAP, supprimez les images stockées sur le serveur pendant la migration vers MAP: + +```shell +rm -fr /usr/share/centreon/www/img/media/ +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-access.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-access.md new file mode 100644 index 000000000000..4b9a9795dd25 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-access.md @@ -0,0 +1,80 @@ +--- +id: map-web-access +title: Gérer les droits d'accès dans MAP +--- + +Cette page explique comment les utilisateurs accédent aux cartes en fonction de privilèges bien définis. + +Les utilisateurs pouvant créer des cartes sont : + +- Les administrateurs Centreon. +- Les utilisateurs appartenant à un groupe d'accès auquel le rôle de créateur est attribué. + +Les droits d'accès à une carte - également appelés privilèges - ne sont pas gérés au niveau de l'utilisateur, mais par le biais de groupes d'accès. Vous pouvez accéder à une carte parce que vous appartenez à un groupe d'accès qui dispose de privilèges pour accéder à cette carte. Les privilèges vous permettent d'effectuer certaines actions spécifiques sur les cartes. + +## Rôle de créateur de cartes + +### Vérifier le statut de créateur + +Suivez cette procédure pour vérifier si vous êtes autorisé à créer une carte. + +1. Allez dans **Supervision > Map**. + +2. Dans la page **Map**, le bouton **Add a Map** signifie que vous êtes autorisé à créer une carte. Cela signifie que vous appartenez à un groupe d'accès auquel le rôle de créateur est attribué. + +### Attribuer le rôle de créateur + +Seuls les administrateurs Centreon peuvent créer des cartes et autoriser les utilisateurs à créer des cartes. + +Suivez cette procédure pour permettre aux utilisateurs de créer des cartes en leur attribuant des droits sur le groupe d'accès auquel ils appartiennent. + +1. En tant qu'administrateur, allez dans **Supervision > Map**. + +2. Cliquez sur **Edit creators**. +Une liste des groupes existants s'affiche. + +3. Sélectionnez le(s) groupe(s) d'accès que vous souhaitez. + +4. Cliquez sur **Sauvegarder** pour confirmer. +Les utilisateurs appartenant au groupe d'accès sélectionné sont maintenant autorisés à créer des cartes. + +## Privilèges sur une carte + +Assurez-vous que les utilisateurs sont bien regroupés en groupes d'accès. Cela facilitera l'attribution de privilèges en fonction de ces groupes. + +### Gérer les utilisateurs dans les groupes d'accès + +Les utilisateurs doivent appartenir au bon groupe pour avoir accès à des cartes spécifiques. Voir la procédure [Créer un groupe d'accès](../administration/access-control-lists.md#créer-un-groupe-daccès). + +### Accorder des privilèges sur une carte + +Les privilèges sont accordés lorsque vous effectuez l'action de partager une carte. Au niveau de la carte, vous pouvez spécifier quel groupe d'accès est autorisé à accéder à cette carte, ainsi que des privilèges spécifiques. + +Suivez cette procédure pour accorder des privilèges à l'aide de la fonctionnalité de partage : + +1. Allez dans **Supervision > Map**. +La page **Map** s'affiche avec la liste des cartes disponibles. + +2. Cliquez sur le bouton de **partage** correspondant à la carte que vous souhaitez partager. +La liste des groupes d'accès disponibles s'affiche. + +3. Pour le groupe d'accès souhaité, sélectionnez le privilège à accorder dans la liste déroulante. + +4. Cliquez **Sauvegarder** pour confirmer. +Si un utilisateur appartient à plusieurs groupes d'accès, le privilège ayant le plus de permissions sera appliqué. + +Ce tableau décrit les types de privilèges et les permissions associées : + +| | Aucun privilège | Accès en lecture | Accès en écriture | Propriétaire | +|------------|------|--------|--------|-------| +| Peut consulter | | x | x | x | +| Peut éditer | | | x | x | +| Peut partager | | | | x | +| Peut supprimer | | | | x | + +- Lorsque vous créez une carte, vous et les utilisateurs de votre groupe d'accès disposez des privilèges en tant que propriétaire de cette carte. +- Les administrateurs Centreon sont des créateurs et disposent des privilèges de propriétaire sur toutes les cartes. +- Les utilisateurs disposant de privilèges de propriétaire peuvent également définir ou modifier les propriétés de la carte (nom et icône). +- Le partage d'une carte permet au destinataire d'acquérir des privilèges sur cette carte. + +Le contrôle d'accès aux cartes n'est appliqué qu'au niveau de la carte. Lorsque vous disposez du privilège « Viewer », vous pouvez visualiser une carte et toutes les ressources qu'elle contient, même si vous ne disposez pas de la liste de contrôle d'accès (ACL en Anglais) correspondante. Lorsque vous modifiez une carte, vous ne pouvez ajouter des ressources que si vous disposez de l'ACL correspondante. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced-configuration.md new file mode 100644 index 000000000000..a13251108213 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced-configuration.md @@ -0,0 +1,175 @@ +--- +id: map-web-advanced-configuration +title: Configuration avancée dans MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit les procédures avancées de configuration de votre système Centreon MAP. + +## Superviser votre serveur Centreon MAP après installation + +Centreon fournit un [connecteur de supervision et un plugin](/pp/integrations/plugin-packs/procedures/applications-monitoring-centreon-map-engine-actuator) pour superviser votre serveur Centreon MAP. + +### Configurer vos services + +Accédez à votre interface web Centreon. Allez à la page **Configuration > Hôtes > Hôtes**, puis cliquez sur **Ajouter**. + +Remplissez les informations de base sur votre hôte et ajoutez les modèles d'hôte suivants : + +- OS-Linux-SNMP-custom +- App-Jvm-actuator-custom + +![image](../assets/graph-views/jvm1.png) +![image](../assets/graph-views/jvm2.png) + +Pour superviser la JVM centreon-map, veuillez utiliser les valeurs de macro suivantes : + +| Nom | Valeur | +| :---------------------- | :---------------------------------------- | +| ACTUATORCUSTOMMODE | ```centreonmap``` | +| ACTUATORAPIURLPATH | ```/centreon-map/api/beta``` | +| ACTUATORAPIUSERNAME | Le nom d'utilisateur Api doit être défini | +| ACTUATORAPIPASSWORD | Le mot de passe Api doit être défini | + +> N'oubliez pas de cocher la case "Créer aussi les services liés aux modèles". + +Vous pouvez maintenant exporter votre configuration, et votre serveur Centreon MAP sera supervisé. + +![image](../assets/graph-views/jvm3.png) + +Vous pouvez également vérifier l'URL suivante, qui indique si le serveur est opérationnel ou non : + + + + +```shell +http://:8080/centreon-map/api/beta/actuator/health. +``` + + + + +```shell +https://:8443/centreon-map/api/beta/actuator/health. +``` + + + + +### Sauvegarder le serveur Centreon MAP + +### Éléments sauvegardés + +Les éléments sauvegardés sont : + +- Les fichiers de configuration (**/etc/centreon-map**). +- La base de données (**centreon\_map**) + +### Comment ça marche ? + +Le script de sauvegarde est exécuté quotidiennement (à 2 heures du matin) avec une tâche cron située dans **/etc/cron.d/centreon-map-server-backup** : + +```text +# +# Cron to backup Centreon MAP server +# +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# rewrite file with new cron line +CRONTAB_EXEC_USER="" + +0 2 * * * root bash /usr/share/centreon-map-server/bin/centreon-map-server-backup.sh >> /var/log/centreon-map/backup.log 2>&1 +``` + +La sauvegarde **centreon-map-server-yyyy-mm-dd.tar.gz** est stockée dans **BACKUP\_DIR**; ce répertoire est défini dans le fichier de configuration. + +### Paramètres de sauvegarde + +Les paramètres de sauvegarde sont enregistrés dans **/etc/centreon-map/backup.conf**. + +- ENABLE : activer/désactiver le mécanisme de sauvegarde (valeur par défaut : 0) +- BACKUP\_DIR : emplacement où la sauvegarde est stockée (valeur par défaut : **/var/backup**) +- RETENTION\_AGE : rétention de la sauvegarde en jours (valeur par défaut : 8) + +> Nous conseillons d'exporter les sauvegardes vers un autre serveur que votre serveur Centreon afin de les sécuriser. + +### Restaurer les données du serveur Centreon MAP + +Le processus de restauration est divisé en plusieurs étapes : + +- Extraction de la sauvegarde +- Restauration des fichiers de configuration +- Restauration de la base de données + +> Nous supposons que vous avez suivi la procédure d'installation du serveur Centreon MAP pour obtenir une nouvelle installation. + +### Extraire la sauvegarde + +Récupérez la dernière sauvegarde **centreon-map-server-yyyy-mm-dd.tar.gz** et extrayez-la dans le répertoire **/tmp** : + +```shell +cd /tmp +tar xzf centreon-map-server-yyyy-mm-dd.tar.gz +``` + +### Restaurer les fichiers de configuration + +Pour restaurer les fichiers de configuration, exécutez la commande suivante : + +```shell +cp -R etc/centreon-map/* /etc/centreon-map/ +``` + +### Restaurer la base de données + +Pour restaurer la base de données **centreon\_map**, exécutez la commande suivante : + +```shell +systemctl stop centreon-map +mysql -h -u -p < centreon-map-server.dump +systemctl start centreon-map +``` + +## Changer le port du serveur Centreon MAP + +> Des erreurs de modification de fichiers de configuration peuvent entraîner des dysfonctionnements du logiciel. Nous vous recommandons de faire une sauvegarde du fichier avant de le modifier et de ne changer que les paramètres conseillés par Centreon. + +Par défaut, le serveur Centreon MAP écoute et envoie des informations via le port 8080. +Si vous avez configuré le SSL (voir [Configuration HTTPS/TLS](secure-your-map-platform.md#configure-httpstls-on-the-web-server)), utilisez le port 8443. + +Vous pouvez modifier ce port (par exemple, si un pare-feu sur votre réseau le bloque). + +Sur votre serveur Centreon MAP, arrêtez le service centreon-map : + +```shell +systemctl stop centreon-map +``` + +Modifiez le fichier de paramètres **map-config.properties** situé dans **/etc/centreon-map** : + +```shell +vi /etc/centreon-map/map-config.properties +``` + +Ajoutez la ligne suivante à la section MAP SERVER : + +```text +centreon-map.port=XXXX +``` + +> Remplacez *XXXX* par le port que vous souhaitez. + +Redémarrez ensuite le serveur MAP de Centreon : + +```shell +systemctl start centreon-map +``` + +Attendez que le service Centreon MAP ait fini de démarrer (~30 secondes à une minute). + +Vérifiez que votre serveur est opérationnel et accessible sur le nouveau port que vous avez défini, en entrant l'URL suivante dans votre navigateur web : + +```shell +http://:/centreon-map/api/beta/actuator/health +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced.md new file mode 100644 index 000000000000..78a0d26f4f0a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-advanced.md @@ -0,0 +1,35 @@ +--- +id: map-web-advanced +title: Paramètres avancés dans MAP +--- + +## Définir les paramètres de calcul du statut + +Le serveur Centreon MAP vous offre la possibilité de personnaliser la façon dont le statut hérité est calculé et rendu dans les vues. +Vous pouvez utiliser les paramètres suivants pour adapter le comportement du calcul du statut hérité à votre cas d'utilisation. + +### Qu'est-ce qu'un statut hérité ? + +Un statut hérité est un statut personnalisé de Centreon MAP associé à certains objets, et qui est basé sur le pire statut de ses enfants. Voici les règles : + +- Un hôte a deux statuts : son propre statut (disponible/indisponible/en attente) et un statut hérité qui est basé sur le pire statut de ses services. Pour simplifier la lecture, le statut affiché est le résultat du calcul du pire statut des deux. +- Un groupe d'hôtes n'a qu'un statut hérité correspondant au pire statut de ses enfants (hôtes, services). +- Un groupe de services n'a qu'un statut hérité : le pire statut de ses enfants (services). +- Un conteneur n'a qu'un statut hérité : le pire statut de ses enfants (hôtes, services, méta-services, groupes d'hôtes, groupes de services, BA, widgets). + +### Paramètres de calcul du statut + +| Paramètre | Valeur possible | Valeur par défaut | Description | +| ----------------------------------- | --------------- | ----------------- | ----------------------------------------------------------------------------------------------------------- | +| resource.status.use-hard | true or false | false | Utiliser uniquement la valeur du statut HARD pour la propagation du statut hérité. Si le paramètre est à TRUE, les changements de statut SOFT ne sont pas pris en compte dans le calcul. Si le paramètre est à FALSE (valeur par défaut), les statuts SOFT et HARD sont pris en compte. Voir plus d'infos sur les [types de statut](../alerts-notifications/concepts.md#types-de-statuts). | +|resource.status.ignore-on-downtime | true or false | false | Ne pas propager l'état des ressources en maintenance. Si le paramètre est à TRUE, le statut n'est pas pris en compte dans le calcul du statut hérité. | +| resource.status.ignore-on-acknowledgement | true or false | false | Ne pas propager l'état des ressources acquittées. Si le paramètre est à TRUE, le statut n'est pas pris en compte dans le calcul du statut hérité. | +| resource.status.ignore-above-severity | integer | max value | Ne pas propager l'état des ressources dont la sévérité est strictement supérieure à cette valeur. Plus le numéro de la sévérité est bas, plus la ressource est critique. Par exemple, si ce paramètre est positionné à 1, seules les ressources avec une sévérité égale à 0 ou 1 seront prises en compte. Les sévérités dans Centreon prennent leur valeur entre 0 et 127*. | + +*Les ressources qui n'ont pas de sévérité configurée, sont considérées comme ayant une sévérité maximale. Ceci implique que si ce paramètre est positionné, quelle que soit sa valeur, les ressources n'ayant pas de sévérité dans Centreon ne seront jamais prises en compte dans les calculs des statuts hérités. + +### Modifier les paramètres + +- Vous pouvez configurer ces paramètres dans le fichier **/etc/centreon-map/map-config.properties**. + +- Si vous ajoutez, supprimez ou mettez à jour un paramètre, veillez à redémarrer **centreon-map-engine**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-geoview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-geoview.md new file mode 100644 index 000000000000..c38abb1f3976 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-geoview.md @@ -0,0 +1,72 @@ +--- +id: map-web-create-geoview +title: Créer une vue géographique +--- + +Cette page explique comment créer des vues géographiques à partir de l'interface Centreon MAP. + +L'affichage du bouton **Ajouter une vue géographique** signifie que vous êtes autorisé à créer une carte et que vous appartenez à un groupe d'accès auquel est attribué le rôle de créateur. + +- Cartes standard : pour visualiser des représentations graphiques de votre infrastructure supervisée. +- Vues géographiques : pour afficher les ressources de votre infrastructure sur une zone géographique définie. + +> Les options disponibles dans l'interface MAP dépendent des permissions qui vous ont été attribuées par votre administrateur. Voir la page [Gérer les droits d'accès dans MAP](map-web-access.md) pour plus d'informations sur les privilèges et permissions. + +L'affichage du bouton **Ajouter une carte** signifie que vous êtes autorisé à créer une carte et que vous appartenez à un groupe d'accès auquel est attribué le rôle de créateur. + +## Prérequis + +Afin d'appliquer les coordonnées géographiques lors de la configuration d'une nouvelle vue géographique, il est nécessaire de les fournir dans l'onglet **Informations détaillées** correspondant à la ressource que vous voulez superviser (un hôte, un groupe d'hôtes ou une activité). + +Par exemple, pour renseigner les coordonnées géographiques de l'hôte **Central** : + +1. Allez dans **Configuration > Hôtes > Hôtes**. Puis cliquez sur l'hôte **Central**. +2. Cliquez sur l'onglet **Informations détaillées de l'hôte**. +3. Remplissez le champ **Coordonnées géographiques** avec le format `Latitude, Longitude`. Cliquez ensuite sur **Sauvegarder**. + +## Créer une vue géographique + +1. Dans la page **Supervision > Map**, cliquez sur le bouton **Ajouter une vue géographique** situé dans la section **Vues géographiques**. + +2. Définissez les propriétés de la nouvelle vue géographique : + - Nom : nommez la vue géographique. + +3. Cliquez sur **Ajouter** pour confirmer la création de la vue. +La nouvelle vue s'affiche dans la liste des **Vues géographiques**. + +4. Cliquez sur la vue pour l'ouvrir, puis sur le bouton **Éditer** pour compléter les paramètres. + +5. Cliquez sur **Éditer** pour confirmer les paramètres. + +## Informations complémentaires + +### Comment les ressources sont affichées + +Lorsqu'une ressource (hôte, groupe d'hôtes ou activité métier) est positionnée sur une vue géographique, elle est affichée sous la forme d'un cercle dont la couleur est définie par les règles suivantes : + +- **Hôte :** état le plus défavorable entre l'hôte et ses services. +- **Groupe d'hôtes :** état le plus défavorable des hôtes appartenant aux groupes d'hôtes. +- **Activité métier :** état actuel. + +Ordre des pires états : Critique (rouge) \> Indisponible (rouge) \> Alerte (orange) \> +Inconnu (gris) \> Injoignable (gris) \> OK (vert) \> Disponible (vert) \> En attente (bleu) + +### Regroupement + +Lorsque plusieurs ressources sont géographiquement proches et que vous êtes à un "certain" niveau de zoom, elles sont regroupées en un seul cercle en affichant deux éléments : + +- L'état de l'objet le plus mauvais (affiché via une couleur, soit le vert, l'orange, le rouge ou le gris). +- Le nombre de ressources dans cet état. + +Ce comportement peut être désactivé dans les options globales de Centreon MAP, en définissant l'option **Mode de regroupement** sur **Non**. + +### Ressources clignotantes + +Si une ressource est dans un état "non-ok", elle clignote. +Ce comportement peut être désactivé dans les options globales de Centreon MAP, en définissant l'option **Marqueurs clignotants** sur **Non**. + +### Couches de données dans les vues géographiques + +Centreon MAP vous donne la possibilité d'afficher des couches de données supplémentaires sur les cartes afin d'ajouter un contexte à l'état de votre infrastructure informatique en temps réel. + +Vous devez d'abord ajouter des couches de données dans les options de Centreon MAP, dans la section **Services de couches de données géographiques**. Puis, si la couche de données est activée, vous pouvez la rendre visible ou non en la cochant à l'aide de l'icône en haut à gauche. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-standard-map.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-standard-map.md new file mode 100644 index 000000000000..14ee56cbd819 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-create-standard-map.md @@ -0,0 +1,127 @@ +--- +id: map-web-create-standard-map +title: Créer une carte standard +--- + +Cette page décrit comment créer des cartes standards et comment les personnaliser avec l'éditeur de MAP. + +L'affichage du bouton **Ajouter une carte** signifie que vous êtes autorisé à créer une carte et que vous appartenez à un groupe d'accès auquel est attribué le rôle de créateur. + +## Créer une map standard + +1. Dans la page **Supervision > Map**, cliquez sur le bouton **Ajouter une carte** situé dans la section **Cartes standard**. + +2. Définissez les propriétés de la nouvelle carte : + - Nom : nommez la carte. + - Image : sélectionnez une image si vous souhaitez personnaliser l'affichage de la carte dans la liste des cartes. + +3. Cliquez sur **Ajouter** pour confirmer la création de la carte. + +La nouvelle carte s'ouvre directement dans l'interface de l'éditeur. + +## Créer une carte à partir d'un conteneur existant + +Vous pouvez créer une vue directement à partir d'un [conteneur](#conteneur). Cela est très pratique lorsque vous souhaitez partager le sous-niveau d'une vue avec un autre utilisateur sans dupliquer son contenu ou sans donner un accès complet à la vue principale. + +1. Faites un clic-droit sur le conteneur et cliquez sur **Créer une carte à partir d'un conteneur**. +2. Nommez le conteneur. +3. Cliquez sur **Ajouter**. + +Votre carte a été créée. Vous pouvez la retrouver sur la page d'accueil MAP. + +> Vous pouvez maintenant personnaliser votre carte en utilisant les fonctionnalités de l'éditeur MAP. + +## Utiliser l'éditeur MAP + +Suivez cette procédure pour ouvrir votre carte en mode édition : + +1. Allez dans **Supervision > Map** pour afficher la liste des cartes existantes. +2. Sélectionnez la carte que vous souhaitez modifier. +3. Cliquez sur le bouton **Éditer** pour l'ouvrir en mode édition. + +> Une fois éditée, passez en mode visualisation en enregistrant vos modifications avec le bouton **Enregistrer**. Cliquez ensuite sur **Quitter**. + +### Aperçu de l'éditeur MAP + +Voici comment se présente l'éditeur MAP : + +![image](../assets/graph-views/ng/map-web-editor-description.png) + +**1. Fil d'Ariane :** vous permet de savoir quels éléments de la carte vous avez parcourus pour atteindre la vue courante. +**2. Barre d'outils :** permet de masquer/afficher des panneaux, annuler/répéter des actions, et d'adapter/zoomer/dézoomer l'espace de travail. +**3. Adresse IP :** il s'agit de l'adresse du serveur MAP spécifiée dans les paramètres de Centreon MAP. +**4. Panneau Formes :** ce panneau présente tous les éléments dont vous avez besoin pour concevoir une carte, des formes basiques aux ressources Centreon. +**5. Panneau Format :** ce panneau vous permet d'appliquer un format sur un élément sélectionné. +**6. Espace de travail :** c'est l'espace situé au milieu de l'éditeur, pour concevoir votre diagramme. +**7. Onglet :** vous pouvez naviguer entre plusieurs onglets lorsque votre carte nécessite plusieurs niveaux (pages). Par exemple, lorsque votre carte comporte plusieurs conteneurs, vous pouvez naviguer entre les onglets, où chaque onglet correspond à un conteneur. + +### Utiliser des éléments graphiques pour concevoir votre carte + +Le panneau **Formes** contient différents types d'éléments pour concevoir votre carte. Les options s'affichent en fonction du type d'élément que vous avez sélectionné. + +#### Éléments de base + +Utilisez les formes de la section **Basiques** pour organiser vos éléments avec des formes géométriques et des zones de texte. Utilisez ensuite le panneau **Format** pour personnaliser votre forme en appliquant un format de style tel que la couleur, l'opacité, etc. + +#### Éléments de widget + +Utilisez les éléments **Widget** pour afficher des données graphiques sur les ressources que vous supervisez. Les widgets fournissent des informations telles que des indications sur l'état de santé ou des statistiques de performance. Les widgets disponibles sont les suivants : + +- **Graphique à camembert :** affiche l'état d'une ressource à superviser sous forme de données proportionnelles. Il affiche : + - Pour un hôte : le nombre d'états OK, Alerte, Critique, et NA. + - Pour un groupe d'hôtes : le nombre d'hôtes en états OK, Alerte, Critique, et NA. +- **Graphique linéaire :** affiche les données de performance relatives à un service, sur une période de temps. +- **Jauge :** décrit la sortie d'un service. Vous pouvez placer une jauge dans n'importe quelle direction (de gauche à droite, de bas en haut, etc.). +- **Output :** décrit la sortie d'un service. La couleur d'arrière-plan est la même que le statut. +- **Processus :** permet de déclencher une action sur n'importe quelle ressource à l'aide d'une commande. Voici un exemple : + - Vous avez un site internet interne qui utilise Apache et parfois, Apache se bloque. Vous avez besoin d'investiguer sur la raison principale de ce crash, mais votre priorité est de vous assurer que les utilisateurs finaux peuvent accéder au site internet. + - Vous pouvez utiliser le widget Processus en attribuant une commande telle que `services httpd restart` de sorte que lorsque le processus Apache se bloque, les utilisateurs peuvent immédiatement redémarrer le service Apache à partir de la vue en double-cliquant sur le widget. + - Pour créer un service dédié à une "action" : créez une commande (dans **Configuration > Commande > Contrôles > Ajouter**) qui contient `services httpd restart` (n'oubliez pas d'activer le shell). Liez la commande à un service passif. Reliez le service passif à un hôte (par exemple, l'hôte qui héberge le site internet). Vous pouvez ensuite affecter ce service au widget. + +#### Éléments médias + +Utilisez les éléments de la section **Médias** pour ajouter : +- Une **URL** : vous permet d'ajouter un accès à un lien spécifié. +- Une **Image** : vous permet de personnaliser votre diagramme en ajoutant des images. + +1. Faites un glisser-déposer de l'élément vers l'espace de travail. +2. Faites un clic-droit dessus et sélectionnez **Modifier les paramètres...**. +3. Remplissez le paramètre requis et cliquez sur **Soumettre**. + +#### Eléments de lien + +Utilisez les éléments de la section **Liens** pour établir des liens entre les éléments (avec des points d'ancrage) : +- **Link :** est un élément de lien simple de type flèche pour connecter deux éléments. +- **Status link :** utilisez ce lien entre deux éléments et configurez une ressource à superviser à partir de celui-ci. Ensuite, ce lien affichera l'état de la couleur de la ressource que vous avez spécifiée. +- **Metric link :** utilisez ce lien entre deux éléments et configurez un service et ses métriques à partir de celui-ci. Ensuite, ce lien affichera les métriques du service que vous avez spécifié. + +#### Eléments Centreon + +- Eléments de la section **Ressources Centreon** : + - Host group + - Host + - Service + - Service group + - Meta service + +- Elément de la section **Centreon MAP** : + - ### Conteneur + Utilisez des conteneurs lorsque vous souhaitez créer plusieurs niveaux de votre carte. Chaque niveau est représenté par un conteneur. + - En mode vue, chaque conteneur devient une carte avec son propre statut. + - En mode éditeur, chaque niveau devient un onglet. Vous pouvez alors naviguer entre les conteneurs à l'aide des différents onglets. + +- Eléments de la section **Centreon BAM** : + - Business activity + +Les paramètres s'affichent en fonction du type d'élément que vous avez sélectionné. + +1. Faites un glisser-déposer de l'élément vers l'espace de travail. +2. Faites un clic-droit dessus et sélectionnez **Modifier les paramètres...**. +3. Remplissez le paramètre requis et cliquez sur **Soumettre**. + +#### Personnaliser les éléments + +Le panneau **Format** vous permet d'appliquer des options de formatage en fonction du type d'élément que vous avez sélectionné. +- Onglet **Style** : pour personnaliser les formes, les liens et le texte. +- Onglet **Texte** : pour mettre en forme tous les éléments de texte. +- Onglet **Organiser** : pour organiser les éléments dans l'espace de travail (taille, position, alignement) et les placer sur différents calques. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install-remote.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install-remote.md new file mode 100644 index 000000000000..45af25f2b444 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install-remote.md @@ -0,0 +1,48 @@ +--- +id: map-web-install-remote +title: Installer MAP sur un serveur distant +--- + +## Installation de Centreon MAP sur un serveur distant + +L'installation de l'extension Centreon MAP sur un serveur distant Centreon doit se faire exactement comme l'installation sur un serveur central, seules la configuration et la désinstallation sont différentes. + +Si votre serveur distant Centreon n'a pas encore été installé, veuillez vous référer à la [documentation](../installation/installation-of-a-remote-server/using-packages.md) suivante. + +Reportez-vous ensuite à la [procédure d'installation](map-web-install.md) pour installer les 2 composants principaux : + +- L'interface web +- Le serveur + +Après cela, vous devrez effectuer des étapes supplémentaires, expliquées ci-dessous, pour terminer l'installation de Centreon MAP pour votre serveur distant Centreon. + +## Architecture + +Le schéma ci-dessous décrit l'architecture de MAP avec un serveur distant : + +![image](../assets/graph-views/ng/map-web-remote-server-schema.png) + +## Synchronisation des images + +Ajoutez l'accès à la page de synchronisation des images **Administration > Paramètres > Images** : + +```shell +[root@remote ~]# mysql centreon +MariaDB [centreon]> update topology SET topology_show='1' where topology_name='Images' ; +``` + +## Configuration de Centreon Broker + +Pour pouvoir afficher les statuts en temps réel, **Centreon MAP** nécessite de recevoir ces données en provenance du Broker du serveur distant Centreon. + +Pour ce faire, vous devez vous connecter au serveur central et modifier la configuration de Centreon Broker Master du serveur distant Centreon. Allez dans le menu **Configuration > Collecteurs > Configuration de Centreon Broker** et modifiez la configuration du **serveur distant**. + +Dans l'onglet **Output**, créez une nouvelle sortie avec les paramètres suivants : + +![image](../assets/graph-views/output_broker.png) + +Pour finir l'installation, générez et déployez la configuration du serveur distant Centreon en sélectionnant le mode **Redémarrer**. + +## Désinstallation de Centreon MAP + +Sur un serveur distant, vous pouvez désinstaller le module Centreon MAP de la même manière que sur le serveur central Centreon. Toutes les configurations de Centreon Broker pour le serveur distant Centreon liées au module Centreon MAP doivent être supprimées manuellement. Consultez la section [Configuration de Centreon Broker](#configuration-de-centreon-broker) pour savoir quelles sorties vous devez supprimer pour votre ou vos serveurs distants Centreon. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install.md new file mode 100644 index 000000000000..32db4df3053d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-install.md @@ -0,0 +1,877 @@ +--- +id: map-web-install +title: Installer MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Cette page décrit comment installer Centreon MAP. Il est recommandé d'installer MAP sur un serveur dédié. Toutefois, si vous ne disposez pas de gros volumes de données, vous pouvez l'installer sur le serveur central. + +## Licence + +Si vous avez besoin d'une [licence](../administration/licenses.md) supplémentaire pour Centreon MAP, veuillez contacter l'[équipe support de Centreon](https://support.centreon.com/) pour obtenir et installer votre clé de licence. + +## Architecture + +Le schéma ci-dessous décrit l'architecture de MAP. + +- Vous pouvez installer Centreon MAP soit sur un serveur dédié, soit sur le serveur central. +- Centreon MAP ne nécessite aucune installation sur votre machine : cette solution est entièrement disponible dans l'interface web Centreon. + +![image](../assets/graph-views/ng/map-web-schema.png) + +### Tableau des flux du réseau + + +| Application | Source | Destination | Port | Protocole | Objet | +|----------------|------------|---------------------------|-----------|------------|------------------------------------------------------------ | +| MAP Server | MAP server | Centreon central broker | 5758 | TCP | Obtenez des mises à jour du statut en temps réel | +| MAP Server | MAP server | Centreon MariaDB database | 3306 | TCP | Récupérer la configuration et d'autres données de Centreon | +| MAP Server | MAP server | MAP server database | 3306 | TCP | Stocker toutes les vues et données relatives à Centreon MAP | +| Web | MAP server | Centreon central | 80/443 | HTTP/HTTPS | Authentification et récupération des données | +| Web interface | User | MAP server | 8081/9443 | HTTP/HTTPS | Récupérer les vues et le contenu | +| Web interface | User | Internet\* (Mapbox) | 443 | HTTPS | Récupérer les données Mapbox | + +\**Avec ou sans proxy* + +## Prérequis + +### Serveur Centreon MAP Engine + +#### Licence + +Le serveur nécessite que la licence soit disponible et valide sur le serveur central de Centreon. Pour ce faire, vous devez contacter le [support Centreon](https://support.centreon.com/) pour obtenir et installer votre clé de licence. + +#### Logiciel + +Voir les [prérequis logiciels](../installation/prerequisites.md#logiciels). + +#### Matériel + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 2 vCPU | +| RAM | 4 Go | + +Votre serveur MAP doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 5 Go | +| vg_data | | Espace libre (non alloué) | 2 Go | + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 4 Go | + +Votre serveur MAP doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 5 Go | +| vg_data | | Espace libre (non alloué) | 2 Go | + + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 10 Go | + +Votre serveur MAP doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 5 Go | +| vg_data | | Espace libre (non alloué) | 2 Go | + + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 18 Go | + +Votre serveur MAP doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 5 Go | +| vg_data | | Espace libre (non alloué) | 2 Go | + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 6 vCPU | +| RAM | 18 Go | + +Votre serveur MAP doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 5 Go | +| vg_data | | Espace libre (non alloué) | 2 Go | + + + + +Pour de grosses volumétries de données, contactez votre commercial Centreon. + + + + +#### Informations requises lors de la configuration + +- Connexion à Centreon Web avec des droits d'administrateur. + +> Même avec un serveur correctement dimensionné, vous devez garder à l'esprit les meilleures pratiques et recommandations lors de la création de vues afin de ne pas rencontrer de problèmes de performance. + +> Si le serveur central est configuré en HTTPS, vous devez appliquer la configuration SSL sur le serveur MAP. Suivez cette [procédure](../graph-views/secure-your-map-platform.md) pour sécuriser votre serveur MAP. + +### Client web de Centreon MAP + +#### Licence + +Le serveur nécessite que la licence soit disponible et valide sur le serveur central de Centreon. Pour ce faire, vous devez contacter le [support Centreon](https://support.centreon.com/) pour obtenir et installer votre clé de licence. + +#### Compatibilité + +Notez que l'interface web de MAP a les mêmes prérequis que l'interface web Centreon. Voir les prérequis pour la compatibilité des navigateurs web [ici](../installation/prerequisites.md). + +## Pré-installation + +### Désactiver SELinux + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +``` + +Vous devriez obtenir ce résultat : + +```shell +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** Pour réactiver SELinux, éditez le fichier **/etc/selinux/config** et changez la valeur avec les options suivantes : +> - ``SELINUX=enforcing`` pour que la politique de sécurité SELinux soit appliquée en mode strict. +> - ``SELINUX=permissive`` pour que les erreurs d’accès soient enregistrées dans les logs, mais l’accès ne sera pas bloqué. + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le démarrage du système, effectuez une vérification rapide de l'état de SELinux : + +```shell +getenforce +``` + +Vous devriez obtenir ce résultat : + +```shell +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** Pour réactiver SELinux, éditez le fichier **/etc/selinux/config** et changez la valeur avec les options suivantes : +> - ``SELINUX=enforcing`` pour que la politique de sécurité SELinux soit appliquée en mode strict. +> - ``SELINUX=permissive`` pour que les erreurs d’accès soient enregistrées dans les logs, mais l’accès ne sera pas bloqué. + + + + +SELinux n'est pas installé sur Debian 12, continuez. + + + + +### Configurer ou désactiver le pare-feu + +Si votre pare-feu système est actif, [paramétrez-le](../administration/secure-platform.md#activer-firewalld). +Vous pouvez également le désactiver le temps de l'installation : + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +## Installation du serveur MAP Engine + +### Étape 1 : définir les paramètres d'authentification + +Vous devez fournir au serveur Centreon MAP Engine un utilisateur dédié **qui a accès à toutes les ressources** par le biais des [groupes de listes d'accès](../administration/access-control-lists.md). +Étant donné que le mot de passe sera stocké sous une forme lisible par l'homme dans un fichier de configuration, vous ne devez pas utiliser un compte utilisateur Centreon admin. + +- Connectez-vous à Centreon et allez dans **Configuration > Utilisateurs > Contacts/Utilisateurs**. Puis cliquez sur l'onglet **Authentification Centreon**. +- Définir le paramètre **Accès à l'API de temps réel** sur **Oui**. + +![image](../assets/graph-views/reach-api.png) + +Excluez l'utilisateur de la politique d'expiration du mot de passe sur la page **Administration > Authentification** : son mot de passe n'expirera jamais. + +![image](../assets/graph-views/password-expiration-policy.png) + +### Étape 2 : créer un utilisateur MySQL + +Créez un utilisateur dans l'instance mysql hébergeant les bases de données **centreon** et **centreon_storage** : + +> Nous vous recommandons vivement de définir un mot de passe plus sécurisé. + +```sql +mysql> CREATE USER 'centreon_map'@'IP_MAP_SERVER' IDENTIFIED BY 'centreon_Map2023!'; +GRANT SELECT ON centreon_storage.* TO 'centreon_map'@''; +GRANT SELECT, INSERT ON centreon.* TO 'centreon_map'@''; +``` + +Le privilège INSERT ne sera utilisé que pendant le processus d'installation afin de créer une nouvelle sortie Centreon Broker. Il sera révoqué ultérieurement. + +### Étape 3 : installer le serveur MAP Engine + +#### Installation des paquets + +Si vous installez votre serveur Centreon MAP à partir d'une "installation fraîche", vous devez installer le dépôt Centreon : + + + + +Vous devez d'abord installer le dépôt EPEL : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +La commande doit retourner des résultats comme suit : + +```shell +Installed: + epel-release-8-17.el8.noarch + +Complete! +``` + +Ensuite installez le dépôt Centreon : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +Vous devez d'abord installer le dépôt EPEL : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +La commande doit retourner des résultats comme suit : + +```shell +Installed: + epel-release-9-2.el9.noarch + +Complete! +``` + +Ensuite installez le dépôt Centreon : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +Installez les dépendances suivantes : + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +Pour installer le dépôt Centreon, exécutez la commande suivante : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + + + + +> Si l'URL ne fonctionne pas, vous pouvez trouver manuellement ce paquet dans le dossier. + +#### Installation du dépôt Business + +Installez le dépôt Centreon Business, vous pouvez le trouver sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +#### Installation du serveur MAP Engine + +Vous avez deux possibilités pour l'installation : + +- sur un nouveau serveur (sans paquets Centreon MAP existants), +- ou sur un serveur Centreon MAP Legacy. + +Sélectionnez l'onglet adéquat ci-dessous et installez le serveur Centreon MAP Engine : + + + + +#### Prérequis MariaDB + +> Vous devez disposer d'une base de données MariaDB pour stocker les données de Centreon MAP. + +Vous devez d'abord installer le dépôt MariaDB : + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + + + + +Ensuite installez le serveur MariaDB : + + + + +```shell +dnf install mariadb-server +``` + + + + +```shell +dnf install mariadb-server +``` + + + + +```shell +apt update && apt install mariadb-server +``` + +> MariaDB doit écouter toutes les interfaces au lieu de localhost/127.0.0.1, qui est la valeur par défaut. Modifiez le fichier suivant : +> +> ```shell +> /etc/mysql/mariadb.conf.d/50-server.cnf +> ``` +> +> Définir le paramètre **bind-address** à **0.0.0.0**. + + + + +Ensuite, activez et redémarrez MariaDB : + +```shell +systemctl enable mariadb +systemctl restart mariadb +``` + +Il est obligatoire de sécuriser l'accès root de la base de données avant d'installer Centreon. Si vous utilisez une base de données locale, exécutez la commande suivante sur le serveur MAP : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Répondez **oui** à toutes les questions, sauf à "Disallow root login remotely? +* Il est obligatoire de définir un mot de passe pour l'utilisateur **root** de la base de données. Vous aurez besoin de ce mot de passe pendant l'[installation web](../installation/web-and-post-installation.md). + +> Pour plus d'informations, veuillez consulter la [documentation officielle de MariaDB](https://mariadb.com/kb/en/mysql_secure_installation/). + +Installez ensuite le serveur Centreon MAP Engine à l'aide de la commande suivante : + + + + +```shell +dnf install centreon-map-engine +``` + + + + +```shell +dnf install centreon-map-engine +``` + + + + +```shell +apt update && apt install centreon-map-engine +``` + + + + + + + + +> Si vous avez déjà MAP Legacy et que vous installez MAP Engine sur le même serveur, vous devez suivre la procédure suivante. Sinon, passez à l'onglet **Nouveau serveur MAP Engine**. + +> Vous pouvez utiliser la base de données MariaDB existante de Centreon MAP Legacy pour le nouveau serveur MAP Engine. Il n'est donc pas nécessaire d'installer une nouvelle base de données. + +Cette procédure permet de s'assurer que le fichier de configuration peut être utilisé à la fois pour MAP Engine et MAP Legacy. + +1. Faites une sauvegarde du fichier **map.cnf** : + + + + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + + + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + + + + ```shell + cp /etc/mysql/map.cnf /etc/mysql/map.cnf.bk + ``` + + + + +2. Installez les paquets de **centreon-map-engine** : + + + + + ```shell + dnf install centreon-map-engine + ``` + + + + + ```shell + dnf install centreon-map-engine + ``` + + + + + ```shell + apt update && apt-get -o Dpkg::Options::="--force-overwrite" install centreon-map-engine + ``` + + + + +3. Récupérez la sauvegarde du fichier de configuration : + + + + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + + + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + + + + ```shell + cp /etc/mysql/map.cnf.bk /etc/mysql/map.cnf + ``` + + + + +4. Répondez **Y**. Ensuite redémarrez MySQL : + + ```shell + systemctl restart mariadb + ``` + + + + +Lors de l'installation du serveur Centreon MAP Engine, java (OpenJDK 17) sera automatiquement installé, si nécessaire. + +#### Prérequis Java + > Assurez-vous qu'une version de Java 17 (ou 18) est installée avant de commencer la procédure. + + - Pour vérifier quelle version de Java est installée, entrez la commande suivante : + + ```shell + java -version + ``` + + - Pour une mise à jour de Java en version 17 (ou 18), allez sur la [page officielle de téléchargement d'Oracle](https://www.oracle.com/java/technologies/downloads/#java17). + + - Si plusieurs versions de Java sont installées, vous devez activer la bonne version. Affichez les versions installées avec la commande suivante puis sélectionnez la version 17 (ou 18) : + ```shell + sudo update-alternatives --config java + ``` + + - Si vous souhaitez configurer votre plateforme en HTTPS, vous aurez besoin de générer un fichier keystore pour la version 17 de Java (ou 18) ([voir procédure](./secure-your-map-platform.md#configuration-httpstls-avec-une-clé-auto-signée)). + +### Étape 4 : vérifier la configuration de la base de données + +Assurez-vous que la base de données qui stocke les données MAP de Centreon est optimisée (automatiquement ajoutée par le RPM dans **/etc/my.cnf.d/map.cnf** ou dans **/etc/mysql/map.cnf** pour Debian) : + +```text +max_allowed_packet = 20M +innodb_log_file_size = 200M +``` + +Ensuite, redémarrez MariaDB : + +```shell +systemctl restart mariadb +``` + +Il est obligatoire de sécuriser l'accès root de la base de données avant d'installer Centreon. Si vous utilisez une base de données locale, exécutez la commande suivante sur le serveur central : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Répondez **oui** à toutes les questions, sauf à "Disallow root login remotely? +* Il est obligatoire de définir un mot de passe pour l'utilisateur **root** de la base de données. Vous aurez besoin de ce mot de passe pendant l'[installation web](../installation/web-and-post-installation.md). + +> Pour plus d'informations, veuillez consulter la [documentation officielle de MariaDB](https://mariadb.com/kb/en/mariadb-secure-installation/). + +### Étape 5 : exécuter le script configure.sh + +Exécutez le script de configuration du serveur MAP de Centreon. + +Deux modes sont disponibles : interactif ou automatique. + +- Interactif *(aucune option/mode par défaut)* : plusieurs questions seront posées pour remplir de manière interactive les variables d'installation. +- Automatique *(--automatic ou -a)* : l'installation se fera automatiquement à partir des valeurs définies dans le fichier `/etc/centreon-map/vars.sh`. + +Si c'est votre première installation, nous vous conseillons d'utiliser le mode standard (interactif) et de choisir **Non** lorsqu'on vous demande le mode d'installation avancé : + +```shell +/etc/centreon-map/configure.sh +``` + +Voici ce que vous devez voir en sortie : + + ```shell + Configuration completed, enjoy ! + ``` + +Ce script crée le fichier **map-config.properties**. + +#### URI personnalisée + +Si vous avez personnalisé une URI de connexion pour votre plateforme Centreon, vous devez éditer le fichier **map-config.properties** en ajoutant la commande suivante et en utilisant l'URI personnalisée déjà définie [ici](../administration/secure-platform.md#uri-personnalisée) : + +```shell +centreon.path=/your-custom-uri +``` + +#### Optimisation de la mémoire pour Java + +> JAVA_OPTS est une variable d'environnement standard utilisée pour modifier les propriétés Java. + +Pour implémenter correctement la mémoire dédiée : + +Modifiez le paramètre **JAVA_OPTS** dans le fichier de configuration Centreon MAP +`/etc/centreon-map/centreon-map.conf`: + + ```text + JAVA_OPTS="-Xms512m -Xmx4G" + ``` + + > La valeur Xmx dépend de la quantité de mémoire indiquée dans les tableaux dans la section [Matériel](#matériel). + +Redémarrez le service : + + ```shell + systemctl restart centreon-map-engine + ``` + +### Étape 6 : appliquer la configuration Broker et redémarrer MAP Engine + +> Avant de redémarrer Broker, vous devez exporter la configuration à partir de l'interface web de Centreon. + +Redémarrez Centreon Broker sur le serveur central : + +```shell +systemctl restart cbd +``` + +Supprimer le privilège INSERT de l'utilisateur **centreon_map** : + +```sql +REVOKE INSERT ON centreon.* FROM 'centreon_map'@''; +``` + +Ensuite redémarrer le service **centreon-map-engine** : + + ```shell + systemctl start centreon-map-engine + ``` + +Exécutez la commande suivante pour vérifier que le service **centreon-map-engine** est correctement démarré : + + ```shell + systemctl status centreon-map-engine + ``` + + Voici un exemple de résultat : + + ```shell + ● centreon-map-engine.service - Centreon Studio map server + Loaded: loaded (/usr/lib/systemd/system/centreon-map-engine.service; disabled; vendor preset: disabled) + Active: active (running) since Thu 2022-11-24 09:10:58 UTC; 6h ago + Main PID: 39103 (centreon-map-en) + Tasks: 50 (limit: 23465) + Memory: 598.1M + CGroup: /system.slice/centreon-map-engine.service + ├─39103 /bin/bash /usr/share/centreon-map-engine/bin/centreon-map-engine + └─39119 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map + ``` + +### Étape 7 : vérifier la configuration + +Vérifiez la configuration du serveur MAP Engine avec cette commande : + +```shell +/etc/centreon-map/diagnostic.sh +``` + +> En cas d'erreur, consultez la section **Lancement de l'outil de diagnostic** à la page [Dépannage de MAP](map-web-troubleshooting.md#exécuter-notre-outil-de-diagnostic). + +Si la configuration est correcte, le service **centreon-map-engine** peut être lancé à partir du serveur Centreon MAP (Legacy) : + +```shell +systemctl restart centreon-map-engine +``` + +Permettez au service de démarrer automatiquement au démarrage du serveur : + +```shell +systemctl enable centreon-map-engine +``` + +Le serveur Centreon MAP est maintenant démarré et activé : installons la partie interface de l'extension. + +## Installation du client web MAP + +### Étape 1 : installer le dépôt Business + +Installez le dépôt de Centreon Business : vous pouvez le trouver sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Étape 2 : installer le module MAP + +1. Depuis votre terminal, entrez la commande suivante sur le serveur central : + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo apt install centreon-map-web-client + ``` + + + + +2. Vous devez ensuite vous connecter à l'interface web Centreon. + +3. Allez dans **Administration > Extensions > Gestionnaire** et installez le module **Map Web Client**. + +### Étape 3 : activer le module MAP + +Par défaut, le module MAP n'est pas activé. Suivez cette procédure pour l'activer. + +1. Connectez-vous à l'interface Centreon et allez à la page **Administration > Extensions > Map > Options**. + ![image](../assets/graph-views/ng/switch-map-engine.png) + +2. Dans la section **Informations de connexion**, définissez **Serveur Map Engine** sur **Oui**. + +3. Saisissez l'adresse IP de votre serveur MAP dans le champ **Adresse du serveur Map Engine**. Si vous avez installé MAP sur le serveur central, il s'agit de l'adresse IP du serveur central. Utilisez son adresse IP complète, et non l'adresse locale (localhost). Le port par défaut est 8081. Par exemple : ``http://10.25.xxx:8081``. + +4. Cliquez sur le bouton **Test de connexion au serveur** pour tester la connexion. Ce test doit retourner le message **Test de connexion réussi**. + +5. Cliquez sur **Sauvegarder**. + +6. Allez dans **Configuration > Collecteurs > Collecteurs**. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) du serveur central (en utilisant la méthode **Recharger**). + +7. Depuis le terminal, redémarrez le service cbd : + + ```shell + systemctl restart cbd + ``` + +8. Maintenant que la configuration est correcte, vous pouvez démarrer le serveur en exécutant cette commande : + + ```shell + systemctl start centreon-map-engine + ``` + +9. Exécutez la commande suivante pour vérifier que le service **centreon-map-engine** est correctement démarré : + + ```shell + systemctl status centreon-map-engine + ``` + + Voici un exemple de résultat : + + ```shell + ● centreon-map-engine.service - Centreon Studio map server + Loaded: loaded (/usr/lib/systemd/system/centreon-map-engine.service; disabled; vendor preset: disabled) + Active: active (running) since Thu 2022-11-24 09:10:58 UTC; 6h ago + Main PID: 39103 (centreon-map-en) + Tasks: 50 (limit: 23465) + Memory: 598.1M + CGroup: /system.slice/centreon-map-engine.service + ├─39103 /bin/bash /usr/share/centreon-map-engine/bin/centreon-map-engine + └─39119 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map + ``` + +Vous pouvez maintenant utiliser le module MAP en accédant à la page **Supervision > Map**. + +- Suivez cette [procédure](../administration/secure-platform.md) pour sécuriser votre plateforme Centreon. +- Suivez cette [procédure](../graph-views/secure-your-map-platform.md) pour sécuriser MAP. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-known-issues.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-known-issues.md new file mode 100644 index 000000000000..00bdcc50dfd3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-known-issues.md @@ -0,0 +1,11 @@ +--- +id: map-web-known-issues +title: Problèmes connus dans MAP +--- + +Cette page répertorie les incidents connus sur lesquels l'équipe Centreon travaille actuellement : + +- Vous ne pouvez pas encore utiliser les services de détection des anomalies dans les cartes. +- Vous ne pouvez pas personnaliser vos éléments avec des polices de caractères. +- Lors de la migration de Geo Maps (cartes standard avec un arrière-plan géographique utilisant un générateur de tuiles comme MapBox par exemple), les éléments de la carte sont migrés, mais les tuiles n'apparaissent pas en arrière-plan. +- Les couleurs des courbes de graphiques linéaires changent constamment. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-manage.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-manage.md new file mode 100644 index 000000000000..b4426eb234bf --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-manage.md @@ -0,0 +1,43 @@ +--- +id: map-web-manage +title: Gérer les cartes dans MAP +--- + +Cette page décrit comment créer et gérer les cartes à partir de l'interface Centreon MAP. Vous pouvez créer deux types de cartes : +- Cartes standard : pour visualiser des représentations graphiques de votre infrastructure supervisée. +- Vues géographiques : pour afficher les ressources de votre infrastructure sur une zone géographique définie. + +> Les options disponibles dans l'interface MAP dépendent des permissions qui vous ont été attribuées par votre administrateur. Voir la page [Gérer les droits d'accès dans MAP](map-web-access.md) pour plus d'informations sur les privilèges et permissions. + +L'affichage du bouton **Ajouter une carte** et du bouton **Ajouter une vue géographique** signifie que vous êtes autorisé à créer une carte et que vous appartenez à un groupe d'accès auquel est attribué le rôle de créateur. + +## Information sur le statut d'une carte + +La page d'accueil affiche la liste des cartes existantes et vous pouvez visualiser pour chaque carte, le statut le plus défavorable de toutes les ressources ou conteneurs inclus dans la carte. + +## Procéder à des actions sur une carte + +Vous pouvez effectuer des actions sur chaque carte standard et chaque vue géographique à laquelle vous avez accès. Suivez ces procédures si vous souhaitez modifier les propriétés d'une carte, la partager ou la supprimer. + +> Les fonctionnalités de partage et de copie d'URL d'une carte ne sont pas disponibles sur une vue géographique. + +### Dupliquer une carte + +Cliquez sur le menu avec les trois points verticaux en haut à droite de la carte, puis cliquez sur **Dupliquer**. +Une nouvelle carte est automatiquement créée, avec "- copie" ajouté au nom initial. + +### Supprimer une carte + +Cliquez sur le bouton de la corbeille et confirmez la suppression en cliquant sur le bouton **Supprimer**. + +### Modifier les propriétés de la carte + +Cliquez sur le bouton de clé à molette pour modifier les propriétés de la carte et confirmez les modifications en cliquant sur le bouton **Modifier**. + +### Partager une carte + +Cliquez sur le bouton de partage pour modifier les privilèges du groupe d'accès et confirmez les modifications en cliquant sur le bouton **Sauvegarder**. + +### Copier l'URL de la carte + +Un bouton de copie d'URL de la carte est disponible en mode visualisation, ce qui vous permet de partager facilement la carte que vous avez ouverte. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-migrate.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-migrate.md new file mode 100644 index 000000000000..4f8fe08cfa7e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-migrate.md @@ -0,0 +1,38 @@ +--- +id: map-web-migrate +title: Migrer l'extension +--- + +Cette section explique comment déplacer le serveur Centreon MAP vers un autre serveur. + +Cette tâche peut être utile si vous devez faire migrer votre serveur de CentOS 6 à CentOS 7. + +### Installation du nouveau serveur Centreon MAP + +Veuillez vous reporter au chapitre sur l'installation de cette documentation pour installer votre nouveau serveur Centreon MAP. + +### Synchroniser les données + +Arrêtez le service Centreon MAP sur les deux serveurs Centreon MAP : + +```shell +systemctl stop centreon-map +``` + +Extrayez les données MAP de Centreon : + +```shell +mysqldump -u XXXXXX -p centreon_studio > /tmp/centreon_studio.sql +``` + +Téléchargez **centreon_studio.sql** sur le nouveau serveur Centreon MAP (dans /tmp) et importez-le dans la base de données : + +```shell +mysql -u XXXXXX -p centreon_studio < /tmp/centreon_studio.sql +``` + +Démarrez le service **centreon-map** sur le nouveau serveur Centreon MAP : + +```shell +systemctl start centreon-map +``` \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-troubleshooting.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-troubleshooting.md new file mode 100644 index 000000000000..bd18e1a2a41f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-troubleshooting.md @@ -0,0 +1,241 @@ +--- +id: map-web-troubleshooting +title: Dépannage de MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Cette page présente quelques recommandations pour résoudre des incidents lors de l'installation de MAP. + +## Erreur « Echec d'authentification » lors de la connexion à la page d'accueil MAP + +#### Symptôme + +Une erreur « Echec d'authentification » se produit à la page d'accueil de MAP lors de la tentative de connexion au service Centreon MAP. + +#### Problème + +Les informations d'identification utilisées par l'utilisateur **Web interface** (définies lors de l'installation) pour se connecter au module MAP ne sont plus valides car elles ont été modifiées, probablement suite à l'expiration du mot de passe. + +#### Solution + +Vous pouvez mettre à jour le mot de passe en accédant à ce fichier : **/etc/centreon-map/map-config.properties**. + +## La configuration MAP ne fonctionne pas en HTTPS + +### Symptôme + +La configuration du module MAP ne fonctionne pas. Ce problème se produit lorsque le module MAP est installé sur le serveur central Centreon alors que la plateforme MAP est sécurisée en HTTPS. + +### Problème + +La configuration MAP n'est pas définie en TLS. + +### Solution + +Si vous utilisez IPv6, vous devez forcer le serveur MAP à utiliser IPv4. + +1. Accédez au fichier **/etc/centreon-map/centreon-map.conf**. + +2. Modifiez le fichier en ajoutant l'option suivante : + + ```shell + RUN_ARGS="--spring.profiles.active=prod,tls" + JAVA_OPTS="-Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map -Dcentreon-map.signing-key=8uT4BM1RsXRmIPQbTEazUAhQHtyM7xZ4nlFMIUqQ7lRkbWz24yemkGs9tS4eOwDfF -Dcentreon-map.access-token-validity-seconds=15552000 -Xms512m -Xmx4G" + ``` + +## Vérifier que vous avez installé les bons RPMs + +1. Exécutez la commande suivante : + + + + + ```shell + dnf info centreon-map-web-client + dnf info centreon-map-engine + ``` + + + + + ```shell + dnf info centreon-map-web-client + dnf info centreon-map-engine + ``` + + + + + ```shell + apt info centreon-map-web-client + apt info centreon-map-engine + ``` + + + + +2. En sortie, **Repository** doit afficher **centreon-stable-noarch**. Si ce n'est pas le cas, vous n'avez pas installé les bons paquets. Procédez donc comme suit : + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo apt install centreon-map-web-client + ``` + + + + +## Augmenter le niveau des logs + +1. Pour augmenter le niveau des logs, éditez le fichier **/etc/centreon-map/map-log.xml** en passant les entrées suivantes en INFO : + + ```shell + + + + + ``` + +2. Redémarrez le serveur **centreon-map-engine** : + + ```shell + systemctl restart centreon-map-engine + ``` + +## Exécuter notre outil de diagnostic + +1. Exécutez le script suivant : + + ```shell + cd /etc/centreon-map + ./diagnostic.sh + ``` + + Toutes les entrées doivent avoir pour valeur **OK** ou **INFO**. + +2. Essayez de résoudre les erreurs en suivant les instructions ci-dessous. + +> Si l'erreur persiste, envoyez-nous les résultats complets du script (voir la section [Toujours bloqué ?](#toujours-bloqué)). + +Voici les principales erreurs que vous pouvez rencontrer : + +- Connexion à la base de données ou authentification : si la connexion ne fonctionne pas, vérifiez vos informations d'identification, votre réseau et vos utilisateurs mysql. + + ```shell + ########## Database connection ########## + + [ok] Connection to centreon + [ok] Connection to centreon_storage + [ok] Connection to centreon_map + ``` + +- Connexion à la sortie Broker : si elle ne fonctionne pas, vérifiez la configuration de la sortie Broker, le réseau et la configuration TLS (si utilisée). + + ```shell + ########## Broker connection ########## + + [ok] Connection to 127.0.0.1 5758 port + ``` + +- Connexion ou authentification de MAP au serveur central : si cela ne fonctionne pas, vérifiez vos informations d'identification, votre réseau, vos proxys et votre configuration TLS (si vous l'utilisez). + + ```shell + ########## Authentication ########## + + [ok] Centreon Central authentication using user admin + ``` + +## Dépanner à l'aide de l'interface web + +1. Assurez-vous que l'URL spécifiée dans **Administration > Extensions > MAP > Options** est accessible (à la fois accessible et résolue) depuis l'ordinateur accédant à l'interface web. + +2. Vérifiez le statut de MAP en accédant à l'URL suivante dans le navigateur (utilisez les mêmes valeurs pour **MAP_IP_ADDRESS** et **MAP_PORT** que celles définies dans **Administration > Extensions > MAP > Options**). + + ```shell + http://[MAP_IP_ADDRESS]:[MAP_PORT]/centreon-map/api/beta/actuator/health + ``` + + Exemple: + + ```shell + http://10.0.0.2:8081/centreon-map/api/beta/actuator/health + ``` + + Le résultat doit être le suivant : + + ```shell + { + "status" : "UP" + } + ``` + + > Si ce n'est pas le cas, veuillez envoyer une capture d'écran de l'erreur (voir la section [Toujours bloqué ?](#toujours-bloqué)). + +## Toujours bloqué ? + +Si vous avez toujours besoin d'aide, veuillez contacter l'[équipe support de Centreon](https://support.centreon.com/) en fournissant les informations de base sur la manière dont Centreon MAP est installé. + +Voici un exemple d'installation standard : + +| | Central | MAP | MAP (Legacy) | +|------------|------|--------|--------| +|Y a-t-il une connexion directe entre cet élément et le central (sont-ils sur le même réseau ?)|n/a|Y|Y| +|Cet élément est-il installé sur le même serveur que le central ? |n/a|Y|N| +|Le protocole HTTPS est-il activé ? |Y|Y|Y| +|Est-ce une nouvelle installation ? |N|Y|N| + +### Résultat du script diagnostic.sh + +Voir ci-dessus [Exécuter notre outil de diagnostic](#exécuter-notre-outil-de-diagnostic) et envoyez le résultat complet du script à l'[équipe support de Centreon](https://support.centreon.com/). + +Fournissez les fichiers de logs suivants (chemins par défaut) : + + - Centreon MAP Engine server : + + ```shell + /var/log/centreon-map/centreon-map-engine.log + ``` + + - Centreon Central server : + ```shell + /var/log/php-fpm/centreon-error.log + ``` + +### Captures d'écran de l'interface web + +Si vous rencontrez des problèmes sur l'interface web, veuillez fournir des captures d'écran de l'interface présentant l'erreur, avec l'outil de développement du navigateur ouvert sur les onglets suivants : + + - Onglet Réseau (touche F12), si possible filtré sur les requêtes qui échouent. + - Onglet Console (touche F12), si possible filtré sur les erreurs. + +### Résultat de la commande `yum list` + +Exécutez les commandes suivantes et transmettez le résultat au support : + + - Sur le central : + + ```shell + yum list centreon-map-web-client --showduplicates -q + ``` + + - Sur le serveur où **centreon-map-engine** est installé : + + ```shell + yum list centreon-map-engine --showduplicates -q + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-update.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-update.md new file mode 100644 index 000000000000..af98a48c3a5f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-update.md @@ -0,0 +1,110 @@ +--- +id: map-web-update +title: Mettre à jour MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Suivez cette procédure pour mettre à jour la version de MAP : + +1. Arrêtez le service **centreon-map-engine** en exécutant la commande suivante sur la machine hébergeant le service Centreon MAP : + + ```shell + sudo systemctl stop centreon-map-engine + ``` + +2. Mettez à jour les paquets en exécutant la commande suivante sur la ou les machines hébergeant le service du central et le service Centreon MAP : + + + + + - Sur le serveur central : + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - Sur le serveur MAP : + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - Sur le serveur central : + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - Sur le serveur MAP : + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - Si MAP seul est installé : + + Sur le serveur central : + + ``` shell + sudo apt install centreon-map-web-client + ``` + + Sur le serveur MAP : + + ``` shell + sudo apt install centreon-map-engine + ``` + + - Si MAP et MAP Legacy sont installés sur le même serveur : + + - Faites une sauvegarde du fichier **map.cnf** : + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + - Mettez les paquets de **centreon-map-engine** à jour : + + Sur le serveur central : + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-web-client + ``` + + Sur le serveur MAP : + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-engine + ``` + + - Récupérez la sauvegarde du fichier de configuration : + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + - Répondez **Y**. Ensuite redémarrez MySQL : + + ```shell + systemctl restart mariadb + ``` + + + + +3. Videz le cache de votre navigateur. + +4. Finalisez la mise à jour du module et du widget dans l'interface Centreon **Administration > Extensions > Gestionnaire**. + +5. Redémarrez le service **centreon-map-engine** en exécutant la commande suivante : + + ```shell + sudo systemctl start centreon-map-engine + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-upgrade.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-upgrade.md new file mode 100644 index 000000000000..d8cc00927337 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/map-web-upgrade.md @@ -0,0 +1,126 @@ +--- +id: map-web-upgrade +title: Monter de version MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> **À partir de Centreon 24.10, MAP Legacy n'est plus disponible.** Que vous utilisiez encore MAP Legacy ou non, consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/fr/docs/graph-views/map-legacy-eol/). + +> Lorsque vous mettez à jour une nouvelle version majeure (c'est à dire version A.B.x avec A ou B qui évolue), vous devez installer le nouveau dépôt Business. Vous pouvez trouver l'adresse du dépôt sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +## Prérequis + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../security/key-rotation.md#installation-existante), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Mise à jour du paquet + +1. Arrêtez le service **centreon-map-engine** en entrant cette commande sur la machine où se trouve le serveur MAP : + + ```shell + sudo systemctl stop centreon-map-engine + ``` + +2. Pour mettre à jour le module Centreon MAP, exécutez les commandes suivantes : + + + + + - Sur le serveur central : + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - Sur le serveur MAP : + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - Sur le serveur central : + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - Sur le serveur MAP : + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - Si MAP seul est installé : + + Sur le serveur central : + + ``` shell + sudo apt install --only-upgrade centreon-map-web-client + ``` + + Sur le serveur MAP : + + ``` shell + sudo apt install --only-upgrade centreon-map-engine + ``` + + - Si MAP et MAP Legacy sont installés sur le même serveur : + + - Faites une sauvegarde du fichier **map.cnf** : + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + - Mettez les paquets de **centreon-map-engine** à jour : + + Sur le serveur central : + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-web-client + ``` + + Sur le serveur MAP : + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-engine + ``` + + - Récupérez la sauvegarde du fichier de configuration : + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + - Répondez **Y**. Ensuite redémarrez MySQL : + + ```shell + systemctl restart mariadb + ``` + + + + +3. Videz le cache de votre navigateur. + +4. Finalisez la mise à jour du module et du widget dans l'interface Centreon **Administration > Extensions > Gestionnaire**. + + > Un bouton orange de mise à jour est visible et signale qu'une mise à +jour est disponible, cliquez dessus pour mettre à jour le module, faire +de même pour le widget. + +5. Redémarrez le service **centreon-map-engine** en exécutant la commande suivante : + + ```shell + sudo systemctl start centreon-map-engine + ``` + +6. Si vous faites une mise à jour vers la version 24.04 et plus, vous devez mettre à jour MariaDB en version 10.11. Voir [Mettre à jour MariaDB](../upgrade/upgrade-mariadb.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/secure-your-map-platform.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/secure-your-map-platform.md new file mode 100644 index 000000000000..f55fd07066fd --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/secure-your-map-platform.md @@ -0,0 +1,220 @@ +--- +id: secure-your-map-platform +title: Sécurisez votre plateforme MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit les procédures avancées permettant de sécuriser votre plateforme MAP. + +> Si vous souhaitez utiliser MAP en HTTPS, vous devez sécuriser à la fois votre plateforme Centreon et MAP. Suivez cette [procédure](../administration/secure-platform.md) pour sécuriser votre plateforme Centreon. + +> Des erreurs de modification de fichiers de configuration peuvent entraîner des dysfonctionnements du logiciel. Nous vous recommandons de faire une sauvegarde du fichier avant de le modifier et de ne changer que les paramètres conseillés par Centreon. + +## Configurer HTTPS/TLS sur le serveur MAP + +### Configurer HTTPS/TLS avec une clé reconnue + +> Cette section décrit comment ajouter une **clé reconnue** au serveur MAP. +> +> Si vous souhaitez créer une clé auto-signée et l'ajouter à votre serveur, veuillez vous référer à la [section suivante](#configuration-httpstls-avec-une-clé-auto-signée). + +Vous aurez besoin de : + +- Un fichier de clé, appelé **key.key**. +- Un fichier de certificat, appelé **certificate.crt**. + +Accédez au serveur Centreon MAP par SSH. + +Créez un fichier PKCS12 avec la ligne de commande suivante : + +```shell +openssl pkcs12 -inkey key.key -in certificate.crt -export -out keys.pkcs12 +``` + +Ensuite, importez ce fichier dans un nouveau keystore (un dépôt Java de certificats de sécurité) : + +```shell +keytool -importkeystore -srckeystore keys.pkcs12 -srcstoretype pkcs12 -destkeystore map.jks +``` + +Placez le fichier keystore ci-dessus (map.jks) dans le dossier **/etc/centreon-map/**, et définissez les paramètres ci-dessous dans **/etc/centreon-map/map-config.properties** : + +```text +centreon-map.keystore=/etc/centreon-map/map.jks +centreon-map.keystore-pass=xxx +``` + +> Remplacez la valeur "xxx" de keystore-pass par le mot de passe que vous avez utilisé pour le keystore et adaptez le chemin vers le keystore (s'il a été modifié). + +### Configuration HTTPS/TLS avec une clé auto-signée + +> L'activation du mode TLS avec une clé auto-signée obligera chaque utilisateur à ajouter une exception pour le certificat avant d'utiliser l'interface web. +> +> Ne l'activez que si votre Centreon utilise également ce protocole. +> +> Les utilisateurs devront ouvrir l'URL : +> +> ```shell +> https://:9443/centreon-map/api/beta/actuator/health +> ``` +> +> **La solution que nous recommandons est d'utiliser une méthode de clé reconnue, comme expliqué ci-dessus.** + +Sur le serveur Centreon MAP, créez un keystore. + +Allez dans le dossier où Java est installé : + +```shell +cd $JAVA_HOME/bin +``` + +Ensuite, générez un fichier keystore avec la commande suivante : + +```shell +keytool -genkey -alias map -keyalg RSA -keystore /etc/centreon-map/map.jks +``` + +La valeur de l'alias "map" et le chemin du fichier keystore **/etc/centreon-map/map.jks** peuvent être modifiés, mais à moins d'une raison spécifique, nous conseillons de conserver les valeurs par défaut. + +Fournissez les informations nécessaires lors de la création du keystore. + +À la fin du formulaire, lorsque le "mot de passe de la clé" est demandé, utilisez le même mot de passe que celui utilisé pour le keystore lui-même en appuyant sur la touche **Entrée**. + +Placez le fichier keystore ci-dessus (**map.jks**) dans le dossier **/etc/centreon-map/**, et définissez les paramètres ci-dessous dans **/etc/centreon-map/map-config.properties** : + +```text +centreon-map.keystore=/etc/centreon-map/map.jks +centreon-map.keystore-pass=xxx +``` + +> Remplacez la valeur keystore-pass "xxx" par le mot de passe que vous avez utilisé pour le keystore et adaptez le chemin (s'il a été modifié dans le keystore). + +### Activer le profil TLS du service Centreon MAP + +1. Arrêtez le service Centreon MAP : + + ```shell + systemctl stop centreon-map-engine + ``` + +2. Modifiez le fichier `/etc/centreon-map/centreon-map.conf`, en ajoutant `,tls` après le profil `prod` : + + ```text + RUN_ARGS="--spring.profiles.active=prod,tls" + ``` + +3. Redémarrez le service Centreon MAP : + + ```shell + systemctl start centreon-map-engine + ``` + +Le serveur MAP est maintenant configuré pour répondre aux demandes provenant de HTTPS sur le port 9443. + +Pour modifier le port par défaut, reportez-vous à la [procédure dédiée](map-web-advanced-configuration.md#changer-le-port-du-serveur-centreon-map). + +> N'oubliez pas de modifier l'URL côté Centreon dans le champ **Adresse du serveur Centreon MAP** du menu **Administration > Extensions > Map > Options**. + +## Configurer TLS sur la connexion Broker + +Une sortie Broker supplémentaire pour Centreon Central (centreon-broker-master) a été créée pendant l'installation. + +Vous pouvez la vérifier dans votre interface web Centreon, à la page **Configuration > Collecteurs > Configuration de Centreon Broker**, en éditant la configuration **centreon-broker-master**. + +La configuration éditée doit ressembler à ceci : + +![image](../assets/graph-views/output_broker.png) + +### Configuration de Broker + +Vous pouvez activer la sortie TLS et configurer la clé privée et le certificat public de Broker comme décrit ci-dessous : + +![image](../assets/graph-views/output_broker_tls.png) + +1. Pour créer un certificat auto-signé, vous pouvez utiliser les commandes suivantes : + +```text +openssl req -new -newkey rsa:2048 -nodes -keyout broker_private.key -out broker.csr +openssl x509 -req -in broker.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out broker_public.crt -days 365 -sha256 +``` + +2. Et ensuite, copiez la clé privée et le certificat dans le répertoire **/etc/centreon/broker_cert/** : + +```text +mv broker_private.key /etc/centreon/broker_cert/ +mv broker_public.crt /etc/centreon/broker_cert/ +``` + +> Le champ "Trusted CA's certificate" est facultatif. Si vous activez l'authentification client de Broker en définissant ce "ca\_certificate.crt", vous devez alors configurer un [keystore pour le serveur MAP](#configurer-httpstls-sur-le-serveur-map) +> +> Vous devez pousser la nouvelle configuration du broker et redémarrer le broker après la configuration. + +### Configuration du serveur MAP + +Tout d'abord, vous devez [activer HTTPS/TLS sur le serveur web](../administration/secure-platform.md#activer-le-mode-https-sur-le-serveur-web) + +Ensuite, définissez les paramètres suivants dans la configuration du serveur MAP dans : + +**/etc/centreon-map/centreon-map.conf** + +Définissez le protocole de communication avec le serveur Centreon comme étant HTTPS : + +```shell +centreon.url=https:// +``` + +Pour activer la connexion par socket TLS avec le Broker : + +```text +broker.tls=true +``` + +#### Configuration avec un certificat auto-signé + +Si le certificat public de Broker est auto-signé, vous devez créer un trust store contenant le certificat donné ou son certificat CA avec la ligne de commande suivante : + +```shell +keytool -import -alias centreon-broker -file broker_public.crt -keystore truststore.jks +``` + +- "broker_public.crt" est le certificat public de Broker ou son certificat CA au format PEM, +- "truststore.jks" est le trust store généré au format JKS, +- un mot de passe du trust store est requis pendant la génération. + +Ensuite, mettez le fichier de sortie généré **truststore.jks** dans **/etc/centreon-studio** de l'hôte du serveur MAP. + +1. Ajoutez les paramètres de trust store dans **/etc/centreon-map/map-config.properties** : + +```text +centreon-map.truststore=/etc/centreon-map/truststore.jks +centreon-map.truststore-pass=XXXX +``` + +> Remplacez la valeur "xxx" de trustStorePassword par le mot de passe que vous avez utilisé pour générer le trust store. + +En attendant, vous devez activer le profil "tls_broker" du service Centreon MAP. + +2. Editez le fichier **/etc/centreon-studio/centreon-map.conf**, et remplacez ",tls" par ",tls_broker" après le profil "prod" : + +```text +RUN_ARGS="--spring.profiles.active=prod,tls_broker" +``` + +> Le profil "tls_broker" implique le profil "tls". Ainsi, le service Centreon MAP sert nécessairement HTTPS. + +Une fois que vous avez ajouté un truststore, Centreon MAP l'utilisera pour valider les certificats auto-signés. +Cela signifie que si vous utilisez un certificat auto-signé pour le serveur central, vous devez l'ajouter au truststore. +Si vous ne le faites pas, la page **Supervision > Map** sera vide, et les journaux (**/var/log/centreon-map/centreon-map.log**) afficheront l'erreur suivante : `unable to find valid certification path to requested target`. + +1. Copiez le certificat **.crt** du serveur central sur le serveur MAP. + +2. Ajoutez le certificat au truststore : + + ```shell + keytool -import -alias centreon-broker -file central_public.crt -keystore truststore.jks + ``` + +#### Configuration avec un certificat CA reconnu + +Si le certificat public de Broker est signé par une autorité de certification reconnue, le truststore par défaut de la JVM "cacerts **/etc/pki/java/cacerts**" sera utilisé. Il n'y a rien à configurer pour le service Centreon MAP. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/upgrading-map-legacy.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/upgrading-map-legacy.md new file mode 100644 index 000000000000..ae8f8af09daa --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/graph-views/upgrading-map-legacy.md @@ -0,0 +1,205 @@ +--- +id: upgrading-map-legacy +title: Monter MAP Legacy en 24.10 +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> **À partir de Centreon 24.10, MAP Legacy n'est plus disponible.** Si vous utilisez encore MAP Legacy, il vous faut migrer vers MAP. Cependant, il sera nécessaire d'effectuer une dernière montée de version en 24.10 avant de désinstaller MAP Legacy. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/fr/docs/graph-views/map-legacy-eol/). + +Ce chapitre décrit comment monter de version votre extension Centreon MAP. Pour ce faire, vous devez mettre à niveau les quatre principaux composants : + +- le serveur Centreon MAP +- l'interface web Centreon MAP et son widget +- le client lourd (mis à jour automatiquement) +- la base de données MariaDB. + +## Prérequis + +Avant de mettre à jour le serveur MAP de Centreon, nous vous recommandons vivement d'effectuer un dump (sauvegarde) de votre base de données `centreon_studio`. +Cela vous permettra de revenir facilement à l'état précédent si nécessaire. + +Assurez-vous de lire les notes de version pour une explication des fonctionnalités, des corrections et des procédures personnalisées. + +**Lorsque vous effectuez une mise à jour vers une nouvelle version majeure ou mineure (c'est-à-dire : A.B.x avec A ou B qui change), vous devez contacter notre service d'assistance pour récupérer le nouveau dépôt**. + +### Mise à jour de la clé de signature du RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPM Centreon sont régulièrement renouvelées. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous effectuez une mise à jour à partir d'une ancienne version, vous devez passer par la [procédure de rotation des clés](../security/key-rotation.md#existing-installation), pour supprimer l'ancienne clé et installer la nouvelle. + +## Étape 1 : serveur Centreon MAP + +### Prérequis de la version Java + > Assurez-vous qu'une version de Java 17 (ou 18) est installée avant de commencer la procédure. + + - Pour vérifier quelle version de Java est installée, entrez la commande suivante : + + ```shell + java -version + ``` + + - Pour une mise à jour de Java en version 17 (ou 18), allez sur la [page officielle de téléchargement d'Oracle](https://www.oracle.com/java/technologies/downloads/#java17). + + - Si plusieurs versions de Java sont installées, vous devez activer la bonne version. Affichez les versions installées avec la commande suivante puis sélectionnez la version 17 (ou 18) : + ```shell + sudo update-alternatives --config java + ``` + + Puis redémarrez le service : + ```shell + systemctl restart centreon-map + ``` + +### Procédure + + - Si vous souhaitez configurer votre plateforme en HTTPS, vous aurez besoin de générer un fichier keystore pour la version 17 de Java (ou 18) ([voir procédure](./secure-your-map-platform.md#configuration-httpstls-avec-une-clé-auto-signée)). + +> Si vous utilisez toujours la version **4.0.X**, vous **devez d'abord installer et exécuter le serveur dans la version 4.1.X avant de passer à la dernière version**. + +Exécutez les commandes suivantes pour mettre à niveau votre serveur Centreon MAP : + +1. Mettez à jour les dépôts Centreon et Centreon MAP : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> Installez le dépôt Centreon Business, vous pouvez le trouver sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +2. Mettez à jour le serveur Centreon MAP (Legacy) : + + ```shell + dnf update centreon-map-server + ``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + +> Installez le dépôt Centreon Business, vous pouvez le trouver sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +2. Mettez à jour le serveur Centreon MAP (Legacy) : + + ```shell + dnf update centreon-map-server + ``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +> Installer le dépôt Centreon Business, vous pouvez le trouver sur le [portail du support] (https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +2. Mettez à jour le serveur Centreon MAP (Legacy) : + + ```shell + apt install --only-upgrade centreon-map-server + ``` + + + + +3. Activez et démarrez le service **centreon-map** : + + ```shell + systemctl enable centreon-map + systemctl start centreon-map + ``` + +4. Ce point ne s'applique que si vous avez personnalisé votre fichier de configuration **centreon-map.conf**. +Lors de la mise à jour de votre module MAP, le fichier **/etc/centreon-studio/centreon-map.conf** n'est pas mis à jour automatiquement : le nouveau fichier de configuration apporté par le rpm ne remplace pas l'ancien fichier. +Vous devez copier les modifications manuellement dans votre fichier de configuration personnalisé. + + * L'ancien fichier de configuration est renommé **centreon-map.conf.rpmsave**. + * La mise à jour installe un nouveau fichier **centreon-map.conf**. + + Lancez une comparaison entre l'ancien fichier de configuration et le nouveau : + + ```shell + diff -u /etc/centreon-studio/centreon-map.conf /etc/centreon-studio/centreon-map.conf.rpmsave + ``` + + Pour chaque différence entre les fichiers, évaluez si vous devez la copier de **centreon-map.conf.rpmsave** vers **centreon-map.conf**. + +## Étape 2 : interface web Centreon MAP + + + + +```shell +dnf update centreon-map-web-client +``` + + + + +```shell +dnf update centreon-map-web-client +``` + + + + +```shell +apt install --only-upgrade centreon-map-web-client +``` + + + + +Terminez la montée de version : + +1. Allez dans **Administration > Extensions > Gestionnaire**. +2. Recherchez **Map web client**. +3. Cliquez sur le bouton de mise à jour (parties module & widget). + +## Étape 3 : client lourd Centreon MAP + +Si l'ordinateur de l'utilisateur dispose d'une connexion internet, le client lourd est automatiquement mis à jour vers la dernière version correspondant au serveur. + +Sinon, le client peut être téléchargé via le menu **Supervision > MAP** et le bouton **client lourd**. + +## Étape 4 : mise à jour des dialectes dans les fichiers .properties + +Dans les fichiers **/etc/centreon-studio/centreon-database.properties** et **/etc/centreon-studio/studio-database.properties**, remplacez **MySQL5Dialect** par **MariaDBDialect**. + +> Cette configuration fonctionne également avec une base MySQL. + +## Étape 5 : base de données MariaDB + +> Des erreurs de modification de fichiers de configuration peuvent entraîner des dysfonctionnements du logiciel. Nous vous recommandons de faire une sauvegarde du fichier avant de le modifier et de ne changer que les paramètres conseillés par Centreon. + +1. Arrêtez le service **centreon-map** : + + ```shell + systemctl stop centreon-map + ``` + +2. Si vous faites une mise à jour vers la version 24.04 et plus, vous devez mettre à jour MariaDB en version 10.11. Voir [Mettre à jour MariaDB](../upgrade/upgrade-mariadb.md). + +3. Si vous avez mis à niveau votre plateforme Centreon depuis une version antérieure à 22.10, le nouveau protocole BBDO v3 est activé. +Vous devez modifier le fichier suivant pour permettre à MAP de fonctionner correctement : `/etc/centreon-studio/studio-config.properties`. + + ```text + broker.pb.message.enabled=true + ``` + +4. Démarrez le service **centreon-map** : + + ```shell + systemctl start centreon-map + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/health/helios.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/health/helios.md new file mode 100644 index 000000000000..8f5105f47d86 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/health/helios.md @@ -0,0 +1,531 @@ +--- +id: helios +title: Installer Centreon Helios +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Cette documentation ne concerne que les clients MSP. + +## Introduction + +Helios est un logiciel qui supervise sa machine hôte et les services qui y tournent. + +Helios peut être utilisé pour superviser des serveurs qui exploitent un service Centreon On-Premise (central, serveur distant, collecteur, Map, etc.). + +Les données sont envoyées vers la plateforme Centreon SaaS. Aucune donnée personnelle n'est collectée. + +> Bien que la procédure suivante et que les fichiers de configuration d'Helios en général permettent les personnalisations, nous vous recommandons vivement de laisser les noms de fichiers, etc. tels quels. + +## Prérequis + +- Pour que les métriques parviennent à la plateforme Centreon SaaS (où la supervision de la supervision est effectuée), Helios doit pouvoir accéder à notre endpoint public à l'adresse suivante : + + ```https://api.a.prod.mycentreon.com/v1/observability``` (port 443) + + Vous pouvez tester si votre machine peut accéder à notre endpoint à l'aide de la commande suivante : + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability + ``` + + Vous pouvez aussi faire le test en passant par un proxy avec la commande suivante : + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability \ + --proxy [protocol://]host[:port] --proxy-insecure + ``` + + Exemple : + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability \ + --proxy http://proxy.local.net:3128 --proxy-insecure + ``` + + + Le message suivant sera retourné si la connexion aboutit: + + ``` + "Missing Authentication Token" + ``` + + Si vous recevez une réponse différente ou pas de réponse du tout, c'est que votre machine ne peut pas accéder à notre endpoint, probablement à cause de vos paramètres réseau (pare-feu, proxy, etc.). + + > Si un proxy est configuré sur la machine hôte, vous devez copier l'adresse et le port du proxy dans le fichier de configuration d'Helios (voir la section [Réseau](#réseau)). + +- Si une machine hôte n'a pas d'accès direct à l'extérieur, deux options complémentaires l'une de l'autre se présentent : la [configuration proxy](#configuration-proxy) et la [configuration passerelle](#configuration-en-mode-passerelle). + +- Les fichiers RPM sont disponibles sur les dépôts Centreon officiels des versions actuellement supportées. Le dépôt Centreon officiel doit être installé : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +- Vous devez être en possession de votre jeton unique vous permettant d'envoyer des données vers notre plateforme. Ce jeton vous est fourni par notre équipe support. + +## Installer Helios + +Tous les composants Centreon que vous voulez superviser (central, collecteur, serveur distant, etc.) doivent chacun avoir un Helios installé sur leur machine hôte. + +### Sur un serveur central Centreon + +1. Installez Helios : + + ``` + dnf install centreon-agent + ``` + +2. Si vous installez Helios pour la première fois sur ce serveur, générez le fichier yaml de configuration à l'aide de la commande Shell suivante : + + > Ne réalisez cette étape que si Helios n'a jamais été configuré. Dans le cas contraire, vous écraseriez votre configuration précédente. + + ```yaml + /usr/sbin/centreon-agent config \ + --token [votre-jeton] \ + --type central \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Exemple : + + ```yaml + /usr/sbin/centreon-agent config \ + --token aaaa-aaaa-aaaa-aaaa \ + --type central \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Certains paramètres ont des valeurs par défaut. Éditez le fichier `/etc/centreon-agent/centreon-agent.yml` et vérifiez les valeurs suivantes : + + - centreonengine_stats_file : le nom et le chemin du fichier sont-ils corrects (au cas où vous les auriez personnalisés sur votre plateforme)? + + - centreonbroker_stats_files : le nom et le chemin du fichier sont-ils corrects (au cas où vous les auriez personnalisés sur votre plateforme)? + + - centreonweb : les paramètres de la base de données sont-ils corrects? Le format est le suivant : + + ```yaml + collect: + centreonweb: + config_dsn: [utilisateur]:[mot-de-passe]@tcp([hôtebdd])/[nombddcentreon] + storage_dsn: [utilisateur]:[mot-de-passe]@tcp([hôtebdd])/[nombddcentreon_storage] + ``` + + Exemple : + + ```yaml + collect: + centreonweb: + config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon + storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storage + ``` + + > La fonction Topologie se base sur le fichier `centreon-agent.yml` pour collecter les informations dont il a besoin : ce comportement est codé en dur. Si vous changez le nom de ce fichier YAML, la collecte échouera. + +3. Ajoutez un [tag](#tags) **environment** : + + Ouvrez le fichier `/etc/centreon-agent/centreon-agent.yml` généré à l'installation et ajoutez les informations suivantes dans la section **collect**. + + ```yaml + collect: + tags: + environment: [staging|preproduction|production|your-custom-value] + ``` + + Exemple : + ```yaml + collect: + tags: + environment: production + ``` + + Si vous avez plusieurs environnements du même type, vous pouvez ajouter un _suffixe à votre type d'environnement (par exemple : "production_client1"). + +4. Activez le service **centreon-agent** : + + ``` + systemctl enable centreon-agent.service + ``` + +5. Démarrez le service **centreon-agent** : + + ``` + systemctl start centreon-agent.service + ``` + +6. Exécutez les commandes suivantes : + + ```shell + mv /etc/centreon-gorgone/config.d/cron.d/43-centreon-helios.yaml.disabled /etc/centreon-gorgone/config.d/cron.d/43-centreon-helios.yaml + systemctl restart gorgoned + ``` + +7. Vous pouvez maintenant [configurer Helios](#configurer-helios) (passerelle, proxy etc.), puis [tester](#tester-helios) votre configuration générale. + +### Sur d'autres machines hôtes (serveur distant, collecteur, MAP, etc.) + +1. Installez Helios : + + ``` + dnf install centreon-agent + ``` + +2. Si vous installez Helios pour la première fois sur ce serveur, configurez le fichier `centreon-agent.yml` : + + > Ne réalisez cette étape que si Helios n'a jamais été configuré. Dans le cas contraire, vous écraseriez votre configuration précédente. + + ```yaml + /usr/sbin/centreon-agent config \ + --token [votre-jeton] \ + --type [system|central|remote|poller|map] \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Exemple : + + ```yaml + /usr/sbin/centreon-agent config \ + --token aaaa-aaaa-aaaa-aaaa \ + --type poller \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + +3. Ajoutez un [tag](#tags) **environment** : + + Ouvrez le fichier `/etc/centreon-agent/centreon-agent.yml` généré à l'installation et ajoutez les informations suivantes dans la section **collect**. + + ```yaml + collect: + tags: + environment: [staging|preproduction|production|valeur-personnalisée] + ``` + + Exemple : + + ```yaml + collect: + tags: + environment: production + ``` + + Si vous avez plusieurs environnements du même type, vous pouvez ajouter un suffixe à votre type d'environnement (par exemple : "production_client1"). + +4. Activez le service **centreon-agent** : + + ``` + systemctl enable centreon-agent.service + ``` + +5. Démarrez le service **centreon-agent** : + + ``` + systemctl start centreon-agent.service + ``` + +7. Vous pouvez maintenant [configurer Helios](#configurer-helios) (passerelle, proxy etc.), puis [tester](#tester-helios) votre configuration générale. + +## Configurer Helios + +### Réseau + +Si Helios n'a pas d'accès direct à l'extérieur, deux options vous permettent de résoudre le problème : l'accès via un proxy HTTP et/ou l'accès en mode passerelle. Dans ce dernier, l'instance d'Helios qui a besoin d'accéder à l'extérieur (appelée "Passerelle cliente") peut passer par un autre Helios pouvant accéder à l'extérieur (appelé "Passerelle serveur"). + +**Exemple** + +Votre infrastructure est protégée (en milieu fermé) et un serveur proxy gère tout le trafic sortant. Vous voulez donner accès à l'extérieur uniquement à l'instance d'Helios installée sur la machine hôte du serveur central Centreon. Dans ce cas, vous pourriez configurer votre réseau de la manière suivante : + +- Configurez le proxy sur l'Helios du serveur central pour lui permettre d'accéder à l'extérieur + +- Configurez cet Helios en tant que passerelle serveur + +- Configurez tous les autres Helios (installés sur les collecteurs, serveurs distants, MAP, etc.) en tant que passerelles clientes + +#### Configuration proxy + +Si un accès proxy est configuré sur la machine hôte, copiez les paramètres du proxy dans le fichier `/etc/centreon-agent/centreon-agent.yml` à l'endroit suivant : + +```yaml +output: + token: [votre-jeton] + proxy_url: [addresse-du-proxy]:[port] + proxy_ssl_insecure: [true|false] +``` + +Exemple : + +```yaml +output: + token: aaaa-aaaa-aaaa-aaaa + proxy_url: http//proxy.local.net:3128 + proxy_ssl_insecure: false +``` + +Redémarrez ensuite Helios : + +``` +systemctl restart centreon-agent.service +``` + +#### Configuration en mode passerelle + +- Passerelle Serveur: copiez le code suivant dans le fichier `/etc/centreon-agent/centreon-agent.yml` de l'Helios qui tiendra le rôle de passerelle serveur. Pour renforcer la sécurité des échanges entre la passerelle client et la passerelle serveur, vous pouvez définir un jeton d'authentification `auth-token`, c'est-à-dire la chaîne de caractères de votre choix (différente du jeton que vous avez entré pour configurer le fichier `centreon-agent.yml`). + + ```yaml + gateway: + enable: true + listen_port: [port-d-écoute] + auth_token: [votre-jeton-de-passerelle] + ``` + + Example: + + ```yaml + gateway: + enable: true + listen_port: 54321 + auth_token: azerty1234 + ``` + + Redémarrez ensuite Helios : + + ``` + systemctl restart centreon-agent.service + ``` + +- Passerelle cliente + + En mode passerelle, la passerelle cliente délègue la configuration de son jeton principal à la passerelle serveur (puisque seule celle-ci communique avec la Plateforme Centreon SaaS). En conséquence, commentez la ligne `token` à l'aide de l'opérateur yaml “#”. + Si vous avez défini un jeton d'authentification (`auth_token`) sur la passerelle serveur, vous devez également l'ajouter à la configuration de la passerelle cliente. + + ```yaml + output: + #token: [votre-jeton] + gateway: + url: http://[addresse-ip-de-la-passerelle-serveur]:[port-d-écoute] + auth_token: [votre-jeton-de-passerelle] + ``` + + Exemple : + + ```yaml + output: + #token: aaaa-aaaa-aaaa-aaaa + gateway: + url: http://172.28.6.145:54321 + auth_token: azerty1234 + ``` + + Redémarrez ensuite Helios : + + ``` + systemctl restart centreon-agent.service + ``` + +### Activer la collecte de logs Centreon + +À partir de la version 2 d'Helios, il est possible de récupérer les logs générés par le composant Centreon supervisé. + +Pour définir quels logs doivent être récupérés, vous devez créer des fichiers yml de configuration dans le dossier suivant : `/etc/centreon-agent/conf.d`. +Pour récupérer un log précis, le fichier de configuration doit contenir les arguments suivants : `path`, `type` et `pattern` du log choisi. Exemple : + +``` +- path: /var/log/centreon-gorgone/gorgoned.log + pattern: "%{CENTREONGORGONE}" + type: file +``` + +Vous pouvez avoir plusieurs fichiers de configuration (chaque fichier est analysé et les fichiers de logs définis sont ajoutés à la collecte). + +#### Utiliser les modèles + +Pour simplifier la configuration de la collecte de logs, des modèles pré-configurés sont fournis. Chaque modèle couvre un périmètre spécifique en fonction du composant Centreon, de sa version, etc. + +Les modèles sont situés dans le répertoire suivant : + +``` +/usr/share/centreon-agent/examples +``` + +Suivant le composant Centreon supervisé, vous pouvez simplement copier-coller le modèle correspondant dans votre répertoire `/etc/centreon-agent/conf.d`. + +#### Finaliser la configuration des modèles + +> Pour les collecteurs Centreon, les fichiers de log sont préfixés du nom du collecteur. Vous devez donc adapter le modèle. +> Ouvrez le modèle `poller` et remplacez tous les noms génériques `POLLERNAME` dans la section `path` par le vrai nom du collecteur. + +Les modèles fournis fonctionneront directement avec une installation Centreon standard. En cas de doute, vous pouvez localiser le fichier de log désiré et comparer son chemin avec celui indiqué dans la section `path` du modèle. + +En cas d'erreurs, vous trouverez des explications détaillées du problème dans les logs d'Helios, dans `/var/log/centreon-agent/centreon-agent.log`. + +#### Démarrer la collecte des logs + +Une fois la collecte de vos logs configurée, redémarrez Helios en utilisant la commande suivante : + +``` +systemctl restart centreon-agent.service +``` + +### Tags + +Helios peut contextualiser la collecte de données avec vos propres tags personnalisés afin de définir son périmètre d'action. Ces tags seront utilisés par la suite pour agréger les données de supervision et créer des tableaux de bord ou des rapports dans des contextes pertinents. + +> Nous recommandons fortement que le premier tag que vous définissiez soit “environment” afin de disposer d'une référence commune à tous les utilisateurs. + +Les tags peuvent être configurés dans le fichier YAML `/etc/centreon-agent/centreon-agent.yml` généré à l'installation. Les tags sont sensibles à la casse (`production` et `Production` sont considérés comme deux tags différents). + +```yaml +collect: + tags: + environment: [staging|preproduction|production|valeur-personnalisée] + [tag2]: [valeur-personnalisée2] + [tag3]: [valeur-personnalisée3] +``` + +```yaml +collect: + tags: + environment: production + City: Paris +``` + +Redémarrez ensuite Helios : + +``` +systemctl restart centreon-agent.service +``` + +### Base de données déportée + +Si le composant Centreon supervisé par Helios est configuré avec une base de donnée spécifique ou déportée, vous pouvez spécifier l'accès à la base de données dans le fichier YAML `/etc/centreon-agent/centreon-agent.yml` généré à l'installation. + +```yaml +collect: + centreonweb: + config_dsn: [utilisateur]:[mot-de-passe]@tcp([hôtebdd])/[nombddcentreon] + storage_dsn: [utilisateur]:[mot-de-passe]@tcp([hôtebdd])/[nombddcentreon_storage] +``` + +Exemple : + +```yaml +collect: + centreonweb: + config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon + storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storage + +``` + +Redémarrez ensuite Helios : + +``` +systemctl restart centreon-agent.service +``` + +### Rotation des logs + +Helios enregistre toute activité (nominale ou en erreur) dans le fichier `/var/log/centreon-agent/centreon-agent.log`. + +Par défaut, un fichier `/etc/logrotate.d/centreon-agent` a été créé à l'installation et configuré de la manière suivante : + +``` +/var/log/centreon-agent/centreon-agent.log { + daily + copytruncate + rotate 7 + compress +} +``` + +Vous pouvez le laisser ainsi ou bien ajuster la politique de rotation des logs pour mieux correspondre à vos besoins en utilisant les paramètres de [logrotate](https://linux.die.net/man/8/logrotate). + +## Tester Helios + +### Tester le service centreon-agent + +À cette étape, le service **centreon-agent** doit tourner, et être paramétré pour se lancer au démarrage du système. +La commande suivante vérifie que le service a été configuré correctement : + +``` +systemctl status centreon-agent +``` + +Si tout s'est bien passé, le résultat ressemblera à l'exemple suivant : + +``` +systemctl status centreon-agent +● centreon-agent.service - The Centreon Agent collect metrics and send them to Centreon SaaS Platform + Loaded: loaded (/etc/systemd/system/centreon-agent.service; enabled; vendor preset: disabled) + Active: active (running) since ven. 2019-11-08 14:52:26 CET; 5 days ago + Main PID: 22331 (centreon-agent) + CGroup: /system.slice/centreon-agent.service + └─22331 /usr/sbin/centreon-agent run +``` + +### Tester la collecte de données + +Une fois l'installation et la configuration terminées, vous pouvez utiliser la commande suivante pour forcer la collecte de données : + +``` +centreon-agent sample +``` + +Le résultat devrait ressembler à ça : + +``` +1624977737000000// centreonengine_uptime_seconds{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 693583 +1624977737000000// centreonengine_command_buffers_used{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_command_buffers_high{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_command_buffers_total{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 4096 +1624977737000000// centreonengine_external_command_1m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_general_external_command_5m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +``` + +Si vous obtenez des erreurs en testant la collecte, les logs du fichier `/var/log/centreon-agent/centreon-agent.log` peuvent vous aider à résoudre le problème. + +### Tester l'accès à la plateforme Centreon SaaS + +Une fois l'installation et la configuration terminées, utilisez la commande suivante pour tester la connexion entre Helios et la plateforme Centreon SaaS : + +``` +centreon-agent ping --config [chemin vers votre fichier centreon-agent.yml] +``` + +Helios retournera l'un des messages suivants : + +- **Unable to reach the Centreon Cloud Platform, check your network configuration** : vérifiez votre configuration réseau (proxy etc.) + +- **Centreon Cloud Platform reached successfully but your token is not recognized** : votre jeton n'est pas reconnu + +- **Centreon Cloud Platform reached successfully and authentication was successful** : Helios est bien connecté à notre plateforme. + +## Mettre à jour Helios + +Pour mettre à jour Helios, entrez : + +``` +dnf clean all --enablerepo=* +``` + +``` +dnf update centreon-agent +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-configuration.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-configuration.mdx new file mode 100644 index 000000000000..427f4dc8ab1c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-configuration.mdx @@ -0,0 +1,205 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Il est obligatoire de définir un mot de passe pour l'utilisateur root de la base de données. + +Sécurisez l'accès root à MariaDB en exécutant la commande suivante : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +Ensuite, dans la base de données distante, créez un utilisateur avec des privilèges **root**. Vous devrez entrer cet utilisateur pendant +le processus d'installation web (à [étape 6](./web-and-post-installation.md#étape-6-database-information), +dans les champs **Root user** et **Root password**). + +```SQL +CREATE USER ''@'' IDENTIFIED BY ''; +GRANT ALL PRIVILEGES ON *.* TO ''@'' WITH GRANT OPTION; +FLUSH PRIVILEGES; +``` + +Exemple : + +```shell +CREATE USER 'dbadmin'@'' IDENTIFIED BY ''; +GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'' WITH GRANT OPTION; +FLUSH PRIVILEGES; +``` + +> Remplacez **\** par l'adresse IP du serveur central qui se connectera au serveur de bases de données. +> +> Remplacez **\** et **\** par les identifiants de l'utilisateur. + +Cet utilisateur ne sera utilisé que pour le processus d'installation. Une fois [l'installation web](./web-and-post-installation.md) terminée, vous pouvez supprimer cet utilisateur via la commande suivante : + +```SQL +DROP USER ''@''; +``` + +Exemple : + +```SQL +DROP USER 'dbadmin'@''; +``` + + + + +* Le paquet **centreon-mariadb** installe une configuration de MariaDB optimisée pour être utilisée avec Centreon. + +> Si ce paquet n'est pas installé, la limitation du système **LimitNOFILE** devrait être +> au moins fixée à **32000** à l'aide d'un fichier de configuration dédié, par exemple : +> +> ```shell +> $ cat /etc/systemd/system/mariadb.service.d/centreon.conf +> [Service] +> LimitNOFILE=32000 +> ``` + +* Idem pour la directive MariaDB **open_files_limit** : + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/mysql/mariadb.conf.d/80-centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` +> +> MariaDB doit écouter sur toutes les interfaces au lieu d'écouter sur localhost/127.0.0.1, qui est la valeur par défaut. Éditez le fichier suivant : +> +> ```shell +> /etc/mysql/mariadb.conf.d/50-server.cnf +> ``` +> +> Attribuez au paramètre **bind-address** la valeur **0.0.0.0** et redémarrez mariadb. +> +> ```shell +> systemctl restart mariadb +> ``` + + + + + + + +* Le paquet **centreon-mysql** installe une configuration de MySQL optimisée pour être utilisée avec Centreon. + +> Si ce paquet n'est pas installé, la limitation du système **LimitNOFILE** devrait être +> au moins fixée à **32000** à l'aide d'un fichier de configuration dédié, par exemple : +> +> ```shell +> $ cat /etc/systemd/system/mysqld.service.d/centreon.conf +> [Service] +> LimitNOFILE=32000 +> ``` + +* Idem pour la directive MySQL **open_files_limit** : + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/mysql/mysql.conf.d/80-centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` +> +> MySQL doit écouter sur toutes les interfaces au lieu d'écouter sur localhost/127.0.0.1, qui est la valeur par défaut. Éditez le fichier suivant : +> +> ```shell +> /etc/mysql/mysql.conf.d/50-server.cnf +> ``` +> +> Attribuez au paramètre **bind-address** la valeur **0.0.0.0** et redémarrez mysql. +> +> ```shell +> systemctl restart mysqld +> ``` + + + + + + + +> En plus des directives ci-dessus, il est fortement recommandé d'adapter la configuration de la base de données avec les paramètres suivants : +> +> ```shell +> [server] +> key_buffer_size = 256M +> sort_buffer_size = 32M +> join_buffer_size = 4M +> thread_cache_size = 64 +> read_buffer_size = 512K +> read_rnd_buffer_size = 256K +> max_allowed_packet = 128M +> ``` +> +> En option, régler l'utilisation de la mémoire et des tampons du moteur InnoDB alimentant les +> tables. L'exemple ci-dessous s'applique à un serveur de base de données avec 8 Go de RAM. +> +> ```shell +> innodb_buffer_pool_size=1G +> ``` +> + +> N'oubliez pas de redémarrer la base de données après modification de la configuration. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-enable-restart.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-enable-restart.mdx new file mode 100644 index 000000000000..6fa5e6da5c31 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-enable-restart.mdx @@ -0,0 +1,43 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +```shell +systemctl enable mariadb +systemctl restart mariadb +``` + + + + + + + +```shell +systemctl enable mysqld +systemctl restart mysqld +``` + + + + +```shell +systemctl enable mysqld +systemctl restart mysqld +``` + + + + +```shell +systemctl enable mysql +systemctl restart mysql +``` + + + + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-local-install.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-local-install.mdx new file mode 100644 index 000000000000..155330a03fac --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-local-install.mdx @@ -0,0 +1,83 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + + + + +```shell +dnf install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +dnf install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +apt update +apt install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + + + + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql centreon +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql centreon +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +apt update +apt install -y centreon-mysql +apt install -y centreon +# Selectionner "Use Legacy Authentication Method" +systemctl daemon-reload +systemctl restart mysql +``` + + + + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-remote-install.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-remote-install.mdx new file mode 100644 index 000000000000..5bd0876d3b1d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-remote-install.mdx @@ -0,0 +1,117 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseConfiguration from './_database-configuration.mdx'; + +> Si vous installez la base de données sur un serveur dédié, ce serveur doit également avoir +> les dépôts requis. + +Exécutez la commande suivante sur le serveur central : + + + + +```shell +dnf install -y centreon-central +``` + + + + +```shell +dnf install -y centreon-central +``` + + + + +```shell +apt update +apt install -y centreon-central +``` + + + + +Exécutez ensuite les commandes suivantes sur le serveur dédié à votre base de données : + + + + + + + +```shell +dnf install -y centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +dnf install -y centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +apt update +apt install -y --no-install-recommends centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + + + + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +apt update +apt install -y --no-install-recommends centreon-mysql +# Selectionner "Use Legacy Authentication Method" +systemctl daemon-reload +systemctl restart mysql +``` + + + + + + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-repository.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-repository.mdx new file mode 100644 index 000000000000..79e13baf2c13 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/_database-repository.mdx @@ -0,0 +1,61 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + + + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + + + + + + + + + + + +*Rien à faire, MySQL 8.0 est déjà disponible dans les dépôts officiels.* + + + + +*Rien à faire, MySQL 8.0 est déjà disponible dans les dépôts officiels.* + + + + +```shell +wget -P /tmp/ https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb +apt install /tmp/mysql-apt-config_0.8.29-1_all.deb +# Selectionner Ok pour valider l'installation de "MySQL Tools & Connectors" +apt update +``` + + + + + + \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/architectures.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/architectures.md new file mode 100644 index 000000000000..aeaab25e1ebe --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/architectures.md @@ -0,0 +1,54 @@ +--- +id: architectures +title: Architectures +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Si vous ne supervisez qu'un petit nombre d'hôtes et de services, un serveur central est suffisant. Cependant, si vous supervisez un grand nombre d'hôtes et de services, vous devrez distribuer la charge sur plusieurs serveurs. + +> Si vous ne connaissez pas les termes "serveur distant" et "collecteur", voyez [Éléments d'une plateforme Centreon](../getting-started/platform.md). + +## Architectures disponibles + +### Serveur central seul + +Si vous ne supervisez que peu d'hôtes, vous n'aurez besoin que d'un serveur central. Le serveur central effectuera toute la supervision lui-même. + +### Architecture distribuée + +Une architecture distribuée consiste en : + +* Un serveur central qui permet de configurer la supervision, d'afficher les données collectées et d'agir dessus. +* Un ou plusieurs collecteurs qui permettent d'afficher les données collectées et d'agir dessus. + +et/ou + +* Un ou plusieurs collecteurs, qui collectent les données. + +Tous les serveurs de votre architecture (serveur central, serveurs distants et collecteurs) doivent avoir la même version majeure de Centreon. Il est également recommandé d'avoir la même version mineure. + +Exemple d'architecture distribuée avec 3 serveurs distants et 6 collecteurs. Notez qu'un collecteur peut aussi être rattaché directement à un serveur central. + +![image](../assets/getting-started/archi.png) + +### SGBD déporté + +Votre serveur central peut avoir une base de données déportée. Une architecture avec base de données déportée consiste en : + +* Un serveur central qui permet de configurer la supervision, d'afficher les données collectées et d'agir dessus. +* Un serveur de base de données chargé de stocker toutes les données collectées +* En option, un ou plusieurs serveurs distants/collecteurs qui collectent des données. + +## De quel type d'architecture avez-vous besoin ? + +![image](../assets/installation/architecture_decision.png) + +Lorsque vous construirez votre plateforme Centreon, gardez les points suivants à l'esprit : + +* Le nombre d'hôtes à superviser n'est pas suffisant pour déterminer la taille de votre plateforme. Vous devrez également prendre en compte le nombre de services par hôtes, ainsi que le nombre de métriques par service. +* Un autre critère à prendre en compte est si vous devez utiliser des collecteurs ou des serveurs distants pour séparer vos ressources suivant des critères géographiques ou logiques. Exemple : Si votre plateforme doit superviser une DMZ, il est plus simple (et plus sûr) de placer un serveur distant dans le réseau de la DMZ. +* Un serveur central ne doit superviser qu'un petit nombre d'hôtes et de services, car son CPU doit d'abord gérer les données en provenance des serveurs distants et des collecteurs (la remarque est également vraie pour des serveurs distants). Plus vous supervisez d'hôtes et de services sur votre serveur central, plus il existe de risque que l'interface soit ralentie, car le moteur de supervision utilisera plus de ressources. +* Le serveur central doit superviser tous les serveurs distants et les collecteurs de votre architecture. +* Le serveur central doit être supervisé par un collecteur ou un serveur distant. +* Utilisez un serveur distant au lieu d'un collecteur si vous avez besoin de visulaser des données sur un site autre que celui du serveur central. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/compatibility.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/compatibility.md new file mode 100644 index 000000000000..3948891c99a8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/compatibility.md @@ -0,0 +1,49 @@ +--- +id: compatibility +title: Compatibilité +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Interface web de Centreon + +L'interface Centreon web est compatible avec les navigateurs web suivants : + +* Google Chrome (version la plus récente lors de la sortie du logiciel Centreon, et suivantes). Rendez-vous sur la [FAQ de Google Chrome](https://support.google.com/chrome/a/answer/188447?hl=fr) pour consuler la politique de support Chrome. +* Mozilla Firefox (version la plus récente lors de la sortie du logiciel Centreon, et suivantes). Rendez-vous sur la [FAQ Mozilla](https://www.mozilla.org/en-US/firefox/organizations/faq/) pour consuler la politique de support Firefox. +* Apple Safari (version la plus récente lors de la sortie du logiciel Centreon, et suivantes) +* Microsoft Edge Chromium (version la plus récente lors de la sortie du logiciel Centreon, et suivantes) + +Si une mise à jour de ces navigateurs devait causer une incompatibilité, Centreon travaillerait à résoudre le problème le plus vite possible (pour les versions de Centreon supportées). D'autres navigateurs peuvent fonctionner, cependant Centreon ne tentera pas de résoudre les problèmes avec des navigateurs autres que ceux listés ci-dessus. + +Votre résolution doit être au minimum à 1280 x 768. + +## Logiciels + +### Système d'exploitation + +Les OS supportés par Centreon sont les suivants : + +| Version | Mode d'installation | +|--------------------------------|-------------------------------------------------------| +| Alma Linux 8 | paquets RPM, sources, machine virtuelle | +| RHEL/Oracle Linux 8 | paquets RPM, sources | +| RHEL/Oracle Linux/Alma Linux 9 | paquets RPM, sources | +| Debian 12 (bookworm) | paquets DEB | + +Voir notre article de base de connaissances [How to install Linux to host Centreon software](https://thewatch.centreon.com/product-how-to-21/how-to-install-linux-to-host-centreon-software-3759). + +Les utilisateurs Open Source, sans contrat de support, peuvent utiliser une autre distribution GNU/Linux. +L'installation de la plate-forme sera plus complexe, à partir des fichiers sources de chaque composant. +Attention, les modules de l'IT Edition et de la Business Edition ne fonctionnent pas encore sur une distribution non supportée. + +> Seuls les systèmes d'exploitation 64bits (x86_64) sont supportés. + +### SGBD + +| Logiciel | Version | +|----------|------------------| +| MariaDB | 10.11 | +| MySQL | 8.0 | + +> Vous pouvez utiliser un autre SGBD basé sur MySQL, mais celui-ci sera uniquement supporté par la communauté. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/download.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/download.md new file mode 100644 index 000000000000..a01f94ae053d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/download.md @@ -0,0 +1,21 @@ +--- +id: download +title: Téléchargements +--- + +De manière générale, les logiciels Open Source fournis par Centreon sont disponibles sous [3 formats](../installation/compatibility.md#système-dexploitation) : + +* [Paquets RPM et DEB](https://download.centreon.com) (recommandé), +* [Machine virtuelle](https://download.centreon.com), +* [Archives contenant les sources](https://download.centreon.com). + +Les paquets RPM sont le meilleur format pour obtenir nos logiciels. Ces derniers ont été packagés par des experts +Centreon et permettent de ne pas se soucier du processus d'installation. + +> Centreon recommande l'utilisation de la version [Centreon RPM packages](installation-of-a-central-server/using-packages.md). + +Si votre plate-forme ne supporte pas les paquets RPMs, vous devrez utiliser les archives contenant les sources des +versions stables de nos logiciels et installer ces derniers manuellement. La compilation manuelle de certains paquets +peut être complexe. + +Vous pouvez télécharger les sources de nos produits sur notre [site de téléchargements](https://download.centreon.com) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/inside-centreon.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/inside-centreon.md new file mode 100644 index 000000000000..8547d58a6af8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/inside-centreon.md @@ -0,0 +1,85 @@ +--- +id: inside-centreon +title: À l'intérieur de Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Voici une présentation des briques qui font marcher Centreon. Pour savoir sur quel port communique chaque brique, voir les [Tableaux des flux réseau](https://docs.centreon.com/fr/docs/installation/technical/#tableaux-des-flux-réseau). + +## Schéma d'un serveur central + + + + +Dans cet exemple, nous avons un serveur central (sans modules Business installés), et un collecteur qui lui est directement rattaché. + +![image](../assets/installation/inside_central_poller.png) + + + + +## Éléments d'un Centreon + +### Engine + +* **Engine**, (le moteur de supervision, c'est-à-dire le processus **centengine**) est le cœur de Centreon: il planifie les contrôles, les exécute, et [envoie des notifications aux utilisateurs](https://docs.centreon.com/fr/docs/alerts-notifications/notif-concept) lorsqu'un incident se produit. +* Les contrôles et les notifications sont effectués suivant la configuration faite par les utilisateurs. +* Centreon Engine est présent sur chaque serveur dans votre [architecture](https://docs.centreon.com/fr/docs/installation/architectures): [collecteurs, serveurs distants, ainsi que le serveur central](https://docs.centreon.com/fr/docs/platform). +* Pour configurer Engine, allez à la page **Configuration > Collecteurs > Configuration de Centreon Engine**. Cette page est réservée aux utilisateurs aguerris. + +### cbmod + +* Le module jumeau d'Engine, **cbmod**, transforme les évènements Engine en évènements Broker, et envoie toutes les données à Broker. +* Le mot évènement désigne les résultats de contrôles, une [plage de maintenance](https://docs.centreon.com/fr/docs/alerts-notifications/downtimes), un [acquittement](https://docs.centreon.com/fr/docs/alerts-notifications/acknowledge), un changement dans la configuration. +* **cbmod** est un type de [broker](#broker)et peut être configuré comme tout Broker à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. + +### Broker + +* Il existe en réalité 2 Brokers: 1 **master Broker** et 1 **Broker RRD**. +* Seuls le serveur central et les serveurs distants contiennent des Brokers. +* Engine envoie les données au master Broker: + * Le master Broker écrit les données dans les [bases MariaDB/MySQL](#a-mariadbmysql-database). + * Le master Broker envoie une copie des [métriques](https://docs.centreon.com/fr/docs/monitoring/metrics) et des [statuts](https://docs.centreon.com/fr/docs/alerts-notifications/concepts) au Broker RRD afin qu'il les écrive dans la [base de données RRD](#a-rrd-databaserrd-files). +* Les données sont envoyées au [format BBDO](https://docs.centreon.com/fr/docs/developer/developer-broker-bbdo/). +* Chaque Broker a des entrées (inputs) et des sorties (outputs) que vous pouvez configurer. Par défaut, Broker est principalement installé avec des entrées et sorties IPv4 (en réalité, une sortie IPv4 vers la base RRD et une sortie Unified SQL vers la base de données MariaDB/MySQL). Cependant, il est recommandé de configurer un client et un serveur BBDO entre Engine et le master Broker, car cette configuration est plus simple. +* Pour configurer un Broker, utlisez la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +* Si vous décidez que votre master Broker doit [recevoir les données en HTTPS](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/advanced-configuration/#authentification-avec-centreon-broker), alors vous devez configurer également en HTTPS chaque Engine qui communique avec ce Broker. + +Voir aussi : + +* [Centreon Broker dans la section Ressources développeur](https://docs.centreon.com/fr/docs/developer/developer-centreon-broker). +* [Configuration avancée de Centreon Broker](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/advanced-configuration/#pour-aller-plus-loin-avec-centreon-broker). + +### Gorgone + +* **Gorgone** est présent sur le serveur central, sur vos serveurs distants et sur vos collecteurs. +* Gorgone permet à l'interface de parler à l'Engine du serveur central, et de parler aux Engines de vos serveurs distants et de vos collecteurs, synchronisant les données entre eux. +* Les données de configuration sont transférées depuis le central vers les engines des collecteurs et des serveurs distants au format ZMQ. +* Quand vous [déployez la configuration](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/deploying-a-configuration), Gorgone prend les fichiers générés et les copie sur tous les engines des collecteurs et des serveurs distants, et redémarre ceux-ci. + +Voir aussi : [Centreon Gorgone dans la section Ressources développeur](https://docs.centreon.com/fr/docs/developer/developer-centreon-gorgone). + +### Une base de données MariaDB/MySQL + +La base de données MariaDB/MySQL contient 2 bases : + + * **centreon**, qui contient la configuration (c'est-à-dire tous les objets créés par les utilisateurs : hôtes, services, etc). + * **centreon_storage**, qui contient toutes les données temps réel reçues par Broker : données de performance ([métriques](https://docs.centreon.com/fr/docs/monitoring/metrics)), [statuts](https://docs.centreon.com/fr/docs/alerts-notifications/concepts) et [états](https://docs.centreon.com/fr/docs/alerts-notifications/concepts/#states) et la date et l'heure de tout changement, ainsi que les acquittements et les plages de maintenance. + +La base de données MariaDB ou MySQL peut être intégrée à votre serveur central, ou bien [déportée](https://docs.centreon.com/fr/docs/installation/architectures/#sgbd-déporté). + +### Une base de données RRD (fichiers RRD) + +Les fichiers RRD contiennent les données de performance (métriques) et les statuts, et servent à générer les graphiques (pages **Supervision > Statut des ressources**, **Supervision > Informations de performance > Graphiques**, **Administration > Statut de la plateforme > Statistiques du moteur**). +Les métriques et les statuts stockés ici sont une copie de ceux stockés dans la base **centreon_storage** (les RRD sont utilisés pour des raisons de performances). Si vous avez perdu vos graphes pour une raison ou pour une autre, vous pouvez [reconstruire votre base RRD](https://docs.centreon.com/fr/docs/administration/backup/#reconstruction-des-graphiques) depuis la base **centreon_storage**. + +### Un serveur web + +Le serveur web (processus **httpd**) présente l'interface graphique aux utilisateurs. Elle envoie les évènements à la base MariaDB/MySQL, et à Gorgone. + +## Exemple: que se passe-t-il lorsqu'un hôte est créé ? + +1. Un utilisateur crée un hôte dans l'interface du serveur central (via la page **Configuration > Hôtes > Hôtes**). +2. **httpd** envoie la configuration de l'hôte à la base **centreon** (dans MariaDB ou MySQL). +3. L'utilisateur [déploie la configuration](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/deploying-a-configuration): Gorgone prend les fichiers générés et les copie sur tous les engines de tous les collecteurs et des serveurs distants, et relance ceux-ci. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/unattended.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/unattended.md new file mode 100644 index 000000000000..aea007383b3c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/unattended.md @@ -0,0 +1,90 @@ +--- +id: unattended-install-central +title: Installation silencieuse d'un serveur central +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour installer un serveur central plus rapidement, vous pouvez utiliser un script. Le script exécutera la procédure d'installation complète, installation web incluse. + +## Procédure d'installation + +1. Mettez votre système à jour : + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Remplacez **my_username** et **my_password** par les identifiants de votre compte RedHat. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Téléchargez le script à l'aide de la commande suivante : + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Exécutez la commande suivante en **root** : + +* Pour spécifier le mot de passe du compte **admin** par défaut : + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* Pour obtenir un mot de passe autogénéré pour le compte **admin** par défaut (le script vous indiquera où le mot de passe est stocké) : + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +Dans les deux cas, vous obtiendrez un fichier de log complet avec toutes les erreurs dans votre répertoire **tmp**, fichier nommé **unattended(date).log**. + +> Pour obtenir de l'aide sur le script, utilisez la commande suivante :`bash unattended.sh -h` + +4. Configurez Centreon + +Connectez-vous à l'interface web de Centreon avec l'URL `http://[SERVER_IP]/centreon` en remplaçant [SERVER_IP] par l'adresse IP de votre serveur. +Une fois connecté, suivez les instructions décrites [ici](../../web-and-post-installation/#initialization-of-the-monitoring). + +5. Commencez à utiliser Centreon + +Suivez notre [guide de démarrage](../../getting-started/welcome.md) pour commencer à superviser. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-packages.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-packages.md new file mode 100644 index 000000000000..38fb6e07a841 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-packages.md @@ -0,0 +1,510 @@ +--- +id: using-packages +title: À partir des paquets +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseRepository from '../_database-repository.mdx'; +import DatabaseLocalInstall from '../_database-local-install.mdx'; +import DatabaseRemoteInstall from '../_database-remote-install.mdx'; +import DatabaseEnableRestart from '../_database-enable-restart.mdx'; + +Centreon fournit des paquets RPM et DEB pour ses produits via la version Centreon Open Source disponible gratuitement dans notre dépôt. + +Ces paquets peuvent être installés sur Alma/RHEL/Oracle Linux 8 et 9 et sur Debian 12. + +> Vous devez exécuter la procédure d'installation en tant qu'utilisateur privilégié. + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +## Prérequis + +Après avoir installé votre serveur, mettez à jour votre système d'exploitation à l'aide de la commande suivante : + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +> Acceptez toutes les clés GPG proposées et redémarrez votre serveur +> si une mise à jour du noyau est proposée. + +## Étape 1 : Pré-installation + +### Désactiver SELinux + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +``` + +Vous devriez obtenir ce résultat : + +```shell +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le démarrage du système, effectuez une vérification rapide de l'état de SELinux : + +```shell +getenforce +``` + +Vous devriez obtenir ce résultat : + +```shell +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +SELinux n'est pas installé sur Debian 12, continuez. + + + + +### Configurer ou désactiver le pare-feu + +Si votre pare-feu système est actif, [paramétrez-le](../../administration/secure-platform.md#activer-firewalld). +Vous pouvez également le désactiver le temps de l'installation : + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +### Installer les dépôts + + + + +#### Dépôt Remi + +Pour installer Centreon, vous devez installer le dépôt **remi**. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled 'powertools' +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Dépôt Remi et CodeReady Builder + +Pour installer Centreon, vous devez installer les dépôts **remi** et **CodeReady Builder**. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Dépôts Remi et CodeReady Builder + +Pour installer Centreon, vous devez installer les dépôts **remi** et **CodeReady Builder**. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +#### Installer les dépendances + +Installez les dépendances suivantes : + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +#### Installer le dépôt Sury APT pour PHP 8.2 + +Pour installer le dépôt Sury, exécutez la commande suivante : + +```shell +echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list +``` + +Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://packages.sury.org/php/apt.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/php.gpg > /dev/null 2>&1 +apt update +``` + + + + +#### Dépôt de base de données + + + +#### Dépôt Centreon + +Pour installer le logiciel Centreon, vous devez d'abord installer le dépôt Centreon. + +Installez le dépôt Centreon à l'aide de la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +### Étape 2 : Installation + +Cette section décrit comment installer un serveur central Centreon. + +Vous pouvez installer ce serveur avec une base de données locale au serveur, ou +une base de données distante sur un serveur dédié. + + + + + + + + + + +### Étape 3 : Configuration + +### Nom du serveur + +Si vous le souhaitez, vous pouvez changer le nom d'hôte du serveur en utilisant la commande suivante : + +```shell +hostnamectl set-hostname new-server-name +``` + +Remplacez **new-server-name** par le nom que vous souhaitez. Exemple : + +```shell +hostnamectl set-hostname central +``` + +### Démarrage des services au démarrage du système + +Pour que les services démarrent automatiquement au démarrage du système, exécutez les commandes suivantes +sur le serveur central : + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php8.2-fpm apache2 centreon cbd centengine gorgoned centreontrapd snmpd snmptrapd +``` + + + + +Exécutez ensuite la commande suivante (sur le serveur central si vous utilisez une base de données locale, ou sur votre serveur de base de données distant) : + + + +### Sécuriser la base de données + +Il est obligatoire de sécuriser l'accès root de la base de données avant d'installer Centreon. +Si vous utilisez une base de données locale, exécutez la commande suivante sur le serveur central : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Répondez **oui** à toutes les questions, sauf à "Disallow root login remotely ?". +* Il est obligatoire de définir un mot de passe pour l'utilisateur **root** de la base de données. Ce mot de passe vous sera demandé pendant l'[installation web](../web-and-post-installation.md). + +> Pour plus d'informations, veuillez consulter la [documentation officielle de MariaDB](https://mariadb.com/kb/en/mysql_secure_installation/). + +## Étape 4 : Installation web + +1. Démarrez le serveur Apache avec la +commande suivante : + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start apache2 +``` + + + + +2. Pour terminer l'installation, suivez la procédure +d'[installation web](../web-and-post-installation.md#web-installation). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md new file mode 100644 index 000000000000..7abc91c390b2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md @@ -0,0 +1,299 @@ +--- +id: using-virtual-machines +title: À partir d'une VM +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Sur sa [page de téléchargement](https://download.centreon.com), Centreon fournit des machines virtuelles prêtes à l’emploi. Ces machines virtuelles sont disponibles pour les environnements +VMware et pour l'outil Oracle VirtualBox. + +Elles sont basées sur les systèmes d'exploitation **Alma Linux 8 et 9** et **Debian 12** et incluent +une installation de Centreon permettant de démarrer en toute simplicité votre première supervision. + +> L'installation par machine virtuelle n'est adaptée que pour utiliser IT-100, ou à des fins de test. + +Les VMs sont configurées en **Thin Provision** pour économiser autant d'espace libre que possible sur le disque (meilleure pratique). + +## Prérequis + +La machine hôte doit avoir les caractéristiques suivantes : + +- Processeur : Tout processeur Intel ou AMD récent avec au moins 2vCPU. +- Mémoire : Selon vos systèmes d'exploitation, vous aurez besoin d'au moins 1 Go + de RAM. Pour profiter pleinement de l'expérience, vous avez besoin d'au moins + 2 Go de mémoire libre. +- Espace disque : La machine virtuelle nécessite au moins 6,5 Go d'espace libre + sur votre disque dur. Cependant, si vous souhaitez continuer à utiliser Centreon, + il est recommandé d'avoir au moins 10 Go car sa taille augmentera avec le temps. + +## Étape 1 : Télécharger la machine virtuelle + +1. Vérifiez que votre solution de virtualisation (VirtualBox ou VMWare) est installée sur votre machine et à jour. + +2. Selon le type de licence que vous souhaitez utiliser, allez à l'une des pages suivantes : + + + + +1. Allez sur la [page de téléchargement](https://download.centreon.com) de Centreon. Dans la section 1, **Appliances** est sélectionné par défaut. + +2. Dans la section 2, sélectionnez la version de Centreon désirée. + +3. Dans la section 3, **Download your image**, cliquez sur le bouton **Download** à côté de la machine virtuelle désirée. Une nouvelle page apparaît. + + * Si vous souhaitez être contacté par Centreon, entrez vos informations de contact, puis +cliquez sur **Download**. + + * Dans le cas contraire, cliquez sur **Direct download**. + +4. Le fichier téléchargé est une archive compressée : extrayez son contenu dans le répertoire désiré. + + + + +1. Allez à la page [Essai gratuit IT-100](https://www.centreon.com/fr/essai-gratuit/). + +2. Remplissez le formulaire afin d'obtenir votre jeton IT-100 gratuit, puis suivez les instructions reçues par email. + +3. Plus bas dans la page, dans la section **Téléchargez Centreon**, téléchargez l'image correcte pour le type de VM désiré (attention à ne pas confondre les images pour VMWare et pour VirtualBox). + +4. Le fichier téléchargé est une archive compressée : extrayez son contenu dans le répertoire désiré. + + + + +## Étape 2 : Installer la machine virtuelle + + + + +1. Importez le fichier **centreon-central.ova** dans VMWare. Un terminal s’ouvre : attendez que le serveur démarre. Lorsque celui-ci est prêt, le terminal affiche le message suivant : + + ![image](../../assets/installation/VMW1.png) + +2. Selon la structure de votre réseau, dans la configuration de votre machine virtuelle, ajoutez un adaptateur réseau et sélectionnez le réseau via lequel la machine pourra communiquer avec les ressources qu'elle devra superviser. + + Voici un exemple de configuration dans VSphere 6 : + + ![image](../../assets/installation/VMW_network_adapter.png) + + + + +1. Importez le fichier **centreon-central.ova** dans VirtualBox. La VM apparaît dans votre liste de VMs dans VirtualBox. + + ![image](../../assets/installation/VB2.png) + +2. Dans le panneau de droite, cliquez sur **Configuration**. La boîte **Paramètres** s’ouvre. + +3. Dans l'onglet **Système**, cochez la case +**Horloge interne en UTC**. + +4. Selon la configuration de votre réseau, ajoutez un adaptateur réseau et sélectionnez le réseau via lequel la machine pourra communiquer avec les ressources qu'elle devra superviser. Par exemple : + + 1. Dans l’onglet **Réseau**, cochez **Activer l’interface réseau**. + + 2. Dans la liste **Mode d’accès réseau**, sélectionnez **Accès par pont**. + + 3. Dans la liste **Nom**, sélectionnez la carte réseau désirée. + +5. Cliquez sur **OK**. + +6. Dans le panneau de droite, cliquez sur **Démarrer** pour démarrer la VM. Un terminal s’ouvre : attendez que le serveur démarre. Lorsque celui-ci est prêt, le terminal affiche le message suivant : + + ![image](../../assets/installation/terminal_ready.png) + + + + +## Étape 3 : Terminer la configuration + +1. Connectez-vous au serveur Centreon avec les informations suivantes : login: `root`, password: `centreon`. + +2. Pour connaître l’adresse IP de votre serveur, tapez `ip addr`. (Par défaut, le clavier est en qwerty : si vous avez un clavier azerty, tapez `ip qddr`.) La VM est configurée pour obtenir une adresse IP automatiquement du serveur DHCP. + + ![image](../../assets/installation/ip_addr.png) + +3. Connectez-vous en `root` au serveur depuis une autre machine avec le terminal de votre choix, à l'aide de l'adresse IP obtenue précédemment. + +4. À votre première connexion au serveur, des instructions s’affichent pour vous aider à terminer la +configuration. + + + + +Définissez les paramètres suivants : + +- Le fuseau horaire (timezone) du serveur Centreon. Par défaut, celui-ci est UTC. Cela définira l'heure des différents logs de Centreon. + + Utilisez la commande suivante : + + ```shell + timedatectl set-timezone votre_timezone + ``` + + Par exemple, pour définir le fuseau horaire Europe/London, tapez : + + ```shell + timedatectl set-timezone Europe/London + ``` + + Vous pouvez obtenir une liste de tous les fuseaux horaires possibles en utilisant la commande suivante : + + ```shell + timedatectl list-timezones + ``` + +- Le fuseau horaire du serveur PHP. Pour éviter les erreurs, celui-ci doit être identique au fuseau horaire du serveur. Par défaut, le fuseau horaire PHP est Europe/London. + + 1. Ouvrez le fichier suivant : + + ```shell + /etc/php.d/50-centreon.ini + ``` + + 2. Après date.timezone, entrez le fuseau horaire désiré. + + 3. Redémarrez le serveur PHP : + + ```shell + systemctl restart php-fpm + ``` + +- Le hostname de votre serveur (facultatif). Le nom par défaut du serveur est centreon-central. Pour le +changer, utilisez la commande suivante : + + ```shell + hostnamectl set-hostname votre-hostname + ``` + + Par exemple, si vous voulez renommer la machine `supervision`, entrez: + + ```shell + hostnamectl set-hostname supervision + ``` + + + + +Définissez les paramètres suivants : + +- Le fuseau horaire (timezone) du serveur Centreon. Par défaut, celui-ci est UTC. Cela définira l'heure des différents logs de Centreon. + + Utilisez la commande suivante : + + ```shell + timedatectl set-timezone votre_timezone + ``` + + Par exemple, pour définir le fuseau horaire Europe/London, tapez : + + ```shell + timedatectl set-timezone Europe/London + ``` + + Vous pouvez obtenir une liste de tous les fuseaux horaires possibles en utilisant la commande suivante : + + ```shell + timedatectl list-timezones + ``` + +- Le fuseau horaire du serveur PHP. Pour éviter les erreurs, celui-ci doit être identique au fuseau horaire du serveur. Par défaut, le fuseau horaire PHP est Europe/London. + + 1. Ouvrez le fichier suivant : + + ```shell + /etc/php/8.2/mods-available/centreon.ini + ``` + + 2. Après date.timezone, entrez le fuseau horaire désiré. + + 3. Redémarrez le serveur PHP : + + ```shell + systemctl restart php8.2-fpm.service + ``` + +- Le hostname de votre serveur (facultatif). Le nom par défaut du serveur est centreon-central. Pour le +changer, utilisez la commande suivante : + + ```shell + hostnamectl set-hostname votre-hostname + ``` + + Par exemple, si vous voulez renommer la machine `supervision`, +entrez: + + + ```shell + hostnamectl set-hostname supervision + ``` + + + + +5. Ajoutez une partition pour la table MariaDB : cette étape est obligatoire. Votre serveur ne +fonctionnera pas si vous ne l’exécutez pas. + + 1. Connectez-vous en tant que l’utilisateur `centreon` : + + ```shell + su - centreon + ``` + + 2. Entrez la commande suivante : + + ```shell + /bin/php /usr/share/centreon/cron/centreon-partitioning.php + ``` + + La partition est créée : + + ![image](../../assets/installation/partition_created.png) + + 3. Connectez-vous à nouveau en tant que l'utilisateur `root` : + + ```shell + exit + ``` + + 4. Redémarrez le processus Centreon broker pour que les changements soient appliqués : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + + Votre serveur Centreon est maintenant prêt à l’emploi. + + >Une fois les opérations de configuration effectuées, vous pouvez faire en sorte que le message qui les décrit dans le terminal n'apparaisse plus. Supprimez le fichier suivant : + > + >`/etc/profile.d/centreon.sh` + +6. Connectez-vous à l’interface web : dans votre navigateur, entrez l’adresse du serveur au format +`http://addresse_ip/centreon` ou `http://FQDN/centreon`. (Par exemple, une URL valide serait +`http://192.168.1.44/centreon`.) + +7. Connectez-vous en utilisant les informations suivantes : Login: `admin`, password: `Centreon!123`. Par défaut, votre serveur offre une configuration prédéfinie qui permet de le superviser lui-même. + +8. Selon votre édition de Centreon, vous pouvez avoir à [ajouter une licence](../../administration/licenses.md#ajouter-une-licence) (par exemple, un jeton gratuit IT-100 : allez à la page **Administration > Extensions > Gestionnaire**, puis cliquez sur **Ajouter Token**). + +9. [Mettez à jour](../../update/update-centreon-platform.md) votre plateforme Centreon. + +10. Changez les mots de passe des comptes `root` et `admin`. Ceci est obligatoire, car les mots de passe par défaut sont disponibles publiquement dans cette documentation. Il est également obligatoire de définir un mot de passe pour la base MariaDB. + +11. [Sécurisez votre serveur](../../administration/secure-platform.md). + +12. Vous pouvez maintenant [superviser votre premier hôte](../../getting-started/first-supervision.md). + +## Identifiants par défaut + +- Pour vous connecter à l'interface Web Centreon, l'identifiant par défaut est : `admin`/`Centreon!123`. +- Le compte d'administration du serveur (via SSH) est: `root`/`centreon`. +- Le mot de passe root du SGBD n'est pas initialisé. + +> Pour des raisons de sécurité, changez ces mots de passe après l'installation. + +## Dépannage + +Si votre VM ne démarre pas, vérifiez que vous avez utilisé l'image correcte pour votre outil de virtualisation (format OVA pour VMware et format OVF pour Oracle VirtualBox). Vous pouvez égaement vous rendre sur notre plateforme communautaire [The Watch](https://thewatch.centreon.com/). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/unattended.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/unattended.md new file mode 100644 index 000000000000..cf9243370b29 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/unattended.md @@ -0,0 +1,81 @@ +--- +id: unattended-install-poller +title: Installation silencieuse d'un collecteur +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour installer un collecteur plus rapidement, vous pouvez utiliser un script. Le script exécutera les étapes d'installation proprement dites. Vous devrez ensuite enregistrer le collecteur et le rattacher au serveur central ou au serveur distant. + +## Procédure d'installation + +1. Mettez votre système à jour : + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Remplacez **my_username** et **my_password** par les identifiants de votre compte RedHat. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Téléchargez le script à l'aide de la commande suivante : + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Exécutez la commande suivante en **root** : + +```shell +bash /tmp/unattended.sh install -t poller -v 24.10 -r stable -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + + Vous obtiendrez un fichier de log complet avec toutes les erreurs dans votre répertoire **tmp**, fichier nommé **unattended(date).log**. + +4. Une fois le script exécuté, suivez les [étapes 3 à 5 de la procédure d'installation d'un collecteur](./using-packages.md#step-3-register-the-server). + +## Aide + +Pour obtenir de l'aide sur le script, utilisez la commande suivante : + +```shell +bash unattended.sh -h +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/using-packages.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/using-packages.md new file mode 100644 index 000000000000..5c4971bfc393 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-poller/using-packages.md @@ -0,0 +1,474 @@ +--- +id: using-packages +title: À partir des paquets +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon fournit des paquets RPM et DEB pour ses produits au travers de la solution +Centreon Open Sources disponible gratuitement sur notre dépôt. + +Les paquets peuvent être installés sur Alma/RHEL/Oracle Linux 8 et 9 ou Debian 12. + +L'ensemble de la procédure d'installation doit être faite en tant qu'utilisateur privilégié. + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +## Prérequis + +Après avoir installé votre serveur, réalisez la mise à jour de votre système +d'exploitation via la commande : + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +> Acceptez toutes les clés GPG proposées et redémarrez votre serveur +> si une mise à jour du noyau est proposée. + +## Étape 1 : Pré-installation + +### Désactiver SELinux + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +SELinux n'est pas installé sur Debian 12, continuez. + + + + +### Configurer ou désactiver le pare-feu + +Paramétrez le pare-feu système ou désactivez ce dernier. Pour désactiver ce +dernier exécutez les commandes suivantes : + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +> Vous pouvez trouver des instructions [ici](../../administration/secure-platform.md#enable-firewalld) +> pour configurer le pare-feu. + +### Nom du serveur + +Si vous le souhaitez, vous pouvez changer le nom du serveur à l'aide de la commande suivante: +```shell +hostnamectl set-hostname new-server-name +``` + +Remplacez **new-server-name** par le nom de votre choix. Exemple: +```shell +hostnamectl set-hostname poller1 +``` + +### Installer les dépôts + + + + +#### Dépôt Redhat CodeReady Builder + +Pour installer Centreon, vous devez installer le dépôt **CodeReady Builder**. + +```shell +dnf -y install dnf-plugins-core https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + + + + +#### Dépôt PowerTools de Red Hat + +Afin d'installer les logiciels Centreon, le dépôt PowerTools de Red Hat doit être +activé. + +Exécutez les commandes suivantes : + +```shell +dnf -y install dnf-plugins-core epel-release +dnf config-manager --set-enabled powertools +``` + + + + +#### Dépôt CodeReady Builder de Oracle + +Afin d'installer les logiciels Centreon, le dépôt CodeReady Builder de Oracle +doit être activé. + +Exécutez les commandes suivantes : + +```shell +dnf -y install dnf-plugins-core oracle-epel-release-el8 +dnf config-manager --set-enabled ol8_codeready_builder +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + + + + +Installez les dépendances suivantes : + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + + + + +#### Dépôt Centreon + +Afin d’installer les logiciels Centreon à partir des dépôts, vous devez au +préalable installer le fichier lié au dépôt. + +Exécutez la commande suivante à partir d’un utilisateur possédant les droits +suffisants : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +Pour installer le dépôt Centreon, exécutez la commande suivante : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Puis importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +## Étape 2 : Installation + +Pour installer le moteur de supervision, exécutez la commande : + + + + +```shell +dnf install -y centreon-poller +``` + + + + +```shell +dnf install -y centreon-poller +``` + + + + +```shell +apt install -y --no-install-recommends centreon-poller +``` + + + + +Pour activer le démarrage automatique des services de supervision au démarrage +du serveur, exécuter la commande suivante : + +```shell +systemctl enable centreon centengine centreontrapd snmptrapd gorgoned +``` + +Les services de supervision passive peuvent être démarrés : + +```shell +systemctl start centreontrapd snmptrapd gorgoned +``` + +Redémarrez Centreon Engine : + +```shell +systemctl restart centengine +``` + +## Étape 3 : Enregistrer le serveur + +Pour transformer le serveur en collecteur et l'enregistrer sur le serveur central ou un serveur distant, exécutez la commande suivante sur le futur collecteur : + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t poller -h -n +``` + +Exemple: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t poller -h 192.168.0.1 -n poller-1 +``` + +> Remplacez **** par l'adresse IP du serveur Central ou du serveur distant auquel vous voulez rattacher le collecteur (adresse IP vue par le +> collecteur). + +> Le compte **** doit avoir accès à l'API de configuration. Vous pouvez utiliser le compte **admin**. + +> Vous pouvez changer le port et la méthode HTTP, le format de l'option **-h** est le suivant : +> `HTTPS://:PORT` + +Suivre ensuite les instructions + +1. Saisir le mot de passe : + + ``` shell + Please enter the password of 192.168.0.1: + ``` + +2. Sélectionner l'adresse IP si plusieurs interfaces réseau existent: + + ```shell + Which IP do you want to use as CURRENT NODE IP ? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Valider les informations: + + ``` shell + Summary of the informations that will be send: + + Api Connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: poller-1 + type: poller + address: 192.168.0.2 + + Do you want to register this server with those information? (y/n): y + ``` + +Vous recevrez la validation du serveur Centreon central ou du serveur Remote Server : + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'poller': 'poller-1@192.168.0.2' linked to TARGET NODE: '192.168.0.1' has been added +``` + +### Principaux messages d'erreur + +``` shell +2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Vos informations d'identification sont incorrectes pour le compte ****. + +``` shell +2020-10-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> L'utilisateur **** n'a pas accès à l'API de configuration. + +``` shell +Failed connect to 192.168.0.1:444; Connection refused +``` + +> Impossible d'accéder à l'API. Contrôler les valeurs ****, méthode et port. + +``` shell +2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> L'URL d'accès n'est pas complète ou invalide. Utilisez l'option **--root** pour définir le chemin de l'URL de l'API. +> Par exemple : **--root monitoring**. + +``` shell +2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> La version Centreon du serveur distant est invalide. Elle doit être supérieure ou égale à 24.10. + +## Étape 4 : Ajouter le Poller à la configuration + +Rendez-vous au chapitre [Ajouter un Poller à la configuration](../../monitoring/monitoring-servers/add-a-poller-to-configuration.md). + +## Étape 5 : Sécuriser votre plateforme + +N'oubliez pas de sécuriser votre plateforme Centreon en suivant nos +[recommandations](../../administration/secure-platform.md) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/unattended.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/unattended.md new file mode 100644 index 000000000000..049c1a585a56 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/unattended.md @@ -0,0 +1,89 @@ +--- +id: unattended-install-remote +title: Installation silencieuse d'un serveur distant +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour installer un serveur distant plus rapidement, vous pouvez utiliser un script. Le script exécutera les étapes d'installation proprement dites. Vous devrez ensuite enregistrer le serveur distant et le rattacher au serveur central. + +## Procédure d'installation + +1. Mettez votre système à jour : + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Remplacez **my_username** et **my_password** par les identifiants de votre compte RedHat. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Téléchargez le script à l'aide de la commande suivante : + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Exécutez la commande suivante en **root** : + +* Pour spécifier le mot de passe du compte **admin** par défaut : + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* Pour obtenir un mot de passe autogénéré pour le compte **admin** par défaut (le script vous indiquera où le mot de passe est stocké) : + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +Dans les deux cas, vous obtiendrez un fichier de log complet avec toutes les erreurs dans votre répertoire **tmp**, fichier nommé **unattended(date).log**. + +4. Une fois le script exécuté, suivez les [étapes 4 à 8 de la procédure d'installation standard d'un serveur distant](./using-packages.md#step-5-register-the-server). + +## Aide + +Pour obtenir de l'aide sur le script, utilisez la commande suivante : + +```shell +bash unattended.sh -h +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md new file mode 100644 index 000000000000..3fb4fb5cfeaa --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md @@ -0,0 +1,662 @@ +--- +id: using-packages +title: À partir des paquets +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseRepository from '../_database-repository.mdx'; +import DatabaseLocalInstall from '../_database-local-install.mdx'; +import DatabaseRemoteInstall from '../_database-remote-install.mdx'; +import DatabaseEnableRestart from '../_database-enable-restart.mdx'; + +Centreon fournit des paquets RPM et DEB pour ses produits au travers de la solution +Centreon Open Source disponible gratuitement sur notre dépôt. + +Les paquets peuvent être installés sur Alma/RHEL/Oracle Linux 8 et 9, et Debian 12. + +L'ensemble de la procédure d'installation doit être faite en tant qu'utilisateur privilégié. + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +## Prérequis + +Après avoir installé votre serveur, réalisez la mise à jour de votre système +d'exploitation via la commande : + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Configuration spécifique + +Pour utiliser Centreon en français, espagnol, portugais ou allemand, installez les paquets correspondants : + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Utilisez la commande suivante pour vérifier quelles langues sont installées sur votre système : + +```shell +locale -a +``` + + + + +``` shell +apt update && apt upgrade +``` + + + + +> Acceptez toutes les clés GPG proposées et redémarrez votre serveur +> si une mise à jour du noyau est proposée. + +## Étape 1 : Pré-installation + +### Désactiver SELinux + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +Pendant l'installation, SELinux doit être désactivé. Éditez le fichier +**/etc/selinux/config** et remplacez **enforcing** par **disabled**, ou bien +exécutez la commande suivante : + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Redémarrez votre système d'exploitation pour prendre en compte le changement. + +```shell +reboot +``` + +Après le redémarrage, une vérification rapide permet de confirmer le statut de +SELinux : + +```shell +$ getenforce +Disabled +``` + +> **Notez que cette désactivation doit être temporaire.** SELinux doit être [réactivé après l'installation](../../administration/secure-platform.md#activer-selinux-1) pour des raisons de sécurité. + + + + +SELinux n'est pas installé sur Debian 12, continuez. + + + + +### Configurer ou désactiver le pare-feu + +Si votre pare-feu système est actif, [paramétrez-le](../../administration/secure-platform.md#enable-firewalld). +Vous pouvez également le désactiver le temps de l'installation : + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +> Vous pouvez trouver des instructions [ici](../../administration/secure-platform.md#enable-firewalld) +> pour configurer le pare-feu. + +### Installer les dépôts + + + + +#### Dépôt remi + +Afin d'installer les logiciels Centreon, le dépôt **remi** doit être installé. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled 'powertools' +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Dépôt remi et CodeReady Builder + +Afin d'installer les logiciels Centreon, les dépôts **remi** et **CodeReady Builder** doivent être installés. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + + +#### Dépôt remi et CodeReady Builder + +Afin d'installer les logiciels Centreon, les dépôts **remi** et **CodeReady Builder** doivent être installés. + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Activez PHP 8.2 en utilisant les commandes suivantes : + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +S'il s'agit d'une instance Cloud RHEL, vous devrez exécuter la commande suivante : + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +Exécutez les commandes suivantes : + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Activez PHP 8.2 avec la commande suivante : + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +#### Installer les dépendances + +Installez les dépendances suivantes : + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +#### Installer le dépôt Sury APT pour PHP 8.2 + +Pour installer le dépôt Sury, exécutez la commande suivante : + +```shell +echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list +``` + +Puis importez la clé du dépôt : + +```shell +wget -O- https://packages.sury.org/php/apt.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/php.gpg > /dev/null 2>&1 +``` + + + + +#### Dépôt de base données + + + +#### Dépôt Centreon + +Afin d'installer les logiciels Centreon à partir des dépôts, vous devez au +préalable installer le fichier lié au dépôt. + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +## Étape 2 : Installation + +Ce chapitre décrit l'installation d'un serveur Centreon Remote Server. + +Il est possible d'installer ce serveur avec une base de données locale au +serveur, ou déportée sur un serveur dédié. + + + + + +Passez maintenant à [l'étape suivante](#étape-3--configuration). + + + + + + + +## Étape 3 : Configuration + +### Nom du serveur + +Si vous le souhaitez, vous pouvez changer le nom du serveur à l'aide de la commande suivante: + +```shell +hostnamectl set-hostname new-server-name +``` + +Remplacez **new-server-name** par le nom de votre choix. Exemple : + +```shell +hostnamectl set-hostname remote1 +``` + +### Gérer le lancement des services au démarrage + +Pour activer le lancement automatique des services au démarrage, exécutez la +commande suivante sur le serveur Central : + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php8.2-fpm apache2 centreon cbd centengine gorgoned centreontrapd snmpd snmptrapd +``` + + + + +Puis exécutez la commande suivante (sur le serveur distant si vous utilisez une base de données locale, sinon sur le serveur de base de données déporté): + + + +### Sécuriser la base de données + +Il est obligatoire de sécuriser l'accès en root à la base avant d'installer Centreon. Si vous utilisez une base de données locale, exécutez la commande suivante sur le serveur central : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Répondez oui à toute question sauf à "Disallow root login remotely?". +* Définissez obligatoirement un mot de passe pour l'utilisateur **root** de la base de données. +Ce mot de passe vous sera demandé lors de l'[installation web](../web-and-post-installation.md). + +> Pour plus d'informations, consultez la [documentation officielle MariaDB](https://mariadb.com/kb/en/mysql_secure_installation/). + +## Étape 4 : Installation web + +Avant de démarrer l'installation web, démarrez le serveur Apache avec la commande suivante : + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start apache2 +``` + + + + + +Terminez l'installation en réalisant les +[étapes de l'installation web](../web-and-post-installation.md#installation-web). + +> Pendant l'installation web, il n'est pas nécessaire d'installer le module +> Autodiscovery. + +> A l'étape d'**Initialisation de la supervision**, seules les actions 6 à 8 +> doivent être faites. + +## Étape 5 : Enregistrer le Remote Server + +Pour transformer le serveur en serveur distant et l'enregistrer sur le serveur Central, exécutez la commande suivante sur le futur serveur distant : + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t remote -h -n +``` + +Exemple: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1 +``` + +> Remplacez **** par l'adresse IP du serveur Central auquel vous voulez rattacher le serveur distant (adresse IP vue par le serveur distant). + +> Le compte **** doit avoir accès à l'API de configuration. Vous pouvez utiliser le compte **admin**. + +> Pour changer le port et la méthode HTTP, le format de l'option **-h** est le suivant : +> `HTTPS://:PORT` + +Suivre ensuite les instructions + +1. Saisir le mot de passe : + + ``` shell + 192.168.0.1: please enter your password + ``` + +2. Sélectionner l'adresse IP si plusieurs interfaces réseau existent: + + ```shell + Which IP do you want to use as CURRENT NODE IP ? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Valider les informations: + + ``` shell + Summary of the informations that will be send: + + Api Connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: remote-1 + type: remote + address: 192.168.0.2 + + Do you want to register this server with those informations ? (y/n)y + ``` + +4. Ajouter les informations nécessaires pour permettre de futures communications entre votre Remote Server et son Central + + ```shell + : Please enter your username: + admin + : Please enter your password: + + : Protocol [http]: + : Port [80]: + : centreon root folder [centreon]: + ``` + +5. Définir les accès au proxy du serveur Centreon du Central : + + ```shell + Are you using a proxy ? (y/n) + y + enter your proxy Host: + myproxy.example.com + enter your proxy Port [3128]: + Are you using a username/password ? (y/n) + y + enter your username: + my_proxy_username + enter your password: + + ``` + +Vous recevrez la validation du serveur Centreon Central : + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully. +``` + +### Principaux messages d'erreur + +``` shell +2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Vos informations d'identification sont incorrectes pour le compte ****. + +``` shell +2020-10-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> L'utilisateur **** n'a pas accès à l'API de configuration. + +``` shell +Failed connect to 192.168.0.1:444; Connection refused +``` + +> Impossible d'accéder à l'API. Contrôler les valeurs ****, méthode et port. + +``` shell +2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> L'URL d'accès n'est pas complète ou invalide. Utilisez l'option **-root** pour définir le chemin de l'URL de l'API. +> Par exemple : **--root monitoring**. + +``` shell +2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> La version Centreon du serveur distant est invalide. Elle doit être supérieure ou égale à 24.10. + +## Étape 6 : Étendre les droits du SGBD local + +Enfin, il est nécessaire d'ajouter des droits à l'utilisateur de base de données **centreon** pour qu'il puisse +utiliser la commande **LOAD DATA INFILE** : + +```sql +mysql -u root -p +GRANT FILE on *.* to 'centreon'@'localhost'; +SET GLOBAL local_infile=1; +exit +``` + +## Étape 7 : Ajouter le Remote Server à la configuration + +Rendez-vous au chapitre +[Ajouter un Remote Server à la configuration](../../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md). + +## Étape 8 : Sécuriser votre plateforme + +Sécurisez votre plateforme Centreon en suivant nos +[recommandations](../../administration/secure-platform.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-centreon-ha/overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-centreon-ha/overview.md new file mode 100644 index 000000000000..441d12c1afcb --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/installation-of-centreon-ha/overview.md @@ -0,0 +1,8 @@ +--- +id: overview +title: Centreon HA +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +La documentation Centreon HA est en cours de refonte. Si vous souhaitez mettre en place de la HA en 24.10, contactez Centreon Professional Services, ou votre partenaire Centreon. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/introduction.md new file mode 100644 index 000000000000..0e137d2faae1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/introduction.md @@ -0,0 +1,28 @@ +--- +id: introduction +title: Introduction +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit les différentes étapes de mise en place d'une plateforme de +supervision Centreon. + +La plateforme de supervision peut être installée de plusieurs manières. +Cependant, **nous vous recommandons vivement d'utiliser les dépôts +Centreon (paquets), pour installer votre plateforme**. Profitez ainsi de nos +travaux d'industrialisation de l'installation et de la mise à jour de +l'environnement. Profitez également des optimisations installées en standard par +le système. + +L'installation de Centreon peut être effectuée à partir des sources (tar.gz) +mais le travail est plus complexe. De plus l'installation ne sera supportée que par +la communauté. + +Avant d'installer Centreon : + +1. Vérifiez la [compatibilité](compatibility.md) (OS supportés, SGBD). +2. Choisissez [le type d'architecture](architectures.md) qui convient le mieux à vos besoins. +3. Vérifiez les [prérequis](prerequisites.md) (ressources CPU, mémoire, disques, partitionnement, etc...). +4. [Téléchargez Centreon](https://download.centreon.com/). +5. Enfin, vous pourrez procéder à l'installation de la plateforme. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/offline.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/offline.md new file mode 100644 index 000000000000..62d4ed8e48b6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/offline.md @@ -0,0 +1,129 @@ +--- +id: offline +title: Installation offline +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour pouvoir installer Centreon sur des serveurs sans accès internet, créez une copie locale du dépôt Centreon sur un serveur avec accès internet, puis faites pointer vos serveurs Centreon sans accès internet sur celui-ci. + +## Créer une copie locale du dépôt Centreon + +1. Installez le dépôt sur votre serveur miroir. + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + +Puis récupérez la clé gpg pour les paquets : + +```shell +rpm --import https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + +Puis récupérez la clé gpg pour les paquets : + +```shell +rpm --import https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Pour installer le dépôt Centreon, exécutez la commande suivante : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Puis importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +2. Créez un répertoire pour le dépôt local : + + ```shell + mkdir -p /var/www/html/repos/centreon + ``` + +3. Installez les paquets nécessaires : + + ```shell + yum install yum-utils createrepo httpd + ``` + +4. Synchronisez les dépôts : + + ```shell + reposync -p /var/www/html/repos/centreon/ -r centreon-stable-noarch + reposync -p /var/www/html/repos/centreon/ -r centreon-stable + ``` + +5. Créez le dépôt : + + ```shell + createrepo /var/www/html/repos/centreon/ + ``` + +6. Démarrez le serveur web : + + ```shell + service httpd start + ``` + +7. Sur votre serveur Centreon, éditez le fichier suivant : + + ```shell + vi /etc/yum.repos.d/centreon.repo + ``` + + Ajoutez les lignes suivantes : + + ```shell + [centreon] + name=centreon + baseurl=http:///repos/centreon + gpgcheck=1 + enabled=1 + ``` + + > Remplacez `` par la véritable adresse de votre dépôt local. + +## Garder votre dépôt local à jour + +Afin de synchroniser régulièrement votre miroir avec le dépôt Centreon, créez un fichier cron : + +```shell +cd /var/spool/cron +crontab -e +``` + +Les commandes suivantes programmeront une synchronisation tous les jours à 2h pour le dépôt **centreon-stable-noarch** et tous les jours à 3h pour le dépôt **centreon-stable**: + +```shell +* 2 * * * reposync -p /var/www/html/repos/centreon/ -r centreon-stable-noarch +* 3 * * * reposync -p /var/www/html/repos/centreon/ -r centreon-stable +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/prerequisites.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/prerequisites.md new file mode 100644 index 000000000000..6c2719a7accf --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/prerequisites.md @@ -0,0 +1,366 @@ +--- +id: prerequisites +title: Prérequis +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Cette page vous donne des recommandations générales afin de déterminer la taille de votre plateforme. + +## Architecture + +Utilisez d'abord les recommandations de la page [Architectures](./architectures.md#de-quel-type-darchitecture-avez-vous-besoin) pour déterminer le type d'architcture dont vous avez besoin. + +## Caractéristiques des serveurs + +* Plus vous supervisez de services, plus vous avez besoin de CPU. +* L'espace utilisé pour collecter les données de performance dépend de plusieurs critères : + + * Fréquence des contrôles + * Nombre de contrôles + * Période de rétention + * Nombre moyen de métriques par service + +* Le nombre d'utilisateurs connectés simultanément à l'interface du central ou du serveur distant a un impact sur la performance. Si beaucoup d'utilisateurs devront de se connecter à l'interface Centreon en même temps, vous aurez besoin de plus de CPU. + +Les données ci-après sont des estimations en fonction des critères suivants : + +* Une moyenne de 10 services par hôte. +* Les données sont collectées toutes les 5 minutes. +* La période de rétention est de 12 mois. +* Chaque service a en moyenne 8 métriques. + +Adaptez les chiffres suivants à vos valeurs réelles. Au cours du temps, vous serez peut-être amenés à ajuster la taille de votre plateforme au fur et à mesure que vous ajoutez plus d'hôtes. + + + + +Serveur central seul : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 4 Go | + +Votre serveur central doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon | contient en majorité des fichiers RRD | 34 Go | +| vg_data | /var/lib/centreon-broker | contient les fichiers de rétention de Broker | 5 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | +| vg_data | /var/lib/mysql (seulement si le SGBD est situé sur le serveur central) | base de données | 106 Go | +| vg_data | /var/cache/centreon/backup | répertoire de sauvegarde | 10 Go

Si vous utilisez la fonctionnalité de sauvegarde, prévoyez les caractéristiques suivantes :

  • taille de la partition /var/lib/mysql * 0,6
  • valable pour 1 sauvegarde complète et 6 partielles
  • attention, cela reste une estimation et n'exclut pas un contrôle humain

| +| vg_data || Espace libre (non alloué) | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +Dans certains cas, il peut être nécessaire de mettre en place une architecture distribuée, même pour moins de 500 hôtes. Le collecteur aura alors les mêmes caractéristiques que dans l'onglet "Jusqu'à 1 000 hôtes". + +
+ + +Architecture distribuée : + +* 1 serveur central +* 1 collecteur par tranche de 500 hôtes + +**Serveur central** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 Go | + +Votre serveur central doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon | contient en majorité des fichiers RRD | 68 Go | +| vg_data | /var/lib/centreon-broker | contient les fichiers de rétention de Broker | 10 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | +| vg_data | /var/lib/mysql (seulement si le SGBD est situé sur le serveur central) | base de données | 213 Go | +| vg_data | /var/cache/centreon/backup | répertoire de sauvegarde | 10 Go

Si vous utilisez la fonctionnalité de sauvegarde, prévoyez les caractéristiques suivantes :

  • taille de la partition /var/lib/mysql * 0,6
  • valable pour 1 sauvegarde complète et 6 partielles
  • attention, cela reste une estimation et n'exclut pas un contrôle humain

| +| vg_data | | Espace libre (non alloué) | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +**Collecteurs** + +* Pour traiter des environnements de test ou des petits périmètres (jusqu'à 2000 services avec des contrôles toutes les 5 minutes et 500 services avec des contrôles toutes les minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* Pour traiter des environnements de production (jusqu'à 7000 services avec des contrôles toutes les 5 minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +Vos collecteurs doivent être partitionnés de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-------------------------|----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +> Le nombre de vCPU par collecteur dépend principalement de la complexité des contrôles. Si vous utilisez des connecteurs ou réalisez de nombreux appels vers des applications tierces, ajoutez des vCPU supplémentaires. + +
+ + +Architecture distribuée : + +* 1 serveur central +* 1 collecteur par tranche de 500 hôtes + +**Serveur central** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 Go | + +Votre serveur central doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon | contient en majorité des fichiers RRD | 169 Go | +| vg_data | /var/lib/centreon-broker | contient les fichiers de rétention de Broker | 25 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | +| vg_data | /var/lib/mysql (seulement si le SGBD est situé sur le serveur central) | base de données | 538 Go | +| vg_data | /var/cache/centreon/backup | répertoire de sauvegarde | 10 Go

Si vous utilisez la fonctionnalité de sauvegarde, prévoyez les caractéristiques suivantes :

  • taille de la partition /var/lib/mysql * 0,6
  • valable pour 1 sauvegarde complète et 6 partielles
  • attention, cela reste une estimation et n'exclut pas un contrôle humain

| +| vg_data | | Espace libre (non alloué) | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +**Collecteurs** + +* Pour traiter des environnements de test ou des petits périmètres (jusqu'à 2000 services avec des contrôles toutes les 5 minutes et 500 services avec des contrôles toutes les minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* Pour traiter des environnements de production (jusqu'à 7000 services avec des contrôles toutes les 5 minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +Vos collecteurs doivent être partitionnés de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-------------------------|----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +> Le nombre de vCPU par collecteur dépend principalement de la complexité des contrôles. Si vous utilisez des connecteurs ou réalisez de nombreux appels vers des applications tierces, ajoutez des vCPU supplémentaires. + +
+ + +Architecture distribuée : + +* 1 serveur central sans base de données +* 1 serveur de base de données +* 1 collecteur par tranche de 500 hôtes + +**Serveur central** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 Go | + +Votre serveur central doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon | contient en majorité des fichiers RRD | 339 Go | +| vg_data | /var/lib/centreon-broker | contient les fichiers de rétention de Broker | 50 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | +| vg_data | /var/cache/centreon/backup | répertoire de sauvegarde | 10 Go

Si vous utilisez la fonctionnalité de sauvegarde, prévoyez les caractéristiques suivantes :

  • taille de la partition /var/lib/mysql * 0,6
  • valable pour 1 sauvegarde complète et 6 partielles
  • attention, cela reste une estimation et n'exclut pas un contrôle humain

| + +**Serveur de bases de données** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 Go | + +Votre serveur doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 1094 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +**Collecteurs** + +* Pour traiter des environnements de test ou des petits périmètres (jusqu'à 2000 services avec des contrôles toutes les 5 minutes et 500 services avec des contrôles toutes les minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* Pour traiter des environnements de production (jusqu'à 7000 services avec des contrôles toutes les 5 minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +Vos collecteurs doivent être partitionnés de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-------------------------|----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data| /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +> Le nombre de vCPU par collecteur dépend principalement de la complexité des contrôles. Si vous utilisez des connecteurs ou réalisez de nombreux appels vers des applications tierces, ajoutez des vCPU supplémentaires. + +
+ + +Architecture distribuée : + +* 1 serveur central sans base de données +* 1 serveur de base de données +* 1 collecteur par tranche de 500 hôtes + +**Serveur central** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 8 vCPU | +| RAM | 8 Go | + +Votre serveur central doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon | contient en majorité des fichiers RRD | 677 Go | +| vg_data | /var/lib/centreon-broker | contient les fichiers de rétention de Broker | 50 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | +| vg_data | /var/cache/centreon/backup | répertoire de sauvegarde | 10 Go

Si vous utilisez la fonctionnalité de sauvegarde, prévoyez les caractéristiques suivantes :

  • taille de la partition /var/lib/mysql * 0,6
  • valable pour 1 sauvegarde complète et 6 partielles
  • attention, cela reste une estimation et n'exclut pas un contrôle humain

| + +> Votre système doit utiliser LVM pour gérer vos partitions. + +**Serveur de bases de données** + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 8 vCPU | +| RAM | 8 Go | + +Votre serveur doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|---------| ---------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 2257 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +**Collecteurs** + +* Pour traiter des environnements de test ou des petits périmètres (jusqu'à 2000 services avec des contrôles toutes les 5 minutes et 500 services avec des contrôles toutes les minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* Pour traiter des environnements de production (jusqu'à 7000 services avec des contrôles toutes les 5 minutes) : + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU (cœur logique à 3Ghz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +Vos collecteurs doivent être partitionnés de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-------------------------|----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/centreon-engine | contient les fichiers de rétention d'Engine | 5 Go | + +> Votre système doit utiliser LVM pour gérer vos partitions. + +> Le nombre de vCPU par collecteur dépend principalement de la complexité des contrôles. Si vous utilisez des connecteurs ou réalisez de nombreux appels vers des applications tierces, ajoutez des vCPU supplémentaires. + +
+ + +Pour de grosses volumétries de données, contactez votre commercial Centreon. + + +
+ +## Flux réseau + +Si vous avez des pare-feu ou des équipements de sécurité en place, vérifiez le [tableau des flux réseau](./technical.md#tableaux-des-flux-réseau). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/technical.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/technical.md new file mode 100644 index 000000000000..2a3df0a7069d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/technical.md @@ -0,0 +1,429 @@ +--- +id: technical +title: Informations techniques +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Tableaux des flux réseau + +### Tableaux des flux d'intégration de la plate-forme de supervision dans le SI + +#### Serveur Central + +| Depuis | Vers | Protocole | Port | Application | +|-----------------|----------------|------------|--------------------|--------------------------------------------------------------------------------| +| Serveur Central | NTP server | NTP | UDP 123 | Synchronisation de l'horloge système | +| Serveur Central | DNS server | DNS | UDP 53 | Résolution des nom de domaine | +| Serveur Central | SMTP server | SMTP | TCP 25 | Notification par mail | +| Serveur Central | LDAP(s) server | LDAP(s) | TCP 389 (636) | Authentification pour accéder à l'interface web Centreon | +| Serveur Central | DBMS server | MySQL | TCP 3306 | Accès aux bases de données Centreon (si déportées sur un serveur dédié) | +| Serveur Central | HTTP Proxy | HTTP(s) | TCP 80, 8080 (443) | Si votre plate-forme nécessite un proxy web pour accéder à Centreon IT Edition | +| Serveur Central | Repository | HTTP (FTP) | TCP 80 (FTP 20) | Dépôt des paquets systèmes et applicatifs | + +#### Collecteur (Poller) + +| Depuis | Vers | Protocole | Port | Application | +|------------|-------------|------------|-----------------|-------------------------------------------| +| Collecteur | NTP server | NTP | UDP 123 | Synchronisation de l'horloge système | +| Collecteur | DNS server | DNS | UDP 53 | Résolution des nom de domaine | +| Collecteur | SMTP server | SMTP | TCP 25 | Notification par mail | +| Collecteur | Repository | HTTP (FTP) | TCP 80 (FTP 20) | Dépôt des paquets systèmes et applicatifs | + +#### Remote Server + +| Depuis | Vers | Protocole | Port | Application | +|---------------|----------------|------------|-----------------|-------------------------------------------------------------------------| +| Remote Server | NTP server | NTP | UDP 123 | Synchronisation de l'horloge système | +| Remote Server | DNS server | DNS | UDP 53 | Résolution des nom de domaine | +| Remote Server | SMTP server | SMTP | TCP 25 | Notification par mail | +| Remote Server | LDAP(s) server | LDAP(s) | TCP 389 (636) | Authentification pour accéder à l'interface web Centreon | +| Remote Server | DBMS server | MySQL | TCP 3306 | Accès aux bases de données Centreon (si déportées sur un serveur dédié) | +| Remote Server | Repository | HTTP (FTP) | TCP 80 (FTP 20) | Dépôt des paquets systèmes et applicatifs | + +> D'autres flux peuvent être nécessaires suivant le moyen d'authentification +> sélectionné (RADIUS, etc.) ou le moyen de notification mis en oeuvre. + +### Tableau des flux de la plateforme + +#### Collecteur (Poller) + +| Depuis | Vers | Protocole | Port | Application | +|-----------------|-----------------|--------------|--------------|---------------------------------------------------------------------------| +| Serveur Central | Collecteur | ZMQ | TCP 5556 | Export des configurations Centreon (en fonction du type de communication) | +| Serveur Central | Collecteur | SSH (legacy) | TCP 22 | Export des configurations Centreon (en fonction du type de communication) | +| Collecteur | Serveur Central | BBDO | TCP 5669 | Transfert des données de supervision collectées | +| Collecteur | Serveur Central | HTTP(S) | TCP 80 (443) | Enregistrement du collecteur | + +#### Remote Server + +| Depuis | Vers | Protocole | Port | Application | +|-----------------|-----------------|--------------|--------------|---------------------------------------------------------------------------| +| Serveur Central | Remote Server | ZMQ | TCP 5556 | Export of Centreon configuration | +| Remote Server | Serveur Central | BBDO | TCP 5669 | Transfert des données de supervision collectées | +| Remote Server | Serveur Central | HTTP(S) | TCP 80 (443) | Enregistrement du Remote Server | +| Remote Server | Collecteur | ZMQ | TCP 5556 | Export des configurations Centreon (en fonction du type de communication) | +| Remote Server | Collecteur | SSH (legacy) | TCP 22 | Export des configurations Centreon (en fonction du type de communication) | +| Collecteur | Remote Server | BBDO | TCP 5669 | Transfert des données de supervision collectées | +| Collecteur | Remote Server | HTTP(S) | TCP 80 (443) | Enregistrement du collecteur | + +> Si le Remote Server n'est pas utilisé comme proxy pour un Collecteur, +> les flux réseaux propres aux collecteurs s'appliquent. + +#### Supervision + +| Depuis | Vers | Protocole | Port | Application | +|--------------------|------------------------------------|------------|-----------|-------------| +| Collecteur | Equipements réseau, serveurs, etc. | SNMP | UDP 161 | Supervision | +| Equipements réseau | Collecteur | Trap SNMP | UDP 162 | Supervision | +| Collecteur | Servers | NRPE | TCP 5666 | Supervision | +| Collecteur | Servers | NSClient++ | TCP 12489 | Supervision | + +> Dans le cas où le serveur central Centreon fait office de collecteur, +> ne pas oublier d'ajouter les flux nécessaires de supervision. + +> D'autres flux peuvent être nécessaires dans le cas de la supervision de +> bases de données, d'accès à des API, d'accès à des ports applicatifs, etc. + +### Utilisateurs et groupes + +Description des logiciels et utilisateurs liés : + + + + +| Logiciel | Service | Utilisateur | Commentaire | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | httpd | apache | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + + +| Logiciel | Service | Utilisateur | Commentaire | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | httpd | apache | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + + +| Software | Service | User | Comment | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | apache2 | www-data | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + + +Description des logiciels optionnels et utilisateurs liés : + +| Logiciel | Service | User | Commentaire | +|-----------------|-----------------|-----------|------------------------------------------------------| +| Centreon VMware | centreon_vmware | centreon | non installé par défaut | +| RRDtool | rrdcached | rrdcached | non activé et non parémétré dans Centreon par défaut | + +Description des groupes et utilisateurs liés pour les éditions Centreon Open Source et IT Edition : + +| Groupe | Utilisateurs | +|------------------|------------------------------------------------------------------| +| apache | nagios,centreon,centreon-gorgone | +| centreon | centreon-engine,centreon-broker,apache,centreon-gorgone | +| centreon-broker | centreon,nagios,centreon-engine,apache,centreon-gorgone | +| centreon-engine | centreon-broker,apache,nagios,centreon,centreon-gorgone | +| centreon-gorgone | centreon,apache,centreon-gorgone,centreon-engine,centreon-broker | +| rrdcached | centreon-broker,apache | + +Description des groupes et utilisateurs liés pour l'édition Centreon Business Edition : + +| Groupe | Utilisateurs | +|----------------- |------------------------------------------------------------------------------| +| apache | nagios,centreonBI,centreon,centreon-gorgone | +| centreon | centreon-engine,centreon-broker,apache,rrdcached,centreonBI,centreon-gorgone | +| centreon-broker | centreon,nagios,centreon-engine,apache,rrdcached,centreon-gorgone | +| centreon-engine | centreon-broker,apache,nagios,centreon,centreon-gorgone | +| centreon-gorgone | centreon,apache,centreon-gorgone,centreon-engine,centreon-broker | +| centreonBI | apache | +| centreon-map | | +| mysql | centreonBI | + +Description des utilisateurs, umask et répertoire utilisateur pour les éditions Centreon Open Source et IT Edition : + +| Utilisateur | umask | home | Shell | +|------------------|-------|---------------------------|---------------| +| root | 0022 | /root | /bin/bash | +| apache | 0022 | /var/www | /sbin/nologin | +| centreon | 0002 | /var/spool/centreon | /bin/bash | +| centreon-broker | 0002 | /var/lib/centreon-broker | /bin/bash | +| centreon-engine | 0002 | /var/lib/centreon-engine | /bin/bash | +| centreon-gorgone | 0002 | /var/lib/centreon-gorgone | /bin/bash | +| mysql | 0002 | /var/lib/mysql | /sbin/nologin | +| rrdcached | 0002 | /var/rrdtool/rrdcached | /bin/bash | + +Description des utilisateurs, umask et répertoire utilisateur pour l'édition Centreon Business Edition : + +| Utilisateur | umask | home | Shell | +|------------------|-------|---------------------------|---------------| +| root | 0022 | /root | /bin/bash | +| apache | 0022 | /var/www | /sbin/nologin | +| centreon | 0002 | /var/spool/centreon | /bin/bash | +| centreonBI | 0002 | /home/centreonBI | /bin/bash | +| centreon-agent | 0002 | /var/lib/centreon-agent | /bin/bash | +| centreon-broker | 0002 | /var/lib/centreon-broker | /bin/bash | +| centreon-engine | 0002 | /var/lib/centreon-engine | /bin/bash | +| centreon-gorgone | 0002 | /var/lib/centreon-gorgone | /bin/bash | +| centreon-map | 0002 | /home/centreon-map | /bin/bash | +| mysql | 0002 | /var/lib/mysql | /sbin/nologin | +| rrdcached | 0002 | /var/rrdtool/rrdcached | /bin/bash | + +## Dépendances logicielles + +Le tableau suivant décrit les dépendances logicielles : + +| Logiciel | Version | +| -------- | ---------- | +| Apache | 2.4 | +| GnuTLS | \>= 2.0 | +| Net-SNMP | 5.7 | +| openssl | \>= 1.0.1k | +| PHP | 8.2 | +| RRDtools | 1.4.7 | +| zlib | 1.2.3 | + +## Architectures + +### Serveur central seul + +Si vous ne supervisez qu'un petit nombre d'hôtes, vous pouvez n'avoir besoin que d'un serveur central. + +#### Entités + +Plusieurs entités servent à mettre en place cette architecture : + +* Le serveur Apache est chargé d'héberger l'interface web de Centreon +* Plusieurs bases de données MariaDB/MySQL sont chargées de stocker la configuration de Centreon, les informations de + supervision ainsi que les données de performances +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod à Centreon Broker SQL +* Centreon Broker SQL est chargé d'insérer les données de supervision en base de données et de transmettre les données + de performances à Centreon Broker RRD +* Centreon Broker RRD est chargé de générer les fichiers RRD (qui servent à générer les graphiques de performances) + +#### Architecture + +Le schéma ci-dessous résume le fonctionnement de l'architecture : + +![image](../assets/architectures/Architecture_standalone.png) + +### Architecture distribuée + +L'architecture distribuée consiste à avoir deux types d'entités : + +* Le serveur central qui centralise les informations de supervision +* Un ou plusieurs collecteurs qui sont chargés de la supervision des équipements + +Le serveur central regroupe les éléments suivants : + +* L'interface web de Centreon +* La base de données (MariaDB/MySQL + RRD) +* Le moteur de supervision +* Le broker + +Le serveur satellite a les éléments suivants : + +* Le moteur de supervision +* Le module de broker qui permet l'envoi des informations de supervision vers le serveur central + +Cette architecture a plusieurs intérêts : + +* Elle permet la répartition de la charge de supervision entre plusieurs serveurs de supervision +* Isolation des flux réseaux : si votre infrastructure de supervision est chargée de superviser une DMZ, il est plus +simple (et sécurisant) de placer un serveur satellite sur le réseau DMZ + +#### Entités + +##### Serveur central + +Le serveur central fonctionne de la manière suivante : + +* Le serveur Apache est chargé d'héberger l'interface web de Centreon +* Plusieurs bases de données MariaDB/MySQL sont chargées de stocker la configuration de Centreon, les informations de supervision ainsi que les données de performances +* Le service Centreon Gorgone est chargé d'exporter la configuration des moteurs de supervision vers le serveur central et satellites ainsi que du redémarrage des moteurs de supervision +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod à Centreon Broker SQL +* Centreon Broker SQL est chargé d'insérer les données de supervision en base de données et de transmettre les données de performances à Centreon Broker RRD +* Centreon Broker RRD est chargé de générer les fichiers RRD (qui servent à générer les graphiques de performances) + +##### Collecteur + +Le collecteure fonctionne de la manière suivante : + +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod au service Centreon Broker SQL hébergé sur le serveur Central + +#### Architecture + +Le schéma ci-dessous résume le fonctionnement de l'architecture : + +![image](../assets/architectures/Architecture_distributed.png) + +### SGBD déporté + +L'architecture distribuée avec base de données déportée consiste à avoir trois types d'entités : + +* Le serveur central qui centralise les informations de supervision +* Un serveur de base de données chargée de stocker toutes les bases de données +* Un ou plusieurs collecteur qui sont chargés de la supervision des équipements + +Le serveur central regroupe les éléments suivants : + +* L'interface web de Centreon +* Le moteur de supervision +* Le broker +* Les fichiers RRD + +Le serveur de base de données est chargé de stocker la base de données MariaDB/MySQL. + +Le collecteur regroupe les éléments suivants : + +* Le moteur de supervision +* Le module de broker qui permet l'envoi des informations de supervision vers le serveur central + +Cette architecture a plusieurs intérêts : + +* Elle permet la répartition de la charge de supervision entre plusieurs serveurs de supervision +* Isolation des flux réseaux : si votre infrastructure de supervision est chargée de superviser une DMZ, il est plus + simple (et sécurisant) de placer un collecteur sur le réseau DMZ +* Avoir une base de données MariaDB/MySQL externalisée + +#### Entités + +##### Serveur de base de données + +Le serveur de base de données sert uniquement à stocker la configuration de Centreon, les informations de supervision +ainsi que les données de performances au sein de la base de données MariaDB/MySQL. + +##### Serveur central + +Le serveur central fonctionne de la manière suivante : + +* Le serveur Apache est chargé d'héberger l'interface web de Centreon +* Le serveur central récupère la configuration ainsi que les informations de supervision en se connectant au serveur de + base de données +* Le service Centreon Gorgone est chargé d'exporter la configuration des moteurs de supervision vers le serveur central et + collecteurs ainsi que du redémarrage des moteurs de supervision +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod à Centreon Broker SQL +* Centreon Broker SQL est chargé d'insérer les données de supervision en base de données et de transmettre les données de + performances à Centreon Broker RRD +* Centreon Broker RRD est chargé de générer les fichiers RRD (qui servent à générer les graphiques de performances) + +##### Collecteur + +Le collecteur fonctionne de la manière suivante : + +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod au service Centreon Broker SQL hébergé sur le serveur Central + +#### Architecture + +Le schéma ci-dessous résume le fonctionnement de l'architecture : + +![image](../assets/architectures/Architecture_distributed_dbms.png) + +### Serveur distant + +L'architecture distribuée avec Remote Server consiste à avoir trois types d'entités : + +* Le serveur central qui centralise les informations de supervision et permet de configurer la supervision +* Un ou plusieurs collecteurs qui sont chargés de la supervision des équipements +* Un ou plusieurs Remote Server pour afficher et opérer sur un sous-ensemble des données collectées + +Le serveur central regroupe les éléments suivants : + +* L'interface web de Centreon (configuration, présentation et opération) +* Le moteur de supervision +* Le broker +* Les bases de données (MariaDB/MySQL + RRD) + +Le Remote Server regroupe les éléments suivants : + +* L'interface web de Centreon (présentation et opération d'un sous-ensemble des données) +* Le moteur de supervision +* Le broker +* Les bases de données (MariaDB/MySQL + RRD) + +Le collecteur contient les éléments suivants : + +* Le moteur de supervision +* Une interface web de Centreon minimaliste + +Cette architecture a plusieurs intérêts : + +* Elle permet la répartition de la charge de supervision entre plusieurs serveurs de supervision +* Isolation des flux réseaux : si votre infrastructure de supervision est chargée de superviser une DMZ, il est plus + simple (et sécurisant) de placer un collecteur sur le réseau DMZ +* Disposer d'une interface web déportée afin de pouvoir consulter les éléments supervisés d'un sous ensemble + +#### Entités + +##### Serveur central + +Le serveur central fonctionne normalement : + +* Le serveur Apache est chargé d'héberger l'interface web de Centreon +* Plusieurs bases de données MariaDB/MySQL sont chargées de stocker la configuration de Centreon, les informations de supervision + ainsi que les données de performances +* Le service Centreon Gorgone est chargé d'exporter la configuration des moteurs de supervision vers le serveur central et + collecteurs ainsi que du redémarrage des moteurs de supervision +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod à Centreon Broker SQL +* Centreon Broker SQL est chargé d'insérer les données de supervision en base de données et de transmettre les données de + performances à Centreon Broker RRD +* Centreon Broker RRD est chargé de générer les fichiers RRD (qui servent à générer les graphiques de performances) + +##### Remote Server + +Le Remote Server fonctionne normalement : + +* Le serveur Apache est chargé d'héberger l'interface web de Centreon +* Plusieurs bases de données MariaDB/MySQL sont chargées de stocker les informations de supervision ainsi que les données de + performances +* Le service Centreon Gorgone est chargé d'opérer sur les données collectées +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod à Centreon Broker SQL +* Centreon Broker SQL est chargé d'insérer les données de supervision en base de données et de transmettre les données + de performances à Centreon Broker RRD localement. Il est également chargé de transmettre l'ensemble des informations + au serveur Centreon Central. +* Centreon Broker RRD est chargé de générer les fichiers RRD (qui servent à générer les graphiques de performances) + +##### Collecteur + +Le collecteur fonctionne de la manière suivante : + +* Le moteur de supervision supervise le système d'informations +* Les informations de supervision sont envoyées via cbmod au serveur Centreon central. + +#### Architecture + +Le schéma ci-dessous résume le fonctionnement de l'architecture : + +![image](../assets/architectures/Architecture_distributed_remote.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/web-and-post-installation.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/web-and-post-installation.md new file mode 100644 index 000000000000..7938c68fa170 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/installation/web-and-post-installation.md @@ -0,0 +1,157 @@ +--- +id: web-and-post-installation +title: Installation Web +--- + +## Installation web + +Connectez-vous à l'interface web via `http:///centreon`. + +### Étape 1 : Welcome to Centreon setup + +L'assistant de configuration de Centreon s'affiche. Cliquez sur **Next**. + +![image](../assets/installation/acentreonwelcome.png) + +### Étape 2 : Dependency check up + +Les modules et les prérequis nécessaires sont vérifiés. Ils doivent tous être satisfaits. +Cliquez sur **Refresh** lorsque les actions correctrices nécessaires ont été effectuées. + +![image](../assets/installation/acentreoncheckmodules.png) + +Puis cliquez sur **Next**. + +### Étape 3 : Monitoring engine information + +Definissez les chemins utilisés par le moteur de supervision. Nous recommandons +d'utiliser ceux par défaut. + +![image](../assets/installation/amonitoringengine2.png) + +Puis cliquez sur **Next**. + +### Étape 4 : Broker module information + +Definissez les chemins utilisés par le multiplexeur. Nous recommandons +d'utiliser ceux par défaut. + +![image](../assets/installation/abrokerinfo2.png) + +Puis cliquez sur **Next**. + +### Étape 5 : Admin information + +Définissez les informations nécessaires pour la création de l'utilisateur par défaut, **admin**. Vous utiliserez ce compte pour vous connecter à Centreon la première fois. Le mot de passe doit être conforme à la politique de sécurité de mot de passe par défaut : 12 caractères minimum, lettres minuscules et majuscules, chiffres et caractères spéciaux. Vous pourrez changer cette politique par la suite. + +![image](../assets/installation/aadmininfo.png) + +Puis cliquez sur **Next**. + +### Étape 6 : Database information + +Fournissez les informations de connexion à l'instance de base de données. + +- **Database Host Address** : si vous utilisez une base de données locale, laissez ce champ vide (la valeur par défaut étant **localhost**). Sinon, renseignez l'adresse IP de votre base de données déportée. +- **Root user/password** : ce compte sera utilisé pour installer les bases de données. + - S'il s'agit du compte par défaut (**root**), le mot de passe root de la base de données est [celui que vous avez défini](installation-of-a-central-server/using-packages.md#sécuriser-la-base-de-données) lorsque vous avez exécuté `mysql_secure_installation`. + - Si vous avez défini un utilisateur dédié avec des privilèges root sur toutes les bases, (par exemple pendant [l'installation d'une base de donnée déportée](../installation/installation-of-a-central-server/using-packages.md#avec-base-de-données-déportée)), utilisez celui-ci. Cet utilisateur pourra être supprimé une fois l'installation web terminée. + +- **Database user name/password**: les identifiants du compte qui sera utilisé pour interagir avec les bases de données Centreon. Le compte sera créé pendant l'installation de la base. + +![image](../assets/installation/adbinfo.png) + +Puis cliquez sur **Next**. + +### Étape 7 : Installation + +L'assistant de configuration crée les fichiers de configuration et les bases de +données. + +![image](../assets/installation/adbconf.png) + +Quand le processus est terminé, cliquez sur **Next**. + +### Étape 8 : Modules installation + +Sélectionnez les modules et widgets disponibles à l'installation. + +Puis cliquez sur **Install**. + +![image](../assets/installation/module_installationa.png) + +Une fois les modules installés, cliquez sur **Next**. + +![image](../assets/installation/module_installationb.png) + +### Étape 9 : Installation finished + +À cette étape une publicité permet de connaître les dernières nouveautés de +Centreon. Si votre plate-forme est connectée à Internet vous disposez des dernières +informations. Sinon l’information présente dans cette version sera proposée. + +![image](../assets/installation/aendinstall.png) + +L’installation est terminée, cliquez sur **Finish**. + +Vous pouvez maintenant vous connecter en utilisant le compte **admin**, et [initialiser la supervision](#initialisation-de-la-supervision). + +![image](../assets/installation/aconnection.png) + +## Initialisation de la supervision + +Pour démarrer les processus de supervision : + +1. Depuis l'interface web, rendez-vous dans le menu **Configuration > +Collecteurs**. +2. Sélectionnez le collecteur **Central** dans la liste et cliquez sur +**Exporter la configuration**. +3. Cochez **Déplacer les fichiers générés** en plus de la sélection par défaut +et cliquez sur **Exporter**. +4. Connectez-vous au serveur Central. +5. Démarrez/redémarrez les processus de collecte : + + ```shell + systemctl restart cbd centengine + ``` + +6. Redémarrez le gestionnaire de tâches : + + ```shell + systemctl restart gorgoned + ``` + +7. Démarrez les services de supervision passive : + + ```shell + systemctl start snmptrapd centreontrapd + ``` + +8. Si vous voulez superviser ce serveur, démarrer le démon SNMP : + + ```shell + systemctl start snmpd + ``` + +La supervision est maintenant opérationnelle. + +## Ajouter une licence + +Selon votre édition de Centreon, vous pouvez devoir [ajouter une licence](../administration/licenses.md). + +## Installer les extensions disponibles + +Rendez-vous au menu **Administration > Extensions > Gestionnaire** et cliquez sur +le bouton **Install all** : + +![image](../assets/installation/extensions-manager.png) + +## Sécurisez votre plateforme + +N'oubliez pas de sécuriser votre plateforme Centreon en suivant nos +[recommandations](../administration/secure-platform.md). + +## Premiers pas + +Rendez-vous dans le chapitre [Premiers pas](../getting-started/welcome.md) +pour mettre en place votre première supervision. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/data-analytics-overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/data-analytics-overview.md new file mode 100644 index 000000000000..e675f1d6cb8a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/data-analytics-overview.md @@ -0,0 +1,9 @@ +--- +id: data-analytics-overview +title: Data Analytics +--- + +Envoyez vos données vers des solutions spécialisées dans le traitement, +le stockage, et l'indexation de grands volumes de données polymorphes. Inclut +également les solutions permettant d'alerter sur la base de requêtes sur des +outils de concentration de logs. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md new file mode 100644 index 000000000000..7da51943be78 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md @@ -0,0 +1,442 @@ +--- +id: sc-canopsis-events +title: Canopsis Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector Canopsis Events vous permet d'envoyer des données d'évènements +depuis Centreon vers Canopsis via leur API REST HTTP. + +## Avant de commencer + +- Dans la plupart des cas, vous enverrez les données depuis le serveur central. +Il est également possible de les envoyer depuis un serveur distant ou un collecteur +(par exemple si vous voulez éviter que le serveur central ne représente un point de +défaillance unique, ou bien si vous êtes un MSP et vous installez le stream connector +sur un collecteur ou un serveur distant dans l'infratructure de votre client). +- Par défaut, le stream connector Canopsis Events envoie des évènements Broker +**[host_status](https://docs.centreon.com/fr/docs/developer/developer-broker-mapping/#host-status)**, +**[service_status](https://docs.centreon.com/fr/docs/developer/developer-broker-mapping/#service-status)**, +**[acknowledgement](https://docs.centreon.com/fr/docs/developer/developer-broker-mapping/#acknowledgement)** +et **[downtime](https://docs.centreon.com/fr/docs/developer/developer-broker-mapping/#downtime)**. +Ces formats d'événement sont décrits **[ici](#event-format)**. +- Ces évènements sont envoyés à chaque contrôle sur l'hôte ou le service. Des paramètres +dédiés vous permettent de [ne pas envoyer certains évènements](#filtering-or-adapting-the-data-you-want-to-send-to-canopsis). + +## Compatibilité + +Ce stream connector est conçu pour être compatible avec l'API v.4 de Canopsis, ce qui inclut les versions suivantes de **Canopsis** : 22.10, +23.04, 23.10 et 24.04. + +## Installation + +Faites l'installation sur le serveur qui enverra les données à Canopsis (serveur central, +serveur distant, collecteur). + +1. Connectez-vous en tant que `root` sur le serveur Centreon central en utilisant votre +client SSH préféré. +2. Exécutez la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-canopsis +``` + + + + + +```shell +dnf install centreon-stream-connector-canopsis +``` + + + + + +```shell +apt install centreon-stream-connector-canopsis +``` + + + + +## Configuration de Canopsis + +Vous devrez paramétrer votre interface Canopsis pour qu'elle puisse recevoir des données +de la part de Centreon. Reportez-vous au [guide d'utilisation Canopsis](https://doc.canopsis.net/guide-utilisation/) +, notamment vérifiez que les droits de création, lecture et suppression sont activés (voir la documentation d' +[administration des droits](https://doc.canopsis.net/guide-utilisation/menu-administration/droits/) et celle d' +[administration de la planification](https://doc.canopsis.net/guide-utilisation/menu-administration/planification/) +dans le cas des plages de maintenance). +Pour l'utilisateur associé à la clé d'authentification, il faut modifier la matrice de droits à la page **Administration > Droits**. +Vous devez avoir au minimum coché les cases indiquées dans le tableau suivant : + +| Section | Sous-section | Case minimales à cocher | +|---------------------------|------------------------------------------------|-------------------------------------------------| +| Général | Événement | Cocher la seule case disponible | +| Comportements périodiques | Comportements périodiques | Cocher les cases create, read, update et delete | +| Comportements périodiques | Comportements périodiques : Dates d'exceptions | Cocher les cases create et read | +| Comportements périodiques | Comportements périodiques : Raisons | Cocher les cases create et read | +| Comportements périodiques | Comportements périodiques : Types | Cocher la case read | + +Assurez-vous que Canopsis puisse recevoir les données envoyées par Centreon : les flux +ne doivent pas être bloqués par la configuration de Canopsis ou par un équipement de sécurité. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de +Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les +évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez +sur **Add**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +|-----------------|------------------------------------------------------------| +| Name | Canopsis events | +| Path | /usr/share/centreon-broker/lua/canopsis2x-events-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Canopsis, remplissez les +paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add +a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Description | Exemple de valeur | +| ------ |------------------|-----------------------------------------|-------------------| +| string | canopsis_authkey | Clé d'authentification à l'API Canopsis | `an_authkey` | +| string | canopsis_host | Adresse de l'hôte Canopsis | `a host` | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Description | Valeur par défaut | +| ------ |-----------|-----------------------------------------------------------|----------------------------------------------------| +| string | logfile | Fichier dans lequel les logs sont écrits | /var/log/centreon-broker/canopsis-events-apiv2.log | +| number | log_level | Niveau de verbosité des logs : de 1 (erreurs) à 3 (debug) | 1 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les +données que vous voulez que Centreon envoie à Canopsis](#filtering-or-adapting-the-data-you-want-to-send-to-canopsis). +8. [Déployez la configuration](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/deploying-a-configuration/). +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Canopsis reçoit maintenant les données de Centreon. + + +### Filtrer ou adapter les données que vous voulez envoyer à Canopsis + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) +qui vous permettent de filtrer les données que vous enverrez à Canopsis, de reformater +les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation +correspondante. + +* Pour remplacer la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** +en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. +Par exemple, si vous ne voulez envoyer à Canopsis que les évènements liés à un hostgroup +nommé "Europe", entrez : + + ```text + type = string + name = accepted_hostgroup + value = Europe + ``` + +* Pour le stream connector Canopsis Events, les données suivantes remplacent toujours les +valeurs par défaut. Il n'est donc pas nécessaire de les redéfinir +dans l'interface sauf si vous voulez en changer les valeurs (par exemple retirer les +plages de maintenance à la variable **accepted_elements**). + + +| Type | Nom | Description | Valeur par défaut pour le stream connector Canopsis | Valeur(s) possibles | +|--------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|--------------------------------------------------------------| +| string | accepted_categories | Chaque événement est lié à une catégorie de broker qui peut être utilisée pour filtrer les événements | neb | neb ou bam | +| string | accepted_elements | Élément Centreon géré par ce connecteur (pour en ajouter, vous devez regarder la section des format d'événement personnalisé, voir ci-dessous), la iste de éléments à séparer par des virgules sans espaces | host_status,service_status,acknowledgement,downtime | host_status ou service_status ou acknowledgement ou downtime | +| string | canopsis_downtime_comment_route | Route Canopsis pour envoyer les commentaires sur les plages de maintenance | /api/v4/pbehavior-comments | /api/v4/pbehavior-comments | +| string | canopsis_downtime_reason_name | Nom de la raison Canopsis pour les plages de maintenance | Centreon_downtime | - | +| string | canopsis_downtime_reason_route | Route Canopsis pour requêter le champs "raison" | /api/v4/pbehavior-reasons | /api/v4/pbehavior-reasons | +| string | canopsis_downtime_route | Route Canopsis pour envoyer les plages de maintenance | /api/v4/pbehaviors | /api/v4/pbehaviors | +| number | canopsis_downtime_send_pbh | Désactiver (0) / Activer (1) l'envoi des plages de maintenance si toutes les règles pour le faire sont validées (le champs raison et le type existent) | 1 | 0 ou 1 | +| string | canopsis_downtime_type_name | Nom de la catégorie de type des plages de maintenance de Canopsis | Default maintenance | - | +| string | canopsis_downtime_type_route | Route Canopsis pour requêter le champs "type" | /api/v4/pbehavior-types | /api/v4/pbehavior-types | +| string | canopsis_event_route | Route Canopsis pour envoyer les événements (hors plages de maintenance) | /api/v4/event | /api/v4/event | +| number | canopsis_port | Port Canopsis | 443 | - | +| number | canopsis_sort_list_hostgroups | Désactiver (0) / Activer (1) le tri des listes de groupes d'hôtes | 0 | 0 ou 1 | +| number | canopsis_sort_list_servicegroups | Désactiver (0) /Activer (1) le tri des listes de groupes de services | 0 | 0 ou 1 | +| string | connector | Le type de connecteur s'affichant dans l'interface Canopsis dans Alarmes > Type de connecteur | centreon-stream | - | +| string | connector_name | Nom du connector | centreon-stream-central | - | +| string | connector_name_type | Type de connector | poller | - | +| string | sending_method | Méthode d'envoi (seule l'API est disponible pour le moment) | api | api | +| string | sending_protocol | Protocole d'envoi (peut être https ou http) | https | http ou https | +| number | use_severity_as_state | Désactiver (0) /Activer (1) convertit la sévérité en état | 0 | 0 ou 1 | + +## Event bulking + +Ce stream connector n'est pas compatible avec l'event bulking pour le moment. Cela signifie qu'il n'est pas capable +d'envoyer plus d'un évènement lors de chaque appel à l'API REST Canopsis. + +## Format des évènements + +Ce stream connector envoie des évènements au format suivant : + +### Exemple de sortie pour un événement service_status + +```json +[ + { + "action_url": "", + "component": "Host-name", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "check", + "host_id": "15", + "hostgroups": [ + "Group 1", + "Group 2" + ], + "long_output": "Plugin's long output", + "notes_url": "", + "output": "Plugin's output", + "resource": "Service-name", + "service_id": "47", + "servicegroups": [], + "source_type": "resource", + "state": 1, + "timestamp": 1708693347 + } +] +``` + +### Exemple de sortie pour un événement host_status + +```json +[ + { + "action_url": "", + "component": "Host-1", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "check", + "host_id": "15", + "hostgroups": [ + "Group 1", + "Group 2" + ], + "long_output": "OK: Host is OK", + "notes_url": "", + "output": "OK: Host is OK", + "source_type": "component", + "state": 0, + "timestamp": 1708953238 + } +] +``` + +### Exemple de sortie pour un événement acquittement + +```json +[ + { + "author": "admin", + "component": "Host-1", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "ack", + "long_output": "Acknowledged by admin", + "output": "Acknowledged by admin", + "resource": "passif", + "source_type": "resource", + "state": 1, + "timestamp": 1709052753 + } +] +``` + +### Exemple de sortie pour un événement plage de maintenance + +```json +[ + { + "_id": "centreon-downtime-8-1715607730", + "author": "admin", + "enabled": true, + "entity_pattern": [ + [ + { + "field": "name", + "cond": { + "type": "eq", + "value": "Test-Service-Demo-Canopsis/Test-Demo-Canopsis" + } + } + ] + ], + "name": "centreon-downtime-8-1715607730", + "reason": "XXXX", + "rrule": "", + "tstart": 1715607718, + "tstop": 1715607958, + "type": "XXXX" + } +] +``` + +* Remarque : Dans la version 22.10 de Canopsis, il y a en plus un champ "color" supplémentaire. + +### Format d'évènement personnalisé + +Ce stream connector vous permet de changer le format des événements pour correspondre +à vos besoins. Cela vous permet de gérer des types d'événements qui ne le sont pas +par défaut, comme les évènements **ba_status**. + +Pour utiliser cette fonctionnalité vous devez configurer un fichier json de formatage +et ajouter un nouveau paramètre à la configuration du stream connector. + +| Type | Nom | Valeur | +| ------ |-------------|--------------------------------------------------| +| string | format_file | /etc/centreon-broker/canopsis-events-format.json | + +> Le fichier de configuration de format des évènements doit être lisible par l'utilisateur **centreon-broker**. + +Pour en savoir plus sur les fichiers modèle et comment formatter les évènements vous pouvez +consulter la **[documentation dédiée](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Commandes Curl : tester le stream connector + +Voici la liste des commandes curl qui sont utilisées par le stream connector Canopsis. + +### Configuration du stream connector + +Si vous voulez tester que les commandes de configuration sont envoyées correctement à Canopsis, utilisez les commandes curl suivantes. + +#### Requête de la route pbehavior-reasons + +Cette commande vérifie que la route **pbehavior-reasons** est accessible et renvoie notamment les valeurs du champ **Raison** des plages de maintenance. Cela permet par la suite de vérifier que le nom du champ **Raison** pour les plages de maintenance Centreon existe (par défaut ce nom est **Centreon_downtime**). + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à +Canopsis (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':' +``` + +> Remplacez les *``* dans la commande ci-dessus par les valeurs correctes d'authentification à l'hôte Canopsis. +> Les valeurs par défaut définies dans le stream connector sont : pour **canopsis_port** : **443** et pour **canopsis_pbehavior_reasons** : **/api/v4/pbehavior-reasons**. + +3. Vérifiez que la commande renvoie bien une structure de données de la forme suivante : + +```json + "data":[ + { + "_id":"XXXX", + "description":"DESCRIPTION", + "name":"NAME" + } + ] +``` + +#### Requête de la route pbehavior-types + +Cette commande vérifie que la route **pbehavior-types** est accessible et renvoie notamment l'ID des Types des plages de maintenance possibles. Cela permet par la suite de vérifier que le nom +du **Type** des plages de maintenance Centreon existe (par défaut ce nom est **Default maintenance**). + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à +Canopsis (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':' +``` + +> Remplacez les *``* dans la commande ci-dessus par les valeurs correctes d'authentification à l'hôte Canopsis. +> Les valeurs par défaut définies dans le stream connector sont : pour **canopsis_port** : **443**, et pour **canopsis_pbehavior_types** : **/api/v4/pbehavior-types**. + +3. Vérifiez que la commande renvoie bien une structure de données de la forme suivante : + +```json + "data":[ + { + "_id":"ec35c069-1651-4ee1-8944-3e5574e7b516", + "name":"Default active", + "description":"Default active", + "type":"active", + "priority":2, + "icon_name":"", + "color":"#2FAB63" + }, + { + "_id":"470c469c-77bc-402c-910f-30a8b2584343", + "name":"Default inactive", + "description":"Default inactive", + "type":"inactive", + "priority":1, + "icon_name":"brightness_3", + "color":"#979797" + }, + { + "_id":"5ea9d2d8-0f16-4e19-bcca-64b1e96e00fa", + "name":"Default maintenance", + "description":"Default maintenance", + "type":"maintenance", + "priority":3, + "icon_name":"build", + "color":"#BF360C" + }, + { + "_id":"1fb65097-ddaa-4e99-9239-8263095c156c", + "name":"Default pause", + "description":"Default pause", + "type":"pause", + "priority":4, + "icon_name":"pause", + "color":"#5A6D80" + } + ] +``` +> En laissant les valeurs par défaut du stream connector Canopsis, les plages de maintenance sont classées dans le type **Default maintenance**. + +#### Requête de la route app-info + +Cette commande vérifie que la route **app-info** est accessible et retourne des informations +concernant l'hôte Canopsis. + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à +Canopsis (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':/api/v4/app-info' +``` + +> Remplacez tous les *``* dans la commande ci-dessus par les valeurs correctes d'authentification à l'hôte Canopsis. +> Pour le port, la valeur par défaut définie dans le stream connector est **443**. + +Cette commande permet entre autres d'accéder à la version de Canopsis. + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à Canopsis : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à +Canopsis (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X POST -H 'content-length: 400' -H 'content-type: application/json' -H 'x-canopsis-authkey: ' ':' -d '[{"hostgroups":[],"component":"Test-Canopsis","host_id":"8","event_type":"check","resource":"passif","output":"Test_passif_output","servicegroups":[],"connector":"centreon-stream","source_type":"resource","action_url":"","long_output":"Test-curl-command Passif long output","notes_url":"","connector_name":"Central","timestamp":1710843117,"service_id":"10","state":1}]' +``` + +> Remplacez tous les *``* dans la commande ci-dessus par les valeurs correctes d'authentification à l'hôte Canopsis. +> Les valeurs par défaut définies dans le stream connector sont : pour **canopsis_port** : **443** et **canopsis_event_route** : **/api/v4/event**. + +3. Vérifiez que l'évènement a bien été reçu par Canopsis : les statuts doivent apparaître à la page **Alarmes > En Cours** de Canopsis. + +![image](../../assets/integrations/data-analytics/status.png) \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-clickhouse.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-clickhouse.md new file mode 100644 index 000000000000..b261e0827853 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-clickhouse.md @@ -0,0 +1,274 @@ +--- +id: sc-clickhouse +title: Clickhouse +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Avant de commencer + +- Dans la plupart des cas, vous enverrez les données depuis le serveur central. Il est également possible de les envoyer depuis un serveur distant ou un collecteur (par exemple si vous voulez éviter que le serveur central ne représente un point de défaillance unique, ou bien si vous êtes un MSP et vous installez le stream connector sur un collecteur ou un serveur distant dans l'infratructure de votre client). +- Par défaut, le stream connector Clickhouse envoie des métriques des évènements Broker [**host_status**](../../developer/developer-broker-mapping.md#host-status) et [**service_status**](../../developer/developer-broker-mapping.md#service-status). Ces métriques sont contenues dans le champ **perf_data** des évènements. Le format des évènements est décrit **[ici](#event-format)**. +- Ces évènements sont envoyés à chaque contrôle sur l'hôte ou le service. Des paramètres dédiés vous permettent de [ne pas envoyer certains évènements](#filtering-or-adapting-the-data-you-want-to-send-to-clickhouse). + +## Prérequis + +- L'interface HTTP Clickhouse doit être activée. [(Documentation Clickhouse)](https://clickhouse.com/docs/en/interfaces/http). +- Vous devez disposer d'un utilisateur valide (et de son mot de passe), qui puisse effectuer des **INSERT** dans la table désirée. +- Vous devez créer une table dans Clickhouse qui recevra les données en provenance de Centreon. Voici le schéma de la table (vous pouvez changer les noms de la base de données et de la table : elles sont toutes les deux configurables dans le stream connector). + +### Schéma de table standard + +Voici le schéma par défaut à utiliser. + +```sql +CREATE TABLE centreon_stream.metrics +( + host String, + service String, + metric_id String, + metric_name String, + metric_unit String, + metric_value Decimal, + metric_min Decimal, + metric_max Decimal, + timestamp DateTime, + hostgroups Array(String) +) +ENGINE = MergeTree() +PRIMARY KEY (timestamp, host, service, metric_name, metric_id) +``` + +### Schéma de table alternatif + +> Attention : n'utilisez ce schéma que si vous voulez absolument récupérer le metric_id interne de Centreon. Cela entraîne la perte de nombreuses possibilités, telles que l'accès aux unités des métriques, à leur min, max... + +> Pour utiliser ce schéma, reportez-vous à la documentation du paramètre **use_deprecated_metric_system** ci-dessous ([étape 6 de la procédure Configurer le stream connector dans Centreon](#configurer-le-stream-connector-dans-centreon)). + +```sql +CREATE TABLE centreon_stream.metrics +( + host String, + service String, + metric_id BIGINT, + metric_name String, + metric_value Decimal, + timestamp DateTime, + hostgroups Array(String) +) +ENGINE = MergeTree() +PRIMARY KEY (timestamp, host, service, metric_name, metric_id) +``` + +## Installation + +Faites l'installation sur le serveur qui enverra les données à Clickhouse (serveur central, serveur distant, collecteur). + + + + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Installez le dépôt **Epel**. + +```shell +dnf install epel-release +``` + +3. Installez les modules lua Centreon. + +```shell +dnf install centreon-stream-connectors-lib +``` + +4. Téléchargez le stream connector Clickhouse : + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Installez le dépôt **Epel**. + +```shell +dnf install epel-release +``` + +3. Installez les modules lua Centreon. + +```shell +dnf install centreon-stream-connectors-lib +``` + +4. Téléchargez le stream connector Clickhouse : + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Installez les modules lua Centreon. + +```shell +dnf install centreon-stream-connectors-lib +``` + +3. Téléchargez le stream connector Clickhouse : + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + +## Configurer votre équipement Clickhouse + +Vous devrez paramétrer votre équipement Clickhouse pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation Clickhouse. +Assurez-vous que Clickhouse puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration de Clickhouse ou par un équipement de sécurité. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- | ----------------------------------------------------------- | +| Name | Clickhouse metrics | +| Path | /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Clickhouse, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Explication | Exemple | +| ------ | --------------- | ----------------------------------------------------------- | ------------------------------- | +| string | user | Utilisateur Clickhouse à utiliser | centreon | +| string | password | Mot de passe de cet utilisateur | centreon | +| string | http_server_url | Adresse du serveur Clickhouse (inclure le protocole et le port) | https://myclickhouse.local:8123 | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Explication | Valeur par défaut | +| ------ | ---------------------------- | ------------------------------------------------------------- | --------------- | +| string | clickhouse_database | Nom de la base de données dans laquelle la table désirée est stockée | centreon_stream | +| string | clickhouse_table | Table dans laquelle les métriques sont écrites | metrics | +| number | use_deprecated_metric_system | Si la valeur est 1, le schéma de table alternatif sera utilisé | 0 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à Clickhouse](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-clickhouse). + +8. [Déployez la configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Clickhouse reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#curl-commands-testing-the-stream-connector). + +### Filtrer ou adapter les données que vous voulez envoyer à Clickhouse + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement Clickhouse, de reformater les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Clickhouse que les évènements traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* Pour le stream connector Clickhouse, les données suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). + +| Type | Nom | Valeur par défaut pour le stream connector | Notes | +| ------ | --------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| string | accepted_categories | neb | | +| string | accepted_elements | host_status,service_status | | +| string | max_buffer_size | 1000 | Baissez cette valeur jusqu'à environ 100 si vous avez moins de 10 000 services. Si vous effectuez des opérations de dépannage avec les paramètres log_curl_commands et/ou send_data_test, vous pouvez baisser cette valeur en-dessous de 10. | +| number | hard_only | 0 | | +| number | enable_host_status_dedup | 0 | | +| number | enable_service_status_dedup | 0 | | + +## Event bulking + +Ce stream connector est compatible avec l'event bulking. Cela signifie qu'il est capable d'envoyer plus d'un évènement lors de chaque appel à l'API REST Spunk. + +Pour utiliser cette fonctionnalité, vous devez ajouter le paramètre **max_buffer_size** à la configuration de votre stream connector. + +## Format des évènements + +Ce stream connector envoie des évènements au format suivant : + +### Évènement service_status + +```sql +INSERT INTO centreon_stream.metrics (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_1',1702910747,'rtmin',0.005,'Ping',['hg'],'10-8-rtmin','ms',,),('central_1',1702910747,'rta',0.061,'Ping',['hg'],'10-8-rta','ms',0.0,),('central_1',1702910747,'pl',0.0,'Ping',['hg'],'10-8-pl','%',0.0,100.0) +``` + +### Évènement host_status + +```sql +INSERT INTO centreon_stream.metrics (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_3',1702910932,'rtmin',0.0,'Ping',['hg'],'12-10-rtmin','ms',,),('central_3',1702910932,'rta',0.0,'Ping',['hg'],'12-10-rta','ms',0.0,),('central_3',1702910932,'pl',100.0,'Ping',['hg'],'12-10-pl','%',0.0,100.0) +``` + +### Résultat dans Clickhouse + +```txt +┌─host────┬─service─┬─metric_name─┬─metric_unit─┬─metric_value─┬─metric_min─┬─metric_max─┬───────────timestamp─┬─hostgroups─────────────┐ +│ central │ │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rta │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmax │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmin │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rta │ ms │ 0.013 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rta │ ms │ 0.013 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmax │ ms │ 0.049 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmax │ ms │ 0.049 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmin │ ms │ 0.004 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmin │ ms │ 0.004 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rta │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmax │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmin │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +└─────────┴─────────┴─────────────┴─────────────┴──────────────┴────────────┴────────────┴─────────────────────┴────────────────────────┘ +``` + +### Format d'évènements personnalisés + +Il n'est pas possible de changer le format des évènements pour les stream connectors orientés métriques. Vous ne pouvez donc pas envoyer d'autres évènements Broker contenant des données de performance. + +## Commandes Curl : tester le stream connector + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à Clickhouse : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à Clickhouse (le serveur central, un serveur distant ou un collecteur). +2. Exécutez la commande suivante : + +```shell +curl -X POST -H 'X-ClickHouse-User: ' -H 'X-ClickHouse-Key: ' '' -d 'INSERT INTO . (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_2',1702910872,'rtmin',0.0,'Ping',['hg'],'11-9-rtmin','ms',,),('central_2',1702910872,'rta',0.0,'Ping',['hg'],'11-9-rta','ms',0.0,),('central_2',1702910872,'pl',100.0,'Ping',['hg'],'11-9-pl','%',0.0,100.0)' +``` + +> Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. Par exemple, *``* pourra être remplacé par *centreon_stream*. + +3. Vérifiez que l'évènement a bien été reçu par Clickhouse. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-events.md new file mode 100644 index 000000000000..b5a0e93bdaa1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-events.md @@ -0,0 +1,155 @@ +--- +id: sc-datadog-events +title: Datadog Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **events** from **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +apt install centreon-stream-connector-datadog +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------- | +| Name | Datadog events | +| Path | /usr/share/centreon-broker/lua/datadog-events-apiv2.lua | +| Filter category | Neb | + +### Add Datadog mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------- | ------------- | +| string | api_key | the datadog api key | | + +### Add Datadog optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ----------------------- | -------------------------------------------------- | -------------------------------------------- | +| string | datadog_centreon_url | your centreon server address | `http://yourcentreonaddress.local` | +| string | datadog_event_endpoint | the API endpoint that must be used to send events | /api/v1/events | +| string | http_server_url | The Datadog API hosting server address | https://api.datadoghq.com | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/datadog-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)** + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ---------------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Datadog REST API. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "title": "CRITICAL my_host my_service", + "text": "my service is not working", + "aggregation_key": "service_27_12", + "alert_type": "error", + "host": "my_host", + "date_happened": 1630590530 +} +``` + +### host_status event + +```json +{ + "title": "CRITICAL my_host", + "text": "my host is not working", + "aggregation_key": "host_27", + "alert_type": "error", + "host": "my_host", + "date_happened": 1630590530 +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/elastic-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H "content-type: application/json" -H "DD-API-KEY: " '' -d '{"title":"CRITICAL my_host my_service","text":"my service is not working","aggregation_key":"service_27_12","alert_type":"error","host":"my_host","date_happened":1630590530}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *https://api.datadoghq.com*. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md new file mode 100644 index 000000000000..f30f9e1fb6d3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md @@ -0,0 +1,158 @@ +--- +id: sc-datadog-metrics +title: Datadog Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **metrics** from **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +apt install centreon-stream-connector-datadog +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | -------------------------------------------------------- | +| Name | Datadog metrics | +| Path | /usr/share/centreon-broker/lua/datadog-metrics-apiv2.lua | +| Filter category | Neb | + +### Add Datadog mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------- | ------------- | +| string | api_key | the datadog api key | | + +### Add Datadog optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ----------------------- | -------------------------------------------------- | -------------------------------------------- | +| string | datadog_centreon_url | your centreon server address | `http://yourcentreonaddress.local` | +| string | datadog_metric_endpoint | the API endpoint that must be used to send metrics | /api/v1/series | +| string | http_server_url | The Datadog API hosting server address | https://api.datadoghq.com | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/datadog-metrics.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)** + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ---------------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | +| number | max_buffer_size | 30 | +| number | hard_only | 0 | +| number | enable_service_status_dedup | 0 | +| number | enable_host_status_dedup | 0 | +| string | metric_name_regex | `[^a-zA-Z0-9_%.]` | +| string | metric_replacement_character | _ | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Datadog REST API. + +> The default value for this stream connector is 30. A small value is more likely to slow down the Centreon broker thus generating retention. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "host": "my_host", + "metric": "database.used.percent", + "points": [[1630590530, 80]], + "tags": [ + "service:my_service", + "instance:my_instance", + "subinstance:sub_1", + "subinstance:sub_2" + ] +} +``` + +### host_status event + +```json +{ + "host": "my_host", + "metric": "database.used.percent", + "points": [[1630590530, 80]], + "tags": [ + "instance:my_instance", + "subinstance:sub_1", + "subinstance:sub_2" + ] +} +``` + +### Custom event format + +You can"t change the format of the event for metrics oriented stream connectors. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H "content-type: application/json" -H "DD-API-KEY: " '' -d '{"host":"my_host","metric":"database.used.percent","points":[[1630590530,80]],"tags":["service:my_service","instance:my_instance","subinstance:sub_1","subinstance:sub_2"]}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *https://api.datadoghq.com*. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elastic-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elastic-events.md new file mode 100644 index 000000000000..d03cbdfe0de3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elastic-events.md @@ -0,0 +1,198 @@ +--- +id: sc-elastic-events +title: Elastic Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector Elastic Events vous permet d'envoyer des données depuis Centreon vers Elasticsearch. Il envoie des données grâce aux APIs Elasticsearch. + +Utilisez le stream connector Elastic Events si vous souhaitez transmettre toutes les données pour les évènements concernés (y compris les changements d'état). Si vous ne souhaitez transmettre que des métriques, utilisez le stream connector [Elastic Metrics](./sc-elasticsearch-metrics.md). + +Un index template adapté est créé automatiquement par le stream connector afin que vos données soient indexées correctement dans Elasticsearch. (L'index template est la description du format des données qui seront envoyées.) + +## Installation + +Faites l'installation en tant que `root` sur le serveur qui enverra les données vers Elasticsearch (serveur central, serveur distant, collecteur). + + + + +```shell +dnf install centreon-stream-connector-elasticsearch +``` + + + + + +```shell +dnf install centreon-stream-connector-elasticsearch +``` + + + + + +```shell +apt install centreon-stream-connector-elasticsearch +``` + + + + +## Configurer votre serveur Elasticsearch + +Vous devrez paramétrer votre équipement Elasticsearch pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation Elasticsearch. Assurez-vous qu'Elasticsearch puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration d'Elasticsearch ou par un équipement de sécurité. + +Sur votre serveur Elasticsearch, vous aurez besoin de : + +- Un index pour stocker les évènements envoyés par Centreon. Vous pouvez créer un index *centreon_status* grâce à la commande suivante : + + ```shell + curl --user elastic:centreon-es-passwd -X PUT "://:/centreon_status" -H 'Content-Type: application/json' \ + -d '{"mappings":{"properties":{"host":{"type":"keyword"},"service":{"type":"keyword"}, "output":{"type":"text"},"status":{"type":"keyword"},"state":{"type":"keyword"}, "type":{"type":"keyword"},"timestamp":{"type":"date","format":"epoch_second"}}}}' + ``` + + > Si vous utilisez un **[format d'évènement personnalisé](#event-format)**, vous devrez modifier cette commande en conséquence. + +- Un utilisateur/mot de passe ayant les privilèges nécessaires pour effectuer des requêtes POST afin d'insérer des données dans l'index. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- | ------------------------------------------------------- | +| Name | Elastic events | +| Path | /usr/share/centreon-broker/lua/elastic-events-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Elasticsearch, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter une autre. + +| Type | Nom | Description | Exemple | +| ------ | ----------------------- | --------------------------------------- | ------------------------------------------------------- | +| string | elastic_url | URL de votre stack Elastic | `https://elastic-fqdn:9200/` | +| string | elastic_index_status | Nom de l'index Elastic cible | `centreon_status` | +| string | elastic_username | Identifiant pour se connecter à Elastic | `a_username` | +| string | elastic_password | Mot de passe correspondant à l'identifiant | `a password` | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Description | Valeur par défaut | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------------- | +| string | logfile | Fichier dans lequel les logs sont écrits | /var/log/centreon-broker/elastic-events-apiv2.log | +| number | log_level | Niveau de log : de 1 (erreurs) à 3 (débug) | 1 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à Elasticsearch](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-elasticsearch). + +8. [Déployez la configuration](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/deploying-a-configuration/). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Elasticsearch reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#commandes-curl--tester-le-stream-connector). + +### Filtering or adapting the data you want to send to Elasticsearch + +### Filtrer ou adapter les données que vous voulez envoyer à Elasticsearch + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement Elasticmetrics, de reformater les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Elasticmetrics que les évènements traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* Pour le stream connector Elasticsearch Events, les valeurs suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). + +| Type | Nom | Valeur par défaut pour le stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +Ce stream connector est compatible avec l'event bulking. Cela signifie qu'il est capable d'envoyer plus d'un évènement dans chaque appel à l'API REST Elastic. + +Pour utiliser cette fonctionnalité, ajoutez le paramètre suivant à la configuration de votre stream connector. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Format des évènements + +Ce stream connector enverra des évènements au format suivant. + +### Évènement service_status + +```json +{ + "event_type": "host", + "status": "CRITICAL", + "state": "2", + "state_type": 1, + "host": "my_host", + "service": "a_service", + "output": "CRITICAL: Burnin and Lootin" +} +``` + +### Évènement host_status + +```json +{ + "event_type": "host", + "status": "DOWN", + "state": "1", + "state_type": 1, + "host": "my_host", + "output": "CRITICAL: No woman no cry", + "timestamp": 1637229207 +} +``` + +### Format d'évènement personnalisé + +Ce stream connector vous permet de changer le format des évènements pour les adapter à vos besoins. Seule la partie **event** du json est personnalisable. Cela vous permet également d'utiliser des types d'évènements non pris en charge par défaut, tels que des évènements **ba_status**. + +Pour utiliser cette fonctionnalité, vous devez configurer un ficher json de format d'évènement et ajouter un nouveau paramètre au stream connector. + +| Type | Nom | Valeur | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/elastic-events-format.json | + +> Le fichier de configuration de format doit être lisible par l'utilisateur **centreon-broker**. + +Pour en savoir plus sur les formats d'évènements personnalisés et les fichiers de templating, voir la **[documentation suivante](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Commandes Curl : tester le stream connector + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à Elasticsearch : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à Elasticsearch (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -u elastic:centreon-es-passwd --header 'content-type: application/json' -X POST "/_bulk" --data-binary '{"index":{"_index":""}} +{"host":"jamaica","status":"OK","state_type":1,"state":0,"timestamp":,"event_type":"service","service":"kingston","output":"OK: Everything is gonna be alright"} +' +``` + +> Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. + +3. Vérifiez que les données ont été reçues par Elasticsearch. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md new file mode 100644 index 000000000000..24a496e26db6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md @@ -0,0 +1,323 @@ +--- +id: sc-elastic-metrics +title: Elastic Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector Elasticsearch metrics vous permet d'envoyer des données depuis Centreon vers Elasticsearch. +Les métriques sont envoyées via les APIs Elasticsearch. + +Un index template adapté est créé automatiquement par le stream connector afin que vos données soient indexées correctement dans Elasticsearch. (L'index template est la description du format des données qui seront envoyées.) + +## Prérequis + +Certaines dépendances sont installées par **luarocks**, qui se connecte à `https://github.com` pour récupérer celles-ci. Si la connexion à github est impossible, téléchargez la dernière version des bibliothèques Lua pour les stream connectors disponibles sur [cette page](https://github.com/centreon/centreon-stream-connector-scripts/releases): dans l'archive, copiez le répertoire **centreon-stream-connectors-lib** depuis le répertoire **modules** vers le dossier **/usr/share/lua/5.x/** de votre serveur (5.x étant la version de Lua installée, par exemple 5.4). + +## Installation + +Réalisez l'installation en `root` sur le serveur qui enverra les données vers Elasticsearch (serveur central, serveur distant, collecteur). + +1. Installez les dépendances : + + + + +```shell +dnf install luarocks make gcc lua-curl lua-devel wget +``` + + + + + +```shell +dnf install luarocks make gcc lua-curl lua-devel wget +``` + + + + + +```shell +apt install luarocks make gcc lua-curl lua-devel wget +``` + + + + +2. Installez les bibliothèques Centreon Lua pour les stream connectors : + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + +3. Installez le stream connector : + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + +## Configurer votre serveur Elasticsearch + +Vous devrez paramétrer votre équipement Elasticsearch pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation Elasticsearch. Assurez-vous qu'Elasticsearch puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration d'Elasticsearch ou par un équipement de sécurité. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- | ------------------------------------------------------- | +| Name | Elasticsearch metrics | +| Path | /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Elasticsearch, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Description | Exemple | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | L'adresse de votre serveur Elasticsearch, protocole et port inclus | Exemple: https://my_elasticsearch.local:9200 | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Description | Valeur par défaut | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------- | +| string | elastic_username | Compte API auquel envoyer les données | | +| string | elastic_password | MOt de passe du compte API | | +| string | index_name | Nom de l'index Elasticsearch à utiliser | centreon-metrics | +| string | index_template_api_endpoint | Chemin de l'endpoint des templates d'index Elasticsearch | /_index_template | +| string | index_pattern | Par défaut, prend le nom de l'index et ajoute `*`. C'est le nom des index pour lesquels s'appliquera le template d'index lorsque ce dernier sera créé par le stream connector | centreon-metrics* | +| number | index_priority | La priorité de l'index lorsque le template d'index est créé par le stream connector | 200 | +| number | create_datastream_index_template | Le stream connector va automatiquement créer l'index template s'il ne trouve pas ce dernier (1 = création automatique, 0 = pas de template d'index créé) | 1 | +| number | update_datastream_index_template | le stream connector mettra à jour l'index template si ce dernier ne correspond pas aux données qui vont être envoyées. (1 = mise à jour automatique, 0 = pas de mise à jour automatique). Même si la mise à jour automatique est activée, elle ne fonctionnera que si l'index template a été créé par Centreon. (L'index template contient une metadonnée qui indique cela.) | 0 | +| number | add_hostgroups_dimension | Ajoute les groupes d'hôtes aux données envoyées. (1 = ajout des groupes d'hôtes, 0 = pas de groupes d'hôtes envoyés) | 1 | +| number | add_poller_dimension | Ajoute le collecteur aux données envoyées. (1 = ajout du collecteur, 0 = pas de collecteur envoyé) | 0 | +| number | add_servicegroups_dimension | Ajoute les groupes de services aux données envoyées. (1 = ajout des groupes de services, 0 = pas +de groupes de services envoyés) | 0 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à Elasticsearch](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-elasticsearch). + +8. [Déployez la configuration](https://docs.centreon.com/fr/docs/monitoring/monitoring-servers/deploying-a-configuration/). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Elasticsearch reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#commandes-curl--tester-le-stream-connector). + +### Filtrer ou adapter les données que vous voulez envoyer à Elasticsearch + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement Elasticmetrics, de reformater les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Elasticmetrics que les évènmenes traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +| Type | Name | Description | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_pollers | Seules les métriques traitées par les collecteurs spécifiés ici seront envoyées (le séparateur est la virgule). Exemple : poller_1,poller_2 | +| string | accepted_hostgroups | Seules les métriques rattachées aux groupes d'hôtes spécifiés ici seront envoyées (le séparateur est la virgule). Exemple : hg_1,hg_2 | +| string | accepted_servicegroups | eules les métriques rattachées aux groupes de services spécifiés ici seront envoyées (le séparateur est la virgule). Exemple : sg_1,sg_2 | +| string | accepted_metrics | [Pattern Lua](#exemples-de-patterns-lua) auquel doit correspondre le nom de la métrique. Si le nom ne correspond pas au pattern, la métrique n'est pas envoyée. Valeur par défaut : .* | +| string | accepted_hosts | [Pattern Lua](#exemples-de-patterns-lua) auquel doit correspondre le nom de l'hôte. Si le nom de l'hôte ne correspond pas au pattern, aucune métrique rattachée à cet hôte ne sera envoyée. | +| string | accepted_services | [Pattern Lua](#exemples-de-patterns-lua) auquel doit correspondre le nom du service. Si le nom du service ne correspond pas au pattern, aucune métrique rattachée à ce service ne sera envoyée. | +| number | accepted_hosts_enable_split_pattern | Lorsque cette option est activée, il est possible de filtrer à la fois sur une liste de noms d'hôtes ou une liste de [patterns lua](#exemples-de-patterns-lua) en utilisant la virgule comme séparateur. Exemple de liste : "host_1,host_2", exemple de pattern lua : "host_%d+,autre_host". (0 = désactivé, 1 = activé. Valeur par défaut : 0.) | +| number | accepted_services_enable_split_pattern | Lorsque cette option est activée, il est possible de filtrer à la fois sur une liste de noms de services ou une liste de [patterns lua](#exemples-de-patterns-lua) en utilisant la virgule comme séparateur. Exemple de liste : "service_1,service_2", exemple de pattern lua : "service_%d+,autre_service" (0 = désactivé, 1 = activé. Valeur par défaut : 0.) | + +* Pour le stream connector Elastic metrics, les données suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). Mis à part le paramètre **max_buffer_size** qui est important pour les performances, il n'est pas recommandé de modifier ceux-ci. + +| Type | Nom | Description | Valeur par défaut pour le stream connector | +| ------ | ------------------- | ------------ | -------------------------- | +| string | accepted_elements | Ne pas modifier ce paramètre | host_status,service_status | +| number | max_buffer_size | Nombre maximum de métriques envoyées en un paquet à Elasticsearch | 30 | +| number | hard_only | Envoie les métriques pour les évènements suivant qu'ils sont dans un état SOFT ou HARD (1 = seulement HARD, 0 = SOFT et HARD) | 0 | +| number | enable_host_status_dedup | Envoie des métriques pour tous les évènements touchant les hôtes, et pas seulement les changements d'état (0 = tous les évènements, 1 = uniquement les changements d'état) | 0 | +| number | enable_service_status_dedup | Envoie des métriques pour tous les évènements touchant les services, et pas seulement les changements d'état (0 = tous les évènements, 1 = uniquement les changements d'état)| 0 | + +## Exemples de patterns Lua + +Exemples de patterns Lua pour l'option **accepted_hosts** : + +* Tous les hôtes dont le nom commence par "CENTREON" : + +```shell +^CENTREON.* +``` + +* Tous les hôtes dont le nom ne finit pas par un chiffre : + +```shell +.*[^0-9]$ +``` + +* Tous les hôtes dont le nom contient un `.`: + +```shell +.*%..* +``` + +* Tous les hôtes dont le nom contient uniquement des lettre minuscules : + +```shell +%l+ +``` + +* Tous les hôtes dont le nom ne finit pas par un chiffre, ou dont le nom commence par "CENTREON" (si l'option **accepted_hosts_enable_split_pattern** est activée, vous pouvez combiner plusieurs filtres) : + + +```shell +^CENTREON.*,.*[^0-9]$ +``` + +## Format des évènements + +Voici un exemple de données envoyées par le stream connector : + +```shell +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rtmin","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rta","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.0,"host_name":"127.0.0.1","metric_instance":"","metric_name":"pl","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rtmax","host_groups":["HG"]} +``` + +## Options de debug + +Vous pouvez ajouter les options suivantes à votre configuration afin de vous aider à débugger : + +| Type | Nom | Description | Valeur par défaut pour le stream connector | +| ------ | ------------------- | ------------ | -------------------------- | +| string | logfile | Fichier de log par défaut pour le stream connector (en cas de problème, il est également possible de trouver des informations dans /var/log/centreon-broker/central-broker-master.log) | /var/log/centreonbroker/ +elastic-metrics.log | +| number | log_level | niveau de verbosité, de 1 à 3, (1 = notice et errors, 2 = +warning, notice et errors, 3 = warning, notice, errors, info, debug). Il est fortement recommandé de ne pas définir une valeur supérieure à 2. | 1 | +| number | log_curl_commands | Affiche toutes les commandes curl utilisées par le stream connector dans le fichier de log (0 = ne rien afficher, 1 = logguer les commandes) | 0 | +| number | send_data_test | Simule le fonctionnement du stream connector de bout en bout, mais envoie les données au fichier de log plutôt qu'à Elasticsearch (0 = envoyer à Elasticsearch, 1 = envoyer au fichier de log) | 0 | + +## Commandes Curl : tester le stream connector + +### Envoyer des métriques + +Si vous voulez tester que les évènements sont envoyés correctement à Elasticsearch : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à Elasticsearch (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X PUT -u ":" -H 'Content-type: application/json' +'://
://_bulk' -d '{"index":{}} +{"poller":"Central","metric.value":0.0,"@timestamp":1690808140,"host.groups": +["HG_1","ALL"],"host.name":"central","metric.name":"rta","metric.instance":""} +{"index":{}} +{"poller":"Central","metric.value":0.0,"@timestamp":1690808140,"host.groups": +["HG_1","ALL"],"host.name":"central","metric.name":"rtmin","metric.instance":""} +' +``` + +> Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. + +3. Vérifiez que les 2 métriques ont été reçues par Elasticsearch. + +### Vérifier l'index template + +Si vous ne recevez pas les données attendues, vérifiez que votre index template est correct. + +```shell +curl -X GET -u ":" -H 'Content-type: application/json' +'://
:/_index_template/' +``` + +### Créer un index template + +Vous pouvez créer un index template manuellement. Utilisez l'exemple ci-dessous : + +```shell +curl -X PUT -u ":" -H 'Content-type: application/json' +'://
:/_index_template/' -d +'{"priority":200,"index_patterns":["my_index*"],"_meta": +{"created_by_centreon":true,"description":"Timeseries index template for Centreon +metrics"},"template":{"mappings":{"properties":{"service.groups": +{"type":"keyword","time_series_dimension":false},"host.name": +{"type":"keyword","time_series_dimension":true},"poller": +{"type":"keyword","time_series_dimension":true},"metric.unit": +{"type":"keyword","time_series_dimension":false},"@timestamp": +{"type":"date","format":"epoch_second"},"metric.value": +{"type":"double"},"service.description": +{"type":"keyword","time_series_dimension":true},"host.groups": +{"type":"keyword","time_series_dimension":false},"metric.subinstances": +{"type":"keyword","time_series_dimension":false},"metric.name": +{"type":"keyword","time_series_dimension":true},"metric.instance": +{"type":"keyword","time_series_dimension":true}}},"settings": +{"index.mode":"time_series","index.routing_path": +["host.name","service.description","metric.name","metric.instance","poller"]}}}' +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md new file mode 100644 index 000000000000..eab94fd9809a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md @@ -0,0 +1,180 @@ +--- +id: sc-influxdb2-metrics +title: InfluxDB 2 Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector InfluxDB 2 Metrics vous permet d'envoyer des données depuis Centreon vers des instances InfluxDB 2. + +## Avant de commencer + +- Dans la plupart des cas, vous enverrez les données depuis le serveur central. Il est également possible de les envoyer +depuis un serveur distant ou un collecteur (par exemple si vous voulez éviter que le serveur central ne représente un point +de défaillance unique, ou bien si vous êtes un MSP et vous installez le stream connector sur un collecteur ou un serveur distant dans l'infratructure de votre client). +- Par défaut, le stream connector InfluxDB 2 Metrics envoie des métriques des évènements Broker [**host_status**](../../developer/developer-broker-mapping.md#host-status) +et [**service_status**](../../developer/developer-broker-mapping.md#service-status). Ces métriques sont contenues dans le champ **perf_data** des évènements. +Le format des évènements est décrit **[ici](#format-des-évènements)**. +- Ces évènements sont envoyés à chaque contrôle sur l'hôte ou le service. Des paramètres dédiés vous permettent de [ne pas envoyer certains évènements](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-influxdb2). + +## Installation + +Faites l'installation sur le serveur qui enverra les données à InfluxDB 2 (serveur central, serveur distant, collecteur). + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Exécutez la commande suivante : + + + + +```shell +dnf install centreon-stream-connector-influxdb +``` + + + + + +```shell +dnf install centreon-stream-connector-influxdb +``` + + + + + +```shell +apt install centreon-stream-connector-influxdb +``` + + + + +## Configurer votre équipement InfluxDB 2 + +Vous devrez paramétrer votre équipement InfluxDB 2 pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation InfluxDB 2. +Assurez-vous que InfluxDB 2 puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration de InfluxDB 2 ou par un équipement de sécurité. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- |------------------------------------------------------------| +| Name | InfluxDB 2 metrics | +| Path | /usr/share/centreon-broker/lua/influxdb2-metrics-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement InfluxDB 2, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Explication | Exemple de valeur | +| ------ |-----------------|-----------------------------------------------|-----------------------------------------------------------------------------------------| +| string | bucket_id | The ID of the bucket where metrics will be sent | `65f5f748e28c92f0` | +| string | bucket_api_key | The API key used to send data to the bucket | `OGwOM8nse3FHjxyGw5ODLWWXS1oEpcPsjLcRl09zmCEbBE0TKgAiJiKOyKOBUZxoo76qe6-PTPq-70ECCwA==` | +| string | org_name | The name of the InfluxDB organization | `centreon` | +| string | http_server_url | The InfluxDB address with the port at the end | `https://myinfluxdb2.local:8086` | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Explication | Valeur par défaut | +| ------ |-------------|---------------------------------------------|------------------------------------------------| +| string | logfile | The file in which logs are written | /var/log/centreon-broker/influxdb2-metrics.log | +| number | log_level | Logging level from 1 (errors) to 3 (debug) | 1 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à InfluxDB 2](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-influxdb2). + +8. [Déployez la configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + InfluxDB 2 reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#commandes-curl--tester-le-stream-connector). + +### Filtrer ou adapter les données que vous voulez envoyer à InfluxDB 2 + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement InfluxDB 2, de reformater les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Influxdb 2 que les évènements traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* Pour le stream connector InfluxDB 2 Metrics, les données suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). + +| Type | Nom | Valeur par défaut pour le stream connector | +| ------ |------------------------------|--------------------------------------------| +| string | influxdb2_api_endpoint | `/api/v2/write` | +| string | influxdb2_precision | `s` | +| string | accepted_categories | `neb` | +| string | accepted_elements | `host_status,service_status` | +| number | hard_only | `0` | +| number | enable_host_status_dedup | `0` | +| number | enable_service_status_dedup | `0` | +| string | metric_name_regex | `([, =])` | +| string | metric_replacement_character | `\\%1` | +| number | use_deprecated_metric_system | `0` | + +> Pour les noms de métriques et remplacements voir [ici](https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/#special-characters). + +## Event bulking + +Ce stream connector est compatible avec l'event bulking. Cela signifie qu'il est capable d'envoyer plus d'un évènement lors de chaque appel à l'API REST Spunk. + +Pour utiliser cette fonctionnalité, vous devez ajouter le paramètre suivant à la configuration de votre stream connector. + +| Type | Nom | Valeur | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +> Conformément aux [best practices](https://docs.influxdata.com/influxdb/cloud/write-data/best-practices/optimize-writes/#batch-writes), `max_buffer_size` est défini par défaut à 5000. Mais vous devriez réduire sa valeur à quelques centaines si vous avez moins de 10 000 services. + +## Format des évènements + +Ce stream connector envoie des évènements au format suivant : + +### Évènement service_status + +``` +rta,type=service,service.name=my_service,host.name=central,poller=Central,metric.unit=ms value=0.008 1694370951 +pl,type=service,service.name=my_service,host.name=central,poller=Central,metric.unit=% value=0.0 1694370951 +``` + +### Évènement host_status + +``` +rta,type=host,host.name=central,poller=Central,metric.unit=ms value=0.008 1694370951 +pl,type=host,host.name=central,poller=Central,metric.unit=% value=0.0 1694370951 +``` + +### Format d'évènement personnalisé + +Ce stream connector n'est pas compatible avec le format d'événements personnalisé. + +## Commandes Curl : tester le stream connector + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à InfluxDB 2 : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à InfluxDB 2 (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + + ```shell + curl -X POST -H 'content-type: text/plain; charset=utf-8' -H 'accept: application/json' -H 'Authorization: Token ' 'http:///api/v2/write?bucket=&org=&precision=s' -d + ``` + + > Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. Par exemple, ** pourra être remplacé par *65f5f748e28c92f0*. + +3. Vérifiez que l'évènement a bien été reçu par InfluxDB 2. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-kafka-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-kafka-events.md new file mode 100644 index 000000000000..2a33e54fa446 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-kafka-events.md @@ -0,0 +1,178 @@ +--- +id: sc-kafka-events +title: Kafka Event Manager +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status**, **service_status** and **ba_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-kafka +``` + + + + + +```shell +dnf install centreon-stream-connector-kafka +``` + + + + + +```shell +apt install centreon-stream-connector-kafka +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ----------------------------------------------------- | +| Name | Kafka events | +| Path | /usr/share/centreon-broker/lua/kafka-events-apiv2.lua | +| Filter category | Neb,Bam | + +### Add Kafka mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------------------------------------------------- | ------------------------------------------- | +| string | topic | the topic in which events are going to be written | Monitoring | +| string | brokers | Coma separeted list of brokers that are ready to receive data | broker_address1:port1,broker_address2:port2 | + +### Add Kafka optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ------------------------------------------ | --------------------------------------------------- | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/kafka-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +### Librdkafka (library dependency) parameters + +In addition to parameters from stream connectors, there is a handfull of parameters available thanks to the librdkafka library. They are all documented in the librdkafka **[official documentation](https://github.com/edenhill/librdkafka/blob/v0.11.4/CONFIGURATION.md)**. To use them you just need to **add** the **_sc_kafka_ prefix**. + +With that in mind, the parameter **sasl.mechanism** becomes **_sc_kafka_sasl.mechanism** in your broker configuration. + +> El7 and El8 repos grant access to an old librdkafka library version. + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to kafka brokers. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "host": "my_host", + "service": "my_service", + "output": "CRITICAL: the wind broke my umbrella", + "state": "CRITICAL" +} +``` + +### host_status event + +```json +{ + "host": "my_host", + "output": "DOWN: putting gas in my eletric car was not a good idea", + "state": "DOWN" +} +``` + +### ba_status event + +```json +{ + "ba": "my_ba", + "state": "CRITICAL" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **acknowledgement events**. + +In order to use this feature you need to **configure** a json event format file and **add** a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | --------------------------------------------- | +| string | format_file | /etc/centreon-broker/kafka-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user. + +To learn more about custom event format and templating file, **head over** the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Test connexion + +Sending data to Kafka can be quite complicated because of all the involved parameters (either from the stream connector itself or the kafka library). + +To make things easier, a lua connection test script is available. + +To install it you must follow the **[installation procdure](#installation)** and then: + +```shell +wget -O /tmp/kafka_test_connection.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/master/modules/tests/kafka_test_connexion.lua +``` + +**Open** the script and **configure** the kafka options that you want to use from the librdkafka **[official documentation](https://github.com/edenhill/librdkafka/blob/v0.11.4/CONFIGURATION.md)** (you do not need to add the *_sc_kafka_* prefix this time, just put the parameter inside the **config[]** brackets). + +There are already configuration set up as examples to guide you. + +If it doesn't work, you should have an error message like below (with the appropriate error message). It is strongly advised to have access to kafka to check if a message is sent from the test script. + +```shell +%3|1622459610.760|FAIL|rdkafka#producer-1| [thrd:sasl_plaintext://cps-kafkan:9093/bootstrap]: sasl_plaintext://cps-kafkan:9093/bootstrap: Failed to resolve 'cps-kafkan:9093': Name or service not known +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-logstash-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-logstash-events.md new file mode 100644 index 000000000000..75509508ec78 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-logstash-events.md @@ -0,0 +1,156 @@ +--- +id: sc-logstash-events +title: Logstash Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-logstash +``` + + + + + +```shell +dnf install centreon-stream-connector-logstash +``` + + + + + +```shell +apt install centreon-stream-connector-logstash +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | -------------------------------------------------------- | +| Name | Logstash events | +| Path | /usr/share/centreon-broker/lua/logstash-events-apiv2.lua | +| Filter category | Neb | + +### Add Logstash mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------------- | ------------------------ | +| string | http_server_url | the url of the logstash http plugin | `https:/mylogstash.test` | +| number | port | the port of your logstash http plugin | `8443` | + +### Add Logstash optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------- | +| string | username | the username if your are using https with basic auth for your logstash http plugin | | +| string | password | the password of your user if you are using https with basic auth for your logstash http plugin | | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/logstash-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Logstash HTTP plugin. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "event_timestamp": 1653434348, + "hostname": "my-host", + "output": "[CRITICAL] low power", + "service": "my-service", + "state": "CRITICAL", + "title": "CRITICAL: my-host, my-service" +} +``` + +### host_status event + +```json +{ + "event_timestamp": 1653434348, + "hostname": "my-host", + "output": "[DOWN] server is down", + "state": "DOWN", + "title": "DOWN: my-host" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------ | +| string | format_file | /etc/centreon-broker/logstash-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X PUT -H "accept: application/json" curl -X PUT 'http://:' -d '{"event_timestamp": 1653434348,"hostname": "my-host","output": "[DOWN] server is down","state": "DOWN","title": "DOWN: my-host"}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *8080*. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-events.md new file mode 100644 index 000000000000..2dd271583232 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-events.md @@ -0,0 +1,201 @@ +--- +id: sc-splunk-events +title: Splunk Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector Splunk Events vous permet d'envoyer des données depuis Centreon vers des instances Splunk. + +## Avant de commencer + +Si vous voulez récupérer toutes les données des évènements, utilisez le stream connector Splunk Events. Si vous ne voulez récupérer que des métriques, utilisez le stream connector Splunk Metrics. + +- Dans la plupart des cas, vous enverrez les données depuis le serveur central. Il est également possible de les envoyer depuis un serveur distant ou un collecteur (par exemple si vous voulez éviter que le serveur central ne représente un point de défaillance unique, ou bien si vous êtes un MSP et vous installez le stream connector sur un collecteur ou un serveur distant dans l'infratructure de votre client). +- Par défaut, le stream connector Splunk Events envoie des évènements Broker [**host_status**](../../developer/developer-broker-mapping.md#host-status) et [**service_status**](../../developer/developer-broker-mapping.md#service-status). Le format des évènements est décrit **[ici](#format-des-évènements)**. +- Ces évènements sont envoyés à chaque contrôle sur l'hôte ou le service. Des paramètres dédiés vous permettent de [ne pas envoyer certains évènements](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-splunk). + +## Installation + +Faites l'installation sur le serveur qui enverra les données à Splunk (serveur central, serveur distant, collecteur). + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Exécutez la commande suivante : + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +apt install centreon-stream-connector-splunk +``` + + + + +## Configurer votre équipement Splunk + +Vous devrez paramétrer votre équipement Splunk pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation Splunk. +Assurez-vous que Splunk puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration de Splunk ou par un équipement de sécurité. + +Le sourcetype correspondant au stream connector est "_json". D'autres informations utiles peuvent être par exemple : "source": "http:my_index", "index": "my_index", "host": "Central". Vous pouvez également ajouter ces informations à la configuration de votre stream connector si nécessaire. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- | ------------------------------------------------------ | +| Name | Splunk events | +| Path | /usr/share/centreon-broker/lua/splunk-events-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Splunk, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Explication | Exemple de valeur | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | L'URL du collecteur de services de Splunk | `https://mysplunk.centreon.com:8088/services/collector` | +| string | splunk_token | Jeton pour l'API du collecteur d'évènements | | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Explication | Valeur par défaut | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------- | +| string | logfile | Fichier dans lequel les logs sont écrits | /var/log/centreon-broker/splunk-events.log | +| number | log_level | Niveau de log, de 1 (erreurs) à 3 (débug) | 1 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à Splunk](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-splunk). + +8. [Déployez la configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Splunk reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#commandes-curl--tester-le-stream-connector). + +### Filtrer ou adapter les données que vous voulez envoyer à Splunk + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement Splunk, de reformatter les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Splunk que les évènmenes traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* Pour le stream connector Splunk Events, les données suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). + +| Type | Nom | Valeur par défaut pour le stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +Ce stream connector est compatible avec l'event bulking. Cela signifie qu'il est capable d'envoyer plus d'un évènement lors de chaque appel à l'API REST Spunk. + +Pour utiliser cette fonctionnalité, vous devez ajouter le paramètre suivant à la configuration de votre stream connector. + +| Type | Nom | Valeur | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Format des évènements + +Ce stream connector envoie des évènements au format suivant : + +### Évènement service_status + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1630590530, + "event": { + "event_type": "service", + "state": 2, + "state_type": 1, + "hostname": "my_host", + "service_description": "my_service", + "output": "Critical: it is on fire" + } +} +``` + +### Évènement host_status + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1630590530, + "event": { + "event_type": "host", + "state": 1, + "state_type": 1, + "hostname": "my_host", + "output": "Critical: it is on fire" + } +} +``` + +### Format d'évènement personnalisé + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Nom | Valeur | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/splunk-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Commandes Curl : tester le stream connector + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à Splunk : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à Splunk (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + +```shell +curl -X POST -H "content-type: application/json" -H "authorization: Splunk " '' -d '{"sourcetype": "","source": "","index": "","host": "","time": ,"event": {"event_type": "host","state": 1,"state_type": 1,"hostname":"my_host","output": "Critical: it is on fire"}}' +``` + + > Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. Par exemple, ** pourra être remplacé par *_json*. + +3. Vérifiez que l'évènement a bien été reçu par Splunk. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md new file mode 100644 index 000000000000..e207fb601b24 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md @@ -0,0 +1,199 @@ +--- +id: sc-splunk-metrics +title: Splunk Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le stream connector Splunk Metrics vous permet d'envoyer des données depuis Centreon vers des instances Splunk. + +## Avant de commencer + +Si vous ne voulez récupérer que des métriques, utilisez le stream connector Splunk Metrics. Si vous voulez récupérer toutes les données des évènements, utilisez le stream connector Splunk Events. + +- Dans la plupart des cas, vous enverrez les données depuis le serveur central. Il est également possible de les envoyer depuis un serveur distant ou un collecteur (par exemple si vous voulez éviter que le serveur central ne représente un point de défaillance unique, ou bien si vous êtes un MSP et vous installez le stream connector sur un collecteur ou un serveur distant dans l'infratructure de votre client). +- Par défaut, le stream connector Splunk Metrics envoie des métriques des évènements Broker [**host_status**](../../developer/developer-broker-mapping.md#host-status) et [**service_status**](../../developer/developer-broker-mapping.md#service-status). Ces métriques sont contenues dans le champ **perf_data** des évènements. Le format des évènements est décrit **[ici](#format-des-évènements)**. +- Ces évènements sont envoyés à chaque contrôle sur l'hôte ou le service. Des paramètres dédiés vous permettent de [ne pas envoyer certains évènements](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-splunk). + +## Installation + +Faites l'installation sur le serveur qui enverra les données à Splunk (serveur central, serveur distant, collecteur). + +1. Connectez-vous en tant que `root` en utilisant votre client SSH préféré. + +2. Exécutez la commande suivante : + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +apt install centreon-stream-connector-splunk +``` + + + + +## Configurer votre équipement Splunk + +Vous devrez paramétrer votre équipement Splunk pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation Splunk. +Assurez-vous que Splunk puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration de Splunk ou par un équipement de sécurité. + +Le sourcetype correspondant au stream connector est "_json". D'autres informations utiles peuvent être par exemple : "source": "http:my_index", "index": "my_index", "host": "Central". Vous pouvez également ajouter ces informations à la configuration de votre stream connector si nécessaire. + +## Configurer le stream connector dans Centreon + +1. Sur votre serveur central, allez à la page **Configuration > Collecteurs > Configuration de Centreon Broker**. +2. Cliquez sur **central-broker-master** (ou sur la configuration du Broker correspondant si les évènements seront envoyés par un serveur distant ou un collecteur). +3. Dans l'onglet **Output**, sélectionnez **Generic - Stream connector** dans la liste, puis cliquez sur **Ajouter**. Un nouvel output apparaît dans la liste. +4. Remplissez les champs de la manière suivante : + +| Champ | Valeur | +| --------------- | ------------------------------------------------------- | +| Name | Splunk metrics | +| Path | /usr/share/centreon-broker/lua/splunk-metrics-apiv2.lua | +| Filter category | Neb | + +5. Pour permettre à Centreon de se connecter à votre équipement Splunk, remplissez les paramètres obligatoires suivants. La première entrée existe déjà. Cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category** pour en ajouter un autre. + +| Type | Nom | Explication | Exemple de valeur | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | L'URL du collecteur de services de Splunk | `https://mysplunk.centreon.com:8088/services/collector` | +| string | splunk_token | Jeton pour l'API du collecteur d'évènements | | + +6. Renseignez les paramètres optionnels désirés (en utilisant le lien **+Add a new entry**) : + +| Type | Nom | Explication | Valeur par défaut | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------- | +| string | logfile | Fichier dans lequel les logs sont écrits | /var/log/centreon-broker/splunk-metrics.log | +| number | log_level | Niveau de log, de 1 (erreurs) à 3 (débug) | 1 | + +7. Utilisez les paramètres optionnels du stream connector pour [filtrer ou adapter les données que vous voulez que Centreon envoie à Splunk](#filtrer-ou-adapter-les-données-que-vous-voulez-envoyer-à-splunk). + +8. [Déployez la configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Redémarrez **centengine** sur tous les collecteurs : + + ```shell + systemctl restart centengine + ``` + + Splunk reçoit maintenant des données de Centreon. Pour tester le bon fonctionnement de l'intégration, voir [Commandes curl : tester le stream connector](#commandes-curl--tester-le-stream-connector). + +### Filtrer ou adapter les données que vous voulez envoyer à Splunk + +Tous les stream connectors ont un jeu de [paramètres optionnels](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) qui vous permettent de filtrer les données que vous enverrez à votre équipement Splunk, de reformater les données, de définir un proxy... + +Chaque paramètre optionnel a une valeur par défaut, qui est indiquée dans la documentation correspondante. + +* Pour surcharger la valeur par défaut d'un paramètre, cliquez sur le lien **+Add a new entry** en-dessous du tableau **Filter category**, afin d'ajouter un paramètre personnalisé. Par exemple, si vous ne voulez envoyer à Splunk que les évènements traités par un collecteur nommé "poller-1", entrez : + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* Pour le stream connector Splunk Metrics, les données suivantes surchargent toujours les valeurs par défaut (il n'est pas nécessaire de les redéfinir dans l'interface). + +| Type | Nom | Valeur par défaut pour le stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +Ce stream connector est compatible avec l'event bulking. Cela signifie qu'il est capable d'envoyer plus d'un évènement lors de chaque appel à l'API REST Spunk. + +Pour utiliser cette fonctionnalité, vous devez ajouter le paramètre suivant à la configuration de votre stream connector. + +| Type | Nom | Valeur | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Format des évènements + +Ce stream connector envoie des évènements au format suivant : + +### Évènement service_status + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1675865364, + "fields": { + "event_type": "service", + "state": 2, + "state_type": 1, + "hostname": "my_host", + "service_description": "my_service", + "ctime": 1675865364, + "metric: pl": 0, + "metric: rta": 10, + "metric: rtmin": 5, + "metric: rtmax": 15 + } +} +``` + +### Évènement host_status + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1675865364, + "fields": { + "event_type": "host", + "state": 1, + "state_type": 1, + "hostname": "my_host", + "ctime": 1675865364, + "metric: pl": 0, + "metric: rta": 10, + "metric: rtmin": 5, + "metric: rtmax": 15 + } +} +``` + +### Format d'évènement personnalisé + +Il n'est pas possible de changer le format des évènements pour les stream connectors orientés métriques. Vous ne pouvez donc pas envoyer d'autres évènements Broker contenant des données de performance. + +## Commandes Curl : tester le stream connector + +### Envoyer des évènements + +Si vous voulez tester que les évènements sont envoyés correctement à Splunk : + +1. Connectez-vous au serveur que vous avez configuré pour envoyer les évènements à Splunk (le serveur central, un serveur distant ou un collecteur) +2. Exécutez la commande suivante : + + ```shell + curl -X POST -H "content-type: application/json" -H "authorization: Splunk " '' -d '{"sourcetype": "","source": "","index": "","host": "","time": ,"event": {"event_type": "host","state": 1,"state_type": 1,"hostname":"my_host","ctime": 1675865364,"metric: pl": 0,"metric: rta": 10,"metric: rtmin": 5,"metric: rtmax": 15}}' + ``` + + > Remplacez tous les *``* dans la commande ci-dessus par la valeur correcte. Par exemple, ** pourra être remplacé par *_json*. + +3. Vérifiez que l'évènement a bien été reçu par Splunk. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-warp10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-warp10.md new file mode 100644 index 000000000000..980035279752 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/data-analytics/sc-warp10.md @@ -0,0 +1,67 @@ +--- +id: sc-warp10 +title: Warp10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## How it works + +Warp10 stream connector sends data to Warp10 using centreon neb events as a +source + +## Compatibility + +**to be determined** + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-warp10 +``` + + + + + +```shell +dnf install centreon-stream-connector-warp10 +``` + + + + + +```shell +apt install centreon-stream-connector-warp10 +``` + + + + +## Requirements and configuration + +This stream connector needs the following configuration: + +| Filter category | +| --------------- | +| Neb | + +| Path | +| ------------------------------------------------ | +| /usr/share/centreon-broker/lua/export-warp10.lua | + +| Parameter | type | Example of value | +| --------- | ------ | ---------------- | +| logfile | string | mylogfile.log | +| ipaddr | string | 192.168.0.6 | +| port | number | yyyyy | +| token | string | xxxxxxxxxxxxxxx | +| max\_size | number | 100 | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-mip.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-mip.md new file mode 100644 index 000000000000..02720c465866 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-mip.md @@ -0,0 +1,92 @@ +--- +id: monitoring-dem-mip +title: Maltem Insight Performances Rest API +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Vue d'ensemble + +Maltem Insight Performance (MIP) développe et intègre des solutions permettant la mesure du ressenti utilisateurs. Ces mesures prennent la forme de scénarios personnalisés sur les applications web comme les clients riches. MIP met à disposition une API pour récupérer les métriques et les statuts associés à ces scénarios. + +## How it works + +Une instance MIP expose une Rest API au format JSON. Le Plugin Centreon utilise ce biais pour récupérer les données. + +![architecture](../../assets/integrations/external/mip-connector-architecture.png) + +## Compatibility + +Ce connecteur a été testé et validé avec MIP en version 6.4.90 + +## Requirements + +### MIP + +Afin de pouvoir interroger l'API, il est nécessaire d'avoir à disposition une clé d'API valide. MIP vous met à disposition cette clé au travers de son service de support. + +### Centreon + + + Plugin-Packs > Manager": + +![install\_epp](../../assets/integrations/external/mip-epp-install.png) + + + + +1. Installer le Plugin Sur chaque collecteur se connectant à une instance MIP: + +```bash +yum install -y centreon-plugin-Applications-Monitoring-Mip-Restapi` +``` + +2. Installer le RPM du Plugin-Pack sur votre serveur Central: + +```bash +yum install -y centreon-pack-applications-monitoring-mip-restapi` +``` + +3. Installer le Plugin-Pack via la page "Configuration > Plugin-Packs > Manager": + +![install\_epp](../../assets/integrations/external/mip-epp-install.png) + + + + +## Configuration + +### Hôtes + +Déployez votre hôte et appliquez lui le modèle **App-Monitoring-Mip-Restapi-custom**. Les macros suivantes doivent être renseignées: + +| Mandatory | Name | Description | +| :---------- | :------------------- | :-------------------------------------------------------------------------- | +| x | MIPAPIPROTO | Protocole utilisé pour se connecter à l'API MIP. Défaut : https | +| x | MIPAPIPORT | Port utilisé pour se connecter à l'API MIP. Défaut : 443 | +| x | MIPAPIHOSTNAME | FQDN de l'instance MIP | +| x | MIPAPIKEY | Clé de l'API MIP | +| | MIPAPIEXTRAOPTIONS | N'importe quelle option supplémentaire utile (proxy, http-backend, etc.) | +| x | MIPAPITIMEOUT | Timeout des appels à l'API | + +Il n'est pas nécessaire de mettre la case "Créer les services liés au modèle" à 'Oui' pour cet Hôte. + +### Services + +Il est recommandé d'utiliser la règle de découverte associée au Plugin-Pack pour déployer les Services. Voici un guide pas-à-pas pour faire cela: + +* Rendez-vous dans le menu "Configuration > Services" et cliquer sur "Scan" dans le sous-menu "Découverte" +* Compléter le champ "Hôte" avec le nom utilisé dans la section précédente +* Choisir 'App-Monitoring-Mip-Scenarios' dans la liste déroulante "Règle" sur la droite +* Cliquer sur 'Scan' pour lancer la découverte +* Une fois la liste des scénarios disponible, cocher les cases correspondant aux services à superviser +* Sauvegarder ce formulaire pour créer les Services diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-skylight-pvx.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-skylight-pvx.md new file mode 100644 index 000000000000..60d22c97a534 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/connector-skylight-pvx.md @@ -0,0 +1,76 @@ +--- +id: accedian-pvx-skylight +title: Accedian PVX Skylight +--- + +## How it works + +Every PVX-Skylight instance provides XML API endpoints allowing Centreon to +perform queries against it. + +![architecture](../../assets/integrations/external/skylight-pvx-connector.png) + +## Compatibility + +The connector has been tested with the following versions: \* PVX version 5.1.1 + +## Requirements + +### PVX + +To query PVX API, you need to generate an access key. This key will never expire +and the procedure below is an extract from the official documentation +. + +Follow these steps to get your API key. In each step replace the value of the +macros enclosed by '\< \>' with yours. + +Command: `curl -k +'https://****/api/login?user=****&password=****'` + +Result: + +``` json +{ + "type": "result", + "result": "**session:91554086-842b-4b73-9028-c51d20d91b94**" +} +``` + +Thanks to the obtained session ID, execute the command below get a secret key + +Command: `curl -k +'https:///api/create-api-key?name=****&_session=session:91554086-842b-4b73-9028-c51d20d91b94'` + +Result: + +``` json +{ + "type": "result", + "result": "**secret:e40b1cc6-f629-43a4-8be6-14a9c9f036e0**" +} +``` + +In this example the API key is "secret:e40b1cc6-f629-43a4-8be6-14a9c9f036e0". + +### Centreon + +On each poller connecting to a PVX host, install the plugin: + +`[root@cps-demo-central ~]# yum install -y +centreon-plugin-Applications-Pvx-Restapi.noarch` + +On your central server, install the plugin-pack through "Configuration \> +Plugin-Packs \> Manager" menu: + +![install\_epp](../../assets/integrations/external/skylight-pvx-epp-install.png) + +> :warning: **If you are using an offline license**: Make sure to install +> the RPM package first with the command below: + +`[root@cps-demo-central ~]# yum install -y +centreon-pack-applications-pvx-restapi.noarch` + +## Getting started + +You can now deploy hosts based upon the **App-Pvx-Application-Restapi-custom**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md new file mode 100644 index 000000000000..ad21e6a7b98f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md @@ -0,0 +1,8 @@ +--- +id: dem-overview +title: Digital Experience Monitoring +--- + +Récupérez des données de mesure de la performance et du ressenti utilisateur +concernant vos sites et applicatifs directement depuis des solutions avancées +et dédiées au segment DEM. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/event-management-overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/event-management-overview.md new file mode 100644 index 000000000000..06471497a178 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/event-management-overview.md @@ -0,0 +1,8 @@ +--- +id: event-management-overview +title: Event Management +--- + +Utilisez les Stream Connectors pour envoyer vos alertes vers des outils spécialisés +dans la gestion des événements en termes de qualification, d'escalades ou encore +dans l'automatisation de leur traitement. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-bsm.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-bsm.md new file mode 100644 index 000000000000..5e1f04cf44f0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-bsm.md @@ -0,0 +1,136 @@ +--- +id: sc-hp-bsm +title: BSM +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Ce qu'apporte l'intégration de BSM + Centreon + +Le Stream Connector BSM envoie les données de **Centreon** vers le gestionnaire de service **Micro Focus BSM** (Business Service Management). + +## Comment ça marche + +* Chaque fois qu'un service ou un hôte est vérifié par le moteur de supervision, le résultat passe par *Centreon Broker*, qui utilise les fonctions définies dans le script du Stream Connector pour transmettre les changements d'état à BSM. + +## Prérequis + +* Pour pouvoir transmettre des données vers BSM, il faut avoir créé un webservice au préalable. Veuillez contacter votre expert BSM pour cette partie. +* L'intégration d'un Stream Connector nécessite un **compte Centreon avec des privilèges d'administrateur** ou bien les accès aux menus **Exporter la configuration** et **Configuration de Centreon Broker**. +* Un **accès `root` en ligne de commande sur le serveur Centreon central** est également requis. + +## Support + +Si vous avez besoin d'aide, vous pourrez en trouver via deux canaux, suivant votre statut : + +* **Clients de Centreon titulaires d'un contrat de support** : vous pouvez vous adresser directement à [l'équipe du Support de Centreon](mailto:support@centreon.com). +* **Utilisateurs de l'édition Open Source** ou de **Centreon IT-100** (versions gratuites) : nous vous invitons à rejoindre notre [plateforme communautaire The Watch](https://thewatch.centreon.com/) où nos utilisateurs et nos équipes feront de leur mieux pour vous aider. + +## Procédure d'intégration + +### Installation + +Se connecter en tant que `root` au serveur central Centreon avec votre client SSH favori. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-bsm +``` + + + + + +```shell +dnf install centreon-stream-connector-bsm +``` + + + + + +```shell +apt install centreon-stream-connector-bsm +``` + + + + +Le Stream Connector BSM est maintenant installé sur votre serveur Centreon central ! + +### Configuration + +#### Configuration de *Centreon Broker* + +1. Se connecter à l'interface Web de Centreon avec un compte administrateur. +2. Naviguer vers **Configuration** > **Collecteurs** et choisir **Configuration de Centreon Broker**. +3. Cliquer sur l'objet de configuration **central-broker-master** et naviguer dans l'onglet **Output**. +4. Sélectionner **Generic - Stream connector** et cliquer sur **Ajouter** pour créer une nouvelle sortie. +5. Choisir son nom (**Name**) par exemple **BSM** et saisir l'emplacement (**Path**) où le script a été installé : `/usr/share/centreon-broker/lua/bsm_connector.lua`. +6. Le paramètre `http_server_url` est à personnaliser dans tous les cas : + +| Name | Type | Value | +|-------------------|--------|-------------------------------------------------------------------| +| `http_server_url` | String | `https://:30005/bsmc/rest/events//` | + +7. Sauvegarder la configuration, puis naviguer vers le menu **Configuration** > **Collecteurs** et choisir **Collecteurs**. +8. Sélectionner le collecteur **Central** et cliquer sur **Exporter la configuration**. +9. Conserver les cases **Générer les fichiers de configuration** et **Lancer le débogage du moteur de supervision (-v)** et cocher également **Deplacer les fichiers générés** puis cliquer sur le bouton **Exporter**. +10. Redémarrer le service `cbd` : + +```bash +systemctl restart cbd +``` + +Votre serveur central a maintenant chargé le Stream Connector et commence à envoyer des données vers BSM ! + +> Pour s'assurer que tout fonctionne bien, on consultera les fichiers `central-broker-master.log` et `stream-connector-bsm.log`, tous deux situés à l'emplacement `/var/log/centreon-broker` du serveur central. + +#### Configuration avancée + +**Tableau des paramètres** + +| Name | Type | Value (exemple) | Explication | +|---------------------|--------|-------------------------------------------------------------------|------------------------------------------------------------------------------------------------------------------------| +| `http_server_url` | String | `https://:30005/bsmc/rest/events//` | URL de votre plateforme BSM | +| `http_proxy_string` | String | `http://your.proxy.server:3128` | Paramétrage du proxy permettant de sortir vers Internet en HTTP/HTTPS | +| `source_ci` | String | `Centreon` (valeur par défaut) | Nom permettant d'identifier l'émetteur | +| `log_level` | Number | 2 (valeur par défaut) | Niveau de verbosité des logs 0: errors seulement, 1: +warnings, 2: +verbose, 3: +debug | +| `log_path` | String | `/var/log/centreon-broker/my-custom-logfile.log` | Chemin complet du fichier de log | +| `max_buffer_size` | Number | 1 (valeur par défaut) | Nombre maximum d'événements à stocker en mémoire tampon en attendant de les transmettre en un seul envoi | +| `max_buffer_age` | Number | 5 (valeur par défaut) | Temps d'attente maximum avant d'envoyer les événements en mémoire tampon si `max_buffer_size` n'est pas encore atteint | + +**Remarques** + +* La valeur par défaut de 2 pour le paramètre `log_level` est adaptée à la mise en place et au *troubleshooting* initial éventuel, cela peut cependant générer un volume important de logs. Il est donc recommandé, une fois la mise en place validée, de l'abaisser à 1. +* La valeur par défaut de 1 pour le paramètre `max_buffer_size` fonctionne bien et garantit une latence réduite au minimum entre l'apparition d'une alerte et sa transmission à BSM. Il pourrait s'avérer utile de l'augmenter dans le cas où le flux à transmettre comporterait en continu plusieurs événements par seconde et au-delà. + +--------------- + +## Désinstallation + +1. Se connecter à l'interface Web de Centreon avec un compte administrateur. +2. Naviguer vers **Configuration** > **Collecteurs** et choisir **Configuration de Centreon Broker**. +3. Cliquer sur l'objet de configuration **central-broker-master** et naviguer dans l'onglet **Output**. +4. Supprimer la sortie **Generic - Stream connector** en cliquant sur la croix rouge entourée d'un cercle à la fin de la ligne. +5. Sauvegarder la configuration, puis naviguer vers le menu **Configuration** > **Collecteurs** et choisir **Collecteurs**. +6. Sélectionner le collecteur **Central** et cliquer sur **Exporter la configuration**. +7. Conserver les cases **Générer les fichiers de configuration** et **Lancer le débogage du moteur de supervision (-v)** et cocher également **Deplacer les fichiers générés** puis cliquer sur le bouton **Exporter**. +8. Redémarrer le service `cbd` : + +```bash +systemctl restart cbd +``` + +Le Stream Connector n'est plus chargé par `centreon-broker`. + +9. Ce n'est pas nécessaire, mais vous pouvez également supprimer le script pour désinstaller complètement le Stream Connector : + +```bash +rm -f /usr/share/centreon-broker/lua/bsm_connector.lua +``` + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-omi.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-omi.md new file mode 100644 index 000000000000..b1cb820d18f2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-omi.md @@ -0,0 +1,67 @@ +--- +id: sc-hp-omi +title: HP OMI +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## How it works + +HP OMI stream connector sends events related data to HP OMI + +## Compatibility + +**to be determined** + +### Installation + +Se connecter en tant que `root` au serveur central Centreon avec votre client SSH favori. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-omi +``` + + + + + +```shell +dnf install centreon-stream-connector-omi +``` + + + + + +```shell +apt install centreon-stream-connector-omi +``` + + + + +## Requirements and configuration + +This stream connector needs the following configuration: + +| Filter category | +| --------------- | +| Neb | + +| Path | +| ------------------------------------------------- | +| /usr/share/centreon-broker/lua/omi\_connector.lua | + +| Parameter | type | Example of value | +| --------- | ------ | ------------------------------------------- | +| logfile | string | /var/log/centreon-broker/omi\_connector.log | +| ipaddr | string | 192.168.0.6 | +| loglevel | number | 2 | +| port | number | 30005 | +| max\_size | number | 5 | +| max\_age | number | 60 | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-opsgenie.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-opsgenie.md new file mode 100644 index 000000000000..881a663297d9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-opsgenie.md @@ -0,0 +1,216 @@ +--- +id: sc-opsgenie +title: Opsgenie integration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Avantages de l'intégration Opsgenie + Centreon + +* Gérez vos notification quand une alerte est détectée par Centreon +* Evitez les doublons d'alertes de Centreon +* Distinguez les alertes et les incidents en couplant Centreon BAM et Opsgenie +* Créez un reporting reposant sur les notifications de Centreon + +## Comment ça marche + +* A chaque fois que le statut d'un service, hôte ou BA est contrôlé, l'évènement passe par Centreon Broker qui utilise le Stream Connector puor envoyer ce changement d'état. +* Un changement d'état peut survenir en cas de détection d'anomalie +* Un alias est généré pour chaque alerte afin de profiter de la déduplication d'Opsgenie + +## Prérequis + +* L'intégration d'Opsgenie nécessite deux clé d'API différentes. La première est une clé d'intégration provenant de l'intégration **Rest API HTTPS over JSON**. Cette intégration doit avoir les droits **Create and Update Access**. la seconde clé est une clé d'API provenant des **APP Settings**. Cette clé doit avoir les droits d'accès **Create and Update** +* Il est aussi nécessaire d'avoir un compte Centreon avec soit des **droits admin** ou alors la possibilité **d'exporter les configuration** et **configurer le broker**. Il faut aussi un accès en tant que **`root` en ligne de commande sur le serveur Centreon**. + +## Support + +Si vous avez besoin d'aide avec cette intégration, selon votre utilisation de Centreon, vous pouvez : + +* **Client Business Edition**: Contactez le [support Centreon](mailto:support@centreon.com). +* **Utilisateurs open source** ou **Utilisateurs Centreon IT-100** (version gratuite): Rejoignez notre [plateforme communautaire The Watch](https://thewatch.centreon.com/) où les utilisateurs et les équipes Centreon pourront vous répondre. + +## Guide d'intégration + +### Dans Opsgenie + +> Attention, cette documentation a été écrite en février 2021, il est possible que des changements sur Opsgenie rendent obsolète des éléments décrits ci-dessous + +#### intégration Opsgenie: alerts + +1. Depuis le menu **Setting**, selectionnez **Integration list** +2. Dans la liste des intégrations, ajoutez l'intégraiton **API** (Rest API HTTPS over JSON) +3. Rendez vous dans le menu **Configured integrations** et éditez votre intégration **API** pour l'activer si elle ne l'est pas. Vous devez aussi donner les droits **Create and Update Access**. Sauvegardez votre coniguration ainsi que votre **API Key** qui est obligatoire pour l'envoi d'alertes depuis Centreon vers Opsgenie. Cette **API Key** est référrée en tant qu'**integration_api_token** dans la configuration Centreon + +#### Opsgenie integration: incidents + +1. Avant de commencer, cette intégration ne marchera que si vous utilisez le module Centreon BAM +2. Depuis le menu **Settings**, allez dans la sous catégorie **APP SETTINGS** pour y trouver le menu **API key management** +3. Dans le menu **API key management** ajoutez une nouvelle **API key** avec les droits **Create and Update** +4. Sauvegardez votre configuration et votre **Api key** qui est obligatoire pour envoyer des incidents depuis Centreon vers Opsgenie. Cette **API key** est référrée en tant qu'**app_api_token** dans le configuration Centreon. + +### Dans Centreon + +#### Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-opsgenie +``` + + + + + +```shell +dnf install centreon-stream-connector-opsgenie +``` + + + + + +```shell +apt install centreon-stream-connector-opsgenie +``` + + + + +Le Stream Connector Opsgenie est maintenant installé sur votre serveur Centreon central ! + +#### Broker configuration + +1. Connectez vous sur l'interface web votre Centreon avec un compte administrateur +2. Rendez vous dans le menu **Configuration** > **Collecteurs** et allez dans **Configuration Broker** +3. Cliquez sur la configuration broker **central-broker-master** et allez dans l'onglet **ouput** +4. Ajoutez un nouvel output **Generic - Stream connector**. +5. Nommez le comme vous le souhaitez (ex : **Opsgenie**) et indiquez le bon chemin pour le script LUA : `/usr/share/centreon-broker/lua/opsgenie.lua`. +6. Ajoutez au moins un paramètre string. Ce paramètre est une clé d'API qui doit être configurée. Le nom du paramètre *doit être* `app_api_token` (pour les alertes) ou `integration_api_token` (pour les incidents, nécessite le module Centreon BAM). Si vous voulez utilisez ces deux aspects alors vous devez renseigner les deux paramètres dans la configuration. + +| Name | Type | Value | +| ------------------------- | ------ | ----------------------- | +| `app_api_token` | String | `` | +| `integration_api_token` | String | `` | + +7. Sauvegardez votre configuration puis naviguez dans le menu **Configurtion** > **Collecteurs** et choisissez **collecteurs**. +8. Sélectionnez le collecteur **Central** et cliquez sur **Exporter la configuration** +9. Gardez **Générer les fichiers de configuration** et **Lancer le débogage du moteur de supervision (-v)** cochées et cochez aussi **Déplacer les fichiers générés** puis cliquez sur le bouton **Exporter**.. +10. Redémarrez le service `cbd` : + +```bash +systemctl restart cbd +``` + +Maintenant votre serveur central a chargé le Stream Connector Opsgenie et commence à envoyer de la donnée ! + +To make sure that everything goes fine, you should have a look at `central-broker-master.log` and `connector-opsgenie.log`, both located in `/var/log/centreon-broker`. +Pour être sûr que tout va bien, vous pouvez jeter un oeil aux fichiers de log `central-broker-master.log` et `connector-opsgenie.log`. Tous deux sont situés dans `/var/log/centreon-broker`. + +#### Configuration avancée + +**Table des paramètres** + +| Name | Type | Default value | Description | +| --------------------------- | ------ | ----------------------------------------------------------------------- | ---------------------------------------------- | +| `api_url` | String | `https://api.opsgenie.com` | Adresse API d'Opsgenie. Utilisez https://api.eu.opsgenie.com si votre instance est en Europe | +| `proxy_address` | String | | Si besoint, l'adresse du serveur proxy (nécessite le paramètre proxy_port) | +| `proxy_port` | String | | Le port du serveur proxy | +| `proxy_username` | String | | Si besoin, l'utilisateur pour le proxy (nécessite le paramètre proxy_password) | +| `proxy_password` | String | | Le mot de passe de l'utilisateur du serveur proxy | +| `logfile` | String | `/var/log/centreon-broker/connector-opsgenie.log` | Le fichier de log du stream connector | +| `host_status` | String | `0,1,2` | Envoie les évènements d'hôte up, down and unreachable| +| `service_status` | String | `0,1,2,3` | Envoie les évènements de service ok, warning, critical, unknown services | +| `ba_status` | String | `0,1,2` | Envoie les évènements de BA ok, warning, critical business activities | +| `hard_only` | Number | `1` | Envoie uniquement les évènements en état HARD | +| `acknowledged` | Number | `0` | Envoie uniquement les évènements qui ne sont pas acquittés | +| `element_type` | String | `host_status,service_status,ba_status` | Envoie les évènements de statut des hôtes, services et BA | +| `category_type` | String | `neb,bam` | Filtre les évènements qui ne sont pas du neb ou du bam | +| `in_downtime` | Number | `0` | Envoie uniquement les évènements qui ne sont pas en downtime | +| `max_buffer_size` | Number | `1` | Envoie les évènements un par un | +| `max_buffer_age` | Number | `5` | Stocke les évènements pendant 5 secondes à moins que le max_buffer_size soit atteint avant | +| `max_stored_events` | Number | `10` | Garde les évènements en mémoire pour éviter d'envoyer des duplicatas. Ne pas modifier sans maîtriser les Stream Connectors | +| `skip_anon_events` | Number | `1` | N'envoie pas les évènements dont l'hôte ou le service ne sont pas trouvés dans le cache du broker | +| `skip_nil_id` | Number | `1` | N'envoie pes les évènements qui n'ont pas d'ID. (meta-service la plupart du temps) | +| `accepted_hostgroups` | String | | Liste des groupes d'hôtes dans lequel un hôte doit être (séparateur `,` ex : grp1,grp2,grp3) | +| `date_format` | String | `%Y-%m-%d %H:%M:%S` | Format de conversion par défaut des timestamps (https://www.lua.org/pil/22.1) | +| `host_alert_message` | String | `{last_update_date} {hostname} is {state}` | Le message par défaut des alertes d'hôte. Voir [host event macros](sc-opsgenie.md#host-event-macros) pour plus de détails sur les macros | +| `host_alert_description` | String | | La description par défaut des alertes d'hôte. See [host event macros](sc-opsgenie.md#host-event-macros) for more details about macros | +| `host_alert_alias` | String | `{hostname}_{state}` | L'alias par défaut des alertes d'hôte. Utile pour la déduplication d'alertes See [host event macros](sc-opsgenie.md#host-event-macros) for more details about macros | +| `service_alert_message` | String | `{last_update_date} {hostname} // {serviceDescription} is {state}` | Le message par défaut des alertes de service. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `service_alert_description` | String | | La description par défaut des alertes de service. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `service_alert_alias` | String | `{hostname}_{serviceDescription}_{state}` | L'alias par défaut des alertes de service. Utile pour la déduplication d'alertes. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `ba_incident_message` | String | `{baName} is {state}, health level reached {level_nominal}` | Le message par défaut des incidents de BA. See [BA event macros](sc-opsgenie.md#ba-event-macros) for more details about macros | +| `ba_incident_description` | String | | La description par défaut des incidents de BA. See [BA event macros](sc-opsgenie.md#ba-event-macros) for more details about macros | +| `enable_incident_tags` | Number | `1` | Ajoute les tags pour les incidents | +| `get_bv` | Number | `1` | Ajoute le nom des BV dans les tags si `enable_incident_tags` est à `1` +| `ba_incident_tags` | String | `centreon,applications` | Liste de tags pour un incident. Doit utiliser la virgule comme séparateur. Les noms des BV seront ajoutés automatiquement dans les tags | +| `enable_severity` | Number | `0` | Si positionné à 1, essaie de lier une sévérité de Centreon à une priorité d'Opsgenie | +| `priority_must_be_set` | Number | `0` | Ignorera l'alerte si positionné à 1 et qu'aucune sévérité ne correspond à une priorité selon la relation établie dans le paramètre `priority_matching` | +| `priority_matching` | String | `P1=1,P2=2,P3=3,P4=4,P5=5` | Associe une priorité à une sévérité selon la syntaxe suivante : nom_priorité=valeur_sévérité,nom_priorité=valeur_sévérité. | +| `opsgenie_priorities` | String | `P1,P2,P3,P4,P5` | Liste des priorités Opsgenie avec la virgule pour séparateur | + +**Remarques** + +* Une valeur de 2 pour `log_level` est valide pour un début d'analyse en cas de dysfonctionnement. Cela peut cependant générer un grand volume de journaux si vous supervisez beaucoup d'hôtes. Pour avoir moins de messages, vous devriez conserver la valeur à 1. + +--------------- + +## Comment désinstaller + +1. Connectez vous à l'interface web de Centreon avec un compte administrateur. +2. Naviguez dans le menu **Configuration** > **Collecteurs** et sélectionnez **Configuration du broker**. +3. Cliquez sur la configuration broker **central-broker-master** puis allez dans l'onglet **Output**. +4. Supprimez l'output **Generic - Stream connector** en cliquant sur l'icône de croix rouge en bout de ligne. +5. Sauvegardez votre configuration et rendez vous dans le menu **Configuration** > **Collecteurs** et sélectionnez **Collecteurs**. +6. Sélectionnez le collecteur **Central** et cliquez sur **Exporter la configuration** +7. Gardez **Générer les fichiers de configuration** et **Lancer le débogage du moteur de supervision (-v)** cochées et cochez aussi **Déplacer les fichiers générés** puis cliquez sur le bouton **Exporter**. +8. Redémarrez le service `cbd` : + +```bash +systemctl restart cbd +``` + +Le stream connecteur n'est alors plus actif ! + +9. Vous pouvez aussi supprimer le script LUA si vous le désirez : + +```bash +rm -f /usr/share/centreon-broker/lua/opsgenie.lua +``` + +## Macros + +Les macros sont un outil pour créer des messages dynamiques dépendant de l'évènement que vous envoyez. Elles doivent être mises entre {} (ex : {hostname}). Si une macro est une macro de type *time* alors vous pouvez utiliser le suffixe **\_date** pour le convertir en un format lisible pour l'Homme. Vous pouvez changer le format de la date avec le paramètre de type string `date_format`. (ex : {last_update} est une macro sous la forme d'un timestamp. Vous pouvez utiliser {last_update_date} pour la convertir) + +#### Host event macros + +| Nom de la macro | +| --------------- | +| hostname | + +Toutes les propriétés de la table [Host status](../../developer/developer-broker-mapping.md#host-status) sont aussi utilisables + +#### Service event macros + +| Nom de la macro | | +| -------------------- | +| hostname | +| serviceDescription | + +Toutes les propriétés de la table [Service status](../../developer/developer-broker-mapping.md#service-status) sont aussi utilisables + +#### BA event macros + +| Nom de la macro | +| --------------- | +| baName | +| baDescription | + +Toutes les propriétés de la table [Ba status event](../../developer/developer-broker-mapping.md#ba-status-event) sont aussi utilisables diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-pagerduty-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-pagerduty-events.md new file mode 100644 index 000000000000..c1642ff2163f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-pagerduty-events.md @@ -0,0 +1,205 @@ +--- +id: sc-pagerduty-events +title: PagerDuty Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## PagerDuty + Centreon Integration Benefits + +* Notify on-call system or application administrators when an alert is detected by Centreon. +* Incidents will automatically resolve in PagerDuty when Centreon detects that the check point is back to normal. +* Create high and low urgency incidents based on the state of the alert. +* Send metrics when available to give more insight about the alert. + +## How it Works + +* Every time a service or a host's state is checked, the event passes through Centreon Broker, which loads the Stream Connector to send state changes. +* State changes can occur in case of an anomaly detection or metrics falling out of range. +* Once the check point is back to normal, a resolve event will be sent to the PagerDuty service to resolve the alert. +* You can choose from where the stream connector is sending data. Pick the implementation which best meets your needs: + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-pagerduty +``` + + + + + +```shell +dnf install centreon-stream-connector-pagerduty +``` + + + + + +```shell +apt install centreon-stream-connector-pagerduty +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | --------------------------------------------------------- | +| Name | PagerDuty events | +| Path | /usr/share/centreon-broker/lua/pagerduty-events-apiv2.lua | +| Filter category | Neb | + +### Add PagerDuty mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------- | ------------- | +| string | pdy_routing_key | the event api key for pagerduty | | + +### Add PagerDuty optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ---------------- | ------------------------------------------ | --------------------------------------------- | +| string | pdy_centreon_url | url of your Centreon server | `http://set.pdy_centreon_url.parameter` | +| string | http_server_url | url of the PagerDuty event endpoint | `https://events.pagerduty.com/v2/enqueue` | +| string | client | the PagerDuty client | Centreon Stream Connector | +| string | pdy_source | source of the event | `nil` | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/pagerduty-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "payload": { + "summary": "my_host/my_service: it is on fire", + "timestamp": "2021-09-24T14:37:22.000", + "severity": "critical", + "source": "my_host", + "component": "my_service", + "group": "hg_1, hg_2", + "class": "service", + "custom_details": { + "Hostseverity": 5, + "Serviceseverity": 3, + "Hosgroups": "hg_1, hg_2", + "Servicegroups": "sg_1, sg_2" + }, + "routing_key": "dzajzd321dzad412", + "event_action": "trigger", + "dedup_key": "my_host_my_service", + "client": "Centreon Stream Connector", + "client_url": "https://my_super_centreon.bzh", + "links": [ + { + "href": "https://my_super_centreon.bzh/centreon/main.php?p=20202&o=h&host_name=my_host", + "text": "Link to Centreon host summary" + } + ] + } +} +``` + +### host_status event + +```json +{ + "payload": { + "summary": "my_host: it is on fire", + "timestamp": "2021-09-24T14:37:22.000", + "severity": "critical", + "source": "my_host", + "component": "my_host", + "group": "hg_1, hg_2", + "class": "host", + "custom_details": { + "Hostseverity": 5, + "Hosgroups": "hg_1, hg_2", + }, + "routing_key": "dzajzd321dzad412", + "event_action": "trigger", + "dedup_key": "my_host_H", + "client": "Centreon Stream Connector", + "client_url": "https://my_super_centreon.bzh", + "links": [ + { + "href": "https://my_super_centreon.bzh/centreon/main.php?p=20202&o=h&host_name=my_host", + "text": "Link to Centreon host summary" + } + ] + } +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------- | +| string | format_file | /etc/centreon-broker/pagerduty-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' 'https://events.pagerduty.com/v2/enqueue' -d '{"dedup_key":"_H","payload":{"component":"","group":"","summary":"winter is coming","class":"host","severity":"info","timestamp":"2021-09-24T14:37:22.000","custom_details":{"Hostgroups":"","Hostseverity":2},"source":""},"event_action":"trigger","client":"Centreon Stream Connector","routing_key":"dzada32193dzbe1fz51xz","links":[{"href":"","text":"Link to Centreon host summary"}]}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *linuxServerA*. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-em-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-em-events.md new file mode 100644 index 000000000000..c3735098fe14 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-em-events.md @@ -0,0 +1,180 @@ +--- +id: sc-service-now-em-events +title: ServiceNow Event Manager +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +apt install centreon-stream-connector-servicenow +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------------- | +| Name | Servicenow events | +| Path | /usr/share/centreon-broker/lua/servicenow-em-events-apiv2.lua | +| Filter category | Neb | + +### Add Service Now mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------------- | ------------------------------------ | ------------- | +| string | instance | the name of the service now instance | MyCompany | +| string | client_id | The Oauth client_id | | +| string | client_secret | The Oauth client_secret | | +| string | username | The Oauth user | | +| string | password | The Oauth pasword | | + +### Add Service Now optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ------------------------------------------ | ----------------------------------------------------------- | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/servicenow-em-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Service Now REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "records": [{ + "source": "centreon", + "event_class": "centreon", + "severity": 5, + "node": "my_host", + "resource": "my_service", + "time_of_event": "2022-09-06 11:52:12", + "description": "CRITICAL: USB cable behaving like a water hose" + }] +} +``` + +### host_status event + +```json +{ + "records": [{ + "source": "centreon", + "event_class": "centreon", + "severity": 5, + "node": "my_host", + "resource": "my_host", + "time_of_event": "2022-09-06 11:52:12", + "description": "DOWN: someone plugged an UPS on another UPS to create infinite energy" + }] +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **records** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | -------------------------------------------------- | +| string | format_file | /etc/centreon-broker/servicenow-em-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +You must replace all the *``* inside the below commands with their appropriate value. *``* may become *MyCompany*. + +### Get OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=password&client_id=&client_secret=&username=&password=' +``` + +### Refresh OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=refresh_token&client_id=&client_secret=&username=&password=&refresh_token=' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer ' 'https://.service-now.com/api/global/em/jsonv2' -d '{"records":[{"source": "centreon","event_class": "centreon","severity": 5,"node": "my_host","resource": "my_service","time_of_event": "2022-09-06 11:52:12","description": "CRITICAL: USB cable behaving like a water hose"}]}' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md new file mode 100644 index 000000000000..a8a6a27777a8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md @@ -0,0 +1,175 @@ +--- +id: sc-service-now-incident-events +title: ServiceNow Incident +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +apt install centreon-stream-connector-servicenow +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------------------- | +| Name | Servicenow events | +| Path | /usr/share/centreon-broker/lua/servicenow-incident-events-apiv2.lua | +| Filter category | Neb | + +### Add Service Now mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------------- | ------------------------------------ | ------------- | +| string | instance | the name of the service now instance | MyCompany | +| string | client_id | The Oauth client_id | | +| string | client_secret | The Oauth client_secret | | +| string | username | The Oauth user | | +| string | password | The Oauth pasword | | + +### Add Service Now optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------------- | ------------------------------------------ | ----------------------------------------------------------------- | +| string | http_server_url | service-now.com | the address of the service-now server | +| string | incident_table | incident | the name of the incident table | +| string | source | centreon | the source name of the incident | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/servicenow-incident-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | +| string | host_status | 1,2 | +| string | service_status | 1,2,3 | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Service Now REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +### service_status event + +```json +{ + "source": "centreon", + "short_description": "CRITICAL my_host my_service is not doing well", + "cmdb_ci": "my_host", + "comments": "HOST: my_host\n SERVICE: my_service\n OUTPUT: is not doing well" +} +``` + +### host_status event + +```json +{ + "source": "centreon", + "short_description": "CRITICAL my_host is not doing well", + "cmdb_ci": "my_host", + "comments": "HOST: my_host\n OUTPUT: is not doing well" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **records** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | -------------------------------------------------- | +| string | format_file | /etc/centreon-broker/servicenow-incident-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +You must replace all the *``* inside the below commands with their appropriate value. *``* may become *MyCompany*. + +### Get OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=password&client_id=&client_secret=&username=&password=' +``` + +### Refresh OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=refresh_token&client_id=&client_secret=&username=&password=&refresh_token=' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer ' 'https://.service-now.com/api/now/table/incident' -d '{"source":"centreon","short_description":"CRITICAL my_host my_service is not doing well","cmdb_ci":"my_host","comments":"HOST: my_host\n SERVICE: my_service\n OUTPUT: is not doing well"}' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-signl4-events.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-signl4-events.md new file mode 100644 index 000000000000..f5ca318434cd --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/event-management/sc-signl4-events.md @@ -0,0 +1,176 @@ +--- +id: sc-signl4-events +title: Signl4 Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Hello community! We're looking for a contributor to help us translate this page into French. If it's you, let us know and ping us on [our community platform The Watch](https://thewatch.centreon.com/). + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Connectez vous en tant que `root` sur le serveur Centreon central en utilisant votre client SSH préféré. + +Lancer la commande adaptée à votre système : + + + + +```shell +dnf install centreon-stream-connector-signl4 +``` + + + + + +```shell +dnf install centreon-stream-connector-signl4 +``` + + + + + +```shell +apt install centreon-stream-connector-signl4 +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------ | +| Name | Signl4 events | +| Path | /usr/share/centreon-broker/lua/signl4-events-apiv2.lua | +| Filter category | Neb | + +### Add Signl4 mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------- | ------------- | +| string | team_secret | Team secret | x3x[..]2c | + +### Add Signl4 optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ------------------ | ------------------------------------------ | ------------------------------------------------ | +| string | server_address | url of your Centreon serversignl4 instance | `https://connect.signl4.com` | +| string | x_s4_source_system | source system to display in Signl4 | Centreon | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/signl4-events-apiv2.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Proxy configuration + +When using a proxy to connect to the Signl4 endpoint, you can use additional parameters to configure it: + +| Type | Name | Value explanation | +| -------- | ------------------ | ----------------------------------------------------- | +| string | proxy_address | Proxy address | +| number | proxy_port | Proxy port (mandatory when proxy_address is set) | +| string | proxy_username | Proxy username the file in which logs are written | +| password | proxy_password | Proxy password (mandatory when proxy_username is set) | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "EventType": "SERVICE", + "Date": "Fri Nov 26 11:54:29 CET 2021", + "Host": "Highway", + "Service": "to hell!", + "Message": "acdc song", + "Status": "CRITICAL", + "Title": "Highway/to hell! is CRITICAL", + "X-S4-SourceSystem": "Centreon", + "X-S4-ExternalID": "HOSTALERT_666", + "X-S4-Status": "new" +} +``` + +### host_status event + +```json +{ + "EventType": "HOST", + "Date": "Fri Nov 26 11:54:29 CET 2021", + "Host": "Highway", + "Message": "to hell!", + "Status": "DOWN", + "Title": "Highway is DOWN", + "X-S4-SourceSystem": "Centreon", + "X-S4-ExternalID": "HOSTALERT_666", + "X-S4-Status": "new" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------------- | +| string | format_file | /etc/centreon-broker/lua-conf/signl4-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +You can trigger a signal with the following command: + +```shell +curl -X POST -H 'content-type: application/json' 'https://connect.signl4.com/webhook/' -d '{"EventType": "HOST","Date": "Fri Nov 26 11:54:29 CET 2021","Host": "Highway","Message": "to hell!","Status": "DOWN", "Title": "Highway is DOWN", "X-S4-SourceSystem": "Centreon","X-S4-ExternalID": "HOSTALERT_666","X-S4-Status": "new"}' +``` + +You can then close this signal with the following command: + +```shell +curl -X POST -H 'content-type: application/json' 'https://connect.signl4.com/webhook/' -d '{"EventType": "HOST","Date": "Fri Nov 26 12:00:00 CET 2021","Host": "Highway","Message": "to hell!","Status": "OK", "Title": "Highway is UP", "X-S4-SourceSystem": "Centreon","X-S4-ExternalID": "HOSTALERT_666","X-S4-Status": "resolved"}' +``` + +You must replace the `` inside the URL with yours. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/introduction-integrations.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/introduction-integrations.md new file mode 100644 index 000000000000..01334d512c38 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/introduction-integrations.md @@ -0,0 +1,32 @@ +--- +id: introduction-integrations +title: Intégrations +--- + +## Connecter Centreon à vos autres outils + +Centreon offre de nombreuses manières de s'interfacer avec des outils tiers afin +de permettre une parfaite intégration avec d'autres solutions. + +Les intégrations reposent sur différents modules et fonctionnalités permettant de +s'adapter à vos processus de traitement de données, d'alertes, d'événement et/ou +de métriques: + +- [Centreon Stream Connector](https://github.com/centreon/centreon-stream-connector-scripts), +permet l'envoi de données d'événements et/ou de métriques vers un outil tiers afin +de partager, présenter ou retravailler les données dans un système annexe; +- [Centreon Open Ticket](../alerts-notifications/ticketing.md), permet +l'ajout de fonctionnalités permettant l'ouverture manuelle de ticket sur la base des +données d'une alerte directement au travers des bacs à événements Centreon; + +Cette documentation est organisée en fonction des fonctionnalités des logiciels avec +lesquels Centreon peut s'interfacer. Les grandes familles d'intégrations sont les +suivantes: + +import DocCardList from '@theme/DocCardList'; + + + +Vous ne trouvez pas votre outil ou l'intégration que vous voulez? Faites le nous +savoir en posant la question sur notre [plateforme communautaire The Watch](https://thewatch.centreon.com/) ou en +nous contactant au travers du formulaire de notre [site web](https://www.centreon.com/nous-contacter/). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/itsm-overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/itsm-overview.md new file mode 100644 index 000000000000..a7375c15df88 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/itsm-overview.md @@ -0,0 +1,14 @@ +--- +id: itsm-overview +title: ITSM +--- + +Ouvrez des tickets depuis une ou plusieurs alertes détectées par Centreon +afin de permettre une gestion de l'incident et des actions correctives au plus proche +de vos processus internes. + +Les interconnexions disponibles sont les suivantes : + +import DocCardList from '@theme/DocCardList'; + + \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-footprints.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-footprints.md new file mode 100644 index 000000000000..a119d2d65743 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-footprints.md @@ -0,0 +1,39 @@ +--- +id: ot-bmc-footprints +title: BMC Footprints +--- + +## How it works + +BMC Footprints open-tickets provider uses the BMC Footprints SOAP API to open +incidents about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-bmc-footprint-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following BMC Footprints +versions: + + - 11.x + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ----------------------- | +| Address | 10.11.12.13 | +| Webservice Path | /MRcgi/MRWebServices.pl | +| Action | /MRWebServices | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-remedy.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-remedy.md new file mode 100644 index 000000000000..fd68064330d3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-bmc-remedy.md @@ -0,0 +1,45 @@ +--- +id: ot-bmc-remedy +title: BMC Remedy +--- + +## How it works + +BMC Remedy open-tickets provider uses the BMC Remedy SOAP API to open incidents +about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-bmc-remedy-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following BMC Remedy +versions: + +**To be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ----------------------------------------------------------------------------------------------------- | +| Endpoint | | +| Namespace | IncidentInterface\_Create\_WS | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket with the following parameters + + - Urgency + - Impact + - Last Name + - First Name + - Dataset ID + - Assigned Group diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md new file mode 100644 index 000000000000..8375baa51a2b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md @@ -0,0 +1,148 @@ +--- +id: ot-easyvista-rest-api +title: EasyVista API Rest +--- + +Le fournisseur EasyVista Open Tickets utilise l'API Rest EasyVista pour ouvrir des incidents sur vos alertes de supervision. + +## Prérequis + +- Avant d'aller plus loin, assurez-vous d'avoir installé correctement [Centreon Open Tickets](https://docs.centreon.com/docs/alerts-notifications/ticketing-install/) sur votre instance Centreon. + +- Ensuite, vous devez [configurer Open Tickets](../../alerts-notifications/ticketing.md#hosts--services) afin que les ressources (hôtes et services) puissent recevoir un numéro de ticket. + +## Installer le fournisseur EasyVistaRest + +1. [Téléchargez](https://share.centreon.com/s/qypnoTgYfxHejaS) le dossier **EasyVistaRest** dans **/usr/share/centreon/www/modules/centreon-open-tickets/providers** sur votre serveur central, ou un serveur distant. + +2. Modifiez le fichier **/usr/share/centreon/www/modules/centreon-open-tickets/providers/register.php** en ajoutant une ligne pour EasyVistaRest, comme suit: + + ```shell + $register_providers['RequestTracker2'] = 12; + $register_providers['Itop'] = 13; + $register_providers['EasyVistaRest'] = 14; + ``` + +## Configurer votre serveur EasyVista + +Vous devrez paramétrer votre équipement EasyVista pour qu'il puisse recevoir des données de la part de Centreon. Reportez-vous à la documentation d'EasyVista. Assurez-vous qu'EasyVista puisse recevoir les données envoyées par Centreon : les flux ne doivent pas être bloqués par la configuration d'EasyVista ou par un équipement de sécurité. + +## Configurer le connecteur dans Centreon + +1. Dans Centreon, allez dans **Configuration > Notifications > Règles** pour configurer Centreon Open Tickets. Cela ouvre le formulaire **Règles**. + +2. Cliquez sur **Ajouter** et renseignez un nouveau nom pour EasyVistaRest. + +3. Sélectionnez **EasyVistaRest** dans la liste des **Provider**. + +### Définir les paramètres obligatoires + +Vous devez saisir les paramètres suivants dans la section **Easyvista Rest Api** : + +- **Address**: adresse IP du serveur EasyVista sur lequel vous souhaitez ouvrir des tickets. +- **API path** +- **Account** : compte utilisateur pour accéder à l'API. +- **Bearer token or account password** : l'utilisation d'un token API (Bearer token) est recommandée mais vous pouvez toujours définir une authentification standard. Si vous avez choisi **Bearer token**, référez-vous à la [documentation EasyVista](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/#HProcE9dures). +- **Use token** : renseignez **0** si vous avez opté pour une authentification standard. + +### Ajouter des champs personnalisés EasyVista + +> Si vous avez créé des champs personnalisés dans EasyVista, vous devez également les créer dans Centreon. + +Vos champs personnalisés apparaîtront dans la fenêtre pop-up qui vous permettra d'ouvrir un ticket. Vous devez utiliser la syntaxe spécifique à EasyVista : le nom d'un champ personnalisé doit commencer par ``e_``. + +Dans cet exemple, nous allons ajouter le champ **e_city**. + +#### Ajouter le champ au modèle du formulaire + +1. Dans la section **Easyvista Rest Api**, cliquez sur **+Add a new entry**. +2. Dans la liste **Argument**, sélectionnez **Custom Field**. +3. Remplissez la **Valeur** en suivant ce format : ``{$select.e_city.value}`` (avec **e_city** dans cet exemple). + > L'élément **e_city** doit être identique à l'ID EasyVista. + + > L'élément **.value** peut être remplacé par **.placeholder**, voir cette [étape](#définir-les-valeurs-possibles). +4. Ajoutez autant d'entrées que nécessaire. + +#### Définir le type du champ + +Vous devez maintenant définir le type de l'argument que vous avez paramétré précédemment. Comme vous avez ajouté des champs personnalisés, l'argument doit être de type **custom**. + +1. Dans la section **Common**, cliquez sur **+Add a new entry** dans le paramètre **Lists**. +2. En suivant notre exemple, renseigner : + - **e_city** dans le champ **Id**, + - **Meilleures villes** dans le champ **Label**, + - **Custom** dans le champ **Type**. + > Assurez-vous que l'**Id** est identique à celui que vous avez saisi dans le champ personnalisé plus haut : **e_city** dans notre cas. + +#### Définir les valeurs possibles + +Maintenant que le champ personnalisé est configuré, vous devez lui associer des valeurs possibles. Il s'agit de la liste des valeurs que les utilisateurs verront dans Centreon lorsqu'ils ouvriront un ticket. Dans notre cas, vous allez définir les valeurs possibles pour **e_city**. + +> Pour la valeur que vous avez définie précédemment dans le champ **Argument** : +- si vous avez spécifié ``{$select.e_city.value}``: le nom du paramètre **value** sera envoyé à EasyVista, +- si vous avez spécifié ``{$select.e_city.placeholder}``: le nom du paramètre **label** sera envoyé à EasyVista. Le champ **Label** sera celui que les utilisateurs verront dans la liste de sélection des valeurs lorsqu'ils ouvriront le ticket. + +1. Dans la partie **Custom list definition**, cliquez sur **+Ajouter une nouvelle entrée**. +2. Remplissez les paramètres **Value** (par exemple le code postal de la ville) et **Label** (par exemple le nom de la ville). +3. Ajoutez autant de nouvelles entrées que nécessaire. Dans notre exemple, il s'agirait de plusieurs villes avec leur code postal et leur nom. + +### Définir des filtres pour les biens (assets) + +Toutes les informations envoyées par Centreon à EasyVista proviennent de Centreon. La seule exception peut être les biens, aussi nommés assets (équipements, éléments de configuration et ressources supervisées) qui peuvent être récupérées à partir des API EasyVista. + +> Le champ du filtre aura le format suivant (à titre d'exemple) : ``search=field:value1,field:value2`` (voir la [documentation EasyVista](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/REST%20API%20-%20See%20a%20list%20of%20assets/?language=fr)). + +Suivez cette procédure si vous devez importer des ressources depuis EasyVista : + +1. Dans la section **Common**, cliquez sur **+Ajouter une nouvelle entrée** dans le paramètre **Listes**. +2. Renseignez les paramètres comme suit (il s'agit d'un exemple) : + - **Id** + - **Label:** Asset + - **Type:** Asset + - **Filter:** search=field:value + +## Tester le connecteur + +Pour vous aider à analyser les problèmes, utilisez les commandes curl suivantes pour tester le connecteur. + +> Notez que vous devez adapter les commandes suivantes avec vos propres valeurs. Par exemple, ```` doit être remplacé par l'adresse de votre serveur EasyVista. + +Les commandes ci-dessous considèrent que vous utilisez la méthode d'authentification par token Bearer. +Si vous utilisez la méthode d'authentification standard (utilisateur et mot de passe), vous devez remplacer ``-H 'Authorization : Bearer`` par `-u ':'`. + +> Les commandes ci-dessous sont données à titre d'exemple. + +### Tester l'ouverture d'un ticket + +```shell +curl -X POST -k 'https:///api/v1/requests' -H 'Content-Type: +application/json' -H 'Authorization: Bearer ' -d '{"requests": +[{"catalog_guid:"1234","catalog_code":"1234"}]}' +``` + +> Ceci est un exemple. Voir la [documentation EasyVista](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/REST%20API%20-%20Create%20an%20incident-request/). + +### Tester la fermeture d'un ticket + +```shell +curl -X PUT -k 'https:///api/v1/requests/' -H +'Content-Type: application/json' -H 'Authorization: Bearer ' -d '{"closed": +{}} +``` + +### Récupérer des ressources + +- Avec le filtre : + + ```shell + curl -X GET -k 'https:///api/v1/assets/?fields=asset_tag,HREF' + -H 'Content-Type: application/json' -H 'Authorization: Bearer ' + ``` + +- Sans le filtre : + + ```shell + curl -X GET -k 'https:///api/v1/assets/? + fields=asset_tag,HREF&search=field:value' -H 'Content-Type: application/json' -H + 'Authorization: Bearer ' + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista.md new file mode 100644 index 000000000000..6ce7829aac5e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-easyvista.md @@ -0,0 +1,50 @@ +--- +id: ot-easyvista +title: EasyVista API SOAP +--- + +> **SOAP** Service Manager web services are no longer maintained, so we recommend that you use the [**Rest API** version](./ot-easyvista-rest-api.md) to benefit from the latest enhancements and features. + +## How it works + +EasyVista open-tickets provider uses the EasyVista SOAP API to open incidents +about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-easyvista-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following EasyVista +versions: + +**To be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ------------------------- | +| Address | 192.168.0.27 | +| Webservice Path | /WebService/SmoBridge.php | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket with the following parameters + + - Requestor + - Urgency + - Severity + - Asset + - External reference + - Phone + - Recipient + - Origin + - CI diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpi.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpi.md new file mode 100644 index 000000000000..8c4b4622121b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpi.md @@ -0,0 +1,48 @@ +--- +id: ot-glpi +title: GLPI +--- + +## How it works + +The Glpi provider uses the webservice plugin of Glpi to retrieve data in order +to open a ticket. + +![architecture](../../assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png) + +## Compatibility + +This connector is (at least) compatible with the following Glpi versions: + + - between 8.5 and 9.0 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ------------------------------------ | +| Address | 192.168.0.6 | +| Username | centreon | +| Password | MyPassword | +| Path | /glpi/plugins/webservices/xmlrpc.php | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Glpi: + + - Entities + - Itil categories + - Groups + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#configuration-avancée). + + - Urgency + - Impact diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpirestapi.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpirestapi.md new file mode 100644 index 000000000000..6aeb77c72a0e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-glpirestapi.md @@ -0,0 +1,70 @@ +--- +id: ot-glpi-restapi +title: GLPI RestAPI +--- + +## How it works + +The GlpiRestApi provider uses the REST API of Glpi to retrieve data in order to +open a ticket. Since it gathers a lot of configurations objects from Glpi, it +puts them in cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png) + +## Compatibility + +This connector is (at least) compatible with the following Glpi versions: + + - 9.4 + - 9.3 + - 9.2 + - 9.1 (Glpi REST API birth) + +You can’t use this provider with Glpi < 9.1. From the 8.5 to 9.0 version, you +should use the old Glpi provider that uses the Glpi plugin called “webservice” + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------ | ---------------------------------------- | +| Address | 10.30.2.46 | +| User token | cYpJTf0SAPHHGP561chJJxoGV2kivhDv3nFYxQbl | +| App token | f5Rm9t5ozAyhcHDpHoMhFoPapi49TAVsXBZwulMR | +| REST API url | /glpi/apirest.php | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Glpi: + + - Entities + - Itil categories + - Requesters + - Users + - Groups + - Suppliers + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#configuration-avancée). + + - User role + - Group role + - Urgency + - Impact + - Priority + +## Configuration + +You'll find the required **app token** in the following menu: +![app\_token](../../assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png) + +You'll find the **user token** in the following menu: +![user\_token](../../assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-itop.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-itop.md new file mode 100644 index 000000000000..526ce25cde25 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-itop.md @@ -0,0 +1,54 @@ +--- +id: ot-itop +title: iTop +--- + +## How it works + +The Itop provider connects to your Itop server and retrieve data through the +itop REST API. The data is refreshed dynamically depending on your choices. +Since it gathers a lot of configurations objects from Itop, it puts them in +cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-itop-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Itop versions: + + - 1.4 + - 1.3 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ----------- | ------------------- | +| Address | 10.30.2.22/itop/web | +| API version | 1.4 | +| Username | admin | +| Password | itop | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Itop: + + - Organizations + - Callers + - Services + - Service subcategories + - Origin + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#configuration-avancée). + + - Impact + - Urgency diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-iws-isilog.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-iws-isilog.md new file mode 100644 index 000000000000..09d1a90492ea --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-iws-isilog.md @@ -0,0 +1,53 @@ +--- +id: ot-iws-isilog +title: IWS Isilog +--- + +## How it works + +The IWS Isilog provider uses the SOAP API of Isilog to retrieve data in order to +open a ticket. Since it gathers a lot of configurations objects from Isilog, it +puts them in cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-iws-isilog-architecture.png) + +## Compatibility + +This connector is compatibile with at least the following versions of Isilog: + +| Component | Version | +| ----------- | ------------------- | +| Product | IWS Infinity V4.1.0 | +| Referential | 3.0.0 | +| Framework | 4.0.0.0 | + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------- | -------------------------------- | +| Address | demo.iws-saas.fr/isilogwebsystem | +| Username | MyAccount | +| Password | MyPassword | +| Database name | MyDatabase | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now you'll only be able to open a ticket and close it from Centreon. In +the near future you'll be able to fill the following parameters when opening a +ticket + + - Origin + - Impact + - Urgency + - Service + - Category + - Team + - Element diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-jira.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-jira.md new file mode 100644 index 000000000000..0ba1b6ad0952 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-jira.md @@ -0,0 +1,40 @@ +--- +id: ot-jira +title: Jira +--- + +## How it works + +The Jira provider connects to your Itop server and retrieve data through the +Jira REST API. + +![architecture](../../assets/integrations/open-tickets/ot-jira-architecture.png) + +## Compatibility + +This integration is (at least) compatible with Jira cloud + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing-install.md) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ----------------- | ------------------- | +| Address | xxxxx.atlassian.net | +| Rest Api Resource | /rest/api/latest/ | +| Username | MyUser | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Jira: + + - Project + - Priority + - Assignee + - Issue type diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-mail.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-mail.md new file mode 100644 index 000000000000..9dd2755aef22 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-mail.md @@ -0,0 +1,33 @@ +--- +id: ot-mail +title: Mail +--- + +## How it works + +The Mail provider sends a mail to a mailbox that an ITSM software will read and +create a ticket based upon it + +![architecture](../../assets/integrations/open-tickets/ot-mail-architecture.png) + +## Compatibility + +This integration is compatible with any ITSM software that is able to create a +ticket from a mail. + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ---------------- | +| From | {$user.email} | +| To | | + +## Possibilities + +You can add custom headers when sending your email diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-otrs.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-otrs.md new file mode 100644 index 000000000000..300287820608 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-otrs.md @@ -0,0 +1,100 @@ +--- +id: ot-otrs-restapi +title: OTRS RestAPI +--- + +## How it works + +The OTRS provider uses the REST API of OTRS to retrieve data in order to open a +ticket. + +![architecture](../../assets/integrations/open-tickets/ot-otrs-architecture.png) + +## Compatibility + +This connector is at least compatible with the following versions of OTRS: + + - OTRS 5 + - OTRS 4 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ---------------------------------- | +| Address | 192.168.0.8 | +| Rest link | nph-genericinterface.pl/Webservice | +| Path | /otrs | +| Webservice name | centreon | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from OTRS: + + - Queues + - Priorities + - States + - Types + - Customer users + +## Configuration + +Sadly, some extra configuration is required in order to gather this data from +OTRS. + +1. copying custom webservice files + +copy the content of `extra/Custom` and `extra/Kernal` in `/opt/otrs/` on your +OTRS server. + +2. Edit the configuration file + +Add the following lines in the `/opt/otrs/Kernel/Config.pm` file + +``` perl +# ---------------------------------------------------- # +# insert your own config settings "here" # +# config settings taken from Kernel/Config/Defaults.pm # +# ---------------------------------------------------- # +# $Self->{SessionUseCookie} = 0; +# $Self->{CheckMXRecord} = 0; +$Self->{'GenericInterface::Operation::Module'}->{'Priority::PriorityGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Priority', + 'Name' => 'PriorityGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'Queue::QueueGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Queue', + 'Name' => 'QueueGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'State::StateGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'State', + 'Name' => 'StateGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'Type::TypeGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Type', + 'Name' => 'TypeGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'CustomerUser::CustomerUserGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'CustomerUser', + 'Name' => 'CustomerUserGet' +}; +``` + +3. Import the webservice + +On your OTRS web interface, use the import web service button and select the +appropriate yaml file wich is `extra/export/otrs4/centreon.yml` or +`extra/export/otrs5/centreon.yml` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-request-tracker2.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-request-tracker2.md new file mode 100644 index 000000000000..174b6f61c5a0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-request-tracker2.md @@ -0,0 +1,38 @@ +--- +id: ot-request-tracker-restapi +title: Request Tracker RestAPI +--- + +## How it works + +The Request Tracker provider uses the REST API of Request Tracker to retrieve +data in order to open a ticket. + +![architecture](../../assets/integrations/open-tickets/ot-request-tracker2-architecture.png) + +## Compatibility + +This connector requires at least the version 2.0 of the REST API of Request +Tracker + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ---------------------------- | +| Address | 192.168.0.7 | +| token | xxxxxxxxxxxxxxxxxxxxxxxxxxxx | +| Path | /REST/2.0/ | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Request +Tracker: + + - Queues diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-serena.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-serena.md new file mode 100644 index 000000000000..963006e1b735 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-serena.md @@ -0,0 +1,37 @@ +--- +id: ot-serena +title: Serena +--- + +## How it works + +Serena open-tickets provider uses the Serena SOAP API to open incidents about +your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-serena-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Serena versions: + +**to be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ----------------------------------------------- | +| Endpoint | | +| Namespace | xxxxxxx | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-service-now.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-service-now.md new file mode 100644 index 000000000000..8db5b119989b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/itsm/ot-service-now.md @@ -0,0 +1,52 @@ +--- +id: ot-servicenow +title: ServiceNow +--- + +## How it works + +ServiceNow open-tickets provider uses the ServiceNow REST API to get +configuration data and open incidents about your monitoring alerts. Since it +gathers a lot of configurations objects from ServiceNow, it puts them in cache. Loging +out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-service-now-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following ServiceNow +versions: + + - Madrid + - London + - New York + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#configuration-avancée) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------------- | ---------------- | +| Instance Name | MyCompany | +| OAuth Client ID | xxxxxxxxx | +| OAuth Client Secret | yyyyyyyy | +| Username | centreon | +| Password | MyPassword | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from ServiceNow: + + - Categories + - Subcategories + - Impact + - Urgency + - Severity + - Assignment Group + - Assignment diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/notifications-overview.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/notifications-overview.md new file mode 100644 index 000000000000..a1d682a7c767 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/notifications-overview.md @@ -0,0 +1,8 @@ +--- +id: notifications-overview +title: Notifications +--- + +Tirez parti des fonctionnalités de notifications du moteur Centreon Engine +afin d'alerter de manière optimale les bonnes personnes au travers de multiples +modes de transmission (Messagerie instantanée, SMS, Traps SNMP, ...). \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/plugin-telegram.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/plugin-telegram.md new file mode 100644 index 000000000000..8d3f8abc7084 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/notifications/plugin-telegram.md @@ -0,0 +1,154 @@ +--- +id: plugin-telegram +title: Telegram Bot notifications +--- + +## Introduction + +This documentation is brought to you thanks to our partner YPSI: + +![logo](../../assets/integrations/notifications/telegram/logo-YPSI.png) + +## How it works + +Telegram notifications connector uses the perl Centreon plugin to send notification through Telegram using their REST API + +![architecture](../../assets/integrations/notifications/telegram/architecture-telegram.png) + +## Installation + +### centreon plugin with telegram + +First of all, you need the Centreon Telegram plugin to be installed on your Centreon server. +First, install Git, then execute the following commands: + +```bash +mkdir /usr/lib/centreon/git-plugins +cd /usr/lib/centreon/git-plugins +git clone https://github.com/centreon/centreon-plugins.git +chown -R centreon-engine. /usr/lib/centreon/git-plugins +``` + +### Telegram configuration + +First of all, reach https://web.telegram.org and sign in + +![login](../../assets/integrations/notifications/telegram/login-telegram.png) + +Then, proceed to talk to the BotFather and tell him the following command + +```/newbot``` + +![newbot](../../assets/integrations/notifications/telegram/newbot-telegram.png) + +As asked by the BotFather, you need to give your bot a name and a username for your bot. This one must end with **_bot**. +To avoid confusion, you can use the same name for both like shown in the picture below. + +![token](../../assets/integrations/notifications/telegram/token-telegram.png) + +Like said by the BotFather, it is very important that you **save your token**. We are going to need it to send notifications later on. + +Now we need to create a new group. To do so, use the telegram menu as follow + +![newgroup](../../assets/integrations/notifications/telegram/newgroup-telegram.gif) + +When creating your group, add your bot to it + +![groupcreation](../../assets/integrations/notifications/telegram/groupcreation-telegram.gif) + +## Configuration + +### Get your chat-id from telegram + +On the telegram webapp page, click on the group previously created to obtain a chat-id from URL + +![chatid](../../assets/integrations/notifications/telegram/chatid-telegram.png) + +for example, if the url is as follow: **https://web.telegram.org/#/im?p=g123456** then, your chat-id is **123456**. + +> Note that while 123456 is your chat-id, you'll need to use **-123456** in your configuration otherwise it won't work + +### Command creation in Centreon + +#### Service notification command + +![service command](../../assets/integrations/notifications/telegram/service-command-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' --bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxxxxx' --host-name='$HOSTNAME$' --service-description='$SERVICEDESC$' --service-state=$SERVICESTATE$ \ +--service-output='$SERVICEOUTPUT$' +``` + +#### Host notification command + +![host command](../../assets/integrations/notifications/telegram/host-command-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxx' \ +--host-name='$HOSTNAME$' \ +--host-state=$HOSTSTATE$ \ +--host-output='$HOSTOUTPUT$' +``` + +## Example + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxxx' \ +--host-name='nirvana' \ +--service-description='yellow-submarine' \ +--service-state=CRITICAL +--service-output='highway to hell' +``` + +![service notification](../../assets/integrations/notifications/telegram/service-notification-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxx' \ +--host-name='REM' \ +--host-state=DOWN \ +--host-output='let the sky fall' +``` + +![host notification](../../assets/integrations/notifications/telegram/host-notification-telegram.png) + +## Message options + +When sending your notification you can add various options that you can list using the `--help` option of the Centreon plugin. + +Below are some of the available options: + +| Options | Explanation | Example | +| ----------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \--centreon-token | an autologin token from centreon | | +| \--centreon-url | the centreon url | | +| \--graph-url | graph url. You can use the above options as macro here | **%{centreon\_url}**/include/views/graphs/generateGraphs/generateImage.php?username=myuser&token=**%{centreon\_token}**&hostname=**%{host\_name}**&service=**%{service\_description}** | +| \--link-url | a link url | **%{centreon\_url}**/main.php?p=20201&o=svc&host\_search=**%{host\_name}**&svc\_search=**%{service\_description}** | +| \--proxyurl | the url to your proxy if needed | | + +All options can be displayed with the following command: + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--help +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/npm/ntopng.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/npm/ntopng.md new file mode 100644 index 000000000000..62461e2ddb20 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/npm/ntopng.md @@ -0,0 +1,106 @@ +--- +id: ntopng +title: Widget NtopNG +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Utilisez le widget NtopNG dans des [vues personnalisées](../../alerts-notifications/custom-views.md) pour visualiser des données sur l'utilisation du réseau collectées par une instance NtopNG. + +Le widget peut afficher les vues suivantes (voir [**Exemples**](#exemples) ci-dessous) : + +* **Top N Local address** : Affiche les n hôtes locaux qui reçoivent/émettent le plus de trafic +* **Top N Remote address** : Affiche les n hôtes distants qui reçoivent/émettent le plus de trafic +* **Top N Flows** : Affiche les flux réseaux les plus importants (client local vers distant) +* **Top N Applications** : Affiche les n applications qui reçoivent/émettent le plus de trafic (les flux sont regroupés par application, protocolaire ou site Web comme Amazon/Google) + +## Installer le widget + +1. Installez le paquet suivant sur le serveur central : + + + + +```shell +dnf install centreon-widget-ntopng-listing +``` + + + + +```shell +dnf install centreon-widget-ntopng-listing +``` + + + + +```shell +apt update && apt install centreon-widget-ntopng-listing +``` + + + + +2. À la page **Administration > Extensions > Gestionnaire**, installez le widget **NtopNG**. + +## Configurer le widget + +Pour configurer le widget, cliquez sur l'icône molette dans son coin supérieur droit. Une fenêtre s'ouvre : + +![Paramètres](../../assets/integrations/npm/Widget_NtopNG_Options.png) + +### NtopNG Probe + +* **Login** : Compte qui se connectera à NtopNG (il est conseillé d'utiliser un compte non administrateur) +* **Password** : Mot de passe du compte +* **Probe** : Adresse IP du serveur NtopNG +* **Protocol** : Protocole de communication (https par défaut) +* **Port** : Port de connexion à l'interface (TCP/3000 par défaut) +* **Interface** : Identifiant de l'interface. Vous pouvez le voir dans l'interface NtopNG, à la page **Interface** (en sélectionnant l'interface concernée) : + +![Interface ID](../../assets/integrations/npm/NtopNG_Interface_ID.png) + +### View + +* Mode : Sélectionner les données que vous souhaitez afficher +* Top : Définir le nombre de lignes à afficher (nombre d'hôtes/applications, etc.) + +### Filters + +Ces options ne concernent que la vue **Top N Flows**. Vous pouvez filtrer sur une adresse IP, sur un port, ou sur les deux à la fois. + +* **IP Address** : N'afficher que le trafic concernant une adresse IP particulière (ne pas utiliser le nom d'hôte) +* **Port** : N'afficher que le trafic sur ce port + +### Misc + +* **Refresh interval (seconds)** : Définir à quelle fréquence les données doivent être rafraîchies + +## Exemples + +### Top N Local address + +![Top N Local address](../../assets/integrations/npm/Widget_NtopNG_Top_N_Local.png) + +### Top N Remote address + +![Top N Remote address](../../assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png) + +### Top N Flows + +Vue sans filtre : + +![Top N Flows](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png) + +Vue avec filtre sur une adresse IP : + +![Top N Flows Address Filter](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png) + +Vue avec filtre sur un port et une adresse IP : + +![Top N Flows Address Port Filters](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png) + +### Top N Applications + +![Top N Applications](../../assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/stream-connectors.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/stream-connectors.md new file mode 100644 index 000000000000..0dc174918a4b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/integrations/stream-connectors.md @@ -0,0 +1,169 @@ +--- +id: stream-connectors +title: Stream connectors +--- + +Les stream connectors ont pour but de transmettre en temps réel le flux des données issu de la supervision par la plateforme Centreon vers un outil tiers. Ce flux peut porter sur les évènements comme sur les métriques. + +## Notes de release + +## 2024 + +### September + + + + +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - fixed return code when payload is empty. + + + + +### August + + + + +- [**Splunk Metrics**](data-analytics/sc-splunk-metrics.md) - Fixed an issue with **max_buffer_size** parameter in Splunk stream connector. +- [**Clickhouse**](data-analytics/sc-clickhouse.md) - Added a protection on metric names containing spaces. +- [**InfluxDB 2 Metrics**](data-analytics/sc-influxdb2-metrics.md) - Added a protection on metric names containing spaces. +- [**Centreon library: sc_macro**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_macro.lua) - Fixed an issue with **_scshort flag** leading to the macro name of an event being displayed instead of its value. + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **enable_bam_host** parameter to send BAM "services". +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - Enhanced error report when using **send_data** method in stream connector log files. + + + + +### May + + + + +- [**Canopsis Events**](data-analytics/sc-canopsis-events.md) - Enhanced a lot of functionalities to catch up with the new version of Canopsis (24.04). +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Added a new parameter allowing a delta between timestamps, to fix an issue with the notification of a host status change. +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Removed the **allow_insecure_connection** parameter to convert it to **verify_certificate** (working the opposite way). +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **verify_certificate** parameter (and deprecated **allow_insecure_connection**). + + + + +### April + + + + +- [**All stream connectors**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/docs/README.md) - Added additional debug information when an issue occurs while sending data. +- [**InfluxDB 2 Metrics**](data-analytics/sc-influxdb2-metrics.md) - Added the possibility to send **metric_id**. + + + + +### February + + + + +- [**Clickhouse Metrics**](data-analytics/sc-clickhouse.md) - Initial release of Clickhouse Metrics. + + + + +### January + + + + +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Made elastic username and password optional. +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Added min/max property with thresholds (warning/critical) in the template. +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added method to validate Lua patterns and build a table of patterns to compensate the lack of alternation operator (commonly known as | in POSIX regex). + + + + +## 2023 + +### November + + + + +- [**Centreon library: sc_common**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_common.lua) - Adapted some event types (downtime, acknowledgement and ba_status) to the new bbdo3 protocol (introduced with the Centreon 23.10 release). + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Added a "rejected" filter for hostgroups, servicegroups, bvs, pollers and authors. + + + + +### October + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a way to handle deprecated parameters like **max_buffer_age**. + + + + +### September + + + + +- **InfluxDB2 Metrics** - Initial release of InfluxDB2 Metrics. + + + + +### July + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **accepted_metrics** parameter to filter metrics that will be sent to metric-oriented stream connectors. +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Added a new **basic_auth** parameter to handle HTTP basic authentication. +- [**Centreon library: sc_metrics**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_metrics.lua) - Added a way to filter out metrics based on their name and the **accepted_metrics** parameter. + + + + +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Initial release of Elastic Metrics. + + + + +### February + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Fixed an issue occuring when checking if an event was monitored by an accepted poller. + + + + +### January + + + + +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Allowed the possibility to log curl commands with a new method called **log_curl_command**. +- [**sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **log_curl_commands** parameter to enable logging curl commands. +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Handled event flapping with a new method (**is_valid_event_flapping_state**). +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **flapping** parameter to filter flapping events. +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - Added a new **add_queue_metadata** method to properly add metadata to a queue. + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - The long output of the stream connector was incorrectly using the standard output, leading to loss of data. +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Used the correct cache entry when checking the state of a service in a downtime event. + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart-management.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart-management.md new file mode 100644 index 000000000000..41f0ae699327 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart-management.md @@ -0,0 +1,79 @@ +--- +id: chart-management +title: Gestion des graphiques +--- + +Centreon permet de générer des graphiques à partir des informations de supervision. Il existe deux types de graphiques : + +* Les graphiques de performances permettent de visualiser l'évolution des services de manière intuitive. Exemples : + niveau de remplissage d'un disque dur, trafic réseau... +* Les graphiques d'historique (ou graphiques des statuts) permettent de visualiser l'évolution des statuts d'un service. + +Les graphiques de performances ont toujours comme abscisse une période de temps et comme ordonnée une unité (Volts, +Octets...). +Les graphiques d'historique ont toujours comme abscisse une période de temps, leurs ordonnées ne varient pas. Uniquement +la couleur du graphique permet de visualiser le statut de l'objet : + +* Green pour le statut OK +* Orange pour le statut WARNING +* Red pour le statut CRITICAL +* Grey pour le statut UNKNOWN + +Exemple de graphique de performances : + +![image](../assets/metrology/01perf_graph.png) + +## Graphiques de performances + +Il existe plusieurs manières de visualiser les graphiques de performances : + +* Visualiser le graphique dans la liste des services, depuis le menu **Monitoring \> Status Details \> Services**, en + survolant l'icône ![image](../assets/common/column-chart.png) +* Visualiser les graphiques depuis la page de détails d'un hôte en cliquant sur l'icône **View graphs for host** +* Visualiser le graphique depuis la page de détails d'un service +* Depuis le menu **Monitoring \> Performances \> Graphs** pour visualiser un à plusieurs graphiques + +## Graphique de statut + +Comme pour les graphiques de performances, il existe différentes façons d'accéder au graphique d'historique : + +* Depuis la page de détails d'un service +* Depuis le menu **Monitoring \> Performances \> Graphs**, en sélectionnant au préalable un service spécifique + +## Visualiser plusieurs graphiques + +Pour visualiser l'ensemble des graphiques, se rendre dans le menu **Monitoring \> Performances \> Graphs**. + +![image](../assets/metrology/01graph_list.png) + +Cette page propose plusieurs options de sélection ainsi que des options de filtrage : + +* L'option **Chart** permet de sélectionner le graphique que vous souhaitez afficher +* L'option **Period** vous permet de sélectionner une fenêtre de temps prédéfinie pour afficher les données +* Les champs **From** et **To** permettent de sélectionner une fenêtre de temps manuelle pour afficher les données +* L'option **Filter by Host** permet de filtrer la liste **Chart** en ne présentant que les graphiques liés au + ressources sélectionnées +* L'option **Filter by Hostgroup** permet de filtrer la liste **Chart** en ne présentant que les graphiques liés au +   ressources sélectionnées +* L'option **Filter by Servicegroup** permet de filtrer la liste **Chart** en ne présentant que les graphiques liés à +   les ressources sélectionnées + +Plusieurs actions sont possibles sur cette page : + +* Actualiser manuellement les données en cliquant sur l'icône ![image](../assets/common/refresh.png) +* Actualiser automatiquement les données en cliquant sur l'icône ![image](../assets/common/timer-gray.png) et en sélectionnant + une période prédéfinie +* Pour afficher des graphiques sur 1, 2 ou 3 colonnes en cliquant sur l'icône associée ![image](../assets/metrology/columns_selection.png) + +Plusieurs actions sont possibles sur chaque graphique : + +* **Split chart**: sépare plusieurs courbes d'un graphique en plusieurs graphiques contenant chacun une courbe +* **Display multiple periods**: affiche le graphique sur une période de 1 jour, 1 semaine, 1 mois, 1 an +* Exporter le graphique au format CSV en cliquant sur l'icône ![image](../assets/common/csv.png) ou en PNG en cliquant sur + l'icône ![image](../assets/common/png.png) +* Remonter dans le temps en cliquant sur l'icône ![image](../assets/metrology/right_arrow.png) ou avancer en cliquant sur + l'icône ![image](../assets/metrology/left_arrow.png) +* Il est également possible de zoomer sur une période en cliquant sur le graphique puis en sélectionnant une fenêtre + temporelle: + +![image](../assets/metrology/chart_zoom.gif) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_curves.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_curves.md new file mode 100644 index 000000000000..f1f57eab1be9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_curves.md @@ -0,0 +1,65 @@ +--- +id: chart-curves +title: Courbes +--- + +## Définition + +Une courbe est la représentation de l'évolution des données de performances (métriques issues de la collecte) visible +via les graphiques de performance. Un graphique peut contenir plusieurs courbes. Il est possible de personnaliser les +courbes en modifiant certains paramètres : l'allure des courbes, la position des courbes sur le graphique, la légende +ainsi que les informations complémentaires (moyenne, valeur totale...). + +## Configuration + +Se rendre dans le menu **Monitoring \> Performances \> Curves** + +![image](../assets/metrology/02addcurve.png) + +* Le champ **Template Name** définit le nom du modèle +* Le champ **Hosts/Service Data Source** définit le service pour lequel sera utilisée cette courbe. Si ces informations + ne sont pas renseignées, cette définition de courbe s'appliquera à l'ensemble des services dans lesquels cette métrique + apparait +* Le champ **Data Source Name** permet de sélectionner la métrique qui utilisera cette définition. La liste + **List of known metrics** permet de choisir les métriques déjà existantes utilisées par les services +* Si la case **Stack** est cochée, cette courbe s'empilera ('stacking') sur les autres (utile pour voir la proportion + d'une métrique par rapport à une autre). +* Si la case **Stack** est cochée, la liste **Order** permet de définir l'ordre d'affichage/empilage de la courbe (plus + le nombre est petit, plus il sera proche de l'abscisse). +* Si la case **Invert** est cochée, la courbe est inversée (opposée de la valeur absolue) par rapport à l'axe des ordonnées + (utile pour voir la proportion du trafic entrant par rapport au trafic sortant). +* La liste **Thickness** exprime l'épaisseur de la ligne du trait de la courbe (exprimée en pixels). +* Le champ **Line color** définit la couleur de la courbe. +* Le champ **Area color** concerne la couleur de remplissage de la courbe si l'option **Filling** est cochée, (voir ci-dessous). + Elle contient 3 champs qui correspondent respectivement aux couleurs du statut OK, WARNING et CRITICAL. +* Le champ **Transparency** définit le niveau de transparence de la couleur du contour. +* Si la case **Filling** est cochée, alors toute la courbe est remplie avec la couleur de l'aire définie en fonction du statut. + + +Les attributs ci-dessous concernent les informations situées en dessous du graphique : + +* Le champ **Legend** définit la légende de la courbe. +* Si la case **Display only the legend** est cochée, la courbe sera masquée tandis que la légende sera visible. +* La liste **Empty lines after this legend** permet de définir un certain nombre de lignes vides après la légende. +* Si la case **Print max value** est cochée, alors la valeur maximale atteinte par la courbe sera affichée. +* Si la case **Print min value** est cochée, alors la valeur minimale atteinte par la courbe sera affichée. +* Si la case **Round the min and max** est cochée, alors les valeurs minimales et maximales seront arrondies. +* Si la case **Print Average** est cochée, alors la moyenne des points de la courbe sera affichée. +* Si la case **Print last value** est cochée, alors la dernière valeur collectée de la courbe sera affichée. +* Si la case **Print total value** est cochée, s'affiche alors la valeur totale (somme de toutes les valeurs de la courbe + sur la période sélectionnée). +* Le champ **Comment** permet de commenter la courbe. + +## Exemples de courbes + +Les courbes empilées : + +![image](../assets/metrology/02graphempile.png) + +Les courbes inversées : + +![image](../assets/metrology/02graphinverse.png) + +Les courbes avec remplissage : + +![image](../assets/metrology/02graphremplissage.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_template.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_template.md new file mode 100644 index 000000000000..f7a763747334 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_template.md @@ -0,0 +1,44 @@ +--- +id: chart-template +title: Modèles de graphiques +--- + +## Définition + +Les modèles de graphiques sont des modèles qui permettent de mettre en forme les graphiques. Les modèles de graphiques +permettent de configurer plusieurs paramètres de présentation dont la mesure de l'axe des ordonnées, la largeur et la +hauteur du graphique ou encore les différentes couleurs... + +## Configuration + +Se rendre dans le menu **Monitoring \> Performances \> Templates** + +![image](../assets/metrology/02addgraph_template.png) + +* Le champ **Template name** permet de définir un nom pour le modèle de graphe +* Le champ **Vertical label** contient la légende pour l'axe des ordonnées (type de données mesurées) +* Les champs **Width** et **Height** sont exprimées en pixels et expriment respectivement la largeur et la hauteur du modèle +* Le champ **Lower limit** définit la limite minimale de l'axe des ordonnées +* Le champ **Upper limit** définit la limite maximale de l'axe des ordonnées +* La liste **Base** définit la base de calcul pour les données lors de la mise à l'échelle des ordonnées du graphique. + Utiliser 1024 pour des mesures comme l'octet (1 Ko = 1024 octets) et 1000 pour des mesures comme le volt (1 kV = 1000 Volts) + > Peu importe la valeur sélectionnée, la base 1024 sera utilisée pour les unités de métrique suivantes : + > * B + > * bytes + > * bytespersecond + > * B/s + > * B/sec + > * o + > * octets +* La case **Scale Graph Values** activer l'échelle automatique du graphique et contourner les options précédentes +* Le champ **Default Centreon Graph Template** permet d'afficher tous les graphiques sans modèle prédéfini en utilisant ces valeurs + +> Si la case **size to max** est cochée, le graphique sera automatiquement mis à l'échelle de la valeur maximale des +> ordonnées présentées sur la période donnée. + +## Utiliser un modèle de graphe + +Ajouter un modèlede graphe lors de l'édition d'un service (ou d'un modèle de service) en accédant à l'onglet +**Service Extended Info** dans le formulaire de configuration : + +![image](../assets/metrology/02linkgraph_template.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_virtual_metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_virtual_metrics.md new file mode 100644 index 000000000000..df10ff3c7ea1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/chart_virtual_metrics.md @@ -0,0 +1,56 @@ +--- +id: chart-virtual-metrics +title: Métriques virtuelles +--- + +## Definition + +Les métriques virtuelles sont l'affichage de courbes résultant du traitement / agrégation de données issues d'un jeu de +données. Le jeu de données correspond aux différentes valeurs des courbes sur la période de présentation du graphique. +La création de métriques virtuelles repose sur le langage RPN (Reverse Polish Notation). + +Deux types de jeu de données sont disponibles : + +* CDEF : Cette commande crée un nouvel ensemble de points à partir d'une ou plusieurs séries de données. L'agrégation est + réalisée sur chaque point (données). +* VDEF : Le résultat de chaque agrégation est une valeur et une composante temporelle. Ce résultant peut également être + utilisé dans les divers éléments de graphique et d'impression. + +### CDEF vs VDEF + +Le type CDEF travaille sur un ensemble de points (tableau de données). Le résultat du traitement (exemple : multiplication +par 8 pour convertir des bits en octets) sera un ensemble de point. Le type VDEF permet d'extraire le maximum d'un ensemble +de point. + +> Pour plus d'informations sur la notation de type RPN, référencez-vous à la +> [documentation officielle RRD](https://oss.oetiker.ch/rrdtool/doc/rrdgraph_rpn.en.html). + +## Configuration + +Se rendre dans le menu **Monitoring \> Performances \> Virtual Metrics** + +![image](../assets/metrology/02addvmetric.png) + +* Le champ **Metric name** définit le nom de la métrique. +* La liste **Host/Service Data Source** permet de définir le service depuis lequel exploiter les métriques. +* Le champ **DEF Type** définit le type de jeu de données utilisé pour calculer la courbe virtuelle. +* Le champ **RPN (Reverse Polish Notation) Function** définit la formule permettant de calculer la métrique virtuelle. + +> Il n'est pas possible d'ajouter ensemble les métriques de différents services. Cependant, il est possible d'ajouter +> des métriques virtuelles pour le calcul d'une nouvelle métrique. + +* Le champ **Metric Unit** définit l'unité de la métrique. +* Le champ **Warning threshold** définit le seuil d'alerte à afficher dans le graphique. +* Le champ **Critical threshold** définit le seuil critique à afficher dans le graphique. +* Si la case *Hidden Graph and Legend** est cochée, alors la courbe et la légende sont cachées. +* Le champ **Comment** permet de commenter la métrique. + +## Exemple + +Configuration : + +![image](../assets/metrology/02virtualmetric_conf.png) + +Résultat : + +![image](../assets/metrology/02virtualmetric_example.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/grafana.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/grafana.md new file mode 100644 index 000000000000..6a9dcebe3525 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/metrology/grafana.md @@ -0,0 +1,90 @@ +--- +id: grafana +title: Plugin Centreon pour Grafana +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le plugin Centreon pour Grafana permet de visualiser dans Grafana des données issues de Centreon. Si vous utilisez Grafana pour récupérer des données d'autres platformes de supervision, vous pourrez ainsi mettre en parallèle les données issues de Centreon avec celles-ci. + +## Prérequis + +Pour pouvoir utiliser le plugin Centreon pour Grafana, vous devez avoir une licence [MBI](../reporting/introduction.md) valide et le module doit être installé. + +## Données disponibles + +Une data source Centreon vous permet de visualiser des données de performance issues de Centreon dans vos tableaux de bord Grafana. +Pour sélectionner les données de performance à afficher, vous pouvez combiner des filtres sur divers types de ressources disponibles sur votre plateforme Centreon. Vous pouvez afficher des métriques, des métriques virtuelles et des métaservices en construisant des filtres sur les types de ressources suivants : + +- Hosts +- Host groups +- Service Groups +- Services +- Business Activities (si BAM est installé et que vous avez une licence valide) +- Anomaly Detection (si le module est installé et que vous avez une licence valide) + +Les données de performance sont disponibles, mais pas des données telles que les statuts des services ou des hôtes, les acquittements ou les downtimes. + +## Où obtenir le plugin? + +Le plugin Centreon pour Grafana est disponible sur [la page de téléchargement de Centreon](https://download.centreon.com/). + +## Comment mettre en place le plugin? + +Vous pouvez utiliser la data source Centreon pour Grafana en tant que plugin non signé avec votre propre installation Grafana. (Ce n'est pas possible avec une instance Cloud.) + +Pour utiliser la data source Centreon en tant que plugin non signé : + +1. Assurez-vous que vous disposez des droits d'administration sur la machine sur laquelle Grafana s'exécute. + +2. Téléchargez le fichier zippé contenant la data source depuis la [page de téléchargement de Centreon](https://download.centreon.com/). La data source se situe dans la sous-section **Grafana** de la section **Custom platform**. + +3. Si vous n'avez pas de fichier init personnalisé, faites une copie du fichier **grafana/conf/default.ini** et renommez-le **custom.ini**. + +4. Extrayez la data source et placez-la dans le répertoire **plugins** de votre installation Grafana. (L'emplacement de ce répertoire est défini dans la variable **plugins** de votre fichier **grafana/conf/custom.ini**.) + +5. Éditez le fichier **custom.ini** et ajoutez la data source Centreon à la liste des plugins non signés autorisés : + + ```text + allow_loading_unsigned_plugins = centreon2-centreon-datasource + ``` + +6. Redémarrez le service Grafana. + + + + +```shell +systemctl restart grafana-server +``` + + + + +Dans l'onglet **Services** du gestionnaire des tâches, faites un clic droit sur le service Grafana puis cliquez sur **Redémarrer**. + + + + +La data source Centreon apparaît maintenant dans la liste des plugins disponibles, à la page **Configuration > Plugins** de l'interface Grafana. + +## Comparer des données dans un graphique + +Utiliser le plugin Centreon pour Grafana permet d'avoir accès à toutes vos données de performance dans Grafana et de pouvoir filtrer selon des groupements de données spécifiques. Par exemple, dans un même graphique, vous pouvez comparer l'évolution d'une métrique commune à différents hôtes ou aux divers hôtes d'un groupe d'hôtes donné. + +![image](../assets/metrology/grafana_compare.png) + +Vous pouvez utiliser le caractère joker ***** pour filtrer sur plusieurs hôtes en même temps. Utiliser des [variables](https://grafana.com/docs/grafana/latest/variables/) au sein des filtres permet de créer des contextes dynamiques. + +## Filtrer avec des variables + +Un même tableau de bord Grafana peut contenir divers panneaux. Chaque panneau peut afficher des données provenant d'une source spécifique. Ainsi, vous pouvez comparer des données concernant le même hôte, mais provenant de différentes sources, par exemple, si vous supervisez des données différentes sur un même équipement avec divers outils. + +Utilisez des [variables](https://grafana.com/docs/grafana/latest/variables/) pour sélectionner une liste de ressources correspondant à des filtres (par exemple tous les hôtes qui correspondent au groupe d'hôtes **Linux**). Dans le tableau de bord, des filtres vous proposeront automatiquement les variables correspondantes. + +![image](../assets/metrology/grafana_variables.png) + +Vous pouvez personnaliser l'affichage des libellés des courbes : dans la section **Time Series > Standard options**, utilisez [le champ **Display name**](https://grafana.com/docs/grafana/latest/panels-visualizations/configure-standard-options/#display-name). + +* Par exemple, si vous entrez **${__field.labels}**, le libellé inclura toutes les options de personnalisation possibles (host, service, metric_name). +* Si vous entrez **${__field.labels.host}: ${__field.labels.metric_name}**, le libellé d'une courbe sera affiché de cette manière : **10.11.12.13: total_cpu_avg**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/introduction.md new file mode 100644 index 000000000000..87c196d89aae --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/introduction.md @@ -0,0 +1,8 @@ +--- +id: introduction +title: Introduction à la migration +--- + +Les procédures de migration s'appliquent dans le cas où vous souhaitez installer votre Centreon sur un autre serveur (typiquement, pour passer d'un OS qui n'est plus supporté à un [OS supporté](../installation/prerequisites.md#système-dexploitation)). Il est alors nécessaire d'installer un nouvel OS et un nouveau Centreon, puis de migrer les anciennes données vers la nouvelle plateforme. Si votre version n'est plus supportée, vous devrez monter de version de Centreon en même temps. + +Dans les cas où vous souhaitez simplement changer de version de Centreon alors que celui-ci est installé sur un OS supporté, utilisez les [procédures d'upgrade](../upgrade/introduction.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-3-4.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-3-4.md new file mode 100644 index 000000000000..03f91ef8b155 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-3-4.md @@ -0,0 +1,252 @@ +--- +id: migrate-from-3-4 +title: Migration depuis une plateforme Centreon 3.4 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prérequis + +Cette procédure ne s'applique que pour une plate-forme **Centreon 3.4**, +installée sur une distribution GNU/Linux 64 bits +et disposant des prérequis suivants : + +| Composants | Version | +| --------------- | ------- | +| Centreon Web | 2.8.x | +| Centreon Broker | 3.0.x | +| Centreon Engine | 1.8.x | + +## Migration + +Tous les serveurs de votre architecture (serveur central, serveurs distants et collecteurs) doivent avoir la même version majeure de Centreon. Il est également recommandé d'avoir la même version mineure. + +> En cas de migration d'une plate-forme disposant du système de redondance +> Centreon, il est nécessaire de contacter votre +> [support Centreon](https://support.centreon.com). + +> En cas de migration d'une plate-forme disposant du module **Centreon Poller +> Display 1.6.x**, référez-vous à la +> [procédure de migration](poller-display-to-remote-server.md). + +### Installation du nouveau serveur central + +Réalisez les actions suivantes : + +1. Installez un nouveau serveur Centreon à partir des [paquets](../installation/installation-of-a-central-server/using-packages.md) +jusqu'à terminer le processus d'installation en vous connectant à l'interface +web. + +2. Réalisez les mises à jour logicielle et système : + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update +``` + + + + +> Il est préférable de saisir le même mot de passe pour l'utilisateur 'centreon' +> lors du processus d'installation web. + +### Synchronisation des données + +Connectez-vous à votre ancien serveur Centreon et synchronisez les répertoires +suivants : + +```shell +rsync -avz /etc/centreon root@:/etc +rsync -avz /etc/centreon-broker root@:/etc +rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine +rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib +rsync -avz /var/spool/centreon/.ssh root@:/var/spool/centreon +rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img +``` + +> Remplacez **** par l'adresse IP de votre nouveau serveur +Centreon. + +### Récupération des bases de données + +1. Faire un dump des bases de données sources : + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. Arreter le serveur MariaDB source : + + ```shell + service mysqld stop + ``` + +3. Transférer les exports vers le nouveau serveur de base de données Centreon +24.10 : + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. Sur le serveur de base de données Centreon 24.10, supprimer les bases de +données vierges et les recréer : + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + ``` + +5. Importer les dumps : + + ```shell + mysql -u root centreon -p -p + ``` + + Exemple : si votre utilisateur_admin_bdd est `root`, entrez: + + ``` + mysql_upgrade -u root -p + ``` + +7. Démarrer le processus mariadb sur le nouveau serveur : + + ```shell + systemctl start mariadb + ``` + +> Remplacez **** par l'adresse IP de votre nouveau serveur +Centreon. + +### Synchronisation des plugins + +La synchronisation des sondes de supervision (plugins) est plus délicate et +dépend de votre installation. Les principaux répertoires à synchroniser sont : + +1. /usr/lib/nagios/plugins/ +2. /usr/lib/centreon/plugins/ + +> Il est important d'installer les dépendances nécessaires au fonctionnement des +> sondes de supervision. + +> Si vous avez des Pollers en Centreon Engine 1.8.1 que vous comptez migrer plus +> tard en 24.10, attention au dossier des plugins Nagios. La macro de +> ressource $USER1$ de Centreon 24.10 pointe sur /usr/lib64/nagios/plugins +> +> A exécuter sur vos collecteurs en Centreon Engine 1.8.1 : +> +> ```shell +> mv /usr/lib64/nagios/plugins/* /usr/lib/nagios/plugins/ +> rmdir /usr/lib64/nagios/plugins/ +> ln -s -t /usr/lib64/nagios/ /usr/lib/nagios/plugins/ +> ``` +> +> De cette façon un lien symbolique est créé : +> +> ```shell +> $ ls -alt /usr/lib64/nagios/ +> lrwxrwxrwx 1 root root 24 1 nov. 17:59 plugins -> /usr/lib/nagios/plugins/ +> -rwxr-xr-x 1 root root 1711288 6 avril 2018 cbmod.so +> ``` + +Vous pouvez générer les configurations depuis Centreon 24.10 +indifféremment vers un collecteur en 24.10 ou 1.8.1. + +### Montée de version de la solution Centreon + +Forcez la montée de version du nouveau serveur en déplacant le contenu du répertoire +**/var/lib/centreon/installs/install-24.10.0-YYYYMMDD\_HHMMSS** dans le +répertoire **/usr/share/centreon/www/install** : + +```shell +cd /var/lib/centreon/installs/ +mv install-24.10.0-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ +``` + +> Si vous utilisez la même adresse IP ou le même nom DNS entre l'ancien serveur +> web Centreon et le nouveau, videz complètement le cache de votre navigateur pour +> éviter des problemes de scripts JS. + +Se connecter à l'URL `http:///centreon` et suivre les étapes +de mise à jour. + +> Si vous avez modifié le mot de passe de l'utilisateur 'centreon' lors de +> l'installation de votre nouveau serveur Centreon pour accéder aux bases de +> données, il sera nécessaire de réaliser les actions suivantes sur le nouveau +> serveur Centreon : +> +> 1. Modifiez le fichier /etc/centreon/centreon.conf.php, +> 2. Modifiez le fichier /etc/centreon/conf.pm, +> 3. Éditer la configuration du Centreon Broker central, via l'interface web +> Centreon et modifier le mot de passe pour les deux output broker **Perfdata +> generator** et **Broker SQL database**, +> 4. Modifiez le fichier /etc/centreon/config.d/10-database.yaml. + +Si l'adresse IP de votre serveur Centreon a changé, éditez la configuration de +l'ensemble des modules broker de vos collecteurs et modifiez l'adresse IP de +connexion au serveur Centreon central (output IPv4). Consultez le chapitre +[Configuration +avancée](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) +pour plus d'information. + +Les informations de connexion de l'utilisateur **centreon-gorgone** nouvellement créé doivent être les mêmes que celles de l'utilisateur **centreon-gorgone** sur l'ancien serveur. Éditez le fichier `etc/centreon-gorgone/config.d/31-centreon-api.yaml` et entrez les information de connexion de l'ancien utilisateur. Exemple : + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +Puis [générez](../monitoring/monitoring-servers/deploying-a-configuration.md) +la configuration de l'ensemble de la plateforme et exportez là. + +### Mise à jour des modules + +Référez-vous à la documentation des modules installés afin de connaître leur +compatibilité avec Centreon 24.10, et pour mettre à jour ces derniers. + +### Migrer vos autres serveurs + +Assurez-vous que tous les serveurs de votre architecture (serveur central, serveurs distants et collecteurs) ont la même version majeure de Centreon. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-debian.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-debian.md new file mode 100644 index 000000000000..717989a8649f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-debian.md @@ -0,0 +1,268 @@ +--- +id: migrate-from-el-to-debian +title: Migrer depuis un OS de type EL vers Debian +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prérequis + +Cette procédure ne s'applique que dans les conditions suivantes : + +- Vous souhaitez migrer d'un OS de type EL 64-bits vers Debian. Par exemple, vous souhaitez migrer d'un CentOS 7 à Debian 12. +- Votre version de Centreon est 18.10 ou plus récente, et vous souhaitez passer à la dernière version de Centreon. Si vous souhaitez migrer depuis une plus ancienne version, [contactez l'équipe support Centreon](https://support.centreon.com). + +Tous les serveurs de votre architecture (serveur central, serveurs distants et collecteurs) doivent avoir la même version majeure de Centreon. Il est également recommandé d'avoir la même version mineure. + +> En cas de migration d'une plateforme disposant du système de redondance +> Centreon, il est nécessaire de contacter le +> [support Centreon](https://support.centreon.com). + +## Migrer une plateforme + +### Étape 1 : Installer le nouveau serveur central + +1. Installez votre nouvel OS: voir la liste des [OS supportés](../installation/compatibility.md#système-dexploitation). + +2. Installez un nouveau serveur central Centreon à partir des [paquets](../installation/installation-of-a-central-server/using-packages.md) + jusqu'à terminer le processus d'installation en vous connectant à l'interface web. + + > Pendant le processus d'installation web, utilisez le même mot de passe pour l'utilisateur **centreon** que sur l'ancienne plateforme. + +3. Réalisez les mises à jour logicielle et système : + +```shell +apt update && apt upgrade +``` + +### Étape 2 : Synchroniser les données + +1. Connectez-vous à votre ancien serveur Centreon. + +2. Générez une paire de clés ssh pour **root** : + + ```shell + ssh-keygen -t rsa + ``` + + Par défaut, la paire de clés générée sera **/root/.ssh/id_rsa.pub** et **/root/.ssh/id_rsa**. + +3. Copiez la clé publique de **root** (**/root/.ssh/id_rsa.pub**) dans le fichier **/root/.ssh/authorized_keys** du nouveau serveur. Si vous n'utilisez pas le compte **root** pour la synchronisation, assurez-vous que votre utilisateur dispose de droits d'écriture sur le dossier cible. + +4. Depuis l'ancien serveur, synchronisez les répertoires suivants vers le nouveau serveur : + + ```shell + rsync -avz /etc/centreon root@:/etc + rsync -avz /etc/centreon-broker root@:/etc + rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine + rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib + rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img + ``` + + Si vous avez personnalisé le nom de votre fichier de clé privée, utilisez le format suivant (remplacez **id_rsa_custom** par le nom de votre fichier, et `` par les commandes ci-dessus): + + ```shell + rsync -avz -e "ssh -i /root/.ssh/id_rsa_custom" + ``` + + > Remplacez **\** par l'adresse IP de votre nouveau serveur Centreon. + +5. Sur le nouveau serveur, changez les droits utilisateur suivants : + + ```shell + chown www-data: /etc/centreon-broker/* + chown www-data: /etc/centreon-engine/* + chown centreon: /etc/centreon/* + chown centreon: /var/lib/centreon/* + chown centreon-broker: /var/lib/centreon/metrics/* + chown centreon-broker: /var/lib/centreon/status/* + chown centreon-gorgone: /var/lib/centreon/nagios-perf/perfmon-* -R + chown centreon-engine: /var/lib/centreon/centplugins/* + ``` + +### Étape 3 : Récupérer les bases de données + +1. Sur l'ancien serveur, faitez un dump des bases de données : + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. Sur l'ancien serveur, arrêtez MariaDB : + + ```shell + systemctl stop mariadb + ``` + +3. Depuis l'ancien serveur, exportez les dumps vers le nouveau serveur de base de données (assurez-vous d'avoir assez d'espace): + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. Sur le nouveau serveur de base de données, supprimez les bases de + données vierges et recréez-les : + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + ``` + +5. Sur le nouveau serveur de bases de données, importez dans la base les dumps précédemment transférés : + + ```shell + mysql -u root centreon -p -p + ``` + + Exemple : si votre utilisateur_admin_bdd est `root`, entrez: + + ```shell + mysql_upgrade -u root -p + ``` + +7. Démarrez le processus **mariadb** sur le nouveau serveur : + + ```shell + systemctl start mariadb + ``` + +> Remplacez **\** par l'adresse IP de votre nouveau serveur +> Centreon. + +### Étape 4 : Synchroniser les plugins + +Si vous n'utilisez que des plugins Centreon, réinstallez-les sur le nouveau serveur: + +1. Installez le dépôt des connecteurs de supervision (vous trouverez son adresse sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts)). + +2. Exécutez les commandes suivantes : + +```shell +apt update +apt install centreon-pack* +apt install centreon-plugin-\* +``` + +Sous Debian, le répertoire des plugins Nagios (qui exécutent par exemple la commande **check_icmp**) est **/usr/lib/nagios/plugins/**. Allez à la page **Configuration > Collecteurs > Ressources** et vérifiez que le chemin de la macro **$USER1$** est bien **/usr/lib/nagios/plugins/**. Idem pour le champ **Répertoire des sondes** à la page **Administration > Paramètres > Supervision**. + +Si vous utilisez vos propres plugins personnalisés, synchronisez les répertoires qui contiennent ceux-ci, ainsi que toutes éventuelles dépendances. + +### Étape 5 : Montée de version de la solution Centreon + +1. Sur le nouveau serveur, forcez la montée de version en déplacant le contenu du répertoire + **/var/lib/centreon/installs/install-24.10.x-YYYYMMDD_HHMMSS** dans le + répertoire **/usr/share/centreon/www/install** (**x** est le numéro de version cible pour votre machine migrée): + + ```shell + cd /var/lib/centreon/installs/ + mv install-24.10.x-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ + ``` + +2. Si vous utilisez la meme adresse IP ou le même nom DNS entre l'ancien serveur + web Centreon et le nouveau, videz complètement le cache de votre navigateur pour + éviter des problemes de scripts JS. + +3. Connectez-vous à l'URL `http:///centreon` et suivez les étapes + de la mise à jour. + +4. Si vous avez modifié le mot de passe de l'utilisateur **centreon** lors de + l'installation de votre nouveau serveur Centreon pour accéder aux bases de + données, il sera nécessaire de réaliser les actions suivantes sur le nouveau + serveur Centreon : + + 1. Modifiez le fichier **/etc/centreon/centreon.conf.php**, + 2. Modifiez le fichier **/etc/centreon/conf.pm**, + 3. Éditez la configuration du Centreon Broker central, via l'interface web + Centreon et modifiez le mot de passe pour l'output **unfied-sql**, + 4. Modifiez le fichier **/etc/centreon/config.d/10-database.yaml**. + +5. Si l'adresse IP de votre serveur Centreon a changé : + - Éditez la configuration de l'ensemble des modules Broker de vos collecteurs et modifiez l'adresse IP de + connexion au serveur Centreon central (output IPv4). Consultez le chapitre + [Configuration + avancée](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) + pour plus d'information. + - L'empreinte de votre plateforme a également changé : [contactez Centreon](mailto:support@centreon.com) pour obtenir une nouvelle licence. + +6. Les informations de connexion de l'utilisateur **centreon-gorgone** nouvellement créé doivent être les mêmes que celles de l'utilisateur **centreon-gorgone** sur l'ancien serveur. Éditez le fichier `etc/centreon-gorgone/config.d/31-centreon-api.yaml` et entrez les information de connexion de l'ancien utilisateur. Exemple : + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +7. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) de tous vos serveurs de supervision (y compris celle du central). + +8. Redémarrez les processus suivants : + + ```shell + systemctl restart cbd centengine + systemctl restart gorgoned + systemctl start snmptrapd centreontrapd + systemctl start snmpd + ``` + +9. Si vous supervisiez votre ancienne machine Centreon, et que vous avez changé le nom d'utilisateur/mot de passe de la base pendant la migration, mettez à jour la configuration des ressources concernées (hôte, services dépendant de cet hôte). + +10. Allez à la page **Configuration > Gestionnaire de connecteurs de supervision**, puis [mettez à jour tous les connecteurs de supervision](../monitoring/pluginpacks.md#mettre-à-jour-un-ou-plusieurs-packs). + +### Étape 6 (anciennes versions uniquement): Migrer vers Gorgone + +Si vous migrez depuis un Centreon 18.10, 19.04 ou 19.10, vous devez également [migrer de Centcore à Gorgone](../developer/developer-gorgone-migrate-from-centcore.md). + +### Étape 7: Mettre à jour les modules + +Pour finir la mise à jour des connecteurs de supervision, allez à la page **Configuration > Gestionnaire de connecteurs de supervision**, puis cliquez sur + +Pour mettre à jour les modules, allez à la page **Administration > Extensions > Gestionnaire** et cliquez sur **Update all**. +Si vous avez un serveur MAP ou MBI, suivez les procédures de migration correspondantes : + +- Procédure de migration pour [MAP](../graph-views/map-web-migrate.md), +- Procédure de migration pour [MBI](../reporting/migrate.md). + +### Étape 8: Migrer vos autres serveurs (architecture distribuée) + +#### Migrer un serveur distant + +Pour migrer un serveur distant : + +1. Suivez la même procédure que pour un serveur central. +2. [Rattachez le nouveau serveur distant](../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md) à votre serveur central. + +#### Migrer un collecteur + +Pour migrer un collecteur : + +1. [Installez un nouveau collecteur](../installation/installation-of-a-poller/using-packages.md). +2. Synchronisez les plugins, comme décrit à [l'étape 4 de la procédure de migration pour un serveur central](#étape-4--synchroniser-les-plugins). +3. Sur le serveur central, allez à la page **Configuration > Collecteurs**. Sélectionnez le collecteur migré et mettez à jour son adresse IP (si celle-ci a changé). +4. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). +5. Si votre collecteur rencontre des problèmes suite à la migration (impossible de déployer la configuration, d'effectuer des actions de supervision...), mettez à jour l'empreinte du collecteur comme décrit dans [cet article de base de connaissances](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-el.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-el.md new file mode 100644 index 000000000000..889ef7d8cda8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/migrate-from-el-to-el.md @@ -0,0 +1,278 @@ +--- +id: migrate-from-el-to-el +title: Migrer depuis un OS de type EL vers un autre OS de type EL (depuis un Centreon 18.10 ou plus récent) +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prérequis + +Cette procédure ne s'applique que dans les conditions suivantes : + +- Vous souhaitez migrer d'un OS de type EL 64-bits vers un autre OS de type EL 64-bits supporté. Par exemple, vous souhaitez migrer d'un CentOS 7 à un Alma 8 ou 9. +- Votre version de Centreon est 18.10 ou plus récente. + +Tous les serveurs de votre architecture (serveur central, serveurs distants et collecteurs) doivent avoir la même version majeure de Centreon. Il est également recommandé d'avoir la même version mineure. + +> En cas de migration d'une plateforme disposant du système de redondance +> Centreon, il est nécessaire de contacter le +> [support Centreon](https://support.centreon.com). + +## Migrer une plateforme + +### Étape 1 : Installer le nouveau serveur central + +1. Installez votre nouvel OS: voir la liste des [OS supportés](../installation/compatibility.md#système-dexploitation). + +2. Installez un nouveau serveur central Centreon à partir des [paquets](../installation/installation-of-a-central-server/using-packages.md) + jusqu'à terminer le processus d'installation en vous connectant à l'interface web. + + > Pendant le processus d'installation web, utilisez le même mot de passe pour l'utilisateur **centreon** que sur l'ancienne plateforme. + +3. Réalisez les mises à jour logicielle et système : + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +``` + + + + +### Étape 2 : Synchroniser les données + +1. Connectez-vous à votre ancien serveur Centreon. + +2. Générez une paire de clés ssh pour **root** : + + ```shell + ssh-keygen -t rsa + ``` + + Par défaut, la paire de clés générée sera **/root/.ssh/id_rsa.pub** et **/root/.ssh/id_rsa**. + +3. Copiez la clé publique de **root** (**/root/.ssh/id_rsa.pub**) dans le fichier **/root/.ssh/authorized_keys** du nouveau serveur. Si vous n'utilisez pas le compte **root** pour la synchronisation, assurez-vous que votre utilisateur dispose de droits d'écriture sur le dossier cible. + +4. Depuis l'ancien serveur, synchronisez les répertoires suivants vers le nouveau serveur : + + ```shell + rsync -avz /etc/centreon root@:/etc + rsync -avz /etc/centreon-broker root@:/etc + rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine + rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib + rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img + ``` + + Si vous avez personnalisé le nom de votre fichier de clé privée, utilisez le format suivant (remplacez **id_rsa_custom** par le nom de votre fichier, et `` par les commandes ci-dessus): + + ```shell + rsync -avz -e "ssh -i /root/.ssh/id_rsa_custom" + ``` + + > Remplacez **\** par l'adresse IP de votre nouveau serveur Centreon. + +### Étape 3 : Récupérer les bases de données + +1. Sur l'ancien serveur, faitez un dump des bases de données : + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. Sur l'ancien serveur, arrêtez MariaDB : + + ```shell + systemctl stop mariadb + ``` + +3. Depuis l'ancien serveur, exportez les dumps vers le nouveau serveur de base de données (assurez-vous d'avoir assez d'espace): + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. Sur le nouveau serveur de base de données, supprimez les bases de + données vierges et recréez-les : + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + ``` + +5. Sur le nouveau serveur de bases de données, importez dans la base les dumps précédemment transférés : + + ```shell + mysql -u root centreon -p -p + ``` + + Exemple : si votre utilisateur_admin_bdd est `root`, entrez: + + ```shell + mysql_upgrade -u root -p + ``` + +7. Démarrez le processus **mariadb** sur le nouveau serveur : + + ```shell + systemctl start mariadb + ``` + +> Remplacez **\** par l'adresse IP de votre nouveau serveur +> Centreon. + +### Étape 4 : Synchroniser les plugins + +Si vous n'utilisez que des plugins Centreon, réinstallez-les sur le nouveau serveur: + + + + +```shell +dnf install centreon-plugin-\* +``` + + + + +```shell +dnf install centreon-plugin-\* +``` + + + + +```shell +apt install centreon-plugin-\* +``` + + + + +Si vous utilisez vos propres plugins personnalisés, synchronisez les répertoires qui contiennent ceux-ci, ainsi que toutes éventuelles dépendances. + +### Étape 5 : Montée de version de la solution Centreon + +1. Sur le nouveau serveur, forcez la montée de version en déplacant le contenu du répertoire + **/var/lib/centreon/installs/install-24.10.x-YYYYMMDD_HHMMSS** dans le + répertoire **/usr/share/centreon/www/install** (**x** est le numéro de version cible pour votre machine migrée): + + ```shell + cd /var/lib/centreon/installs/ + mv install-24.10.x-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ + ``` + +2. Si vous utilisez la meme adresse IP ou le même nom DNS entre l'ancien serveur + web Centreon et le nouveau, videz complètement le cache de votre navigateur pour + éviter des problemes de scripts JS. + +3. Connectez-vous à l'URL `http:///centreon` et suivez les étapes + de la mise à jour. + +4. Si vous avez modifié le mot de passe de l'utilisateur **centreon** lors de + l'installation de votre nouveau serveur Centreon pour accéder aux bases de + données, il sera nécessaire de réaliser les actions suivantes sur le nouveau + serveur Centreon : + + 1. Modifiez le fichier **/etc/centreon/centreon.conf.php**, + 2. Modifiez le fichier **/etc/centreon/conf.pm**, + 3. Éditez la configuration du Centreon Broker central, via l'interface web + Centreon et modifiez le mot de passe pour l'output **unfied-sql**, + 4. Modifiez le fichier **/etc/centreon/config.d/10-database.yaml**. + +5. Si l'adresse IP de votre serveur Centreon a changé : + - Éditez la configuration de l'ensemble des modules Broker de vos collecteurs et modifiez l'adresse IP de + connexion au serveur Centreon central (output IPv4). Consultez le chapitre + [Configuration + avancée](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) + pour plus d'information. + - L'empreinte de votre plateforme a également changé : [contactez Centreon](mailto:support@centreon.com) pour obtenir une nouvelle licence. + +6. Les informations de connexion de l'utilisateur **centreon-gorgone** nouvellement créé doivent être les mêmes que celles de l'utilisateur **centreon-gorgone** sur l'ancien serveur. Éditez le fichier `etc/centreon-gorgone/config.d/31-centreon-api.yaml` et entrez les information de connexion de l'ancien utilisateur. Exemple : + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +7. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) de tous vos serveurs de supervision (y compris celle du central). + +8. Redémarrez les processus suivants : + + ```shell + systemctl restart cbd centengine + systemctl restart gorgoned + systemctl start snmptrapd centreontrapd + systemctl start snmpd + ``` + +9. Si vous supervisiez votre ancienne machine Centreon, et que vous avez changé le nom d'utilisateur/mot de passe de la base pendant la migration, mettez à jour la configuration des ressources concernées (hôte, services dépendant de cet hôte). + +10. Allez à la page **Configuration > Gestionnaire de connecteurs de supervision**, puis [mettez à jour tous les connecteurs de supervision](../monitoring/pluginpacks.md#mettre-à-jour-un-ou-plusieurs-packs). + +### Étape 6 (anciennes versions uniquement): Migrer vers Gorgone + +Si vous migrez depuis un Centreon 18.10, 19.04 ou 19.10, vous devez également [migrer de Centcore à Gorgone](../developer/developer-gorgone-migrate-from-centcore.md). + +### Étape 7: Mettre à jour les modules + +Pour mettre à jour les modules, allez à la page **Administration > Extensions > Gestionnaire** et cliquez sur **Update all**. +Si vous avez un serveur MAP ou MBI, suivez les procédures de migration correspondantes : + +- Procédure de migration pour [MAP](../graph-views/map-web-migrate.md), +- Procédure de migration pour [MBI](../reporting/migrate.md). + +### Étape 8: Migrer vos autres serveurs (architecture distribuée) + +#### Migrer un serveur distant + +Pour migrer un serveur distant : + +1. Suivez la même procédure que pour un serveur central. +2. [Rattachez le nouveau serveur distant](../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md) à votre serveur central. + +#### Migrer un collecteur + +Pour migrer un collecteur : + +1. [Installez un nouveau collecteur](../installation/installation-of-a-poller/using-packages.md). +2. Synchronisez les plugins, comme décrit à [l'étape 4 de la procédure de migration pour un serveur central](#étape-4--synchroniser-les-plugins). +3. Sur le serveur central, allez à la page **Configuration > Collecteurs**. Sélectionnez le collecteur migré et mettez à jour son adresse IP (si celle-ci a changé). +4. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). +5. Si votre collecteur rencontre des problèmes suite à la migration (impossible de déployer la configuration, d'effectuer des actions de supervision...), mettez à jour l'empreinte du collecteur comme décrit dans [cet article de base de connaissances](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/nagios-to-centreon.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/nagios-to-centreon.md new file mode 100644 index 000000000000..4ab357cdbd94 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/nagios-to-centreon.md @@ -0,0 +1,110 @@ +--- +id: nagios-to-centreon +title: Nagios Reader vers Centreon CLAPI +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +**Nagios Reader to Centreon CLAPI** est un projet libre et open source qui +permet d'analyser une configuration Nagios contenue dans les fichiers CFG et de +transformer celle-ci en commandes compatibles Centreon CALPI afin de pouvoir +importer les objets dans l'interface Centreon web. + +## Prérequis + +Avant toute chose vous devez avoir une plate-forme Centreon installée et prête à +l'emploi. Se référer à la documentation +[d'installation de Centreon](../installation/installation-of-a-central-server/using-packages.md). + +## Installation + +Le script nécessite le module Perl-Nagios-Object pour lire les fichiers CFG. +Pour installer ce dernier, exécutez les commandes suivantes sur votre serveur +Nagios(R) : + + + + +```shell +dnf install perl-Module-Build +``` + + + + +```shell +dnf install perl-Module-Build +``` + + + + +```shell +apt-get install libmodule-build-perl +``` + + + + +```shell +cd /tmp +wget http://search.cpan.org/CPAN/authors/id/D/DU/DUNCS/Nagios-Object-0.21.20.tar.gz +tar xzf Nagios-Object-0.21.20.tar.gz +cd Nagios-Object-0.21.20 +perl Build.PL +./Build +./Build test +./Build install +``` + +Puis télécharger le script depuis GitHub sur votre serveur Nagios(R) : + +```shell +cd /tmp +git clone https://github.com/centreon/nagiosToCentreon.git +cd nagiosToCentreon +``` + +## Utilisation + +Sur une nouvelle installation de Centreon, le collecteur par défaut est appelé +"Central". Si le nom de ce dernier est différent, vous devez modifier le script +pour modifier le nom par défaut à la ligne 65 : + +```perl +my $default_poller = "Central"; +``` + +Pour afficher l'aide, exécutez la commande : + +```shell +$ perl nagios_reader_to_centreon_clapi.pl --help +###################################################### +# Copyright (c) 2005-2015 Centreon # +# Bugs to http://github.com/nagiosToCentreon # +###################################################### + +Usage: nagios_reader_to_centreon_clapi.pl + -V (--version) Show script version + -h (--help) Usage help + -C (--config) Path to nagios.cfg file +``` + +Pour exécuter le script lancer la commande : + +```shell +perl nagios_reader_to_centreon_clapi.pl --config /usr/local/nagios/etc/ > /tmp/centreon_clapi_import_commands.txt +``` + +Exportez le fichier **/tmp/centreon\_clapi\_import\_commands.txt** sur votre +serveur Centreon. + +Enfin exécutez la commande suivante pour importer les objets dans Centreon web : + +```shell +/usr/share/centreon/bin/centreon -u admin -p -i /tmp/centreon_clapi_import_commands.txt +``` + +> Remplacez **``** par le mot de passe de l'utilisateur **admin** de +> Centreon web. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/poller-display-to-remote-server.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/poller-display-to-remote-server.md new file mode 100644 index 000000000000..a72669ed1bf2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/migrate/poller-display-to-remote-server.md @@ -0,0 +1,190 @@ +--- +id: poller-display-to-remote-server +title: Migration d'une plate-forme avec Poller Display +--- + +## Migrer le serveur Centreon Central + +Si le module **centreon-poller-display-central-1.6.x** est installé : + +1. Rendez-vous dans le menu **Administration > Extensions > Modules** et +désinstallez le module **centreon-poller-display-central** + +2. Supprimez le paquet associé : + + ```shell + yum remove centreon-poller-display-central + ``` + +Puis suivez la [procédure de migration](../migrate/migrate-from-3-4.md) d'un serveur Centreon +Central vers 24.10. + +> Si vous possédez des modules Centreon EMS, il est nécessaire de mettre à jour +> ces dépôts. Contactez votre support Centreon pour obtenir ces derniers. Demandez +> également les nouvelles licences associées. + +## Migrer un Poller avec Poller Display vers Remote Server + +1. Rendez-vous dans le menu **Administration > Extensions > Modules** et +supprimez le module **Centreon Poller Display**. + +2. Si vous avez installé le module à partir du paquet RPM, supprimez le paquet +en exécutant la commande suivante : + + ```shell + yum remove centreon-poller-display + ``` + +Référez vous à [la procédure de migration](../migrate/migrate-from-3-4.md). + + > Si vous possédez des modules Centreon EMS, il est nécessaire de mettre à jour + > ces dépôts. Contactez votre support Centreon pour obtenir ces derniers. + +4. Rendez-vous dans le menu **Administration > Extensions > Modules** et +installez le module **centreon-license-manager**. + +5. Enregistrer le Remote Server + +Pour l'enregistrer sur le serveur Centreon Central, exécutez la commande suivante : + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t remote -h -n +``` + +Exemple: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1 +``` + +> Remplacer **** par l'adresse IP du serveur Centreon Central vue par votre collecteur. + +> Le compte **** doit avoir accès à l'API de configuration. Vous pouvez utiliser le compte **admin**. + +> Vous pouvez changer le port et la méthode HTTP, le format de l'option **-h** est le suivant : +> HTTPS://:PORT + +Suivre ensuite les instructions + +1. Saisir le mot de passe : + + ``` shell + 192.168.0.1: please enter your password + ``` + +2. Sélectionner l'adresse IP si plusieurs interfaces réseau existent: + + ```shell + Which IP do you want to use as CURRENT NODE IP ? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Valider les informations: + + ``` shell + Summary of the informations that will be send: + + Api Connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: remote-1 + type: remote + address: 192.168.0.2 + + Do you want to register this server with those informations ? (y/n)y + ``` + +4. Ajouter les informations nécessaires pour permettre de futures communications entre votre Remote Server et son Central + + ```shell + : Please enter your username: + admin + : Please enter your password: + + : Protocol [http]: + : Port [80]: + : centreon root folder [centreon]: + ``` + +5. Définir les accès au proxy du serveur Centreon du Central : + + ```shell + Are you using a proxy ? (y/n) + y + enter your proxy Host: + myproxy.example.com + enter your proxy Port [3128]: + Are you using a username/password ? (y/n) + y + enter your username: + my_proxy_username + enter your password: + + ``` + +Vous recevrez la validation du serveur Centreon Central : + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully. +``` + +### Principaux messages d'erreur + +``` shell +2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Vos informations d'identification sont incorrectes pour le compte ****. + +``` shell +2020-10-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> L'utilisateur **** n'a pas accès à l'API de configuration. + +``` shell +Failed connect to 192.168.0.1:444; Connection refused +``` + +> Impossible d'accéder à l'API. Contrôler les valeurs ****, méthode et port. + +``` shell +2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> L'URL d'accès n'est pas complète ou invalide. Utilisez l'option **-root** pour définir le chemin de l'URL de l'API. +> Par exemple : **--root monitoring**. + +``` shell +2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> La version Centreon du serveur distant est invalide. Elle doit être supérieure ou égale à 24.10. + +6. Ajout des droits pour l'utilsateur de base de données centreon d'utiliser la +commande **LOAD DATA INFILE**: + + ``` SQL + GRANT FILE on *.* to 'centreon'@'localhost'; + ``` + +7. Depuis l'interface web du serveur **Centreon Central**, éditez +tous les collecteurs rattachés au **Remote Server** et liez ceux-ci au +nouveau Remote Server via la liste de sélection. + +> N'oubliez pas de [générer la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) de votre +> **Remote Server**. + +> Un serveur Centreon Remote Server est un serveur dont l’administration est +> autonome. +> +> Ainsi, la configuration de l’annuaire LDAP, celle des utilisateurs +> ainsi que celle des ACL sont propres à ce serveur et doivent être configurées +> via les menus **Configuration** (pour les utilisateurs) et **Administration** +> (pour l'annuaire LDAP et les ACL). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/mobile/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/mobile/introduction.md new file mode 100644 index 000000000000..91f5cf3d028c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/mobile/introduction.md @@ -0,0 +1,55 @@ +--- +id: introduction +title: Introduction +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +Un site mobile est disponible et vous permet de visualiser le statut des resources supervisées +par Centreon, sur une tablette ou un téléphone. + + ![image](../assets/mobile/mobile-app-screens.png) + +Les fonctionnalités principales de ce site sont: + +- Visualisation des statuts de vos ressources: hôtes et services +- Filtrer la liste des ressources +- Prendre des actions sur les ressources: acquitter ou démarrer une plage de maintenance programmée +- Accéder aux informations détaillées des ressources +- Accéder à l'historique d'une métrique via un graphique + + + +## Pre-requis + +Voici les pré-requis vous permettant de profiter du site mobile et d'être en mesure de vous +connecter à votre plateforme Centreon : + +- Disposer d'un Centreon >= 20.04 +- Avoir un accès direct à votre plateforme Centreon à partir de votre téléphone (même réseau ou VPN par exemple) +- Disposer d'un certificat SSL valide sur votre plateforme Centreon provenant d'une autorité de certification reconnue par votre appareil. + +## Accéder au site mobile + +Rendez-vous à l'URL suivante : [mobile.centreon.com](https://mobile.centreon.com/). + +## Se connecter à l'application + +Une fois connecté au site, vous devez remplir les champs +suivants afin de vous connecter à votre plateforme Centreon: + +- URL: L'adresse que vous utilisez pour votre connecter à votre plateforme. Ne pas oublier le "/centreon" sauf si une personnalisation +de l'URL a été mise en place. Exemple: `https://yourcentreon.int.com:PORT/centreon` +- User: le login pour vous connecter à Centreon +- Password: votre mot de passe pour vous connecter à Centreon + +![image](../assets/mobile/mobile-login.png) + +L'authentification déléguée est également supportée. + +Si vous rencontrez des problèmes de connexion: + +- Assurez-vous que votre téléphone a bien accès en direct à votre plateforme Centreon (en vous rendant directement sur l'URL par exemple) +- Assurez-vous d'avoir donné à l'utilisateur les droits d'accès à l'API temps réel. Vous pouvez vérifier cela dans le menu +`Configuration > Utilisateurs > Contacts / Utilisateurs` : dans l'onglet **Authentification Centreon**, le paramètre **Accès à l'API de temps réel** doit être activé. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/about.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/about.md new file mode 100644 index 000000000000..6437b791f67f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/about.md @@ -0,0 +1,32 @@ +--- +id: about +title: Principes de base de la supervision +--- + +Voici quelques notions propres à Centreon : + +* Un [**hôte**](basic-objects/hosts-create.md) (ou **host** en anglais) est tout équipement qui possède une adresse IP et que l'on souhaite superviser : + un serveur physique, une machine virtuelle, une sonde de température, une caméra IP, une imprimante ou un espace de + stockage, par exemple. +* Un [**service**](basic-objects/services-create.md) est un point de contrôle, ou indicateur, à superviser sur un hôte. Cela peut être le taux d'utilisation + du CPU, la température, la détection de mouvement, le taux d'utilisation de la bande passante, les E/S disque, etc. Un service peut avoir une ou plusieurs [métriques](metrics.md) associées. +* Afin de mesurer chaque indicateur, on utilise des **sondes** de supervision (**plugin** en anglais) qui sont exécutées + périodiquement par un moteur de collecte appelé **Centreon Engine**. +* Pour être exécutée, une sonde a besoin d'un ensemble d'arguments qui définissent par exemple à quel hôte se connecter + ou via quel protocole. La sonde et ses arguments associés forment une [**commande**](basic-objects/commands.md) (**command** en anglais). + +Ainsi, superviser un hôte avec Centreon consiste à configurer l'ensemble des commandes nécessaires à la mesure des +indicateurs désirés, puis à [déployer cette configuration](monitoring-servers/deploying-a-configuration.md) sur le moteur de collecte afin que ces commandes soient +exécutées périodiquement. + +Une fois les hôtes et services mis en supervision, ceux-ci ont un [statut](../alerts-notifications/concepts.md) dans Centreon (**OK**, **Alerte**, **Critique**...). Vous pouvez suivre leur évolution à la page [Statut des ressources](../alerts-notifications/resources-status.md). + +En cas d'alerte (statut non-OK/non-DISPONIBLE), les [contacts](basic-objects/contacts.md) pourront recevoir des [notifications](../alerts-notifications/notif-configuration.md), suivant des [périodes de temps](basic-objects/timeperiods.md) définies. + +Avec Centreon, la supervision est rendue facile par les éléments suivants : + +- les [modèles d'hôtes](basic-objects/hosts-templates.md) et de [services](basic-objects/services-templates.md), qui permettent de définir des valeurs par défaut afin d’accélérer la création de ces objets. + +- les [connecteurs de supervision](pluginpacks.md), qui fournissent des modèles d'hôtes et de services prêts à l'emploi. Ceux-ci simplifient énormément la configuration des hôtes et des services : par exemple, il suffit d'appliquer les modèles issus d'un connecteur de supervision à un hôte afin de mettre celui-ci en supervision. + +- la [fonctionnalité d'autodécouverte d'hôte et de services](discovery/introduction.md) qui permet d'obtenir une liste des nouveaux hôtes ou services et de les ajouter automatiquement à la liste des ressources supervisées. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/anomaly-detection.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/anomaly-detection.md new file mode 100644 index 000000000000..6cf858e83bc4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/anomaly-detection.md @@ -0,0 +1,358 @@ +--- +id: anomaly-detection +title: Anomaly Detection +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Anomaly Detection est une **extension** Centreon qui requiert une [licence](../administration/licenses.md) +> valide. Pour en acheter une et récupérer les dépôts et le jeton d'accès nécessaires, contactez +> [Centreon](mailto:sales@centreon.com). + +## Description + +Le module **Anomaly Detection** détecte les déviations par rapport au comportement normal d'un service : il permet d'utiliser des seuils dynamiques pour déclencher des alertes. + +Avec la supervision classique, les alertes sont déclenchées à partir de seuils fixes : par exemple, on alerte quand le ping sur un serveur dépasse 700 ms. Cependant, pour certains services, les valeurs "normales" varient au cours du temps, ce qui rend des seuils fixes peu pertinents. Il est possible d'utiliser la détection automatique d'anomalies lorsque le comportement du service est régulier et prévisible : + +![image](../assets/monitoring/anomaly/simple_scheme.png) + +On détermine quelles sont les valeurs normales au cours du temps : la prévision permet de calculer un seuil bas et un seuil élevé. Lorsque le comportement du service dévie du modèle attendu, ces seuils sont dépassés (c'est-à-dire que la métrique descend en-dessous du seuil bas ou dépasse le seuil élevé). Le service passe en statut CRITIQUE et une notification est envoyée. Exemple: un serveur a habituellement peu de trafic la nuit. Une nuit, Centreon détecte des flux réseau plus élevés +que la normale et déclenche une alerte. Cela permet à l'entreprise de se rendre compte d'un piratage. + +### Fonctionnement + +1. Les données collectées sont envoyées à la plateforme SaaS de Centreon. + +2. Centreon calcule un modèle de comportement régulier grâce à l'historique +de ces données. + +3. Une fois le modèle calculé, les prédictions sont générées et récupérées +sur votre plateforme Centreon. + +4. Les prévisions servent de seuils flottants qui sont ensuite utilisés par le +moteur de supervision pour comparer la valeur collectée avec les seuils prévus +pour mettre en évidence les écarts et générer des alertes. Pour ne pas fausser l'analyse, les données reçues pendant les plages de maintenance sont exclues du calcul des prévisions. + +5. Les modèles sont recalculés régulièrement, et les prévisions s'affinent dans le temps. + +## Prérequis + +Pour utiliser **Anomaly Detection**, vous aurez besoin des éléments suivants : + +- Un jeton fourni par Centreon pour accéder à la plateforme SaaS de Centreon, +- Une connexion internet depuis le serveur Centreon central. Le central doit pouvoir dialoguer avec le domaine `api.a.prod.mycentreon.com` sur le port 443. +- La variable d'environnement SHELL [LC_ALL](https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables) ne doit pas être définie ou bien avoir la valeur `C`. Pour vérifier la valeur de cette variable, entrez : + + ``` + echo $LC_ALL + ``` + +## Installation + +### Étape 1 : Installation des paquets + +Exécutez la commande suivante : + + + + +```shell +dnf install centreon-anomaly-detection +``` + + + + +```shell +dnf install centreon-anomaly-detection +``` + + + + +``` shell +apt update && apt install centreon-anomaly-detection +``` + + + + +### Étape 2 : Installation via l'interface + +1. Allez à la page **Administration > Extensions > Gestionnaire**. Une tuile **Anomaly detection** apparaît dans la section **Modules**. + +2. Cliquez sur le bouton d'installation dans la tuile **Anomaly Detection**. + Le module est maintenant installé (le numéro de version apparaît sur fond vert avec une coche blanche). + +3. Exécutez la commande suivante en tant qu'utilisateur privilégié : + + ```shell + systemctl restart gorgoned + ``` + +### Étape 3 : Ajouter votre jeton + +1. Rendez-vous dans le menu **Configuration > Services > Anomaly Detection** et +cliquez sur le bouton **Add Centreon Cloud Token**. + +2. Saisissez votre jeton et cliquez sur **Save**. + + > Si votre serveur Centreon Central a besoin d'une configuration proxy pour + > accéder à Internet, cochez la case **Use proxy**. + + Votre plateforme Centreon est maintenant prête à utiliser la détection +d'anomalies Centreon. + +## Configuration + +Pour obtenir un service Anomaly Detection pleinement fonctionnel, il faut passer par 4 étapes : + +1. [Créer un service de type **Anomaly Detection**](#étape-1--créer-un-service-anomaly-detection). Cela activera l'envoi des données collectées vers la plateforme SaaS de Centreon, + afin de démarrer la modélisation du comportement régulier. +2. [Évaluer la pertinence des prévisions calculées](#étape-2--évaluer-la-pertinence-des-prévisions). +3. Une fois que les modèles semblent corrects, [activer les changements de statut](#étape-3--activer-les-changements-de-statut). +4. Lorsque que les changements de statut semblent pertinents, [activer le processus de notification](#étape-4--activer-le-processus-de-notification). + +### Étape 1 : Créer un service Anomaly Detection + +Vous pouvez créer un service Anomaly Detection manuellement, ou bien [utiliser l'assistant de création](#utiliser-lassistant-de-création). +Pour créer un service Anomaly Detection manuellement : + +1. Allez à la page **Configuration > Services > Anomaly Detection** et +cliquez sur le bouton **Create manually**. + +2. Remplissez les champs suivants : + + - **Description**: nom du service. Les caractères suivants ne sont pas autorisés : `~!$%^&|'"<>?,()=*{}` et les espaces. + - **Statut**: permet d'activer ou désactiver le service. Si vous désactivez un service, après avoir déployé la configuration, celui-ci ne sera plus supervisé (notamment, il n'apparaîtra plus à la page **Statut des ressources**). + - **Select host - service**: définir le couple hôte/service sur lequel le service Anomaly Detection se basera. + - **Select metric** : sélectionnez la métrique sur laquelle appliquer la détection d'anomalie. + - Dans un premier temps, laissez le champ **Enable notifications** à **Désactivé**. (L'option sera activée à l'étape 3.) + - Dans la section **Categories & groups**, vous pouvez sélectionner un [**Niveau de criticité**](../monitoring/categories.md#criticité). + +3. Cliquez sur **Sauvegarder**. + +4. [Déployez la configuration](monitoring-servers/deploying-a-configuration.md). + + - Le service apparaît à la page **Supervision > Statut des ressources**. Pour afficher uniquement les services de type **Anomaly detection**, utilisez le filtre **Type** dans la fenêtre **Options de filtre**. + + - Le calcul du modèle de comportement démarre. Tant qu'un premier calcul n'a pas été effectué et que des prévisions n'ont pas été reçues, le statut du service reste INCONNU. Pour que des prédictions puissent être calculées, il faut disposer d'un minimum de 4h de données. + + - Les premières prévisions apparaîtront dans un délai de 36h maximum. Le service passera alors en statut OK et y restera tant que les alertes ne seront pas activées (étape 3). + + > Si le service sur lequel vous appliquez la détection d'anomalies a été + > supervisé depuis un certain temps, il est possible de [transférer + > l'historique des données](#transférer-lhistorique-des-données) pour obtenir + > plus rapidement un modèle fiable. + +### Étape 2 : Évaluer la pertinence des prévisions + +Dans un premier temps, les prévisions reçues seront peu fiables : Anomaly Detection a besoin de pouvoir identifier plusieurs répétitions de motifs de données avant de mettre en place des prévisions pertinentes. La durée nécessaire varie donc suivant la saisonnalité du service (quotidienne, hebdomadaire...). En règle générale, comptez environ 6 semaines pour obtenir un modèle stable. + +Pour évaluer la pertinence des prévisions, observez le graphe du service à la page **Supervision > Informations de performance > Graphiques**, ou dans l'onglet **Graphique** du panneau de détails du service à la page **Supervision > Statut des ressources**. + +Si vous l'estimez nécessaire (par exemple si vous constatez trop de faux positifs, ou si au contraire les prévisions ne détectent pas assez d'incidents), vous pouvez ajuster manuellement la marge entre la courbe et les seuils. + +1. À la page **Supervision > Statut des ressources**, cliquez sur le service Anomaly Detection désiré, puis rendez vous dans l'onglet **Graphique** du panneau de détails. +2. Cliquez sur l'icône **Modifier les données de détection d'anomalie** (la clé à molette) en haut à droite de l'onglet. Le graphique s'ouvre dans une pop-up. +3. Utilisez le sélecteur dans la section **Gérer la taille de l'enveloppe** pour changer la marge des prédictions : dans l'aperçu, les vérifications situées en-dehors de l'enveloppe sont matérialisées par un point rouge. +4. Cliquez sur **Sauvegarder**. La nouvelle taille d'enveloppe se met en place à partir de ce moment. Attention, l'enveloppe déjà calculée reste telle quelle (le changement n'est donc pas visible immédiatement). + +### Étape 3 : Activer les changements de statut + +Si, en suivant régulièrement le modèle généré et les données du menu +**Supervision > Informations de performance > Graphiques**, vous pensez que votre modèle est +stable, vous pouvez activer les changements de statut. Une fois cette option activée, le statut du service passera à CRITIQUE [SOFT](../alerts-notifications/concepts.md#types-de-statuts) dès que la métrique descendra en-dessous du seuil bas ou dépassera le seuil élevé. + +1. Allez à la page **Configuration > Services > Anomaly Detection** et cliquez sur le service Anomaly Detection désiré. + +2. Dans la section **Alerting options**, activez l'option **Enable change of status**. + +3. Dans le champ **Detect anomalies after**, entrez le nombre de déviations à partir duquel le service passera en CRITIQUE [HARD](../alerts-notifications/concepts.md#types-de-statuts). (Les notifications, une fois activées, ne seront envoyées que lorsque le service passera de SOFT à HARD.) + +4. Cliquez sur **Sauvegarder**. + +5. [Déployez la configuration](monitoring-servers/deploying-a-configuration.md). + +### Étape 4 : Activer le processus de notification + +Lorsque vous êtes satisfait des changements de statut que vous constatez (que ceux-ci correspondent bien à des débuts ou fins d'incidents), alors votre service Anomaly Detection est pleinement opérationnel. Vous pouvez alors activer les notifications. + +1. Allez à la page **Configuration > Services > Anomaly Detection** et +cliquez sur le service Anomaly Detection désiré. + +2. Remplissez les champs suivants : + + - **Enable notification**: sélectionnez **Activé**. + - **Contacts liés** : sélectionnez les contacts qui seront notifiés. + - **Groupes de contacts liés** : sélectionnez des groupes de contacts qui seront notifiés. + - **Intervalle de notification** : définissez la fréquence à laquelle envoyer des notifications une fois que le service est entré en état CRITIQUE HARD et tant qu'il n'a pas été acquitté. La valeur par défaut est **0**, ce qui veut dire qu'une seule notification par changement d'état sera envoyée. + - **Période de notification** : sélectionnez la [période de temps](../monitoring/basic-objects/timeperiods.md) pendant laquelle ces utilisateurs pourront recevoir des notifications. + - **Type de notification** : sélectionnez les types de notification qui seront envoyées (lorsque le service passe en état CRITIQUE, et/ou quand il revient à la normale). + +3. Cliquez sur **Sauvegarder**. + +4. [Déployez la configuration](monitoring-servers/deploying-a-configuration.md). + +### Utiliser l'assistant de création + +L'assistant de création permet de mettre en avant les services +présentant soit une saisonnalité, soit une stabilité régulière (dont les valeurs sont comprises en permanence entre deux bornes). + +Rendez-vous dans le menu **Configuration > Services > Anomaly Detection** et +cliquez sur **Create from analysis**. + +La liste des services existant de votre plateforme Centreon est affichée ainsi +qu'un score en nombre d'étoiles : de 5 étoiles à 0, 5 étoiles représentant les +services à fort potentiel : + +![image](../assets/monitoring/anomaly/configure_analysis_01.png) + +Après avoir sélectionné un service intéressant, cliquez sur le bouton **ADD** à +gauche de la ligne. Vous arrivez sur le formulaire de création pré-rempli : + +![image](../assets/monitoring/anomaly/configure_analysis_02.png) + +Modifez le nom du service puis cliquez sur le bouton **Sauvegarder**. + +> Si la liste est vide, c'est que le calcul afin de déterminer les services +> intéressants n'a pas encore démarré. +> +> Celui-ci est réalisé toutes les 6 heures via un cron lancé par le processus +> **gorgoned** (défini dans le fichier **/etc/centreon-gorgone/config.d/cron.d/42-anomalydetection.yaml**). +> +> Il est possible de lancer le premier calcul manuellement via la commande +> suivante depuis le serveur Centreon central : +> +> ```shell +> su - centreon +> perl /usr/share/centreon/bin/anomaly_detection --seasonality +> ``` + +## Visualiser les anomalies détectées + +Une fois un service de type Anomaly Detection créé, vous pouvez le visualiser aux endroits suivants : + +- À la page **Supervision > Statut des ressources**. +- À la page **Supervision > Détails des statuts > Services**. +- À la page **Supervision > Informations de performance > Graphiques**. +- À la page **Supervision > Journaux d'évènements**. +- Dans le widget **service-monitoring** via le menu **Accueil > Vues personnalisées**. +- Vous pouvez utiliser des services Anomaly Detection comme indicateurs dans [Centreon BAM](../service-mapping/ba-management.md). +- Et tous les menus où vous pouvez opérer sur les services. + +## Transférer l'historique des données + +> L'envoi de l'historique des données est un processus très consommateur de CPU. +> Selon le nombre de services surveillés, l'extraction des données de la base de +> données **centreon\_storage** peut prendre plusieurs dizaines de minutes. Cela +> aura un impact important sur les performances de la base de données et +> pourrait ralentir globalement la plateforme de supervision. + +Pour être en mesure d'envoyer les données d'un service Anomaly Detection, un premier contrôle doit avoir été effectué. Vous pouvez [exécuter un contrôle sur le service depuis la page **Statut des ressources**](../alerts-notifications/resources-status.md#relancer-un-contrôle). + +Pour envoyer l'historique des données d'un service d'anomalie à notre plateforme SaaS, connectez-vous à +votre serveur Centreon Central et accédez à l'utilisateur **centreon**: + +```shell +su - centreon +``` + +Sélectionnez le service d'anomalie à l'aide de la commande suivante : + +```shell +/usr/share/centreon/bin/anomaly_detection --list-services +``` + +Vous verrez la liste des services avec leur identifiant : + +```shell +List of available anomaly detection services: + +- id: 14, hostname: fw-beijing, servicename: anomaly-nbr-connect, metric name: connection +- id: 15, hostname: fw-brasilia, servicename: anomaly-nbr-connect, metric name: connection +- id: 17, hostname: fw-mexico, servicename: anomaly-nbr-connect, metric name: connection +- id: 18, hostname: fw-berlin, servicename: anomaly-nbr-connect, metric name: connection +- id: 22, hostname: fw-brasilia, servicename: anomaly-traffic-in, metric name: traffic_in +``` + +Pour envoyer l'historique des données du service d'anomalies avec l'ID 14 pour +les 4 dernières semaines, exécutez la commande suivante : + +```shell +/usr/share/centreon/bin/anomaly_detection --send-history 14 --history-period 4w +``` + +Attendez la fin du processus : + +```shell +Sending data from 2020-03-09T09:32:31 to 2020-03-10T00:00:00 +Sending data from 2020-03-10T00:00:00 to 2020-03-11T00:00:00 +Sending data from 2020-03-11T00:00:00 to 2020-03-12T00:00:00 +Sending data from 2020-03-12T00:00:00 to 2020-03-13T00:00:00 +Sending data from 2020-03-13T00:00:00 to 2020-03-14T00:00:00 +Sending data from 2020-03-14T00:00:00 to 2020-03-15T00:00:00 +Sending data from 2020-03-15T00:00:00 to 2020-03-16T00:00:00 +Sending data from 2020-03-16T00:00:00 to 2020-03-17T00:00:00 +Sending data from 2020-03-17T00:00:00 to 2020-03-18T00:00:00 +Sending data from 2020-03-18T00:00:00 to 2020-03-19T00:00:00 +Sending data from 2020-03-19T00:00:00 to 2020-03-20T00:00:00 +Sending data from 2020-03-20T00:00:00 to 2020-03-21T00:00:00 +Sending data from 2020-03-21T00:00:00 to 2020-03-22T00:00:00 +Sending data from 2020-03-22T00:00:00 to 2020-03-23T00:00:00 +Sending data from 2020-03-23T00:00:00 to 2020-03-24T00:00:00 +Sending data from 2020-03-24T00:00:00 to 2020-03-25T00:00:00 +Sending data from 2020-03-25T00:00:00 to 2020-03-26T00:00:00 +Sending data from 2020-03-26T00:00:00 to 2020-03-27T00:00:00 +Sending data from 2020-03-27T00:00:00 to 2020-03-28T00:00:00 +Sending data from 2020-03-28T00:00:00 to 2020-03-29T00:00:00 +Sending data from 2020-03-29T00:00:00 to 2020-03-30T00:00:00 +Sending data from 2020-03-30T00:00:00 to 2020-03-31T00:00:00 +Sending data from 2020-03-31T00:00:00 to 2020-04-01T00:00:00 +Sending data from 2020-04-01T00:00:00 to 2020-04-02T00:00:00 +Sending data from 2020-04-02T00:00:00 to 2020-04-03T00:00:00 +Sending data from 2020-04-03T00:00:00 to 2020-04-04T00:00:00 +Sending data from 2020-04-04T00:00:00 to 2020-04-05T00:00:00 +Sending data from 2020-04-05T00:00:00 to 2020-04-06T00:00:00 +``` + +## FAQ + +### Combien de temps les données sont-elles hébergées ? + +Les données sont conservées pendant toute la validité de la licence. Elles permettront de recalculer les modèles si +nécessaire. Un délai supplémentaire de 3 mois sera ajouté à la fin de la validité de la licence avant la suppression +de ces dernières. + +### Quelles données sont hébergées par le service ? + +Les données hébergées par le service de détection d'anomalies ne concernent que les données liées aux services créés +par l'utilisateur. Elles comprennent la date et l'heure du contrôle, l'identifiant de la ressource surveillée, +l'identifiant de l'indicateur associé, le nom des données de performance sur lesquelles les calculs seront effectués +ainsi que la valeur des données de performance. + +### Comment l’envoi et le stockage de mes données sont-ils protégés? + +L’envoi de données à notre infrastructure Cloud ne comporte aucun risque. +Les données sont chiffrées de bout en bout. Les données collectées ne contiennent que des métriques et +quelques identifiants Centreon (nom d’hôte, nom de service). Notre environnement est protégé par AWS Web +Application Firewall et AWS Shields pour prévenir les attaques DDoS. Notre architecture a été revue par les +architectes AWS (AWS Foundational Technical Review) et nous sommes un partenaire qualifié d’AWS. + +### Quel est l'usage des données ? + +Les données sont utilisées pour calculer des modèles de comportement. À partir de ces modèles seront générées des +prédictions utilisées comme seuils flottants par la plateforme Centreon. + +### Qui a accès aux données hébergées par le service ? + +Les données sont associées au jeton d'accès de l'offre de détection d'anomalies. Elles sont hébergés sur la plateforme +Centreon SaaS et partitionnées par plateforme. Un utilisateur avec un jeton n'a accès qu'à ses propres données. + +### Comment puis-je demander la suppression des données ? + +La suppression des données peut être demandée à tout moment. Cependant, l'historique des données est utilisé pour +créer un modèle afin de calculer les seuils flottants. Par conséquent, la participation au programme ou l'abonnement à +l'offre sera impossible. +Une demande par mail doit être faite via l'interface de support professionnel Centreon. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/categories.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/categories.md new file mode 100644 index 000000000000..1bb646a36418 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/categories.md @@ -0,0 +1,39 @@ +--- +id: categories +title: Catégories +--- + +### Les catégories + +D’une manière générale, les catégories servent soit à définir un niveau de criticité pour un hôte ou un service, soit à +regrouper techniquement un ensemble d’objets (services liés à une exécution de requête sur un SGBD MariaDB, ...). La +bonne pratique demande à ce qu’on regroupe des hôtes ou des services au sein de catégories pour pouvoir faciliter le +filtrage de ces objets au sein d’ACL. Les catégories sont également utilisées pour définir des types d’objets au sein +du module Centreon MAP ou pour classer les objets au sein de sous-groupes dans le module Centreon BI. + +### Les catégories d’hôtes + +Rendez-vous dans le menu **Configuration > Hosts > Categories** et cliquez sur **Add**. + +![image](../assets/configuration/08hostcategory.png) + +* Les champs **Host Category Name** et **Alias** contiennent respectivement le nom et l’alias de la catégorie d’hôte. +* La liste **Linked hosts** permet d’ajouter des hôtes à la catégorie. +* Si un modèle d’hôte est ajouté à **Linked host template** alors tous les hôtes qui héritent de ce modèle appartiennent + à cette catégorie. +* La case **Severity type** signifie que la catégorie d’hôtes à un niveau de criticité. +* Les champs **Level** et **Icon** définissent respectivement un niveau de criticité et une icône associée. +* Les champs **Status** et **Comment** permettent d’activer ou de désactiver la catégorie d’hôte et de commenter celle-ci. + +### Les catégories de services + +Rendez-vous dans le menu **Configuration > Services > Categories** et cliquez sur **Add** + +![image](../assets/configuration/08servicecategory.png) + +* Les champs **Name** et **Description** définissent le nom et la description de la catégorie de service. +* Si un modèle de service appartient à **Service Template Descriptions** alors tous les services appartenant à ce modèle + de services font partie de cette catégorie. +* La case **Severity type** ignifie que la catégorie de service à un niveau de criticité. +* Les champs **Level** et **Icon** définissent respectivement un niveau de criticité et une icône associée. +* Le champ **Status** permet d’activer ou de désactiver la catégorie de services. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/commands.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/commands.md new file mode 100644 index 000000000000..a3bb2ff608ac --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/commands.md @@ -0,0 +1,141 @@ +--- +id: commands +title: Les commandes +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Définition + +Une commande est la définition d’une ligne de commande qui utilise un script ou une application afin de réaliser une +action. Il est possible d’exécuter cette commande en précisant des arguments. + +Il existe quatre types de commandes : + +* **Verification** sont utilisées par les ordonnanceurs afin de vérifier le statut d’un hôte ou d’un service +* **Notification** sont utilisées par les ordonnanceurs pour alerter les contacts (via mail, SMS...). +* **Discovery** sont utilisées par les règles de découverte. +* **Miscellaneous** sont utilisées par les modules complémentaires (pour effectuer certaines actions), par + l’ordonnanceur pour le traitement des données... + +Toutes les commandes peuvent être configurées au sein du menu : **Configuration > Commands**. + +![image](../../assets/configuration/04commandlist.png) + +> Par défaut, les commandes verrouillées sont masquées. Cocher la case "Eléments verrouillés" pour les afficher toutes. + +## Ajouter une commande + +1. Rendez-vous dans le menu **Configuration > Commands** +2. Cliquez sur le bouton **Add** + +![image](../../assets/configuration/04command.png) + +> Les champs de configuration d’une commande sont les mêmes qu’importe le type de commande choisi. + +## Les champs de configuration + +* Le champ **command Name** définit le nom de la commande. +* Le champ **Command Type** permet de choisir le type de commande. +* Le champ **Command Line** indique l’application ou le script utilisé avec la commande. +* La case **Enable shell** permet d’activer des fonctions propres à un shell tel que le pipe... +* Le champ **Argument Example** définir des exemples d'arguments (chaque argument commence par un "!") +* Le bouton **Describe arguments** permet d’ajouter une description aux arguments de type “$ARGn$”. Cette description + sera visible lors de l’utilisation de la commande dans un formulaire d’hôte ou de service. +* Le bouton **Clear arguments** efface la description des arguments définie +* Le bouton **Describe macros** permet d’ajouter une description aux macros personalisées. Ces descriptions seront + visibles lors de l’ajout de la commande sur un host ou un service. + +* La liste de sélection **Connectors** permet de lier un connecteur à la commande. Pour davantage d’informations sur + les connecteurs reportez-vous au chapitre [les connecteurs](#les-connecteurs). +* Le champ **Graph template** permet de lier la commande à un modèle de graphique. +* Le champ **Comment** permet de commenter la commande. + +## Arguments et macros + +Au sein du champ **Command Line** il est possible de faire appel à des +*[macros](macros.md)* ainsi qu’à des arguments. + +Les arguments sont utilisés afin de pouvoir passer différents paramètres aux scripts appelés par les commandes. Lors de +l’exécution de la commande par l’ordonnanceur, chacun des arguments et macros sont remplacés par leur valeur respective. +Chaque macro se présente sous la forme **$valeur$** : + +```shell +$CENTREONPLUGINS$/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=cpu \ +--hostname=$HOSTADDRESS$ --snmp-version='$_HOSTSNMPVERSION$' \ +--snmp-community='$_HOSTSNMPCOMMUNITY$' $_HOSTSNMPEXTRAOPTIONS$ \ +--warning-average='$_SERVICEWARNING$' \ +--critical-average='$_SERVICECRITICAL$' $_SERVICEEXTRAOPTIONS$ +``` + +> La bonne pratique veut que nous remplacions les arguments par des +*[macros personnalisées](macros.md#les-macros-personnalisées)*. + +## Les connecteurs + +### Connecteur SSH + +Le connecteur Centreon SSH Connector est un logiciel Centreon gratuit, disponible sous licence Apache Software License version 2 (ASL 2.0). +Utilisé avec Centreon Engine, il accélère l'exécution des contrôles faits via SSH. + +#### Installation + +Exécutez la commande suivante en tant qu'utilisateur privilégié : + + + + +``` shell +dnf install centreon-connector-ssh +``` + + + + +``` shell +dnf install centreon-connector-ssh +``` + + + + +``` shell +apt install centreon-connector-ssh +``` + + + + +### Perl connector + +Le connecteur Centreon Perl Connector est un logiciel Centreon gratuit, disponible sous licence Apache Software License version 2 (ASL 2.0). +Utilisé avec Centreon Engine, il accélère l'exécution des scripts Perl. + +#### Installation + +Exécutez la commande suivante en tant qu'utilisateur privilégié : + + + + +``` shell +dnf install centreon-connector-perl +``` + + + + +``` shell +dnf install centreon-connector-perl +``` + + + + +``` shell +apt install centreon-connector-perl +``` + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-create.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-create.md new file mode 100644 index 000000000000..4d16d5d68fa8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-create.md @@ -0,0 +1,56 @@ +--- +id: contacts-create +title: Créer des utilisateurs/contacts manuellement +--- + +Pour ajouter un contact, allez à la page **Configuration > Utilisateurs > Contacts/Utilisateurs**, puis cliquez sur **Add**. + +![image](../../assets/configuration/06useradd.png) + +Pour afficher la matrice de notification d’un contact, cliquez sur **View contact notifications** (à côté du menu +**Add**). + +## Onglet Informations générales + +* **Alias/Login** : le login que l'utilisateur entrera pour accéder à l’interface web. +* **Nom complet** : le nom et prénom de l’utilisateur. +* **Mail** et **Bipeur** : contiennent respectivement l’adresse mail et le numéro de téléphone de l’utilisateur, +sur lesquels seront envoyés les alertes (dans le cas d’une notification par SMS ou appel par exemple). Les alertes doivent être activées pour l'utilisateur (voir option **Activer les notifications** ci-dessous). +* **Modèle de contact utilisé** : permet de lier un [modèle de contact](contacts-templates.md) au contact. Le contact héritera des caractéristiques du modèle. Si pour un même champ, le contact et le modèle de contact ont des valeurs différentes, la valeur définie +au niveau du contact prend le pas sur celle définie au niveau du contact. +* **Lié avec le groupe de contacts** : associe le contact à un ou plusieurs groupes de contacts. +* **Activer les notifications** : permet d’activer l’envoi de [notifications](../../alerts-notifications/notif-configuration.md) à l’utilisateur. +* **Options de notification d'hôte/de service** : permet de définir les statuts des hôtes ou des services pour + lesquels des notifications seront envoyées. +* **Période de notification d'hôte/de service** : permet de choisir la [période temporelle](timeperiods.md) pendant laquelle +les notifications pourront être envoyées. En-dehors de ces périodes de temps, l'utilisateur ne recevra aucune notification. +* **Commandes de notification d'hôte/de service** : permet de choisir la façon dont laquelle les notifications seront envoyées à l'utilisateur pour un hôte ou pour un service. + +## Onglet Authentification Centreon + +* **Autoriser l'utilisateur à se connecter à l'interface web** : permet d’autoriser l’utilisateur à accéder à l’interface web de Centreon. +* **Mot de passe** et **Confirmation du mot de passe** : contiennent le mot de passe de l'utilisateur. +* **Langue par défaut** permet de définir la langue de l’interface Centreon pour cet utilisateur. +* **Administrateur** définit si cet utilisateur est administrateur de la plateforme de supervision ou non. Un administrateur a tous les droits (lecture, écriture) et peut accéder à toutes les pages de l'interface. +* **Clé d'auto-connexion** : permet de définir une clé de connexion pour l’utilisateur. L’utilisateur n’aura plus + besoin d’entrer son login et mot de passe mais utilisera directement cette clé pour se connecter. Syntaxe de connexion : + + ```url + http://[IP_DU_SERVER_CENTRAL]/index.php?autologin=1&useralias=[login_user]&token=[value_autologin] + ``` + + > La possibilité de connexion automatique (auto login) doit être activée dans le menu : **Administration > Options**. + +* Le champ **Source d'authentification** spécifie si les informations de connexion proviennent d’un annuaire LDAP ou + d’informations stockées localement sur le serveur. +* Le champ **Groupes de liste d'accès** permet de définir un groupe d’accès pour un utilisateur, groupe utilisé pour les + contrôles d’accès (ACL). + + > Un utilisateur Administrateur a tous les droits et les règles de contrôle d’accès ne s'appliquent pas à lui, même si vous l'incluez dans un groupe d’accès. + +## Onglet Informations supplémentaires + +* **Adresse** : permet de spécifier des informations de contacts supplémentaires (autre mail, autre numéro + de téléphone...). +* **Statut** : permet d’activer ou de désactiver le contact. Un contact désactivé ne recevra plus aucune notification et ne pourra plus se connecter à l'interface de Centreon. +* **Commentaires** diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-groups.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-groups.md new file mode 100644 index 000000000000..e66cacf25bdc --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-groups.md @@ -0,0 +1,28 @@ +--- +id: contacts-groups +title: Utiliser des groupes de contacts +--- + +### Les groupes de contacts + +Les groupes de contacts sont utilisés pour pouvoir notifier des contacts : + +* Lors de la définition d’un hôte ou d’un service +* Lors de la définition d’une escalade de notifications + +De plus, les groupes de contacts sont également utilisés lors de la définition d’un [groupe d’accès](../../administration/access-control-lists.md#créer-un-groupe-daccès). + +Par conséquent, il est nécessaire de regrouper les contacts d’une manière logique. La plupart du temps, ils sont regroupés +suivant leurs rôles au sein du système d’information. Exemple : DSI, Administrateurs Windows, Administrateurs Linux, +Responsable de l’application de gestion de la paie... + +## Créer un groupe de contacts + +Rendez-vous dans le menu **Configuration > Users > Contact Groups** et cliquez sur **Add**. + +![image](../../assets/configuration/07contactgroup.png) + +* Les champs **Contact Group Name** et **Alias** définissent le nom et la description du groupe de contacts. +* La liste **Linked Contacts** permet d’ajouter les contacts au groupe de contacts. +* Les champs **Status** et **Comment** permettent d’activer ou de désactiver le groupe de contacts et de commenter + celui-ci. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-templates.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-templates.md new file mode 100644 index 000000000000..dfc38af4d955 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts-templates.md @@ -0,0 +1,23 @@ +--- +id: contacts-templates +title: Utiliser des modèles de contacts +--- + +## Les modèles de contacts + +Un contact ou un modèle de contact peut hériter d’un seul modèle de contact. + +![image](../../assets/configuration/09contactmodel.png) + +### Configuration + +Pour ajouter un modèle de contacts : + +Rendez-vous dans le menu **Configuration > Utilisateurs > Modèles de contact** et +cliquez sur le bouton **Ajouter**. + +Se rapporter au chapitre de configuration des [contacts](contacts-create.md). + +> Les modèles de contacts +> sont utilisés pour l’import automatique de profils via un annuaire +> [LDAP](../../administration/parameters/ldap.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts.md new file mode 100644 index 000000000000..7845c2f0b343 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/contacts.md @@ -0,0 +1,29 @@ +--- +id: contacts +title: Les utilisateurs/contacts +--- + +Dans Centreon, les utilisateurs/contacts peuvent : + +- Recevoir des [notifications](../../alerts-notifications/notif-configuration.md). +- Se connecter à l’interface web de Centreon : chaque contact dispose de ses propres [droits](../../administration/access-control-lists.md) afin de se connecter à l’interface web. +- [Personnaliser l'utilisation de Centreon](./customization.md) : + - Passer en mode sombre. + - Changer la langue de l'interface utilisateur. + - Réinitialiser le mot de passe. + - Définir une page par défaut après connexion. + - Afficher la page en mode plein écran (F). + +Ces procédures permettent de gérer les utilisateurs : + +- [Créer des utilisateurs/contacts manuellement](contacts-create.md). +- [Connecter votre Centreon à un annuaire LDAP](../../administration/parameters/ldap.md). + +## Débloquer les utilisateurs + +L'accès à Centreon est bloqué pour un utilisateur qui échoue plusieurs fois pour se connecter (le nombre de tentatives est fixé par l'administrateur). Dès qu'un utilisateur est bloqué, une nouvelle colonne nommée **Débloquer** apparaît dans la page **Configuration > Utilisateurs > Contacts / Utilisateurs**, et vous pouvez voir un cadenas rouge au niveau de l'utilisateur bloqué. + +1. Cliquez sur le cadenas rouge. +2. Confirmez l'action. + +L'utilisateur est maintenant débloqué et peut à nouveau se connecter à Centreon. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/customization.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/customization.md new file mode 100644 index 000000000000..bf9926ee0dd6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/customization.md @@ -0,0 +1,146 @@ +--- +id: customization +title: Changer les paramètres de votre compte Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Vous pouvez optimiser votre utilisation de Centreon en profitant des fonctionnalités de personnalisation suivantes : + +## Passer en mode sombre + +Lors de votre première connexion, l'interface Centreon s'affiche en mode clair par défaut. + +Dans le bandeau supérieur, cliquez sur l'icône profil et utilisez le bouton pour activer le mode sombre. Lorsque vous vous reconnecterez, le mode que vous avez sélectionné précédemment restera activé. + +- Mode clair : + +![image](../../assets/getting-started/light_mode_switch.png) + +- Mode sombre : + +![image](../../assets/getting-started/dark_mode_switch.png) + +## Changer la langue de l'interface utilisateur + +Dans le bandeau, cliquez sur l'icône profil, puis cliquez sur **Editer Le Profil**: + +![image](../../assets/getting-started/change_language_1.png) + +Dans la liste de sélection des langues, sélectionnez la vôtre : + +![image](../../assets/getting-started/change_language_2.png) + +Puis cliquez sur **Sauvegarder**. Votre interface est maintenant traduite dans votre +langue. + +> Si votre langue n'apparaît pas dans la liste, vous pouvez aider la communauté Centreon à traduire l'interface web. +> Rendez-vous dans le chapitre [Comment traduire Centreon](../../developer/developer-translate-centreon.md) pour plus d'informations. + +## Réinitialiser le mot de passe + +Seuls les comptes locaux peuvent changer leur mot de passe via l'interface Centreon. Si vous vous connectez via un fournisseur d'identité, votre mot de passe est celui défini auprès du fournisseur d'identité. + +### Réinitialiser votre mot de passe avant expiration + +Lorsque votre mot de passe va expirer dans les 7 prochains jours, un point orange apparaît dans le +bandeau à droite à côté de l'icône de profil : + +![image](../../assets/administration/password_will_expire.png) + +Cliquez sur **Editer le profil**, puis modifiez votre mot de passe : + +![image](../../assets/administration/password_expiration.png) + +### Réinitialiser votre mot de passe après expiration + +Si vous n'avez pas changé votre mot de passe avant son expiration, après connexion vous serez redirigé vers une page dédiée où vous pourrez le mettre à jour : + +![image](../../assets/administration/password_expired.png) + +Entrez votre mot de passe actuel, définissez-en un nouveau puis cliquez sur **Réinitialiser le mot de passe**. + +## Définir une page par défaut après connexion + +Vous pouvez configurer la page qui sera affichée par défaut lorsque vous vous connectez à l'interface, au niveau de l'utilisateur ou au niveau du modèle de contact. Vous pouvez effectuer cette procédure soit à partir de l'interface, soit à l'aide de commandes CLAPI. + +### À partir de l'interface + +Suivez cette procédure pour définir une page par défaut : + + + + + 1. Allez à la page **Configuration > Utilisateurs > Contacts/Utilisateurs**. + + 2. Sélectionnez l'utilisateur souhaité et cliquez sur l'onglet **Authentification Centreon**. + + 3. Dans le champ **Page par défaut**, sélectionnez le nom de la page dans la liste déroulante. Puis enregistrez vos modifications. + + + + + 1. Allez à la page **Configuration > Utilisateurs > Modèles de contact**. + + 2. Sélectionnez un modèle ou cliquez sur le bouton **Ajouter** pour remplir le formulaire **Ajouter un modèle utilisateur**. + + 3. Dans le champ **Page par défaut**, sélectionnez le nom de la page dans la liste déroulante. Puis enregistrez vos modifications. + + Les utilisateurs créés à partir de ce modèle verront cette page par défaut lorsqu'ils se connecteront. + + + + +### Avec commandes CLAPI + +> Vous devez d'abord obtenir le numéro de la "page topologique" associée à la page par défaut de l'interface. Dans cet exemple, nous devons obtenir le numéro associé à la page Statut des ressources. + +1. Depuis votre terminal, connectez-vous à **MariaDB/MySQL** et exécutez la commande suivante : + + ```shell + use centreon ; + ``` + +2. Récupérez le numéro de la "page topologique" pour la page Statut des ressources : + + ```shell + SELECT topology_page FROM topology WHERE topology_name = "Resources Status"; + ``` + + Vous devez obtenir le résultat suivant : + + ```shell + +---------------+ + | topology_page | + +---------------+ + | 200 | + ``` + +3. Suivez ensuite cette procédure pour définir une page par défaut. Exécutez ces commandes avec vos identifiants personnalisés : + + + + +- En modifiant un utilisateur existant (où `200` est le numéro associé à la page Statut des ressources) : + +```shell +centreon -u admin -p 'centreon' -o contact -a setparam -v "contact alias;default_page;200" +``` + +- En ajoutant un nouvel utilisateur (où `200` est le numéro associé à la page Statut des ressources) : + +```shell +centreon -u admin -p 'centreon' -o CONTACT -a ADD -v "user;user;user@mail.com;mypassword;1;1;en_US;local;200" +``` + + + + +Où `200` est le numéro associé à la page Statut des ressources : + +```shell +centreon -u Admin -p 'centreon' -o CONTACTTPL -a ADD -v "new_template;new_template;user@mail.com;mypassword;1;1;en_US;local;200" +``` + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md new file mode 100644 index 000000000000..024a90991fe2 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md @@ -0,0 +1,10 @@ +--- +id: hosts-create-disco +title: Créer des hôtes automatiquement +--- + +Utilisez la [fonctionnalité de découverte automatique d'hôtes](../discovery/introduction.md) pour [détecter des hôtes et les créer automatiquement](../discovery/hosts-discovery.md) dans Centreon. + +L'autodécouverte se fait via des [connecteurs de supervision](../pluginpacks.md). + +La fonctionnalité d'autodécouverte demande une [licence](../../administration/licenses.md) valide. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create.md new file mode 100644 index 000000000000..f2668a40476c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-create.md @@ -0,0 +1,30 @@ +--- +id: hosts-create +title: Mettre un hôte en supervision +--- + +Un hôte est toute entité possédant une adresse IP correspondant à une ressource du système d’informations. Exemples : Un +serveur, une imprimante réseau, un serveur NAS, une base de données, une sonde de température, une caméra IP... + +La liste des hôtes apparaît à la page **Configuration > Hôtes > Hôtes**. + +Vous pouvez : +- [créer des hôtes manuellement](hosts.md), en utilisant des [modèles d'hôtes](hosts-templates.md) +- utiliser la [fonctionnalité de découverte automatique d'hôtes](../discovery/introduction.md). + +## Mettre un hôte en supervision + +Pour mettre un hôte en supervision, le plus simple est de lui attribuer un [modèle](hosts-templates.md) issu d'un [connecteur de supervision](../pluginpacks.md) : + +1. Pour connaître le nom du modèle correspondant à un connecteur de supervision, allez à la page **Configuration > Gestionnaire de connecteurs de supervision**. Recherchez le connecteur de supervision désiré, puis cliquez sur l'icône "i" en bas à gauche de celui-ci. + + ![image](../../assets/configuration/pluginpacks/doc.png) + + La documentation correspondant au connecteur de supervision s'ouvre : elle vous indiquera le nom exact du modèle associé au connecteur de supervision. + +2. Créez l'hôte : + + - [manuellement](hosts.md) : dans le champ **Modèles**, choisissez le modèle correspondant au connecteur de supervision désiré. + - par [autodécouverte](../discovery/hosts-discovery.md) : le connecteur de supervision sera automatiquement renseigné. + +3. [Déployez](../monitoring-servers/deploying-a-configuration.md) la configuration. L'hôte et ses services sont maintenant supervisés : ils apparaissent à la page [Statut des ressources](../../alerts-notifications/resources-status.md). \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md new file mode 100644 index 000000000000..4f328abd2a82 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md @@ -0,0 +1,26 @@ +--- +id: hosts-switch-poller +title: Modifier le serveur de supervision pour un hôte +--- + +Si vous voulez modifier le serveur de supervision qui supervise un hôte, vous devez éditer la configuration de l'hôte, puis déployer la configuration de l'ancien et du nouveau serveur de supervision. + +## Modification pour un hôte + +1. À la page **Configuration > Hôtes > Hôtes**, cliquez sur l'hôte dont vous voulez changer le serveur de supervision. + +2. Dans l'onglet **Configuration de l'hôte**, dans la section **Information de base sur l'hôte**, mettez à jour le champ **Serveur de supervision**. + +3. [Déployez la configuration](../monitoring-servers/deploying-a-configuration.md) de l'ancien serveur de supervision et du nouveau. + +## Modification pour plusieurs hôtes + +Si vous voulez définir le même serveur de supervision pour plusieurs hôtes : + +1. À la page **Configuration > Hôtes > Hôtes**, sélectionnez tous les hôtes que vous voulez modifier. + +2. Dans le menu **Plus d'actions**, sélectionnez **Changement massif**. + +3. Dans l'onglet **Configuration de l'hôte**, dans la section **Information de base sur l'hôte**, mettez à jour le champ **Serveur de supervision**. + +4. [Déployez la configuration](../monitoring-servers/deploying-a-configuration.md) des anciens serveurs de supervision et du nouveau. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-templates.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-templates.md new file mode 100644 index 000000000000..fde29f6ac84f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts-templates.md @@ -0,0 +1,60 @@ +--- +id: hosts-templates +title: Utiliser des modèles d'hôtes +--- + +Un modèle est une pré-configuration de paramètres d’un objet qui pourra être +utilisé pour configurer ce dernier. Le principal avantage est de pouvoir définir +des valeurs par défaut pour certains objets afin d’accélérer la création +d’objets similaires. + +Un modèle peut hériter des propriétés d’un autre modèle. + +Les modèles issus de connecteurs de supervision permettent de mettre facilement un hôte en supervision +car ils fournissent les [commandes](commands.md) de vérification appropriées. + +## Héritage + +Un hôte ou un modèle d’hôte peut hériter d’un ou plusieurs modèles d’hôtes. Cet +héritage peut être : + + - de type associatif (addition de plusieurs modèles d’hôte) + - de type père-fils + +### Héritage de type Père-Fils + +Il s’agit d’une prédéfinition de paramètres à “n” niveaux. L’objet hérite de son +modèle qui peut lui même hériter de son modèle. Si le fils redéfinit un +paramètre, ce dernier écrase celui défini dans les modèles de niveaux +supérieurs. Sinon, il vient compléter le paramétrage. + +### Héritage de type associatif + +Il s’agit d’additionner plusieurs modèles au sein d’un même objet afin +d’additionner l’ensemble des paramètres disponibles. Si un hôte hérite de +plusieurs modèles d’hôtes et si un même paramètre est défini sur plusieurs +modèles, alors le modèle d’hôte situé au-dessus des autres modèles est +prioritaire par rapport à ses ascendants. + +![image](../../assets/configuration/09hostmodels.png) + +Le schéma ci-dessous présente un hôte héritant de plusieurs modèles d’hôtes. + +![image](../../assets/configuration/09hostmodelsheritage.png) + +## Configuration + +Pour créer un modèle d’hôtes : + +1. Rendez-vous dans le menu **Configuration > Hôtes > Modèles** et cliquez sur +le bouton **Ajouter**. + +> Rapportez-vous au chapitre de configuration des +> *[hôtes](hosts.md)* pour configurer un modèle car le +> formulaire est identique. + +> Par défaut, les modèles d’hôte verrouillés sont masqués. Cocher la case +> “Eléments verrouillés” pour les afficher tous. + +Lors de la création d’un modèle, seul le nom du modèle est obligatoire. Les +autres attributs sont optionnels. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts.md new file mode 100644 index 000000000000..3fcd169397e0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/hosts.md @@ -0,0 +1,139 @@ +--- +id: hosts +title: Créer un hôte manuellement +--- + +Pour créer un hôte manuellement : + +1. Allez à la page **Configuration > Hôtes > Hôtes**, puis cliquez sur **Ajouter**. +2. Remplissez les différents champs (voir [ci-dessous](#onglet-configuration-de-lhôte)), puis cliquez sur **Sauvegarder**. +3. [Déployez la configuration](../monitoring-servers/deploying-a-configuration.md). + +## Onglet Configuration de l’hôte + +### Information de base sur l'hôte + +* Le champ **Nom** définit le nom d’hôte qui sera utilisé par le moteur de supervision. Les caractères suivants ne sont pas autorisés : `~!$%^&|'"<>?,()=*{}` et les espaces. +* Le champ **Alias** indique l’alias de l’hôte. +* Le champ **Adresse** définit l'adresse IP ou le nom DNS de l’hôte. Le bouton **Résoudre** permet de résoudre le nom de + domaine en interrogeant le serveur DNS configuré sur le serveur central. +* Les champs **Communauté SNMP & Version** contiennent respectivement le nom de la communauté ainsi que la version SNMP. +* Le champ **Serveur de supervision** indique quel est le serveur de supervision chargé de superviser cet hôte. +* Le champ **Fuseau horaire** indique l'emplacement du fuseau horaire des hôtes surveillés. +* Le champ **Modèles** permet d’associer un ou plusieurs modèles d’hôtes à cet objet. + + En cas de conflits de paramètres présents sur plusieurs modèles, le modèle d’hôte au-dessus écrase les propriétés +identiques définies dans modèles d’hôtes en dessous. + + Ce bouton nous permet de changer l'ordre des modèles hôtes ![image](../../assets/configuration/common/move.png#thumbnail2) + Ce bouton sert à supprimer le modèle hôte ![image](../../assets/configuration/common/delete.png#thumbnail2) + +* Si la case **Créer aussi les services liés aux modèles** est définit à **Oui**, Centreon génère automatiquement les + services en se basant sur les modèles de services liés aux modèles d’hôtes définis au-dessus + (voir chapitre Les *[modèles](../templates.md)*). + +### Options de contrôle de l'hôte + +* Le champ **Commande de vérification** indique la commande utilisée pour vérifier la disponibilité de l’hôte. +* Le champ **Arguments** définit les arguments donnés à la commande de vérification (chaque argument commence avec un ”!”). + +* Section **Macros personnalisées** : + + * Les champs **Nom** et **Valeur** permettent respectivement de définir le nom et la valeur de la macro. + * La case **Mot de passe** permet de cacher la valeur de la macro. + + Pour réinitialiser la macro avec sa valeur par défaut (définie dans le template) cliquez sur ![image](../../assets/configuration/common/undo.png#thumbnail2) + + Pour afficher la description de la macro, cliquez sur ![image](../../assets/configuration/common/description.png#thumbnail2) + + Pour supprimer la macro, cliquez sur ![image](../../assets/configuration/common/delete.png#thumbnail2) + + Pour changer l’ordre des macros, cliquez sur ![image](../../assets/configuration/common/move.png#thumbnail2) + +### Options d’ordonancement + +* Le champ **Période de contrôle** définit la période temporelle durant laquelle l’ordonnanceur vérifie le statut de l’objet. +* Le champ **Nombre de contrôles avant validation de l'état** définit le nombre de contrôles à effectuer avant de valider le statut de l’hôte : + lorsque le statut est validé, le processus de notification est enclenché. +* Le champ **Intervalle normal de contrôle** est exprimé en minutes. Il définit l’intervalle entre chaque vérification lorsque + le statut de l’hôte est OK. +* Le champ **Intervalle non-régulier de contrôle** est exprimé en minutes. Il définit l’intervalle de validation du statut non-OK de l’hôte. +* Les champs **Contrôle actif activé** et **Contrôle passif activé** activent / désactivent les contrôles actifs et passifs. + +## Onglet Notification + +* Le champ **Notification activée** permet d’activer ou de désactiver les notifications concernant l’objet. +* La liste **Contacts liés** indique les contacts qui recevront les notifications. +* La liste **Groupes de contacts liés** tous les contacts appartenant aux groupes de contacts définis recevront les + notifications. + + Si à la page **Administration > Paramètres > Centreon web**, l'option **Vertical inheritance only** est activée, deux cases supplémentaires apparaissent : + + * Si la case **Contacts hérités additionnels** est cochée, Centreon n'écrase pas la configuration du parent modèle d'hôte + mais ajoute les contacts en plus des contacts définis dans le modèle parent. + * Si la case **Groupes de contacts hérités additionnels** est cochée, Centreon n'écrase pas la configuration du parent modèle d'hôte + mais ajoute les contacts en plus des groupes de contacts définis dans le modèle parent. + +* Le champ **Options de notifications** définit les statuts pour lesquels une notification sera envoyée. +* Le champ **Intervalle de notification** est exprimé en minutes. Il indique la durée entre chaque envoi de notification + lorsque le statut est non-OK. Si la valeur est définie à 0 alors l’ordonnanceur envoie une seule notification par + changement de statut. +* Le champ **Période de notification** indique la période temporelle durant laquelle les notifications seront activées. +* Le champ **Délai de première notification** est exprimé en minutes. Il fait référence au délai à respecter avant l’envoi + d’une première notification lorsqu’un statut non-OK est validé. +* Le champ **Délai de première notification de recouvrement** est le temps qui doit s'écouler avant qu'une notification de type **Récupération** soit envoyée (lorsque l'hôte revient à un état DISPONIBLE). + +## Onglet Relations + +* Le champ **Groupes d'hôtes** définit les groupes d’hôtes auxquels l’hôte appartient. +* Le champ **Catégories d'hôte** définit les catégories auxquelles l’hôte appartient. +* La liste **Hôtes parents** permet de définir les relations physiques de parenté entre objet. +* La liste **Hôtes enfants** permet de définir les relations physiques de parenté entre objet. + +## Onglet Traitement des données + +* Si le **Obsess Over Host** est activé, alors la commande de remontée des contrôles de l’hôte sera activée. +* Le champ **Check Freshness** permet d’activer ou de désactiver le contrôle de fraîcheur du résultat. +* Le champ **Freshness Threshold** est exprimé en secondes. Si durant cette période aucune demande de changement de + statut de l’hôte (commande passive) n’a été reçue alors la commande de vérification active est exécutée. +* Le champ **Flap Detection Enabled** permet d’activer ou de désactiver la détection du bagotage des statuts (statut + changeant trop fréquemment de valeur sur une période donnée). +* Les champs **Low Flap Threshold** et **High Flap Threshold** définissent les seuils hauts et bas pour la détection du + bagotage en pourcentage de changement de statuts. +* Les champs **Retain Status Information** et **Retain Non Status Information** indiquent si les informations concernant + ou non le statut sont sauvegardées après chaque relance de la commande de vérification. +* Le champ **Stalking Options** définit les options à enregistrer si la rétention est activée. +* Le champ **Event Handler Enabled** permet d’activer ou de désactiver le gestionnaire d’évènements. +* Le champ **Event Handler** définit la commande à exécuter si le gestionnaire d’évènements est activé. +* Le champ **Args** définit les arguments de la commande du gestionnaire d’évènements. + +## Onglet Informations détaillées de l’hôte + +### Moteur de supervision + +* Le champ **URL de la note** définit une URL qui peut être utilisée pour donner davantage d’informations sur l’hôte. +* Le champ **Note** permet d’ajouter des notes optionnelles concernant l’hôte. +* Le champ **URL d'action** définit une URL habituellement utilisée pour donner des informations d’actions sur l’hôte + (maintenance...). +* Le champ **Icône** indique l’icône à utiliser pour l’hôte. +* Le champ **Icône alternative** est le texte utilisé si l’icône ne peut être affichée. +* Le champ **Criticité d'hôte** indique le niveau de criticité de l’hôte. +* Le champ **Image de la carte des états** défini le logo du module Centreon Map. +* Le champ **Coordonnées géographiques** définit les coordonnées géographiques utilisées par le module Centreon Map pour positionner + l'élément sur la carte. Définissez "Latitude, Longitude", par exemple pour le jeu de coordonnées de Paris "48.51,2.20" + +Les champs présentés ci-dessous sont obsolètes : + +* **Coordonnées 2D** +* **Coordonnées 3D** + +### Groupes d'accès + +* Le champ **ACL Resource Groups** (seulement visible pour les utilisateurs non administrateurs), permet de lier l’hôte + à un groupe d’hôtes afin de pouvoir visualiser ce dernier (voir le chapitre sur + *[les listes de contrôles d'accès](../../administration/access-control-lists.md)*). + +### Informations supplémentaires + +* Le champ **Activer/désactiver la ressource** permet d’activer ou de désactiver l’hôte. +* Le champ **Commentaires** permet d’ajouter un commentaire concernant l’hôte. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/macros.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/macros.md new file mode 100644 index 000000000000..e54d8cce8baa --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/macros.md @@ -0,0 +1,103 @@ +--- +id: macros +title: Les macros +--- + +Une macro est une variable permettant de récupérer certaines valeurs. Une macro commence et se termine toujours par le +signe "$". + +## Les macros standards + +Les macros standards sont des macros prédéfinies dans le code source des moteurs de supervision. Ces différentes macros +permettent de récupérer la valeur de différents objets au sein des commandes. + +Exemple : + +* La macro **$HOSTADDRESS$** permet de récupérer l’adresse IP d’un hôte +* La macro **$CONTACTEMAIL$** permet de récupérer l’adresse mail du contact + +> La liste complète des macros est disponible à cette *[adresse](https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macrolist.html)*. + +## Les macros personnalisées + +### Définition + +Les macros personnalisées sont des macros définies par l’utilisateur lors de la création d’un hôte ou d’un service. +Elles sont utilisées dans les commandes de vérifications. Les macros personnalisées commencent par $_HOST pour les +macros personnalisées d’hôtes et par $_SERVICE pour les macros personnalisées de services. + +Il y a plusieurs avantages à utiliser les macros personnalisées à la place des arguments : + +* La fonction de la macro est définie dans le nom de celle-ci. La macro $_HOSTMOTDEPASSEINTRANET$ est plus facilement + lisible que $ARG1$ +* Les macros héritent des modèles d’hôtes et de services, la modification d’une seule macro est donc possible pour un + hôte ou un service. En revanche, les arguments doivent être tous redéfinis en cas de modification d’un seul argument +* Le nombre d’arguments est limité à 32 contrairement aux macros personnalisées qui sont infinies + +Une macro d’hôte est utilisée pour définir une variable qui est propre à l’hôte et qui ne changera pas qu’importe le +service interrogé : des identifiants de connexion à l’hôte, un port de connexion pour un service particulier, une +communauté SNMP. + +Une macro de service est plutôt utilisée pour définir des paramètres propres à un service : un seuil WARNING/CRITICAL, +une partition à interroger... + +### Exemple + +Lors de la définition d’un hôte, les macros suivantes sont créées : + +![image](../../assets/configuration/01hostmacros.png) + +Pour faire appel à ces macros dans une commande de vérification, il faudra les invoquer en utilisant les variables +suivantes : $_HOSTUSERLOGIN$, $_HOSTUSERPASSWORD$. + +Lors de la définition d’un service, les macros suivantes sont créées : + +![image](../../assets/configuration/01servicemacros.png) + +Pour faire appel à ces macros dans une commande de vérification, il faudra les invoquer en utilisant les variables +suivantes : $_SERVICEPARTITION$, $_SERVICEWARNING$, $_SERVICECRITICAL$. + +### Cas particulier + +Les champs **Community SNMP & Version** présent au sein d’une fiche d’hôte génèrent automatiquement les macros +personnalisées suivantes : $_HOSTSNMPCOMMUNITY$ et $_HOSTSNMPVERSION$. + +## Les macros de ressources + +Les macros de ressources sont des macros globales qui sont utilisées par le moteur de supervision. Ces macros peuvent +être invoquées par n’importe quel type de commande. Elles se présentent sous la forme $USERn$ où ‘n’ est compris entre +1 et 256. + +D’une manière générale, ces macros sont utilisées pour faire référence aux chemins contenant les sondes de supervision. +Par défaut, la macro $USER1$ est créée et sa valeur est la suivante : /usr/lib/nagios/plugins. + +Pour ajouter une macro de ressources : + +* Renez-vous dans le menu **Configuration > Pollers > Resources** +* Cliquez sur le bouton **Add** + +![image](../../assets/configuration/01macrosressources.png) + +* Le champ **Resource Name** définit le nom de la macro de ressources. Exemple : $USER3$ +* Le champ **MACRO Expression** définit la valeur de la macro. +* La liste **Linked Instances** permet de définir quels seront les moteurs de supervision qui pourront accéder à cette + macro. +* Les champs **Status** et **Comment** permettent d’activer/désactiver la macro ou de la commenter. + +## Les macros d’environnement + +Les macros d’environnement (aussi appelées macros “à la demande” ou “on demand” en anglais) permettent de récupérer des +informations à partir de tous les objets issus de la supervision. Elles sont utilisées afin de pouvoir récupérer à un +instant "t" la valeur d’un objet. + +Elles sont complémentaires aux macros standards. Exemple : + +* La macro standard $CONTACTEMAIL$ fait référence à l’adresse email du contact qui utilisera la commande de notification +* La macro d’environnement $CONTACTEMAIL:centreon$ retournera l’adresse email de l’utilisateur "centreon" + +La documentation complète des macros à la demande est disponible à cette *[adresse](https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macros.html)*. + +> L’utilisation de ces macros n’est pas recommandée car la recherche d’une valeur d’un paramètre d’un objet depuis un +> autre objet est consommateur en termes de ressources. + +> L’activation du paramètre **Use large installation tweaks** rend impossible l’utilisation des macros d’environnement. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/meta-services.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/meta-services.md new file mode 100644 index 000000000000..238e363fd22c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/meta-services.md @@ -0,0 +1,110 @@ +--- +id: meta-services +title: Créer des méta-services +--- + +## Definition + +Un méta-service est un service virtuel permettant l’agrégation de métriques issues de différents services au travers +d’une opération mathématique. Les méta-services sont gérés de la même manière qu’un service c’est à dire qu’ils +possèdent des seuils, un processus de notification, génèrent un graphique de performance... + +Exemple : Il est possible de déterminer la consommation totale de trafic WAN en additionnant au sein d’un méta-service +l’ensemble des services supervisant le trafic WAN unitairement. + +### Les types de calcul + +Plusieurs types de calculs sont possibles sur les métriques récupérées : + +* **Average** : réalise la moyenne des données de performances +* **Sum** : réalise la somme des données de performances +* **Min** : récupère le minimum de l’ensemble des données de performances +* **Max** : récupère le maximum de l’ensemble des données de performances + +### Les types de sources de données + +Le résultat du calcul est une donnée de performance (métrique) qui génèrera un graphique de performance. Afin de tracer +au mieux le résultat, il faut sélectionner le type de source de données (par défaut GAUGE). Les types de sources de +données disponibles sont : + +* Le type **GAUGE** enregistre une valeur instantanée (température, humidité, CPU, ...) +* Le type **COUNTER** enregistre une valeur incrémentale par rapport au résultat précédent +* Le type **DRIFT** stockera la dérivée de la ligne allant de la dernière à la valeur courante de la source de données. + Cela peut être utile pour des jauges, par exemple, de mesurer le taux de personnes entrant ou quittant une pièce. +* Le type **ABSOLUTE** est pour les compteurs qui se réinitialisent à la lecture. Il est utilisé pour les compteurs + rapides qui ont tendance à déborder. + +> Plus d’informations sur le site de *[RRDTools](http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en)*. + +## Configuration + +Pour ajouter un méta-service : + +Rendez-vous dans le menu : **Configuration > Services > Meta Services** et cliquez sur le bouton **Add** + +![image](../../assets/configuration/02addmetaservice.png) + +### Informations générales + +* Le champ **Meta Service Name** correspond au nom du méta-service affiché dans l’interface. Les caractères suivants ne sont pas autorisés : `~!$%^&|'"<>?,()=*{}` et les espaces. +* Le champ **Output format string (printf-style)** correspond au message de sortie (‘output’) visible dans Centreon. + La valeur “%d” correspond à la valeur calculée par le méta-service. +* Le champ **Warning level** and **Critical level** correspondent respectivement aux seuils "WARNING" et + "CRITICAL" du méta-service. +* Les champs **Calculation Type** et **Data source Type** correspondent respectivement aux calculs et à la description + de la source de données +* Le champ **Selection Mode** ermet de sélectionner les services contenant les métriques qui entreront dans le calcul + du méta-service. + +Si l'option **Service list** est sélectionnée alors les métriques choisies seront issues de services sélectionnés +manuellement. + +Si l’option **SQL matching** est sélectionnée alors les services utilisés seront sélectionnés automatiquement par +Centreon via une recherche à partir du champ Expression SQL à rechercher de type LIKE. La métrique à utiliser sera dans +ce cas à sélectionner dans la liste déroulante Métrique. + +> Plus d’informations sur le formatage *[PRINTF](http://en.wikipedia.org/wiki/Printf_format_string)*. + +### Etat du Meta Service + +* Le champ **Check Period** définit la période temporelle durant laquelle l’ordonnanceur vérifie le statut du méta-service. +* Le champ **Max Check Attempts** définit le nombre de contrôles à effectuer avant de valider le statut du méta-service + : lorsque le statut est validé, une notification est envoyée. +* Le champ **Normal Check Interval** est exprimé en minutes. Il définit l’intervalle entre chaque vérification lorsque + le statut du méta-service est OK. +* Le champ **Retry Check Interval** est exprimé en minutes. Il définit l’intervalle de validation du statut non-OK du + méta-service. + +### Notification + +* Le champ **Notification Enabled** permet d’activer les notifications. +* Le champ **Linked Contacts Groups** permet de définir les groupes de contacts qui seront alertés. +* Le champ **Notification Interval** est exprimé en minutes et permet de définir l’intervalle de temps entre l’envoi + de deux notifications. +* Le champ **Notification Period** permet de définir la période de notification. +* Le champ **Notification Type** définit les types de notifications envoyées. + +### Informations supplémentaires + +* La liste **Graphic Template** définit le modèle de graphique utilisé par ce méta-service. +* Les champs **Status** et **Comments** permettent d’activer / désactiver ou de commenter le méta-service. + +## Sélectionner manuellement des services + +Si vous avez choisi l’option **Service list**, au sein de l’écran regroupant l’ensemble des méta-services : + +1. Cliquez sur suivant pour sélectionner les métriques entrant en jeu dans le calcul du méta-service. Ces métriques + sont appelées indicateurs. ![image](../../assets/configuration/common/flechedirection.png) +2. Cliquez sur le bouton **Add** + +![image](../../assets/configuration/02metaservicesindicators.png) + +* Le champ **Host** permet de sélectionner l’hôte auquel le service à sélectionner appartient. +* Le champ **Service** permet de choisir le service (première liste) ainsi que la métrique au sein de ce service + (seconde liste). +* Les champs **Status** et **Comment** permettent d’activer / désactiver ou de commenter l’indicateur. + +3. Répétez l’opération jusqu’à avoir ajouté tous les indicateurs nécessaires au calcul du méta-service. + +> Un méta-service est à considérer comme service régulier. Il est nécessaire de générer la configuration de +> l’ordonnanceur central, d’exporter cette dernière puis de redémarrer l’ordonnanceur. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create-disco.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create-disco.md new file mode 100644 index 000000000000..634509e78498 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create-disco.md @@ -0,0 +1,14 @@ +--- +id: services-create-disco +title: Créer des services automatiquement +--- + +Les services peuvent être créés automatiquement de plusieurs façons : + +- Lorsque vous [créez un hôte manuellement](hosts-create.md) en utilisant un [connecteur de supervision](../pluginpacks.md), et que vous cochez la case **Créer aussi les services liés aux modèles**, les services associés à l'hôte sont créés automatiquement. + +- En utilisant la [fonctionnalité de découverte automatique de services](../discovery/introduction.md) pour [détecter des services et les créer automatiquement](../discovery/services-discovery.md) dans Centreon. + + - L'autodécouverte se fait via des [connecteurs de supervision](../pluginpacks.md). + + - La fonctionnalité d'autodécouverte demande une [licence](../../administration/licenses.md) valide. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create.md new file mode 100644 index 000000000000..1ff3f4458fff --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-create.md @@ -0,0 +1,32 @@ +--- +id: services-create +title: Mettre un service en supervision +--- + +Un service est un point de contrôle, ou indicateur, à superviser sur un hôte. Par exemple : pourcentage d’utilisation partition sur un +serveur, niveau d’encre sur une imprimante... + +Pour consulter la liste des services supervisés, allez à la page **Configuration > Services > Services par hôtes**. + +Vous pouvez : + +- [créer un service manuellement](services.md) +- [découvrir des services automatiquement](../discovery/services-discovery.md). + +## Mettre un service en supervision + +1. Créez un service : + + - Utilisez l'[autodécouverte d'hôtes](../discovery/hosts-discovery.md) : celle-ci crée automatiquement les services associés. + + - [Créez un hôte manuellement](hosts.md) en utilisant un [connecteur de supervision](../pluginpacks.md), et cochez la case **Créer aussi les services liés aux modèles** : les services associés à l'hôte sont créés automatiquement. + + - Utilisez [l'autodécouverte de services](../discovery/services-discovery.md). + + - Créez le [service manuellement](services.md) et dans le champ **Modèle**, sélectionnez un [modèle de service](services-templates.md) (issu ou non d'un connecteur de supervision). + + - Créez ou utilisez une [commande](commands.md) de vérification existante, et liez-la à un service [créé manuellement](services.md). + + - Créez un service via [les API](../../api/introduction.md). + +2. [Déployez la configuration](../monitoring-servers/deploying-a-configuration.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-templates.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-templates.md new file mode 100644 index 000000000000..c5885f5a52af --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services-templates.md @@ -0,0 +1,86 @@ +--- +id: services-templates +title: Utiliser des modèles de services +--- + +## Définition + +Un modèle est une pré-configuration de paramètres d’un objet qui pourra être +utilisé pour configurer ce dernier. Le principal avantage est de pouvoir définir +des valeurs par défaut pour certains objets afin d’accélérer la création +d’objets similaires. + +Lors de la création d’un modèle, seul le nom du modèle est obligatoire. Les +autres attributs sont optionnels. + +Les avantages sont : + + - Définition simplifiée des éléments + - Pas de redondance d’information + - Facilité d’ajout de nouvelles ressources + - Configurations prédéfinies assimilées à un « catalogue d’indicateurs» + - Les modèles peuvent hériter d’autres modèles + + +## Modèles de services + +### Inheritance + +Un service ou un modèle de service ne peut hériter que d’un seul modèle de +service (héritage de type Père-Fils). + +![image](../../assets/configuration/09heritageservice.png) + +### Configuration + +Pour ajouter un modèle de services : + +Rendez-vous dans le menu **Configuration > Services > Modèles** et cliquez +sur le bouton **Ajouter** + +> Rapportez-vous au chapitre de configuration des +> *[services](services.md)* pour configurer un modèle car le +> formulaire est identique. + +> Par défaut, les modèles de service verrouillés sont masqués. Cocher la case +> “Eléments verrouillés” pour les afficher tous. + +## Les bonnes pratiques + +### Explications + +La bonne pratique veut que des modèles de services soient associés à des modèles +d’hôtes : lors de la création d’un hôte, les services sont générés +automatiquement à partir des modèles d’hôtes. Il y a deux intérêts à lier les +modèles de services aux modèles d’hôtes : + + - Les services générés automatiquement conservent leur granularité : il est + donc possible de modifier les attributs d’un service sans impacter les + autres services issus de ce modèle + - La création de nouveaux hôtes est grandement accélérée : vous n’avez qu’à + définir l’hôte et les modèles d’hôtes associés à celui-ci + +Exemple : Je créé l’hôte srvi-web-01 selon le modèle ci-dessous : + +![image](../../assets/configuration/09hostexemple.png) + +L’hôte srvi-web-01 possèdera automatiquement les services suivants : + + - Load, CPU, Memory, disk-/ à partir des modèles de services issus du modèle + d’hôte “Linux-Server-RedHat-5” + - broken-jobs, hit-ratio, tablespaces, listener à partir des modèles de + services issus du modèle d’hôte “DB-MySQL” + - processus et connection à partir des modèles de services issus du modèle + d’hôte “Web-Server-Apache” + +Lorsque les services d’un hôte sont générés à partir des modèles d’hôtes, il est +possible que certains services générés ne soient plus ou pas vérifiés par +l’outil de supervision. Dans ce cas, il est nécessaire de désactiver les +services inutilisés (et non de les supprimer). En cas de suppression des +services, la régénération des services de l’hôte à partir des modèles d’hôtes va +recréer les services supprimés. + +### Configuration + +La liaison des modèles de services avec les modèles d’hôtes a lieu dans l’onglet +**Relations** des modèles de services ou des modèles d’hôtes. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services.md new file mode 100644 index 000000000000..7fbb677eefe6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/services.md @@ -0,0 +1,139 @@ +--- +id: services +title: Créer un service manuellement +--- + +Pour créer un service, allez à la page **Configuration > Services > Services par hôtes**, puis cliquez sur **Ajouter**. + +## Configuration du service + +### Onglet Informations générales + +#### Informations sur le service + +* Le champ **Nom** définit le nom du service. Les caractères suivants ne sont pas autorisés : `~!$%^&|'"<>?,()=*{}` et les espaces. +* La liste **Hôtes** permet de définir le ou les hôtes auxquels lier ce service. Il est recommandé de ne lier un service qu'à un seul hôte. +* Le champ **Modèle** indique le modèle de service auquel le service est lié. + +#### Options de contrôle des services + +* Le champ **Commande de vérification** indique la commande utilisée pour vérifier la disponibilité du service. +* **Macros personnalisées** : + * Les champs **Nom** et **Valeur** permettent respectivement de définir le nom et la valeur de la macro. + * La case **Mot de passe** permet de cacher la valeur de la macro. + + Pour réinitialiser la macro avec sa valeur par défaut (définie dans le template) cliquez sur ![image](../../assets/configuration/common/undo.png#thumbnail1) + + Pour afficher la description de la macro, cliquez sur ![image](../../assets/configuration/common/description.png#thumbnail1) + + Pour supprimer la macro, cliquez sur ![image](../../assets/configuration/common/delete.png#thumbnail1) + + Pour déplacer l’ordre des macros, cliquez sur ![image](../../assets/configuration/common/move.png#thumbnail1) +* Le tableau **Arguments** définit les arguments donnés à la commande de vérification (le nombre d’arguments varie en + fonction de la commande de vérification choisie). + +#### Options d'ordonnancement des services + +* Le champ **Période de contrôle** définit la période temporelle durant laquelle l’ordonnanceur vérifie le statut du service. +* Le champ **Nombre de contrôles avant validation de l'état** définit le nombre de contrôles à effectuer avant de valider le statut du service. + Lorsque le statut est validé, le processus de notification est enclenché. +* Le champ **Intervalle normal de contrôle** est exprimé en minutes. Il définit l’intervalle entre chaque vérification lorsque + le statut du service est OK. +* Le champ **Intervalle non-régulier de contrôle** est exprimé en minutes. Il définit l’intervalle de validation du statut non-OK du service. +* Les champs **Contrôle actif activé** et **Contrôle passif activé** activent / désactivent le type de contrôle du service. +* Le champ **Est Volatile** indique si le service est volatile ou non (d’une manière générale uniquement les services + passifs sont volatiles). + +### Onglet Notifications + +* Le champ **Notification activée** permet d’activer ou de désactiver les notifications pour l’objet. +* Si la case **Hériter seulement les contacts/groupes de contacts depuis la définition de l'hôte** est cochée, alors lors de la génération de la + configuration, les contacts et/ou groupes de contacts de l’hôte (ou de ses templates suivant l’héritage) viendront + écraser ceux du service ou de ses modèles de service. Cette fonction désactive la saisie de contacts et groupes de + contacts pour ce service. + +* La liste **Contacts liés** indique les contacts qui recevront les notifications. +* Au sein de la liste **Groupes de contacts liés** tous les contacts appartenant aux groupes de contacts définis recevront + les notifications. + + Si à la page **Administration > Paramètres > Centreon web**, l'option **Vertical inheritance only** est activée, deux cases supplémentaires apparaissent : + + * Si la case **Contacts hérités additionnels** est cochée, Centreon n'écrase pas la configuration du parent modèle d'hôte + mais ajoute les contacts en plus des contacts définis dans le modèle parent. + * Si la case **Groupes de contacts hérités additionnels** est cochée, Centreon n'écrase pas la configuration du parent modèle d'hôte + mais ajoute les contacts en plus des groupes de contacts définis dans le modèle parent. + +* Le champ **Intervalle de notification** est exprimé en minutes. Il indique la durée entre chaque envoi de notification + lorsque le statut est non-OK. Si la valeur est définie à 0 alors l’ordonnanceur envoie une seule notification par + changement de statut. +* Le champ **Période de notification** indique la période temporelle durant laquelle les notifications seront activées. +* Le champ **Type de notification** définissent les statuts pour lesquels une notification sera envoyée. +* Le champ **Délai de première notification** est exprimé en minutes. Il fait référence au délai à respecter avant l’envoi + d’une première notification lorsqu’un statut non-OK est validé. +* Le champ **Délai de première notification de recouvrement** est le temps qui doit s'écouler avant qu'une notification de type **Récupération** soit envoyée (lorsque le service revient à un état OK). + +## Onglet Relations + +### Relations + +* La liste **Groupes de services** permet de lier le service à un ou plusieurs groupes de services. + +### Traps SNMP + +Le champ **Traps SNMP reliés au service** permet de définir les traps SNMP qui pourront modifier le comportement du service. + +## Onglet Traitement des données + +* Si le champ **Obsess over service** est activé, alors la commande de remontée des contrôles de l’hôte sera activée. +* Le champ **Check freshness** permet d’activer ou de désactiver le contrôle de fraîcheur du résultat. +* Le champ **Freshness threshold** est exprimé en secondes. Si durant cette période aucune demande de changement de + statut du service (commande passive) n’a été reçue alors la commande de vérification est exécutée. +* Le champ **Flap Detection Enabled** permet d’activer ou de désactiver la détection du bagotage des statuts (statut + changeant trop fréquemment de valeur sur une période donnée). +* Les champs **Low flap threshold** et **High flap threshold** définissent les seuils hauts et bas pour la détection du + bagotage en pourcentage de changement. +* Le champ **Performance data processing** permet d’activer ou de désactiver le traitement des données de performances + (et donc la génération des graphiques de performances). +* Les champs **Retain status information** et **Retain non status information** indiquent si les informations + concernant ou ne concernant pas le statut sont sauvegardées après chaque relance de la commande de vérification. +* Le champ **Stalking Options** définit les options à enregistrer si la rétention est activée. +* Le champ **Event handler enabled** permet d’activer ou de désactiver le gestionnaire d’évènements. +* Le champ **Event handler** définit la commande à exécuter si le gestionnaire d’évènements est activé. +* Le champ **Args** définit les arguments de la commande du gestionnaire d’évènements. + +## Onglet Informations complémentaires + +### Centreon + +* La liste **Modèle de graphique** définit le modèle de graphique à utiliser pour présenter les données de performances + liées au service. +* La liste **Catégories de service** définit la(les) catégorie(s) à laquelle (auxquelles) le service appartient. + +### Moteur de supervision + +* Le champ **URL de la note** définit une URL qui peut être utilisée pour donner davantage d’informations sur le service. +* Le champ **Note** permet d’ajouter des notes optionnelles concernant le service. +* Le champ **URL d'action** définit une URL habituellement utilisée pour donner des informations d’actions sur le service + (maintenance...). +* Le champ **Icône** indique l’icône à utiliser pour le service. +* Le champ **Icône alternative** est le texte utilisé si l’icône ne peut être affichée. +* Le champ **Criticité du service** indique le niveau de criticité du service. +* Le champ **Coordonnées géographiques** définit les coordonnées géographiques utilisées par le module Centreon Map pour positionner + l'élément sur la carte. Définissez "Latitude, Longitude", par exemple pour le jeu de coordonnées de Paris "48.51,2.20" + +### Informations supplémentaires + +* Le champ **Activer/désactiver la ressource** permet d’activer ou de désactiver le service. +* Le champ **Commentaires** permet d’ajouter un commentaire concernant le service. + +## Détachement d’un service + +Si un service est lié à plusieurs hôtes, alors il sera identique pour chacun d’eux. Il ne sera donc pas possible de +modifier unitairement le service d’un hôte pour modifier une propriété. C’est pourquoi il est possible de transformer +ce service lié à plusieurs hôtes en un service unique pour chaque hôte: + +1. Dans la liste des services, sélectionnez le service lié à plusieurs hôtes (habituellement ce service est surligné en + orange) +2. Dans le menu **More actions...** cliquez sur le bouton **Detach** et validez + +Il existe maintenant un service unique par hôte. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/timeperiods.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/timeperiods.md new file mode 100644 index 000000000000..3b5da06b2d47 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/basic-objects/timeperiods.md @@ -0,0 +1,77 @@ +--- +id: timeperiods +title: Les périodes temporelles +--- + +## Définition + +Une période temporelle définit un intervalle de temps pour chacun des jours de la semaine. Ces périodes temporelles servent à activer les fonctionnalités de l’ordonnanceur sur une période donnée. Elles permettent de définir : + +* Quand les commandes de vérification seront exécutées +* Quand des notifications seront envoyées. + +## Configuration + +Pour configurer des périodes temporelles, allez à la page : **Configuration > Utilisateurs > Périodes temporelles**. + +1. Dans les champs **Nom de la période temporelle** et **Alias**, entrez un nom et une description. +2. Dans la section **Options basiques**, pour chaque jour de la semaine, définissez les plages horaires pendant lesquelles les vérifications et les notifications seront activées, en utilisant la [syntaxe décrite ci-dessous](#syntaxe-dune-période-de-temps). + + - Ces définitions seront appliquées chaque semaine, indéfiniment. + - Si vous laissez un jour vide, il n'y aura pas de supervision ce jour-là pour les actions rattachées à cette période de temps. + +3. Utilisez [l'onglet **Période d'exception**](#onglet-période-dexception) pour inclure dans une période de temps des jours qui n'en feraient normalement pas partie. + +4. Une fois la période de temps définie, vous pouvez l'utiliser : + + - Dans le champ **Période de contrôle** d'un hôte, d'un modèle d'hôtes, d'un service ou d'un groupe de services. + - Dans le champ **Période de notification** d'un hôte, d'un modèle d'hôte, d'un service, d'un groupe de services ou d'un contact, ou bien dans le champ **Période d'escalade** d'une escalade de notifications. + +### Syntaxe d’une période de temps + +Les caractères suivants permettent de définir les périodes temporelles : + +* Le caractère ”:” sépare les heures des minutes. Exemple : HH:MM +* Le caractère “-” indique une continuité entre deux horaires +* Le caractère ”,” permet de séparer deux plages horaires. + +Quelques exemples : + +* 24 heures sur 24 et 7 jours sur 7 : pour chaque jour de la semaine, entrez 00:00-24:00. +* De 08h00 à 12h00 et de 14h00 à 18h45 les jours de semaine : 08:00-12:00,14:00-18:45 (à entrer au niveau des jours de semaine uniquement). +* Pour ne pas superviser pendant une journée entière, laissez le champ correspondant vide. + +![image](../../assets/configuration/05timeperiod.png) + +### Onglet Période d'exception + +L'onglet **Période d'exception** permet d’inclure dans la plage temporelle des jours exceptionnels. Les plages définies ici surchargent la définition du fonctionnement régulier de la journée. + +Exemple : Un administrateur souhaite définir une période temporelle qui regroupe les heures de fermeture du bureau, c’est à dire : + +* De 18h00 à 07h59 les jours de semaine +* 24 heures sur 24 les weekends +* Les jours fériés et jours de fermeture exceptionnelle. + +Afin de pouvoir définir les jours fériés ainsi que les jours de fermeture exceptionnelle, il est nécessaire d’utiliser les exceptions. + +Pour ajouter une exception, dans le champ **Exceptions**, cliquez sur **Ajouter une nouvelle entrée**. Définissez une plage horaire pour chaque +journée exceptionnelle. + +> Utilisez la syntaxe suivante pour exclure des jours entiers de la supervision : 00:00-00:00. + +Le tableau ci-dessous présente quelques exemples possibles : + +| Jour(s) | Plage(s) horaire(s) | Explications | +| ----------------- | ----------------------- | ------------------------------------------------------------ | +| january 1 | 00:00-24:00 | Toute la journée le premier janvier de chaque année | +| 2014-02-10 | 00:00-24:00 | Toute la journée du 10 février 2014 | +| july 1 - august 1 | 00:00-24:00 | Tous les jours de chaque année du 1 juillet au 1 août | +| november 30 | 08:00-19:00 | De 08h00 à 19h00 tous les 30 novembre de chaque année | +| day 1 - 20 | 00:00-24:00 | Toute la journée du premier au 20 de chaque mois | +| saturday -1 | 08:00-12:00,14:00-18:45 | Tous les derniers samedi du mois les heures ouvrées | +| monday -2 | 00:00-24:00 | Tous les avant derniers lundi du mois toute la journée | +| june 6 - june 21 | 00:00-00:00 | Ne pas superviser entre le 6 et le 21 juin toute la journée | +| june 12 | 00:00-08:00,18:00-24:00 | Superviser chaque 12 juin, sauf entre 8h et 18h | + +> Les périodes d'exception ne sont pas prises en compte dans [BAM](../../service-mapping/introduction.md), et dans les rapports concernant BAM dans [MBI](../../reporting/introduction.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/categories.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/categories.md new file mode 100644 index 000000000000..a4d7ac3b9ba8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/categories.md @@ -0,0 +1,62 @@ +--- +id: categories +title: Catégories et criticités +--- + +Les catégories vous permettent : + +- d'organiser hôtes et services, afin de définir les droits des utilisateurs sur ceux-ci via les [ACLs](../administration/access-control-lists.md). +- de [filtrer la vue](../alerts-notifications/resources-status.md#filtering-events) dans la page **Statut des ressources**. +- de classifier les hôtes et services par sous-groupes dans les [rapports MBI](../reporting/concepts.md). +- de définir des types d'objets dans le module [Centreon MAP](../graph-views/introduction-map.md). + +Il existe un type spécial de catégorie, nommé criticité. Les criticités vos permettent de faire la même chose que les catégories, mais également de : + +- trier la vue de la page **Statut des ressources** par niveau de criticité, par exemple pour afficher les alertes les plus importantes en premier. (Les criticités sont affichées dans la colonne **S** de la page **Statut des ressources**.) + +- filtrer les données dans les widgets **Host monitoring**, **Service monitoring** et **Open Tickets** dans les [vues personnalisées](../alerts-notifications/custom-views.md). + +## Catégories d’hôtes + +Rendez-vous dans le menu **Configuration > Hôtes > Catégories** et cliquez sur **Ajouter** + +![image](../assets/configuration/08hostcategory.png) + +* Les champs **Nom** et **Alias** contiennent respectivement le nom et l’alias de la catégorie d’hôte. +* La liste **Hôtes liés** permet d’ajouter des hôtes à la catégorie. +* Si un modèle d’hôte est ajouté à **Linked host template** alors tous les hôtes qui héritent de ce modèle appartiennent + à cette catégorie. +* La case **Type de criticité** signifie que la catégorie d’hôtes à un niveau de criticité. +* Les champs **Niveau** et **Icône** définissent respectivement un niveau de criticité et une icône associée. +* Les champs **Statut** et **Commentaires** permettent d’activer ou de désactiver la catégorie d’hôte et de commenter celle-ci. + +## Catégories de services + +Rendez-vous dans le menu **Configuration > Services > Catégories** et cliquez sur **Ajouter** + +![image](../assets/configuration/08servicecategory.png) + +* Les champs **Nom** et **Description** définissent le nom et la description de la catégorie de service. +* Si un modèle de service appartient à **Service Template Descriptions** alors tous les services appartenant à ce modèle + de services font partie de cette catégorie. +* La case **Type de criticité** ignifie que la catégorie de service à un niveau de criticité. +* Les champs **Niveau** et **Icône** définissent respectivement un niveau de criticité et une icône associée. +* Le champ **Statut** permet d’activer ou de désactiver la catégorie de services. + +## Criticité + +### Créer une criticité + +Pour créer une criticité : + +1. Allez à la page **Configuration > Hôtes > Catégories** ou **Configuration > Service > Catégories** puis cliquez sur **Ajouter**. +2. Renseignez les champs **Nom** et **Alias**, puis cochez **Type de criticité**. +3. Définissez un niveau pour cette criticité (un chiffre qui permettra de trier les hôtes ou les services dans la page **Statut des ressources**), aisni qu'une icône qui apparaîtra dans la colonne **S** de la page **Statut des ressources**. +4. Cliquez sur **Sauvegarder**. La criticité apparaît dans la liste des criticités. + +### Appliquer une criticité à un hôte ou un service + +1. Éditez l'hôte ou le service (allez à la page **Configuration > Hôtes > Hôtes** ou **Configuration > Services > Services par hôte** puis cliquez sur l'hôte ou le service). +2. Dans l'onglet **Informations détaillées de l'hôte** pour les hôtes ou bien **Informtions complémentaires** pour les services, dans la section **Moteur de supervision**, sélectionnez la criticité désirée dans la liste **Niveau de criticité**. +3. Cliquez sur **Sauvegarder**. +4. [Deployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). Dans la page **Statut des ressources**, l'icône correspondant à la criticité apparaît dans la colonne **S**. Une infobulle affiche le niveau et le nom de la criticité. Cliquez sur l'en-tête de colonne pour trier la vue suivant le niveau de criticité. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/administration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/administration.md new file mode 100644 index 000000000000..5e7eccb129b3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/administration.md @@ -0,0 +1,215 @@ +--- +id: administration +title: Administration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Mise à jour + +1. Pour mettre à jour le module, exécutez la commande suivante : + + + + +``` shell +dnf update -y centreon-auto-discovery-server +``` + + + + +``` shell +dnf update -y centreon-auto-discovery-server +``` + + + + +``` shell +apt update && apt update centreon-auto-discovery-server +``` + + + + +2. Connectez-vous sur l’interface web de Centreon avec un compte ayant le +droit d’installer des modules et rendez-vous dans le menu **Administration > +Extensions > Gestionnaire**. + +3. Assurez-vous que les modules **License Manager** et **Gestionnaire de connecteurs de supervision** + sont à jour avant de procéder à la mise à jour du module **Auto Discovery** + +3. Cliquez sur l’icône de mise à jour correspondant au module **Auto Discovery** : + + ![image](../../assets/monitoring/discovery/update.png) + + Le module est maintenant à jour : + + ![image](../../assets/monitoring/discovery/install-after.png) + +## Désinstallation + +> La désinstallation du module supprimera toutes les données associées. Les +> données ne pourront être restaurées sauf si une sauvegarde de la base de +> données a été faite. + +1. Connectez-vous sur l’interface web de Centreon avec un compte ayant le +droit d’installer des modules et rendez-vous dans le menu **Administration > +Extensions > Gestionnaire**. + +2. Cliquez sur l’icône de suppression correspondant au module **Auto Discovery** : + + ![image](../../assets/monitoring/discovery/install-after.png) + +3. Une fenêtre de confirmation apparaît. Confirmez l’action : + + ![image](../../assets/monitoring/discovery/uninstall-popin.png) + + Le module est maintenant désinstallé : + + ![image](../../assets/monitoring/discovery/install-before.png) + +## Configuration du module Gorgone + +Le module **Auto Discovery** amène une configuration spécifique pour le service +Gorgone du serveur Central. La configuration par défaut est +`/etc/centreon-gorgone/config.d/41-autodiscovery.yaml`. + +Une durée maximale pour les tâches de découverte d'hôtes est configurée de +manière globale au module. S'il est nécessaire de la modifier (par exemple pour +une découverte SNMP sur un large sous-réseau), il faut éditer le fichier +de configuration et ajouter le directive *global_timeout*. + +Si les notifications par mail ont été activées dans des règles de découverte de +services, les paramètres relatifs au système d'envoi peuvent être définis pour +choisir l'expéditeur, le sujet ou la commande mail. + +Exemple de configuration : + +```yaml +gorgone: + modules: + - name: autodiscovery + package: "gorgone::modules::centreon::autodiscovery::hooks" + enable: true + # Host Discovery + check_interval: 15 + global_timeout: 300 + # Service Discovery + mail_subject: Centreon Auto Discovery + mail_from: centreon-autodisco + mail_command: /bin/mail +``` + +> Assurez-vous de redémarrer le service Gorgone après chaque modification : +> +> ```shell +> systemctl restart gorgoned +> ``` + +### Architecture distribuée + +La découverte d'hôtes et de services se base sur Gorgone pour effectuer les +découvertes à la fois sur le serveur Central et sur les Remote Servers ou +Pollers. + +> Il est nécessaire d'avoir une communication en ZMQ entre le serveur Central +> et un Remote Server pour effectuer une découverte sur un Poller rattaché à ce +> Remote Server. +> +> Consultez la documentation sur les différents types de +> [communication](../monitoring-servers/communications.md) pour en savoir +> plus. + +### Tâche planifiée de découverte de services + +Toutes les règles de découverte actives sont exécutées périodiquement à travers +une tâche ordonnancée par le module cron de Gorgone. Le module **Auto +Discovery** amène une définition pour cette tâche dans le fichier suivant : +`/etc/centreon-gorgone/config.d/cron.d/41-service-discovery.yaml`. + +```yaml +- id: service_discovery + timespec: "30 22 * * *" + action: LAUNCHSERVICEDISCOVERY +``` + +La configuration par défaut exécute les règles de découverte tous les jours à +22h30. + +> Si vous aviez changé la tâche cron pour adapter la planification, vous +> devez appliquer ces changements dans le nouveau fichier. + +Il est aussi possible d'exécuter plusieurs tâches de découverte de services +avec différents paramètres: + +```yaml +- id: service_discovery_poller_1 + timespec: "15 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-1 +- id: service_discovery_poller_2_linux + timespec: "30 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-2 + filter_rules: + - OS-Linux-SNMP-Disk-Name + - OS-Linux-SNMP-Traffic-Name +- id: service_discovery_poller_2_windows + timespec: "45 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-2 + filter_rules: + - OS-Windows-SNMP-Disk-Name + - OS-Windows-SNMP-Traffic-Name +``` + +Voici ci-dessous la liste des paramètres disponibles: + +| Clé | Valeur | +|----------------------|----------------------------------------------------------------------------------------------------------------------| +| filter\_rules | Tableau de règles à utiliser pour la découverte (vide pour toutes les utiliser) | +| force\_rule | Exécuter les règles désactivées ('0': non forcé, '1': forcé) | +| filter\_hosts | Tableau d'hôtes sur lesquels effectuer la découverte (vide pour tous les utiliser) | +| filter\_pollers | Tableau de collecteurs pour lesquels les hôtes attachés se verront lancer la découverte (vide pour tous les utiliser) | +| dry\_run | Exécuter la découverte sans faire de modification ('0': modifications, '1': dry run) | +| no\_generate\_config | Sans génération de configuration (même si des changements ont eu lieu) ('0': generation, '1': pas de generation) | + +### Accès aux API + +À l'installation de Gorgone, une configuration par défaut pour accéder aux API +de Centreon se trouve ici `/etc/centreon-gorgone/config.d/31-centreon-api.yaml`. + +Elle définit les accès pour Centreon CLAPI et l'API Rest pour permettre à la +découverte de communiquer avec Centreon. + +Exemple de configuration : + +```yaml +gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: api + password: bpltc4aY + - name: clapi + username: cli + password: PYNM5kcc +``` + +L'accès à l'API Rest, représenté par *centreonv2*, nécessite les identifiants +d'un utilisateur ayant accès à l'API de configuration. Il est utilisé +pour la découverte d'hôtes. + +L'accès à CLAPI nécessite les identifiants d'un utilisateur *Administrateur*. +Il est utilisé pour la découverte de services. + +> Un seul utilisateur peut être utilisé pour les deux accès. De plus, les +> utilisateurs n'ont pas besoin d'avoir accès à l'interface web. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/hosts-discovery.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/hosts-discovery.md new file mode 100644 index 000000000000..7c85f83f5ea8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/hosts-discovery.md @@ -0,0 +1,533 @@ +--- +id: hosts-discovery +title: Découvrir des hôtes automatiquement +--- + +Voir aussi [notre tutoriel sur la détection d'instances AWS EC2](../../getting-started/autodisco-aws.md). + +## Créer une tâche de découverte + +1. [Installez](installation.md) le module Auto Discovery. + +2. Installez le [connecteur de supervision](../pluginpacks.md) correspondant aux ressources que vous voulez découvrir. + > Les fournisseurs de découverte sont amenés par l'installation de connecteurs de supervision + > (Azure, Amazon AWS, VMware, etc). Pour connaître la liste complète, consultez + > le [catalogue des Plugin + > Packs](/pp/integrations/plugin-packs/getting-started/introduction). + > + > Si, à la page **Configuration > Gestionnaire de connecteurs de supervision**, vous avez réglé **Installation automatique des plugins** sur **ON**, le plugin de découverte sera installé automatiquement lorsque la tâche de découverte sera exécutée. + +3. Créez une tâche de découverte pour chaque type de ressources que vous souhaitez découvrir : à la page **Configuration > Hôtes > Découverte**, cliquez sur **+AJOUTER**. +Un assistant s'ouvre. + +Vous pouvez dupliquer des tâches de découverte : survolez la tâche désirée puis cliquez sur **Dupliquer**. + +## Assistant de création de tâche de découverte + +### Étape 1 : Choisir un fournisseur + +1. À la 1ère étape de l'assistant, entrez un nom pour la tâche (si vous n'en saisissez pas, le nom du fournisseur sera utilisé). + +2. Cliquez sur le fournisseur correspondant aux ressources que vous voulez découvrir. + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-1-1.png) + + La barre de recherche permet de chercher un fournisseur spécifique : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-1-2.png) + +3. Cliquez sur **Suivant**. + +### Étape 2 : Définir des paramètres d'accès + +Définissez le serveur de supervision depuis lequel sera faite la découverte. Le serveur qui assurera effectivement la supervision pourra être différencié pour chaque hôte à l'aide de [modificateurs](#comment-utiliser-les-modificateurs). + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-2.png) + +Certains fournisseurs demandent d'autres paramètres d'accès comme un proxy si la +découverte doit se faire sur un service en ligne et/ou des identifiants. + +### Étape 3 : Définir des paramètres de découverte + +Des paramètres additionnels peuvent être nécessaires pour définir la portée +de la découverte : + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-3.png) + +### Étape 4 : Définir des modificateurs + +Les modificateurs permettent de définir la configuration des hôtes qui seront créés, ou d'inclure/exclure des hôtes de la liste des résultats. Voir la section [Comment utiliser les +modificateurs](#comment-utiliser-les-modificateurs). + +Dans l'assistant, une simulation sur un jeu de données d'exemple (tableau à droite) donne un aperçu de ce à quoi +ressemblerait le résultat de la découverte : + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-4.png) + +### Étape 5 : Définir les politiques d'analyse et de mise à jour + +- **Analyse manuelle** : Une fois la tâche de découverte exécutée, +vous devrez choisir manuellement dans la liste des hôtes découverts quels hôtes ajouter à la liste des hôtes supervisés (visible à la page **Configuration > Hôtes > Hôtes**). +Pour plus d'informations voir la section [Analyser le résultat d'une tâche de découverte](#analyser-le-résultat-dune-tâche-de-découverte). + +- **Analyse automatique** : L'analyse traitera le résultat automatiquement selon l'option sélectionnée (au moins une option doit être cochée) : + + - **Ajouter les hôtes à la configuration quand ils sont découverts pour la + première fois** : tous les hôtes détectés pour la première fois seront créés automatiquement dans + la page **Configuration > Hôtes > Hôtes**. + + - **Désactiver les hôtes déjà ajoutés à la configuration si la règle de + modification les exclut** : les hôtes déjà supervisés seront désactivés + s'ils correspondent à une nouvelle règle d'exclusion lorsque la tâche de découverte est exécutée à nouveau. + + > Le fait que des hôtes soient non découverts (ou plus découverts) ne + > désactivera pas les hôtes dans la configuration Centreon. Seuls les hôtes + > découverts et dans le même temps exclus seront désactivés (voir + > modificateur [exclusion](#exclusion)). + + - **Activer les hôtes déjà ajoutés à la configuration si ils sont découverts + mais désactivés** : les hôtes déjà ajoutés à la configuration mais désactivés seront réactivés + + - **Exporter et recharger la configuration des collecteurs** : une fois les hôtes créés ou mis à jour, la nouvelle configuration sera [déployée](../monitoring-servers/deploying-a-configuration.md) automatiquement, ce qui veut dire que les hôtes seront supervisés ou mis à jour immédiatement, sans devoir intervenir manuellement. + + - **Modifier les hôtes existants** : si vous effectuez des changements sur les modificateurs et exéctuez la tâche à nouveau, les hôtes existants seront mis à jour (voir [Éditer une tâche de découverte](#éditer-une-tâche-de-découverte)). + + - **Ne pas découvrir les hôtes pour lesquels les modificateurs n'appliquent aucun modèle**: si les modificateurs n'appliquent aucun modèle à certains hôtes, alors ceux-ci ne seront pas inclus dans les résultats de la découverte. Si la case est décochée, le modèle par défaut sera appliqué à ces hôtes et ils seront découverts. + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-5-2.png) + + Voir l'[exemple ci-dessous](#exemples) pour mieux comprendre le fonctionnement des 3 premières options. + +### Étape 6 : Définir l'exécution + +- **Exécuter immédiatement** : L'exécution immédiate lancera la découverte juste après la création de la tâche. + +- **Planifier l'exécution** : vous pouvez planifier l'exécution de la tâche de différentes manières : + + - Chaque année à des jours définis de mois définis et à une heure définie : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-year.png) + + - Chaque mois à des jours définis du mois et à une heure définie : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-month.png) + + - Chaque semaine à des jours définis de la semaine et à une heure définie : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-week.png) + + - Chaque jour à une heure définie : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-day.png) + + - Toutes les x heures (à des minutes définies) : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png) + + - Toutes les x minutes : + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png) + +Cliquez sur **TERMINER** à la dernière étape de l'assistant pour créer la tâche et l'exécuter ou la planifier. La tâche apparaît dans la liste des tâches de découverte. Voir [Analyser le résultat d'une tâche de découverte](#analyser-le-résultat-dune-tâche-de-découverte). + +## Gérer les tâches de découverte + +Allez à la page **Configuration > Hôtes > Découverte** pour accéder à la liste des tâches de découverte. + +![image](../../assets/monitoring/discovery/host-discovery-job-listing.png) + +Les états d'une tâche peuvent être : + +| Icône | état | +|--------------------------------------------------------------------------|-------------------------------| +| ![image](../../assets/monitoring/discovery/host-discovery-scheduled.png) | **Programmé** | +| ![image](../../assets/monitoring/discovery/host-discovery-running.png) | **En cours** | +| ![image](../../assets/monitoring/discovery/host-discovery-saving.png) | **En cours d'enregistrement** | +| ![image](../../assets/monitoring/discovery/host-discovery-finished.png) | **Terminé** | +| ![image](../../assets/monitoring/discovery/host-discovery-failed.png) | **Échoué** | + +- Si une tâche est dans l'état **Terminé**, cliquez sur la flèche près de son statut pour analyser le +résultat. Allez au chapitre [Analyser le résultat d'une +tâche de découverte](#analyser-le-résultat-dune-tâche-de-découverte) pour en savoir plus. + +- Si une tâche est dans un état **Échoué**, survolez l'icône pour en connaître la +raison. + +Plusieurs actions peuvent être réalisées sur les tâches : + +| Icône | Action | +|--------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------| +| ![image](../../assets/monitoring/discovery/host-discovery-force-execution.png) | **Forcer l'exécution** : réexécuter une tâche | +| ![image](../../assets/monitoring/discovery/host-discovery-delete.png) | Supprimer une tâche. Seule la tâche sera supprimée : les hôtes ayant déjà été ajoutés à la configuration seront conservés. | +| ![image](../../assets/monitoring/discovery/host-discovery-pause.png) | Mettre en pause une tâche planifiée | +| ![image](../../assets/monitoring/discovery/host-discovery-resume.png) | Reprendre une tâche mise en pause | +| ![image](../../assets/monitoring/discovery/host-discovery-goto-results.png) | accéder aux résultats de la tâche de découverte | + +## Analyser le résultat d'une tâche de découverte + +1. À la page **Configuration > Hôtes > Découverte**, cliquez sur la flèche ![image](../../assets/monitoring/discovery/host-discovery-goto-results.png) à côté du statut d'une tâche terminée pour en visualiser le résultat. + + ![image](../../assets/monitoring/discovery/host-discovery-hosts-listing.png) + + La liste de résultats montre les hôtes découverts. Des icônes vous permettent d'identifier l'action qui sera effectuée sur l'hôte : + + - L'icône **plus** signifie que cet hôte n’existe pas encore et sera créé. + - L'icône **flèche** signifie que cet hôte existe déjà et sa configuration sera mise à jour. + > Notez que les modificateurs de type **Propriété** ne sont pas pris en compte lors du processus de mise à jour. + +2. Sélectionnez les hôtes que vous souhaitez ajouter à la liste des hôtes supervisés et cliquez sur le bouton **Sauvegarder**. Cliquez ensuite sur le bouton **Retour** pour revenir à la page **Découverte**. + +3. Si vous le souhaitez, vous pouvez éditer les [modificateurs](#comment-utiliser-les-modificateurs) liés à la tâche. Cliquez sur la tâche pour afficher ses paramètres. Dans la section **Modificateurs**, modifiez le modificateur en cliquant sur le bouton d'édition : ![image](../../assets/monitoring/discovery/host-discovery-edit.png#thumbnail1) + + Les changements seront appliqués directement à la liste des résultats lorsque vous cliquerez sur l'icône **Sauvegarder** en haut à droite du panneau. + + Si vous aviez sélectionné **Analyse automatique** et **Modifier les hôtes existants** à l'étape 5 de l'assistant, les hôtes seront mis à jour quand vous réexécuterez la tâche (voir [Éditer une tâche de découverte](#éditer-une-tâche-de-découverte)). + +4. Si vous avez sélectionné **Analyse manuelle** à l'étape 5 de l'assistant, sélectionnez les hôtes que vous voulez ajouter ou mettre à jour dans la configuration, puis cliquez +sur le bouton d'enregistrement : ![image](../../assets/monitoring/discovery/host-discovery-hosts-save.png#thumbnail1) + + Les hôtes sont alors créés ainsi que les services liés à leurs modèles d'hôte. + +5. Allez à la page **Configuration > Hôtes > Hôtes** : les hôtes que vous venez de créer apparaissent dans la liste. + + ![image](../../assets/monitoring/discovery/host-discovery-configuration-hosts.png) + + Si les hôtes que vous aviez sélectionnés ne sont pas visibles dans la +liste, retournez à la liste des tâches et regardez si une erreur est +survenue pendant la tâche d'enregistrement. + +6. Dans les cas suivants, [déployez la configuration](../monitoring-servers/deploying-a-configuration.md) : + + - si l'option **Analyse manuelle** a été sélectionnée à l'étape 5 de l'assistant + - si l'option **Analyse automatique** a été sélectionnée à l'étape 5 de l'assistant, mais que l'option **Exporter et recharger la configuration des collecteurs** était décochée. + + Les nouveaux hôtes sont maintenant supervisés. + +## Éditer une tâche de découverte + +Certaines tâches de découverte peuvent être éditées : + +- Si la tâche est réglée sur **Analyse automatique** et que vous avez sélectionné **Modifier les hôtes existants** à l'étape 5 de l'assistant, vous pouvez éditer la tâche et la réexécuter : les hôtes concernés par la tâche seront mis à jour. Pour réexécuter une tâche, allez à la page **Configuration > Hôtes > Découverte**, survolez la tâche puis cliquez sur **Forcer l'exécution**. +- Si une tâche est réglée sur **Analyse manuelle** et les hôtes correspondants sont déjà supervisés, alors éditer la tâche et l'exécuter à nouveau n'aura aucun effet. + +1. À la page **Configuration > Hôtes > Découverte**, cliquez dans la ligne +de la tâche désirée. Un panneau apparaît à droite. + +2. Depuis ce panneau, modifiez les paramètres de la tâche. + + Si la tâche est réglée sur **Analyse automatique**, vous pouvez mettre à jour certaines propriétés des hôtes en utilisant les modificateurs. Vous pouvez : + + - ajouter des modèles, des groupes d'hôtes ou des catégories d'hôtes + - mettre à jour ou définir la sévérité (il ne peut y avoir qu'une sévérité) + - mettre à jour ou définir la valeur d'une macro (une macro ne peut avoir qu'une valeur) + - mettre à jour le serveur de supervision (il ne peut y en avoir qu'un). + + Afin de préserver la cohérence des données et la traçabilité des actions, le nom, l'alias et l'adresse IP d'un hôte ne peuvent pas être modifiés (c'est-à-dire les données apportées par les modificateurs de type **Property**). + + Une fois les modificateurs édités, si vous aviez sélectionné **Modifier les hôtes existants** à l'étape 5 de l'assistant, les hôtes seront mis à jour lorsque la tâche de découverte sera réexécutée. Si vous n'aviez pas sélectionné cette option, exécuter la tâche de nouveau ajoutera seulement les nouveaux hôtes découverts à la supervision : les hôtes existants ne seront pas mis à jour. + + Si le module d'autodécouverte découvre un hôte avec un nom déjà existant, ayant été créé manuellement à la page **Configuration > Hôtes > Hôtes**, cet hôte sera également mis à jour par le module d'autodécouverte, même s'il n'a pas été créé par autodécouverte. + +2. Cliquez sur l'icône de sauvegarde en haut à droite du panneau : ![image](../../assets/monitoring/discovery/host-discovery-save.png#thumbnail2) + +## Comment utiliser les modificateurs + +Les modificateurs permettent de : + +- définir la configuration des hôtes qui seront créés, en faisant correspondre une valeur découverte sur l'hôte (un attribut) à un champ dans Centreon. La liste des attributs dépend du fournisseur. + +- inclure/exclure des hôtes de la liste des résultats. + +| Modificateur | Action | +|---------------|---------------------------------------------------------------------------------------| +| Propriété | définir un libellé (nom, alias, adresse IP) | +| Macro | définir une macro custom pour l'hôte | +| Modèle | ajouter des modèles d'hôtes (le modèle lié au connecteur de supervision est ajouté automatiquement) | +| Groupe d'hôtes | rattacher les hôtes à un groupe d'hôtes | +| Catégorie d'hôte | rattacher les hôtes à une catégorie | +| Criticité d'hôte | prioriser les hôtes par sévérité | +| Supervision | choisir depuis quel serveur de supervision les hôtes seront supervisés | +| Exclusion | exclure un sous-ensemble d'hôtes sur la base de leurs attributs | +| Inclusion | inclure un sous-ensemble d'hôtes qui aurait été exclus | + +Pour tous ces modificateurs, des conditions peuvent être définies pour appliquer +la modification à certains hôtes ou non. Les opérateurs de comparaison +peuvent être : *est égal à*, *est différent de*, *contient* et *ne contient pas*. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-condition.png) + +Si vous incluez plusieurs conditions dans un même modificateur, il faut que +toutes les conditions soient vérifiées pour que le modificateur s'applique. + +Depuis la version 21.04, dans les modificateurs **Propriété**, **Macro**, **Groupe d'hôtes** et **Catégorie d'hôte** il est possible de concaténer un ou plusieurs +de ces attributs avec une ou plusieurs chaînes de caractères personnalisées. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-concatenation.gif) + +Lorsque vous définissez plusieurs modificateurs du même type et que les conditions s'appliquent à plusieurs d'entre eux, le dernier modificateur prend le pas sur les autres (ceux situés avant lui). Cela s'applique aux modificateurs suivants : supervision, sévérité, propriété, macros. + +### Ajouter un modificateur + +1. Depuis l'étape quatre de l'assistant de création d'une tâche, ou depuis le +panneau d'édition (dans la section **Modificateurs**), cliquez sur **+AJOUTER UN +MODIFICATEUR**. + +2. Sélectionnez le type de modificateur depuis le menu déroulant, et remplissez +tous les champs requis. + +3. Cliquez sur **ENREGISTRER** pour ajouter le modificateur. + +### Éditer un modificateur + +1. Depuis l'étape quatre de l'assistant de création d'une tâche, ou depuis +le panneau d'édition dans la section **Modificateurs**, cliquez sur l'icône +**Plus d'actions**, puis cliquez sur **Éditer**. + +2. Modifiez n'importe quel champ ou le type de modificateur lui-même. Voir [Éditer une tâche de découverte](#éditer-une-tâche-de-découverte). + +3. Cliquez sur **ENREGISTRER** pour enregistrer le modificateur. + +### Supprimer un modificateur + +1. Depuis l'étape quatre de l'assistant de création d'une tâche, ou depuis le +panneau d'édition dans la section **Modificateurs**, cliquez sur l'icône +**Plus d'actions**, puis cliquez sur **Supprimer**. + + Une fenêtre demandera de confirmer l'action. + +2. Cliquez sur **SUPPRIMER** pour supprimer le modificateur. + +### Dupliquer un modificateur + +1. Depuis l'étape quatre de l'assistant de création d'une tâche, ou depuis le +panneau d'édition dans la section **Modificateurs**, cliquez sur l'icône +**Plus d'actions**, puis cliquez sur **Dupliquer**. + +2. Entrez le nombre de copies à faire du modificateur, puis cliquez sur **Dupliquer**. + +## Types de modificateur + +### Propriété + +Le modificateur **Propriété** est utilisé pour définir les propriétés +communes d'un hôte comme son nom, son alias ou son adresse IP. Ces trois +propriétés sont obligatoires. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-property.png) + +La liste **Source** permet de choisir entre les données d'identification +(credentials), les paramètres additionnels (parameters) ou les attributs +attendus dans le résultat (attributes). + +La liste **Destination** permet de définir à quelle propriété la valeur sera +associée. + +### Macro + +Le modificateur **Macro** est utilisé pour créer des macros custom à +définir au niveau de l'hôte. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-macro.png) + +La liste **Source** permet de choisir entre les données d'identification +(credentials), les paramètres additionnels (parameters) ou les attributs +attendus dans le résultat (attributes). + +Le champ **Destination** est un champ texte libre. + +La case **Mot de passe** définit si la macro sera créée comme une macro "mot de +passe" ou non. + +### Modèle + +Le modificateur **Modèle** est utilisé pour ajouter un modèle à l'hôte. Vous pouvez ajouter +autant de modificateurs **Modèle** que vous le désirez (un modèle par modificateur). + +Comme dans l'exemple ci-dessous, vous pouvez définir un modèle en fonction de certaines conditions +(ici, le modèle OS-Linux-SNMP-custom est appliqué aux hôtes de type Linux). + +![image](../../assets/monitoring/discovery/host-discovery-mappers-template.png) + +La liste **Modèles d'hôte** permet de choisir parmi tous les modèles d'hôte +définis dans la configuration. + +### Groupe d'hôtes + +Depuis la version 21.04, il est possible de rattacher des hôtes découverts +automatiquement à des groupes d'hôtes. Cela peut se faire de deux manières. + +- Sélectionnez un groupe d'hôtes déjà existant dans le menu déroulant. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png) + +- Création de groupe d'hôtes à la volée : composez un nom de groupe à partir de chaînes de +caractères et/ou d'informations issues de la découverte (une aide à la +saisie propose les informations disponibles). + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png) + + Dans cet exemple, si l'on découvre des serveurs Linux, alors un groupe d'hôtes +`os-linux` sera créé. + + Si un groupe d'hôtes existe déjà avec ce nom, il ne sera pas recréé, +l'hôte sera simplement rattaché à ce groupe. + +### Catégorie d'hôte + +Depuis la version 21.04, il est également possible de catégoriser les hôtes +découverts automatiquement. Cela peut se faire de deux manières. + +- Sélectionnez une catégorie d'hôtes déjà existante dans le menu déroulant. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png) + + Dans l'exemple ci-dessus, les hôtes dont le nom contient "sql" seront rattachés à la catégorie "DB_Server". + +- Création de catégories d'hôtes à la volée : composez un nom de catégorie à partir de chaînes de +caractères et/ou d'informations issues de la découverte (une aide à la +saisie propose les informations disponibles). + +![image](../../assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png) + +Si une catégorie d'hôtes existe déjà avec ce nom, elle ne sera pas +recréée, l'hôte sera simplement rattaché à cette catégorie. + +### Criticité d'hôte + +Toujours depuis la version 21.04, il est également possible de hiérarchiser +les hôtes découverts automatiquement à l'aide de sévérités d'hôtes. Les +sévérités étant constituées d'un nom et d'un niveau (numérique), celles-ci +ne peuvent pas être créées à la volée. On ne proposera que la sélection +d'une sévérité existante dans le menu déroulant. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png) + +### Supervision + +Le modificateur **Supervision** est utilisé pour choisir depuis quel serveur de +supervision l'hôte sera supervisé. Celui-ci est obligatoire. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-monitoring.png) + +Le bouton radio **Sélecteur d'instance de supervision** permet de choisir entre +le serveur de supervision défini dans la tâche ou depuis ceux disponibles sur +la plateforme Centreon. + +Si aucun modificateur de type **Supervision** ne s'applique à un hôte (à cause de conditions trop restrictives que vous auriez définies), le serveur de supervision sur lequel est exécuté le job sera sélectionné par défaut. + +### Exclusion + +Le modificateur **Exclusion** est utilisé pour exclure un +sous-ensemble des hôtes de la liste des résultats. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-exclusion.png) + +Le modificateur utilise les attributs des hôtes comme condition pour les +exclure. Dans l'exemple ci-dessus, les hôtes de type Windows seront exclus de la liste des résultats. + +### Inclusion + +Le modificateur **Inclusion** permet d'inclure des hôtes qui auraient été préalablement exclus par un modificateur d'exclusion. Les modificateurs **Exclusion** et **Inclusion** doivent donc être ajoutés dans le bon ordre. + + Dans l'exemple ci-dessous, imaginons que tous les hôtes aient été exclus de la liste des résultats (avec un modificateur + **Exclusion** *est différent de 1* par exemple). Notre modificateur **Inclusion** permettra d'inclure dans la liste des résultats tous les + hôtes de type Linux. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-inclusion.png) + +## Attributs avancés + +Certains attributs fournis par la découverte, dits attributs avancés, consistent en une liste d'objets contenant des paires de propriétés. Ils peuvent être utilisés comme source pour les modificateurs **Macro**, **Groupe d'hôtes** et **Catégorie d'hôte**, et dans les conditions pour tous les types de modificateurs. En particulier avec les modificateurs de type **Inclusion** et **Exclusion**, ils permettent de filtrer le résultat de la découverte en fonction d'une paire de valeurs précise. + +Exemple d'attribut avancé décrivant un hôte : les tags d'un environnement cloud. Imaginons que vos hôtes soient hébergés dans le cloud. Les hôtes ont un attribut avancé nommé **tags**. Pour un hôte ayant les tags **os: windows** et **environment: production**, Host Discovery recevra les tags de la manière suivante : + +```json +"tags": [{"key": "os", "value": "windows"}, {"key": "environment", "value": "production"}] +``` + +**Exemples d'utilisation avec les modificateurs :** + +- Dans l'attribut **tags**, la clé **environment** peut avoir la valeur **production**, **preprod** ou **test**. Vous ne voulez superviser que les instances de production, c'est à dire celles pour lesquelles la valeur ("value") **production** est associée à la clé ("key") **environment**. Utilisez un modificateur de type **Exclusion** de la façon suivante : + + ![image](../../assets/monitoring/discovery/advanced_attributes1.png) + +- Vous souhaitez classer des hôtes dans des groupes d'hôtes. Dans l'exemple ci-dessous, les machines seront ajoutées à un groupe d'hôtes correspondant à leur OS : par exemple, toutes les machines dont le tag **os** sera égal à **Windows** appartiendront au groupe d'hôtes **Windows**. + + Ajoutez un modificateur de type **Hostgroup** et sélectionnez **Créer un groupe d'hôtes**. Comme source du modificateur, sélectionnez l'attribut avancé (dans l'exemple: **tags**), puis configurez-le comme ci-dessous : + + ![image](../../assets/monitoring/discovery/advanced_attributes3.png) + + La valeur de la propriété est indiquée dans une infobulle. Faites **Shift+clic** sur l'attribut avancé pour éditer ses propriétés : + + ![image](../../assets/monitoring/discovery/advanced_attributes2.png) + +## Exemples + +### Mettre à jour votre configuration dynamiquement + +**Situation** + +Avoir un vCenter VMware avec des machines virtuelles ajoutées, démarrées et +arrêtées dynamiquement. + +**Objectif** + +Mettre à jour la configuration Centreon en accord avec l'état des machines +virtuelles. + +**Créer la bonne tâche de découverte** + +Depuis la page principale de la découverte d'hôtes, ajoutez une tâche en +commençant par choisir le fournisseur VMware VM. + +Définissez le serveur de supervision depuis lequel vous voulez faire la +découverte. Pour ce fournisseur en particulier, ce paramètre doit être en +accord avec les paramètres de découverte où vous définissez les informations +relatives aux accès au Connecteur Centreon VMware (nom d'hôte/ip et port). + +Dans la plupart des cas, vous allez installer le connecteur sur le serveur de +supervision, les paramètres d'accès seront donc *localhost* et le port par +défaut *5700*. + +Définissons maintenant les modificateurs et les politiques de mise à jour pour +répondre à nos besoins : + + - Premiers besoins : + - Ajouter les nouvelles machines virtuelles (ou non encore ajoutées), (1) + - Exclure les machines virtuelles non démarrées. (2) + + - Deuxièmes besoins : + - Désactiver les machines virtuelles qui sont arrêtées, (3) + - Ré-activer les machines virtuelles qui sont démarrées (après avoir été + arrêtées). (4) + +Cela va se traduire par un modificateur *Exclusion* avec la configuration +suivante : + +![image](../../assets/monitoring/discovery/host-discovery-exclude-powered-off.png) + +Ainsi, toutes les machines virtuelles qui sont arrêtées ne feront pas partie du +résultat qui sera analysé. Elles ne seront pas ajoutées. (2) + +En plus de ce modificateur, choisissez l'analyse automatique avec toutes les +politiques de mise à jour comme ci-dessous : + +![image](../../assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png) + +Avec la première politique, les machines virtuelles qui font partie du résultat +seront ajoutées (1). + +Avec la deuxième, les machines virtuelles qui ont été ajoutées à un moment (car +dans un état démarré) seront désactivées dans la configuration Centreon si elles +se retrouvent dans un état arrêté (3). + +La dernière activera les machines virtuelles qui sont de nouveau dans un état +démarré (4). + +Bien sûr, les deux dernières politiques fonctionnent mieux si la tâche de +découverte est planifiée pour être exécutée plus d'une fois. + +> Note : Si une machine virtuelle est amenée à être supprimée, elle ne sera pas +> supprimée (ni même désactivée) de la configuration Centreon. Seul les hôtes +> découverts et dans le même temps exclus sont désactivés dans la configuration +> (si la politique est choisie). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/installation.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/installation.md new file mode 100644 index 000000000000..6d92694b0eba --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/installation.md @@ -0,0 +1,49 @@ +--- +id: installation +title: Installation +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Installer le module d'autodécouverte + +1. Pour installer le paquet, exécutez la commande suivante sur le serveur Central : + + + + +``` shell +dnf install -y centreon-auto-discovery-server +``` + + + + +``` shell +dnf install -y centreon-auto-discovery-server +``` + + + + +``` shell +apt update && apt install centreon-auto-discovery-server +``` + + + + +2. Pour installer l'extension, connectez-vous à l’interface web de Centreon avec un compte ayant le +droit d’installer des modules et rendez-vous dans le menu **Administration > +Extensions > Gestionnaire**. + +3. Assurez-vous que les modules **License Manager** et **Gestionnaire de connecteurs de supervision** sont à jour + avant de procéder à l'installation du module **Auto Discovery**. + +4. Cliquez sur l’icône d’installation correspondant au module **Centreon Auto +Discovery**. Le module est maintenant installé : + + ![image](../../assets/monitoring/discovery/install-after.png) + +5. Rendez-vous dans le menu **Configuration > Gestionnaire de connecteurs de supervision** et [installez les connecteurs de supervision +](../pluginpacks.md#installation-du-pack) correspondant aux fournisseurs de découverte désirés. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/introduction.md new file mode 100644 index 000000000000..8a15dd898086 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/introduction.md @@ -0,0 +1,29 @@ +--- +id: introduction +title: Introduction +--- + +> Centreon Auto Discovery est une **extension** Centreon qui nécessite une [licence](../../administration/licenses.md) valide. +> Pour en acheter une et récupérer les référentiels +> nécessaires, contactez [Centreon](mailto:sales@centreon.com). + +Le module de découverte automatique permet d'obtenir une liste des nouveaux hôtes ou services et, si vous le désirez, +de les créer automatiquement dans Centreon. La découverte se fait +via des fournisseurs de recherche et des règles de découverte, qui sont inclus dans des [connecteurs de supervision](../pluginpacks.md). + +- La découverte peut être planifiée et exécutée automatiquement, régulièrement. Des hôtes peuvent être ajoutés à la supervision sans intervention manuelle. +- Vous pouvez également détecter que des ressources ne +sont plus disponibles, afin d'éventuellement les désactiver dans la configuration. +- Les contacts peuvent être associés à une règle de découverte de services pour être avertis en cas de modification de la configuration. + +## Fonctionnement + +1. Paramétrez une tâche de découverte pour chaque type d'hôte, en utilisant le bon [connecteur de supervision](../pluginpacks.md). Par exemple, une tâche pour découvrir les noeuds ESX et une autre pour découvrir les machines virtuelles dans un cluster VMware. + + Pour les services, paramétrez des règles de découverte : par exemple, une pour découvrir les +interfaces réseau sur un serveur Linux, et une autre pour découvrir les volumes de disque. + +2. La tâche ou la règle de découverte sont effectuées : on obtient une liste des nouveaux hôtes ou services correspondant au connecteur de supervision. + +3. Selon votre paramétrage, vous choisissez dans la liste les ressources à ajouter à votre Centreon, ou bien elles sont ajoutées automatiquement. Ces ressources peuvent ensuite être configurées dans Centreon +à l’aide de modèles d’hôte ou de modèles de service. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/services-discovery.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/services-discovery.md new file mode 100644 index 000000000000..0eae1604c313 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/services-discovery.md @@ -0,0 +1,396 @@ +--- +id: services-discovery +title: Découvrir des services automatiquement +--- + +## Lancer une découverte manuellement + +Une fois les règles de découverte programmées, il est possible de les exécuter +au travers de l’interface web Centreon. + +Pour cela, se connecter et accéder au menu **Configuration > Services > +Manuelle**. + +Commencez à saisir le nom de l’hôte sur lequel réaliser la découverte et +l’interface vous proposera de compléter automatiquement ce dernier : + +![image](../../assets/configuration/autodisco/manual_scan_select_host.png) + +Sélectionnez ensuite la commande de découverte à exécuter dans la liste +déroulante qui vient d’apparaître : + +![image](../../assets/configuration/autodisco/manual_scan_select_command.png) + +> Si cette liste est vide, cela signifie que cet hôte n’appartient pas à un +> modèle d’hôtes lié à une règle de découverte. + +Cliquez sur le bouton **Scan** et patientez durant l’analyse des éléments +disponibles : + +![image](../../assets/configuration/autodisco/manual_scan_wait.png) + +Le résultat s’affiche. Sélectionnez les éléments à intégrer à la supervision et +cliquez sur le bouton **Save** : + +![image](../../assets/configuration/autodisco/manual_scan_result.png) + +Les éléments ont été ajoutés et il n’est plus possible de les sélectionner : + +![image](../../assets/configuration/autodisco/manual_scan_added.png) + +> Dans la liste de résultats de la découverte des éléments, il se peut que +> certains éléments ne puissent être sélectionnés. Cela indique qu’ils font déjà +> partie de la configuration. + +Les services ont été ajoutés et sont visibles dans le menu `Configuration > +Services > Services par hôte`: + +![image](../../assets/configuration/autodisco/manual_scan_services.png) + +## Règles de découverte + +### Options générales + +Une règle de découverte permet de créer dynamiquement des +services et de les lier à un hôte, en se basant sur les éléments remontés par +les sondes. Les services unitaires créés sont attachés à des modèles de services +ce qui permet d’utiliser les fonctionnalités de Centreon (héritage, surcharge, +etc.) + +Pour créer une règle de découverte, rendez-vous dans le menu `Configuration > +Services > Règles` et cliquez sur **Ajouter** : + +![image](../../assets/configuration/autodisco/create_rule_1.png) + +Saisissez les premiers champs : + +![image](../../assets/configuration/autodisco/create_rule_2.png) + +Voici une description des premiers champs à saisir : + + - **Rule name** : nom de la règle + - **Command Macro** : la commande exécutée pour lister les attributs du flux + XML + - **Command Discover** : la commande de découverte exécutée pour lister les + éléments + - **Service template**: le modèle de service utilisé pour créer les nouveaux + services + +Rendez-vous dans le second onglet **Inclusions/Exclusions & Macros** tab. Vous +devriez voir les attributs XML disponibles : + +![image](../../assets/configuration/autodisco/create_rule_3.png) + +Revenez au premier onglet et définissez le nom des services qui seront créés ainsi +que les autres champs disponibles : + +![image](../../assets/configuration/autodisco/create_rule_4.png) + +Saisissez le nom du service qui sera créé via le champ **Service display name**. + +> Le nom du service peut contenir une macro correspondant à un attribut du flux +> XML. Par exemple, pour une interface réseau, son nom peut être amené par +> l’attribut **name**. **Trafic-$name$ sera** remplacé par **Trafic-eth0** si +> le nom de l’interface est **eth0**. Le nom de l’attribut XML doit être mis +> entre deux caractères **$**. + +Puis compléter la règle : + + - **Hosts templates** : Les modèles qui seront utilisés pour définir la liste + des hôtes pour lesquels les règles de découverte seront exécutées + - **Linked Instances** : permet d’exécuter la règle que pour les hôtes liés + aux collecteurs sélectionnées. + +> Laisser vide pour exécuter la règle depuis n’importe quel collecteur. + + - **Contacts** : Les contacts qui seront notifiés sur la création ou la + désactivation de services à la suite de la découverte + - **Contact groups** : Les groupes de contacts qui seront notifiés sur la + création ou la désactivation de services à la suite de la découverte + - **Disable elements not found** : Permettre au module de désactiver les + services associés aux éléments qui ne sont plus trouvés + - **Update existing services** : Si actif, les services déjà découverts + seront mis à jour si une propriété change (valeur de macros + personnalisées, etc.). + - **Activate** : Activer ou désactiver la règle (la règle sera ignorée par le + processus de découverte si elle est désactivée). + +Cliquer sur **Save** pour sauvegarder la règle de découverte. + +### Inclusions/Exclusions & Macros + +Les **Inclusions/Exclusions et Macro** fonctionnent de la manière suivante : + +![image](../../assets/configuration/autodisco/create_rule_5.png) + +Les **Inclusions/Exclusions** permettent d’inclure ou d’exclure des éléments +durant la découverte. Cette inclusion/exclusion concerne les attributs XML. + +Les règles d’inclusion/exclusion sont définies à partir de l’algorithme suivant : + + - Si seulement des règles d’exclusion sont présentes, chaque élément sera pris + en compte, sauf ceux correspondant à une exclusion. + - Si les deux types sont présents, le processus vérifiera l’élément + correspondant à une inclusion puis s’assurera qu’il n’est pas listé dans une + exclusion. L'ordre dans lequel vous listez les règles est important. + +![image](../../assets/configuration/autodisco/create_rule_6.png) + +> Sur cette image toutes les macros seront créées sur le nouveau service car +> toutes les cases **Empty** sont sélectionnées. Pour ne pas créer ces macros, +> ne pas cocher les cases associées. La macro **$\_SERVICEINTERFACEID** sera +> créée et contiendra la valeur associée à l’attribut XML **$interfaceid** de +> l’élément. + +### Options avancées + +Le dernier onglet **Advanced** permet d’appliquer des regexp sur le champ +**Service display name** ou tout attribut du flux XML. Cliquer sur **Add a new +entry** pour ajouter une nouvelle entrée en définissant l’expression et le +résultat attendu : + +![image](../../assets/configuration/autodisco/create_rule_7.png) + +L’expression peut être appliquée sur : + + - **@SERVICENAME@** : le nom du service qui sera créé + - tous les attributs du flux XML via **$attribute\_name$** + +La seconde partie **Customize** code permet d’utiliser du code Perl. + +**Custom display scan** permet de modifier l’affichage dans la découverte +manuelle. Par défaut, la découverte manuelle affiche le nom du service. Voici un +exemple pour ajouter la taille des disques : + +``` perl +my ($value, $unit) = change_bytes(value => $total$); +$description = "@SERVICENAME@ [size = $value $unit]"; +``` + +**Custom variables** permet de créer des macros personnalisables. Voici un +exemple pour définir des seuils dynamiques selon la taille des disques : + +``` perl +my $total_gb = $total$ / 1000 / 1000 / 1000; +if ($total_gb < 100) { + $warning$ = 80; + $critical$ = 90; +} elsif ($total_gb < 500) { + $warning$ = 90; + $critical$ = 95; +} else { + $warning$ = 95; + $critical$ = 98; +} +``` + +Il est possible d’utiliser les macros **$warning$** et **$critical$** dans la +partie **Macros**. + +## Commandes de découverte + +Une **discovery commands** est la définition d’une ligne de commande exécutant +la [sonde de découverte](#discovery-plugins). + +Chaque sonde de découverte doit disposer de deux commandes : + + - La première pour récupérer la liste des attributs du flux XML + - La seconde pour récupérer la liste des éléments découverts sur l’équipement + +![image](../../assets/configuration/autodisco/commands_list.png) + +### Commande pour récupérer la liste des attributs XML + +Rendez-vous dans le menu **Configuration > Commandes > Découverte** et cliquez sur +**Ajouter** pour ajouter une nouvelle commande. + +Saisissez les champs suivants : + + - **Command Name** : nom de la commande + - **Command type** : sélectionnez l’option **Discovery** + - **Command Line** : saisissez la ligne de commande pour exécuter la sonde et + récupérer la liste des attributs XML + +> Toute commande utilisant les sondes du projet Centreon Plugin doit définir +> l’option **hostname**. Donc ajoutez l’option **--hostname=127.0.0.1** dans +> votre commande. + +![image](../../assets/configuration/autodisco/command_attributes.png) + +Voici un exemple de ligne de commande exécutée dans un terminal : + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=127.0.0.1 --disco-format +``` + +Et le résultat : + +``` xml + + + name + total + status + interfaceid + +``` + +Sauvegardez votre commande. + +### Commande pour récupérer la liste des items d'un hôte + +Rendez-vous dans le menu **Configuration > Commandes > Découverte** et cliquez sur +**Ajouter** pour ajouter une nouvelle commande. + +Saisissez les champs suivants : + + - **Command Name** : nom de la commande + - **Command type** : sélectionnez l’option **Discovery** + - **Command Line**: saisir la ligne de commande pour exécuter la sonde et + récupérer la liste des éléments disponibles + +![image](../../assets/configuration/autodisco/command_disco.png) + +Voici un exemple de ligne de commande exécutée dans un terminal : + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=192.168.220.129 --snmp-version=2 --snmp-community=public --disco-show +``` + +Et le résultat : + +``` xml + + + +``` + +Sauvegardez votre commande. + +## Sondes de découverte + +Une **sonde de découverte** (aussi appelée **plugin**) est un script qui liste +un ensemble d’éléments similaires comme les systèmes de fichiers ou les +interfaces réseaux d’un équipement donné. + +Cette sonde doit être exécutable en ligne de commande (shell) par l’utilisateur +`centreon` (ou l’utilisateur du moteur de supervision). Il peut être exécuté +localement ou à distance en utilisant des protocoles comme SSH ou NRPE. + +Les résultats doivent être présentés dans un flux XML valide où chaque élément +doit être décrit comme un attribut d’un noeud XML. Pour obtenir ce flux XML les +sondes de supervision Centreon Plugins utilisent l’option ‘–mode=xxx +–disco-show’. + +Par exemple : + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=192.168.220.129 --snmp-version=2 --snmp-community=public --disco-show +``` + +``` xml + + + +``` + +Ici, l’attribut `name` correspond au nom de l’interface réseau. `status` +représente l’état de l’interface (IFOPERSTATUS), `total` la bande passante +(IFSPEED) et `interfaceid` l’identifiant de l’interface (IFINDEX). + +La sonde de découverte doit également lister les attributs disponibles du flux +XML via une option. Les sondes de supervision Centreon Plugins utilisent +l’option ‘–mode=xxx –disco-format’. + +Par exemple : + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=127.0.0.1 --disco-format +``` + +``` xml + + + name + total + status + interfaceid + +``` + +Ici 4 attributs sont disponibles : `name`, `total`, `status` et `interfaceid`. + +## Tester manuellement une règle + +Il est possible de tester le fonctionnement du module manuellement grâce aux +options : + +| Directive | Type | Description | +|-----------------|---------|---------------------------------------------------------------------------------------------------------| +| filter\_rules | tableau | Permet d’exécuter la ou les règles | +| filter\_hosts | tableau | Permet d’exécuter toutes les règles de découverte liées aux modèles d’hôte du ou des hôtes sélectionnés | +| filter\_pollers | tableau | Permet d’exécuter les règles de découverte pour les ressources appartenant au ou aux collecteurs | +| dry\_run | booléen | Exécute la découverte sans changement dans la confugration (utiliser à des fin de test) | + +### Exemples + +Exécution de toutes les règles : + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{}' +``` + +Test de toutes les règles : + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "dry_run": 1 +}' +``` + +Test d'une règle en particulier : + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_rules": ["OS-Linux-SNMP-Network-Interfaces-Discovery"], + "dry_run": 1 +}' +``` + +Test de toutes les règles liées aux modèles d'hôte utilisés par l'hôte défini : + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_hosts": ["centreon-server"], + "dry_run": 1 +}' +``` + +Test d'une règle en particulier pour l'hôte défini : + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_rules": ["OS-Linux-SNMP-Network-Interfaces-Discovery"], + "filter_hosts": ["centreon-server"], + "dry_run": 1 +}' +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md new file mode 100644 index 000000000000..89034a7321f1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md @@ -0,0 +1,54 @@ +--- +id: troubleshooting-hosts-discovery +title: Dépanner les incidents sur la découverte des hôtes +--- + +## Les tâches de découverte ne s'affichent plus + +La page **Découverte** (dans **Configuration > Hôtes**) est vide et n'affiche plus aucune tâche de découverte des hôtes. + +### Problème + +L'erreur suivante apparaît dans le fichier **gorgoned.log** : + +``` shell +ERROR - [autodiscovery] -class- host discovery - cannot get host discovery jobs - request error [code: '500'] [message: 'Call to a member function getUuidAttributes() on null'] +``` + +### Solution + +> Ne supprimez pas le connecteur de supervision pour l'installer à nouveau ! + +Vous devez réinstaller le connecteur de supervision correspondant en cliquant sur le bouton de réinstallation : ![image](../../assets/monitoring/discovery/reinstall-complete.png). + +## Le scan de découverte reste bloqué à l'état planifié + +Lorsqu'un scan de découverte est lancé, il reste bloqué à l'état planifié. + +### Problème + +L'erreur suivante apparaît dans le fichier **gorgoned.log** : + +``` shell +ERROR - [autodiscovery] -class- host discovery - cannot get platform versions - Login error [code: '401'] [message: 'Unauthorized'] +``` + +### Solution + +Dans le fichier **/etc/centreon-gorgone/config.d/31-centreon-api.yaml**, remplacez la valeur **base_url** par **http://127.0.0.1/centreon/api/latest/** + +### Vérifications complémentaires + +- Vérifiez que le nom d'utilisateur et le mot de passe sont corrects dans le fichier **/etc/centreon-gorgone/config.d/31-centreon-api.yaml**. + +- Vérifiez que le nom d'utilisateur spécifié dans le fichier **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** accède bien à la configuration de l'API. Dans l'interface Centreon, allez à la page **Configuration > Utilisateurs > Contacts / Utilisateurs**. Puis dans l'onglet **Authentification Centreon**, vérifiez que le champ **Accès à l'API de configuration** est paramétré à **Oui**. + +## Le message "Aucun fournisseur trouvé" apparaît lors de la création d'une tâche de découverte des hôtes + +Lorsque vous cliquez sur le bouton **Ajouter** dans la page **Configuration > Hôtes > Découverte**, le message "Aucun fournisseur trouvé" s'affiche dans l'assistant de création. + +### Vérifications + +- Vérifiez que le module Auto Discovery est bien à jour dans la page **Administration > Extensions > Gestionnaire**. + +- Réinstallez le connecteur de supervision correspondant en cliquant sur le bouton de réinstallation : ![image](../../assets/monitoring/discovery/reinstall-complete.png). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/event-handler.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/event-handler.md new file mode 100644 index 000000000000..2f02584cf92c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/event-handler.md @@ -0,0 +1,216 @@ +--- +id: event-handler +title: Auto Remediation +--- + +## Introduction + +Le gestionnaire d'événements ou la correction automatique sont des commandes système facultatives (scripts ou +exécutables) qui sont exécutées chaque fois qu'un changement d'état d'un hôte ou d'un service se produit. + +Une utilisation évidente du gestionnaire d'événements est la possibilité pour Centreon de résoudre proactivement les +problèmes avant que quiconque ne soit averti. + +### Quand le gestionnaire d'événements est-il exécuté ? + +Le gestionnaire d'événements est exécuté lorsqu'un service ou un hôte : + +* Est dans un état problématique SOFT +* Entre initialement dans un état problématique HARD +* Récupère initialement d'un état problématique SOFT ou HARD +* Les états SOFT et HARD sont décrits [ici](../alerts-notifications/concepts.md#confirmation-du-statut) + +### Types de gestionnaires d'événements + +Il existe différents types de gestionnaires d'événements que vous pouvez définir pour gérer les changements d'état : + +* Gestionnaire d'événements global pour les hôtes +* Gestionnaire d'événements global pour les services +* Gestionnaire d'événements spécifiques à un hôte +* Gestionnaire d'événements spécifiques à un service + +Les gestionnaires d'événements globaux d'hôtes et de services sont exécutés pour chaque changement d'état d'hôte ou de +service qui se produit, immédiatement avant tout gestionnaire d'événement spécifique à l'hôte ou au service. + +### Activation des gestionnaires d'événements + +Les gestionnaires d'événements peuvent être activés ou désactivés sur un collecteur. + +Les gestionnaires d'événements spécifiques à l'hôte et au service peuvent être activés ou désactivés dans vos définitions +d'hôte et de service. Les gestionnaires d'événements spécifiques ne seront pas exécutés si l'option globale est désactivée +sur votre collecteur. + +### Ordre d'exécution du gestionnaire d'événements + +Comme déjà mentionné, les gestionnaires d'événements globaux d'hôte et de service sont exécutés immédiatement avant les +gestionnaires d'événements spécifiques à l'hôte ou au service. + +Les gestionnaires d'événements sont exécutés pour les problèmes HARD et les états de récupération immédiatement après +l'envoi des notifications. + +## Configuration + +### Créer une commande + +Les commandes du gestionnaire d'événements seront probablement des scripts shell ou perl, mais il peut s'agir de +n'importe quel type d'exécutable pouvant être exécuté à partir d'un invite de commande. Au minimum, les scripts doivent +prendre les macros suivantes comme arguments : + +* Pour les services : $SERVICESTATE$, $SERVICESTATETYPE$, $SERVICEATTEMPT$ +* Pour les hôtes : $HOSTSTATE$, $HOSTSTATETYPE$, $HOSTATTEMPT$ + +Les scripts doivent examiner les valeurs des arguments qui leur sont transmis et prendre toutes les mesures nécessaires +en fonction de ces valeurs. + +Les commandes du gestionnaire d'événements s'exécuteront normalement avec les mêmes autorisations que l'utilisateur sous +lequel Centreon Engine (utilisateur centreon-engine) s'exécute sur votre machine. Cela peut poser un problème si vous +souhaitez écrire un gestionnaire d'événements qui redémarre les services système, car les privilèges root sont +généralement requis pour effectuer ce type de tâches. + +Idéalement, vous devez évaluer les types de gestionnaires d'événements que vous allez implémenter et accorder juste +assez de permissions à l'utilisateur Centreon Engine pour exécuter les commandes système nécessaires. Vous voudrez +peut-être essayer d'utiliser sudo pour ce faire. + +Suivre [cette procédure pour créer une commande](./basic-objects/commands.md#adding-a-command). + +> Utilisez ** Misc ** pour le type de commande pour classer vos commandes. + +### Activer les gestionnaires d'événements sur votre plate-forme + +Rendez-vous dans le menu **Configuration > Pollers > Engine configuration** et éditer toutes les configuration Centreon +Engine sur lesquelles vous souhaitez activer le gestionnaire d'évènements. + +Dans l'onglet **Check Options**, activer l'option **Event Handler Option** : + +![image](../assets/configuration/enableeventhnadleronpoller.png) + +### Configurer les gestionnaires d'événements + +#### Globalement + +Pour configurer globalement la correction automatique pour toutes les ressources d'un poller, se rendre dans le menu +**Configuration > Pollers > Engine configuration** et éditer la configuration Centreon Engine sur lesquelles vous +souhaitez activer la correction automatique globale. + +Dans l'onglet **Check Options**, sélectionnez la commande pour les options **hosts and/or services event handler** : + +![image](../assets/configuration/enableglobaleventhnadleronpoller.png) + +Cliquer sur **Save**. + +#### Sur des ressources sélectionnées + +**Pour les hôtes** + +Se rendre dans le menu **Configuration > Hosts > Hosts** et éditer la configuration de votre hôte. Dans l'onglet +**Data Processing** sélectionner la commande : + +![image](../assets/configuration/enableeventhnadleronresources.png) + +Cliquer sur **Save**. + +> Vous pouvez configurer cette commande sur les modèles. + +**Pour les services** + +Se rendre dans le menu **Configuration > Services > Services by host** et éditer la configuration de votre hôte. Dans l'onglet +**Data Processing** sélectionner la commande : + +![image](../assets/configuration/enableeventhnadleronresources.png) + +Cliquer sur **Save**. + +> Vous pouvez configurer cette commande sur les modèles. + +### Exemple + +L'exemple ci-dessous suppose que vous surveillez le serveur HTTP sur la machine locale. Nous supposerons que l'option +Max Check Attempts pour le service a une valeur de 4 ou plus (c'est-à-dire que le service est vérifié 4 fois avant +qu'il ne soit considéré comme ayant un réel problème). Un exemple de définition de service abrégé pourrait ressembler +à ceci ... + +Le script du gestionnaire d'événements (/usr/lib/centreon/plugins/eventhandlers/restart-httpd). + +```Shell +#!/bin/sh +# +# Event handler script for restarting the web server on the local machine +# +# Note: This script will only restart the web server if the service is +# retried 3 times (in a "soft" state) or if the web service somehow +# manages to fall into a "hard" error state. +# + +# What state is the HTTP service in? +case "$1" in +OK) + # The service just came back up, so don't do anything... + ;; +WARNING) + # We don't really care about warning states, since the service is probably still running... + ;; +UNKNOWN) + # We don't know what might be causing an unknown error, so don't do anything... + ;; +CRITICAL) + # Aha! The HTTP service appears to have a problem - perhaps we should restart the server... + # Is this a "soft" or a "hard" state? + case "$2" in + + # We're in a "soft" state, meaning that Centreon is in the middle of retrying the + # check before it turns into a "hard" state and contacts get notified... + SOFT) + + # What check attempt are we on? We don't want to restart the web server on the first + # check, because it may just be a fluke! + case "$3" in + + # Wait until the check has been tried 3 times before restarting the web server. + # If the check fails on the 4th time (after we restart the web server), the state + # type will turn to "hard" and contacts will be notified of the problem. + # Hopefully this will restart the web server successfully, so the 4th check will + # result in a "soft" recovery. If that happens no one gets notified because we + # fixed the problem! + 3) + echo -n "Restarting HTTP service (3rd soft critical state)..." + # Call the init script to restart the HTTPD server + /etc/rc.d/init.d/httpd restart + ;; + esac + ;; + + # The HTTP service somehow managed to turn into a hard error without getting fixed. + # It should have been restarted by the code above, but for some reason it didn't. + # Let's give it one last try, shall we? + # Note: Contacts have already been notified of a problem with the service at this + # point (unless you disabled notifications for this service) + HARD) + echo -n "Restarting HTTP service..." + # Call the init script to restart the HTTPD server + /etc/rc.d/init.d/httpd restart + ;; + esac + ;; +esac +exit 0 +``` + +L'exemple de script fourni ci-dessus tentera de redémarrer le serveur Web sur la machine locale : + +* Une fois que le service a été revérifié pour la troisième fois et est dans un état SOFT CRITICAL +* Une fois que le service passe pour la première fois dans un état HARD CRITICAL + +Le script devrait théoriquement redémarrer et le serveur Web et résoudre le problème avant que le service ne passe dans +un état de problème HARD, mais nous incluons un cas de secours dans le cas où cela ne fonctionne pas la première fois. +Il convient de noter que le gestionnaire d'événements ne sera exécuté que la première fois que le service tombe dans un +état de problème HARD. Cela empêche Centreon d'exécuter en continu le script pour redémarrer le serveur Web si le +service reste dans un état de problème HARD, vous ne souhaitez pas ce comportement. + +Ensuite, créez une commande comme: + +* Command Name: restart-httpd +* Command Type: Misc +* Command Line: $CENTREONPLUGINS$/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ + +Maintenant, dans la définition du service, sélectionner la commande **restart-httpd** pour votre définition de +gestionnaire d'événements. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/generic-actions.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/generic-actions.md new file mode 100644 index 000000000000..8e7ba4bc1a5f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/generic-actions.md @@ -0,0 +1,145 @@ +--- +id: generic-actions +title: Actions génériques +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +Au sein du menu **Configuration** il est possible d’effectuer certaines actions "génériques" sur les différents objets. + +## Ajouter un objet + +L’ajout d’un nouvel objet se fait via le bouton **Ajouter** à côté du menu **Plus d'actions**/au-dessus de la liste des objets. + +![image](../assets/configuration/common/add.png) + +## Dupliquer un objet + +La duplication d’un objet permet de copier/cloner celui-ci afin de pouvoir réutiliser ses attributs pour la création +d’un nouvel objet. Exemple : J’ai 10 serveurs web identiques à superviser : + +1. J’ajoute le premier serveur web avec tous les attributs nécessaires. +2. Je duplique cet hôte 9 fois. +3. Je n’ai plus qu’à changer les noms d’hôtes et les adresses IP de chaque duplication pour les adapter aux 9 autres + serveurs web à superviser. + +Grâce à cette méthode, il n’est plus nécessaire de créer unitairement chaque hôte. + + + + + +Par exemple, pour dupliquer une Business Activity: + +1. Sélectionnez la Business Activity que vous souhaitez dupliquer en cochant la case associée. +2. Cliquez sur l'icône **Dupliquer** qui apparaît au survol de l'objet : ![image](../assets/configuration/common/duplicate_new.png#thumbnail1) +3. Entrez le nombre d'exemplaires supplémentaires de l'objet que vous souhaitez obtenir. + + ![image](../assets/configuration/common/duplicate_objects_new.png) + +4. Cliquez sur **OK**. + + + + +Par exemple, pour dupliquer un hôte : + +1. Sélectionnez l’hôte que vous souhaitez dupliquer. +2. Dans la colonne **Options**, entrez le nombre d'exemplaires supplémentaires que vous souhaitez obtenir: + + ![image](../assets/configuration/common/01duplicate.png) + +3. Dans le menu **Plus d'actions** cliquez sur **Dupliquer**, puis confirmez la duplication. + + ![image](../assets/configuration/common/01duplicateobjects.png) + + + + + +## Changement massif + +Les changements massifs permettent d’appliquer un changement à plusieurs objets à la fois. + +Exemple : L’ensemble des serveurs web précédemment créés changent de communauté SNMP. Un changement massif permet de +modifier cette communauté sans devoir modifier chaque fiche de chaque hôte unitairement. + +Pour effectuer un changement massif : + + + + +1. Sélectionnez les objets que vous souhaitez modifier. +2. Cliquez sur l'icône **Changement multiple** au-dessus de la liste des objets : ![image](../assets/configuration/common/mass_change.png) +3. Confirmez les changements. + + + + +1. Sélectionnez les objets que vous souhaitez modifier. +2. Dans le menu **Plus d'actions**, cliquez sur **Changement massif**. +3. Le formulaire correspondant au type d'objet s'ouvre, avec deux options à côté de chaque champ: + + * **Incrémentale** : la modification va s’ajouter aux options déjà existantes + * **Remplacement** : la modification va écraser les options déjà existantes. + + + + +## Activer/Désactiver un objet + +L’activation et la désactivation des objets permettent de prendre en compte ou non l’objet lors de la génération de la +configuration. Le principal intérêt est de pouvoir garder la configuration d’un objet sans pour autant l’appliquer. + +Pour activer/désactiver un objet : + + + + +1. Sélectionnez les objets que vous souhaitez modifier. +2. Cliquez sur l'icône désirée dans la ligne de l'objet ou au-dessus de la liste : + + * **Activer** ![image](../assets/configuration/common/enabled_new.png#thumbnail2) + * **Désactiver** ![image](../assets/configuration/common/disabled_new.png#thumbnail2) + + + + +1. Sélectionnez les objets que vous souhaitez modifier. +2. Dans le menu **Plus d'actions**, cliquez sur **Activer/désactiver**. + +Vous pouvez également utiliser les boutons suivants en fin de ligne : + + * **Activer** ![image](../assets/configuration/common/enabled.png#thumbnail1) + * **Désactiver** ![image](../assets/configuration/common/disabled.png#thumbnail1) + + ![image](../assets/configuration/common/enable_disable.png) + + + + +## Supprimer un objet + +> La suppression d’un objet est définitive. Si vous avez supprimé un objet par accident, il vous faudra le recréer. De +> même, la suppression d’un objet supprime automatiquement tous les objets qui sont liés à lui et ne peuvent vivre +> sans. Exemple : La suppression d’un hôte entraîne la suppression de tous les services associés à cet hôte. + +Pour supprimer un objet : + + + + +1. Sélectionnez les objets que vous souhaitez supprimer. +2. Cliquez sur l'icône **Supprimer** : ![image](../assets/configuration/common/delete_new.png#thumbnail1) +3. Confirmer l'action. + + + + +1. Sélectionnez les objets que vous souhaitez supprimer. +2. Dans le menu **Plus d'actions**, cliquez sur **Supprimer**. +3. Confirmer l'action. + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/groups.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/groups.md new file mode 100644 index 000000000000..a817afc14c8a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/groups.md @@ -0,0 +1,61 @@ +--- +id: groups +title: Groupes +--- + +Il est possible de regrouper des hôtes ou des services au sein de groupes. + +D’une manière générale, les groupes sont des conteneurs permettant de regrouper un ensemble d’objets possédant une +propriété commune : + +* Même identité matérielle (serveurs Dell, HP, IBM, ...), identité logique (équipements réseau) ou identité géographique + (Europe, Asie, Afrique, Amérique du nord, ...) +* Appartenance à une même application (application CMS, ...) ou à un même secteur d’activité (Gestion de la paie, ...) + +Les groupes d’hôtes et de services sont utilisés pour : + +* La configuration des [ACLs](../administration/access-control-lists.md) afin de lier un ensemble de ressources à un type de profil +* Permettre de visualiser les rapports de disponibilité par groupe. Générer un rapport de disponibilité des ressources + "Agence Paris". +* Permettre de visualiser le statut d’un ensemble d’objets en sélectionnant dans les filtres de recherche un groupe d’objets +* Rechercher rapidement un à plusieurs graphiques de performances en parcourant l’arbre des objets par groupes puis par ressource +* D’une manière générale, on cherche à regrouper les hôtes par niveau fonctionnel. Exemple : Hôtes DELL, HP ou encore + Hôtes Linux, Windows... On cherche également à regrouper les services par applications métiers. Exemple : application de + gestion de la paie, application ERP, ... + +> Pour les hôtes appartenant à un groupe d’hôtes, la rétention des fichiers RRD peut être définie au sein du groupe +> d’hôtes auquel il appartient. Cette définition vient surcharger la définition globale. Dans le cas où un même hôte +> appartient à plusieurs groupes possédant chacun une définition de rétention, la valeur la plus élevée sera +> sélectionnée pour l’hôte. + +## Créer un groupes d’hôtes + +Rendez-vous dans le menu **Configuration > Hôtes > Groupes d'hôtes** et cliquez sur **Ajouter**. + +* Les champs **Nom** et **Alias** regroupent le nom et l’alias du groupe d’hôtes. +* La liste **Membres** permet d’ajouter des hôtes au sein du nouveau groupe d’hôtes. +* Le champ **Notes** permet d’ajouter des notes optionnelles concernant le groupe d’hôtes. +* Le champ **URL** définit une URL qui peut être utilisée pour donner davantage d’informations sur le groupe d’hôtes. +* Le champ **URL d'action** définit une URL habituellement utilisée pour donner des informations d’actions sur le groupe + d’hôtes (maintenance...). +* Le champ **Icône** indique l’icône à utiliser pour le groupe d’hôtes. +* Le champ **Icône pour la carte** est l’icône utilisée pour la cartographie. +* Le champ **Coordonnées géographiques** définit les coordonnées géographiques utilisées par le module Centreon Map pour positionner + l'élément sur la carte. Définissez "Latitude, Longitude", par exemple pour le jeu de coordonnées de Paris "48.51,2.20" +* Le champ **Rétention des fichiers RRD** est exprimé en jours, il permet de définir la durée de rétention des services appartenant + à ce groupe d’hôtes au sein de la base de données RRD. Si cette valeur est vide, la valeur sera celle par défaut + définie dans le menu **Administration > Options > CentStorage**. +* Les champs **Activer/désactiver la ressource** et **Commentaires** permettent d’activer ou de désactiver le groupe d’hôtes et de commenter celui-ci. + +## Créer un groupe de services + +Rendez-vous dans le menu **Configuration > Services > Groupes de services** et cliquez sur **Ajouter**. + +* Les champs **Nom** et **Description** regroupent le nom et la description du groupe de services. +* La liste **Services d'hôte liés** permet de choisir les différents services qui feront partie de ce groupe. +* La liste **Services liés au groupe d'hôte** permet de choisir les services liés à un groupe d’hôtes qui feront partie de + ce groupe. +* Si un modèle de service appartient à la liste **Modèles de service liés** alors tous les services qui héritent de + ce modèle appartiennent à ce groupe. +* Les champs **Statut** et **Commentaires** permettent d’activer ou de désactiver le groupe de services et de commenter + celui-ci. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/metrics.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/metrics.md new file mode 100644 index 000000000000..2ea2f1f548be --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/metrics.md @@ -0,0 +1,207 @@ +--- +id: metrics +title: Comprendre les métriques +--- + +## Qu'est-ce qu'une métrique ? + +Une métrique, ou "donnée de performance", est un élément d'un service. Un service peut comprendre plusieurs métriques, ou aucune. + +Les métriques permettent d’obtenir des graphiques et de positionner des seuils pour être alerté. + +### Statut des métriques et statut du service + +Lorsqu’un service comprend plusieurs métriques, le statut du service est le plus mauvais parmi les statuts de toutes les métriques. L'ordre de priorité est le suivant : OK, INCONNU, ALERTE, CRITIQUE. + +Si une métrique n'est pas récupérée, son statut est considéré comme INCONNU et impactera le statut du service associé. + +### Services sans métriques + +Certains services n'ont aucune métrique associée : il s'agit de services contrôlant des états et non des valeurs numériques. Typiquement, des contrôles sur des équipements matériels. Le statut que prend le service est directement défini dans le code de chaque plugin, en fonction de la réponse de l'équipement. + +## Où voir les métriques d'un service dans Centreon ? + +À la page **Statut des ressources**, dans le panneau de détails d'un service, la section **Données de performance** donne les valeurs détaillées de toutes les métriques associées à ce service, pour le dernier contrôle effectué. + +Exemple : Nous supervisons un collecteur Centreon (pour ce service, via le connecteur [Linux SNMP](https://docs.centreon.com/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp/#collected-metrics--status)). Dans l'image suivante, le service **Memory** retourne 6 métriques : **used**, **free**, **used_prct**, **buffer**, **cached** et **shared**. + +![image](../assets/monitoring/metrics.png) + +Vous pouvez également : + +* Voir l'évolution de toutes les métriques d'un service dans l'onglet **Graphique** du panneau de détails du service. +* Représenter le dernière valeur d'une métrique dans un [tableau de bord](../alerts-notifications/dashboards.md), grâce au widget **Métrique unique**. + +## Quel est le format d'une métrique ? + +Dans tous les cas, le format des métriques telles que retournées par les plugins est le suivant : + +```text +'nom_de_la_métrique'= valeur[unité];alerte;critique;min;max +``` + +* **valeur** : la valeur affichée dans le panneau de détails est celle retournée par le dernier contrôle effectué. + +* **alerte/critique**: [seuils](#syntaxe-des-seuils-des-métriques) pour lesquels le statut de la métrique sera ALERTE ou CRITIQUE. Si aucun seuil n'est défini, le statut de la métrique sera toujours OK. La valeur de ces seuils est définie [dans une macro spécifique au service, ou bien dans la macro EXTRAOPTIONS du service](#comment-définir-des-seuils-pour-des-métriques-spécifiques). + + > Il est possible de ne définir qu'un seuil CRITIQUE, sans passer par le stade ALERTE (et vice-versa). + +* **min/max** : Il ne s'agit pas de la valeur minimale/maximale constatée dans les données de performance, mais de la valeur minimale/maximale possible que peut prendre la métrique. Par exemple, le maximum d'une utilisation CPU sera toujours 100%. Pour certains plugins ou modes, ces valeurs peuvent être redéfinies [dans la macro EXTRAOPTIONS](#comment-définir-des-seuils-pour-des-métriques-spécifiques). + + * Le min et le max seront les valeurs minimales/maximales sur l'axe des Y du graphique. Si aucun min et max ne sont définis, le graphique s'adaptera en hauteur en fonction de la plus petite et la plus grande valeur constatées. Redéfinir les valeurs min/max permet de rendre l'affichage des graphes le plus pertinent possible : si plusieurs graphiques représentant le même service pour plusieurs hôtes sont affichés ensemble, définir le même min et max permet de représenter toutes les métriques à la même échelle. + * Elles servent également à évaluer le niveau d'utilisation d'une ressource par rapport à sa capacité, d'où l'intérêt de pouvoir les redéfinir dans certains cas. Par exemple, si on contrôle le trafic réseau sur une interface, l'interface fournit son débit maximum théorique au plugin, mais celui-ci peut être changé à la main si le débit réel est limité par le fait d'être connecté à un autre équipement. Cela a notamment un impact sur les chiffres exploités dans les rapports de capacité dans [MBI](../reporting/introduction.md). + * Les valeurs min et max peuvent également servir à représenter les données sous forme de jauge dans [MAP](../graph-views/introduction-map.md). + +### Syntaxe des seuils des métriques + +* **x** : on alerte si la valeur de la métrique est strictement supérieure à **x** (**80** signifie donc qu'on alerte si la valeur est supérieure à 80). +* **x:** : on alerte si la valeur de la métrique est strictement inférieure à **x** (**50:** signifie donc qu'on alerte si la valeur est inférieure à 50). +* **x:y** : on alerte si la valeur de la métrique est située en-dehors de cette fourchette (**0:10** signifie donc en-dessous de 0 ou au-dessus de 10). Par exemple, on peut déterminer que la température dans un datacenter sera critique si elle est inférieure à 18 ou supérieure à 24 : on entrera **18:24**. +* **@x:y** : on alerte si la valeur de la métrique est située dans la plage (**@0:10** signifie donc qu'on alerte si la valeur de la métrique est située entre 0 et 10). +* **x:x** : la valeur de la métrique doit être égale à la valeur **x** pour que son statut soit OK. + +## Comment définir des seuils pour une métrique spécifique ? + +Pour définir un seuil pour une métrique spécifique, il faut ajouter une option dans la macro EXTRAOPTIONS du service (si une macro spécifique à une métrique n'existe pas déjà). Pour chaque connecteur, la documentation inclut le tableau des options, dans la section **Options disponibles > Options des modes**. + +**Exemple** : Un connecteur [**HWg-STE Sensor**](/pp/integrations/plugin-packs/procedures/hardware-sensors-hwgste-snmp) apporte un service **Sensors-Global**, qui comprend 2 métriques : **hardware.sensor.temperature** et **hardware.sensor.humidity.percentage**. On veut définir des seuils ALERTE et CRITIQUE pour la température et pour l'humidité. La documentation explique : + +| Option | Description | +| ------ | ----------- | +| --warning | Set warning threshold for 'temperature', 'humidity' (syntax: type,regexp,threshold) Example: --warning='temperature,.*,30' | +| --critical | Set critical threshold for 'temperature', 'humidity' (syntax: type,regexp,threshold) Example: --warning='temperature,.*,50' | + +(Ici, **regexp** permet de filtrer sur un capteur spécifique s'il y en a plusieurs. Pour inclure tous les capteurs, mettre `.*`) + +Donc dans la macro EXTRAOPTIONS du service, on entrera : + +```text +--warning='temperature,.*,30' --warning='humidity,.*,60' --critical='temperature,.*,50' --critical='humidity,.*,80' +``` + +## Exemples de commandes et de métriques retournées + +### Service HTTP-Response-Time + +**Commande** + +```bash +/usr/lib/centreon/plugins//centreon_protocol_http.pl \ +--plugin=apps::protocols::http::plugin \ +--mode=response \ +--hostname=xxx.xxx.xxx.xxx \ +--proto='http' \ +--port='80' \ +--urlpath='/' \ +--warning='' \ +--critical='' +``` + +**Métriques retournées** + +```text +'time'=0.224s;;;0; 'size'=579B;;;0; +``` + +### Service CPU + +**Commande** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=cpu \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning-average='80' \ +--critical-average='90' \ +--critical-core='85' +``` + +**Métriques retournées** + +```text +'total_cpu_avg'=17.00%;0:80;0:90;0;100 'cpu_0'=16.00%;;0:85;0;100 'cpu_1'=18.00%;;0:85;0;100 +``` + +### Service Ping + +**Commande** + +```bash +/usr/lib64/nagios/plugins/check_icmp \ +-H xxx.xxx.xxx.xxx \ +-w 200.000,20% \ +-c 400.000,50% -p 1 +``` + +**Métriques retournées** + +```text +rta=0,984ms;200,000;400,000;0; pl=0%;20;50;0;100 rtmax=4,721ms;;;; rtmin=0,032ms;;;; +``` + +### Service Swap + +**Commande** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=swap \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning-usage-prct='10' \ +--critical-usage-prct='30' +``` + +**Métriques retournées** + +```text +'used'=270487552B;;;0;1719660544 'free'=1449172992B;;;0;1719660544 'used_prct'=15.73%;0:10;0:30;0;100 +``` + +### Service Load + +**Commande** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=load \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning='4,3,2' \ +--critical='6,5,4' +``` + +Ici, les seuils alerte et critique sont définis pour des périodes glissantes de 1, 5 et 15 minutes. + +**Métriques retournées** + +```text +'load1'=0.30;0:4;0:6;0; 'load5'=0.16;0:3;0:5;0; 'load15'=0.29;0:2;0:4;0; +``` + +### Service Chronyd + +**Commande** + +```bash +/usr/lib/centreon/plugins/centreon_linux_snmp.pl \ +--plugin os::linux::snmp::plugin \ +--hostname 127.0.0.1 \ +--snmp-community public \ +--mode processcount \ +--process-name chronyd \ +--critical 2:2 +``` + +**Sortie de la commande** + +```text +CRITICAL: Number of current processes running: 1 | 'nbproc'=1;;2:2;0; +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md new file mode 100644 index 000000000000..0ec9767b583b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md @@ -0,0 +1,251 @@ +--- +id: add-a-poller-to-configuration +title: Rattacher un collecteur à un serveur central ou distant +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prérequis + +Installez le collecteur [en utilisant les paquets](../../installation/installation-of-a-poller/using-packages.md). + +## Étape 1 : Configurer un nouveau collecteur + +Depuis la version 18.10, un nouvel assistant de configuration permet de créer +toutes les configurations nécessaires pour ajouter un collecteur. + +> Vous pouvez toujours ajouter un nouveau collecteur manuellement mais la procédure +> suivante est recommandée. + +1. Rendez-vous dans le menu **Configuration > Collecteurs > Collecteurs** et cliquez sur +**Ajouter** pour accéder à l'assistant de +configuration. + +2. Sélectionnez **Ajouter un collecteur Centreon** et cliquez sur **Suivant** : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-1.png) + +3. Sélectionnez l'option désirée : + - **Create new Poller** si vous n'avez pas encore enregistré le collecteur sur le serveur central ou un serveur distant + - **Select a Poller** si vous avez déjà enregistré le collecteur sur le serveur central ou un serveur distant. + +4. Saisissez le nom, l'adresse IP du collecteur et celle du serveur Central, puis +cliquez sur **Suivant** : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-2.png) + + > L'adresse IP du collecteur est l'adresse IP ou le FQDN pour accéder au + > collecteur depuis le serveur Central. + > + > L'adresse IP du serveur Central est l'adresse IP ou le FQDN pour accéder au + > serveur Central depuis le collecteur. + +5. Reliez le collecteur au central ou à un serveur distant : + + - Si vous souhaitez lier ce collecteur au serveur Central, cliquez sur +**Appliquer** : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-3.png) + + - Si vous souhaitez lier ce collecteur à un serveur distant, sélectionnez celui-ci dans la liste et cliquez sur **Appliquer**. + + Patientez quelques secondes, l'assistant va configurer votre nouveau serveur. + + ![image](../../assets/monitoring/monitoring-servers/poller-list-zmq.png) + +## Étape 2 : Activer la communication + +La communication entre le serveur Central et un Poller est assurée par Gorgone et peut +être faite en utilisant ZMQ (avec un Gorgone s'exécutant sur le Poller, +recommandé) ou en utilisant le protocole SSH. + + + + +1. Sélectionner le type de communication : + + Éditez la configuration du Poller fraîchement créé, et sélectionnez **ZMQ** + comme **Protocole de connexion utilisé par Gorgone**. Définissez le **port** + adéquat (le port **5556** est recommandé). + + ![image](../../assets/monitoring/monitoring-servers/poller-edit-zmq.png) + + Cliquez sur **Sauvegarder**. + + > Notez que le *SSH Legacy port* n'est plus utilisé et sera supprimé. + > + > Si vous l'utilisiez dans des scripts personnalisés, pensez à changer pour + > utiliser le système de communication de Gorgone. + +2. Afficher la configuration de Gorgone : + + Depuis la liste des collecteurs, cliquez sur l'icône d'action **Gorgone + configuration** sur la ligne correspondant à votre collecteur : ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail2) + + Une pop-in affiche la configuration à copier dans le **terminal du collecteur**. + Cliquez sur **Copy to clipboard**. + + ![image](../../assets/monitoring/monitoring-servers/poller-gorgone-display-config.png) + + Collez le contenu du presse-papier directement dans le **terminal du collecteur** + car celui-ci créera le fichier de configuration attendu : + + ```shell + cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml + name: gorgoned-My Poller + description: Configuration for poller My Poller + gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + EOF + ``` + + Appuyez sur la touche *Entrée* pour que la commande soit appliquée. + + > Vous pouvez copier la configuration en sélectionnant le contenu de la pop-in + > pour la coller dans un fichier de configuration personnalisé. + +3. Redémarrer le daemon Gorgone : + + Depuis le Poller, exécutez la commande suivante pour redémarrer le service + Gorgone : + + ```shell + systemctl restart gorgoned + ``` + + Assurez-vous que le service est démarré en exécutant la commande suivante : + + ```shell + systemctl status gorgoned + ``` + + Le résultat devrait être similaire à ceci : + + ```shell + ● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2020-03-24 19:45:00 CET; 20h ago + Main PID: 28583 (perl) + CGroup: /system.slice/gorgoned.service + ├─28583 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─28596 gorgone-dbcleaner + ├─28597 gorgone-engine + └─28598 gorgone-action + + Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. + ``` + +4. Pour forcer le Gorgone du Central à se connecter au collecteur, redémarrez-le avec +la commande suivante depuis le **serveur Central** : + + ```shell + systemctl restart gorgoned + ``` + + + + +1. Sélectionner le type de communication : + + Éditez la configuration du collecteur fraîchement créé, et sélectionnez **SSH** +comme **Protocole de connexion utilisé par Gorgone**. Définissez le **port** adéquat. + + ![image](../../assets/monitoring/monitoring-servers/poller-edit-ssh.png) + + 2. Cliquez sur **Sauvegarder**. + + > Notez que le *SSH Legacy port* n'est plus utilisé et sera supprimé. + > + > Si vous l'utilisiez dans des scripts personnalisés, pensez à changer pour + > utiliser le système de communication de Gorgone. + +3. Échange de clés SSH : + + Si vous n’avez pas de clé SSH privée sur le **serveur Central** pour + l’utilisateur **centreon-gorgone**, vous pouvez la créer avec la commande + suivante : + + ``` shell + su - centreon-gorgone + ssh-keygen -t rsa + ``` + + > Appuyez sur la touche *Entrée* quand il vous sera demandé de saisir un + > fichier pour enregistrer la clé. **Laissez le mot de passe vide**. Vous + > recevrez une empreinte digitale de clé et une image randomart. + + Générez un mot de passe sur le **nouveau Poller** pour l'utilisateur **centreon** : + + ``` shell + passwd centreon + ``` + + Pour finir, vous devez copier cette clé sur le **nouveau Poller** avec les + commandes suivantes : + + ``` shell + su - centreon-gorgone + ssh-copy-id -i .ssh/id_rsa.pub centreon@ + ``` + + 5. Pour forcer le Gorgone du Central à se connecter au collecteur, redémarrez-le avec +la commande suivante depuis le **serveur Central** : + + ```shell + systemctl restart gorgoned + ``` + + + + +## Étape 3 : Exporter la configuration du serveur distant + +Cette étape ne s'applique que si vous rattachez un collecteur à un serveur distant et non à un serveur central. + +1. Sur le serveur central, déployez la configuration du serveur distant auquel le collecteur sera rattaché : + + - À la page **Configuration > Collecteurs > Collecteurs**, sélectionnez le serveur distant. + - Cliquez sur **Exporter la configuration**. + - Cochez les quatre premières cases, sélectionnez la méthode **Redémarrer** puis cliquez sur **Exporter**. + +2. Redémarrez gorgone sur le serveur distant : + + ```shell + systemctl restart gorgoned + ``` + +## Étape 4 : Exporter la configuration du collecteur + +1. Depuis la liste des collecteurs, sélectionnez le collecteur et cliquez sur **Exporter +la configuration**. + +2. Cochez ensuite les quatre premières cases, sélectionnez la méthode **Redémarrer** +puis cliquez sur **Exporter** : + + ![image](../../assets/monitoring/monitoring-servers/poller-generate-config.png) + + Le moteur de supervision du collecteur va alors démarrer et se connecter au Broker du serveur central ou du serveur distant (suivant le serveur auquel vous avez rattaché le collecteur). + + ![image](../../assets/monitoring/monitoring-servers/poller-list-zmq-started.png) + +## Premiers pas + +Rendez-vous dans le chapitre [Premiers pas](../../getting-started/welcome.md) +pour mettre en place votre première supervision. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md new file mode 100644 index 000000000000..8a4ca0ecba74 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md @@ -0,0 +1,269 @@ +--- +id: add-a-remote-server-to-configuration +title: Rattacher un serveur distant à un serveur central +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Prérequis + +Installez le serveur distant [en utilisant les paquets](../../installation/installation-of-a-remote-server/using-packages.md). + +## Étape 1 : Configurer un nouveau Remote Server + +Depuis la version 18.10, un nouvel assistant de configuration permet de créer +toutes les configurations nécessaires pour ajouter un Remote Server. + +1. Rendez-vous dans le menu **Configuration > Collecteurs** et cliquez sur +**Ajouter** pour accéder à l'assistant de +configuration. + +2. Sélectionnez **Ajouter un serveur distant Centreon** et cliquez sur +**Suivant** : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-1.png) + +3. Sélectionnez l'option désirée : + + - Si vous avez activé votre serveur en suivant la documentation, sélectionnez +l'option **Sélectionnez un serveur distant**. Dans la liste déroulante +sélectionnez votre serveur, puis saisissez les informations demandées : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-2a.png) + + - Sinon, sélectionnez l'option **Créer un nouveau serveur distant** et saisissez les informations demandées : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-2b.png) + + Les champs **Nom de l'utilisateur ayant accès à la base de données** et **Mot de + passe de l'utilisateur ayant accès à la base de données** sont les accès aux + bases de données Centreon définis durant l'installation de votre serveur distant. + + Le champ **Adresse IP du serveur** est de la forme : [(http|https)://]@IP[:(port)]. + Si votre serveur distant est accessible en HTTPS, il est nécessaire de préciser + la méthode d'accès et le port si celui-ci n'est pas par défaut. + + L'option **Do not check SSL certificate validation** permet de contacter le + serveur distant si celui-ci possède un certificat SSL auto-signé. + + L'option **Do not use configured proxy to connect to this server** permet de + contacter le serveur distant en n'utilisant pas la configuration du proxy + configurée sur le serveur Central. + +4. Cliquez sur **Suivant** : + +5. Sélectionnez le(s) collecteur(s) à lier à ce serveur distant. Puis cliquez sur **Appliquer** : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-3.png) + + L'assistant va configurer votre nouveau serveur : + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-4.png) + + Le serveur distant est maintenant configuré : + + ![image](../../assets/monitoring/monitoring-servers/remote-list-zmq.png) + +6. Si vous avez personnalisé les noms des bases à l'étape 6 de [l'installation web](../../installation/web-and-post-installation.md), effectuez les étapes suivantes: + + 1. Allez à la page **Configuration > Collecteurs > Configuration de Centreon broker**. + 2. Sélectionnez le service broker du serveur distant désiré. + 3. Dans l'onglet **Output**, dans la section **Output 1 - Unified SQL**, mettez à jour le nom de la base dans le champ **DB name** (le nom par défaut de la base est **centreon_storage**), puis cliquez sur **Sauvegarder**. + 4. [Exportez la configuration](deploying-a-configuration.md) du serveur distant. + 5. Redémarrez cbd: + + ```shell + systemctl restart cbd + ``` + + Si besoin, consultez **/var/log/centreon-broker/.log** pour identifier des erreurs. (Dans l'exemple ci-dessus, il s'agit du fichier **/var/log/centreon-broker/remote-server.log**.) + +## Étape 2 : Activer la communication + +La communication entre le serveur Central et un serveur distant est assurée par Gorgone et peut +être faite en utilisant ZMQ (avec un Gorgone s'exécutant sur le serveur distant, +recommandé) ou en utilisant le protocole SSH. + + + + +1. Sélectionner le type de communication : + + Éditez la configuration du serveur distant fraîchement créé, et sélectionnez **ZMQ** + comme **Protocole de connexion utilisé par Gorgone**. Définissez le **port** + adéquat (le port **5556** est recommandé). + + ![image](../../assets/monitoring/monitoring-servers/remote-edit-zmq.png) + +2. Cliquez sur **Sauvegarder**. + + > Notez que le *SSH Legacy port* n'est plus utilisé et sera supprimé. + > + > Si vous l'utilisiez dans des scripts personnalisés, pensez à changer pour + > utiliser le système de communication de Gorgone. + +2. Copier la configuration de Gorgone : + + Depuis la liste des collecteurs, cliquez sur l'icône d'action **Gorgone + configuration** sur la ligne correspondant à votre serveur distant ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail2) + + Une pop-in affiche la configuration à copier dans le **terminal du serveur + distant**. + Cliquez sur **Copy to clipboard**. + + ![image](../../assets/monitoring/monitoring-servers/remote-gorgone-display-config.png) + + Collez le contenu du presse-papier directement dans le **terminal du serveur distant** + car celui-ci créera le fichier de configuration attendu : + + ```shell + cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml + name: gorgoned-My Remote Server + description: Configuration for remote server My Remote Server + gorgone: + gorgonecore: + id: 3 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: "gorgone::modules::core::cron::hooks" + enable: true + cron: !include cron.d/*.yaml + + - name: nodes + package: gorgone::modules::centreon::nodes::hooks + enable: true + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/cache/centreon/config/remote-data/" + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: statistics + package: "gorgone::modules::centreon::statistics::hooks" + enable: true + broker_cache_dir: "/var/cache/centreon/broker-stats/" + cron: + - id: broker_stats + timespec: "*/5 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 + - id: engine_stats + timespec: "*/5 * * * *" + action: ENGINESTATS + parameters: + timeout: 10 + + EOF + ``` + + Appuyer sur la touche *Entrée* pour que la commande soit appliquée. + + > Vous pouvez copier la configuration en sélectionnant le contenu de la pop-in + > pour la copier dans un fichier de configuration personnalisé. + +3. Démarrer le daemon Gorgone : + + Depuis le serveur distant, exécutez la commande suivante pour redémarrer le + service Gorgone : + + ```shell + systemctl restart gorgoned + ``` + + Assurez-vous que le service est démarré en exécutant la commande suivante : + + ```shell + systemctl status gorgoned + ``` + + Le résultat devrait être similaire : + + ```shell + ● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Wed 2020-03-24 19:45:00 CET; 6s ago + Main PID: 30902 (perl) + CGroup: /system.slice/gorgoned.service + ├─30902 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─30916 gorgone-nodes + ├─30917 gorgone-dbcleaner + ├─30924 gorgone-proxy + ├─30925 gorgone-proxy + ├─30938 gorgone-proxy + ├─30944 gorgone-proxy + ├─30946 gorgone-proxy + ├─30959 gorgone-engine + ├─30966 gorgone-action + └─30967 gorgone-legacycmd + + Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. + ``` + + 4. **Pour forcer le Gorgone du Central à se connecter au serveur distant**, +redémarrez-le avec la commande suivante depuis le **serveur Central** : + + ```shell + systemctl restart gorgoned + ``` + + + + +> **Déprécié** +> +> Ce mode ne doit plus être utilisé car il n'autorise pas la +> synchronisation des données entre l'interface utilisateur du Central +> et du Remote Server. + + + + +## Étape 3 : Exporter la configuration + +1. Depuis la liste des collecteurs, sélectionnez le serveur distant et cliquez sur +**Exporter la configuration**. + +2. Cochez ensuite les trois premières cases et cliquez sur **Exporter** : + + ![image](../../assets/monitoring/monitoring-servers/remote-generate-config.png) + +3. Pour finir, depuis le serveur distant, démarrez/redémarrez les services de +collecte : + + ```shell + systemctl restart cbd centengine + ``` + + Le moteur de supervision du Remote Server va alors démarrer et se connecter au + Broker Central. + + ![image](../../assets/monitoring/monitoring-servers/remote-list-zmq-started.png) + +## Premiers pas + +Rendez-vous dans le chapitre [Premiers pas](../../getting-started/welcome.md) +pour mettre en place votre première supervision. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md new file mode 100644 index 000000000000..0d6a4a0b0612 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md @@ -0,0 +1,946 @@ +--- +id: advanced-configuration +title: Configuration avancée +--- + +## Centreon Broker et pare-feu + +Certaines fois, il n'est pas possible d'initialiser le flux Centreon Broker +depuis le collecteur (ou Remote Server) vers le serveur Centreon Central ou le +Remote Server. + +Centreon a développé la possibilité d'initialiser le flux depuis le serveur +Centreon Central vers le collecteur ou du Remote Server vers le collecteur. + +Rendez-vous dans le menu **Configuration > Pollers > Broker configuration** et +cliquez sur la configuration **Centreon Broker SQL** du serveur Centreon Central +ou du Remote Server. + +Rendez-vous dans l'onglet **Input** et ajouter une nouvelle entrée de type +**TCP - IPv4**. + +Saisissez le nom de cette configuration, le port TCP pour le champ **Connection +port** afin de se connecter au collecteur et l'adresse IP du collecteur pour le +champ **Host to connect to**, puis cliquez sur **Save** : + +![image](../../assets/monitoring/monitoring-servers/on-peer-configuration-1.png) + +Rendez-vous dans le menu **Configuration > Pollers > Broker configuration** et +cliquez sur la configuration **Broker module** de votre collecteur. + +Rendez-vous dans l'onglet **Output** et modifiez l'entrée **Output 1 -IPv4** : + +1. Supprimer la valeur pour le champ **Host to connect to** +2. Contrôlez le port TCP **Connection port** +3. Activer l'option **One peer retention** + +![image](../../assets/monitoring/monitoring-servers/on-peer-configuration-2.png) + +Cliquez sur **Save**, générer et exporter la configuration des serveurs +impactés. + +## Authentification avec Centreon Broker + +Si vous souhaitez authentifier les pollers envoyant des données dans votre +système de monitoring vous pouvez utiliser le mécanisme d’authentification +intégré à Centreon Broker. Celui-ci est basé sur l’utilisation de certificats +X.509. + +La première étape est de générer un certificat pour l’autorité de certification +(Certificate Authority, CA) avec OpenSSL. ca.key sera la clé privée (à stocker +de manière sécurisée), tandis que ca.crt sera la clé publique servant à +authentifier les connexions entrantes : + +```shell +openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -out ca.crt -days 365 +``` + +Nous pouvons maintenant générer les certificats en utilisant la clé de la CA : + +```shell +openssl req -new -newkey rsa:2048 -nodes -keyout central.key -out central.csr -days 365 +openssl req -new -newkey rsa:2048 -nodes -keyout poller.key -out poller.csr -days 365 +openssl x509 -req -in central.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out central.crt -days 365 -sha256 +openssl x509 -req -in poller.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out poller.crt -days 365 -sha256 +``` + +Placez *central.key*, *central.crt* et *ca.crt* sur le serveur Centreon central +(dans **/etc/centreon-broker** par exemple) et *poller.key*, *poller.crt* et +*ca.crt* sur votre poller. + +Nous devons maintenant configurer Centreon Broker pour utiliser ces fichiers. +Allez dans **Configuration > Pollers > Broker configuration**. Pour +*central-broker-master*, dans l'onglet *Input*, vous devez remplir les +paramètres suivants pour *central-broker-master-input*. + + - Enable TLS encryption = Yes + - Private key file = /etc/centreon-broker/central.key + - Public certificate = /etc/centreon-broker/central.crt + - Trusted CA's certificate = /etc/centreon-broker/ca.crt + +![image](../../assets/monitoring/monitoring-servers/broker-certificates.png) + +De manière similaire pour le poller, vous devez modifier les paramètres de la +connexion TCP dans l'onglet Output. + + - Enable TLS encryption = Yes + - Private key file = /etc/centreon-broker/poller.key + - Public certificate = /etc/centreon-broker/poller.crt + - Trusted CA's certificate = /etc/centreon-broker/ca.crt + +Régénérez la configuration des pollers affectés par ces changements +(**Configuration > Pollers > Pollers**) et la mise en place de l'authentification est +terminée. + +## Pour aller plus loin avec Centreon Broker + +> Cette section est uniquement disponible en langue anglaise. + +This section aims to help user understand how Centreon Broker works and how it +should be configured. It references Centreon's best practices and describe the +various options used by Centreon Broker. + +### General Overview + +Centreon Broker is at its core a simple multiplexing engine. It takes events from +*Inputs* and send them to various *Outputs*. *Inputs* are typically other +instances of Centreon Broker over TCP/IP, while *Outputs* can be a SQL database, +other brokers, a BI/BAM engine, Centreon Map, etc. + +Each *Input* or *Output* has a *type* that describe what it does and several +parameters, some of them mandatory and other optional. Additionally, an *Output* +can have a *Failover* that will start when the *Output* is in an error state to +allow retention of data. + +An important distinction to make is the standalone Centreon Broker versus a +Centreon Broker installed as Centreon Engine's module. Both have the exact same +capabilities and support the same *Inputs* and *Outputs*. The difference is that +Centreon Broker configured as a module will be automatically started when +Centreon Engine starts and automatically generates the events associated to this +Centreon Engine. Often, those modules only have one *Output* to an instance of +Centreon Broker acting as a concentrator. + +### Main Configuration Page + +This section lists all the instances of Centreon Broker configured in your park, +either in standalone or module mode. Each instance has a name, is associated +with a poller, has a number of *Inputs*, *Outputs*, and *Loggers*, and can be +'enabled' or 'disabled'. + +A poller of type 'Central' will have three instances of Centreon Broker by +default. One Centreon Broker installed as a module for Centreon Engine (here +called *central-module-master*), one Centreon Broker acting as a stand-alone +concentrator (here called *central-broker-master*) and one Centreon Broker +specialized in generating the RRD data used by the graphs (here called +*central-rrd-master*). A best practice is to always use a separate instance of +Centreon Broker to generate RRD data. This way, an issue in the RRD stack will +not cause any issue in your main monitoring. + +As expected, *central-module-master* has only one *Output* and zero *Input*. +Configured as a module to Centreon Engine, it generates events on its own and +forward them to the standalone instance of Centreon Broker. + +A poller generally only have an instance of Centreon Broker, configured as a +module for Centreon Engine. + +### Broker General Configuration Page + +This section lists all the general options associated with an instance of +Centreon Broker. + +Main options: + + - Poller + The poller where this instance lives. + + - Name + The name of this instance. + + - Config file name + The name of the configuration file used by this instance. + + - Retention path + When an *Output* is in an error state, a *Failover* is launched. *Failovers* + save data in files called retention files. Those in turn are saved in the + directory specified here. Best practice is **/var/lib/centreon-broker/** + For security reasons, you can use these directories: + + - **/var/lib/centreon-broker/** + - **/var/lib/centreon-engine/** + - **/var/cache/centreon/** + + - Status + This is used to enable or disable this instance. + +Log options: + + - Log directory + Path where the log file will be created. + + - Log filename + Name of the log file. Default is ``.log + + - Maximum files size (in bytes) + A value different from zero will cause the creation of a new numbered log + file as soon as the maximum size is reached. Recommended value is `0`. + + - core + Log level for `core` log messages, the main logs of centreon-broker. + + - config + Log level for `config` log messages. + Useful to troubleshoot configuration handling issues. + + - sql + Log level for `sql` log messages. + Useful to troubleshoot database queries issues. + + - processing + Log level for `processing` log messages. You shouldn't change it unless + you know what you are looking for. + + - perfdata + Log level for `perfdata` log messages. + Useful to troubleshoot performance data processing issues. + + - bbdo + Log level for `bbdo` log messages. + Useful to troubleshoot [broker binary data objects](../../developer/developer-broker-bbdo.md) issues. + + - tcp + Log level for `tcp` log messages. + Useful to troubleshoot network related issues. + + - tls + Log level for `tls` log messages. + Useful to troubleshoot TLS encryption issues. + + - lua + Log level for `lua` log messages. + Useful to troubleshoot [Lua Stream Connectors](../../developer/developer-broker-stream-connector.md) issues. + + - bam + Log level for `bam` log messages. + Useful to troubleshoot [Business Activity Monitoring](../../service-mapping/introduction.md) issues. + + - Write timestamp (applies to the [deprecated loggger options](#broker-logger-configuration-page-deprecated)) + If activated, each log entry is preceded by the timestamp of the time it was + written. This is useful to know when an error has occured. Best practice is + *Yes*. + + - Write thread id + If activated, each log entry is preceded by the ID of the thread being + executed at that instant. This is only used for advanced debugging purposes. + Best practice is *No*. + +Advanced Options: + + - Statistics + Centreon Broker has an on-demand status reporting mechanism that can be + enabled here. This is used by Centreon Web to check the status of the + instance at any time and determine which inputs and outputs are in an error + state and to generate various statistics on event processing. Best practice + is *Yes*. + + - Correlation + Centreon Broker has a top-level correlation mechanism. This should only be + activated if top-level correlation has been properly configured in Centreon + Web. In all other cases, default is *No*. + + - Event queue max size + The maximum size of the in-memory queue in events. If the number of events + in memory exceeds this number, Centreon Broker will start to use temporary + files to prevent the broker from using too much memory. This, however, + causes additional disk I/O. The exact number can be adjusted to use more or + less memory. A suggested default is 50000. + +If *Statistics* is enabled, on-demand status can be queried manually through a +file in */var/lib/centreon-broker/name.stats*. + +### Broker input configuration page + +This section lists all the inputs activated for this instance of Centreon +Broker. Centreon Broker can have as many inputs as needed. + +#### TCP - IPV4 + +This type of input is deprecated. Inputs read events from a TCP connection. All inputs have the following +parameters: + + - Name + The name of the input. Must be unique. + + - Serialization protocol + The protocol that was used to serialize the data. Can be either 'BBDO' or + 'NDO'. NDO is an old textual protocol that suffers from very poor + performance, poor density of data, and poor security. BBDO is a next-gen + binary protocol that is performant and secure. NDO is deprecated. It should + never be used in new installation. Best practice is 'BBDO'. + + - Compression + If compression was used to serialize the data. Can be 'auto', 'yes', or + 'no'. If left on 'auto' Centreon Broker will detect if compression was used + while doing a TCP handshake (or assume no compression was used for files). + Default to 'auto' for TCP, 'no' for files. + + - Filter category + The categories of events accepted by this *Input*. If empty, no restriction + on events accepted. If filled, only events of the given type will be + processed. *Input* that accept data from Centreon Engines' Broker module + should be set to accept only 'Neb' events. + + - Connection Port + Which port will be used for the connection. Mandatory. + + - Host to connect to + This important parameter will decide if this input will listen or attempt to + initiate a connection. Left empty, this input will listen on its given port. + If filled, this input will attempt to initiate a connection to the given + host/port. + + - Enable TLS encryption + Enable the encryption of the flux. For the encryption to work, the private + key file, the public certificate and the trusted CA's certificate need to be + set on both end. Default to 'auto', i.e 'no' unless TCP negociation has been + activated and the remote endpoint has activated encryption. + + - Private Key File + The private key file used for the encryption. + + - Public certificate + The public certificate used for the encryption. + + - Trusted CA's certificate + The trused CA certificate used for the encryption. + + - Enable negociation + Enable negociation. If 'yes', this *Intput* will try to negociate encryption + and compression with the remote endpoint. + + - One peer retention mode + By default, a listening input will accept any number of incoming + connections. In 'one peer retention' mode only one connection is accepted at + the same time, on a first-come first-serve basis. Default to 'no'. + +To reiterate, TCP *Input* can either listen on a given port or can attempt to +initiate a connection if a host is given. This allow flexible network topology. + +#### BBDO Server + +BBDO Server inputs receive events from a remote endpoint. They listen on a given port for a connection by a BBDO Client. + +*BBDO Server*-type inputs have the following parameters: + + - Listening address + Only with TCP transport protocol, if empty or if 0.0.0.0 the server listens for every connection. + Otherwise, the server only listens on the interface behind the given address. + + - Listening port + Port used for the connection. Mandatory. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private key path + The private key file used for the encryption. + + - Certificate path + The public certificate used for the encryption. + +#### BBDO Client + +BBDO Client inputs receive events from a remote endpoint. They establish a connection on a given port to a BBDO Server. + +*BBDO Client*-type inputs have the following parameters: + + - Server address + The address to connect to. + + - Server port + The server port. + + - Retry interval + On failure, the client waits for this value (given in seconds) before retrying to connect. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Trusted CA's certificate path + The Trusted CA's certificate file. + + - Certificate Common Name + The certificate Common Name. + +### Broker Output Configuration Page + +This section lists all the *Outputs* activated for this instance of Centreon +Broker. Centreon Broker can have as many *Outputs* as needed. + +For each *Outputs*, the parameters are: + + - Type + There are several types of outputs managed by the Centreon Broker: + + 1. **TCP - IPV4** and **TCP - IPV6**: This output forwards data to another + server, another Centreon Broker or Centreon Map. Currently, it doesn't work + with IPV6. This output is also deprecated because we now have two outputs to + replace it that are **BBDO Server** and **BBDO Client**. + 2. **BBDO Server**: This output forwards data to a BBDO client, another Centreon Broker or Centreon Map. + 3. **BBDO Client**: This output forwards data to a BBDO server, another Centreon Broker or Centreon Map. + 4. **File**: Writes data into a file. This output is deprecated. + 5. **RRD**: Generates RRD data from performance data. + 6. **Storage**: Writes metrics into the database and generates performance + data (deprecated). + 7. **SQL**: Writes the real-time status into Centreon's database + (deprecated). + 8. **unified-sql**: Writes the real-time status into Centreon's database. + One such output replaces **Storage** and **SQL** outputs at the same + time. + 9. **Dumper Reader**: Reads from a database when Broker is asked to synchronize + databases (obsolete). + 10. **Dumper Writer**: Writes into a database when Broker is asked to + synchronize databases (obsolete). + 11. **BAM Monitoring**: Generates BAM data from raw events and updates real-time + BAM status. + 12. **BAM Reporting**: Writes long-term BAM logs that can then be used by MBI. + 13. **Generic - Stream connector**: This is a generic output. You need to + write a Lua script to explain what you want. + + - Failover + A *failover* is an output that will be started when in an error state. + Examples are TCP connections "gone haywire" or a MySQL server suddenly + disconnecting, etc. By default, each output has an automatic failover that + will always store data in retention files and replay it when the primary + output recovers from its error state. This is desirable 99% of the time. + Alternatively, you can specify another output that will act as a failover if + needed. + + - Retry interval + When the output is in an error state, this parameter controls the amount of + time the output will wait before retrying. Default is one attempt every 30 + seconds. + + - Buffering timeout + When this output is in an error state, Centreon Broker will wait a specified + time before launching the failover. This is mainly useful if Centreon Broker + should wait for another software to initialize before activating its + failover. In all other cases, this parameter should not be used. Default is + 0 seconds. + + - Filter category + The categories of events accepted by this output. If left empty, no + restriction on events accepted. If filled, only events of the given type + will be processed. The exact best practices are output specific: + + 1. *BAM Reporting* should only accept *BAM* events. + 2. *Dump Writer* should only accept *dumper* events. + 3. *RRD* should only accept *storage* events. + + In all other cases, no restriction should be configured. + +Events generated by an output are reinjected into Centreon Broker's event queue. + +Some outputs only work when consuming data generated by another output. An RRD +output consumes data from a storage output, a *dumper writer* output consumes +data from a *dumper reader*, and a *BAM reporting* output consumes data from a +*BAM monitoring* output. + +Centreon Web needs at least an active output *SQL* ouput to activate its +real-time monitoring capabilities. The storage and RRD outputs are needed to +activate Centreon Web metric plotting. The BAM monitoring output is needed for +real-time BAM data and the BAM reporting output for BI reports. + +Due to the fully distributed nature of Centreon Broker, producer and consumer +outputs can be located on logically or physically different instances as long as +they are connected to each other. + +**Important**: Centreon Web 2.x features two databases, the configuration +database and the real-time database. Those are respectively called *centreon* +and *centreon-storage*. Different outputs expect may different databases in +their configuration. + +| Output Type | Expected database | +| -------------- | ----------------- | +| SQL | centreon-storage | +| Storage | centreon-storage | +| Unified SQL | centreon-storage | +| Dumper Reader | centreon | +| Dumper Writer | centreon | +| BAM Monitoring | centreon | +| BAM Reporting | centreon-storage | + +#### TCP outputs + +TCP outputs forward events to a remote endpoint. As with TCP inputs, TCP outputs +can either listen on a given port or attempt to initiate a connection if a host +parameter is given. This allows for flexible network topology. + +*TCP*-type outputs have the following parameters: + + - Serialization protocol + The protocol used to serialize the data. Can be either *BBDO* or *NDO*. NDO + is an legacy textual protocol with inferior performance, data density and + security. BBDO is a next-generation binary protocol that is effective and + secure. NDO is deprecated. It should never be used for new installations. + Best practice is *BBDO*. + + - Enable negotiation + If *yes*, this output will try to negotiate encryption and compression with + the remote endpoint. + + - Connection Port + Port used for the connection. Mandatory. + + - Host to connect to + This key parameter decides whether the input will listen or attempt to + initiate a connection. If left empty, the input will listen on its given + port. If specified, it will attempt to initiate a connection to the given + host/port. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private Key File + The private key file used for the encryption. + + - Public certificate + The public certificate used for the encryption. + + - Trusted CA's certificate + The trusted CA certificate used for the encryption. + + - One peer retention mode + By default, a listening input will accept any number of incoming + connections. In *one peer retention* mode only one connection at a time is + accepted, on a first-come first-serve basis. Default is *no*. + + - Compression + If compression should be used to serialize the data. Can be *auto*, *yes*, + or *no*. If left on *auto* Centreon Broker will detect if compression is + supported by the endpoint during a TCP negotiation. Default is *auto* for + TCP. + + - Compression Level + The level of compression that should be used, from 1 to 9. Default (or if + not filled) is 6. The higher the compression level is, the higher the + compression will be at the expense of processing power. + + - Compression Buffer + The size of the compression buffer that should be used. Best practice is *0* + or nothing. + +#### BBDO Server + +BBDO Server outputs forward events to a remote endpoint. They listen on a given port for a connection by a BBDO Client. + +*BBDO Server*-type outputs have the following parameters: + + - Listening address + Only with TCP transport protocol, if empty or if 0.0.0.0 the server listens for every connection. + Otherwise, the server only listens on the interface behind the given address. + + - Listening port + Port used for the connection. Mandatory. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private key path + The private key file used for the encryption. + + - Certificate path + The public certificate used for the encryption. + + - Compression + With this option, data is compressed. + + - Enable retention + With this option, data cannot be lost. If the peer doesn't read sent data, the data is stacked until the peer succeeds to read it. + +BBDO Client outputs forward events to a remote endpoint. They establish a connection on a given port to a BBDO Server. + +*BBDO Client*-type outputs have the following parameters: + + - Server address + The address to connect to. + + - Server port + The server port. + + - Retry interval + On failure, the client waits for this value (given in seconds) before retrying to connect. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Trusted CA's certificate path + The Trusted CA's certificate file. + + - Certificate Common Name + The certificate Common Name. + + - Compression + With this option, data is compressed. + +#### File outputs + +File *outputs* send events into a file on the disk. Additionally, they have the +capability of replaying the data of this file if used as a failover output. Most +file outputs will be used as failovers. + +*File* type outputs have the following parameters: + + - Serialization protocol + The protocol that was used to serialize the data. Can be either *BBDO* or + *NDO*. NDO is a legacy textual protocol with inferior performance, data + density and security. BBDO is a next-generation binary protocol that is + effective and secure. NDO is deprecated. It should never be used for new + installations. Best practice is *BBDO*. + + - File path + The path of the file being written to. + + - Compression + If compression should be used to serialize the data. Can be *auto*, *yes*, + or *no*. *auto* is equal to *no* for files. + + - Compression Level + The level of compression to be used, from 1 to 9. Default (or if not filled) + is 6. The higher the compression level is, the higher the compression will + be at the expense of processing power. + + - Compression Buffer + The size of the compression buffer to be used. Best practice is *0*. + +#### RRD outputs + +*RRD* outputs generate RRD data (used by Centreon Web to generate graphs) from +metrics data generated by a storage output. The best practice is to isolate this +output on its own Centreon Broker instance to ensure that an issue in the RRD +stack will not have any impact on the main Centreon Broker instance. + +*RRD*-type outputs have the following parameters: + + - RRD file directory for metrics + The directory where the RRD files of the metrics will be written. A + recommended default is */var/lib/centreon/metrics/*. + + - RRD file directory for status + The directory where the RRD files of the status will be written. A + recommended default is */var/lib/centreon/status/* + + - TCP port + The port used by RRDCached, if RRDCached has been configured on this server. + If not, leave empty. + + - Unix socket + The Unix socket used by RRDCached, if RRDCached has been configured on this + server. If not, leave empty. + + - Write metrics + Should RRD metric files be written? Default is *yes*. + + - Write status + Should RRD status files be written? Default is *yes*. + +#### Storage Outputs + +Perfdata storage outputs save metric data into a database and generate RRD data +used by the RRD output. This output usually generates multiple queries and is +very performance intensive. If Centreon Broker is slow, try adjusting the +*maximum queries per transaction* parameter to optimize processing speed. + +This output can be tasked to rebuild RRD data from a database of stored metric +data. This is usually a slow, costly process, though you can simultaneously +process new metric data at a reduced speed. + +*Storage*-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising it. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Rebuild check interval in seconds + The number of seconds between each rebuild check. Default 300 seconds. + + - Store in performance data in data\_bin + Should this output save the metric data in the database? Default is *yes*. + If *no*, this output will generate RRD data without saving them into the + database, making a rebuild impossible. + + - Insert in index data + Should new index data be inserted into the database? Default is *no*. This + should never be modified unless prompted by Centreon Support or explicitly + advised in the documentation. + +#### SQL outputs + +*SQL* outputs save real-time status data into the real-time database used by +Centreon Web. This is the most important output for the operation of Centreon +Web. + +Moreover, this output has a *garbage collector* that will clean old data from +the database occasionally. This is an optional process, as old data is marked +*disabled*, and can actually be useful to keep for debugging purpose. + +*SQL*-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising this number. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Cleanup check interval + Number of seconds between each run of the garbage collector "cleaning" out + old data in the database. Default is never. + + - Instance timeout + Number of seconds before an instance is marked as *unresponding* and all of + its hosts and services marked as *unknown*. Default is 300 seconds. + +#### Unified SQL outputs + +Unified SQL outputs are the union of **Storage** outputs and **SQL** outputs. +They save metric data into a database and generate RRD data used by the RRD +output. + +This output usually generates multiple queries and is very performance intensive. +If Centreon Broker is slow, try adjusting the +**maximum queries per transaction** parameter to optimize processing speed. + +This output can be tasked to rebuild RRD data from a database of stored metric +data. This is usually a slow, costly process, though you can simultaneously +process new metric data at a reduced speed. + +**Unified SQL** outputs also save real-time status data into the real-time +database used by Centreon Web. This is the most important output for the +operation of Centreon Web. + +Moreover, this output has a **garbage collector** that will clean old data from +the database occasionally. This is an optional process, as old data is marked +**disabled**, and can actually be useful to keep for debugging purposes. + +Since **bbdo 3**, this output is the preferred one instead of the **storage** and +**sql** outputs. That way, you just need one output to the database, +configurations have to be filled once and there are less conflicts between +outputs. + +**unified-sql**-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising it. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Rebuild check interval in seconds + The number of seconds between each rebuild check. Default 300 seconds. + + - Store performance data in data\_bin + Should this output save the metric data in the database? Default is *yes*. + If *no*, this output will generate RRD data without saving them into the + database, making a rebuild impossible. + + - Insert in index data + Should new index data be inserted into the database? Default is *no*. This + should never be modified unless prompted by Centreon Support or explicitly + advised in the documentation. + + - Cleanup check interval + Number of seconds between each run of the garbage collector "cleaning" out + old data in the database. Default is never. + + - Instance timeout + Number of seconds before an instance is marked as *unresponding* and all of + its hosts and services marked as *unknown*. Default is 300 seconds. + + - Connections count + Number of connections to the database maintained by this output. This allows broker to write data in parallel using up to 3 connections: + + * 1: all the database traffic goes through only one connection. It is fine for small platforms. + * 2: one connection is dedicated to the traffic (BULK INSERT statements) towards the **data_bin** and **logs** tables and the second one handles the rest. + * 3: two connections are dedicated to the traffic (BULK INSERT statements) towards the **data_bin** and **logs** tables and the third one handles the rest. We recommend this setting for large platforms. + +#### Lua outputs + +*Lua* outputs send metrics information into a script by a key-value system. The +Lua script should reside on your server. + + - Path + The path of the Lua script in your server. + + - Filter category + The categories of events accepted by this output. If empty, no restriction + on events is accepted. If specified, only events of the given type will be + processed. Outputs that accept data from Centreon Engine's Broker module + should be set to only accept *Neb* events. + +**Lua parameter** + + - Type + Type of metric value. + + - Name/Key + Name of metric value. + + - Value + Value of metric. + +#### Dumper reader/writer + +A Dumper Reader/Writer pair is used to synchronize part of a database between +two instances of Centreon Broker. In the future there will be an extensive +synchronization mechanism, but today it is mainly used to synchronize BA for the +BAM Poller Display mechanism. + +The BAM Poller Display configuration documentation explains how to properly +configure those *Outputs*. + +*Outputs* of type 'Dumper Reader' and 'Dumper Writer' have the following +parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user used by this *Output* to connect to this database. + + - DB Name + The name of this database. In Centreon term, this is the database containing + the configuration data, generally called 'centreon'. + + - DB Password + The password used by this *Output* to connect to this database. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/communications.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/communications.md new file mode 100644 index 000000000000..c398b6194ea7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/communications.md @@ -0,0 +1,343 @@ +--- +id: communications +title: Communications +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Modes de communication + +Même si Gorgone est installé sur les Pollers et les Remote Servers, il est +autorisé de communiquer avec eux (depuis un Central, ou entre un Remote Server +et un Poller) en utilisant le protocole SSH. + +Bien que la communication de type SSH soit autorisée, elle doit être utilisée +en période de transition d'une ancienne plateforme qui utilisait Centcore vers +une plateforme utilisant ZMQ. + +> Les Pollers ou Remote Servers qui n'utiliseraient pas ZMQ comme type de +> communication entre le Gorgogne du Central et le leur ne bénéficieront pas +> de toutes les évolutions de Centreon et de ses extensions. + +Les modes de communication sont listés ci-après : + +### Sans Remote Server + + + + +| Communications | Actions autorisées | +| -------------------------------------- | --------------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Poller** | Actions de supervision\*, collecte des statistiques Engine/Broker, Host Discovery | + + + + +| Communications | Actions autorisées | +| -------------------------------------- | --------------------------------------------------------------------------------- | +| **Central** <-- *SSH* --\> **Poller** | Actions de supervision\*, collecte des statistiques Engine/Broker, Host Discovery | + + + + +\* Les actions de supervision sont toutes les actions disponibles dans +l'interface web comme ajouter des temps d'arrêt, des acquittements, etc et +exporter la configuration. + +### Avec Remote Server + + + + +| Communications | Actions autorisées | +| ----------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Remote** <-- *ZMQ* --\> **Poller** | Actions de supervision\*, collecte des statistiques Engine/Broker, Host Discovery | + + + + +| Communications | Actions autorisées | +| ----------------------------------------------------------------- | --------------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Remote** <-- *SSH* --\> **Poller** | Actions de supervision\*, collecte des statistiques Engine/Broker, Host Discovery | + + + + +| Communications | Actions autorisées | +| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------- | +| **Central** <-- *SSH* --\> **Remote** <-- *SSH* --\> **Poller** | Actions de supervision\*, collecte des statistiques Engine/Broker (seulement Remote), Host Discovery (seulement Remote) | + + + + +| Communications | Actions autorisées | +| ----------------------------------------------------------------- | ------------------------ | +| **Central** <-- *SSH* --\> **Remote** <-- *ZMQ* --\> **Poller** | Actions de supervision\* | + +> Ce mode ne permet pas de récupérer l'empreinte du Remote et rend donc +> impossible l'affichage de la configuration du Gorgone du Poller depuis +> l'interface web. + + + + +\* Les actions de supervision sont toutes les actions disponibles dans +l'interface web comme ajouter des temps d'arrêt, des acquittements, etc et +exporter la configuration. + +## Changer la communication de SSH à ZMQ + + + + +#### Sélectionner le type de communication + +Depuis le menu **Configuration > Collecteurs**, éditer la configuration du Poller, +et sélectionner **ZMQ** comme **Gorgone connection protocol**. + +Définir le **port** adéquat (le port **5556** est recommandé). + +![image](../../assets/monitoring/monitoring-servers/poller-edit-zmq.png) + +Cliquer sur **Save**. + +#### Afficher la configuration de Gorgone + +Depuis la liste des Pollers, cliquer sur l'icon d'action **Gorgone +configuration** sur la ligne correspondant à votre Poller ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail2) + +Une pop-in affiche la configuration à copier dans le **terminal du Poller**. +Cliquer sur **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/poller-gorgone-display-config.png) + +Coller le contenu du presse-papier directement dans le **terminal du Poller** +car celui-ci créera le fichier de configuration attendu : + +```shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Poller +description: Configuration for poller My Poller +gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + +EOF +``` + +Appuyer sur la touche entrée pour que la commande soit appliquée. + +> Vous pouvez copier la configuration en sélectionnant le contenu de la popin +> pour la copier dans un fichier de configuration personnalisé. + +#### Démarrer le daemon Gorgone + +Depuis le Poller, exécuter la commande suivante pour démarrer le service +Gorgone : + +```shell +systemctl start gorgoned +``` + +Assurez vous que le service est démarré en exécutant la commande suivante : + +```shell +systemctl status gorgoned +``` + +Le résultat devrait être similaire : + +```shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2020-03-24 19:45:00 CET; 20h ago + Main PID: 28583 (perl) + CGroup: /system.slice/gorgoned.service + ├─28583 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─28596 gorgone-dbcleaner + ├─28597 gorgone-engine + └─28598 gorgone-action + +Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. +``` + +Enfin, activez le démarrage automatique du service avec la commande : + +```shell +systemctl enable gorgoned +``` + +> S'il y a un Remote Server entre le Central et ce Poller, assurez-vous +> d'exporter la configuration du Remote Server. +> +> Depuis la liste des Pollers, sélectionner le Remote Server et cliquer sur +> **Export configuration**. +> +> Sélectionner ensuite les trois premières cases puis cliquer sur **Export**. +> +> Enfin, redémarrer le démon Gorgone du Remote Server en exécutant la commande +> suivante : +> +> ```shell +> systemctl restart gorgoned +> ``` + + + + +#### Sélectionner le type de communication + +Depuis le menu **Configuration > Collecteurs**, éditer la configuration du Remote +Server, et sélectionner **ZMQ** comme **Gorgone connection protocol**. + +Définir le **port** adéquat (le port **5556** est recommandé). + +![image](../../assets/monitoring/monitoring-servers/remote-edit-zmq.png) + +Cliquer sur **Save**. + +#### Afficher la configuration de Gorgone + +Depuis la liste des Pollers, cliquer sur l'icon d'action **Gorgone +configuration** sur la ligne correspondant à votre Remote Server ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail2) + +Une pop-in affiche la configuration à copier dans le **terminal du Remote +Server**. +Cliquer sur **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/remote-gorgone-display-config.png) + +Coller le contenu du presse-papier directement dans le **terminal du Remote +Server** car celui-ci créera le fichier de configuration attendu : + +```shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Remote Server +description: Configuration for remote server My Remote Server +gorgone: + gorgonecore: + id: 3 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: "gorgone::modules::core::cron::hooks" + enable: true + cron: !include cron.d/*.yaml + + - name: nodes + package: gorgone::modules::centreon::nodes::hooks + enable: true + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/cache/centreon/config/remote-data/" + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: statistics + package: "gorgone::modules::centreon::statistics::hooks" + enable: true + broker_cache_dir: "/var/cache/centreon/broker-stats/" + cron: + - id: broker_stats + timespec: "*/5 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 + - id: engine_stats + timespec: "*/5 * * * *" + action: ENGINESTATS + parameters: + timeout: 10 + +EOF +``` + +Appuyer sur la touche entrée pour que la commande soit appliquée. + +> Vous pouvez copier la configuration en sélectionnant le contenu de la popin +> pour la copier dans un fichier de configuration personnalisé. + +#### Redémarrer le daemon Gorgone + +Depuis le Remote Server, exécuter la commande suivante pour redémarrer le +service Gorgone : + +```shell +systemctl restart gorgoned +``` + +Assurez vous que le service est démarré en exécutant la commande suivante : + +```shell +systemctl status gorgoned +``` + +Le résultat devrait être similaire : + +```shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Wed 2020-03-24 19:45:00 CET; 6s ago + Main PID: 30902 (perl) + CGroup: /system.slice/gorgoned.service + ├─30902 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─30916 gorgone-nodes + ├─30917 gorgone-dbcleaner + ├─30924 gorgone-proxy + ├─30925 gorgone-proxy + ├─30938 gorgone-proxy + ├─30944 gorgone-proxy + ├─30946 gorgone-proxy + ├─30959 gorgone-engine + ├─30966 gorgone-action + └─30967 gorgone-legacycmd + +Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. +``` + + + + +**Pour forcer le Gorgone du Central à changer le mode de communication**, +redémarrez le avec la commande suivante depuis le **serveur Central** : + +```shell +systemctl restart gorgoned +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md new file mode 100644 index 000000000000..74bbe6187988 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md @@ -0,0 +1,71 @@ +--- +id: deploying-a-configuration +title: Déployer une configuration +--- + +Lorsque vous créez, supprimez ou modifiez des objets via le menu +**Configuration**, les changements effectués ne sont pas appliqués de manière +automatique (ni sur le serveur central sur lequel vous avez créé, supprimé ou modifié l'objet, ni sur aucun collecteur ou serveur distant qui en dépendrait). Pour que les modifications soient prises en compte, il est nécessaire d'exporter la configuration. + +Tout changement de configuration doit se faire et s'exporter via l'interface utilisateur ou l'API du serveur central, quel que soit le collecteur concerné par le changement (serveur central, serveur distant, collecteur). + +## Exporter la configuration + +1. Allez à la page **Configuration > Collecteurs > Collecteurs**. La page affiche l'état de votre serveur central et de tous les collecteurs et serveurs distants qui y sont reliés : les changements sont signalés dans la colonne **Changement de configuration**. + +2. Sélectionnez le serveur central, le serveur distant ou le collecteur dont la configuration a changé. + + ![image](../../assets/monitoring/monitoring-servers/export_conf.png) + +3. Cliquez sur **Exporter la configuration**. + +4. Cochez les cases suivantes (voir la section [**Options d'export**](#options-dexport)) : + - **Générer les fichiers de configuration** + - **Lancer le débogage du moteur de supervision (-v)** + - **Déplacer les fichiers générés** + - **Redémarrer l'ordonnanceur**. Utilisez la méthode : + - **Recharger** : lorsque vous avez créé, supprimé ou modifié des objets supervisés + - **Redémarrer** : lorsque vous avez apporté des changements à la communication entre un collecteur et le serveur central, ou à la configuration du moteur de collecte. Un redémarrage prend plus de temps qu'un rechargement. + +5. Cliquez sur **Exporter**. Un log de l'export s'affiche. + + ![image](../../assets/monitoring/monitoring-servers/export_conf_done.png) + +6. Dans le log, vérifiez que l'export a bien fonctionné et qu'aucune erreur n'a été remontée. + +## Options d'export + +Les différentes options fonctionnent de la manière suivante : + + - **Générer les fichiers de configuration** : Génère les fichiers de + configuration du moteur de supervision dans un répertoire temporaire. Cette + configuration est générée à partir des objets configurés via l’interface web. + - **Lancer le débogage du moteur de supervision (-v)** : Effectue une vérification de l'intégrité des fichiers de configuration du moteur de supervision. + - **Déplacer les fichiers générés** : Déplace les fichiers générés d'un répertoire temporaire vers le répertoire de configuration du moteur de supervision + - **Redémarrer l'ordonnanceur** : Redémarre ou recharge le moteur de supervision afin d’appliquer + la nouvelle configuration. + - **Commande exécutée post-génération** : Exécute la commande post-génération + paramétrée au niveau de la configuration du collecteur. + +## Export instantané + +Les administrateurs et les utilisateur [disposant des droits nécessaires](#activer-la-fonctionnalité) peuvent activer un bouton qui leur permet d'exporter la configuration de TOUS les collecteurs d'un seul coup (c'est-à-dire la configuration du serveur central, des serveurs distants et des collecteurs). + +### Dans quels cas utiliser la fonctionnalité? + +> N'utilisez PAS cette fonctionnalité si vous avez un grand nombre de collecteurs. Cette fonctionnalité n'est pas pertinente non plus si vous êtes un MSP et que chaque collecteur correspond à un client différent. + +### Activer la fonctionnalité + +* Pour les utilisateurs administrateurs, la fonctionnalité est automatiquement activée. +* Pour rendre la fonctionnalité accessible aux utilisateurs non administrateurs,donnez-leur le droit [**Déployer la configuration**](../../administration/access-control-lists.md#actions-de-configuration-des-collecteurs--gestion-des-collecteurs), et le droit [**Afficher les statistiques des collecteurs dans le bandeau**](../../administration/access-control-lists.md#accès-aux-fonctionnalités-globales). + +### Exporter toutes les configurations + +Pour exporter rapidement la configuration de tous les collecteurs : + +1. Cliquez sur le menu **Collecteurs** en haut à gauche de l'écran, puis cliquez sur **Exporter la configuration**. + + ![image](../../assets/monitoring/monitoring-servers/export_all_pollers_button.png) + +2. Dans la pop-up qui apparaît, confirmez l'export. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/move-poller.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/move-poller.md new file mode 100644 index 000000000000..2c039ff74b5b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/monitoring-servers/move-poller.md @@ -0,0 +1,123 @@ +--- +id: move-poller +title: Rattacher un collecteur à un serveur distant différent +--- + +Voici la procédure pour attacher un collecteur du serveur Centreon Central à un serveur distant, ou à partir d'un +serveur distant à un autre. + +## Mise à jour de la configuration Centreon Poller + +Rendez-vous dans le menu **Configuration > Pollers > Pollers** et éditer votre collecteur. + +Dans le champ **Attach to Master Remote Server** sélectionné le nouveau serveur : + +![image](../../assets/monitoring/monitoring-servers/move_poller_conf_1.png) + +Cliquez sur **Save**. + +## Mise à jour de la configuration Centreon Gorgone + +Depuis la liste des Pollers, cliquer sur l'icon d'action **Gorgone +configuration** sur la ligne correspondant à votre Remote Server ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail2) + +Une pop-in affiche la configuration à copier dans le **terminal du Remote +Server**. +Cliquer sur **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/remote-gorgone-display-config.png) + +Coller le contenu du presse-papier directement dans le **terminal du Remote +Server** car celui-ci créera le fichier de configuration attendu : + +```shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Remote Server +description: Configuration for remote server My Remote Server +gorgone: + gorgonecore: + id: 3 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: "gorgone::modules::core::cron::hooks" + enable: true + cron: !include cron.d/*.yaml + + - name: nodes + package: gorgone::modules::centreon::nodes::hooks + enable: true + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/cache/centreon/config/remote-data/" + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: statistics + package: "gorgone::modules::centreon::statistics::hooks" + enable: true + broker_cache_dir: "/var/cache/centreon/broker-stats/" + cron: + - id: broker_stats + timespec: "*/5 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 + - id: engine_stats + timespec: "*/5 * * * *" + action: ENGINESTATS + parameters: + timeout: 10 + +EOF +``` + +Appuyer sur la touche *Entrée* pour que la commande soit appliquée. + +> Vous pouvez copier la configuration en sélectionnant le contenu de la popin +> pour la copier dans un fichier de configuration personnalisé. + +Redémarrez Centreon Gorgone: +```shell +systemctl restart gorgoned +``` + +## Mise à jour de la configuration Centreon Broker + +Rendez-vous dans le menu **Configuration > Pollers > Pollers** et éditez la configuration liée à votre collecteur. + +Dans l'onglet **Output** , ajoutez ou modifiez l'entrée **TCP - IPv4** pour se connecter au nouveau serveur : + +![image](../../assets/monitoring/monitoring-servers/move_poller_conf_2.png) + +Cliquez sur **Save** + +## Deploy the new configuration + +Rendez-vous dans le menu **Configuration > Pollers > Pollers** et déployez la configuration de votre collecteur. + +Sur le serveur sur lequel vous avez connecté votre serveur, redémarrez Centreon Gorgone : +```shell +systemctl restart gorgoned +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md new file mode 100644 index 000000000000..127092203f33 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md @@ -0,0 +1,200 @@ +--- +id: create-snmp-traps-definitions +title: Définition des Traps SNMP +--- + +## Ajouter un constructeur + +Au sein de Centreon, les OIDs racines des traps SNMP sont classés par constructeur. Pour ajouter un constructeur : + +Rendez-vous dans le menu **Configuration > SNMP traps > Manufacturer** et cliquez sur **Add** + +![image](../../assets/configuration/06constructors.png) + +* Les champ **Name** et **Alias** définissent le nom et l’alias du constructeur +* Le champ **Description** fournit une indication sur le constructeur + +## Importation des traps SNMP depuis le fichier MIB + +Rendez-vous dans le menu**Configuration > SNMP traps > MIBs** + +![image](../../assets/configuration/06importmibssuccess.png) + +* La liste **Manufacturer** permet de choisir le constructeur auquel appartient la MIB que vous importez +* Le champ **File (.mib)** permet de charger la MIB + +Lors de l'importation d'un fichier MiB, il est possible que des dépendances soient nécessaires. Pour trouver les +dépendances de votre MIB, vous devez ouvrir votre fichier MIB à l'aide d'un éditeur de texte standard, puis : + +1. Recherchez la ligne commençant par IMPORT +2. Toutes les dépendances requises pour importer votre fichier MIB se trouvent après le mot clé **FROM** + +![image](../../assets/configuration/kdependances.png) + +Dans le fichier MIB illustré ci-dessus, quatre dépendances sont requises pour importer la MIB : SNMPv2-SMI, SNMPv2-TC, +SNMPv2-CONF, SNMP-FRAMEWORK-MIB. + +> TLes dépendances des MIBS que vous importez doivent être présentes dans le dossier **/usr/share/snmp/mibs**. Une fois +> l’import terminé, supprimez les dépendances préalablement copiées. + +## Configuration manuelle des traps + +### Configuration basique + +Il est également possible de créer manuellement des définitions de trap SNMP : + +Rendez-vous dans le menu **Configuration > SNMP traps > SNMP traps** et cliquez sur **Add** + +![image](../../assets/configuration/06addsnmptrap.png) + +* Le champ **Trap name** éfinit le nom du trap. +* Le champ **Mode** éfinit comment le champ **OID** est interpreté lors de la réception de ce trap. +* Le champ **OID** définit l’OID racine à recevoir pour que ce trap soit considéré comme reçu. +* Le champ **Vendor name** définit le nom du constructeur auquel appartient le trap à sélectionner dans la liste + déroulante. +* Le champ **Output message** contient le message à afficher en cas de réception d’un trap contenant l’OID configuré + au-dessus. + +> Par défaut, la MIB contient la définition de cette variable (Exemple : “Link up on interface $2. State: $4.”, ici $2 +> sera remplacé par le 2ème argument reçu dans l’évènement.). Dans le cas contraire, la variable **$\*** permet +> d’afficher l’ensemble des arguments contenu dans le trap. + +> Il est possible de construire soit même le message de sortie. Pour cela, utilisez la MIB afin de connaitre les +> arguments qui seront présents dans le corps de l’évènement et récupérer les arguments avec les variables **$n**. +> Chaque argument étant identifié par un OID, il est possible d’utiliser directement cet OID afin de le placer dans le +> message de sortie sans connaitre sa position via la variable **@{OID}**.. + +* Le champ **Default status** définit le statut "supervision" par défaut du service en cas de réception du trap. +* Si la case **Submit result** est cochée alors le résultat est soumis au moteur de supervision. +* Le champ **Comments** (dernier champ) contient par défaut le commentaire constructeur du trap SNMP. La plupart du + temps, ce commentaire indique la liste des variables contenues dans le trap SNMP (voir chapitre suivant sur la + configuration avancée). + +### Configuration avancée des traps + +Il est possible de détermine le statut d’un service à partir de la valeur d’un paramètre du trap SNMP plutôt qu’à +partir de l’OID racine. Anciennement les constructeurs définissaient un trap SNMP (OID racine) par type d’évènement à +envoyer (linkUp / linkDown). Aujourd’hui, la tendance est de définir un OID racine par catégorie d’évènements puis de +définir l’évènement via un ensemble de paramètres. + +Pour cela, il est possible de définir des **Advanced Matching mode** en cliquant sur le bouton **Add a new entry** et +de créer autant de règles que nécessaire. Pour chaque règle, définir les paramètres : + +* **String** définit l’élément sur lequel sera appliqué la recherche (@OUTPUT@ défini l’ensemble du **Output messages** + traduit). +* **Regexp** définit la recherche de type REGEXP à appliquer. +* **Status** définit le statut du service en cas de concordance. + +> L’ordre est important dans les règles de correspondance car le processus s’arrêtera à la première règle dont la +> correspondance est assurée. + +* Le champ **Disable submit result if no matched rules** désactive l’envoi des informations au moteur d’ordonnancement + si aucune correspondance avec une règle n’est validée. +* Si la case **Reschedule associated services** est cochée alors le prochain contrôle du service, qui doit être ‘actif’, + sera reprogrammé au plus tôt après la réception du trap. +* Si la case **Execute special command** est cochée alors la commande définie dans **Special command** est exécutée. + +### Onglet Advanced + +L’onglet **Advanced** permet de configurer le comportement d’exécution du processus de traitement des traps SNMP lors +de la réception de ce dernier. + +![image](../../assets/configuration/06advancedconfiguration.png) + +* **Enable routing** permet d’activer le routage des informations. +* **Route definition** permet de définir la commande à utiliser pour le routage. + +Avant d’exécuter le traitement de l’évènement (traduction du **Output message**), il est possible d’exécuter une +commande appelée PREEXEC. Pour cela, il est possible de définir des **PREEXEC command (SNMPTT type)** en cliquant sur +le bouton **Add a new entry** et de créer autant de règles que nécessaire. + +* **PREEXEC command** définit la commande à exécuter. + +Voici un exemple d’utilisation avec le trap linkUP : Pour un équipement Cisco, $2 == ifDescr contient le numéro de port +de l’interface (GigabitEthernet0/1 par exemple). La meilleure description de l’interface est contenue dans le champ +SNMP ifAlias. + +La commande suivante permet de récupérer cette valeur : + +```shell +snmpget -v 2c -Ovq -c ifAlias.$1 +``` + +Pour utiliser le résultat de la commande PREEXEC dans le **Output message**, il faut utiliser la variable $p{n} où ‘n’ +correspond à l’ordre de définition de la commande. + +Exemple : + +```shell +"Interface $2 ( $p1 ) linkUP. State: $4." "$CA" +``` + +Le résultat sera de la forme : Interface GigabitEthernet0/1 ( SERVEUR NAS ) linkUP. State: up + +* Le champ **Insert trap's information into database** permet de journaliser ou non les traps en base de données. +* Le champ **Timeout** exprimé en secondes, permet de définir le temps maximum de traitement de l’évènement y compris + les commandes de prétraitement (PREEXEC) ainsi que celles de post-traitement (special command). +* Le champ **Execution interval** exprimé en secondes, permet de définir le temps minimum d’attente entre deux + traitements d’un évènement. +* Le champ **Execution Type** permet d’activer **Execution interval** en définissant les conditions +* Le champ **Execution Method** permet de définir si lors de la réception de plusieurs mêmes évènements (OID racine). + L’exécution est soit **Sequential** ou **Parallel**. + +### Le code personnalisé + +Le champ **custom code** permet d’ajouter un traitement Perl personnalisé. Pour l’activer, il est nécessaire de +modifier la variable **secure_mode** à 0 dans le fichier **/etc/centreon/centreontrapd.pm** tel que : + +```perl +our %centreontrapd_config = ( + ... + secure_mode => 0, + .... +); + +1; +``` + +Par exemple, pour décoder le 4ème argument dont la valeur est en hexadécimal, le code personnalisé sera : + +```perl +if ($self->{trap_data}->{entvar}->[3] =~ /[[:xdigit:]]+/) { + my $hexa_value = $self->{trap_data}->{entvar}->[3]; + $hexa_value =~ s/ //g; + $self->{trap_data}->{entvar}->[3] = pack('H*', $hexa_value); +} +``` + +> Attention le tableau des arguments démarre à 0 pour l’argument 1 du trap SNMP. + +### Les variables + +Lors de l’ajout d’une règle de correspondance ou de l’exécution d’une commande spéciale il est possible de passer des +arguments aux champs **String** ou **Special command**. Ces arguments sont listés dans le tableau ci-dessous : + +| Nom de la variable | Description | +|--------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| +| @{NUMERIC_OID} | Récupération de la valeur d’un argument via son OID, exemple @{.1.3.6.1.4.1.9.9.43.1.1.1} | +| $1, $2... | Récupération de la valeur d’un argument via son ordre d’apparition | +| $p1, $p2,... | VValeur de la commande PREEXEC ($p1 = pour la première commande, $p2 pour la seconde, ...) | +| $* | Tous les arguments séparés par un espace | +| @HOSTNAME@ | Nom d’hôte (dans Centreon) auquel le service est rattaché | +| @HOSTADDRESS@ | Adresse IP de l’hôte ayant envoyé le trap | +| @HOSTADDRESS2@ | Nom DNS de l’hôte ayant envoyé le trap (si le serveur n’arrive pas à effectuer une résolution DNS inversée alors on récupère l’adresse IP | +| @SERVICEDESC@ | Nom du service | +| @TRAPOUTPUT@ ou @OUTPUT@ | Message envoyé par l’expéditeur du trap | +| @STATUS@ | Statut du service | +| @SEVERITYNAME@ | Nom du niveau de criticité de l’évènement | +| @SEVERITYLEVEL@ | Niveau de criticité de l’évènement | +| @TIME@ | Heure de réception du trap | +| @POLLERID@ | ID du collecteur ayant reçu le trap | +| @POLLERADDRESS@ | Adresse IP du collecteur ayant reçu le trap | +| @CMDFILE@ | Chemin vers le fichier de commande du central ou de Centreon Engine (collecteur) | + +De plus, il existe des variables spéciales pouvant être utilisées dans la section **Routing settings** au niveau de la +**Routing command** si l’option **Enable routing** est sélectionnée : + +| Nom de la variable | Description | +|---------------------|-------------------------------------------------------------------------------------------------------------| +| @GETHOSTBYADDR($1)@ | Résolution DNS inverse permettant de connaitre le nom DNS à partir de l’adresse IP (127.0.0.1 -> localhost) | +| @GETHOSTBYNAME($1)@ | Résolution DNS permettant de connaitre l’adresse IP à partir du nom DNS (localhost -> 127.0.0.1) | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md new file mode 100644 index 000000000000..2e83364b1af3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md @@ -0,0 +1,153 @@ +--- +id: debug-snmp-traps-management +title: Déboguer la gestion des traps SNMP +--- + +## Déboguer les interruptions SNMP + +Plusieurs éléments sont impliqués dans la gestion des traps SNMP. En cas de problème, il faut vérifier le bon +fonctionnement de son architecture, il y a plusieurs choses à vérifier. + +### Configuration de l’émetteur + +Le premier point à contrôler est la configuration de l’équipement ou application qui a émis l’interruption que vous +auriez dû recevoir. Vérifiez l’adresse IP ou nom DNS de destination, la communauté SNMP ainsi que la version du +protocole. + +### Pare-feux réseau et logiciels, routage + +Le second point à contrôler sont les autorisations des pare-feux réseau et logiciels ou la mise en place d’un routage +spécifique. Si un ou plusieurs pare-feux réseau sont présent ou si une translation de port et/ou d’adresse IP est en +place, vérifiez que le flux est possible entre l’émetteur et le collecteur. L’utilisation de sondes réseau, de +débogage des équipements réseau (pare-feux et routeurs) ou des logiciels tcpdump/wireshark sur le collecteur peut vous +permettre de valider la réception du flux de données sur le port UDP 162. + +### Snmptrapd + +Une fois la réception du flux validé, vérifiez l’état de fonctionnement du processus snmptrapd, qui doit être en cours +d’exécution, ainsi que ses options de configuration. Il est possible d’activer la journalisation du processus. Pour +cela modifiez le fichier **/etc/sysconfig/snmptrapd** et remplacez la ligne "OPTIONS" pour avoir : + +```shell +# snmptrapd command line options +# OPTIONS="-On -d -t -n -p /var/run/snmptrapd.pid" +OPTIONS="-On -Lf /var/log/snmptrapd.log -p /var/run/snmptrapd.pid" +``` + +Redémarrez le processus pour prendre en compte les modifications. Ainsi, pour toute réception de traps SNMP, ces +évènements seront inscrit dans le journal **/var/log/snmptrapd.log**. Si les évènements sont inscrit dans le journal, +supprimez la journalisation et passez à l’étape suivante. + +Dans le cas où vous filtrez par communauté SNMP, vérifiez les communautés autorisées dans le fichier de configuration +**/etc/snmp/snmptrapd.conf**. Si après toutes ces vérifications les traps SNMP ne sont pas inscrites dans le journal, +vérifiez que le processus écoute sur le port UDP 162 pour les équipements distants en utilisant la commande : + +```shell +netstat -ano | grep 162 +``` + +Vous devez avoir un résultat comme : + +```shell +udp 0 0 0.0.0.0:162 0.0.0.0:* off (0.00/0/0) +``` + +Si tel n’est pas le cas, modifiez le port d’écoute du processus. + +> On ne le répète jamais assez mais désactivez le débogage du processus après validation du fonctionnement. Dans le cas +> contraire, la volumétrie des journaux peut être très importante. + +### Centreontrapdforward + +Une fois la validation du processus snmptrapd réalisée, contrôlez le processus centreontrapdforward. La première étape +consiste à vérifier l’appel de ce processus par snmptrapd dans le fichier **/etc/snmp/snmptrapd.conf** : + +Vérifier que le service snmptrapd appelle bien centreontrapdforward. Pour cela, éditez le fichier **/etc/snmp/snmptrapd.conf** +et vérifiez que le fichier contient : + +```shell +traphandle default su -l centreon -c "/usr/share/centreon/bin/centreontrapdforward" +``` + +Si l’accès au fichier est incorrect, modifiez le et redémarrez le processus snmptrapd. Vous pouvez contrôler le bon +fonctionnement du binaire centreontrapdforward en vous rendant au chapitre de configuration de +*[centreontrapdforward](enable-snmp-traps.md#centreontrapdforward)*. + +### Centreontrapd + +Le prochain binaire est celui de Centreon qui permet de sélectionner l’hôte possédant l’adresse IP ou le nom DNS de +l’émetteur ainsi que le service lié à cet hôte et auquel est reliée la définition de l’interruption SNMP. Pour vérifier +son fonctionnement, il convient de vérifier les paramètres de configuration de centreontrapd. + +Vous pouvez vérifier la bonne configuration de centreontrapd au sein du chapitre de configuration de +*[centreontrapd](enable-snmp-traps.md#centreontrapd)*. + +Vous pouvez activer le mode debug pour le service **centreontrapd**. Éditez le fichier suivant : + +```shell +vi /etc/sysconfig/centreontrapd +``` + +Puis modifiez l'option **severity** en **debug** : + +```shell +OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=debug --config=/etc/centreon/conf.pm --config-extra=/etc/centreon/centreontrapd.pm" +``` + +Puis redémarrez **centreontrapd** : + +```shell +systemctl restart centreontrapd +``` + +### Centreon Gorgone + +Dans le cas d’un serveur central, le processus Centreon Gorgone doit être démarré pour transférer la commande externe à +l’ordonnanceur supervisant l’émetteur, vérifiez son état de fonctionnement. Activez le débogage du processus via le +menu **Administration > Parameters > Debug** et redémarrez le processus. + +> Vous pouvez modifier le niveau de journalisation des logs via le menu **Administation > Paramètres > Débogage** + +En cas de non réception de la commande externe, vérifiez le chemin d’accès au fichier de commande du processus défini +dans la variable "$cmdFile" du fichier de configuration **/etc/centreon/conf.pm**. Le chemin doit être +**/var/lib/centreon/centcore.cmd** dans le cas d’un serveur central ou le chemin vers le fichier de commande de +l’ordonnanceur. + +### Ordonnanceur + +Que vous ayez configuré un serveur central ou un collecteur distant pour la réception de trap SNMP, l’ordonnanceur +doit recevoir la commande externe de changement de statut et/ou de message de sortie ("output"). Vérifiez le journal +de l’ordonnanceur. Dans le cas de Centreon Engine le fichier est **/var/log/centreon-engine/centengine.log**. + +Les lignes suivantes doivent apparaître : + +```shell +[1352838428] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;Centreon-Server;Traps-SNMP;2;Critical problem +[1352838433] PASSIVE SERVICE CHECK: Centreon-Server;Traps-SNMP;2;Critical problem +``` + +Si seule la commande externe apparaît mais pas la prise en compte de celle-ci par l’ordonnanceur ("PASSIVE SERVICE CHECK""), +il se peut qu’un problème de synchronisation de l’horloge système soit en cause. Le serveur est soit en retard et la +commande sera traitée ultérieurement, soit en avance et la commande ne sera pas prise en compte. + +### InterfaceCentreon + +Afin d’être visible dans Centreon, l’ordonnanceur doit transmettre les informations, via son module NEB, à la partie +serveur du broker pour que ce dernier l’insère en base de données. Centreon affichera ensuite le résultat à partir de +la base de données « centreon_storage ». S’il vous est possible de visualiser les informations des derniers contrôles +de votre collecteur dans l’interface web, alors vous devriez voir le statut et le message de sortie ("output") de +modifiés. Si tel n’est pas le cas, alors votre ordonnanceur n’est pas connecté à la partie serveur de votre broker. Les +problèmes peuvent être les suivants : + +* L’ordonnanceur n’a pas chargé le module NEB à son démarrage car celui-ci est introuvable ou non défini dans les + options de l’ordonnanceur +* Le module NEB n’a pu se connecter à la partie serveur à cause d’un problème de paramétrage. +* Un pare-feu bloque la connexion entre le collecteur et le serveur Centreon qui héberge la base de données. La partie + serveur du broker n’est pas fonctionnelle ou n’est pas en cours d’exécution + +### Schéma détaillé + +Vous trouverez ci-dessous un schéma détaillé de tous les processus utilisés et/ou présents lors de la réception d’une +interruption SNMP : + +![image](../../assets/configuration/kcentreontrapd_schema.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/dsm.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/dsm.md new file mode 100644 index 000000000000..80e0c545e3e8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/dsm.md @@ -0,0 +1,247 @@ +--- +id: dsm +title: Dynamic Service Management +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le module Centreon Dynamic Service Management (Centreon-DSM) est une extension pour gérer les alarmes avec un système de +journaux d'événements. Avec DSM, Centreon peut recevoir des événements tels que des interruptions SNMP résultant de la +détection d'un problème et attribuer des événements dynamiquement vers un emplacement défini dans Centreon, comme une +console d'événements. + +Une ressource a un nombre défini d'emplacement (slot) sur lesquels des alertes seront attribuées (stockées). Tant que +cet événement ne sera pas pris en compte, par une action humaine, il restera visible dans l'interface Centreon. Quand +l'événement est acquitté, l'emplacement devient disponible pour de nouveaux événements. + +L'objectif de ce module est d'améliorer le système de base de gestion des trap SNMP de Centreon. C'est un complément +indispensable à la gestion des traps SNMP. + +## Installation + +### Sur un serveur central + +Cette partie consiste à installer **Centreon DSM** sur un serveur central. Le serveur et le client Centreon DSM seront +installés sur le serveur principal. + +Exécutez la commande : + + + + +``` shell +dnf install centreon-dsm-server centreon-dsm-client +``` + + + + +``` shell +dnf install centreon-dsm-server centreon-dsm-client +``` + + + + +``` shell +apt install centreon-dsm-server centreon-dsm-client +``` + + + + +Après avoir installé le rpm, vous devez terminer l'installation du module via l'interface Web. Rendez-vous dans le menu +**Administration > Extensions > Manager** et recherchez **dsm**. Cliquez sur **Install selection**. +Votre module Centreon DSM est maintenant installé. + +Vous pouvez maintenant démarrer et activer le service sur votre serveur : + +```shell +systemctl enable dsmd +systemctl start dsmd +``` + +### Sur un collecteur + +Cette partie consiste à installer **Centreon DSM** sur un poller. Seul le client sera installé. + +Exécutez la commande : + + + + +``` shell +dnf install centreon-dsm-client +``` + + + + +``` shell +dnf install centreon-dsm-client +``` + + + + +``` shell +apt install centreon-dsm-client +``` + + + + +Vous devez maintenant créer un accès du poller au serveur SGBD sur la base de données **centreon_storage**. + +## Architecture + +L'événement doit être transmis au serveur via une interruption SNMP. Le trap SNMP est ainsi collecté par le service +**snmptrapd**. Si les paramètres de réception ne sont pas valides (communauté autorisée), le trap SNMP est supprimé. + +Une fois le trap SNMP reçu, il est envoyé au processus **centreontrapdforward** pour inscrire les informations dans +un cache situé dans le répertoire **/var/spool/centreontrapd/** par défaut. + +Le processus **centreontrapd** lit les informations reçues dans le cache et exécute la **special command** liée au trap SNMP. + +Cette commande spéciale exécute binaire **dsmclient.pl** avec des arguments. Ce client stockera l'évènement dans une +file d'attente que le processus **dsmd** lit toutes les 5 secondes. + +Le processus **dsmd.pl** recherchera dans la base de données "centreon" les emplacements associés à l'hôte (slots). Si +aucun slot n'est configuré, l'événement est supprimé. Sinon, le processus cherchera s'il y a au moins un emplacement +libre. Si au moins un emplacement est libre, il transmettra au moteur de surveillance des commandes externes pour +modifier l'état de l'emplacement. Sinon, les données resteront en attend de la libération d'un slot. + +## Configuration + +### Configurer les emplacements (slot) + +Rendez-vous dans le menu **Administration > Modules > Dynamic Services** et cliquez sur **Add** + +![image](../../assets/configuration/dsm/form-slot.png) + +Veuillez suivre le tableau ci-dessous afin de comprendre le rôle de tous les paramètres: + +* **Name** : Nom du groupe d'emplacements. +* **Description** : Description du groupe. +* **Host Name** : Nom de l'hôte auquel seront ajouté les emplacements. +* **Service template based**: Le modèle de service de base permet de créer des emplacements de service sur l'hôte. Ce + modèle doit être 100% passif et une macro personnalisée doit être créée dessus. La macro est nommée **ALARM_ID** et + la valeur par défaut doit être **empty**. +* **Number of slots**: Nombre d'emplacements qui seront créés. +* **Slot name prefix**: Le préfixe est utilisé pour donner le nom des emplacements. Le nom sera suivi d'un incrément + de 0 juqu'au nombre d'emplacements désirés. +* **Check command**: Cette commande de vérification est utilisée lorsque le service doit être forcé pour libérer un + slot. La commande doit envoyer un code retour correct. +* **Status**: Le statut de la configuration. + +Un exemple de modèle de service passif est disponible ci-dessous: + +![image](../../assets/configuration/dsm/form-passive-service.png) + +> La macro **ALARM_ID** est obligatoire. La valeur par défaut **empty** est également nécessaire. + +Lorsque vous validez le formulaire, Centreon crée ou met à jour tous les emplacements. Si vous n'avez modifié aucune +valeur, vous n'avez pas à effectuer d'autre action. Sinon, vous avez devez +*[générer et exporter la configuration](../monitoring-servers/deploying-a-configuration.md)*. + +### Configuration des traps + +La dernière étape consiste à configurer les traps que vous souhaitez rediriger vers vos emplacements. + +Modifiez un trap SNMP que vous souhaitez rediriger vers les systèmes de emplacements. Rendez-vous dans le menu +**Configuration > SNMP traps > SNMP traps** et éditez un trap. + +Pour rediriger les alarmes vers les emplacements, vous devez activer l'option **Execute special command** dans le +formulaire et ajoutez cette commande dans le champ **special command** : + +```shell +/usr/share/centreon/bin/dsmclient.pl -H @HOSTADDRESS@ -o 'Example output : $*' -i 'linkdown' -s 1 -t @TIME@ +``` + +Cette commande sera exécutée à chaque réception du trap pour rediriger l'évènement vers le processus dsmd. + +Cette commande accepte certains paramètres. Vous trouverez dans le tableau suivant la liste et la description de chaque +paramètre : + +* **-H** : Adresse ip ou nom d'hôte vers lequel vous souhaitez rediriger l'alarme. Vous pouvez passer la valeur + @HOSTADDRESS@ afin de garder le même hôte ou vous pouvez utiliser ce que vous voulez afin de centraliser toutes les + alarmes sur le même hôte virtuel par exemple qui héberge toutes les alarmes. +* **-o** : Message d'information que dsm mettra lorsque la commande soumettra le résultat dans le bon emplacement. Ce + message peut être construit avec toutes les valeurs $* et avec une chaîne spécifique que vous passez en paramètre. +* **-i** : Identifiant de l'alarme. L'ID d'alarme peut être construit avec la concaténation de certaines variables + comme "$ 1- $ 4". L'identifiant permet d'utiliser l'option d'acquittement automatique de l'alarme lorsque vous avez la + possibilité de créer le même identifiant pendant le traitement d'ouverture et de fermeture de l'alarme. +* **-s** : Etat que vous souhaitez transmettre en paramètre à l'alarme. Vous pouvez utiliser @STATUS@ afin d'utiliser + la génération de statut héritée du système de règles correspondant. +* **-t** : Temps que vous souhaitez passer à dsm afin de conserver le temps réel de réception du trap. +* **-m** : Liste des macros et de ses valeurs que vous souhaitez mettre à jour lors du traitement de l'alarme. Veuillez + suivre la syntaxe ci-dessous: macro1=valeur1|macro2=valeur2|macro3=valeur3 Cette fonction est utilisée pour mettre à + jour certains paramètres en direct sur la mémoire centrale Centreon-Engine sans redémarrage. + +Votre formulaire devrait maintenant être comme ça : + +![image](../../assets/configuration/dsm/trap-form-2.png) + +Après avoir enregistré le formulaire, veuillez générer la +*[définition des traps SNMP](monitoring-with-snmp-traps.md#Applying-the-changes)*. + +### Configurer les liens d'évènement + +Une chose est différente par rapport au système Centreon Trap, c'est que vous ne devez pas lier directement le modèle de +service de l'emplacement au trap afin de ne pas recevoir x fois le trap (x représente ici le nombre d'emplacements). + +Vous devez lier les interruptions à un service actif de la ressource, par exemple le service **Ping**. + +## Administration + +### Configuration avancée + +Il est possible de modifier la configuration par défaut du module en créant / éditant le fichier +**/etc/centreon/centreon_dsmd.pm** : + +```shell +%centreon_dsmd_config = ( + # which user will send action + centreon_user => 'centreon', + # timeout to send command + submit_command_timeout => 5, + # custom macro used to keep alarm ID + macro_config => 'ALARM_ID', + # number of alarms retrieve from the cache for analysis + sql_fetch => 1000, + # interval in seconds to clean locks + clean_locks_time => 3600, + # duration in seconds to keep locks + clean_locks_keep_stored => 3600, +); + +1; +``` + +### Purge du cache + +Toutes les actions effectuées par le moteur DSMD sont enregistrées dans la base de données +**centreon_storage**. Un cron est fourni pour supprimer les données basées sur la rétention. + +Pour modifier la période de rétention, par défaut **180 jours**, vous pouvez créer / modifier le fichier +**/etc/centreon/centreon_dsm_purge.pm** : + +```shell +%centreon_dsm_purge_config = ( + # period in days + history_time => 180, +); + +1; +``` + +Pour modifier l'heure de la tâche cron, vous pouvez modifier le fichier **/etc/cron.d/centreon-dsm** : + +```shell +##################################### +# Centreon DSM +# + +30 22 * * * root /usr/share/centreon/www/modules/centreon-dsm//cron/centreon_dsm_purge.pl --config='/etc/centreon/conf.pm' --severity=error >> /var/log/centreon/centreon_dsm_purge.log 2>&1 +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md new file mode 100644 index 000000000000..ea01a2815f93 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md @@ -0,0 +1,210 @@ +--- +id: enable-snmp-traps +title: Activer les Traps SNMP +--- + +## Description + +Les traps SNMP sont des informations envoyées en utilisant le protocole SNMP depuis un équipement supervisé vers un +serveur de supervision (satellite). Ces informations contiennent plusieurs attributs dont : + +* Adresse de l’équipement qui a envoyé l’information. +* L’OID racine (Object Identifier) correspond à l’identifiant du message reçu. +* Le message envoyé au travers du trap SNMP qui correspond à un ensemble de paramètres (1 à N). + +Afin de pouvoir interpréter l’évènement reçu, le serveur de supervision doit posséder dans sa configuration le +nécessaire pour traduire l’évènement. Pour cela, il doit disposer d’une base de données contenant les OID ainsi que +leurs descriptions, c’est ce qu’on appelle les fichiers MIB. Il existe deux types de MIB : + +* Les MIB standards qui utilisent des OID standardisés et qui sont implémentés par de nombreux constructeurs sur leurs + équipements. +* Les MIB constructeurs qui sont propres à chacun et souvent à chaque modèle d’équipement. + +Les MIB constructeurs sont à récupérer auprès des constructeurs de matériels. Centreon permet de stocker la définition +des traps SNMP dans sa base de données MariaDB/MySQL. Les traps peuvent ensuite être reliés à des services passifs via l’onglet +**Relations** de la définition d’un service. + +## Architecture + +### Processus de traitement d’un trap par le serveur central + +Voici le processus de traitement d’un trap SNMP : + +1. snmptrapd est le service permettant de récupérer les traps SNMP envoyés par les équipements (par défaut il écoute + sur le port **UDP 162**). +2. Une fois le trap SNMP reçu, il est envoyé au script ‘centreontrapdforward’ qui va écrire les informations reçues + dans un dossier tampon (par défaut : **/var/spool/centreontrapd/**). +3. Le service ‘centreontrapd’ lit les informations reçues dans le dossier tampon et interprète les différents traps + reçus en vérifiant dans la base de données Centreon les actions à entreprendre pour traiter ces évènements. +4. Le service ‘centreontrapd’ transmet les informations à l’ordonnanceur ou au service ‘gorgoned’ (pour transmettre + les informations à un ordonnanceur distant) qui se charge de modifier le statut et les informations associées au + service auquel est lié le trap SNMP. + +![image](../../assets/configuration/06_trap_centreon.png) + +### Processus de traitement d’un trap par un collecteur + +Afin de garder une copie de la configuration des traps SNMP sur chaque serveur satellite, une base de données SQLite +est chargée de garder en cache les informations de traps contenues dans la base de données MariaDB/MySQL. Cette base de +données SQLite est automatiquement générée par le serveur Central. + +Voici le processus de traitement d’un trap SNMP : + +1. snmptrapd est le service permettant de récupérer les traps SNMP envoyées par les équipements (par défaut il écoute + sur le port **UDP 162**). +2. Une fois le trap SNMP reçu, il est envoyé au script ‘centreontrapdforward’ qui va écrire les informations reçues + dans un dossier tampon (par défaut : **/var/spool/centreontrapd/**). +3. Le service ‘centreontrapd’ lit les informations reçues dans le dossier tampon et interprète les différentes traps + reçus en vérifiant dans la base de données SQLite les actions à entreprendre pour traiter les traps reçus. +4. Le service ‘centreontrapd’ transmet les informations à l’ordonnanceur qui se charge de modifier le statut et les + informations associées au service dont est lié le trap SNMP. + +![image](../../assets/configuration/06_trap_poller.png) + +> Le processus Centreon Gorgone à la charge, comme pour l’export de configuration de la supervision, de copier la base SQLite +> sur le collecteur distant.. + +### Ordre de réalisation des actions par le processus centreontrapd + +Voici l’ordre des actions réalisé par le processus centreontrapd : + +![image](../../assets/configuration/SNMP_Traps_management_general_view.png) + +## Configuration des services + +### Snmptrapd + +Afin d’appeler le script ‘centreontrapdfoward’, le fichier **/etc/snmp/snmptrapd.conf** doit contenir les lignes +suivantes : + +```shell +disableAuthorization yes +traphandle default su -l centreon -c "/usr/share/centreon/bin/centreontrapdforward" +``` + +Vous pouvez optimiser les performances de snmptrapd en utilisant les options suivantes : + +* **-On** n’essaye pas de transformer les OIDs +* **-t** ne log pas les traps au serveur syslog +* **-n** n’essaye pas de transformer les adresses IP en nom d’hôtes + +Ces options peuvent être modifiées dans le fichier **/etc/sysconfig/snmptrapd**: + +```shell +OPTIONS="-On -d -t -n -p /var/run/snmptrapd.pid" +``` + +### centreontrapdforward + +Pour modifier le dossier tampon vers lequel les informations seront écrites, modifiez le fichier de configuration +**/etc/centreon/centreontrapd.pm** : + +```perl +our %centreontrapd_config = ( + spool_directory => '/var/spool/centreontrapd/', +); + +1; +``` + +Vous pouvez également mapper le dossier dans le cache en mémoire vive, en ajoutant la ligne suivante dans le fichier +**/etc/fstab** : + +```shell +tmpfs /var/spool/centreontrapd tmpfs defaults,size=512m 0 0 +``` + +### centreontrapd + +Deux fichiers de configuration existent pour Centreontrapd : + +* **/etc/centreon/conf.pm** contient les informations de connexion à la base de données MariaDB/MySQL +* **/etc/centreon/centreontrapd.pm** contient la configuration du service centreontrapd + +#### Configuration du service + +Au sein du fichier **/etc/centreon/centreontrapd.pm** il est conseillé de modifier uniquement trois paramètres (si +nécessaire) : + +* Si l’option **mode** est définie à 1 alors centreontrapd fonctionne sur un serveur satellite, sinon il fonctionne sur + un serveur central (Centreon). +* L’option **centreon_user** permet de modifier l’utilisateur qui exécute les actions. +* L’option **spool_directory** permet de modifier le dossier tampon à lire (si vous l’avez modifié dans le fichier de + configuration de ‘centreontrapdforward’). + +Voici un exemple de configuration possible du fichier **/etc/centreon/centreontrapd.pm** (le fichier de configuration +peut être modifiée avec ‘-config-extra = xxx’) : + +```perl +our %centreontrapd_config = ( + # Time in seconds before killing not gently sub process + timeout_end => 30, + spool_directory => "/var/spool/centreontrapd/", + # Delay between spool directory check new files + sleep => 2, + # 1 = use the time that the trap was processed by centreontrapdforward + use_trap_time => 1, + net_snmp_perl_enable => 1, + mibs_environment => '', + remove_backslash_from_quotes => 1, + dns_enable => 0, + # Separator for arguments substitution + separator => ' ', + strip_domain => 0, + strip_domain_list => [], + duplicate_trap_window => 1, + date_format => "", + time_format => "", + date_time_format => "", + # Time in seconds before cache reload + cache_unknown_traps_retention => 600, + # 0 = central, 1 = poller + mode => 0, + cmd_timeout => 10, + centreon_user => "centreon", + # 0 => skip if MariaDB error | 1 => don't skip (block) if MariaDB error (and keep order) + policy_trap => 1, + # Log DB + log_trap_db => 0, + log_transaction_request_max => 500, + log_transaction_timeout => 10, + log_purge_time => 600 +); + +1; +``` + +#### Configuration de la connexion à la base de données + +Sur un serveur Centreon central, éditer le fichier **/etc/centreon/conf.pm** : + +```perl +$centreon_config = { + VarLib => "/var/lib/centreon", + CentreonDir => "/usr/share/centreon/", + "centreon_db" => "centreon", + "centstorage_db" => "centreon_storage", + "db_host" => "localhost:3306", + "db_user" => "centreon", + "db_passwd" => "centreon" +}; + +1; +``` + +Sur un collecteur, éditer le fichier **/etc/centreon/centreontrapd.pm** : + +```perl +our %centreontrapd_config = ( + ... + "centreon_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", + "centstorage_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", + "db_host" => "", + "db_user" => "", + "db_passwd" => "", + "db_type" => 'SQLite', + ... +); + +1; +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md new file mode 100644 index 000000000000..e1c371312092 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md @@ -0,0 +1,195 @@ +--- +id: monitoring-with-snmp-traps +title: Monitoring SNMP Traps +--- + +## Configuration de la supervision + +Rendez-vous dans le menu **Configuration > Services > Services by host** et cliquez sur **Add**. + +* Définir une description du service +* Sélectionnez l'hôte auquel attacher ce service +* Sélectionnez le modèle de service **generic-passive-service-custom** + +![image](../../assets/configuration/06createpassiveservice.png) + +* Rendez-vous dans l'onglet **Relation** et sélectionnez les traps SNMP + +![image](../../assets/configuration/06servicetrapsrelation.png) + +* Cliquez sur **Save** + +## Appliquer les changements + +Pour pouvoir exporter les OID présents en base de données en fichier de configuration pour centreontrapd, suivez la +procédure suivante : + +1. Rendez-vous dans le menu **Configuration > SNMP traps > Generate** +2. Sélectionnez le collecteur vers lequel vous souhaitez exporter les fichiers de configuration +3. Cochez **Generate traps database** et **Apply configurations** +4. Dans la liste déroulante **Send signal** (préférez l’option **Reload**) +5. Cliquez sur le bouton **Generate** +6. *[Export the monitoring configuration](../monitoring-servers/deploying-a-configuration.md)* + +## Pour aller plus loin + +### Modifier le message de sortie + +#### Utiliser l’ensemble des arguments + +Pour un trap SNMP, lors de la configuration du message de sortie, l’argument **$\*** permet d’afficher l’ensemble des +informations (valeur des arguments) contenu au sein du trap SNMP. Cependant, il est possible d’afficher uniquement +certaines informations contenues au sein du trap SNMP en appelant unitairement les arguments. + +Exemple : +![image](../../assets/configuration/06servicetrapsrelation.png) + +Le message de sortie **Link down on interface $2. State: $4.**” permet d’afficher uniquement le nom de l’interface et +l’état de celle-ci (argument $2 et $4). + +Où trouver les arguments ? + +Les arguments se trouvent au sein de la documentation de la MIB de votre constructeur ou bien au sein du champ +**Comments** de votre trap SNMP. + +Par exemple : +![image](../../assets/configuration/klinkcomment.png) + +Pour afficher : + +* L’index du lien tombé, utilisez l’argument $1 +* Le nom de l’interface tombée, utilisez l’argument $2 +* L’état administratif de l’interface, utilisez l’argument $3 +* L’état de l’interface, utilisez l’argument $4 + +Par exemple, le message de sortie suivant permet d’afficher l’ensemble des arguments : + +```shell +Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3 +``` + +#### Effectuer un contrôle actif suite à la reception d’un trap + +Il est possible par l’utilisation de l’option **Reschedule associated services** de réaliser un contrôle actif sur le +service suite à la réception du trap SNMP. + +Le contrôle actif défini au niveau du service est alors effectué. + +#### Executer une commande spéciale + +Centreontrapd peut éxecuter une commande spéciale suite à la réception d’un trap SNMP. Pour utiliser cela, il suffit de +cocher l’option **Execute special command** et d’écrire la commande voulue. + +#### Utiliser l’ensemble des arguments (via les OID) + +Il est également possible de récupérer directement la valeur d’un argument sans connaître son ordre d’arrivée ($1, $2, +$3, ...). Pour cela, utilisez l’OID complet de l’argument. + +Voici un exemple : + +```shell +Link down on interface: @{.1.3.6.1.2.1.2.2.1.2} (index: @{.1.3.6.1.2.1.2.2.1.1}). Operational state: @{.1.3.6.1.2.1.2.2.1.8}, Administration state: @{.1.3.6.1.2.1.2.2.1.7} +``` + +#### Utiliser une variable externe + +Il est également possible de modifier le message de sortie en récupérant des informations via des scripts ou commandes +externes et de récupérer le résultat pour l’insérer au sein du message. Pour cela, au sein de la définition de votre +trap SNMP, rendez-vous dans l’onglet **Advanced** et ajoutez une (ou plusieurs) commande(s) PREEXEC. + +Exemple : +![image](../../assets/configuration/kpreexec.png) + +La première commande est **snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifAlias.$1** et permet de récupérer l’alias de +l’interface. La variable “$1” correspond ici à la valeur associée à l’argument 1 des traps linkUp/linkDown, soit l’index. + +La seconde commande contient **snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifSpeed.$1** et permet de récupérer la vitesse +de l’interface. La variable “$1” correspond ici à la valeur associée à l’argument 1 des traps linkUp/linkDown, soit l’index. + +Pour utiliser le résultat de la première commande dans le message de sortie, utilisez l’argument $p1 et pour utiliser le résultat de la seconde commande dans le message de sortie, utilisez l’argument $p2. + +Par conséquent, nous pouvons déduire le message de sortie suivant : + +```shell +Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3, Alias : $p1, Speed : $p2 +``` + +#### Utiliser une expression régulière + +Il est également possible de modifier le message de sortie en utilisant une expression régulière par l’intermédiaire de +l’option **Output Transform**. Il suffit de renseigner une expression régulière et elle sera éxécutée à la réception +d’un trap SNMP. + +For example: + +```shell +s/\|/-/g +``` + +Will replace **|** in the output to **-**. + +### Route/Transfer SNMP traps + +Parfois, il existe un concentrateur de traps SNMP au sein d’une société. Exemple : Oracle GRID. Oracle GRID est chargé +de fédérer les informations de tous les serveurs Oracle en cas de nécessité, c’est le serveur Oracle GRID qui envoie un +trap SNMP au serveur de supervision. + +Or, à partir d’un trap SNMP reçu par Oracle GRID, on souhaite pouvoir extraire l’adresse IP de l’hôte concerné et +afficher le message du trap dans un service appartenant non pas à Oracle Grid mais à l’hôte concerné par le trap (le +véritable émetteur). + +Pour cela, exécutez la procédure suivante : + +1. Créez un trap générique, ayant les paramètres suivants : + +* Dans l'onglet **Main** : + +| Attributs | Description | +| -------------- | ------------------------------ | +| Trap Name | Nom du trap | +| Mode | Unique | +| OID | OID du trap | +| Default Status | Statut par défaut du trap | +| Output Message | Message de sortie personnalisé | + +* Dans l'onglet **Advanced**: + +| Attributes | Description | +| ---------------- | ----------------------------------------------------------------------------------------------------------------- | +| Enable routing | Cochez la case | +| Route definition | $2 (ici on part du principe que l’argument numéro 2 du trap contient l’adresse IP de l’hôte concerné par le trap) | + +2. Créer une deuxième définition du trap avec : + +* Dans l'onglet **Main** : + +| Attributs | Description | +| -------------- | ------------------------------ | +| Trap Name | Nom du trap | +| OID | OID du trap | +| Default Status | Statut par défaut du trap | +| Output Message | Message de sortie personnalisé | + +3. Associer la première définition à un service (par exemple PING) du serveur Oracle GRID +4. Associer la deuxième définition à un service passif de l’hôte concerné +5. Générer les définitions de traps SNMP et redémarrer centreontrapd + +Au sein du champ **Route definition** vous pouvez utiliser les arguments suivants : + +| Nom de la variable | Description | +| ------------------- | ------------------------------------------------------------------------------------------------------------ | +| @GETHOSTBYADDR($1)@ | Résolution DNS inverse permettant de connaitre le nom DNS à partir de l’adresse IP (127.0.0.1 -\> localhost) | +| @GETHOSTBYNAME($1)@ | Résolution DNS permettant de connaitre l’adresse IP à partir du nom DNS (localhost -\> 127.0.0.1) | + +### Ne pas soumettre le trap SNMP durant un downtime + +L’option **Check Downtime** permet à centreontrapd de contrôler si le service n’est pas dans un statut de downtime lors +de la réception du trap SNMP. Il est possible alors d’annuler la soumission du trap. + +> Ce mode de fonctionnement n’est compatible qu’avec Centreon Broker et des services supervisés depuis le central. + +Il est possible d’adapter le comportement selon ces trois méthodes : + +* None : Rien de spécial, le trap SNMP est envoyé normalement +* Real-Time : Si un downtime est actif sur le service, il n’est pas mis à jour. +* History : Option utilisée pour ne pas prendre en compte un trap SNMP qui concerne un événement passé lors d’un temps d’arrêt. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/pluginpacks.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/pluginpacks.md new file mode 100644 index 000000000000..0cb2f4f274d6 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/pluginpacks.md @@ -0,0 +1,367 @@ +--- +id: pluginpacks +title: Utiliser des connecteurs de supervision +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> À partir d'avril 2023, nous changeons le nom de certains objets Centreon. "Connecteurs de supervision" est désormais le nouveau nom des Plugin Packs. Nous procédons à ce changement car les utilisateurs confondaient souvent deux termes similaires, Plugins et Plugin Packs, utilisant parfois l'un à la place de l'autre. Nous ne changeons que le nom ! Les fonctionnalités et les capacités restent les mêmes. + +Un connecteur de supervision est un jeu téléchargeable +de modèles de configuration qui permet un déploiement rapide de la supervision de votre infrastructure IT. Les connecteurs de supervision sont le moyen le plus simple de mettre un hôte en supervision. + +Un connecteur de supervision est constitué de deux éléments, installés séparément : + +- Un plugin, qui exécute les commandes de supervision depuis un collecteur. Il peut être installé en ligne de commande ou automatiquement. +- Un pack, qui contient des commandes, des modèles de services et des modèles d’hôtes. Il est installé via l'interface de Centreon. + Pour chaque type d’équipement, les modèles déterminent quels indicateurs seront +supervisés et définissent les valeurs par défaut des seuils Warning et +Critical (celles-ci sont modifiables par la suite). + + Certains packs contiennent aussi des [règles de découverte d'hôtes et de services](discovery/introduction.md). + +La liste de tous les connecteurs de supervision disponibles dans la +bibliothèque en ligne Centreon et les procédures de mise en supervision +associées sont présentées dans la section [connecteurs de supervision](/pp/integrations/plugin-packs/getting-started/introduction). + +## Prérequis + +### Centreon Gestionnaire de connecteurs de supervision + +Le module **Centreon Gestionnaire de connecteurs de supervision** permet de gérer l’installation et la +suppression des connecteurs de supervision. Il est installé par défaut. Il fait régulièrement l’objet de mises à jour, il est donc +recommandé de rester à jour sur ce composant. + +Pour mettre à jour le module, lancez la commande : + + + + +```shell +dnf update centreon-pp-manager +``` + + + + +```shell +dnf update centreon-pp-manager +``` + + + + +```shell +apt install --only-upgrade centreon-pp-manager +``` + + + + +### Licence + +Une [licence](../administration/licenses.md) est nécessaire pour accéder au catalogue complet des connecteurs de supervision. Contactez +les équipes [support Centreon](https://support.centreon.com) pour obtenir votre licence. + +### Connecteurs + +Certains connecteurs de supervision nécessitent aussi un Connecteur (ex : AS400 ou VMware) +ou un agent (ex : Windows NRPE). Dans ce cas, cela est indiqué dans la procédure de supervision du connecteur de supervision. La licence des connecteurs de supervision inclut la licence des connecteurs. + +| Connecteur | Description | +|------------|------------------------------------------------------------------------------------------------------| +| NRPE | Serveur NRPE packagé par Centreon avec les patchs nécessaires pour fonctionner avec les connecteurs de supervision | +| NSClient++ | NSClient++ packagé par Centreon et prêt à l’emploi à l’aide de Centreon plugins embarqués | +| VMWare | Démon Perl utilisant le SDK VMware pour contrôler les plateformes VMware | +| AS400 | Connecteur basé sur Java permettant d’exécuter des contrôles sur AS400 | + +## Installer un connecteur de supervision + +Un connecteur de supervision s'installe en 4 étapes : + +1. Accédez au catalogue des connecteurs de supervision. +2. Installez le pack. +3. Vérifiez la procédure de supervision. +4. Installez le plugin. + +### Accéder au catalogue des connecteurs de supervision + +* Si vous avez une [licence](../administration/licenses.md) **en ligne**, le catalogue des connecteurs de supervision est déjà disponible sur votre plateforme à la page **Configuration > Gestionnaire de connecteurs de supervision**. +* Si vous avez une licence **hors ligne** : + - installez le dépôt des connecteurs de supervision (rendez-vous sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en obtenir l'adresse) + - installez ou mettez à jour le catalogue des connecteurs de supervision +depuis votre serveur central : + + + + +```shell +dnf install centreon-pack-* +``` + +ou : + +```shell +dnf update centreon-pack-* +``` + + + +```shell +dnf install centreon-pack-* +``` + +ou : + +```shell +dnf update centreon-pack-* +``` + + + + +```shell +apt install centreon-pack-* +``` + +ou : + +```shell +apt install --only-upgrade centreon-pack-\* +``` + + + + +> Attention, même si la commande s'appelle `install`, elle ne fait que rendre le catalogue des connecteurs de supervision disponible. Elle n'installe pas ceux-ci. Suivez le reste de la procédure. + +### Installer le pack + +Vous avez maintenant accès au catalogue des connecteurs de supervision, à la page **Configuration > Gestionnaire de connecteurs de supervision** : + +![image](../assets/configuration/pluginpacks/pp_list.png) + +Pour installer un pack, cliquez sur le ``+`` + +![image](../assets/configuration/pluginpacks/install_pp.png) + +Vous pouvez aussi cliquer sur le connecteur de supervision. Vous accéderez à sa description et un bouton ``+`` permettant +de l’installer. + +![image](../assets/configuration/pluginpacks/install_pp_2.png) + +Une fois le pack installé, il apparaîtra avec un contour vert et une coche indiquant qu’il est installé. + +| **Avant installation** | **Après installation** | +|------------------------------------------------------------------|-----------------------------------------------------------------| +| ![image](../assets/configuration/pluginpacks/before_install.png) | ![image](../assets/configuration/pluginpacks/after_install.png) | + +#### Gestion des dépendances + +Il se peut que durant l’installation, certains objets du pack ne soient pas installés. Ces objets sont souvent des +objets de configuration additionnels et ne sont pas obligatoires pour déployer les modèles de configuration apportés par +le pack. + +La plupart du temps, il est nécessaire de mettre à jour votre plate-forme Centreon, puis de réinstaller votre pack. + +Dans l’exemple ci-dessus, l’objet “autodiscover” concerne une règle de découverte pour le module “Centreon Auto Discovery”, +mais celles-ci ne sont disponibles que pour Centreon en version 18.10.x : + +![image](../assets/configuration/pluginpacks/objects_not_installed.png) + +### Vérifier la procédure de supervision + +Certains connecteurs de supervision demandent des étapes de configuration supplémentaires. Consultez la procédure de supervision associée à chaque pack installé pour comprendre le contenu du pack ainsi +que les prérequis nécessaires à son fonctionnement. Cliquez sur l'icône ``i`` de chaque pack pour accéder à la documentation associée : + +![image](../assets/configuration/pluginpacks/doc.png) + +### Installer le plugin + +#### Installation automatique + +1. [Installez le pack](#installer-le-pack). +2. Vérifiez dans la [procédure de supervision](#vérifier-la-procédure-de-supervision) si des étapes de configuration supplémentaires sont requises. +3. À la page **Configuration > Gestionnaire de connecteurs de supervision**, réglez **Installation automatique des plugins** sur **ON**. +4. Utilisez un modèle fourni par le pack pour mettre en supervision un hôte ou un service. +5. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) des collecteurs qui superviseront cet hôte ou ce service : les plugins correspondants seront installés automatiquement sur ces collecteurs. + +#### Installation manuelle + +La procédure de supervision comprend une section **Installation** qui vous indique comment installer le plugin, que ce soit avec une licence en ligne ou une licence hors ligne. Installez le plugin sur tous les collecteurs qui exécuteront les contrôles. + +La commande d'installation suit le modèle suivant : + + + + +```shell +dnf install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +```shell +dnf install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +```shell +apt install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +dans laquelle ``$PLUGIN-PACK$`` correspond au nom du pack. Exemple : + + + + +```shell +dnf install centreon-plugin-Cloud-Aws-Ec2-Api +``` + + + + +```shell +dnf install centreon-plugin-Cloud-Aws-Ec2-Api +``` + + + + +```shell +apt install centreon-plugin-cloud-aws-ec2-api +``` + + + + +## Utiliser un connecteur de supervision + +Appliquez un modèle issu d'un connecteur de supervision à un hôte ou à un service pour mettre celui-ci en supervision : + +1. Créez l'hôte/le service, et dans le champ **Modèle(s)**, choisissez le modèle correspondant au connecteur de supervision désiré. + +2. [Déployez](monitoring-servers/deploying-a-configuration.md) la configuration. + +## Mettre à jour un connecteur de supervision + +> Vous devez mettre à jour et le plugin et le pack. + +### Mettre à jour un ou plusieurs packs + +**Pour mettre à jour un pack :** + +Si vous constatez une icône représentant une flèche sur un connecteur de supervision, cela veut dire qu’une mise à jour du pack est +disponible. + +![image](../assets/configuration/pluginpacks/update.png) + +Pour le mettre à jour, cliquez sur la flèche, + +![image](../assets/configuration/pluginpacks/update2.png) + +ou cliquez sur le connecteur de supervision. Une fenêtre affiche alors des informations relatives au connecteur de supervision, avec une icône flèche +permettant de le mettre à jour. Cliquez sur la flèche pour lancer la mise à jour : + +![image](../assets/configuration/pluginpacks/update3.png) + +Confirmez la mise à jour. + +![image](../assets/configuration/pluginpacks/update_confirm.png) + +Votre pack est maintenant à jour. Vous pouvez maintenant [mettre à jour les plugins](#mettre-à-jour-les-plugins). + +![image](../assets/configuration/pluginpacks/update_finish.png) + +**Pour mettre à jour tous les packs :** + +Vous pouvez également mettre à jour tous les packs en une seule fois : lorsque des mises à jour de packs sont disponibles, un bouton **Tout mettre à jour** apparaît. +Attention, vous devrez quand même [mettre à jour les plugins](#mettre-à-jour-les-plugins). + +![image](../assets/configuration/pluginpacks/update_all.png) + +### Mettre à jour les plugins + +À la page **Configuration > Gestionnaire de connecteurs de supervision**, si **Installation automatique des plugins** est à **ON**, les plugins seront mis à jour automatiquement lorsque vous déploierez la configuration d'un collecteur qui supervise un hôte ou un service qui utilise ce plugin. + +Si **Installation automatique des plugins** est à **OFF**, utilisez la commande suivante pour mettre à jour les plugins : + +1. Exécutez la commande suivante sur **tous les collecteurs**: + + + + +```shell +dnf update centreon-plugin\* +``` + + + + +```shell +dnf update centreon-plugin\* +``` + + + + +```shell +apt-get --only-upgrade install centreon-plugin\* +``` + + + + +2. [Déployez la configuration](monitoring-servers/deploying-a-configuration.md) sur tous les collecteurs. L'option **Redémarrer l'ordonnanceur** doit avoir la valeur **Redémarrer**. + +3. Vérifiez qu’il n’y a pas de nouvelles erreurs suite à l’exécution des nouvelles sondes. + +> C’est à vous de choisir si vous désirez installer les plugins sur tous les pollers, ou seulement sur le poller qui +> exécutera les contrôles. Gardez en tête que si vous n’installez par le plugin sur un poller, vous pourriez avoir des +> erreurs si vous décidez un jour de déplacer un hôte supervisé d’un poller avec le plugin vers un poller ne possédant +> pas le plugin. Par ailleurs, si vous mettez à jour les packs sur le serveur central, il est fortement recommandé de +> mettre à jour également les plugins associés sur les pollers, car de nouveaux contrôles sont parfois définis dans les +> packs, et ne fonctionneront pas s’ils n’ont pas la commande correspondante. + +## Désinstaller un connecteur de supervision + +Comme pour l’installation, la désinstallation du pack peut se faire soit en survolant le pack souhaité puis en cliquant +sur la croix rouge : + +![image](../assets/configuration/pluginpacks/uninstall.png) + +Ou alors en cliquant sur le pack, s’ouvre un pop-up affichant le nom, la version et la description du pack, ainsi qu’une +croix permettant la désinstallation : + +![image](../assets/configuration/pluginpacks/uninstall_2.png) + +Confirmez la désinstallation. + +![image](../assets/configuration/pluginpacks/uninstall_confirm.png) + +Votre connecteur de supervision est désinstallé. + +![image](../assets/configuration/pluginpacks/uninstall_3.png) + +#### Gestion des dépendances + +Si les modèles d’hôtes et de services créés par le connecteur de supervision sont utilisés par des hôtes et services actifs, le Plugin +Pack ne pourra être désinstallé. + +![image](../assets/configuration/pluginpacks/uninstall_pp_used.png) + +Pour pouvoir le désinstaller, soit vous : + +* supprimez les hôtes ou services liés aux modèles fournis par ce connecteur de supervision +* déliez les hôtes ou services liés aux modèles fournis par ce connecteur de supervision + +De plus, si vous tentez de désinstaller un pack dépendant d’un autre pack, la désinstallation ne pourra être faite que +si et seulement si ce pack n’est pas utilisé ni le(s) pack(s) dépendant(s). De plus, les packs dépendant seront +également supprimés. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/templates.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/templates.md new file mode 100644 index 000000000000..fc48d0d2623d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/templates.md @@ -0,0 +1,154 @@ +--- +id: templates +title: Les modèles d'objets +--- + +## Définition + +Un modèle est une pré-configuration de paramètres d’un objet qui pourra être +utilisé pour configurer ce dernier. Le principal avantage est de pouvoir définir +des valeurs par défaut pour certains objets afin d’accélérer la création +d’objets similaires. + +Lors de la création d’un modèle, seul le nom du modèle est obligatoire. Les +autres attributs sont optionnels. + +Il existe trois types de modèles : + + - Les modèles d’hôtes + - Les modèles de services + - Les modèles de contacts + +Les avantages sont : + + - Définition simplifiée des éléments + - Pas de redondance d’information + - Facilité d’ajout de nouvelles ressources + - Configurations prédéfinies assimilées à un « catalogue d’indicateurs» + - Les modèles peuvent hériter d’autres modèles + +## Les modèles d’hôtes + +### Héritage + +Un hôte ou un modèle d’hôte peut hériter d’un ou plusieurs modèles d’hôtes. Cet +héritage peut être : + + - de type associatif (addition de plusieurs modèles d’hôte) + - de type père-fils + +#### Héritage de type Père-Fils + +Il s’agit d’une prédéfinition de paramètres à “n” niveaux. L’objet hérite de son +modèle qui peut lui même hériter de son modèle. Si le fils redéfini un +paramètre, ce dernier écrase celui défini dans les modèles de niveaux +supérieurs. Sinon il vient compléter le paramétrage. + +#### Héritage de type associatif + +Il s’agit d’additionner plusieurs modèles au sein d’un même objet afin +d’additionner l’ensemble des paramètres disponibles. Si un hôte hérite de +plusieurs modèles d’hôtes et si un même paramètre est défini sur plusieurs +modèles, alors le modèle d’hôte situé au-dessus des autres modèles est +prioritaire par rapport à ses ascendants. + +![image](../assets/configuration/09hostmodels.png) + +Le schéma ci-dessous présente un hôte héritant de plusieurs modèles d’hôtes. + +![image](../assets/configuration/09hostmodelsheritage.png) + +### Configuration + +Pour ajouter un modèle d’hôtes : + +Rendez-vous dans le menu **Configuration > Hôtes > Modèles** et cliquez sur +le bouton **Ajouter** + +> Rapportez-vous au chapitre de configuration des +> *[hôtes](basic-objects/hosts.md)* pour configurer un modèle car le +> formulaire est identique. + +> Par défaut, les modèles d’hôte verrouillés sont masqués. Cocher la case +> “Eléments verrouillés” pour les afficher tous. + +## Services Templates + +### Inheritance + +Un service ou un modèle de service ne peut hériter que d’un seul modèle de +service (héritage de type Père-Fils). + +![image](../assets/configuration/09heritageservice.png) + +### Configuration + +Pour ajouter un modèle de services : + +Rendez-vous dans le menu **Configuration > Services > Modèles** et cliquez +sur le bouton **Ajouter** + +> Rapportez-vous au chapitre de configuration des +> *[services](basic-objects/services.md)* pour configurer un modèle car le +> formulaire est identique. + +> Par défaut, les modèles de service verrouillés sont masqués. Cocher la case +> “Eléments verrouillés” pour les afficher tous. + +## Les bonnes pratiques + +### Explications + +La bonne pratique veut que des modèles de services soient associés à des modèles +d’hôtes : lors de la création d’un hôte, les services sont générés +automatiquement à partir des modèles d’hôtes. Il y a deux intérêts à lier les +modèles de services aux modèles d’hôtes : + + - Les services générés automatiquement conservent leur granularité : il est + donc possible de modifier les attributs d’un service sans impacter les + autres services issus de ce modèle + - La création de nouveaux hôtes est grandement accélérée : vous n’avez qu’à + définir l’hôte et les modèles d’hôtes associés à celui-ci + +Exemple : Je créé l’hôte srvi-web-01 selon le modèle ci-dessous : + +![image](../assets/configuration/09hostexemple.png) + +L’hôte srvi-web-01 possèdera automatiquement les services suivants : + + - Load, CPU, Memory, disk-/ à partir des modèles de services issus du modèle + d’hôte “Linux-Server-RedHat-5” + - broken-jobs, hit-ratio, tablespaces, listener à partir des modèles de + services issus du modèle d’hôte “DB-MySQL” + - processus et connection à partir des modèles de services issus du modèle + d’hôte “Web-Server-Apache” + +Lorsque les services d’un hôte sont générés à partir des modèles d’hôtes, il est +possible que certains services générés ne soient plus ou pas vérifiés par +l’outil de supervision. Dans ce cas, il est nécessaire de désactiver les +services inutilisés (et non de les supprimer). En cas de suppression des +services, la régénération des services de l’hôte à partir des modèles d’hôtes va +recréer les services supprimés. + +### Configuration + +La liaison des modèles de services avec les modèles d’hôtes a lieu dans l’onglet +**Relations** des modèles de services ou des modèles d’hôtes. + +## Les modèles de contacts + +Un contact ou un modèle de contact peut hériter d’un seul modèle de contact. + +![image](../assets/configuration/09contactmodel.png) + +### Configuration + +Pour ajouter un modèle de contacts : + +Rendez-vous dans le menu **Configuration > Utilisateurs > Modèles de contact** et +cliquez sur le bouton **Ajouter** + +> Se rapporter au chapitre de configuration des +> [contacts](basic-objects/contacts.md). De plus, les modèles de contacts +> sont utilisés pour l’import automatique de profils via un annuaire +> [LDAP](../administration/parameters/ldap.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/web-import-export.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/web-import-export.md new file mode 100644 index 000000000000..fd91c0f9e402 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/monitoring/web-import-export.md @@ -0,0 +1,200 @@ +--- +id: web-import-export +title: Import/Export +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Le module Centreon API Web Import/Export (AWIE) a été conçu pour aider les utilisateurs à configurer plusieurs plateformes Centreon Web de manière plus rapide et plus facile, grâce à son mécanisme d'import/export. + +À partir d'un environnement source correctement configuré, vous pouvez utiliser le module AWIE pour exporter des objets choisis vers un environnement cible. Ces objets seront répliqués. + +Centreon AWIE est basé sur les commandes CLAPI mais sa valeur ajoutée est de permettre l'utilisation de l'interface Web Centreon au lieu des lignes de commande. + +## Installation + +### Installer les paquets + +Exécutez les commandes suivantes en tant qu'utilisateur privilégié : + + + + +``` shell +dnf install centreon-awie +``` + + + + +``` shell +dnf install centreon-awie +``` + + + + +``` shell +apt install centreon-awie +``` + + + + +### Installer le module via l'interface + +Allez à la page **Administration > Extensions > Manager** et recherchez **awie**. Cliquez sur +**Install selection** : + +![imaage](../assets/configuration/awie/install_01.png) + +Le module est maintenant installé : + +![imaage](../assets/configuration/awie/install_02.png) + +## Exporter la configuration + +Une fois que vous avez correctement configuré tous les objets Centreon Web dont vous avez besoin (collecteur, hôtes, services, contacts, périodes de temps, etc.), vous pouvez les exporter vers une autre plateforme Centreon Web en allant dans le menu **Configuration > Import/Export**. + +La page par défaut est **Exporter**. + +![imaage](../assets/configuration/awie/exportdefault.png) + +### Nom de l'archive exportée + +Sachez que si vous modifiez le nom de l'archive créée, vous ne pourrez pas l'importer tant que le nom de l'archive ne sera pas identique au nom du fichier contenu dans l'archive. + +### Exporter le collecteur + +![imaage](../assets/configuration/awie/poller.png) + +Si vous cochez la case **All** (non cochée par défaut), tous les collecteurs configurés seront exportés avec leurs fichiers de configuration (pour le moteur, le broker, etc.) après avoir cliqué sur le bouton **Export**. + +Si vous souhaitez exporter un seul collecteur, saisissez son nom exact dans le champ **Filter** (une seule valeur est acceptée, ce champ ne propose pas de liste d'éléments). + +### Exporter les hôtes + +![imaage](../assets/configuration/awie/hostsetc.png) + +#### Hôtes + +![imaage](../assets/configuration/awie/hosts.png) + +Il s'agit du même principe que l'export de collecteur, cependant : + +Si vous choisissez d'exporter tous les hôtes, les configurations d'hôtes, les modèles d'hôtes liés et les modèles de services liés seront exportés mais les hôtes seront créés dans l'environnement cible sans leurs services. Cependant, vous pourrez créer des services en sélectionnant la valeur **Yes** pour le bouton radio **Create Services linked to the Template too** dans la page **Configuration > Hosts**, pour chaque hôte. Sauvegardez la configuration de l'hôte et exportez la configuration. + +Si vous exportez un hôte spécifique en utilisant le champ **Filter** (un seul hôte à la fois), l'hôte sera créé dans la nouvelle plateforme avec tous ses services. + +#### Modèles d'hôtes + +![imaage](../assets/configuration/awie/hoststemplates.png) + +Cochez la case **Host templates** si vous voulez exporter tous les modèles d'hôtes. + +Utilisez le champ **Filter** pour renseigner une seule valeur, si vous souhaitez exporter un modèle d'hôtes spécifique. + +#### Groupes d'hôtes + +![imaage](../assets/configuration/awie/hostgroups.png) + +Cochez la case **Host groups** si vous voulez exporter tous les groupes d'hôtes. + +Utilisez le champ **Filter** pour renseigner une seule valeur, si vous souhaitez exporter un groupe d'hôtes spécifique. + +#### Catégories d'hôtes + +![imaage](../assets/configuration/awie/hostscat.png) + +Cochez la case **Host categories** si vous voulez exporter toutes les catégories d'hôtes. Il n'y a pas de champ **Filter** pour cet objet. + +### Exporter les services + +![imaage](../assets/configuration/awie/servicesetc.png) + +#### Services + +![imaage](../assets/configuration/awie/services.png) + +Il s'agit du même principe que l'export de collecteur, cependant : + +Si vous utilisez le champ **Filter** pour un service spécifique, le processus d'import/export +créera TOUS les services liés au premier hôte lié au service filtré. + +#### Modèles de services + +![imaage](../assets/configuration/awie/servicestemplates.png) + +Cochez la case **Service templates** si vous voulez exporter tous les modèles de services. + +Utilisez le champ **Filter** pour renseigner une seule valeur, si vous souhaitez exporter un modèle de services spécifique. + +#### Groupes de services + +![imaage](../assets/configuration/awie/servicegroups.png) + +Cochez la case **Service groups** si vous voulez exporter tous les groupes de services. + +Utilisez le champ **Filter** pour renseigner une seule valeur, si vous souhaitez exporter un groupe de services spécifique. + +#### Catégories de services + +![imaage](../assets/configuration/awie/servicescat.png) + +Cochez la case **Service categories** si vous voulez exporter toutes les catégories de services. Il n'y a pas de champ **Filter** pour cet objet. + +### Exporter les contacts + +![imaage](../assets/configuration/awie/contacts.png) + +Vous pouvez exporter tous les contacts (sans leurs groupes de contacts liés) ou tous les groupes de contacts (avec leurs utilisateurs liés). Il n'y a pas de champ **Filter** pour cet objet. + +### Exporter les commandes + +![imaage](../assets/configuration/awie/commands.png) + +Cochez la case correspondant au type de commande que vous souhaitez exporter (**Check**, **Notification**, **Misc** ou **Discovery**). Il n'y a pas de champ **Filter** pour cet objet. + +> Les commandes de notification de la ligne de commande ne sont pas entièrement exportées (ce problème est connu). + +### Exporter les ressources + +![imaage](../assets/configuration/awie/resources.png) + +### ACL + +Cochez la case **ACL** si vous souhaitez exporter tous les objets ACL (**Access groups**, +**Menus Access**, **Resource Access**, **Actions Access**). Il n'y a pas de champ **Filter** pour cet objet. + +> Les relations entre les objets ACL sont exportées mais les liens entre ces différents objets ne sont pas créés une fois importés. + +### LDAP + +Cochez la case **LDAP** si vous souhaitez exporter les configurations LDAP. Il n'y a pas de champ **Filter** pour cet objet. + +### Périodes de temps + +Cochez la case **Timeperiods** si vous souhaitez exporter toutes les périodes de temps. Il n'y a pas de champ **Filter** pour cet objet. + +## Importer la configuration + +Dans la page **Exporter**, chaque fois que vous cliquez sur le bouton **Export**, un fichier d'archive ZIP est créé et téléchargé. + +C'est ce fichier que vous chargerez dans la page **Importer** d'une autre plateforme Centreon Web. + +Allez à la page **Configuration > Import/Export > Import** : + +![imaage](../assets/configuration/awie/Import.png) + +Sélectionnez le fichier ZIP **centreon-clapi-export** souhaité et cliquez sur le bouton **Import** : + +![imaage](../assets/configuration/awie/zipfileuploaded.png) + +Le message **Import successful** doit normalement s'afficher : + +![imaage](../assets/configuration/awie/success.png) + +Pour vérifier que les objets sont correctement importés, allez dans les pages **Configuration**. + +> Il est nécessaire de générer, tester et exporter la configuration. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-commercial-extensions.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-commercial-extensions.mdx new file mode 100644 index 000000000000..6b8ea573b3f3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-commercial-extensions.mdx @@ -0,0 +1,177 @@ +--- +id: centreon-commercial-extensions +title: Extensions Commerciales +--- + +import ExpandCollapseAll from '@site/src/components/ExpandCollapseAll'; + +## Introduction + +Vous trouverez dans ce chapitre tout ce qui concerne les **extensions commerciales** de Centreon. + +> Il est important de mettre à jour en utilisant la documentation adéquate de mise à jour et de lire attentivement les +> notes de mise à jour afin d'être au courant des changements qui pourraient impacter votre usage ou votre plateforme +> ou des développements spécifiques que vous auriez fait. + +Pour faire des demandes d'évolutions ou reporter des bugs sur les extensions commerciales, veuillez contacter le support. + +> Retrouvez plus de détails sur la version 24.10 dans notre [post de blog](https://www.centreon.com/fr/centreon-annonce-la-sortie-de-sa-derniere-version-logicielle-centreon-24-10/). + + + +## Centreon MAP + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Map Legacy retirement + +> **MAP Legacy is no longer available.** +- If you have used MAP Legacy in the past, or are still using Map Legacy and want to know more about how to migrate to MAP, read [MAP Legacy end of life](https://docs.centreon.com/fr/docs/graph-views/map-legacy-eol/). + +
+ +
+ Enhancements + +**Server** +- Optimized the way the global map status is calculated. +- Adapted Protobuf to handle the new "AdaptiveHostStatus", "AdaptiveServiceStatus" and "pb_instance_configuration" events from Broker. +- Improved logs related to Broker event processing and made event queue size configurable. +- Improved the parsing of Broker events on creation and deletion of resources. +- Increased the default log level to INFO for map-engine. +- Fixed access control for some v2 API endpoints. +- Packaged SELinux rules for centreon-map and centreon-mbi. + +**Editor** +- You can now hide container labels. +- Increased the number of available fonts and made Roboto the default one. + +**Viewer** +- You can now display a host name for a service. +- You can now display the status as background color for a resource in weather style. + +**GeoViews** +- Redesigned the edit window. + +
+ +
+ Bug fixes + +- Fixed a synchronization issue that could cause resources to disappear from a map. +- Fixed concurrent access issues causing exceptions in the viewer. +- When using Service Templates or Hostgroup Services, the status of Service groups is now displayed correctly. + +
+ +## Centreon BAM + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Dashboards** +- A new "Business Activity Diagram" widget is now available. +- Business Activities and Business Views can now be displayed in the Status Grid widget. + +
+ +## Centreon MBI + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- The CBIS service is now started using systemd's configuration. +- Packaged SELinux rules for centreon-map and centreon-mbi. + +
+ +## Centreon Auto Discovery + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- [API] Fixed access control for some v2 API endpoints. + +
+ +## Centreon License Manager + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Anomaly Detection + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- Improved ergonomics by displaying the entire window with a default screen resolution, making all buttons visible. + +
+ +## Centreon IT Edition Extensions + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Dashboard playlists** +- Added unauthenticated playlists for TV projection. +- A new PATCH endpoint has been added for updating playlists. + +
+ +## Centreon IT & Business Extensions + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Monitoring Connectors Manager (formerly Plugin Packs Manager) + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- Updated the links from the Monitoring Connector manager to the Monitoring Connectors documentation. + +
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-os.mdx b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-os.mdx new file mode 100644 index 000000000000..70ab4a15b134 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/centreon-os.mdx @@ -0,0 +1,201 @@ +--- +id: centreon-os +title: Centreon Open Source +--- + +import ExpandCollapseAll from '@site/src/components/ExpandCollapseAll'; + +## Introduction + +Vous trouverez dans ce chapitre tout ce qui concerne **Centreon Open Source**. + +> Il est important de mettre à jour en utilisant la documentation adéquate de mise à jour et de lire attentivement les +> notes de mise à jour afin d'être au courant des changements qui pourraient impacter votre usage ou votre plateforme +> ou des développements spécifiques que vous auriez fait. + +Pour faire des demandes d'évolutions ou signaler des bugs sur les extensions commerciales, vous pouvez vous rendre sur +notre [Github](https://github.com/centreon/centreon/issues/new/choose). + +> Retrouvez plus de détails sur la version 24.10 dans notre [post de blog](https://www.centreon.com/fr/centreon-annonce-la-sortie-de-sa-derniere-version-logicielle-centreon-24-10/). + + + +## Centreon Web + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**ACL** + +- Non-admin users can now see freshly-created host groups and service groups in the list of host/service groups immediately. + +**Additional Connector Configurations** + +- The **Additional connector configurations** menu allows you to define the credentials to access a monitored resource through the Centreon interface rather than having to connect to your pollers manually. + +**API** + +- Added an endpoint that automatically deploys the services brought by the host template. +- Added an endpoint to list Pollers. +- Added an endpoint to create Broker inputs. +- Added endpoints to create, delete, update and list/get Additional Connector Configurations. +- Added API endpoints to return the complete hierarchy for a given BA. +- Added configuration change logs for hostgroup endpoints. +- Added missing configuration change logs for host configuration. +- CLAPI now manages multiline values. + +**Authentication** + +- Expired tokens are now deleted faster. +- You can now enable/disable API Tokens. + +**Configuration** + +- You can now duplicate a locked command. +- Added an option that allows users to disable checks for a service whose host is down. +- You can now configure several more Broker loggers from the interface. + +**Dashboards and widgets** + +- Added last update time to widgets and enabled refresh directly from inside widgets. +- Allowed smaller dimensions for widgets through more responsive behavior. +- Optimized data payload required by widgets to retrieve resource data. +- When users select a resource, only the data that is linked to this resource is displayed in the lists for the other types of data. Irrelevant entries are filtered out. +- **New widgets**: + - The "Web Page" widget displays a web page using its URL. + - The "Clock / Timer" widget displays the time according to the selected time zone, or a timer. +- **Metrics Graph widget**: + - Curves can now have a linear, smooth or step style. + - Added multiple options to customize graphs. + - Colors are now automatically adjusted to distinguish curves for the same metric name. + - Enabled visualization using bar charts and stacked bar charts. +- **Resource Table widget**: + - Added ticketing feature, by third-party provider. + - Added the same action buttons as in Resource Status (Acknowledge, Downtime, Forced check). + - Added filtering options by severity and by status type. + - The "display view" options are now available inside the widget itself. + - Added meta-services. +- **Status Grid widget** + - Pictograms now show the type of the resource and its state (acknowledged, in downtime). + - A colored banner now shows the resource's state. +- **Status Grid and Status Chart widgets** + - When users filter by service / service group / service category and choose to display the data by host, the tiles corresponding to the hosts are displayed correctly instead of displaying "no host found". + + +**Resource Status** +- In the filter window, you can now filter by resource type. +- Users can now filter by host name in "view by host" mode. + +**UX** +- Removed autocomplete for credentials fields in administration pages. + +
+ +
+ Bug fixes + +**API** +- Fixed access control for meta-service endpoint. +- Fixed access control for monitoring servers configuration endpoints. +- Fixed access control for notification configuration endpoints. +- Fixed access control for some v2 API endpoints. +- Fixed access control for some v2 API service configuration endpoints. +- Fixed an issue on ACL checks for Administration endpoints. +- Fixed an issue on ACL checks for Platform endpoints. + +**Other** +- [ACL] Fixed access rights for dashboard configuration endpoints. +- [API] Fixed access control for hosts configuration endpoints. +- [Graphs] Fixed an issue with MySQL 8 that occurred when users edited a curve definition. +- [Packaging] Fixed an issue that prevented centreontrapd from starting properly due to conflicting perl dependencies. + +
+ +## Centreon Collect + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Engine** +- Engine can now handle extra configuration files to complement/overload the centengine.cfg file so that custom configurations remain unchanged when the standard configuration is exported. +- Added a new centengine parameter (`send_recovery_notifications_anyways`) to force sending a recovery notification even when the resource is outside of its notification period. This aims at keeping third-party tools up-to-date at any time when they are fed notifications. +- The whitelist now works with all the commands executed by Engine, including notifications and event handlers. + +**Other** + +- [Broker]The spdlog logger library has been mutualized for Engine and Broker, as well as the log files. This change will not impact Broker's logs, but Engine will log all its messages (including broker-module's messages) in centengine.log. +- [gRPC API] The GetHost function has been improved to return more information. +- [Packaging] Collect packages are now also available for Debian 12 (bookworm) ARM64 (for pollers on Raspberry Pi). + +
+ +## Centreon Monitoring Agent + +
+ Enhancements + +- [CMA] The Centreon Monitoring Agent is now available with a Windows installer, which installs the service and deploys Centreon plugins on the host. +- [CMA] Added a silent mode (CLI) to the agent's Windows installer. +- [CMA] Made Telegraf and Centreon Monitoring Agent commands compliant with Engine whitelists. + +
+ +## Centreon Gorgone + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- [Gorgone] Whitelist errors now have an ERROR level in Gorgone logs. + +
+ +## Centreon High Availability + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon DSM + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Open Tickets + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Bug fixes + +- [Open Tickets widget] Fixed redirection to monitoring pages according to the value of the "use deprecated pages" option. + +
diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/introduction.md new file mode 100644 index 000000000000..1eddc2d1f0e1 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/introduction.md @@ -0,0 +1,11 @@ +--- +id: introduction +title: Centreon Platform 24.10 +--- + +Vous trouverez dans ce chapitre la note de version globale de la **Plateforme Centreon 24.10**. + +Pour accéder aux notes de version détaillées par composants, rendez vous dans les sections suivantes: + +- [Centreon Open Source](centreon-os.mdx) +- [Extensions commerciales](centreon-commercial-extensions.mdx) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/lifecycle.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/lifecycle.md new file mode 100644 index 000000000000..7445b426dd99 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/releases/lifecycle.md @@ -0,0 +1,147 @@ +--- +id: lifecycle +title: Politique de cycle de vie des solutions +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +La société Centreon publie de nouvelles versions +de Centreon sur une cadence régulière depuis Centreon 18.10, permettant à la communauté, aux +entreprises et aux développeurs de planifier leurs feuilles de route avec la +certitude d’avoir de la visibilité en amont sur les nouvelles capacités offertes par l'open source. + + + + +## Numéros de version + +Les versions de Centreon sont nommées par l'année et la période de livraison. Par +exemple, Centreon 22.10 a été livrée en octobre 2022. Tous les modules et +composants de la collection de logiciels Centreon possèdent le même numéro de +version. + +## Cadence de publication + +- À partir de Centreon 24.10, Centreon publiera **une version majeure par an**. +- Des versions mineures, avec des corrections de bugs et des améliorations mineures, sortiront sur une base mensuelle. +- Une version Service Pack, cumulant toutes les modifications des versions mineures, sera généralement livrée après six mois. + +## Mises à jour de maintenance et de sécurité + +- Toutes les versions majeures Open Source sont supportées pendant 18 mois. +- Les versions commerciales majeures de 2024, 2026 et toutes les années paires sont des versions LTS (supportées pendant 3 ans). +- Les versions commerciales majeures de 2025, 2027 et toutes les années impaires sont supportées pendant 18 mois. + +## Cycle de vie + +Le cycle de vie d'une version est divisé en 3 phases : + +1. Première phase : bogues de toute criticité (minor, major, critical, blocking) et correction de sécurité seront traités par priorité. Des améliorations fonctionnelles seront ajoutées. +2. Seconde phase : bogues et correction de sécurité de criticité major, critical et blocking seront traités par priorité. +3. Troisième phase : bogues et correction de sécurité de criticité blocking seront traités par priorité. + +> La priorisation des bogues est faite par l'équipe produit Centreon. + +La première phase du cycle de vie commence le jour de la sortie de la version. + +La deuxième phase d'une version commence lorsque la prochaine version majeure est disponible. Par exemple, la publication de Centreon 25.10 lance la deuxième phase de Centreon 24.10. + +La troisième phase d'une version commence lorsque la deuxième version majeure suivante est disponible. Par exemple, la sortie de Centreon 26.10 lance la troisième phase de Centreon 24.10 et la deuxième phase de Centreon 25.10. + +### Schéma + +Le schéma suivant présente le cycle de vie des produits Centreon à partir de la version 24.10 : + +![image](../assets/releases/lifecycle-24.10.png) + +## Tableau de maintenance des versions + +> Tous les autres produits non décrits dans les tableaux suivants ne sont plus +> pris en charge par Centreon. + +| Produit | Sortie | Date de fin de support | État | +|----------------|--------------|---------------------------|---------------------| +| Centreon 24.04 | 04/2024 | 04/2026 | Supportée | +| Centreon 23.10 | 10/2023 | 10/2025 | Supportée | +| Centreon 23.04 | 04/2023 | 04/2025 | Supportée | +| Centreon 22.10 | 10/2022 | 10/2024 | Plus supportée | +| Centreon 22.04 | 05/2022 | 05/2024 | Plus supportée | +| Centreon 21.10 | 11/2021 | 11/2023 | Plus supportée | +| Centreon 21.04 | 04/2021 | 10/2022 | Plus supportée | +| Centreon 20.10 | 10/2020 | 05/2022 | Plus supportée | +| Centreon 20.04 | 04/2020 | 10/2021 | Plus supportée | + + + + +## Numéros de version + +Les versions de Centreon sont nommées par l'année et la période de livraison : XX.04 pour la version de printemps, +et XX.10 pour la version d'automne. Par +exemple, Centreon 21.04 a été livrée au printemps 2021. Tous les modules et +composants de la collection de logiciels Centreon possèdent le même numéro de +version. + +## Cadence de publication + +Jusqu'à la version 21.04 incluse, les versions étaient supportées pendant 18 mois. Le cycle de vie d'une version est divisé en 3 phases : + +1. Première phase : bogues de toute criticité (minor, major, critical, + blocking) et correction de sécurité seront traités par priorité +2. Seconde phase : bogues et correction de sécurité de criticité major, + critical et blocking seront traités par priorité. +3. Troisième phase : bogues et correction de sécurité de criticité blocking seront traités par priorité. + +> La priorisation des bogues est faite par l'équipe produit +> Centreon. + +La première phase du cycle de vie commence le jour de la sortie de la version. + +La deuxième phase d'une version commence lorsque la prochaine version majeure +est disponible. Par exemple, la publication de Centreon 21.04 lance la deuxième +phase de Centreon 20.10. + +La troisième phase d'une version commence lorsque la deuxième version majeure +suivante est disponible. Par exemple, la sortie de Centreon 21.04 lance la +troisième phase de Centreon 20.04 et la deuxième phase de Centreon 20.10. + +### À partir de la version 21.10 + +À partir de la version 21.10, les versions sont supportées pendant 2 ans. Le cycle de vie d'une version est divisé en 2 phases de douze mois chacune. + +1. Première phase : bogues de toute criticité (minor, major, critical, + blocking) et correction de sécurité seront traités par priorité +2. Seconde phase : bogues et correction de sécurité de criticité major, + critical et blocking seront traités par priorité. + +> La priorisation des bogues est faite par l'équipe produit +> Centreon. + +### Schéma + +Le schéma suivant présente le cycle de vie des produits Centreon jusqu'à la version 24.04 : + +![image](../assets/releases/lifecycle.png) + +## Tableau de maintenance des versions + +> Tous les autres produits non décrits dans les tableaux suivants ne sont plus +> pris en charge par Centreon. + +| Produit | Sortie | Date de fin de support | État | +|----------------|--------------|---------------------------|---------------------| +| Centreon 24.04 | 04/2024 | 04/2026 | Supportée | +| Centreon 23.10 | 10/2023 | 10/2025 | Supportée | +| Centreon 23.04 | 04/2023 | 04/2025 | Supportée | +| Centreon 22.10 | 10/2022 | 10/2024 | Supportée | +| Centreon 22.04 | 05/2022 | 05/2024 | Plus supportée | +| Centreon 21.10 | 11/2021 | 11/2023 | Plus supportée | +| Centreon 21.04 | 04/2021 | 10/2022 | Plus supportée | +| Centreon 20.10 | 10/2020 | 05/2022 | Plus supportée | +| Centreon 20.04 | 04/2020 | 10/2021 | Plus supportée | +| Centreon 19.10 | 10/2019 | 04/2021 | Plus supportée | +| Centreon 19.04 | 04/2019 | 10/2020 | Plus supportée | +| Centreon 18.10 | 10/2018 | 04/2020 | Plus supportée | + + + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/available-reports.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/available-reports.md new file mode 100644 index 000000000000..2f2499a742ce --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/available-reports.md @@ -0,0 +1,2487 @@ +--- +id: reports +title: Les rapports disponibles +--- + +Tous ces rapports sont génériques et leur paramétrage se base sur les +concepts de Centreon : groupes d'hôtes, catégories d'hôtes, catégories +de services, métriques, etc. + +> Vous pouvez jeter un oeil au [Reports +> book](../assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf) pour trouver le +> rapport dont vous avez besoin avant de consulter ce guide. + +La plupart des rapports ont été créés pour un rendu optimal sur PDF, il +se peut que l'espace réservé aux noms (hôtes, services, groupes, +catégories) dans les tableaux ou graphiques soit limité, veillez à +prendre en compte cette limitation lorsque vous définissez le nom des +objets Centreon. + +Vous trouverez les rapports par type de données adressées: + +- [Activité Métier (BAM)](#activité-métier-bam) +- [Disponibilité et évènements](#disponibilité-et-événements) +- [Performance](#performance) +- [Stockage](#stockage) +- [Réseau](#réseau) +- [Virtualisation](#virtualisation) +- [Consommation éléctrique](#consommation-électrique) +- [Profiling](#profiling) +- [Inventaire & configuration](#inventaire-et-configuration) +- [Diagnostic de la base de données Centreon/Reporting](#diagnostic-de-base-de-données-centreonreporting) + +Pour intégrer vos logos aux rapports qui disposent d'un espace prévu à cet +effet, utilisez l'interface de Centreon MBI, dans le menu Logo. Peu importe la +taille de l'image, le ratio doit être de 4,4 pour qu'il corresponde à l'espace +prévu pour l'image. + +## Activité Métier (BAM) + +### BV-BA-Availabilities-1 + +#### Description + +Ce rapport affiche les statistiques de disponibilité et d'incidents des +applications d'une vue métier. La plage horaire utilisée pour chaque +activité métier est la plage horaire par défaut configurée dans le +module Centreon BAM. + +#### Comment interpréter ce rapport + +La première page affiche un focus sur les notions suivantes: + +- Disponibilité + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png) + +- De temps d'indisponibilité + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png) + +Les icônes météo changent en fonction des SLA définis au niveau de +chaque activité métier en minute. + +- De fiabilité et maintenabilité + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png) + +Les pages suivantes affichent pour chaque activité métier présente dans +la vue métier les statistiques sur: + +- La disponibilité, le temps d'indisponibilité, le temps passé en downtime, + l'indice de performance du service ainsi que le nombre d'evenement déclenchés. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png) + +Les icônes météo changent en fonction des SLA en pourcentage et en +minutes définis dans la configuration pour l'activité métier. + +- L'évolution de la disponibilité, de la performance et du nombre + d'évenements déclenchés + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png) + +- Un calendrier de disponibilité par jour où seuls les jours où la + disponibilité est inférieure à 100% sont affichés. +- Une journée avec 100% de disponibilité est représentée par une case + gris clair sans aucune valeur. +- En cas de non présence de données sur une journée, la case sera blanche et + sans valeur. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png) + +- En option, la liste d'évenements déclenchés, avec pour chaque évenement les + KPIs mises en cause. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date correspondant au mois sur lequel générer le rapport (date + de début sur l'interface de Centreon MBI) +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|----------------|------------------|----------------------------------------------------------------------------------------| +| logo | Liste déroulante | Logo à afficher dans l’en tête du rapport | +| business View | Liste déroulante | Sélection de la business view sur laquelle générer le rapport | +| hide event | Radio bouton | Permet de cacher le tableau affichant la liste des évènements déclenchés | +| calendar color | Radio bouton | Permet de colorer les cases du calendrier en utilisant les couleurs verte/orange/rouge | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer\* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans la configuration des activités métier en tant que +plage horaire par défaut ou supplémentaire. Dans le cas contraire, les +activités métier n'apparaîtront pas dans le rapport* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Pré-requis + +- Superviser au moins une activité métier et la lier à une vue business. +- Avoir au moins un mois de données provenant du module BAM + +### BA-Availability-1 + +#### Description + +Ce rapport affiche les statistiques de disponibilité et d'incidents +d'une application métier. + +#### Comment interpréter ce rapport + +Pour une activité métier, le rapport affiche les statistiques sur: + +- La disponibilité, le temps d'indisponibilité, le temps passé en downtime, + l'indice de performance du service ainsi que le nombre d'evenement déclenchés. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png) + +Les icônes météo changent en fonction des SLA en pourcentage et en +minutes définis dans la configuration pour l'activité métier. + +- L'évolution de la disponibilité et du nombre d'évenements déclenchés + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png) + +- Un calendrier de disponibilité par jour où seuls les jours où la disponibilité + est inférieure aux SLA en pourcentage définis dans la configuration de la BA + sont affichés. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png) + +- En option, la liste d'évenements déclenchés, avec pour chaque évenement les + KPIs mises en cause. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date correspondant au mois sur lequel générer le rapport (date de début + sur l'interface de Centreon MBI) +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ----------------- | ---------------- | -------------------------------------------------------------------------------------- | +| logo | Liste déroulante | Logo à afficher dans l'en tête du rapport | +| business Activity | Liste déroulante | Sélection de la business activity sur laquelle générer le rapport | +| hide\_event | Radio bouton | Permet de cacher le tableau affichant la liste des évènements déclenchés | +| calendar color | Radio bouton | Permet de colorer les cases du calendrier en utilisant les couleurs verte/orange/rouge | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer \* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans les paramètres de l'application métier dans +Configuration > Business Activiy > XXXXX | onglet "Information +étendues" en plage horaire par défaut ou supplémentaire* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Pre-requis + +- Superviser au moins une activité métier et la lier à une vue business. +- Avoir au moins un mois de données provenant du module BAM + +### BV-BA-Availabilities-List + +#### Description + +Pour une vue métier, ce rapport affiche les statistiques de +disponibilité, temps d'indisponibilité, temps dégrédé et pannes des +applications métier sous forme de listing. + +#### Comment intérpréter le rapport: + +Les icônes météo changent en fonction des SLA définis au niveau de +chaque activité métier en pourcentage. Si aucune SLA n'est paramétrée, +une disponibiilité de 100% sera représentée par un soleil, et une +disponibilité inférieure à 100% sera représentée par un nuage. + +L'évolution est calculée par rapport à la période précedente: + +> - Si la période de reporting est un mois plein, la période +> précedente sera le mois plein précedent. +> - Si la répiode de reporting est autre qu'un mois plein, +> l'évolution sera calculée sur le nombre de jour qui précede le +> nombre de jour de la période de reporing. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-list.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date correspondant au mois sur lequel générer le rapport (date + de début sur l'interface de Centreon MBI) +- Les paramètres suivants : + +| Paramètres | Type | Description | +| ------------------------------- | ---------------- | ------------------------------------------------------------------------------- | +| business View | Liste déroulante | Sélection de la business view sur laquelle générer le rapport | +| logo | Liste déroulante | Logo à afficher dans l'en tête du rapport | +| sort by | Radio bouton | Permet d'afficher les BA par ordre alphabétique ou par BA les moins disponibles | +| show the reporting timeperiod.. | Radio bouton | Permet l'affichage ou non de la période associée à l'activité métier | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer\* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans la configuration des activités métier en tant que +plage horaire par défaut ou supplémentaire. Dans le cas contraire, elle +n'apparaîtront pas dans le rapport* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Pre-requis + +- Superviser au moins une activité métier et la lier à une vue business. + +### BA-Event-List + +#### Description + +Pour une application métier, ce rapport affiche la liste des évenements +déclenchés. + +#### Comment interpréter ce rapport + +- La liste d'évenements déclenchés, avec pour chaque évenement les KPIs mises en + cause. La période temporelle prise en compte est celle définie par défaut dans + la configuration de la BA. + +![image](../assets/reporting/guide/available-reports/ba-event-list.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date de début et de fin laquelle générer le rapport +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ----------------- | ---------------- | ----------------------------------------------------------------- | +| logo | Liste déroulante | Logo à afficher dans l'en tête du rapport | +| business Activity | Liste déroulante | Sélection de la business activity sur laquelle générer le rapport | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer\* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans les paramètres de l'application métier dans +Configuration > Business Activiy > XXXXX | onglet "Information +étendues" en plage horaire par défaut ou supplémentaire* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Pre-requis + +- Disposer de Centreon BAM >= 3.0 +- Disposer de Centreon Broker >= 2.8.0 +- Superviser au moins une activité métier et la lier à une vue + business. +- Avoir au moins un mois de données provenant du module BAM + +### BV-BA-Current-Health-VS-Past + +#### Description + +Ce rapport affiche la santé des activités métier au moment de sa génération et +leur disponibilité sur une période paramétrée. + +#### Comment interpréter ce rapport + +Pour une vue métier donnée en entrée, Le rapport affiche l'état et la +santé de chacune des applications de la vue métier, l'heure du dernier +changement d'état, la durée de l'état actuel, indique si +l'application métier a été acquittée et / ou en downtime. Selon le +paramètre choisi au moment de la génération, le rapport affiche la +disponibilité et le nombre de pannes des applications métier sur une +période dans le passé. + +![image](../assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +| Paramètres | Type | Description | +|---------------------------------|------------------|-------------------------------------------------------------------------------------------------| +| logo | Liste déroulante | Logo à afficher dans l’en tête du rapport | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| business View | Liste déroulante | Sélection de la business view sur laquelle générer le rapport | +| compare with | Radio bouton | Permet de d’afficher les données du passés selon la période choisie | +| show the reporting timeperiod.. | Radio bouton | Permet l’affichage ou non de la période associée à l’activité métier | +| display thresholds | Radio bouton | Afficher les seuils d’avertissement (warning) et critique (critical) de chaque activité métier? | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer\* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans les paramètres de l'application métier dans +Configuration > Business Activiy > XXXXX | onglet "Information +étendues" en plage horaire par défaut ou supplémentaire. Dans le cas +contraire seule les données temps réelles seront affichées.* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Pre-requis + +- Superviser au moins une activité métier et la lier à une vue business. + +### BV-BA-Availabilities-Calendars + +#### Description + +Ce rapport vous donnes des statistiques sur la disponibilité et les +incidents de vos activités métier. Les données sont affichées dans des +calendriers au mois et à la journée. La plage horaire utilisée pour +chaque activité métier est la plage horaire par défaut configurée dans +le module Centreon BAM. + +#### Comment interpréter ce rapport + +Le premier calendrier la disponibilité des activités métier par mois. +Les cases sont colorées en fonction des SLA définis en pourcentage au +niveau de chaque activité métier (dans "Extended Information"). Si +aucun SLA n'est défini au niveau de la BA, la valeur est affichée dans +la cellule si la disponibilité est inférieure à 100% ou +l'indisponibilité supérieure à 0 secondes. La plage horaire considérée +est la plage horaire de reporting par défaut définie au niveau de chaque +activité métier (Dans l'onglet "Configuration"). + +Le second calendrier affiche l'indisponibilité et le nombre +d'incidents apparus sur les activités métier, par mois. Les cases sont +colorées en fonction des SLA définis au niveau de chaque activité métier +en minutes. Si aucun SLA n'est défini au niveau de la BA, la valeur est +affichée dans la cellule si la disponibilité est inférieure à 100% ou +l'indisponibilité supérieure à 0 secondes. La plage horaire considérée +est la plage horaire de reporting par défaut définie au niveau de chaque +activité métier. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png) + +Le troisième calendrier affiche la disponibilité par jour de chaque +activité métier. La couleur est affichée en fonction des tranches de +temps indisponibles définies en paramètres du rapport, en minute. Si la +disponibilité est inférieur à 100%, la disponibilité de la journée est +affichées. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date correspondant au mois sur lequel générer le rapport (date + de début sur l'interface de Centreon MBI) +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|---------------|------------------|-------------------------------------------------------------------------| +| logo | Liste déroulante | Logo à afficher dans l’en tête du rapport | +| business View | Liste déroulante | Sélection de la business view sur laquelle générer le rapport | +| sla 1 | Champ texte | Temps maximum en minutes du premier intervalle [0 min, **sla1**] | +| sla 2 | Champ texte | Temps maximum en minutes du second intervalle [sla1 min, **sla2**] | +| sla 3 | Champ texte | Temps maximum en minutes du troisième intervalle [sl2 min, **sla3**] | +| sla 4 | Champ texte | Temps maximum en minutes du quatrième intervalle [sl3 min, **sla4**] | +| title | Champ texte | Permet de préciser un titre particulier pour le rapport | +| time period | Liste déroulante | Sélectionner la période de reporting à appliquer\* | + +\* *Si différent de "Default", assurez vous que la plage sélectionnée +soit bien définie dans la configuration des activités métier en tant que +plage horaire par défaut ou supplémentaire. Dans le cas contraire, elle +n'apparaîtront pas dans le rapport* + +> Dans le champ **périodes temporelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-legende.png) + +#### Pre-requis + +- Superviser au moins une activité métier et la lier à une vue business. +- Avoir au moins un mois de données provenant du module BAM + +## Disponibilité et événements + +### Hostgroups-Incidents-1 + +#### Description + +Ce rapport permet d'avoir une vue d'ensemble sur les incidents apparus +au niveau des hôtes. + +#### Comment interpréter ce rapport + +La page de garde permet de connaître la répartition des hôtes selon les +catégories d'hôtes et de services. + +La première page du rapport affiche la répartition des évènements de +type exception ouverts/fermés par jour du mois et sur plusieurs mois +ainsi que leur répartition par groupe. + +Sur la deuxième page on retrouve des informations de fiabilité et +maintenabilité des groupes d'hôtes (MTRS, MTBF,MTBSI). + +Une page est ensuite générée pour chaque groupe d'hôtes afin de donner +des informations plus détaillées sur les évènements de type exception, +le MTTR, le MTBF et les hôtes les plus critiques sur ces deux derniers +indicateurs. + +#### Page de garde + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png) + +#### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png) + +#### Pour chaque groupe + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ------------- | ---------------- | ------------------------------------------- | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host groups | Multi sélection | Sélection des groupes d'hôtes | +| Host category | Multi sélection | Catégories d'hôtes | +| Interval | Champ texte | Nombre de mois à afficher dans le graphique | + +### Hostgroups-Availability-1 + +#### Description + +Ce rapport affiche la disponibilité et les évènements de type exception +des hôtes et des services de plusieurs groupes d'hôtes. L'évolution de +ces indicateurs est également présente. + +#### Comment interpréter ce rapport + +Sur la première page on trouve une vue d'ensemble des indicateurs de +disponibilité et d'évènements de type exception pour les hôtes et les +services de tous les groupes d'hôtes, par catégories d'hôtes. + +Deux pages sont ensuite générées pour chaque groupe d'hôtes : + +- La première contient des graphiques d'évolution sur les indispobilités et les + évènements de type exception des services et des hôtes du groupe +- La deuxième contient des TOP sur les hôtes les plus critiques en terme + d'indisponibilité et d'évènements. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png) + +#### Pour chaque groupe d'hôtes + +##### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png) + +##### Deuxième page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ---------------- | ---------------- | ------------------------------------------- | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host groups | Multi sélection | Sélection des groupes d'hôtes | +| Host category | Multi sélection | Catégories d'hôtes | +| Service category | Multi sélection | Catégories de services | +| Interval | Champ texte | Nombre de mois à afficher dans le graphique | + +### Hostgroup-Availability-2 + +Ce rapport donne la disponibilité et les évènements de type exception +d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Sur la première page, l'évolution de la disponibilité et des évènements +de type exception est affichée pour les hôtes et les services du groupe. +L'évolution du nombre d'hôtes dans le groupe est également affichée. + +Sur la deuxième page, la disponibilité et les alarmes des évènements de +type exception sont affichés par catégorie. De plus, des TOP 15 des +équipements les moins disponibles et ayant générés le plus d'évènements +sont affichés. + +On retrouve sur les deux dernières pages la disponibilité et les +évènements de type exception sur les serivces. Les informations sont +réparties par catégories d'hôtes et de services. Des TOP 15 des +équipements sur lesquels il y a eu le plus d'évènements et +d'indisponibilité des services sont affichés. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png) + +#### Troisième & quatrième pages + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png) + +et + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|-----------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | +| Interval | Champ texte | Nombre de mois à afficher dans les graphiques | + +### Hostgroup-Host-Availability-List + +Ce rapport est un tableau listant des informations des disponibilités et +d'évènements de type exception pour les hôtes d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Pour chaque équipement sont affichés :le pourcentage de disponibilité, +le temps indisponible, le nombre d'évènements et les évolutions par +rapport à la période précédente. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|---------------|------------------|-----------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | + +### Hostgroup-Host-Event-List + +Ce rapport affiche un listing des évènements non informatifs sur les +équipements d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Ce rapport donne des statistiques détaillées sur les évènements : date +de début, date de fin, temps avant acquittement, "real MTRS", +"effective MTRS". + +- *real MTRS* : temps total de résolution de l'évènement à partir de + sa détection dans la plage horaire considérée +- *effective MTRS* : temps total de résolution de l'évènement à partir + de sa détection et uniquement calculé dans la plage horaire + considérée + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|---------------|------------------|-----------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | + +### Hostgroup-Service-Availability-List + +Ce rapport affiche un listing des disponibilités et des évènements sur +les services d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Pour chaque service du groupe on retrouve : la disponibilité, le temps +d'indisponibilité, les évènements de type avertissement et exception +ainsi que l'évolution de ces différents indicateurs. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|--------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Sélection des catégorie d’hôtes | +| Service category | Multi sélection | Sélection des catégories de services | + +### Hostgroup-Service-Event-List + +Ce rapport affiche un listing des évènements non informatifs sur les +services d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Ce rapport donne des statistiques détaillées sur les évènements : date +de début, date de fin, temps avant acquittement, "real MTRS", +"effective MTRS". + +- *real MTRS* : temps total de résolution de l'évènement à partir de + sa détection dans la plage horaire considérée +- *effective MTRS* : temps total de résolution de l'évènement à partir + de sa détection et uniquement calculé dans la plage horaire + considérée + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|-----------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | + +### Hostgroup-Service-Incident-Resolution-2 + +Pour un groupe d'hôte, ce rapport affiche les taux d'acquittement et +de résolution des évènements, les évènements les plus longues, les +incidateurs les moins fiables ainsi que les équipements générants le +plus de d'évènements. + +#### Comment interpréter ce rapport + +Le premier objet de ce rapport affichent le pourcentage d'évènements +acquittées et résolues dans un délai donné en paramètre + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png) + +Le second objet affiche un TOP x des évènements les plus longues, avec +pour chaque évènement, l'heure de début et de fin ainsi que le temps +mis pour sa résolution. En rouge les incidateurs dans un status +"critical". En orange les indicateurs "warning", et en gris les +incidateurs "unknown". + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png) + +Le troisième objet de ce rapport représente un TOP x des indicateurs les +moins fiables. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png) + +Enfin, un dernier TOP représentera les équipements générants le plus +d'évènements. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Une SLA d'acquittement en minutes +- Une SLA de résolution en minutes +- Le nombre de lignes à afficher dans les TOP +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|-----------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | + +### Hostgroup-Host-Pareto + +Ce rapport met en évidence les hôtes responsables du plus grand nombre +d'évènements de type exception (statut DOWN) dans un groupe +d'équipements. La représentation est faite sous forme de diagramme de +pareto. + +#### Comment interpréter ce rapport + +Les hôtes resposables de 80% des évènements sont mis en avant dans ce +rapport (couleurs dans le graphique). Ils sont triés par ordre +décroissant en termes de nombre d'évènements générés. Le pourcentage +des évènements cumulé au fur et à mesure est aussi représenté. + +Ce rapport permet donc de prendre des mesures correctrices sur les bons +hôtes en exploitant le principe de Pareto ou encore la loi des 80-20 : +environ 80 % des effets sont le produit de 20 % des causes. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|---------------|------------------|-----------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | + +### Hostgroups-Host-Current-Events + +Ce rapport affiche les évènements en cours sur les hôtes au moment de sa +génération. + +#### Comment interpréter ce rapport + +Le rapport est composé de quatre parties, dans chaque partie, il est +possible de sélectionner un périmètre restreint en filtrant sur des +groupes d'hôtes et catégories de d'hôtes. Les données affichées sont +des données temps réel du moment de la génération. + +- Les évènements en cours peuvent être triés par: état, durée et hôtes. +- Il est possible d'afficher / filtrer les hôtes acquittés ou en downtime. +- Seuls les évènements dans un état confirmé (hard) sont pris en compte dans le + rapport. +- Il est possible générer le rapport sur moins de 4 parties, pour cela il suffit + de renseigner la valeur -1 dans le titre dans la partie non utilisée + +![image](../assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +| Paramètres | Type | Description | +|--------------------|-----------------|-----------------------------------------------------------------| +| title | Champs texte | titre de la première partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 1 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 1 du rapport | +| title | Champs texte | titre de la seconde partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 2 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 2 du rapport | +| title | Champs texte | titre de la troisième partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 3 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 3 du rapport | +| title | Champs texte | titre de la quatrième partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 4 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 4 du rapport | +| sort\_by | Radio bouton | Permet de trier les résultats par état, durée ou hôte | +| display\_ack | Radio bouton | Permet d’afficher ou de filtrer les hôtes acquittés | +| display\_downtimes | Radio bouton | Permet d’afficher ou de filtrer les hôtes dans un temps d’arrêt | + +### Hostgroups-Service-Current-Events + +Ce rapport affiche les évènements en cours sur les services au moment de +sa génération. + +#### Comment interpréter ce rapport + +Le rapport est composé de quatre parties, dans chaque partie, il est +possible de sélectionner un périmètre restreint en filtrant sur des +groupes d'hôtes, des catégories d'hôtes et de services. Les données +affichées sont des données temps réel du moment de la génération. + +- Les évènements en cours peuvent être triés par: état, durée et hôtes. +- Il est possible d'afficher / filtrer les services acquittés ou en downtime. +- Il est possible de prendre en compte uniquement les services critiques. +- Seuls les évènements dans un état confirmé (hard) sont pris en compte dans le + rapport. +- Il est possible générer le rapport sur moins de 4 parties, pour cela il suffit + de renseigner la valeur -1 dans le titre dans la partie non utilisée + +![image](../assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +| Paramètres | Type | Description | +|------------------------|-----------------|--------------------------------------------------------------------| +| title | Champs texte | titre de la première partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 1 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 1 du rapport | +| Service category | Multi sélection | Catégories de services de la partie 1 du rapport | +| title | Champs texte | titre de la seconde partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 2 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 2 du rapport | +| Service category | Multi sélection | Catégories de services de la partie 2 du rapport | +| title | Champs texte | titre de la troisième partie du rapport | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 3 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 3 du rapport | +| Service category | Multi sélection | Catégories de services de la partie 3 du rapport | +| title | Champs | titre de la quatrième partie du | +| Hostgroups | Multi sélection | Sélection des groupe d’hôtes de la partie 4 du rapport | +| Host category | Multi sélection | Catégories d’hôtes de la partie 4 du rapport | +| Service category | Multi sélection | Catégories de services de la partie 4 du rapport | +| sort\_by | Radio bouton | Permet de trier les résultats par état, durée ou hôte | +| display\_ack | Radio bouton | Permet d’afficher ou de filtrer les services acquittés | +| display–downtimes | Radio bouton | Permet d’afficher ou de filtrer les services dans un temps d’arrêt | +| display only\_critical | Radio bouton | Permet d’afficher uniquement les services dans un état critique | + +## Performance + +### Host-Graphs-V2 + +Ce rapport affiche les graphiques RRD des services d'un hôte pour les +catégories de services sélectionnées. + +![image](../assets/reporting/guide/available-reports/Host-Graphs-V2_png.png) + +#### Paramètres + +Les paramètres attendus par le rapport sont : + +- La période de reporting +- Les objets Centreon suivant: + +| Paramètres | Type | Description | +| ----------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | +| Host | Liste déroulante | Sélection de l'hôte | +| Service category | Liste déroulante | Catégorie de services | +| Metric(s) | Multi sélection | Sélection des métriques à conserver. Si aucune métrique n'est selectionnée, les graphiques par métrique ne sont pas affichés. | +| Règle d'affichage | Check box | Défini si les graphiques doivent être affichés pour chaque service, chaque métrique ou les deux | + +#### Pre-requis + +Configurez le champ ci-dessous à la page `Reporting > Business Intelligence > +General Options > Scheduler Options` : + +![image](../assets/reporting/guide/available-reports/graph_url.png) + +Ce rapport depend de l'API de génération de graphique RRD de Centreon +qui est appelé en utilisant le champ ci-dessus. De ce fait, il doit être +possible d'effectuer une requête sur l'API en HTTP ou HTTPs *à partir +du serveur de reporting* et cela doit fonctionner. + +Pour résumer un "curl" sur l'URL de l'API doit répondre sans erreur +de certificat, example : + +``` shell +curl http://$CENTREON-IP-OR-DNS$/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=$AUTH_KEY$&username=$USER$&hostname=$HOSTNAME$&service=$SERVICENAME$&start=$TIMESTAMPSTART$&end=$TIMESTAMPEND$ +``` + +Remplacez par les bonnes valeurs les variable '$xxxx$'. + +Exemple : + +``` shell +http://centreon.enterprise.com//include/views/graphs/generateGraphs/generateImage.php?akey=af9c583c5f31bd2459c07&username=myUser&hostname=host-1&service=cpu&start=1490997600&end=1493157600 +``` + +> Si votre serveur Central utilise SSL/TLS, et si le certificat est auto-signé +> ou signé par une autorité non reconnue, vous devez l'ajouter à la base +> des certificats de confiance : +> +> - Installer le paquet *ca-certificates* : +> +> ``` shell +> yum install -y ca-certificates +> ``` +> +> - Récupérer et stocker le certificat : +> +> ``` shell +> echo quit | openssl s_client -showcerts -servername -connect : > /etc/pki/ca-trust/source/anchors/.pem +> ``` +> +> La valeur de l'option *servername* doit être le nom d'hôte exact défini dans +> le certificat. Il doit aussi être le nom d'hôte défini dans l'interface web +> de Centreon et utilisé par le générateur des rapports pour contacter le +> serveur Central. +> +> - Recharger la base des certificats de confiance : +> +> ```shell +> update-ca-trust +> ``` +> +> CBIS doit être redémarré après ces actions. + +### Hostgroup-Graphs-v2 + +Ce rapport affiche les graphiques RRD des services d'un groupe d'hôtes +pour les catégories de services sélectionnées. + +![image](../assets/reporting/guide/available-reports/Host-Graphs-V2_png.png) + +#### Paramètres + +Les paramètres attendus par le rapport sont : + +- La période de reporting +- Les objets Centreon suivant: + +| Paramètres | Type | Description | +| ----------------- | ---------------- | ---------------------------------------------------------------------------------------------------------------------------- | +| Host group | Liste déroulante | Sélection du groupe d'hôtes | +| Host category | Multi sélection | Catégories d'hôtes | +| Service category | Multi sélection | Catégories de services | +| Metric(s) | Multi sélection | Sélection des métriques à conserver. Si aucune métrique n'est selectionnée les graphiques par métrique ne sont pas affichés. | +| Règle d'affichage | Check box | Défini si les graphiques doivent être affichés pour chaque service, chaque métrique ou les deux | + +#### Pre-requis + +Configurez le champ ci-dessous à la page *Reporting > Business +Intelligence > General Options > Scheduler Options* : + +![image](../assets/reporting/guide/available-reports/graph_url.png) + +Ce rapport depend de l'API de génération de graphique RRD de Centreon +qui est appelé en utilisant le champ ci-dessus. De ce fait, il doit être +possible d'effectuer une requête sur l'API **à partir du serveur de +reporting** et cela doit fonctionner. + +Exemple, à partir du serveur de reporting, le "curl" suivant doit +répondre et générer un fichier de type image : + +``` shell +curl https://$CENTREON-IP-OR-DNS$/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=$AUTH_KEY$&username=$USER$&hostname=$HOSTNAME$&service=$SERVICENAME$&start=$TIMESTAMPSTART$&end=$TIMESTAMPEND$ +``` + +Remplacez par les bonnes valeurs les variable '$xxxx$'. + +Exemple d'adresse : + +``` shell +http://centreon.enterprise.com//include/views/graphs/generateGraphs/generateImage.php?akey=af9c583c5f31bd2459c07&username=myUser&hostname=host-1&service=cpu&start=1490997600&end=1493157600 +``` + +> Si votre serveur Central utilise SSL/TLS, et si le certificat est auto-signé +> ou signé par une autorité non reconnu, vous devez ajouter l'ajouter à la base +> des certificats de confiance : +> +> - Installer le paquet *ca-certificates* : +> +> ``` shell +> yum install -y ca-certificates +> ``` +> +> - Récupérer et stocker le certificat : +> +> ``` shell +> echo quit | openssl s_client -showcerts -servername -connect : > /etc/pki/ca-trust/source/anchors/.pem +> ``` +> +> La valeur de l'option *servername* doit être le nom d'hôte exact défini dans +> le certificat. Il doit aussi être le nom d'hôte défini dans l'interface web +> de Centreon et utilisé par le générateur des rapports pour contacter le +> serveur Central. +> +> - Recharger la base des certificats de confiance : +> +> ```shell +> update-ca-trust +> ``` +> +> CBIS doit être redémarré après ces actions. + +### Hostgroup-Capacity-Planning-Linear-Regression + +Ce rapport affiche des graphiques d'évolution et de prévision des +performances des métriques pour un groupe d'hôtes. + +#### Comment interpréter ce rapport + +L'évolution de la valeur des métriques est affichée sur un graphique et +dans une table adjacente. Les prévisions sont calculées à partir des +valeurs prises sur la période ainsi que des valeurs avant la période de +reporting (paramètre Historical period in days...) et projetées sur le +futur, sur un nombre de jour défini en paramètre. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|---------------------------------------------------------------|------------------|-------------------------------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | +| Metrics | Multi sélection | Metriques à **inclure** dans le rapport | +| Historical period in days in addition of the reporting period | Champ texte | Nombre de jours à prendre en compte **avant** la période de reporting pour calculer l’évolution | +| Forecast period in days | Champ texte | Nombre de jour sur lesquels projeter les valeurs | + +#### Pre-requis + +Veillez à ce que les données de performance des métriques respectent +bien le format ci-dessous. Les valeurs maximum, warning et critique +doivent être présentes. + +``` text +output-plugin | metric1=valeur(unité);seuil_warning;seuil_critique;minimum;maximum metric2=valeur ... +``` + +### Hostgroups-Rationalization-Of-Resources-1 + +Ce rapport permet d'avoir une vue d'ensemble de l'utlisation des +resources pour plusieurs groupes d'hôtes. L'idée ici étant d'établir +quelles sont les resources sous-utilisées, sur-chargées et combien sont +elles selon un critère paramétrable. + +Sur la première page, la répartition en terme de charge est affichées +pour tous les groupes d'hôtes. + +Une page pour chaque groupe d'hôtes est ensuite générée afin de +connaître la répartition par charge des équipements. + +#### Page de résumé + +![image](../assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png) + +#### Pour chaque groupe d'hôtes + +![image](../assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png) + +#### Parameters + +Les paramètes attendus par ce rapport sont : + +- La période de reportin +- Les objets Centreon suivant: + +| Parameter | Parameter type | Description | +|--------------------|------------------|-----------------------------------------------------------------------------------------------------------| +| Hostgroups | Multi sélection | Hostgroups à prendre en compte | +| Host Categories | Multi sélection | Catégories d’hôtes | +| Service Categories | Liste déroulante | Catégorie de services | +| Metrics | Multi sélection | Métriques à utiliser | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Intervalle | Champ texte | Nombre de mois à afficher dans les graphiques | +| overloaded | Champ texte | Seuils haut à partir duquel la resources est considérée comment surchargée. *Unité: voir les pré-requis* | +| underused | Champ texte | Seuils haut à partir duquel la resources est considérée comme sous-utilisée. *Unité: voir les pré-requis* | + +#### Prerequisites + +Ce rapport peut être généré sur un indicateur retournant une valeur maximum ou +non. + +- Dans le cas d'un indicateur sans valeur maximum (ex: nombre de visiteurs), les + seuils doivent être dans la **même unité** que l'indicateur (ex: nombre de + visiteurs). +- Dans le cas d'un indicateurs possédant une valeur maximum est présente, les + seuils doivent être en **pourcentage** (entre 0 et 100). + +### Hostgroup-Service-Metric-Performance-List + +Ce rapport affiche la valeur moyenne, les valeurs minimum & maximum +atteintes, la valeur maximum possible (lorsqu'elle existe) ainsi que +les seuils warning et critique pour toutes les métriques des services +correspondant au paramétrage. + +- Si la valeur maximum est retournée par le plugin, les colonnes moyenne, + minimum et maximum sont affichées en pourcentage (%). Le calcul est le suivant + : valeur / valeur maximum. +- Si la valeur maximum n'est pas retournée par le plugin, les colonnes moyenne, + minimum et maximum sont affichées dans l'unité de la métrique. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|-----------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | +| Metrics | Multi sélection | Metriques à **inclure** dans le rapport | + +### Hostgroups-Categories-Performance-List + +Ce rapport affiche la valeur moyenne, les valeurs minimum & maximum +atteintes par toutes les catégories de services et d'hôtes, par groupe +d'hôtes. + +- Si la valeur maximum est retournée par le plugin, les colonnes + moyenne, minimum et maximum sont affichées en pourcentage (%). Le + calcul est le suivant : valeur / valeur maximum. +- Si la valeur maximum n'est pas retournée par le plugin, les + colonnes moyenne, minimum et maximum sont affichées dans l'unité de + la métrique. + +![image](../assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|-----------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Hosts group | Multi sélection | Sélection des groupes d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services | +| Metrics | Multi sélection | Metriques à **inclure** dans le rapport | + +## Stockage + +### Hostgroups-Storage-Capacity-1 + +Ce rapport affiche des statistiques d'allocation et d'utilisation des +espaces de stockage de plusieurs groupes d'hôtes. + +#### Comment interpréter ce rapport + +Sur la première page les informations sont résumées pour tous les groupes +d'hôtes, par groupe d'hôtes. + +Sur la deuxième page, ces mêmes informations sont réparties par catégories +d'hôtes et de services. + +Pour chaque groupe d'hôtes, les mêmes indicateurs sont repris et +affichés par catégories d'hôtes et de services. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png) + +#### Pour chaque groupe d'hôtes + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png) + +> Les statistiques affichées dans les tableaux et les graphques par mois +> correspondent aux valeurs mesurées le dernier jour des mois. Les +> statistiques de type "Snapshot" (en opposition aux évolutions par +> mois) correspondent aux valeurs des indicateurs mesurés le dernier jour +> de la période de reporting. Lorsqu'une évolution est affichée dans un +> tableau, il faut comprendre qu'elle est calculée en comparant la valeur +> du dernier jour de la période avec la valeur de la veille du premier +> jour de la période de reporting. + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser. /! Seule la plage 24x7 doit être utilisée /! | +| Host groups | Multi sélection | Sélection des groupes d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de **stockage** | +| Metrics | Multi sélection | Metriques à **exclure** du le rapport | +| Intervalle | Champ texte | Nombre de mois à afficher dans les graphiques | + +#### Pré-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de stockage +doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de stockage retournent des valeurs +en Octet. + +> **Important** +> +> - Le paramétrage de l'ETL doit comprendre les catégories de services de +> stockage. Dans le cas contraire, les graphiques d'évolutions sont +> vides. +> - Ce rapport est uniquement compatible avec la plage horaire 24x7. Cette +> dernière doit aussi être configurée dans le menu "General options | +> Capacity statistic agregated by month | Live services for capacity +> statistics calculation" + +### Hostgroup-Storage-Capacity-2 + +Ce rapport fourni des statistiques détaillées sur les espaces de +stockage d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Sur la première page, une information agrégée au niveau du groupe +d'hôtes est disponible. On y retrouve l'espace total utilisé et alloué +ainsi que l'évolution de ces valeurs. On y trouve également 2 tableaux +de type "TOP" affichant les espaces de stockage les plus critiques. + +Sur la deuxième page on trouve des statistiques sur les espaces alloués +et occupés par catégorie de services puis sur la page suivante par +catégories d'hôtes. + +Sur la quatrième page, un listing de tous les espaces de stockage du +groupe d'hôtes est disponible. On y retrouve des informations sur les +espaces alloués et utilisés, leur évolution et leur nombre de jours +avant saturation. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png) + +#### Troisième page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png) + +#### Quatrième page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser. /! Seule la plage 24x7 doit être utilisée /! | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de **stockage** | +| Metrics | Multi sélection | Metriques à **exclure** du le rapport | +| Intervalle | Champ texte | Nombre de mois à afficher dans les graphiques | + +#### Pre-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de stockage +doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de stockage retournent des valeurs +en Octet. + +> **Important** +> +> - Le paramétrage de l'ETL doit comprendre les catégories de services de +> stockage. Dans le cas contraire, les graphiques d'évolutions sont +> vides. +> - Ce rapport est compatible avec la plage horaire 24x7 uniquement. Cette +> dernière doit aussi être configurée dans le menu "General options | +> Capacity statistic agregated by month | Live services for capacity +> statistics calculation" + +### Hostgroup-Storage-Capacity-List + +Ce rapport est un listing des espaces de stockage d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +Pour chaque espace de stockage, des informations détaillées sur +l'espace alloué, utilisé, leurs évolutions relative ainsi que le nombre +de jours avant saturation (estimation basée sur les données de la +période) + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser. /! Seule la plage 24x7 doit être utilisée /! | +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de **stockage** | +| Metrics | Multi sélection | Metriques à **exclure** du le rapport | + +#### Pre-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de stockage +doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de stockage retournent des valeurs en Octet. + +## Réseau + +### Hostgroup-Traffic-By-Interface-And-Bandwith-Ranges + +Ce rapport permet de visualiser l'utilisation de la bande passante +entrante et sortante sur les interfaces réseau d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +#### Première page + +On trouve sur la première page la répartition en pourcentage de +l'utilisation de la bande passante par intervalle. + +5 intervalles sont possibles : + +- Utilisation nulle +- Utilisation basse +- Utilisation moyenne +- Utilisation élevée +- Utilisation très élevée + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png) + +#### Pages suivantes + +Les pages suivantes sont automatiquement générées pour toutes les +interfaces du groupe d'hôtes (une page par interface) et affichent +l'utilisation de la bande passante par intervalle avec une répartition +par : + +- Les heures d'une journée +- Les jours d'une semaine +- Les jours d'un mois + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png) + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une période de reporting +- Les objets Centreon suivants : + +| Paramètres | Type | Description | +|-----------------------------|------------------|---------------------------------------------------------------------------------| +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de **trafic** | +| Low level treshold (%) | Champ texte | Seuil bas d’utilisation de la bande passante, en pourcentage (entre 0 et 100) | +| Average level threshold (%) | Champ texte | Seuil d’utilisation moyen de la bande passante, en pourcentage (entre 0 et 100) | +| High level threshold (%) | Champ texte | Seuil d’utlisation haut de la bande passante, en pourcentage (entre 0 et 100) | +| Inbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | +| Outbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | + +#### Pré-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de trafic doivent +être formatées de cette manière et comporter une métrique de **trafic +entrant** et une métrique de **trafic sortant**: + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de stockage retournent des valeurs +en **bits/secondes**. + +### Hostgroup-Traffic-average-By-Interface + +Ce rapport permet de visualiser l'utilisation de la bande passante +entrante et sortante sur les interfaces réseau d'un groupe d'hôtes. + +#### Comment interpréter ce rapport + +#### Première page + +On trouve sur la première page la répartition en pourcentage de +l'utilisation de la bande passante par intervalle. + +5 intervalles sont possibles : + +- Utilisation nulle +- Utilisation basse +- Utilisation moyenne +- Utilisation elevée +- Utilisation très elevée + +Ces intervalles sont paramétrables. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png) + +#### Pages suivantes + +Les pages suivantes sont automatiquement générées pour toutes les +interfaces du groupe d'hôtes (une page par interface) et affichent la +répartition de la bande passante par : + +- **Heures de la journée** en affichant: + - La moyenne d'utilisation par heure de la journée du trafic + entrant et sortant sur la période de reporting sélectionnée + - Le maximum atteint du trafic entrant et sortant par heure de la + journée sur la période de reporting sélectionnée +- **Jours de semaine** en affichant: + - La moyenne d'utilisation par jour de la semaine du trafic + entrant et sortant sur la période de reporting sélectionnée + - Le maximum atteint du trafic entrant et sortant par jour de + semaine sur la période de reporting sélectionnée +- **Jours de mois** en affichant: + - La moyenne d'utilisation par jour de mois du trafic entrant et + sortant sur la période de reporting sélectionnée + - Le maximum atteint du trafic entrant et sortant par jour de mois + sur la période de reporting sélectionnée + +![image](../assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une période de reporting +- Les objets Centreon suivants : + +| Paramètres | Type | Description | +|-----------------------------|------------------|---------------------------------------------------------------------------------| +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de **trafic** | +| Low level treshold (%) | Champ texte | Seuil bas d’utilisation de la bande passante, en pourcentage (entre 0 et 100) | +| Average level threshold (%) | Champ texte | Seuil d’utilisation moyen de la bande passante, en pourcentage (entre 0 et 100) | +| High level threshold (%) | Champ texte | Seuil d’utlisation haut de la bande passante, en pourcentage (entre 0 et 100) | +| Inbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | +| Outbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | + +#### Pré-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de trafic doivent +être formatées de cette manière et comporter une métrique de **trafic +entrant** et une métrique de **trafic sortant**: + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de stockage retournent des valeurs +en **bits/secondes**. + +### Hostgroup-monthly-network-percentile + +Ce rapport vous donne des statistiques de moyenne et de centile du +traffic entrant et sortant des interface réseaux. Ce rapport est un +rapport mensuel, la période de reporting doit de ce fait être un mois +complet, terminé. + +#### Comment interpréter ce rapport + +Sur la première page, il y a 3 informations : + +- Deux graphiques présentant les 10 interfaces ayant des valeurs de + centile les plus élevées, pour le trafic entrant et sortant +- Les 10 interfaces ayant leur moyenne d'utilisation de la bande + passante entrante la plus élevée +- Les 10 interfaces ayant leur moyenne d'utilisation de la bande + passante sortante la plus élevée + +![image](../assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png) + +Sur la ou les pages suivantes, on retrouve un listing de toutes les +interfaces, triées par noms d'hôtes et de services sur lesquels on +retrouve toutes les statistiques d'utilisation de la bande passante. + +![image](../assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une date correspondant au mois sur lequel générer le rapport (date de début + sur l'interface de Centreon MBI) +- Les objets Centreon suivants : + +| Paramètres | Type | Description | +|-------------------------|------------------|-----------------------------------------------------------------------------| +| Host group | Liste déroulante | Sélection du groupe d’hôtes | +| Host category | Multi sélection | Catégories d’hôtes | +| Service category | Multi sélection | Catégories de services de trafic | +| Plage horaire | Liste déroulante | Plage horaire utilisée pour les moyennes d’utilisation de la bande psssante | +| Centile/Timeperiod | Liste déroulante | Combinaison utiliser pour les statistiques de centile | +| Inbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | +| Outbound traffic metric | Liste déroulante | Nom de la métrique pour le trafic entrant | + +#### Pre-requis + +- La configuration concernant les calculs de centile doit avoir été + faite dans la partie General Option > Onglet "ETL" + +- Pour assurer la cohérence des données dans les graphiques et + tableaux de performance, certains pré-requis sont à respecter + concernant le retour des plugins. Les données de performance + retournées par les plugins de trafic doivent être formatées de cette + manière et comporter une métrique de **trafic entrant** et une + métrique de **trafic sortant** : + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +> Il est important de contrôler que la valeur maximum est bien +> retournée. Enfin, assurez vous que les plugins de stockage retournent +> des valeurs en **bits/secondes**. + +## Virtualisation + +### VMWare-Cluster-Performances-1 + +Ce rapport présente les performances d'un cluster d'ESX en terme de +consommation CPU, utilisation mémoire, hébergement des machines +virtuelles et utilisation des datastores. + +#### Comment interpréter ce rapport + +Pour un cluster d'ESX et une période donnée en entrée, le rapport +affiche: + +Sur la page 1: + +Le nombre total des datastores présents sur le cluster, l'espace moyen +utilisé sur l'esemble des datastores en pourcentage et en octets, la +dernière valeur remontée sur la période, ainsi que l'espace total +alloué sur l'ensemble des datastores. Ces 3 dernières valeurs, une +évolution par rapport à la période précedente est affichée. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png) + +Ensuite, les 5 datastores les plus utlisés et les 5 datastores les moins +utilisés sont mis en évidence, avec pour chaque datastore: le +pourcentage d'utilisation,le maximum atteint ainsi que l'espace +alloué. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png) + +Enfin, toujours sur les datastores, ceux générant le plus et le moins +d'entrées/sorties par seconde en lecture et écriture sont mis en avant +dans des TOP 5 et des BOTTOM 5. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png) + +Sur la page 2: + +La consommation CPU moyenne sur l'ensemble des ESXs du cluster ainsi +que l'evolution par rapport à la période précedente est affiché. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png) + +Les ESXs utilisants le consommant le plus de CPU et ceux consommant le +moins de CPU sont mis en avant, avec pour chaque ESXs, la moyenne +d'utilisation et la valeur maximale atteinte. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png) + +ensuite, l'utilisation moyenne de la mémoire vive sur l'ensemble des +ESXs du cluster ainsi ainsi que la mémoire totale allouée sont affichés: + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png) + +La mise en avant des ESXs utilisants le plus de RAM, et ceux utilisant +le moins de RAM, avec pour chaque ESX, l'utilisation moyenne sur la +période, la RAM totale disponible et la valeure maximale atteinte. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png) + +Enfin, des informations sur le nombre moyen de VMs allumées et éteintes +sur le cluster + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png) + +et la mise en avant des ESXs hébergeant le plus le moins de VMs allumées +et éteintes: + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|----------------------------|------------------|-----------------------------------------------------------------------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du cluster | +| Host category | Multi sélection | Sélection des catégories d’hôtes à filter sur le cluster | +| Datastore Service category | Multi sélection | Sélection des catégories de services contenant l’utilisation datastores | +| IOPs Service category | Multi sélection | Sélection des catégories de services contenant les IOPS des datastore | +| CPU Service category | Multi sélection | Sélection des catégories de services contenant la CPU des ESXs | +| Memory Service category | Multi sélection | Sélection des catégories de services contenant la mémoire des ESXs | +| VM count Service category | Multi sélection | Sélection des catégories de services contenant le VMcount sur les ESXs | +| Datastore usage (filtre) | Champ texte | Entrer la partie commune sur laquelle vous souhaitez filtrer les datastores. Cette partie sera également supprimée (% pour tout garder) | +| Datastore iops (filtre) | Champ texte | Entrer la partie commune sur laquelle vous souhaitez filtrer les datastores. Cette partie sera également supprimée (% pour tout garder) | + +#### Prérequis + +Ce rapport est developpé pour une compatibilié avec le connecteur de supervision +Virt-VMware2-ESX et le connecteur Centreon-VMWare-2.0 + +Les prérequis pour le bon fonctionnement du rapport sont: + +Mise en place de la Supervision des indicateurs suivants: + +- Un service CPU, Memory et VMcount pour chaque ESX. +- Un service Datastore-usage par datastore, qui sera rattaché ou à + un seul ESX du cluster, ou alors au vCenter. Par défaut, le + service aura la nomenclature suivante: Datastore-Usage-xxxx où + xxxx sera le nom du datastore. +- Un service Datastore-IOPS par datastore, qui sera rattaché ou à un + seul ESX du cluster, ou alors au vCenter. Par défaut, Le service + aura la nomenclature suivante: Datastore-Iops-xxxx où xxxx sera le + nom du datastore. + +Création de groupes d'hôtes correspondants aux cluster. Un cluster ( +groupe d'hôte) contiendra : + +- Un ensemble d'ESXs (hôte) +- Le vCenter uniquement si les services Datastore-usage et + Datastore-IOPS sont rattaché au vCenter et non à un ESX du cluster. + +Création d'au moins une catégorie d'hôtes contenant le cluster entier +(ESXs + vCenter). Si vous avez plusieurs cluster, vous pouvez les +répartir dans plusieurs catégories d'hôtes afin d'être en mesure de +filtrer le rapport sur un cluster précisémment. + +Création des services catégories suivantes: + +- CPU-ESX: qui regroupe l'ensemble des indicateurs CPU sur les ESXs. +- Memory-ESX : qui regroupe l'ensemble des indicateurs MEmory sur les ESXs. +- VMcount-ESX: qui regroupe l'ensemble des indicateurs VMcount sur les ESXs. +- Datastore-usage: qui regroupe l'ensemble des indicateurs de l'utilisation des + datastores. +- Datastore-IOPS : qui regroupe l'ensemble des indicateurs des IOPS sur les + datastores. + +> Si le nom d'un datastore ou d'un serveur ESX contient plus de 16 caractères, +> les 16 premiers seront affichés, et complétés par 3 points de suspension + +### VMWare-VM-Performances-List + +Ce rapport affiche les statistiques sur l'utilsiation vCPU, mémoire et +IOPS sur les machines virtuelles vues par le vCenter. + +Le rapport est optimisé pour une génération en xlsx dans le but de créer +les filters et les tris souhaités. + +#### Comment interpréter ce rapport + +Le premier onglet affiche des informations sur la période de réporting, +la plage de service selectionnée ainsi que le jour et l'heure de la +création du rapport. + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png) + +Le second usage affiche la liste de toutes les VMs vues par le vCenter +et l'utilisation vCPU ( moyenne, moyenne formatée, max, max formaté) et +mémoire (moyenne, moyenne formatée, max, max formaté, utilisation en %, +utilisation en % formatée) sur chaque VM. + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png) + +Le dernier onglet affiche la listes des VM par datastore et leur +utilisation des IOPS en lécture et en écriture en affichant la moyenne +et le maximum atteint. + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|------------------|------------------|---------------------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host to report | Liste déroulante | Sélection du cluster | +| Host category | Multi sélection | Sélection des catégories d’hôtes à filter sur le cluster | +| Service category | Multi sélection | Sélection des catégories de services contenant les statistiques globales par VM | + +#### Prérequis + +Ce rapport est developpé pour une compatibilité avec le connecteur de supervision +Virt-VMware2-ESX et le connecteur Centreon-VMWare-2.0 + +Les prérequis pour le bon fonctionnement du rapport sont: + +Mise en place de la Supervision des indicateurs suivants sur le vCenter: + +- Un service Vm-Cpu-Global. +- Un service Vm-Memory-Global. +- Un service Vm-Datastore-Iops-Global. + +Création de la catégorie de services suivante: + +- VM-Statistics: qui regroupe l'ensemble des indicateurs Vm-Cpu-Global, + Vm-Memory-Global et Vm-Datastore-Iops-Global. + +## Consommation électrique + +### Hostgroup-Electricity-Consumption-1 + +Ce rapport affiche les statisitques de la consommation éléctrique de vos +équipements branchés derrière un onduleur. + +**Comment intérpréter le rapport?** + +Le rapport prendra en entrée un groupe d'hôtes et des onduleurs, qui +seront filtrés sur des catégories d'hôtes, et la catégorie de services +contenant les services retournant la puissance en *watt* , prix du KWh, +pour afficher dans un premier tableau: + +Le coût, la consommation , la puissance moyenne et la puissance maximale +sur le mois N, un rappel des mêmes valeurs sur le mois N-1, et +l'évolution entre le mois N et le mois N - 1. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png) + +Les 2 graphiques suivants affichent la répartition moyenne de la +puissance utilisée par heure de la journée et jour de mois, avec une +comparaison sur le mois N-1. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png) + +Ensuite, un TOP 5 des onduleurs les plus consommateurs, avec le +pourcentage de consommation de chaque UPS par rapport à la consommation +totale, la cossommation moyenne ainsi que le coût de chaque UPS sur le +mois. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png) + +> Si il y a plus de 5 onduleurs dans le groupe selectionné, seuls les 4 +> les plus consommateurs seront affichés; la 5ème ligne regroupera le +> reste des onduleurs. + +Enfin, l'évolution du coût total mensuel sur la dernière année. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivants: + +| Paramètres | Type | Description | +|---------------------------|------------------|-----------------------------------------------------------------------| +| Time period | Liste déroulante | Plage horaire à utiliser | +| Host group | Liste déroulante | Sélection du groupe d’hôte des UPS | +| Host category | Multi sélection | Sélection des catégories d’hôtes à filter sur le groupe | +| Service category | Multi sélection | Sélection des catégories de services contenant la puissance en sortie | +| Select metrics to include | Multi sélection | Sélection la métrique retournant la puissance en sortie | +| Prix KWh | Text | Entrez le prix du KWh facturé par votre fournisseur | + +#### Prérequis + +Les prérequis pour faire fonctionner le rapport sont: + +- Supervision de la puissance en sortie des onduleurs. +- Création d'une catégorie de services contenant l'ensemble des indicateurs + retournant une puissance en sortie. +- Suffisament d'historique pour afficher les graphiques d'évolution. + +La consommation d'un onduleur conrrespondera à la consommation de +l'esemble des équipements branchés derrière l'onduleur. + +## Profiling + +### Host-Detail-2 + +Ce rapport contient des statistiques de disponibilité, d'alarmes, de +stockage, de mémoire et de CPU pour un équipement (hôte). + +Il est à utiliser lorsque vous souhaitez étudier le comportement d'un +équipement en particulier et que vous collectez les indicateurs suivant +sur cet hôte : Stockage, CPU et mémoire. + +#### Comment interpréter ce rapport + +La premiège page affiche les statistiques de disponibilité de +l'équipement. + +La deuxième page affiche les statistiques de performance de +l'équipement (CPU et mémoire). + +La troisième page affiche les statistiques de stockage par partition. + +Enfin, une page d'annexe affiche toutes les alarmes apparues sur cet +hôte. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Troisième page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Statistique de stockage sur le dernier jour de la période de +reporting + +2 - Statistique de stockage sur le dernier jour de la période de +reporting + +3 - Statistique de stockage le dernier jour de chaque mois + +4 - Statistique de stockage du dernier jour de la période comparé à la +veille du premier jour de la période + +#### Annexe + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_5_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_6_png.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ------------------------ | ---------------- | -------------------------------------------------------- | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Interval | Champ texte | Nombre de mois à afficher dans le graphique | +| Host | Liste déroulante | Sélection de l'hôte | +| CPU service category | Liste déroulante | Catégorie de services contenant les services de CPU | +| CPU metric(s) | Multi sélection | Sélection des métriques de CPU à utiliser | +| Storage service category | Multi sélection | Catégorie de services contenant les services de stockage | +| Storage Metric(s) | Multi sélection | Sélection des métriques de Stockage à utiliser | +| Memory service category | Liste déroulante | Catégorie de services contenant les services de mémoire | +| Memory metric(s) | Multi sélection | Sélection des métriques de mémoire à utiliser | + +#### Pre-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de CPU, mémoire et +stockage doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de mémoire et de stockage retournent +des valeurs en Octet. + +> **Important** +> +> Ce rapport est compatible avec la plage horaire 24x7 uniquement. Cette +> dernière doit aussi être configurée dans le menu "General options | +> Capacity statistic agregated by month | Live services for capacity +> statistics calculation" + +### Host-Detail-3 + +Ce rapport contient des statistiques de disponibilité, d'alarmes, de +stockage, de mémoire, de CPU et de traffic pour un équipement (hôte). + +Il est à utiliser lorsque vous souhaitez étudier le comportement d'un +équipement en particulier et que vous collectez les indicateurs suivant +sur cet hôte : Stockage, CPU, mémoire et traffic. + +#### Comment interpréter ce rapport + +La premiège page affiche les statistiques de disponibilité de l'équipement. + +La deuxième page affiche les statistiques de performance de l'équipement +(CPU et mémoire). + +La troisième page affiche les statistiques de stockage par partition. + +La quatrième page affiche les statistiques de performance sur le traffic +entrant et sortant. + +Enfin, une page d'annexe affiche toutes les alarmes apparues sur cet hôte. + +#### Première page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +#### Deuxième page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Troisième page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Statistique de stockage sur le dernier jour de la période de +reporting + +2 - Statistique de stockage sur le dernier jour de la période de +reporting + +3 - Statistique de stockage le dernier jour de chaque mois + +4 - Statistique de stockage du dernier jour de la période comparé à la +veille du premier jour de la période + +#### Quatrième page + +![image](../assets/reporting/guide/available-reports/Host-Detail-3_traffic.png) + +#### Annexe + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_5_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_6_png.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ------------------------ | ---------------- | ---------------------------------------------------------- | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Interval | Champ texte | Nombre de mois à afficher dans le graphique | +| Host | Liste déroulante | Sélection de l'hôte | +| CPU service category | Liste déroulante | Catégorie de services contenant les services de CPU | +| CPU metric(s) | Multi sélection | Sélection des métriques de CPU à utiliser | +| Storage service category | Multi sélection | Catégorie de services contenant les services de stockage | +| Storage Metric(s) | Multi sélection | Sélection des métriques de Stockage à utiliser | +| Memory service category | Liste déroulante | Catégorie de services contenant les services de mémoire | +| Memory metric(s) | Multi sélection | Sélection des métriques de mémoire à utiliser | +| Traffic service category | Multi sélection | Catégorie de services contenant les service traffic | +| Traffic In metric | Liste déroulante | Sélection de la métrique qui représente le traffic entrant | +| Traffic out metric | Liste déroulante | Sélection de la métrique qui représente le traffic sortant | + +#### Pre-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de CPU, mémoire, +traffic et stockage doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de mémoire et de stockage retournent +des valeurs en Octet; et les plugins de traffic retournent des valeurs +en Ko/s + +> **Important** +> +> Ce rapport est compatible avec la plage horaire 24x7 uniquement. Cette +> dernière doit aussi être configurée dans le menu "General options | +> Capacity statistic agregated by month | Live services for capacity +> statistics calculation" + +### Hostgroup-Host-Details-1 + +Pour un groupe d'équipement donné en entrée, Ce rapport affiche les +statistiques de disponibilité, d'alarmes, de stockage, de mémoire,de +CPU et de traffic pour chaque équipement présent dans le groupe. + +#### Comment interpréter ce rapport + +Pour chaque équipement, le rapport est divisé en quatre parties: + +- La premiège partie affiche les statistiques de disponibilité de l'équipement. +- La deuxième partie affiche les statistiques de performance de l'équipement + (CPU et mémoire). +- La troisième partie affiche les statistiques de stockage par partition. +- La quatrième partie affiche les statistiques et distribution du traffic + entrant et sortant des interfaces de l'équipement. + +#### Première partie + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +#### Deuxième partie + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Troisième partie + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Statistique de stockage sur le dernier jour de la période de +reporting + +2 - Statistique de stockage sur le dernier jour de la période de +reporting + +3 - Statistique de stockage le dernier jour de chaque mois + +4 - Statistique de stockage du dernier jour de la période comparé à la +veille du premier jour de la période + +#### Quatrième partie + +![image](../assets/reporting/guide/available-reports/Host-Detail-3_traffic.png) + +#### Paramètres + +Les paramètres attendus dans ce rapport : + +- Une periode de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +| ------------------------ | ---------------- | -------------------------------------------------------- | +| Time period | Liste déroulante | Plage horaire à utiliser | +| Interval | Champ texte | Nombre de mois à afficher dans le graphique | +| Hostgroup | Liste déroulante | Sélection du groupe d'hôtes | +| Host Category | Multi sélection | Sélection de catégories d'hôtes | +| CPU service category | Liste déroulante | Catégorie de services contenant les services de CPU | +| CPU metric(s) | Multi sélection | Sélection des métriques de CPU à utiliser | +| Storage service category | Multi sélection | Catégorie de services contenant les services de stockage | +| Storage Metric(s) | Multi sélection | Sélection des métriques de Stockage à utiliser | +| Memory service category | Liste déroulante | Catégorie de services contenant les services de mémoire | +| Memory metric(s) | Multi sélection | Sélection des métriques de mémoire à utiliser | +| Traffic service category | Liste déroulante | Catégorie de services contenant les services de traffic | +| Traffic In metric | Liste déroulante | Sélection de la métrique récupérant le traffic entrant | +| Traffic Out metric | Liste déroulante | Sélection de la métrique récupérant le traffic sortant | + +#### Pre-requis + +Pour assurer la cohérence des données dans les graphiques et tableaux de +performance, certains pré-requis sont à respecter concernant le retour +des plugins. + +Les données de performance retournées par les plugins de CPU, mémoire, +stockage et traffic doivent être formatées de cette manière : + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value ... +``` + +Il est important de contrôler que la valeur maximum est bien retournée. +Enfin, assurez vous que les plugins de mémoire et de stockage retournent +des valeurs en Octet et ceux du traffic retournent des valeurs en Ko/s + +> **Important** +> +> Ce rapport est compatible avec la plage horaire 24x7 uniquement. Cette +> dernière doit aussi être configurée dans le menu "General options | +> Capacity statistic agregated by month | Live services for capacity +> statistics calculation" + +## Inventaire et configuration + +### Hostgroups-Host-Templates + +Ce rapport permet d'afficher les informations sur les hôtes présents +dans la base de données de reporting, leur template parent, leur +appartenance aux groupes et aux catégories, ainsi que leur date de +création en filtrant sur les groupes et les catégories d'hôtes souhaités. + +![image](../assets/reporting/guide/available-reports/host_information.png) + +Afficher depuis la configuration Centreon les lien entre modèles d'hôtes : + +![image](../assets/reporting/guide/available-reports/link_between_host_templates.png) + +Les modèles de services rattachés aux modèles d'hôtes : + +![image](../assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png) + +Ainsi que des informations globales sur les modèles d'hôtes, leurs +propriétés de vérifications et de notifications. + +![image](../assets/reporting/guide/available-reports/host_templates_info.png) + +#### Paramètres + +Les paramètes attendus par le rapport sont: + +- La période de reporting +- Les objets Centreon suivant + +| Paramètres | Type | Description | +|-----------------|-----------------|-------------------------------------| +| Hostgroups | Multi sélection | Sélectionner les groupes d’hôtes | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | + +### Hostgroups-Service-Templates + +Ce rapport permet d'afficher les informations sur les services présents +dans la base de données de reporting, leur modèle parent, leur liaison +avec les hôtes, appartenance aux groupes et aux catégories, ainsi que +leur date de création en filtrant sur les groupes d'hôtes, catégories +d'hôtes et categories de services souhaitées. + +![image](../assets/reporting/guide/available-reports/service_information.png) + +Afficher depuis la configuration Centreon les liens entre modèles de services: + +![image](../assets/reporting/guide/available-reports/link_between_templates.png) + +Les modèles d'hôtes rattachés aux modèles de services : + +![image](../assets/reporting/guide/available-reports/relation_netween_host_and_service.png) + +Ainsi que des informations globales sur les modèles de services, leurs +propriétés de vérifications et de notifications : + +![image](../assets/reporting/guide/available-reports/templates_info.png) + +#### Paramètres + +Les paramètes attendus par le rapport sont : + +- La période de reporting +- Les objets Centreon suivant + +| Paramètres | Type | Description | +|--------------------|-----------------|-----------------------------------------| +| Hostgroups | Multi sélection | Sélectionner les groupes d’hôtes | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | +| Service Categories | Multi sélection | Sélectionner les catégories de services | + +### Poller-Performances + +Ce rapport fourni des informations sur les performances et la +configuration de l'ordonnanceur Centreon Engine sur un Poller. + +#### Comment interpréter ce rapport + +La prémière partie indique le nom du poller et son adresse IP, la +version et l'état de l'ordonnanceur installé dessus ainsi que la date +du dernier redémarrage. + +![image](../assets/reporting/guide/available-reports/Poller-Performances_1.png) + +Ensuite, les hôtes et les services supervisés par le poller en question, +ainsi que leurs états sont affichés. + +Les latences et temps d'executions moyens et maximums sont représentés, +ainsi que les hôtes et services dépassant les seuils tolérés. + +![image](../assets/reporting/guide/available-reports/Poller-Performances_2.png) + +Enfin, un résumé sur la configuration actuelle de l'ordonnanceur et des +astuces d'optimisation en cas de problème de performances + +![image](../assets/reporting/guide/available-reports/Poller-Performances_3.png) + +#### Paramètres + +Le données représentées dans le rapport sont celles de l'instant de +génération. + +Les paramètres attendus dans ce rapport : + +- Les objets Centreon suivants : + +| Paramètres | Type | Description | +|--------------------------------------------------|--------------|------------------------------------------------------------------------------------------------------| +| Select poller(s) on which you want to the report | Radio bouton | Générer le rapport sur le Central seulement, les poller seulement ou sur l’ensemble de la plateforme | +| Limit latency (sec) | Champs texte | Seuil de latency. Les équipements / services dépassant ce seuil seront listés | +| Limit exceution time (sec) | Champs texte | Seuil pour le temps d’execution. Les equipements /services dépassant ce seuil seront listés | + +#### Pre-requis + +Les prérequis pour le bon fonctionnement de ce rapport sont: + +- Supervision du load average des pollers (les métriques doivent + être: load1, load5 et load15) +- Supervision de la CPU des pollers (les métriques doivent contenir + la chaine *cpu* ainsi que le numéro du coeur. Ex: CPU à 4 coeurs , + les métriques doivent ressembler à cpu0,cpu1... ou cpu_0,cpu_1... ) + +### Hosts-not-classified + +Ce rapport affiche la liste des hôtes non classifiés. Les informations +sont representées sous forme de 2 tableaux: + +- Le premier affiche les hôtes non liés à des groupes d'hôtes +- Le second tableau affichent les hôtes non liés à des catégories d'hôtes. + +Si un hôte n'a ni groupe d'hôte ni catégorie d'hôte, il apparaitra +dans les 2 tableau. + +Les modifications faites sur la classification des hôtes seront prises +en compte le lendemain du changement. + +![image](../assets/reporting/guide/available-reports/Hosts-not-classified.png) + +#### Paramètres + +Ce rapport n'a besoin d'aucun paramètre. + +#### Pré-requis + +Aucun prérequis n'est necessaire. + +### Services-not-classified + +Ce rapport affiche la liste des services non catégorisés. Les +informations sont représentées sous forme de tableau. + +Les modifications faites sur la catégorisation des services seront +prises en compte le lendemain du changement. + +![image](../assets/reporting/guide/available-reports/Services-not-classified.png) + +#### Paramètres + +Ce rapport n'a besoin d'aucun paramètre. + +#### Pré-requis + +Aucun prérequis n'est necessaire. + +## Diagnostic de base de données Centreon/Reporting + +### Content-diagnostic + +Ce rapport vous permets de connaître le contenu de votre base de données +au niveau des statistiques de disponibilité et de performance par jour +et par mois. Les informations affichées permettent de déterminer si les +données sont présentes pour les groupes d'hôtes, catégories d'hôtes, +catégories de services et plages horaire en fonction des couleurs. + +- Vert = au moins une valeurs est présente +- Rouge = aucune valeur présente + +> **Important** +> +> Ce rapport ne garanti pas la qualité et la cohérence des données mais +> uniquement la présence de ces dernières. + +![image](../assets/reporting/guide/available-reports/Content-diagnostic_png.png) + +#### Paramètres + +Les paramètes attendus par le rapport sont: + +- La période de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|--------------------|-----------------|-----------------------------------------------| +| Host group | Multi sélection | Sélectionner les groupes d’hôtes | +| Service Categories | Multi sélection | Sélectionner les catégories de services | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | +| Metrics | Multi sélection | Métriques sur lesquelles filtrer les services | + +### Content-diagnostic-availability + +Ce rapport vous permet d'avoir une vue sous forme de calendrier de la +disponibilité des hôtes. Sont affichées sur le rapport : la +disponibilité de chaque hôtes, le temps d'indisponibilité en seconde +ainsi que le temps injoignable, le tout pour chaque plage horaire et +combinaison groupe `<>` catégories d'hôtes. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-availability.png) + +#### Paramètres + +Les paramètes attendus par le rapport sont: + +- La période de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|-----------------|-----------------|-------------------------------------| +| Host group | Multi sélection | Sélectionner les groupes d’hôtes | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | + +### Content-diagnostic-service-availability + +Ce rapport vous permet d'avoir une vue sous forme de calendrier de la +disponibilité des services. Sont affichées sur le rapport : la +disponibilité de chaque service, le temps passé dans l'état critique et +le temps passé dans l'état warning, le tout pour chaque plage horaire +et combinaison groupe `<>` catégories d'hôtes `<>` catégories de +services. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-service-availability.png) + +### Paramètres + +Les paramètes attendus par le rapport sont: + +- La période de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|--------------------|-----------------|-----------------------------------------| +| Host group | Multi sélection | Sélectionner les groupes d’hôtes | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | +| Service Categories | Multi sélection | Sélectionner les catégories de services | + +### Content-diagnostic-performance + +Ce rapport vous permet d'avoir une vue sous forme de calendrier de la +moyenne des métriques et la valeur maximum atteignable ( bande passante +maximum, stockage maximum etc..), pour chaque plage horaire, pour chaque +combinaison groupes d'hôtes `<>` catégories d'hôtes`<>` catégories de services. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-performance.png) + +#### Paramètres + +Les paramètes attendus par le rapport sont: + +- La période de reporting +- Les objets Centreon suivant : + +| Paramètres | Type | Description | +|--------------------|-----------------|-----------------------------------------| +| Host group | Multi sélection | Sélectionner les groupes d’hôtes | +| Host Categories | Multi sélection | Sélectionner les catégories d’hôtes | +| Service Categories | Multi sélection | Sélectionner les catégories de services | +| Metrics | Multi sélection | Sélectionner les métriques à inclure | + +### Metric-integrity-check + +Ce report permet de vérifier la compatibilité des plugins et des métriques avec +les rapports de performance de Centreon MBI. Il permet d'identifier rapidement +les services incompatibles et de mettre à jour les plugins utilisés. + +#### Comment interpréter ce rapport + +Si un warning est affiché en face d'une ligne, cela signifie que : + +- La valeur maximum n'est pas renseigné +- Les seuils Warning et Critique ne sont pas définis + +![image](../assets/reporting/guide/available-reports/Metric-integrity-check.png) + +#### Paramètres + +Les paramètres attendus par le rapport sont: + +- Une période de reporting +- Les objets Centreon suivants : + +| Paramètres | Type | Description | +|--------------------|-----------------|--------------------------------------| +| Service Categories | Multi sélection | Sélection des catégories de services | +| Metrics | Multi sélection | Sélection des métriques à inclure | + +## Traduction des rapports + +Par défaut, Centreon MBI permet la génération des rapports en deux langues : le +français et l'anglais. Il est possible de générer les rapports en d'autres +langues à condition de leur créer les bons fichiers de tradution. + +Les fichiers de traduction possèdent l'extension .properties, et sont +stockés dans le répértoire +`/usr/share/centreon-bi/Resources/translation/` et sont classés par type +dans des sous répértoire. + +Les fichiers de tradution en anglais sont nommés *xxx.properties* et +ceux en francais sont nommés *xxx_fr_FR.properties* + +Si vous souhaitez générer vos rapports dans une langue autre que le +français ou l'anglais, vous devez faire une copie de tous les fichiers +*xxx_properties* en les suffixant avec la locale de la langue cible. + +Exemple, pour une traduction en allemand, les fichiers seront nommés +*xxx_de_DE.properties* , pour l'espagnol : *xxx_es_ES.properties* + +Traduisez ensuite tout le contenu en anglais de ces nouveaux fichiers. + +> Si vous souhaitez traduire seulement certains rapports, vous devez +> traduire les fichiers de traduction généraux de la même manière que la +> méthode ci-dessus. Les fichiers sont: +> +> - units.properties +> - calendar.properties +> - common.properties +> - master-page.properties + +Traduisez ensuite le ou les fichiers de la famille de rapports souhaité. +Ces fichiers sont stockés dans le répertoire +`/usr/share/centreon-bi/Resources/translation/component/`. + +Une fois les nouveaux fichiers .properties traduits, rendez vous sur +l'interface Centreon MBI, editez n'importe quel job puis cliquez sur +le bouton refresh à côté de la selection de la langue. La ou les +nouvelles langues ajoutées seront disponibles pour la selection. Il ne +reste plus qu'a généré le rapport en choisissant la nouvelle langue +pour voir le résultat. + +> Attention à la taille du text traduit: Le design du rapport peut +> s'altérer en cas de textes longs. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/backup-restore.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/backup-restore.md new file mode 100644 index 000000000000..eac72f822635 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/backup-restore.md @@ -0,0 +1,346 @@ +--- +id: backup-restore +title: Sauvegarde et restauration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Sauvegarde de Centreon MBI + +### Sauvegarde des données de configuration + +#### Elements sauvegardés + +Les éléments sauvegardés sont les suivants : + +- Sauvegarde des modèles de rapports personnalisés et de leur + paramètrage +- Sauvegarde des rapports générés + +#### Fonctionnement du script de sauvegarde + +Le script de sauvegarde est exécuté de manière journalière via un cron +défini dans le fichier **/etc/cron.d/centreon-bi-backup-web** : + + # + # Cron to backup Centreon MBI Engine frontend module + # + PATH=/sbin:/bin:/usr/sbin:/usr/bin + + # rewrite file with new cron line + CRONTAB_EXEC_USER="" + + 0 12 * * * root bash /usr/share/centreon-bi-backup/centreon-bi-backup-web.sh >> /var/log/centreon-bi/centreon-bi-backup-web.log 2>&1 + +Les données sauvegardées se trouvent par défaut dans le répertoire : +**/var/backup**. + +Pour modifier ce répertoire, mettre à jour la valeur **BACKUP\_DIR** +(ligne **63**) dans le script de sauvegarde : +**/usr/share/centreon-bi-backup/centreon-bi-backup-web.sh** + +Sur un server Centreon seule la configuration, les rapports générés et +les modèles de rapports personnalisés ont besoin d'être sauvegardés. La +sauvegarde est au format suivant : +centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz + +#### Périodicité des sauvegardes + +- Périodicité des sauvegardes : journalières +- Rotation des sauvegardes : 8 jours + +Pour modifier la valeur de rotation des sauvegardes, éditer la valeur +**RETENTION\_AGE** (ligne **67**) dans le script de sauvegarde : +**/usr/share/centreon-bi-backup/centreon-bi-backup-web.sh** + +> Il est important d'exporter les sauvegardes sur une autre machine +> afin d'assurer leurs pérennités. + +### Sauvegarde du serveur de reporting dédié + +> Il est important de disposer d'au moins 5 Go d'espace libre sur le +> **Volume Group** hébergeant l'espace de stockage **data** du SGBD +> MariaDB/MySQL. Pour cela, exécuter la commande suivante en renseignant +> le nom du **Volume Group** : + + vgdisplay vg_data | grep -i free + +#### Éléments sauvegardés + +Les éléments sauvegardés sont les suivants : + +- Paramètres de configuration du moteur de génération de rapports +- Données agréggées +- Rapports & ressources + +#### Fonctionnement du script de sauvegarde sur un serveur central + +Le script de sauvegarde est exécuté de manière journalière via un cron +défini dans le fichier +**/etc/cron.d/centreon-bi-backup-reporting-server** : + +> # +> # Cron to backup Centreon MBI reporting server +> # +> PATH=/sbin:/bin:/usr/sbin:/usr/bin +> +> # rewrite file with new cron line +> CRONTAB_EXEC_USER="" +> +> 30 12 * * 0 root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --total >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-db.log 2>&1 +> 30 12 * * 1-6 root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --totalincr >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-db.log 2>&1 +> 0 12 * * * root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --centreonbifiles >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-files.log 2>&1 + +Les données sauvegardées se trouvent par défaut dans le répertoire : +**/var/backup**. + +Pour modifier ce répertoire, mettre à jour la valeur **BACKUP\_DIR** +(ligne **83**) dans le script de sauvegarde : +**/usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh** + +Trois types de sauvegarde sont exécutés dans la semaine : + +- tous les jours une sauvegarde des fichiers de configuration du + moteur de génération des rapports, format : + centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz +- tous les dimanches une sauvegarde complète de l'ETL, format : + mysql-centreon\_storage-bi-aaaa-mm-jj.tar.gz +- du lundi au samedi une sauvegarde incrémentale de l'ETL (toutes les + tables et seulement la dernière partition des tables partitionnées), + format : mysql-centreon\_storage-bi-aaaa-mm-jj.tar.gz + +> **Important** +> +> Bien s'assurer que pendant la sauvegarde du serveur de reporting, les +> scripts ETL ne soient pas en cours d'exécution. De plus, aucun +> rapport ne doit être en cours de génération. + +#### Périodicité des sauvegardes + +- Périodicité des sauvegardes : journalières +- Rotation des sauvegardes : 8 jours + +Pour modifier la valeur de rotation des sauvegardes, éditer la valeur +**RETENTION\_AGE** (ligne **88**) dans le script de sauvegarde : +**/usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh** + + +> Il est important d'exporter les sauvegardes sur une autre machine +> afin d'assurer leurs pérennités. + + +## Restauration de Centreon MBI + +### Restauration des données de configuration + +Le processus de restauration comprend plusieurs étapes : + +- Réinstallation du module **centreon-bi-server** dans une version + identique à celle sauvegardée. +- Intégration des anciens rapports générés. +- Intégration des paramètres de rapports personnalisés. +- Intégration des données de configuration Centreon MBI. +- Intégration des données MariaDB/MySQL. +- Supprimer les données extraites de la sauvegarde. +- Réinstaller la sauvegarde. + +#### Réinstallation du module Centreon MBI + +Sur le serveur central Centreon, lancer la commande : + + + + +```shell +dnf install centreon-bi-server-x.y.z +``` + + + + +```shell +dnf install centreon-bi-server-x.y.z +``` + + + + +Install **gpg**: + +```shell +apt install gpg +``` + +Import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Add the following external repository (for Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +apt update +``` + +Then install Centreon MBI: + +```shell +apt update && apt install centreon-bi-server-x.y.z +``` + + + + +#### Intégration des anciens rapports générés + +Récupérer la dernière sauvegarde à jour, format +**centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz** et +extraire celle-ci dans le répertoire **/tmp** :: + + cd /tmp + tar xzf centreon-bi-front-reports-and-custom-conf-YYYY-MM-DD.tar.gz + +Intégrer les rapports générés via la commande :: + + /bin/cp -rf /tmp/var/lib/centreon/centreon-bi-server/archives/* /var/lib/centreon/centreon-bi-server/archives + +> Si le répertoire est différent, c'est que les paramètres par défaut ont +> été modifiés par l'utilisateur. Il suffit simplement de reprendre la +> bonne arborescence. + +Modifier les droits sur les fichiers :: + + chown -R centreonBI:centreonBI /var/lib/centreon/centreon-bi-server/archives + +#### Intégration des paramètres de rapports personnalisés + +Récupérer la dernière sauvegarde à jour, format +**centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz** et +extraire celle-ci dans le répertoire **/tmp** :: + + # cd /tmp + tar xzf centreon-bi-front-reports-and-custom-conf-YYYY-MM-DD.tar.gz + +Intégration des anciens paramètres :: + + /bin/cp -rf /tmp/usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl/* /usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl + /bin/cp -rf /tmp/var/lib/centreon/centreon-bi-server/reports/infos/* /var/lib/centreon/centreon-bi-server/reports/infos + +Modifier les droits sur les fichiers :: + + chown -R apache:apache /usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl + +#### Intégration des données de configuration Centreon MBI + +Intégrer la sauvegarde SQL via la commande suivante :: + + mysql -u root -p centreon_storage < /tmp/var/backup/dump_centreon_storage.sql + +#### Supprimer les données extraites de la sauvegarde + +Supprimer les données extraites via les commandes suivantes :: + + cd /tmp + rm -Rf /tmp/usr + rm -Rf /tmp/var + +### Restauration des paramètres du serveur de reporting Centreon MBI + +Le processus de restauration comprend plusieurs étapes : + +- Réinstallation du module **centreon-bi-reporting-server** dans une + version identique à celle sauvegardée. +- Intégration de la configuration du moteur CBIS. +- Intégration des modèles de rapports personnalisés. +- Intégration des données. +- Redémarrer le moteur CBIS. +- Supprimer les données extraites de la sauvegarde. +- Réinstaller la sauvegarde. + +#### Réinstallation du module Centreon MBI + +Sur le serveur central Centreon, lancer la commande :: + + yum install centreon-bi-reporting-server-x.y.z + + +***x.y.z** correspond à la version exacte du module sauvegardé.* + +#### Intégration de la configuration du moteur CBIS + +Récupérer la dernière sauvegarde à jour, format +**centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz** et extraire celle-ci +dans le répertoire **/tmp** :: + + cd /tmp + tar xzf centreon-bin-reports-and-conf-YYYY-MM-DD.tar.gz + +Intégrer la configuration via la commande :: + + # /bin/cp -rf /tmp/etc/centreon-bi/* /etc/centreon-bi + +#### Intégration des modèles de rapports personnalisés + +Récupérer la dernière sauvegarde à jour, format +**centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz** et extraire celle-ci +dans le répertoire **/tmp** :: + + cd /tmp + tar xzf /var/backup/centreon-bin-reports-and-conf-YYYY-MM-DD.tar.gz + +Intégrer les modèles de rapports via les commandes :: + + /bin/cp -rf /tmp/usr/share/centreon-bi/reports/* /usr/share/centreon-bi/reports + chown -R centreonBI:centreonBI /usr/share/centreon-bi/reports + /bin/cp -rf /tmp/usr/share/centreon-bi/Resources/* /usr/share/centreon-bi/Resources + chown -R centreonBI:centreonBI /usr/share/centreon-bi/Resources + +### Intégration des données MariaDB/MySQL + +Arrêter le service MariaDB/MySQL :: + + systemctl stop mysql + +Supprimer le répértoire */var/lib/mysql* du serveur de reporting:: + + rm -rf /var/lib/mysql + +Décompresser la dernière sauvegarde totale ( par défaut la sauvegarde +totale est faite le dimanche):: + + tar -xzf /var/backup/mysql-centreon_storage-bi-xxxx-xx-xx.tar.gz -C / + +Décompresser l'ensemble des sauvegardes partielles faites entre la +sauvegarde totale et la date du jour, **de la plus ancienne à la plus +récente** en lançant la commande :: + + tar -xzf /var/backup/mysql-centreon_storage-bi-xxxx-xx-xx.tar.gz -C / + +Modifier les droits sur le répértoire */var/lib/mysql* :: + + chown -R mysql:root /var/lib/mysql + +Démarrer le service MariaDB/MySQL :: + + systemctl start mysql + +#### Redémarrer le moteur CBIS + +Redémarrer le processus via la commande :: + + systemctl restart cbis + Stopping Centreon MBI scheduler : cbis + Waiting for cbis to exit .. done. + Starting Centreon MBI scheduler : cbis + Service started... + +#### Supprimer les données extraites de la sauvegarde + +Supprimer les données extraites via les commandes suivantes :: + + cd /tmp + rm -Rf /tmp/etc + rm -Rf /tmp/usr diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/concepts.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/concepts.md new file mode 100644 index 000000000000..15865ec2b698 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/concepts.md @@ -0,0 +1,732 @@ +--- +id: concepts +title: Concepts +--- + +## Disponibilité et évènements + +Les données de disponibilité et d'évènements correspondent aux données +liées au changement d'état des hôtes et des services supervisés par +Centreon. Elles sont exploitées dans les modèles de rapports et widgets +de disponibilité et d'évènements proposés par Centreon MBI. + +Aucun pré-requis n'est exigé pour que les rapports exploitant ces +notions soient fonctionnels. Il suffit de disposer de plugin renvoyant +un statut. Pour que vous puissiez exploiter et analyser ce que ces +rapports remontent, il est important que vous compreniez certaines +notions et règles de calculs. + +### Disponibilité + +#### Hôtes + +Un hôte est dit disponible s'il est dans un état « Up » + +Le calcul du taux de disponibilité présent dans les rapports est le +suivant : Durée « Up » / ( Durée « UP » + Durée « Down »). + +Règles supplémentaires : + +- Le temps passé dans l'état « Unreacheable» n'est pas pris en compte + dans le calcul de la disponibilité, +- Le temps passé « maintenance programmée (Downtime) » n'est pas pris + en compte dans le calcul de la disponibilité. + +Exemple : Pour un rapport sur 1 journée, si un hôte est disponible 23h +et indisponible 1h sur les 24h théorique, sa disponibilité sera donc 23h +/ (23+1) ~ 95,8%. + +#### Services + +Un service est dit disponible s'il est dans un état « OK » ou « Warning +». + +Le calcul du taux de disponibilité d'un service est le suivant : (durée +« OK » + « Warning ») / ( durée « OK » + « Warning » + « Critical »). + +Règles supplémentaires : + +- Le temps passé dans l'état « Unknown» n'est pas pris en compte dans + le calcul de la disponibilité, +- Le temps passé « maintenance programmée (Downtime) » n'est pas pris + en compte dans le calcul de la disponibilité. + +### Evènements + +Seuls les évènements **confirmés** sont pris en compte dans le calcul +des évènements. Cela correspond à l'état "Hard" dans Centreon. + +Dans les rapports, différentes notions sont affichées lorsqu'on parle +d'évènements, ils peuvent être de type : + +- Exception : cela correspond à un état « Down» pour un hôte et un + état « Critical » pour un service, +- Avertissement : cela correspond à un état « Warning » pour les + services, il n'y a pas d'équivalent pour les hôtes, +- Information : tout autre état. + +Un évènement sur un hôte ou un service est caractérisé par 3 éléments : + +- Une date de début, +- Une date de fin, +- Un état. + +### Indicateurs supplémentaires + +- MTRS (Mean Time To Restore Service) correspond à la Maintenabilité : + c'est le temps moyen de durée des pannes. Cet indicateur doit être + le plus faible possible. +- MTBF (Mean Time Between Failure) correspond à la Fiabilité : c'est + le temps moyen entre la fin d'un incident et le début du suivant. + Cet indicateur doit être le plus élevé possible. +- MTBSI (Mean Time Between Service Incident) : c'est le temps moyen + entre le début de deux incidents. Cet indicateur doit être le plus + élevé possible + +Le schéma ci-dessous permet de se rendre compte de la portée de ces +indicateurs : + +![image](../assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png) + +## Bonnes pratiques + +### Bonnes pratiques de supervision + +#### Qualité des plugins & données + +Pour être en mesure d'avoir des rapports sur les données de performance +en utilisant les rapports par défaut de Centreon MBI, vous devez au +moins superviser quelques indicateurs de performance de base +(métriques) : + +- CPU : doit retourner un pourcentage d'une ou plusieurs métriques + (cpu_total, cpu_sys, cpu_1...) et 100 comme valeur maximum. +- Memory : doit retourner au moins une métrique comportant ces + informations : + - L'utilisation mémoire : Cette valeur doit être en octets + - Le seuil d'alerte d'utilisation mémoire + - Le seuil critique d'utilisation mémoire + - La mémoire totale allouée en octet  + + Le plugin utilisé pour superviser cet indicateur doit renvoyer la sortie suivante: + + *any status information* | **$metric_name=$value$unit;$warning_threshold;critical_threshold;$min_value;$max_value** + +- Utilisation d'espace disque: Deux types de service possibles : + - Superviser une partition par service (les métriques sont souvent + nommées « used » et « size » + - Superviser plusieurs partitions par service et chaque métrique + correspond au nom d'une partition. + + Dans les deux cas, les données de performance renvoyées par les + plugins doivent correspondre à ce format : + + *any status information* | **$metric_name=$value$unit;$warning_threshold;$critical_threshold;$min_value;$max_value** + +- Données de trafic : les rapports standards utilisent une metrique + pour le trafic entrant et une metrique pour le trafic sortant. Pour + être compatible, vos plugins doivent renvoyer également deux + métriques (peu importe leurs noms). Il est également important que + pour chaque métrique, la valeur maximum atteignable soit présente. + Le format du plugin est donc le même que conseillé ci-dessus : + + any status information | $inboundTrafic=$value$unit;$warning_threshold;$critical_threshold;$min_value;$max_value $outBoundTrafic=... + +#### Unité par défaut + +Il est important de s'assurer que les unités des données renvoyées par +les plugins soient communes à tous les services pour un même type de +données. Nous conseillons donc fortement de vérifier que les plugins +renvoient les données dans les unités suivantes : + +- Temps: secondes +- Trafic: bits/sec +- Stockage: Octets +- Mémoire/Swap: Octets + +### Bonnes pratiques de configuration + +Chaque modèle de rapport dans Centreon MBI prend en compte plusieurs +paramètres qui permettent de générer des rapports adaptés à vos besoins. + +Plusieurs types de paramètres sont disponibles pour chaque modèle : + +- Un objet principal sur lequel le rapport est généré. Cela peut + être : + - Un hôte + - Un groupe d'hôtes : groupe fonctionnel défini dans Centreon + afin de classer les hôtes par client, application, domaine + d'activité stratégique, pays, ... + - Plusieurs groupes d'hôtes +- Une période temporelle (ou « plage horaire » ) sur laquelle les + statistiques seront calculées. +- Des filtres pour prendre en compte seulement des types spécifiques + d'équipements, des services ou des métriques dans les groupes + d'hôtes sélectionnés : + - Catégories d'hôtes : Permet de classer les hôtes dans des + groupes techniques afin de déterminer le type ou la fonction + d'un hôte ; Par exemple : serveurs Linux, serveurs Windows, + routeurs cisco, imprimantes, ... + - Catégories de services : Permet de définir le type d'un service + : CPU, mémoire, stockage, ... + - Métriques : Données de performances collectées par les services + (indicateurs de supervision). Un service de supervision peut + collecter plusieurs métriques. Cependant les noms des métriques + et les unités ne sont pas normalisés (par exemple : un service + de type CPU peut collecter seulement une métrique nommée + 'cpu_average' définie en pourcentage et un autre service de + type CPU peut collecter une métrique par cœur de processeur + configuré dans l'équipement), il est donc nécessaire, à la + génération du rapport, de sélectionner les métriques à prendre à + compte pour le calcul des statistiques. + +### Groupes d'hôtes et catégories + +Les définitions des groupes d'hôtes et des catégories listées +ci-dessous sont données à partir des bonnes pratiques établies par +Centreon. + +Cependant, les groupes et les catégories que vous allez créer doivent +correspondre à vos besoins. + +Exemple : + +Si vous avez besoin de mettre en évidence le nombre d'alertes générées +par domaines d'activité de votre SI avec une répartition par type +d'équipement, il sera nécessaire de définir des groupes et et des +catégories d'hôtes de la manière suivante : + +- Groupe d'hôtes : **Databases**, Applications, Security, Network, + Mail ... +- Catégorie d'hôtes : DB2-Servers, MySQL-Servers, Oracle-Servers, + SQL-Servers ... + +Voici un exemple de statistiques que vous pourriez obtenir en utilisant +ces groupes et catégories : + +![image](../assets/reporting/installation/pie_charts.png) + +Le groupe d'hôte est le premier axe d'analyse. La catégorie d'hôte +permet d'analyser les statistiques en sous-domaines. + +De la même manière, nous pouvons analyser les statistiques en se basant +sur les dimensions suivantes : + +- Par pays (groupe d'hôte) avec une répartition des données par type + d'équipement réseau (catégorie d'hôtes) +- Par pays (groupe d'hôte) avec une répartition des données par + client (catégorie d'hôte) +- Par client (groupe d'hôte) avec une répartition des données par + pays (catégorie d'hôte) +- Par client (groupe d'hôte) avec une répartition des données par + serveur d'application (catégorie d'hôte) +- ... + +Il n'existe pas de règles standards pour définir des groupes d'hôtes +ou des catégories. Cela doit être adapté à vos besoins. + +**Comment créer ces catégories et groupes?** + +- La relation entre les hôtes et les groupes d'hôtes est faite à + partir du menu *Configuration > Hosts > Host groups* sur + l'interface de Centreon. Il est également possible d'utiliser + l'onglet *Relation* présent dans le formulaire + d'ajout/modification d'un hôte. +- La relation entre un hôte et une catégorie d'hôte est faite à + partir du menu *Configuration > Hosts > Categories* sur + l'interface de Centreon. Il est également possible d'utiliser + l'onglet *Relation* présent dans le formulaire + d'ajout/modification d'un hôte. + +### Catégories de Service + +Les catégories de services permettent d'organiser les services +(indicateurs de supervision) en sous-domaines. L'usage le plus commun +des catégories de services est de définir des catégories basées sur des +types de services : CPU, mémoire, stockage, processus Oracle, DNS, +processus Websphere, ... + +Ce genre de configuration permet, par exemple, de : + +- Comparer le nombre d'alertes générées pour chaque type de services +- Sélectionner la catégorie de service qui indique l'utilisation + d'espace disque quand vous souhaitez générer un rapport de + capacité. + +**Comme les groupes d'hôtes et les catégories d'hôtes, les catégories +de service doivent être définies selon vos besoins.** + +Par exemple : Si vous avez besoin d'analyser l'espace disque alloué et +utilisé par un SGDB ou par un type d'application, vous devez créer +plusieurs catégories de services. A la place d'utiliser une seule +catégorie nommée « Stockage » ou « Disque » nous aurons : + +- « Operating system » : contenant les espaces de stockage de type + système +- « Oracle » : contenant les espaces de stockage des serveurs Oracle +- « SQL Server » : les espaces de stockage des serveur SQL + +Voici un exemple de statistiques que vous pourriez obtenir en utilisant +ces catégories de services : + +![image](../assets/reporting/installation/storage_example.png) + +La relation entre les services et leurs catégories peut être faite à +partir de menu *Configuration > Services > Categories* sur +l'interface de Centreon. Il est également possible d'utiliser +l'onglet *Relation* présent dans le formulaire d'ajout/modification +d'un service. + +> Il est fortement conseillé de gérer les catégories de service en +> utilisant uniquement les modèles de services. + +## ETL + +### Gestion de l'historique des changements + +Centreon MBI enregistre chaque changement qui concernent les relations +entre les hôtes, les services, les groupes et les catégories. + +Par exemple : + +- Un hôte « H1 » appartient à un groupe d'hôtes « G1 » en janvier + 2012  +- L'hôte « H1 » n'appartient plus au groupe « G1 » le 1er février + 2012 +- Après ce changement, si un rapport est généré pour le groupe « G1 » + sur la période de reporting de janvier 2012, les statistiques de + l'hôte « H1 » seront prises en compte dans les statistiques du + groupe « G1 » +- Les statistiques de l'hôte « H1 » ne seront pas prises en compte + pour le groupe « G1 » si la période de rapport sélectionnée est + février 2012 +- Si la période de rapport démarre le 15 janvier et finit le 15 + février, les statistiques de l'hôte « H1 » seront intégrées à celle + du groupe « G1 » seulement du 15 janvier au 31 janvier + +> La configuration initiale de Centreon et la relation entre les objets +> doivent être clairement définis avant l'installation de Centreon MBI +> sur une plate-forme de production. Chaque modification de configuration +> d'un hôte, groupe ou catégorie est considérée comme une évolution +> normale dans le cycle de vie de l'objet. + +### Modes d'exécution + +La base de données de reporting ou « Data Warehouse » est mise à jour +tous les jours avec les données agrégées par l'ETL. En fonction de la +taille du périmètre supervisé, cela peut représenter de quelques +milliers à plusieurs millions de lignes par jour. De ce fait, la base de +données de reporting et l'ETL sont deux composants critiques de Centreon +MBI que vous devez comprendre. **Deux modes** de fonctionnement sont +disponibles pour l'ETL: + +- **Daily mode** ou mode journalier : C'est le fonctionnement normal + de l'ETL lorsque la plateforme de reporting est en place. Les + données de Centreon sont importées tous les jours, de manière + différentielle. Plus précisemment: + + - les données de la table "data_bin" de la veille sont importées + et les calculs ne se font que sur ces données + - toutes les données des tables *servicestatevents* et + *hoststateevents* sont importées mais les calculs se font de + manière différentielle + +Elles sont ensuite agrégées puis insérées dans le datawarehouse. Cela +peut prendre de quelques secondes à quelques minutes en fonction du +périmètre de monitoring. + +Le mode journalier est configuré comme un cron que vous pouvez +consulter dans `/etc/cron.d/centreon-bi-engine`: + + 30 4 * * * root /usr/share/centreon-bi/bin/centreonBIETL --daily >> /var/log/centreon-bi/centreonBIETL.log 2>&1 + +> **Important** +> +> Ne lancez pas le calcul en mode journalier plusieurs fois dans la même +> journée au risque d'obtenir des données dupliquées. + +- **Rebuild mode** ou mode de reconstruction: C'est le mode souvent + utilisé après l'installation de la plateforme de reporting, en cas + de corruption des données. Ce mode permet d'importer les données + brutes de Centreon et de recalculer toutes les statistiques sur une + période donnée ou en utilisant les paramètres de rétention. + +Exemple: + + /usr/share/centreon-bi/bin/centreonBIETL -r + +Afin d'obtenir des temps d'exécution raisonnables, la configuration +matérielle, l'espace de stockage disponible et les optimisations MariaDB/MySQL +doivent avoir été bien positionnés lors de l'installation. + +Toutes les recommandations matérielles, logicielles et +d'optimisations peuvent être trouvées sur le site de documentation. + + +> Il est fortement recommandé de mettre en place la supervision de l'ETL +> expliqué dans le chapitre "Configuration avancée". Dans le cas ou +> l'ETL n'aurait pas fonctionné pendant plusieurs jours ou que les +> données brutes importées de Centreon n'étaient pas à jour ou erronées, +> un processus de reconstruction partielle des données doit être exécuté. +> N'hésitez pas à contacter le Support afin d'être accompagné dans ce +> processus. L'ETL **ne récupère pas automatiquement** les jours qui +> n'ont pas été calculés. + +#### Performance + +Si les traitements de l'ETL vous semblent anormalement longs, en mode +journalier ou en mode reconstruction, veillez à optimiser votre serveur +de reporting. Cela peut être fait en : + +- améliorant la configuration MariaDB +- s'assurant de la bonne performance des disques (pas d'I/O wait par + exemple) +- ajoutant de la mémoire physique (+ optimisation MariaDB) +- veillant à ne pas mutualiser la base de données ni le stockage + +#### Options d'exécution + +Différentes options peuvent être passées en paramètre de l'ETL afin de +lancer des actions spécifiques d'import ou de reconstruction: + + -c Create the reporting database model + -d Daily execution to calculate statistics on yesterday + -r Rebuild mode to calculate statitics on a historical period. Can be used with: + Extra arguments for options -d and -r (if none of the following is specified, these one are selected by default: -IDEP): + -I Extract data from the monitoring server + Extra arguments for option -I: + -C Extract only Centreon configuration database only. Works with option -I. + -i Ignore perfdata extraction from monitoring server + -o Extract only perfdata from monitoring server + + -D Calculate dimensions + -E Calculate event and availability statistics + -P Calculate perfdata statistics + Common options for -rIDEP: + -s Start date in format YYYY-MM-DD. + By default, the program uses the data retention period from Centreon MBI configuration + -e End date in format YYYY-MM-DD. + By default, the program uses the data retention period from Centreon MBI configuration + -p Do not empty statistic tables, delete only entries for the processed period. + Does not work on raw data tables, only on Centreon MBI statistics tables. + +Si les paramètres "start" et "end" ne sont pas précisés, les dates +de début et fin pour chaque étape sont automatiquement calculées en +fonction de la rétention des données paramétrées dans les options +générales de l'ETL. + +### Purge automatique des données + +Une purge des données peut être activée dans les options générales +Centreon MBI afin de s'assurer que le contenu de la base de reporting +respecte bien la configuration de la rétention. Ce mécanisme doit être +activé dans l'interface ET au niveau du cron +/etc/cron.d/centreon-bi-purge . + +Les dimensions de reporting (combinaisons groupes / catégories host / +services / metrics) sont automatiquement supprimées de la base si plus +aucune données n'est lié à la combinaison en question. + +### Comment appliquer la dernière configuration Centreon aux données de reporting ? + +> Lorsque vous lancez cette procédure, toutes les données déjà calculées +> sont supprimées puis recalculées en se basant sur la période de +> rétention. De plus toutes les relations passées entre les objets seront +> supprimées pour ne garder que la dernière. + +En période de mise en place de reporting, il est normal d'avoir à +relancer les calculs des statistiques relativement souvent puisque la +configuration dans Centreon est amenée à changer. Une fois le travail de +groupement / catégorisation terminé, lancer les commandes suivantes sur +le serveur de **REPORTING**, de préférence le matin (cela peut prendre +plusieurs heures). Cette procédure n'inclut pas la reprise des données +de logs et de métrologie brutes, assurez vous que les données provenant +de Centreon sont à jour. Pour cela, exécutez la commande suivante:: + + /usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content + +Et vérifiez que le message "ETL OK - Database is up to date" apparaît +ou qu'aucune de ces tables n'apparaît dans la liste : + +- data_bin +- hoststatevents +- servicestateevents + +Les commandes d'agrégation proposées ci-dessous sont lancées sans +précision de date de début et fin, le calcul se basera alors sur la +rétention configurée dans Centreon MBI. Si vous êtes en période +d'installation/test de Centreon MBI, vous pouvez modifier cette +rétention AVANT le traitement pour la diminuer puis de la remettre par +défaut (365 jours) APRES le traitement. Les calculs seront de ce fait +plus rapides. + +Se rendre à la page : Reporting > Business Intelligence > General +Option | Onglet Data Retention Options + +![image](../assets/reporting/guide/etl_dataRetention.png) + +#### Importer la dernière configuration de Centreon + + /usr/share/centreon-bi/etl/importData.pl -r --centreon-only + +#### Calculer les dimensions de reporting + +Cette commande supprime toutes les anciennes relations tracées dans le +serveur de reporting pour n'appliquer que les dernières en date. Si vous +souhaitez garder les anciennes relations, remplacer **"-r"** par +**"-d"**.: + + /usr/share/centreon-bi/etl/dimensionsBuilder.pl -r + +#### Agrégation des événements et de la disponibilité + + nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllEvents.log & + +#### Agrégation des données de performance (stockage, traffic etc.. ) + + nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllPerf.log & + +### Comment reprendre partiellement les données de reporting ? + +Cette procédure vous est utile lorsque le plugin de monitoring donnant +l'état de la base de reporting vous remonte un état non-OK. Cela peut +être dû à des problèmes rencontrés lors des traitements journaliers +(données Centreon qui ne sont pas à jour, manque d'espace sur le +serveur de reporting, traitements coupés manuellement etc..). + +Dans ce cas, le plugin de reporting renvoie que la base de données +n'est pas à jour. Exemple du retour du plugin lorsque la base de +données n'est pas à jour : : + + ```shell + /usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content + ``` + + ```shell + [Table mod_bam_reporting, last entry: 2015-07-01 00:00:00] [Table mod_bi_ba_incidents, last entry: 2015-07-01 00:00:00] [Table hoststateevents, last entry: 2015-07-01 00:00:00] + [Table servicestateevents, last entry: 2015-07-01 00:00:00] [Table mod_bi_hoststateevents, last entry: 2015-07-01 00:00:00] + [Table mod_bi_servicestateevents, last entry: 2015-07-01 00:00:00] [Table mod_bi_hostavailability, last entry: 2015-07-01 00:00:00] + [Table mod_bi_serviceavailability, last entry: 2015-07-01 00:00:00] [Table data_bin, last entry: 2015-08-01 00:00:00] [Table mod_bi_metricdailyvalue, last entry: 2015-08-01 00:00:00] + [Table mod_bi_metrichourlyvalue, last entry: 2015-08-01 23:00:00] + ``` + +- Si vous ne voyez que les tables **mod_bi_** cela signifie que le + problème se situe uniquement sur les données agrégées et pas les + données provenant de Centreon. + + Dans ce cas, **ignorez la partie "Importer les données + manquantes"** dans la procédure qui suit. + +- Si vous voyez également les tables ci dessous, cela signifie qu'il + y a un problème avec les données importées de Centreon : + + - hoststatevents + - servicestateevents + - Les tables **mod_bam_reporting*** tables + - data_bin + + Dans ce cas, vous devez vous assurer qu'il n'y a pas de problème du + côté Centreon avant d'éxécuter la procédure suivante. Dans ce cas, + exécutez la procédure qui suit. + +#### Pré-requis + +Avant d'exécuter les commandes de la procédure, s'assurer que: + +- La plateforme Centreon est saine et les données sont à jour dans la base de données +- Le script dataRetentionManager.pl n'est pas activé sur le serveur + de reporting ( c'est à dire commenté ) dans + `/etc/cron.d/centreon-bi-purge`. Il faudra le réactiver à la fin de la + procédure +- Le script centreonBIETL n'est pas activé sur le serveur de reporting ( c'est à dire commenté ) dans + `/etc/cron.d/centreon-bi-engine`. Il faudra le réactiver à la fin de la procédure +- La rétention est configurée sur l'interface Centreon BI et que la valeur configurée n'est pas supérieure à 1024 jours +- La rétention est activée dans l'interface +- Les scripts présents dans `/etc/cron.d/centreon-bi-backup-reporting-server` + doivent être commentés. Il faudra les dé-commenter à la fin de la + procédure + +> Pour l'ensemble des commandes listées ci-dessous, utiliser "screen" ou +> "nohup" car les temps d'exécution peuvent être très longs. +> +> - $date_start$: doit être remplacé par la date de début en accord avec le retour des scripts de diagnostic ou de la rétention +> - $date_end$: à remplacer la plupart du temps par la date du jour + +#### Importer les données manquantes + +- Importer les données, sans les données de performance (table + data_bin), depuis une date ancienne correspondant à la rétention + configurée dans Centreon MBI > Generation Option > Data Retention + Parameters, au niveau des paramètre de rétention de la + disponibilité: : + + nohup /usr/share/centreon-bi/etl/importData.pl -r -s $date_start$ -e $date_end$ --ignore-databin > /var/log/centreon-bi/rebuild_importDataEvents.log & + + *Temps d'exécution : (rapide) quelques minutes* + +- Importer les données de data_bin depuis la date des dernières + données présentes en base. Vous pouvez le savoir en vérifiant la + date à côté de la table data_bin dans le retour du plugin : + + nohup /usr/share/centreon-bi/etl/importData.pl -r --no-purge --databin-only -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_importDataBin.log & + + *Temps d'exécution : (rapide) quelques minutes dépendant du nombre + de jour à importer* + +#### Mettre à jour les dimensions de reporting + +- Mettre à jour les dimensions. L'option "-d" est utilisée pour + conserver l'historique des changements de configuration, ne pas + utiliser l'option "-r" ou vous seriez dans l'obligation de + reconstruire toutes les statistiques : + + nohup /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d > /var/log/centreon-bi/rebuild_dimensions.log & + + *Temps d'exécution : (rapide) quelques secondes à quelques minutes* + +#### Reconstruire les évènements manquants et les données de disponibilité + +- Reconstruire les évènements depuis une date ancienne correspondant à + la rétention configurée dans Centreon MBI > Generation Option > + Data Retention Parameters : : + + nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --events-only > /var/log/centreon-bi/rebuild_events.log & + + *Temps d'exécution : dépend de votre périmètre de supervision et du + nombre d'évènements. Peut prendre de quelques minutes à plusieurs + heures mais ne doit pas être plus long que 24h. Si c'est le cas, + veuillez contacter le Support Centreon.* + +- Reconstruire les tables de disponibilité depuis la date des + dernières données présentes en base. Pour le savoir, regardez les + dates en face de mod_bi_hostavailability et + mod_bi_serviceavailability: : + + nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --no-purge --availability-only -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_availability.log & + + *Temps d'exécution : dépend de votre périmètre de supervision et du + nombre de jour à reconstruire. Peut prendre de quelques minutes à + plusieurs heures* + +#### Importer et reconstruire les données de performance manquantes + +- Construire les statistiques manquantes. Prenez la date la plus + ancienne en face des tables mod_bi_metrichourlyvalue et + mod_bi_metricdailyvalue dans le retour du plugin: : + + nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --no-purge -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_perfData.log & + + *Temps d'exécution : dépend de votre périmètre de supervision et du + nombre de jour à reconstruire. Peut prendre de quelques minutes à + plusieurs heures. Attention, si le nombre de jour à reconstuire est + supérieur à la rétention configurée au niveau des données agrégées à + l'heure, cela peut générer un important volume de données et une + reconstruction très longue.* + +#### Que faire après l'exécution des scripts ? + +- Cas 1 : **La reconstruction s'est terminée le même jour** + + Dé-commenter les lignes dans `/etc/cron.d/centreon-bi-engine` et + `/etc/cron.d/centreon-bi-purge` puis redémarrer le systemctl restart + crond : + + systemctl restart crond + +- Cas 2 : **La reconstruction se termine le jour suivant** + + - Dé-commenter les lignes dans `/etc/cron.d/centreon-bi-engine` et + `/etc/cron.d/centreon-bi-purge` puis redémarrer le systemctl restart + crond: + + systemctl restart crond + + - Exécutez manuellement la construction journalière: : + + /usr/share/centreon-bi/bin/centreonBIETL -d + +- Cas 3 : **Tous les autres cas** + + Reprendre la procédure de reconstruction partielle en l'appliquant + sur les jours qui manquent: : + + Exemple: + La reconstruction a pris 4 jours : du 01/01 au 04/01 , il faut alors reprendre la procédure depuis le début en utilisant date_start = 01-01 et date_end = 04/01. + La procédure est terminée et la sortie de la sonde de supervision BI devrait être “ETL execution OK, database is up-to-date”. + +### Statistiques de Centreon BAM + +- Suivez cette procédure si vous venez de reconstruire les statistiques de BAM. + + - Ré-importer les données BAM du serveur central vers le serveur de reporting en exécutant cette commande : + + ```shell + /usr/share/centreon-bi/etl/importData.pl -r --bam-only + ``` + Cela aura pour effet de n'importer que les tables de reporting du +module BAM. + +- Si les données de reporting ne semblent toujours pas à jour, suivez cette procédure : + + 1. Vous devez d'abord exécuter cette commande sur le serveur central pour recalculer globalement les statistiques de BAM : + + ```shell + /usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --all + ``` + 2. Réimportez-les ensuite sur le serveur MBI en exécutant cette commande : + ```shell + /usr/share/centreon-bi/etl/importData.pl -r --bam-only + ``` + +### Comment calculer uniquement les données de Centile + +Pour être en mesure d'utiliser le rapport "Monthly Network +Percentile" vous devez activer le calcul et le stockage des centiles. + +Pour cela, rendez vous sur la page *Reporting > Business Intelligence +> General Options | ETL Tab* et configurez la section "Centile +Parameters" comme décrit ci-dessous. Le combinaison centile/timeperiod +est donnée à titre d'exemple, n'hésitez pas à créer votre/vos propres +combinaisons. Si vous n'êtes pas intéressé par ce rapport, laissez les +valeurs par défaut. + + Parameter | Value + ------------------------------------------------------------------------------------------------------|-------------------------- + Effectuer les calculs sur le centile par | Mois (au moins) + Sélectionner les catégories de services sur lesquelles aggréger les données | Sélectionner au moins une de vos catégories de trafic + Premier jour de la semaine | Lundi (défaut) + Créer les combinaisons centile-plage horaire qui couvrent vos besoins (Format du centile : 00.0000) | Créer au moins une combinaison. Ex: 99.0000 - 24x7 + +Exemple : + +![image](../assets/reporting/guide/centileParameters.png) + +Seules les categories de services sélectionnées dans la partie +"Reporting perimeter selection" apparaîtront dans les catégories de +services disponibles pour les statistiques de centile. + +Vous pouvez créer autant de combinaison que vous souhaitez mais il faut +savoir que l'impact sur les temps de traitements est fort. A titre +d'exemple, l'agrégation au mois de ces statistiques peut prendre de +quelques secondes à plusieurs dizaines de minutes. + +Commencez par configurer les centiles sur un petit perimètre puis +étendez le au fur et à mesure si les temps de calculs ne deviennent pas +problématiques. (peut prendre de quelques secondes à plusieurs dizaine +de minutes). + +Sur le serveur de **reporting**, executez la commande suivante pour +importer les données de configuration: + + /usr/share/centreon-bi/bin/centreonBIETL -rIC + +Ensuite, exécutez la commande suivante pour intégrer la configuration +des centiles dans le datawarehouse: + + /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d + +Enfin, exécutez la commande suivante afin de calculer les statistiques +(cela peut prendre de quelques secondes à plusieurs dizaines de minutes +selon votre configuration): + + /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --centile-only diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/configure.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/configure.md new file mode 100644 index 000000000000..243522ebb50d --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/configure.md @@ -0,0 +1,292 @@ +--- +id: configure +title: Configurer +--- + +## Gestion des accès aux rapports & tâches planifiées (ACL) + +Il est possible de limiter la génération ou la consultation de rapports +à des groupes d'utilisateurs spécifiques. Pour cela, il faut configurer +les listes de contrôle d'accès (ACL) pour Centreon MBI. + +Le filtre sur les modèles de rapport permet de : + +- Donner accès aux modèles de rapports lors de la création d'une tâche planifiée ("Page Tâches Planifiée -> Ajouter") + +Le filtre sur les jobs permets de : + +- Donner accès aux rapports générés (page "Report View") +- Donner accès aux tâches planifiée, en créer ou les modifier (page "Tâches planifiées") +- Permettre à un utilisateur de recevoir par e-mail les rapports basé sur les tâches planifiées + +Pour gérer les accès, rendez vous à la page suivante: **Administration > ACL > Centreon MBI > ACL Rules** + +![image](../assets/reporting/guide/AclRules.png) + +Lors de l'ajout ou d'une modification d'une règle, un formulaire +composé de 3 onglets s'ouvre. + +Dans l'onglet "General informations" , les groupes d'accès +préalablement paramétrés dans Centreon sont listés. Il est possible de +les lier à la règle. + +![image](../assets/reporting/guide/AclRulesGeneralInformation.png) + +L'onglet "report designs" permet de lier des modèles de rapport ou +des groupes de modèles à cette règle. + +![image](../assets/reporting/guide/AclRulesReportDesign.png) + +Le dernier onglet "Jobs" permet de lier les tâches et les groupes de +tâches planifiées à la règle. Si aucun modèle de rapport n'est +selectionné dans l'onglet précedent, aucune tâche ne sera visible dans +cet onglet. + +![image](../assets/reporting/guide/AclRulesJob.png) + + +> **Important** +> +> Un utilisateur non administrateur ne peut recevoir des notifications sur +> des rapports qu'il n'est pas autorisé à voir, même s'il fait parti du +> groupe de contacts relatif à la notification. +> +> Il est possible de donner accès aux autres menus de Centreon MBI à des +> utilisateurs soumis à des ACLs, ces utilisateurs pourront alors +> uniquement visualiser le contenu. Les pages concernées sont : +> +> - Groupe de tâches planifiées +> - Modèle de rapports +> - Groupe de modèle de rapports +> - Logos +> - Règles de publication +> +> Si vous donnez accès à la page "Options générales" à un utilisateur +> limité, il aura les droits de modification, cela est fortement +> déconseillé. + + +## Options générales + +Les options générales de Centreon MBI sont utilisées pour paramétrer: + +- Les options d'ordonnancement des tâches planifiées et de génération + de rapports +- La communication entre l'interface de Centreon MBI et le moteur de + génération des rapports CBIS +- Les paramètres de notification des administrateurs de Centreon MBI +- Le paramétrage de la vue interactive + +### Options de notification + +Le moteur de génération de rapports peut notifier les administrateurs +Centreon MBI après la génération de chaque rapport. L'e-mail envoyé +contient: + +- Le lien de téléchargement du rapport +- Le fichier de log relatif au rapport généré + +Cela permet aux administrateurs de contrôler les tâches échouées. + +Le processus de notification doit être different de celui de la +publication par e-mail: + +La publication par e-mail permet d'envoyer les rapports aux +utilisateurs concernés alors que la notification envoie l'e-mail aux +administrateurs Centreon MBI afin de les prévenir de la génération du +rapport. + +Les paramètres de notification peuvent être modifiés dans le menu: + +*Reporting > Business Intelligence > General Options | Notification +Options* + +Description des champs du formulaire: + + Champs | Description + ----------------------------------------------|----------------------------------------------- + Enable job notification for administrators | Permet d'activer le système de notification par défaut pour l'application. Il est cependant possible de désactiver la notification ensuite sur des tâches planifiées + E-mail from | Expéditeur du e-mail + SMTP server | Adresse du serveur SMTP ( Adresse IP ou nom DNS) + SMTP port | Port SMTP + Use credential | Utilisation d'une authentification (oui / non) + Use SSL | Utilisation d'une authentification SSL (oui / non) + SMTP user | Compte utilisateur SMTP + SMTP password | laisser vide pour ne pas modifier le mot de passe + E-mail default title | Sujet du e-mail de notification par défaut + Default E-mail body | Corps du e-mail de notification par défaut + Default E-mail footer | pied de page du e-mail de notification par défaut + Centreon main server web protocol | Le protocole utilisé pour la connexion à l'interface Centreon ( http / https ) + Centreon web URL extension | L'extension URL du serveur Centreon ( Exemple: /centreon ) + Centreon main server web address | Adresse du serveur Centreon ( exemple: + Contact groups | Groupe de contacts des administrateurs Centreon MBI. Laisser le champs vide pour ne pas recevoir de notification après chaque génération de rapport + Testing notification | Mettre une adresse e-mail valide dans ce champs, ensuite cliquer sur "test" pour envoyer un email de test correctement renseigné + +### Options de l'ordonnanceur + +Le menu permettant de modifier les options d'ordonnancement du moteur +de reporting se trouve dans: `Reporting > Business Intelligence > General Options | Scheduler +options` + +### Propriétés du moteur CBIS + +L'interface de Centreon MBI communique directement avec le moteur de +génération de rapports CBIS. Elle ouvre une connexion sur le port +d'écoute de CBIS pour: + +- Avertir lors de la création ou la modification de tâches planifiées +- Mettre à jour les langues disponibles pour la traduction de rapports +- Tester les règles de publication de rapports +- Tester la configuration de notifications + +Description des paramètres: + + Option | Description + --------------------------|-------------------------------------------------------- + CBIS host | Adresse IP du serveur hébérgeant le moteur de génération de rapport + CBIS port | Le port TCP sur lequel le moteur CBIS est en écoute + CBIS connection timeout | Timeout pour la connexion au moteur de génération de rapports en secondes + +Une modification faite sur un de ces paramètres necessite un redémarrage +du service CBIS. + +### Propriétés d'ordononnancement des rapports + +Description des paramètres: + + + Option | Description + --------------------------------------------------------------|---------------------------------- + All cyclic reports generation hour | Heure de génération des rapports journaliers, hebdomadaires et mensuels + Day of month for the generation of monthly reports | Jour de mois de génération des rapports mensuels + Day of week for the generation of weekly reports | Jour de semaines de génération des rapports hebdomadaires + maximum load allowed to the scheduler for the jobs execution | Poids maximal autorisé pour la génération de tâches parallèles + +### Propriétés de rapports spécifiques + +Deux rapports nécessitent un accès au serveur Centreon afin de générer +des graphiques RRDs. Ces rapports sont: + +- Host-graph-v2 +- Hostgroup-graph-v2 + +Renseignez le champs suivant: + +![image](../assets/reporting/guide/10000000000005A100000028486B421A.png) + +Une modification sur les paramètres ci-dessus nécessite un redémarrage +du service CBIS. + +Le thème de couleurs par défaut peut aussi être défini dans ce menu, en +utilisant l'option "Default report color theme". + +### Options de l'ETL + +Centreon MBI intègre un ETL qui permet de : + +- Synchroniser les données brutes de la supervision vers le serveur de + reporting +- Alimenter les bases de données du serveur de reporting avec les + données statistiques +- Contrôler la rétention des données sur le serveur de reporting + +Avant de passer aux étapes suivantes, il est nécessaire de lire le +chapitre [des bonnes pratiques](installation.md#bonnes-pratiques-de-supervision) afin de +vous assurer que la configuration des objets dans Centreon (groupes, +categories...) est conforme aux attentes de Centreon MBI. + +Dans le menu « Reporting > Business Intelligence > General Options > +ETL options »  de Centreon, spécifiez les options suivants : + +Option | Values +--------------------------------------------------------------------------------------------------------------------------------------------|--------- +| **Options générales** | | + Une base de données MariaDB/MySQL dédiée au reporting a été mise en place. | Oui. Vous devez avoir un serveur de reporting dédié. + Espace de stockage des fichiers temporaires sur le serveur de reporting * | Dossier sur le serveur de reporting dans lequel les dumps de données seront positionnés + Type de statistiques à traiter |
  • Sélectionnez « Disponibilité uniquement » si vous utilisez uniquement les rapports de disponibilité.
  • Sélectionnez « Performance et capacité uniquement» si vous souhaitez utiliser uniquement les rapports de capacité et de performance
  • Sélectionnez «Tous» afin de calculer les statistiques pour les deux types de rapports.
+ Activer le stockage des tables temporaires en mémoire (uniquement si la mémoire physique allouée au serveur de reporting est suffisante) | Activé uniquement si votre configuration MariaDB/MySQL et la mémoire physique allouée au serveur de reporting le permet. +| **Sélection du périmètre du reporting** | | +Groupes d hotes | Sélectionnez les groupes d’hôtes pour lesquels vous souhaitez conserver les statistiques. +Catégories d hôtes | Sélectionnez les catégories d’hôtes pour lesquels vous souhaitez conserver les statistiques. +Catégories de services | Sélectionnez les catégories de services pour lesquels vous souhaitez conserver les statistiques. +| **Calcul des données de disponibilité** | | + Sélectionner les plages de services pour le calcul des statistiques de disponibilité | Plages horaires (time periods) pour lesquelles les calculs de disponibiltié des hôtes et des services sont réalisées +| **Calcul des données de performance et de capacité** | | + Granularité des données statistiques à calculer | Sélectionnez le ou les niveaux de granularité pour le calcul des données de performance (1) + Sélectionner les plages de services pour le calcul des statistiques de performance | Plages horaires sur les jours de la semaine pris en compte dans le calcul des données de capacité et de performance +| **Capacity statistic aggregated by month** | | + Sélectionner la plage de service 24h/24, 7j/7 pour le calcul des statistiques mensuelles de capacité | Selectionnez la plage horaire 24x7. + Sélectionner les catégories de services liées aux indicateurs de capacité | Sélectionnez les catégories de services ayant été rattachés à des services de type capacité + Exclure les métriques qui ne renvoient pas une indication d utilisation des espaces de stockage | Concerne uniquement les métriques liées aux services qui renvoient une information de capacité. Sélectionnez uniquement les métriques qui donnent une valeur maximale ou une valeur totale de capacité et non une valeur d’utilisation. (exemple, la métrique “ size ” returnée par le plugins check_centreon_snmp_remote_storage ») + | **Paramètres pour le calcul des centiles** | | + Calculating centile aggregation by | Selectionnez la granularité des calculs. Le rapport de trafic fourni en standard avec BI 2.1 utilise les données au Mois. + Sélectionner les catégories de services sur lesquelles aggréger les données | Selectionnez uniquement les catégories de services pertinente (Ex: Traffic) + Premier jour de la semaine | Selectionnez le premier jour à considérer pour les statistiques à la semaine +Créer les combinaisons centile-plage horaire qui couvrent vos besoins (Format du centile : 00.0000) | Créez des combinaisons centile/plage horaire sur lesquels les statistiques seront effectuées + +**(1)** Les rapports nécessitant une granularité des données à l'heure +sont listés ci-dessous. Si vous ne souhaitez pas utiliser ces rapports, +désactivez le calcul des statistiques à l'heure: + +- Hotsgroup-Host-details-1 +- Host-detail-v2 +- Hostgroup-traffic-Average-Usage-By-Interface +- Hostgroup-traffic-by-Interface-And-Bandwith-Ranges + + +### Options de réténtion des données + +Le serveur de reporting contient des données de statistiques dans des +tables spécifiques à Centreon MBI. Ces données sont stockées dans la +base de données *centreon_storage*. + +L'espace utilisé par ces tables augmentera de jour en jour; il est +possible de contrôler la volumétrie de ces données en configurant des +règles de rétention. + +Dans le menu : *Reporting > Monitoring Business Intelligence > Options +générales > Options de rétention des données* la rétention peut être +gérée par: + +- type de données (disponibilité ou performance) +- granularité des données (données brutes de la supervision, données + agrégées par heure, jour ou mois) + +Activez la rétention de données en cochant "Yes" puis paramétrez les +différents options de configuration. + +![image](../assets/reporting/installation/bi_retention.png) + +Pour activer la purge automatique des données, éditez le cron +`/etc/cron.d/centreon-bi-purge` sur le serveur de reporting puis +dé-commentez la ligne suivante: : + + 0 20 * * * root @CENTREON_BI_HOME@/etl/dataRetentionManager.pl >> @CENTREON_BI_LOG@/dataRetentionManager.log 2>&1 + +> Évitez les périodes pendant lesquelles les calculs de statistiques avec +> l'ETL Centreon MBI et la génération des rapports sont programmés. + +Il est possible d'exécuter le cron de manière journalière ou +hebdomadaire, cela dépendra de la charge générée par la purge des +données sur votre serveur de reporting. + +Redémarrez le service cron: : + + systemctl restart crond + +### Report Parameter + +Cet onglet a pour but d'afficher les dimensions disponibles pour un +utilisateur choisi en fonction de ses restrictions d'ACL et de ce qui a +été calculé dans l'entrepôt de données. + +En cas de changement de configuration de groupes d'hôtes, catégories +d'hôtes ou de services, vous devez cliquer sur "Update ACL resources" +afin que les paramètres disponibles dans la page de configuration d'une +tâche planifiée soient mis à jour. + +### Widget de reporting + +Cet onglet permet de vérifier que la connexion à la base de reporting +est fonctionnelle et de modifier les paramètres de connexion. Ces +paramètres sont utilisés pour récupérer les données dans les widgets. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/generate-reports.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/generate-reports.md new file mode 100644 index 000000000000..babbf34f3f5e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/generate-reports.md @@ -0,0 +1,539 @@ +--- +id: manage-reports +title: Générer des rapports +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +Ce chapitre décrit les fonctionnalités à utiliser afin de générer et gérer les rapports. + +![image](../assets/reporting/first_page.png) + + +## Tâches planifiées + +Une tâche planifiée est une entité qui permet de générer un rapport et sa configuration prend en compte : + + - Un modèle de rapport à utiliser ([voir les modèles disponibles par défaut](report-development.md) + - Un périmètre basé sur les objets Centreon (voir [les bonnes pratiques](installation.md#bonnes-pratiques-de-supervision)) + + - Une période de reporting (mois en cours, mois dernier, veille etc..) + +### Liste des tâches planifiées + +Le menu suivant liste les tâches planifiées, en cours d'execution, +terminées ou échouées: **Reporting > Business Intelligence > Configuration > Jobs** + +![image](../assets/reporting/guide/jobsList.png) + +Description des colonnes: + + **Colonne** | **Description** + ------------------|------------------------------------------------------------ + Name | Nom de la tâche planifiée + Report Model | Modèle de rapport utilisé + Period | La période sur laquelle le rapport est généré + Output Format | Le format de sortie du rapport généré (PDF, Excel, Powerpoint, CSV, DOC) + Execution time | Date et heure d'execution de la tâche planifiée + Options | Nombre de tâches à dupliquer si l'option de duplication est choisie dans le menu "More Actions" + + +Dans la colonne "Name", une icône est associée au status de la tâche planifiée: + + Icône | Statut + ---------------------------------------------------------|---------------------------- + ![image](../assets/reporting/guide/clock_stopped.png) | tâche arrêtée + ![image](../assets/reporting/guide/clock.png) | tâche planifiée + ![image](../assets/reporting/guide/clock_running.png) | tâche en cours d'execution + ![image](../assets/reporting/guide/enabled.png) | tâche terminée + ![image](../assets/reporting/guide/failed.png) | tâche échouée ou annulée + +#### Filtre de recherche + +Un filtre de recherche est disponible pour un accès rapide aux tâches planifiées: + +![image](../assets/reporting/guide/searchJobs.png) + +**Légende**: Les options de filtre sur les tâches planifiées. + +Le champs "Search" permet de fitrer par nom de tâche. Les options du +"Job state" permettent de filtrer par état. + +Description des différents états: + + + Etats | Description + --------------|---------------------------------------------------------------- + Scheduled | tâche planifiée , sera exécutée + Running | tâche en cours d'éxecution, le rapport est en cours de génération + Failed | tâche échouée + Stopped | tâche arrêtée, ne sera pas executée + Finished | tâche terminée, le rapport a été généré. Cet état apparait seulement pour les tâches en execution unique. Les tâches cycliques repassent à l'état "Scheduled" une fois le rapport généré + All | tous les états + + +#### Rafraîchir la liste des tâches planifiées + +Les icônes suivantes permettent à l'utilisateur de mettre à jour +dynamiquement la liste des tâches planifiées: + +Icon | Description +--------------------------------------------------------------------------------------------------------------|----------------------------------------------- +| ![image](../assets/reporting/guide/refresh.png) | Rafraîchir manuellement la liste et les états de chacune des tâches. +| ![image](../assets/reporting/guide/media_play_gray.png) ![image](../assets/reporting/guide/media_pause.png) | Le rafraîchissement peut être activé ou désactivé + +#### Menu d'actions + +Le menu d'action permet la mise en place de differentes actions +d'ajout ou de modification. Les actions seront appliquées sur un ou +plusieurs éléments de la liste. + +![image](../assets/reporting/guide/moreActionsJobs.png) + +**Légende:** Menu d'actions de la page "Jobs" + +Le tableau suivant décrit les différentes actions possibles: + + + Action | Description + ------------|------------------------------------------------------------- + Trash | Envoie les tâches selectionnées vers la corbeille. + Stop | Arrête la tâche selectionnée. + Reschedule | Planifie/lance la tâche selectionnée. + Duplicate | Duplique la tâche selectionnée. Toutes les propriétés de la tâches seront également dupliquées + +### Ajouter / modifier + +Pour générer un rapport, il faut créer une tâche planifiée en cliquant sur "Ajouter". La configuration d'une +tâche planifiée se fait en deux principales étapes: + +- Sélection du modèle de rapport à utiliser ([voir tous les modèles disponibles](../assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf)) +- Selectionner le périmètre sur lequel générer le rapport + +et deux étapes optionnelles: + +- Publication du rapport +- Tuning (Réglages avancés) + +Le formulaire suivant est utilisé pour la création d'une nouvelle tâche +planifiée: + +![image](../assets/reporting/guide/addJob.png) + + + + +Une tâche de génération de rapport doit être liée à un modèle de +rapport. + +Plusieurs formats de sortie sont disponibles: + +- Acrobat PDF +- Microsoft Excel +- Microsoft Word +- Microsoft Powerpoint +- CSV : ce format d'export est particulier, seul le premier jeux de + données du rapport BIRT est exporté au format CSV. Il est probable + que vous deviez créer un rapport spécifique permettant de tirer + parti de ce format d'export. + +Les rapports peuvent être générés en plusieurs langues. Actuellement, +les langues disponibles sont: + +- Français +- Anglais (Etats Unis). + +L'icône à droite du menu de selection de la langue permet de rafraîchir +la liste des langues de traduction disponibles. + +#### Paramètres d'ordonnancement + +Une tâche peut être executée de deux manières différentes: + +**Exécution immédiate**: + +- Peut être executée immédiatement ("Immediate execution"): + +![image](../assets/reporting/guide/scheduleImmediate.png) + +- Execution planifiée à une date ultérieure ("Scheduled execution > + One shot"): + +![image](../assets/reporting/guide/scheduleOS.png) + +**Exécution cyclique**: + +Dans ce cas, le rapport peut être planifié à s'éxecuter de façon +quotidienne, hebdomadaire ou mensuelle. + +![image](../assets/reporting/guide/scheduleRegular.png) + +Lors d'une éxécution immédiate de la tâche, la période de réporting +doit être renseignée par l'utilisateur. Lors d'une éxécution cyclique, +cette période est automatiquement calculée par rapport à la fréquence de +lancement: + +- Les rapports journaliers auront comme période de reporting le jour + précédent. +- Les rapports hebdomadaires auront comme période de reporting la + semaine précedente. +- Les rapports mensuels auront comme période de reporting le mois + précédent. + + + + +L'onglet "Paramètres de rapport" est utilisé pour définir les paramètres +spécifiques du modèle de rapport. + +> Les paramètres ne sont disponibles qu'en anglais, référez vous à la +> documentation en ligne pour plus d'explication. + +![image](../assets/reporting/guide/jobParameter.png) + +**Légende**: exemples de paramètres spécifiques de rapports + +Cette partie du formulaire est remplie une fois qu'un modèle de rapport +est selectionné dans le menu "Scheduled job" de l'onglet +"Configuration". + +Il existe trois types de champs dans ce formulaire: + +- Champs textes +- Radios boutons +- Sélections simples et Multi-sélections pour les ressources + suivantes: + - Hôtes + - Métriques + - Groupes d'hôtes + - Catégories d'hôtes + - Catégories de services + - Périodes temporelles + - Images à insérer au rapport ( les logos par exemple) + +> Dans le champ **périodes temporelles** des rapports concernant [BAM](../service-mapping/introduction.md), n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +> Une valeur doit être renseignée pour chaque champs excepté le +> multi-select quand il s'agit d'exclusion de métriques. Dans ce cas +> précis, quand aucune métrique n'est à exclure, toutes les métriques +> seront utilisées. + + + + +Une fois le rapport généré, il peut être automatiquement publié en +utilisant des règles de publication pré-définies. Lors de la création +d'une tâche, vous pouvez sélectionner plusieurs règles dans l'onglet +"Publication". + +![image](../assets/reporting/guide/jobPublication.png) + + + + + +- **Le thème de couleurs des rapports**: La gestion des thèmes a été + implémentée. Elle permet de choisir entre des palettes de couleurs. + Sept thèmes sont proposés par défaut: Maroon, Orange, Blue, Green, + Ice, Multicolor-1 et Multicolor-2 + +Ci-dessous les palettes associées aux couleurs: + +![image](../assets/reporting/guide/theme.png) + +Le theme de couleur par défaut peut être modifié dans le menu d'options +générales de Centreon MBI. Pour plus d'informations, visitez le +chapitre [Options générales](configure.md#options-g%C3%A9n%C3%A9rales) + +- Coefficient de la tâche planifiée: chaque modèle de rapport a un + poids. Une tâche planifiée multiplie ce poids par le coefficient + renseigné. La somme des poids des tâches en cours d'execution ne + doit pas dépasser le poids maximal autorisé par le moteur de + génération ( paramétrable dans les options générales onglet + "Scheduler options" ). +- Activé ou non l'envoi de notifications aux administrateurs + lorsqu'un rapport est généré. + + + + +## Accéder aux rapports générés + +Après l'execution d'une tâche planifiée, un nouveau rapport est généré +et stocké sur le serveur de supervision. Il est donc possible de +visualiser ou télécharger le rapport généré directement depuis le menu: **Rapports > Monitoring Business Intelligence > Visualisation des rapports** + +Le tableau ci-dessous liste les rapports générés. + +![image](../assets/reporting/guide/reportList.png) + +Description du tableau: + + Colonne | Description + --------------------|---------------------------------------------------- + Name | Nom du rapport + Period | La période sur laquelle le rapport a été généré + Date de génération | date de génération du rapport | + Download | lien pour le téléchargement du rapport + +#### Filtre de recherche + +Le filtre de recherche suivant permet de trouver facilement un rapport: + +- "Period" : filtre appliqué sur la colonne "Period" +- "Date of generation" : filtre appliqué sur la colonne "Date of + Generation" +- "Frequency" : filtre appliqué sur la colonne "Frequency" +- "Search" : filtre appliqué sur la colonne "Name" + +![image](../assets/reporting/guide/reportViewFilter.png) + +#### Menu des actions + +Le menu permet d'envoyer vers la corbeille les rapports qui ne sont +plus utiles. + +![image](../assets/reporting/guide/moreActions.png) + + +## Groupes de jobs + +### Liste des groupes de tâches planifiées + +Le menu suivant liste l'ensemble des groupes de tâches planifiées +disponibles dans Centreon MBI + +*Rapports > Business Intelligence > Configuration > Groupe de tâches +planifiées* + +![image](../assets/reporting/guide/list_job_groups.png) + +### Ajouter / Modifier + +Un nouveau groupe peut être ajouté ou modifié. + +![image](../assets/reporting/guide/add_job_groups.png) + +**Légende:** Formulaire d'ajout d'un groupe de tâches planifiées. + +Description des champs du formulaire: + + Colonne | Description + --------------|------------------------------------------------------ + Name | Nom du groupe des modèles de rapports + Description | Courte description du groupe des modèles de rapports + Linked job | Les tâches planifiées rattachées au groupe + +#### Menu d'actions + +![image](../assets/reporting/guide/action_duplicationDelete.png) + +**Légende:** Les actions possibles sur les groupes des tâches planifiées + + Action | Description + ----------|--------------------- + Delete | Supprimer le groupe + Duplicate | Dupliquer le groupe + +## Modèles de rapport + +Les modèles de rapports sont les fichiers ".rptdesign" créés avec +l'outil open source BIRT ( Business Intelligence Reporting Tool). + +Chaque fichier RPTDESIGN utilisé dans le module **Centreon MBI** +correspond un modèle de rapport. Afin de pouvoir générer des rapports, +le modèle de rapport doit être configuré par rapport aux: + +- Objets **Centreon** ( Hôtes, services, groupes d'hôtes, catégories + de services, activité métiers , ect.) +- La période de reporting selectionnée ( rapports hebdomadaires, + mensuels , ect.) +- ect + +Chaque modèle de rapport peut avoir plusieurs paramètres à définir dans +l'interface **Centreon**. + +### Liste des modèles de rapport + +Le menu suivant liste l'ensemble des modèles de rapports disponibles +dans Centreon MBI: **Rapports > Business Intelligence > Configuration > modèles de rapports** + +![image](../assets/reporting/guide/reportDesignList.png) + +**Légende**: Liste des modèles de rapports de Centreon MBI + +Description du tableau ci-dessus: + + Colonne | Description + -------------|---------------------------------------------- + Name | Nom du modèle de rapport + Description | Courte description du modèle de rapport + State | Etat du modèle de rapport (Activé/Désactivé) + Weight | Poids du rapport lors de son execution. + + +### Ajouter / modifier + +Un nouveau modèle de rapport peut être ajouté ou modifié si vous développez vos propre rapport: + +![image](../assets/reporting/guide/addReportTemplate.png) + +**Légende**: Formulaire d'ajout d'un modèle de rapport + +Description des champs du formulaire: + +Fields | Description +----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------- +Name | Nom du modèle de rapport +Report Source file | Nom du fichier ".rptdesign" correspondant au modèle de rapport. Ce fichier est stocké Dans le repertoire "reports/" du chemin d'installation de "Centreon MBI" +Description | Courte description du modèle de rapport +XML parameters file | Chaque rapport peut avoir plusieurs paramètres spécifiques. le fichier ".xml" permet de définir ces paramètres +Weight | Poids du rapport pendant son execution. +Report design groups | Groupe de modèles de rapports lié au modèle de rapport pour une meilleure gestion des ACL + +> Seuls les administrateurs sont autorisés de modifier des modèles de +> rapports ou d'en créer de nouveaux. Les utilisateurs avec des +> privilèges limités sont autorisés seulement à visualiser les +> informations liées à ces modèles. + +#### Menu d'actions + +![image](../assets/reporting/guide/moreActions.png) + +**Légende**: les actions possibles sur les modèles de rapports. + + + **Nom de l'action** | **Description** + ----------------------|-------------------------------------------------------- + Trash | Envoyer le fichier vers la corbeille + Activate | Activer un modèle de rapport afin de pouvoir l'utiliser dans les tâches planifiées + Deactivate | Désactiver un modèle de rapport. Son utilisation ne sera plus possible dans les tâches planifiées + +## Groupe de modèle de rapport + +### Liste des groupes de modèle + +Le menu suivant liste l'ensemble des groupes de modèles de rapports +disponibles dans Centreon MBI **Rapports > Business Intelligence > Configuration > Groupe de modèles de rapports** + +![image](../assets/reporting/guide/list_report_design_groups.png) + +### Ajouter / Modifier un groupe de modèle de rapport + +Un nouveau groupe peut être ajouté ou modifié. + +![image](../assets/reporting/guide/add_report_design_groups.png) + +**Légende:** Formulaire d'ajout d'un groupe de modèle de rapports. + +Description des champs du formulaire: + + Colonne | Description + ----------------------|------------------------------------------------------ + Name | Nom du groupe des modèles de rapports + Description | Courte description du groupe des modèles de rapports + Linked report designs | Les rapports rattachés au groupe + +#### Menu d'actions + +![image](../assets/reporting/guide/action_Delete.png) + +**Légende:** Les actions possibles sur les groupes de modèles de +rapports + + + Action | Description + --------------|--------------------- + Delete | Supprimer le groupe + + +## Logo + +Vous pouvez stocker des images dans la configuration du module Centreon +MBI pour une réutilisation dans les rapports. + +Pour chaque modèle de rapport utilisant des images ou logos, Un menu de +sélection est disponible au niveau des paramètres spécifiques du modèle +en question. + +Peu importe la taille de l'image, le ratio doit être de 4,4 pour qu'il +corresponde à l'espace prévu pour l'image. + +### Liste des logos + +Le menu suivant liste toutes les images disponibles: **Reporting > Business Intelligence > Configuration > Logo** + +![image](../assets/reporting/guide/logo_list.png) + +Description des colonnes: + + Colonne | Description + --------------|----------------------------------------------- + Name | Nom de l'image + Preview | Affiche l'image chargée + Type | Le format de l'image. Les formats compatibles: PNG, JPEG, GIF + Size | Taille de l'image (largeur x hauteur) + + +### Ajouter / modifier + +Pour ajouter une nouvelle image, cliquez sur "Add" et remplissez le +formulaire suivant: + +![image](../assets/reporting/guide/logo_add.png) + +Description des champs: + + Colonne | Description + ----------|--------------------------------------------------------- + Name | Nom de l'image. Les caractères spéciaux sont interdits. + Image | Fichier source relatif à l'image + +> Les images utilisées comme "front page logo" ne doivent pas dépasser +> 160 pixels en largeur. Celles utilisées comme logo de la master page ne +> doivent pas dépasser les 45 pixels en hauteur. + +#### Menu d'actions + +Le menu suivant permet de supprimer les images selectionnées. Cepedant, +les images déjà liées à une tâche de génération de rapport ne peuvent +être supprimées. + +![image](../assets/reporting/guide/action_Delete.png) + +## Corbeille + +Lors d'une suppression d'un élément (modèle de rapport,tâche +planifiée, rapport), et par mesure de sécurité, ce dernier sera placé +dans la corbeille avant d'être physiquement supprimé du serveur. +L'accès à la corbeille se fait dans le menu suivant: + +*Reportinng > Business Intelligence > Administration > Trash* + +![image](../assets/reporting/guide/TrashList.png) + +Voici les propriétés de la corbeille: + +- Tant que l'élément est placé dans la corbeille, il n'apparaitra + dans aucun autre menu. +- Si le rapport est présent dans la corbeille, l'ordonnoncement + relatif à cet objet s'arrête +- La suppression d'un modèle de rapport ou d'une tâche planifiée + n'implique pas la suppression des rapports PDF liés à ces modèles + ou tâches. + +Le menu d'action permet la restauration des éléments ainsi que leur +suppression définitive du disque. + +![image](../assets/reporting/guide/TrashActions.png) + +#### Filtres de recherche + +Les filtres de recherches suivants facilitent la recherche d'un élément +dans la corbeille: + +- Le filtre "Search" permet de filtrer par nom. +- Le filtre "Object type" permet de filtrer par type d'élément. + +![image](../assets/reporting/guide/TrashFilter.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/installation.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/installation.md new file mode 100644 index 000000000000..b7d563a1edc9 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/installation.md @@ -0,0 +1,1176 @@ +--- +id: installation +title: Installation de Centreon MBI +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre présente l'architecture logicielle de l'extension **Centreon MBI** et fournit un aperçu de +l'intégration de l'extension au logiciel de supervision Centreon. + +Ce document s'adresse aux administrateurs qui vont installer ou configurer Centreon MBI. + +Quatre grandes étapes sont nécessaires pour installer Centreon MBI : + +- Vérifiez les prérequis du système. +- Installez l'interface Centreon MBI dans l'application Centreon (Centreon MBI Server). +- Installez le serveur de reporting (Centreon MBI Reporting Server). +- Configurer l'extraction, la transformation et le chargement (ETL) dans l'interface MBI Centreon. + +## Architecture + +### Un serveur de reporting dédié + +L'architecture et ces prérequis s'appliquent aux environnements de : + +- test +- pré-production +- production. + +Le schéma ci-dessous met en avant les principaux composants de Centreon MBI : + +![image](../assets/reporting/installation/architecture.png) + +*La base de monitoring n'est pas nécessairement sur le même serveur que le serveur Centreon* + +- **ETL** : Processus qui extrait, transforme et charge les données dans la + base de données de reporting. +- **CBIS** : Ordonnanceur qui gère l'exécution et la publication des rapports. +- **Base de données de reporting** : Base de données MariaDB/MySQL qui contient les données de reporting + et certaines données brutes extraites de la base de données de supervision. + +### Tableaux des flux réseau + +Le tableau ci-dessous présente les différents types de flux, par défaut, +entre le serveur BI dédié, le serveur Centreon et les bases de données : + +| **Application** | **Source** | **Destination** | **Port** | **Protocol** | +|-----------------|--------------------------|--------------------------------------|----------|--------------| +| ETL/CBIS | Serveur de reporting | Serveur de bases de données Centreon | 3306 | TCP | +| SSH | Serveur de reporting | Serveur Centreon | 22 | TCP | +| CBIS | Serveur de reporting | Serveur Centreon | 80 | HTTP* | +| CBIS | Centreon | Serveur de reporting | 1234 | TCP | +| Widgets | Serveur central Centreon | Serveur de reporting | 3306 | TCP | + +\**Uniquement requis pour les rapports Host-Graph-v2 et Hostgroup-Graph-v2 qui utilisent l'API Centreon pour générer des graphiques.* + +### Informations sur les paquets + +L'installation de Centreon MBI est basée sur deux paquets RPM : + +- **Centreon-bi-server :** Installe l'interface MBI intégrée à l'interface de Centreon. Le paquet est installé sur le serveur central Centreon. +- **Centreon-bi-reporting-server** : Contient tous les composants nécessaires à l'exécution + du serveur de reporting (planificateur de rapports, ETL, rapports standard). Il doit être + installé sur un serveur dédié aux processus de reporting. + +L'installation de la base de données doit être faite en même temps. Nous recommandons +fortement d'installer la base MariaDB/MySQL sur le serveur de reporting pour des raisons de +performances & d'isolation. + +## Pré-requis + +### Server Centreon central + +#### Prérequis logiciels + +Voir les [prérequis logiciels](../installation/prerequisites.md#logiciels). + + + + +- Centreon Web 24.10 +- Vérifiez que `date.timezone` est correctement configurée dans le fichier + `/etc/php.d/50-centreon.ini` ou `/etc/php.d/20-timezone.ini` (même que celui retourné par la commande + `timedatectl status`) +- Evitez l'utilisation des variables ci-dessous dans le fichier de + configuration MariaDB `/etc/my.cnf`. Elles interrompent l'exécution de longues requêtes et peuvent arrêter les jobs d'ETL ou de génération de rapports : + - wait_timeout + - interactive_timeout + +| Utilisateur | Groupe | +|----------------------|----------------------------| +| centreonBI (nouveau) | apache,centreon,centreonBI | +| apache (existant) | centreonBI | + + + + +- Centreon Web 24.10 +- Vérifiez que `date.timezone` est correctement configurée dans le fichier + `/etc/php.d/50-centreon.ini` ou `/etc/php.d/20-timezone.ini` (même que celui retourné par la commande + `timedatectl status`) +- Evitez l'utilisation des variables ci-dessous dans le fichier de + configuration MariaDB `/etc/my.cnf`. Elles interrompent l'exécution de longues requêtes et peuvent arrêter les jobs d'ETL ou de génération de rapports : + - wait_timeout + - interactive_timeout + +| Utilisateur | Groupe | +|----------------------|----------------------------| +| centreonBI (nouveau) | apache,centreon,centreonBI | +| apache (existant) | centreonBI | + + + + +- Centreon Web 24.10 +- Vérifiez que `date.timezone` est correctement configurée dans le fichier + `/etc/php/8.2/mods-available/centreon.ini` ou `/etc/php/8.2/mods-available/timezone.ini` (même que celui retourné par la commande + `timedatectl status`) +- Evitez l'utilisation des variables ci dessous dans le fichier de + configuration MariaDB `/etc/mysql/mariadb.cnf`. Elles interrompent l'exécution de longues requêtes et peuvent arrêter les jobs d'ETL ou de génération de rapports : + - wait_timeout + - interactive_timeout + +#### Utilisateurs et groupes + +| Utilisateur | Groupe | +|----------------------|------------------------------| +| centreonBI (nouveau) | www-data,centreon,centreonBI | +| apache (existant) | centreonBI | + + + + +#### Description des utilisateurs, umask et répertoire personnel + +| Utilisateur | umask | home | +|-------------|-------|------------------| +| centreonBI | 0002 | /home/centreonBI | + +### Serveur de reporting dédié + +#### Couche Matériel + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 16 Go | + +Votre serveur MBI doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 233 Go | +| vg_data | /var/backup | répertoire de sauvegarde | 10 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + + + + +| Élément | Valeur | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 16 Go | + +Votre serveur MBI doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 465 Go | +| vg_data | /var/backup | répertoire de sauvegarde | 10 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 24 Go | + +Votre serveur MBI doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 1163 Go | +| vg_data | /var/backup | répertoire de sauvegarde | 10 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 8 vCPU | +| RAM | 24 Go | + +Votre serveur MBI doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 2326 Go | +| vg_data | /var/backup | répertoire de sauvegarde | 10 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 12 vCPU | +| RAM | 32 Go | + +Votre serveur MBI doit être partitionné de la manière suivante : + +| Groupe de volumes (LVM) | Partition | Description | Taille | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | images de boot | 1 Go | +| vg_root | / | racine du système | 20 Go | +| vg_root | swap | swap | 4 Go | +| vg_root | /var/log | contient tous les fichiers de log | 10 Go | +| vg_data | /var/lib/mysql | base de données | 4651 Go | +| vg_data | /var/backup | répertoire de sauvegarde | 10 Go | +| vg_data | | Espace libre (non alloué) | 5 Go | + + + + +Pour de grosses volumétries de données, contactez votre commercial Centreon. + + + + +Pour contrôler l'espace libre, utilisez la commande suivante en remplaçant +**vg_data** par le nom du groupe de volumes : + +```shell +vgdisplay vg_data | grep -i free* +``` + +#### Couche interlogiciel et logiciel + +- OS : voir la compatibilité [ici](../installation/compatibility.md#système-dexploitation) +- SGBD : voir la compatibilité [ici](../installation/compatibility.md#sgbd) +- Firewalld : Désactivé ([voir ici](../installation/installation-of-a-central-server/using-packages.md#Configurer-ou-désactiver-le-pare-feu)) +- SELinux : Désactivé ([voir ici](../installation/installation-of-a-central-server/using-packages.md#Désactiver-SELinux)) + +> Assurez-vous que le fuseau horaire du serveur de reporting est le même que celui du serveur central, sinon les publications de rapports échoueront (lien vers le téléchargement manquant). +> Le même fuseau horaire doit être affiché avec la commande `timedatectl`. +> Vous pouvez changer le fuseau horaire avec cette commande : +> +>```shell +>timedatectl set-timezone Europe/Paris +>``` + +Veillez à optimiser MariaDB/MySQL sur votre serveur de reporting. Vous aurez besoin +d'au moins 12GB de mémoire vive afin d'utiliser le +[fichier suivant](../assets/reporting/installation/centreon.cnf). + +Assurez-vous d'avoir un dossier **tmp** dans **/var/lib/mysql**. + +> Ne définissez pas ces optimisations MariaDB/MySQL sur votre serveur de supervision. + +Utilisateurs et groupes : + +| Utilisateur | Groupe | +|-------------|------------| +| centreonBI | centreonBI | + +Description des utilisateurs, umask et répertoire utilisateur : + +| Utilisateur | umask | home | +|-------------|-------|------------------| +| centreonBI | 0002 | /home/centreonBI | + +## Installer l'extension sur Centreon + +Les actions listées dans ce chapitre doivent être exécutées sur le **serveur Central Centreon**. + +1. Installez le dépôt Business : vous pouvez le trouver sur le [portail support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +2. Puis lancez la commande suivante : + + + + +```shell +dnf install centreon-bi-server +``` + + + + +```shell +dnf install centreon-bi-server +``` + + + + +Installez **gpg**: + +```shell +apt install gpg +``` + +Importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Ajoutez le dépôt externe suivant (pour Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +apt update +``` + +Puis installez Centreon MBI: + +```shell +apt install centreon-bi-server +``` + + + + +### Activer l'extension + +Le menu **Administration > Extension > Gestionnaire** vous permet +d'installer les différentes extensions détectées par Centreon. Cliquez sur la tuile **Centreon MBI** pour l'installer. + +Par la suite, téléchargez la licence envoyée par l'équipe Centreon pour pouvoir commencer à configurer les options générales. + +### Configurer l'extension + +Renseignez les valeurs suivantes dans les options générales de Centreon +MBI, menu **Rapports > Monitoring Business Intelligence > Paramètres globaux** : + +| Onglet | Option | Value | +|----------------------------------------------------------------------------------------|----------------------------|--------------------------------------------------------------------------------------| +| Options de l'ordonnanceur | Hôte de CBIS | Adresse IP du serveur de reporting | +| Options de l'ETL | Une base de données MySQL dédiée au reporting a été mise en place | Oui | | +| Widgets de reporting* | Reporting MySQL database | Adresse IP de la base de reporting (par défaut = adresse IP du serveur de reporting) | + +\* *Le test de connexion ne fonctionnera pas encore à ce moment de l'installation* + +### Accès à la base de données Centrale + +Téléchargez la licence envoyée par l'équipe Centreon pour pouvoir commencer à configurer les options générales. + + + + + +La base de données de supervision MariaDB/MySQL est hébergée sur le serveur de supervision central. + +Lancez la commande ci-dessous pour autoriser le serveur de reporting à se connecter +aux bases de données du serveur de supervision. Utilisez l'option suivante : + +```shell +perl /usr/share/centreon/www/modules/centreon-bi-server/tools/centreonMysqlRights.pl --root-password=@ROOTPWD@ +``` + +**@ROOTPWD@** : Mot de passe root de la base MariaDB/MySQL de supervision. +S'il n'y a pas de mot de passe pour l'utilisateur "root", ne spécifiez pas l'option **root-password**. + + + + +La base de données de supervision MariaDB/MySQL est hébergée sur un serveur dédié. + +Connectez-vous par SSH au serveur de la base de données, et exécutez les commandes suivantes : + +```SQL +CREATE USER 'centreonbi'@'$BI_ENGINE_IP$' IDENTIFIED BY 'centreonbi'; +GRANT ALL PRIVILEGES ON centreon.* TO 'centreonbi'@'$BI_ENGINE_IP$'; +GRANT ALL PRIVILEGES ON centreon_storage.* TO 'centreonbi'@'$BI_ENGINE_IP$'; +``` + +**$BI_ENGINE_IP$** : Adresse IP du serveur de reporting. + + + + +Si vous utilisez la réplication MariaDB pour vos **bases de données de supervision**, +certaines vues sont créées lors de l'installation de Centreon MBI. +Vous devez les exclure de la réplication en ajoutant la ligne suivante dans le +fichier **my.cnf** du serveur esclave ou mariadb.cnf sur Debian 12. + +```shell +replicate-wild-ignore-table=centreon.mod_bi_%v01,centreon.mod_bi_%V01 +``` + +Ensuite, créez les vues manuellement sur le serveur esclave : + +1. Téléchargez [le fichier suivant](../assets/reporting/installation/view_creation.sql) dans un répertoire temporaire (ici, **/tmp**), par exemple en utilisant **wget**. + +2. Exécutez la commande suivante (changez le nom de votre répertoire temporaire si besoin): + +```bash +mysql centreon < /tmp/view_creation.sql +``` + +#### Configuration spécifique à Debian 12 + +MariaDB doit écouter sur toutes les interfaces au lieu d'écouter sur localhost/127.0.0.1 (valeur par défaut). Éditez le fichier suivant : + +```shell +/etc/mysql/mariadb.conf.d/50-server.cnf +``` + +Donnez au paramètre **bind-address** la valeur **0.0.0.0** et redémarrez **mariadb**. + +```shell +systemctl restart mariadb +``` + +### Donner des droits à l'utilisateur cbis + +Lorsque vous installez Centreon MBI, un [utilisateur](../monitoring/basic-objects/contacts.md) nommé **cbis** est créé automatiquement. Il permet au moteur de génération de rapports d'extraire les données de Centreon (en utilisant les APIs) afin de les insérer dans le rapport. Cet utilisateur doit [avoir accès à toutes les ressources supervisées par Centreon](../administration/access-control-lists.md) afin de pouvoir extraire les graphes de performance pour les rapports suivants : + +- Host-Graph-v2 +- Hostgroup-Graph-v2. + +Pour tester la connexion entre le serveur de reporting MBI et l'API Centreon, utilisez la commande suivante pour télécharger un graphique. Remplacez les paramètres du graphique et les timestamps, et remplacez XXXXXXXXX par le jeton d'autologin de l'utilisateur **cbis**: + +```bash +curl -XGET 'https://IP_CENTRAL/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=XXXXXXXXX&username=CBIS&hostname=&service=&start=&end=' --output /tmp/image.png + +``` + +Exemple : + +```bash +curl -XGET 'https://10.1.1.1/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=otmw3n1hu03bvt9e0caphuf50ph8sdthcsk8ofdk&username=CBIS&hostname=my-poller&service=Cpu&start=1623016800&end=1623621600' --output /tmp/image.png +``` + +Le résultat devrait ressembler au code ci-dessous, et l'image du graphe désiré doit avoir été téléchargée dans le répertoire `/tmp` : + +```text + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 18311 100 18311 0 0 30569 0 --:--:-- --:--:-- --:--:-- 30569 +``` + +## Installer le serveur de reporting + +### Installer les paquets + +Vous devez disposer des informations suivantes avant de procéder au +processus d'installation : + +- IP/DNS de la base de données de supervision +- IP/DNS de l'interface web Centreon +- IP/DNS de la base de données de reporting (localhost fortement recommandé) +- Accès (utilisateur/mot de passe) à la base de données de reporting +- Définir puis récupérer le mot de passe ssh de l'utilisateur centreonBI, sur le serveur Central (pour la mise à disposition des rapports générés sur l'interface) + +#### Procédure + +1. Installez le dépôt Centreon : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +2. Installez le dépôt Business. Vous pouvez le trouver sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +3. Assurez-vous qu'une version de Java 17 (ou 18) est installée. + + - Pour vérifier quelle version de Java est installée, entrez la commande suivante : + + ```shell + java -version + ``` + + - Pour une mise à jour de Java en version 17 (ou 18), allez sur la [page officielle de téléchargement d'Oracle](https://www.oracle.com/java/technologies/downloads/#java17). + + - Si plusieurs versions de Java sont installées, vous devez activer la bonne version. Affichez les versions installées avec la commande suivante puis sélectionnez la version 17 (ou 18) : + + ```shell + sudo update-alternatives --config java + ``` + +4. Installez le dépôt MariaDB : + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=11 --mariadb-server-version="mariadb-10.11" +``` + + + + +5. Puis lancez la commande suivante: + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Activer les dépôts codeready-builder : + +```shell +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Activer les dépôts codeready-builder : + +```shell +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Activer les dépôts powertools : + +```shell +dnf config-manager --set-enabled 'powertools' +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Activer les dépôts codeready-builder : + +```shell +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Activer les dépôts codeready-builder : + +```shell +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt **epel** : + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Exécutez la commande suivante : + +```shell +dnf config-manager --set-enabled 'crb' +``` + +Puis lancer l'installation : + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +Installez le dépôt Centreon : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +``` + + +Installez les paquets prérequis : + +```shell +apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 +``` + +Ajouter le dépôt externe suivant (pour Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +apt update +``` + +Dans le cas d'une installation basée sur une distribution vierge, installez la +clé GPG : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Puis lancer l'installation : + +```shell +apt update +apt install centreon-bi-reporting-server mariadb-server mariadb-client +``` + + + + +Activez le service **cbis** : + +```shell +systemctl enable cbis +``` + +Démarrez et activez **gorgoned**: + +```shell +systemctl start gorgoned && systemctl enable gorgoned +``` + +### Configurer le serveur de reporting + +#### Optimisations MariaDB + + + + +Assurez vous que [le fichier](../assets/reporting/installation/centreon.cnf) de configuration +optimisé fourni dans les pré-requis est bien présent dans `/etc/my.cnf.d/`, puis redémarrez +le service MariaDB : + +```shell +systemctl restart mariadb +``` + +Il est nécessaire de modifier la limitation **LimitNOFILE**. Changer cette +option dans `/etc/my.cnf` NE fonctionnera PAS. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +Si le service MariaDB échoue lors du démarrage, supprimer les fichiers +*ib_logfile* (MariaDB doit absolument être stoppé) puis redémarrer à +nouveau MariaDB: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +Si vous utilisez un fichier de socket spécifique pour MariaDB, modifiez le +fichier `/etc/my.cnf` et dans la section [client], ajoutez : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +Assurez vous que [le fichier](../assets/reporting/installation/centreon.cnf) de configuration +optimisé fourni dans les pré-requis est bien présent dans `/etc/my.cnf.d/`, puis redémarrez +le service MariaDB : + +```shell +systemctl restart mariadb +``` + +Il est nécessaire de modifier la limitation **LimitNOFILE**. Changer cette +option dans `/etc/my.cnf` NE fonctionnera PAS. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +Si le service MariaDB échoue lors du démarrage, supprimer les fichiers +*ib_logfile* (MariaDB doit absolument être stoppé) puis redémarrer à +nouveau MariaDB: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +Si vous utilisez un fichier de socket spécifique pour MariaDB, modifiez le +fichier `/etc/my.cnf` et dans la section [client], ajoutez : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +Assurez vous que [le fichier](../assets/reporting/installation/centreon.cnf) de configuration +optimisé fourni dans les pré-requis est bien présent dans `/etc/mysql/mariadb.conf.d/`. + +Renommez le fichier en `80-centreon.cnf` : + +```shell +mv centreon.cnf 80-centreon.cnf +``` + +MariaDB doit écouter toutes les interfaces au lieu de localhost/127.0.0.1, qui est la valeur par défaut. +Éditez le fichier suivant : + +```shell +/etc/mysql/mariadb.conf.d/50-server.cnf +``` + +Définissez le paramètre **bind-address** à **0.0.0.0** et redémarrez mariadb. + +```shell +systemctl restart mariadb +``` + +Il est nécessaire de modifier la limitation **LimitNOFILE**. Changer cette +option dans `/etc/mysql/mariadb.cnf` ne fonctionnera pas. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +Si le service MariaDB échoue lors du démarrage, supprimer les fichiers +*ib_logfile* (MariaDB doit absolument être stoppé) puis redémarrer à +nouveau MariaDB: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +Si vous utilisez un fichier de socket spécifique pour MariaDB, modifiez le +fichier `/etc/mysql/mariadb.cnf` et dans la section [client], ajoutez : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +### Sécuriser la base de données + +Il est obligatoire de sécuriser l'accès root de la base de données avant d'installer Centreon. +Si vous utilisez une base de données locale, exécutez la commande suivante sur le serveur central, sinon sur le serveur de base de données : + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +- Répondez **oui** à toutes les questions, sauf à "Disallow root login remotely?" +- Il est obligatoire de définir un mot de passe pour l'utilisateur **root** de la base de données. Vous aurez besoin de ce mot de passe pendant l'[installation web](../installation/web-and-post-installation.md). + +> Pour plus d'informations, veuillez consulter la [documentation officielle de MariaDB](https://mariadb.com/kb/en/mysql_secure_installation/). + +#### Commencer à configurer + +Vérifiez que le MariaDB de reporting est bien démarré puis lancez les +commandes ci dessous et répondez aux questions: + +```shell +/usr/share/centreon-bi/config/install.sh +``` + +Le script gère l'échange de clés SSH entre le serveur de supervision et le serveur de reporting, et configure la règle de publication SFTP par défaut +afin de publier les rapports sur l'interface web Centreon. Enfin, il active la sauvegarde et démarre le service CBIS. + +Une fois l'installation terminée, poursuivez au chapitre suivant pour configurer l'ETL. + +#### Problème avec l'échange de la clé SSH + +Dans quelques cas, l'échange de clés SSH échoue. +Afin de résoudre le problème, procédez manuellement comme suit : + +Connectez-vous avec l'utilisateur `centreonBI` : + +```bash +su - centreonBI +``` + +Ensuite, générez une clé SSH : + +```bash +ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519 -P "" -q +``` + +Et affichez la clé publique générée (afin de l'autoriser ensuite sur Centreon) : + +```bash +cat /home/centreonBI/.ssh/id_ed25519.pub +``` + +Maintenant, **sur le serveur de supervision** : + +Créez un dossier `.ssh` dont `centreonBI` sera propriétaire, restreingez les droits sur ce fichier et collez dans le fichier `authorized_keys` le contenu de sa clé publique sur le serveur de reporting (affichée précédemment) : + +```bash +mkdir -p /home/centreonBI/.ssh/ && chown centreonBI: /home/centreonBI/.ssh/ && chmod 700 /home/centreonBI/.ssh/ && echo "@contenu de la clé publique@" > /home/centreonBI/.ssh/authorized_keys +``` + +L'échange de clés doit enfin être validé par une première connexion qui acceptera la signature du serveur SSH. +En tant que l'utilisateur `centreonBI` **depuis le serveur de reporting** : + +```bash +ssh centreonBI@@MONITORING_SERVER@ +``` + +Vous pouvez maintenant quitter la session `centreonBI` avec `exit` ou `Ctrl-D`. + +Pour continuer, relancez le script d'installation (`/usr/share/centreon-bi/config/install.sh`) comme ci-dessus et répondez **Oui** lorsqu'on vous demande de procéder à l'échange de clés SSH. +Vous aurez une erreur lors de la création de l'USER car il existe déjà. Ce n'est pas une étape bloquante. + +### ETL : Configuration + +Centreon MBI intègre un ETL qui permet de : + +- Synchroniser les données brutes de la supervision vers le serveur de + reporting +- Alimenter les bases de données du serveur de reporting avec les + données statistiques +- Contrôler la rétention des données sur le serveur de reporting + +Avant de passer aux étapes suivantes, il est nécessaire de lire le chapitre des [bonnes pratiques](concepts.md#bonnes-pratiques-de-supervision) afin de +vous assurer que la configuration des objets dans Centreon (groupes, catégories...) est conforme aux attentes de Centreon MBI. + +Dans le menu `Rapports > Monitoring Business Intelligence > Options générales > Options de l'ETL`, spécifiez les options +suivantes : + +| Option | Valeurs | +|------------------------------------------------------------------------------------------------------------------------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **Options générales** | | +| Une base de données MariaDB dédiée au reporting a été mise en place. | Oui. Vous devez avoir un serveur de reporting dédié. | +| Espace de stockage des fichiers temporaires sur le serveur de reporting * | Dossier sur le serveur de reporting dans lequel les dumps de données seront positionnés | +| Type de statistiques à traiter | Sélectionnez « Disponibilité uniquement » si vous utilisez uniquement les rapports de disponibilité. Sélectionnez « Performance et capacité uniquement» si vous souhaitez utiliser uniquement les rapports de capacité et de performance. Sélectionnez «Tous» afin de calculer les statistiques pour les deux types de rapports. | +| Activer le stockage des tables temporaires en mémoire (uniquement si la mémoire physique allouée au serveur de reporting est suffisante) | Activé uniquement si votre configuration MariaDB et la mémoire physique allouée au serveur de reporting le permet. | +| **Sélection du périmètre du reporting** | | +| Groupes d'hôtes | Sélectionnez les groupes d’hôtes pour lesquels vous souhaitez conserver les statistiques. | +| Catégories d'hôtes | Sélectionnez les catégories d’hôtes pour lesquels vous souhaitez conserver les statistiques. | +| Catégories de services | Sélectionnez les catégories de services pour lesquels vous souhaitez conserver les statistiques. | +| **Calcul des données de disponibilité** | | +| Sélectionner les plages de services pour le calcul des statistiques de disponibilité | Plages horaires (time periods) pour lesquelles les calculs de disponibilité des hôtes et des services sont réalisées | +| **Calcul des données de performance et de capacité** | | +| Granularité des données statistiques à calculer | Sélectionnez le ou les niveaux de granularité pour le calcul des données de performance (1) | +| Sélectionner les plages de services pour le calcul des statistiques de performance | Plages horaires sur les jours de la semaine pris en compte dans le calcul des données de capacité et de performance | +| **Capacity statistic aggregated by month** | | +| Sélectionne la plage de service 24h/24, 7j/7 pour le calcul des statistiques mensuelles de capacité | Sélectionnez la plage horaire 24x7. | +| Sélectionner les catégories de services liées aux indicateurs de capacité | Sélectionnez les catégories de services ayant été rattachés à des services de type capacité | +| Exclure les métriques qui ne renvoient pas une indication d'utilisation des espaces de stockage | Concerne uniquement les métriques liées aux services qui renvoient une information de capacité. Sélectionnez uniquement les métriques qui donnent une valeur maximale ou une valeur totale de capacité et non une valeur d’utilisation. (Par exemple, la métrique “ size ” returnée par le plugin check_centreon_snmp_remote_storage ») | +| **Paramètres pour le calcul des centiles** | | +| Calculating centile aggregation by | Sélectionnez la granularité des calculs. Le rapport de trafic fourni en standard avec BI 2.1 utilise les données au Mois. | +| Sélectionner les catégories de services sur lesquelles aggréger les données | Sélectionnez uniquement les catégories de services pertinentes (Ex: Traffic) | +| Premier jour de la semaine | Sélectionnez le premier jour à considérer pour les statistiques à la semaine | +| Créer les combinaisons centile-plage horaire qui couvrent vos besoins (Format du centile : 00.0000) | Créez des combinaisons centile/plage horaire sur lesquels les statistiques seront effectuées | + +**(1)** Les rapports nécessitant une granularité des données à l'heure sont listés ci-dessous. +Si vous ne souhaitez pas utiliser ces rapports,désactivez le calcul des statistiques à l'heure: + +- Hostgroup-Host-details-1 + +- Host-detail-v2 +- Hostgroup-traffic-Average-Usage-By-Interface +- Hostgroup-traffic-by-Interface-And-Bandwith-Ranges + +### ETL: Rétention de données + +Le serveur de reporting contient des tables de statistiques spécifiques à Centreon MBI dans la base de données "centreon_storage". +L'espace de stockage utilisé par ces tables augmente chaque jour. Il est possible de contrôler la taille de ces tables en définissant +des règles de rétention des données. + +Sous **Rapports > Monitoring Business Intelligence > Options Générales > Options de rétention des données**, +la rétention des données peut être gérée par : + +- Type de données (disponibilité, performance). +- Granularité des données (données brutes, valeurs horaires, quotidiennes ou mensuelles). + +> Avant d'activer les options de rétention de données, vérifiez que le moteur de reporting +> utilise un serveur MariaDB dédié, et que l'option correspondante est réglée sur +> **Oui** dans le menu **Reporting > Business Intelligence > Options générales Options ETL**. + +Activez la gestion de la rétention des données en sélectionnant **Oui**, puis définissez les options de la configuration (exemple ci-dessous). + +![image](../assets/reporting/installation/bi_retention.png) + +Pour activer la purge automatique des anciennes données, modifiez le fichier cron +**/etc/cron.d/centreon-bi-purge** sur le serveur de reporting, puis décommentez la ligne suivante : + +```shell +#0 20 * * * root @CENTREON_BI_HOME@/*etl*/dataRetentionManager.pl >> @CENTREON_BI_LOG@/dataRetentionManager.log 2>&1 +``` + +Évitez les périodes prévues pour les calculs statistiques avec Centreon MBI ETL et les générations de rapports. + +Vous pouvez exécuter ce cron quotidiennement ou hebdomadairement, en fonction du temps d'exécution du batch et de la charge générée sur le serveur. + + + + +Redémarrez le service cron : + +```shell +systemctl restart crond +``` + + + + +Redémarrez le service cron : + +```shell +systemctl restart cron +``` + + + + +**BONNES PRATIQUES** : Sélectionnez différentes périodes de rétention en fonction de la granularité des données statistiques: + +- Les valeurs agrégées par heure sont utilisées pour analyser une métrique sur une courte période, elles prennent + beaucoup d'espace sur le disque. Vous n'aurez peut-être pas besoin de conserver ces statistiques plus de deux ou trois mois. +- Au-delà de cinq ou six mois, vous n'aurez peut-être besoin que de visualiser la tendance pour lesstatistiques de disponibilité ou de performance. + Vous pourriez alors conserver lesdonnées agrégées quotidiennes pendant un maximum de six mois, par exemple, etconfigurer la conservation des données + agrégées mensuelles pour une période de plusieurs dizaines de mois. + +Veuillez passer à la section suivante pour continuer l'installation. + +### ETL : Execution + +> Avant de continuer, assurez-vous que vous avez installé le fichier de configuration MariaDB comme indiqué ci-dessus dans les prérequis. +> Configurez et activez la rétention des données afin que seules les données requises soient importées et calculées. + +#### Reconstruction des statistiques à partir des données historiques + +Exécutez la commande suivante sur le serveur de reporting. Celle-ci va : + +- Supprimer toutes les données existantes du serveur de reporting. +- Importer les données de supervision brutes du serveur de supervision vers le serveur de reporting (en fonction des paramètres de rétention). +- Remplir les tables contenant les statistiques de disponibilité des hôtes et des services. +- Remplir les tables contenant les statistiques de performance et de capacité des hôtes et des services. + +```shell +/usr/share/centreon-bi/bin/centreonBIETL -r +``` + +#### Activer l'exécution quotidienne du script + +Une fois le processus de reconstruction des données terminé, vous pouvez activer le calcul des +statistiques. +Sur le serveur de reporting, éditez le fichier **/etc/cron.d/centreon-bi-engine** et décommentez la ligne suivante : + +```shell +#30 4 * * * root /usr/share/centreon-bi/bin/centreonBIETL -d >> /var/log/centreon-bi/centreonBIETL.log 2>&1 +``` + + + + +Redémarrez le service cron sur le serveur de reporting : + +```shell +systemctl restart crond +``` + + + + +Redémarrez le service cron sur le serveur de reporting : + +```shell +systemctl restart cron +``` + + + + +> Assurez-vous que le batch **centreonBIETL** ne démarre qu'une fois que le batch **eventReportBuilder** est terminé sur +> le serveur de supervision (consultez le fichier cron **/etc/cron.d/centreon** sur le serveur de supervision). + +L'installation de Centreon MBI est maintenant terminée, consultez [le tutoriel](../getting-started/analyze-resources-availability.md). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/introduction.md new file mode 100644 index 000000000000..e3b12ca9fb53 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/introduction.md @@ -0,0 +1,90 @@ +--- +id: introduction +title: Introduction à Centreon MBI +--- + +## Reporting complet: Centreon MBI + +La fonctionnalité de "Reporting" de Centreon se base sur l'extension appellée +"Centreon Monitoring Business Intelligence" (Centreon MBI) + +Une fonctionnalité de reporting est également disponible dans la version open source de Centreon. Plus d'information ci-dessous + +> Centreon MBI est une **extension** Centreon qui requiert une [licence](../administration/licenses.md) valide. Pour plus d'information, +> contactez [Centreon](mailto:sales@centreon.com). + +Centreon Monitoring Business Intelligence est une solution d'aide à la +décision et facilite la gestion de votre infrastructure IT. Centreon MBI +vous apporte une visibilité complète sur vos infrastructures et vos +activités avec un reporting aux normes ITIL sur les évènements, les +compteurs de performances ainsi que les données de capacité provenant de Centreon. + +Vous pouvez suivre la santé de votre SI grâce à de nombreux modèles de +rapports paramétrables + +![image](../assets/reporting/first_page.png) + +Centreon MBI fournit un ensemble complet de rapports standards sur: + +- La gestion de capacité +- La gestion de disponibilité +- La gestion des niveaux de services (SLA : Service Level Agreement) + management +- La gestion des performances + +**Voici quelques exemples de rapports disponibles dans Centreon MBI** : [Exemple de rapports](../assets/reporting/Centreon-MBI-Exemples-de-rapports.pdf) + +Et également grâce à de nombreux widgets de reporting exploitables +directement sur Centreon + +![image](../assets/reporting/dashboard.png) + +Principales fonctionnalités: + +- Planification et génération des rapports aux formats PDF, Excel, + Word et PPT +- Visualisation web & interactive des statistiques grâce aux widgets + fournis exploitables directement sur Centreon +- Publication des rapports par email et par d'autres protocoles + standards (FTP, CIFS, ...) +- Gestion des listes de contrôle d'accès +- Interface d'administration et d'exploitation intégrée dans + Centreon +- Bibliothèques de développement de rapports + +## Reporting simple + +Les rapports de disponibilités des objets accessibles via l'interface web Centreon +permettent de visualiser de manière intuitive le taux de disponibilité d'un hôte, +d'un groupe d'hôtes ou d'un groupe de services sur une période de temps donnée. + +Pour visualiser le rapport de disponibilité d'un 'hôte : + +- Rendez-vous dans le menu **Rapports > Tableau de bord** +- Dans le menu de gauche, sélectionnez **Hôte** +- Sélectionnez l'hôte désiré dans la liste déroulante **Hôte** + +![image](../assets/reporting/os-reporting/os-host-reporting.png) + +* La liste **Période de génération** permet de choisir la période de temps sur laquelle on souhaite visualiser le taux de disponibilité. Il est possible de sélectionner une période prédéfinie via la liste déroulante ou de sélectionner manuellement sa période en définissant les champs **Du** et **Au** +* Le tableau **Etat de l'hôte** permet de visualiser le taux et la durée de disponibilité associé par état de l'objet +* Le tableau **Statuts des éléments du rapport** permettent de visualiser la disponibilité des services associés à l'hôte suivant leurs statuts +* La frise chronologique permet de visualiser de manière intuitive le statut de l'objet au court du temps + +![image](../assets/reporting/os-reporting/os-host-timeline.png) + +De plus, en cliquant sur une journée de la frise chronologique, vous obtenez le rapport de la journée : + +![image](../assets/reporting/os-reporting/os-host-tooltip.png) + +Il est également possible de visualiser des rapports web pour : + +- Les groupes d'hôtes : Cliquez sur **Groupes d'hôtes** dans le menu de gauche +- Les groupes de services : Cliquez sur **Groupes de services** dans le menu de gauche + + +L'icône CSV permet d'exporter les données du rapport au format CSV. + +![image](../assets/reporting/os-reporting/os-csv.png) + +> Cliquez sur le service d'un hôte dans le rapport de disponibilité de l'hôte pour obtenir un rapport détaillé du service. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/migrate.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/migrate.md new file mode 100644 index 000000000000..3dcb13137fe8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/migrate.md @@ -0,0 +1,59 @@ +--- +id: migrate +title: Migrer l'extension +--- + +Cette section explique comment migrer votre serveur de reporting vers un +nouveau serveur (par exemple si vous voulez passser à un OS supporté). + +La migration de l'interface se fait en même temps que la migration du serveur Centreon (voir [ce chapitre](../migrate/introduction.md)). + +## Installer le nouveau serveur de reporting + +Installer le nouveau serveur de reporting sur le nouvel OS, installer +le dépôt Centreon Business et utiliser la documentation d'[installation](installation.md). + +## Synchroniser les données + +Stopper mysqld sur les **deux** serveurs de reporting: + + service mysql stop + +Copier les fichiers à partir de l'ancien serveur de reporting vers le +nouveau: + + rsync -avz /var/lib/mysql/* root@IP_New_Reporting_Server:/var/lib/mysql/ + +Lancer la commande suivante pour assurer la compatibilité des données: + + mysql_upgrade + +- Si aucune erreur n'apparaît, redémarrez MariaDB/MySQL et continuez à la + section ci-dessous "Déplacer les rapports générés". +- Si des erreurs sont visibles, notamment sur les tables mysql + innodb\_index\_stats, innodb\_table\_stats, gtid\_slave\_pos, cela + peut être dû à une incompatibilité entre MySQL/MariaDB 5.5 et + MariaDB 10.11. Dans ce cas, effectuer les actions suivantes: + + service mysql stop + cp -a /var/lib/mysql/ /var/lib/mysql.bak + cd /var/lib/mysql/mysql/ + rm innodb_index_stats.frm innodb_index_stats.ibd innodb_table_stats.frm innodb_table_stats.ibd gtid_slave_pos.frm gtid_slave_pos.ibd + service mysql start + + Puis recréer les tables manuellement en utilisant la commande suivante: + + mysql mysql < repair_mysql_upgrade.sql + + Téléchargez le fichier ici : [repair_mysql_upgrade.sql](../assets/reporting/administrate/repair_mysql_upgrade.sql). + +> Si vous aviez développé des rapports & bibliothèques personnalisées, +> pensez à les copier dans les mêmes dossiers sur votre nouveau serveur de reporting. + +## Déplacer les rapports générés + +Synchroniser les rapports générés sur votre ancien serveur Centreon vers +le nouveau pour être en mesure de les consulter via l'interface. +Connectez vous sur l'ancien serveur Centreon puis: + + rsync -avz /var/lib/centreon/centreon-bi-server/archives/ root@IP_New_Centreon_Server:/var/lib/centreon/centreon-bi-server/archives/ diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/report-development.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/report-development.md new file mode 100644 index 000000000000..3db91bb463ae --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/report-development.md @@ -0,0 +1,703 @@ +--- +id: report-development +title: Dév. de rapport +--- + +Compatibilité : BIRT 4.4.2 + +Ce guide a pour but de présenter les bonnes pratiques sur la mise en +place d'un projet de reporting BIRT. Cette documentation s'adresse à +des profils techniques qui souhaitent développer des rapports avec BIRT +et Centreon MBI. Des connaissances en langage SQL sont requises. Dans ce +guide vous trouverez : + +- Les principaux concepts de BIRT +- Les différentes étapes de création d'un projet de rapport sous BIRT + +Cette documentation ne décrit pas la réutilisation des bibliothèques de +développement de Centreon MBI. + +BIRT est un outil de création de rapport. Il permet de : + +- S'interconnecter à des sources de données multiples +- Extraire des données pertinentes à partir de ces sources +- Présenter visuellement ces données + +![image](../assets/reporting/dev-guide/1000000000000454000001517ADB9749.png) + +BIRT vous permet de visualiser vos données métiers dans des tableaux ou +des graphiques statistiques. Même si BIRT permet de connecter +différentes sources de données dans le même rapport, cette utilisation +n'est pas recommandée dans le cadre de calculs complexes ou +d'agrégations. Dans ces situations, l'utilisation d'un ETL (Extract +Transform Load) est plus adaptée. + +Cette documentation aborde uniquement les concepts BIRT ainsi que le +développement de rapports (la zone bleue dans le schéma ci-dessus). + + +## Concepts de BIRT + +### Les sources de données "Data sources" + +La conception d'un rapport peut nécessiter plusieurs sources de données +issues de différents systèmes de stockage et accessibles par différents +protocoles : + +- Fichiers plats (CSV) +- sources de données JDBC (MariaDB, ...) +- documents XML +- services Web + +BIRT vous permet aussi de développer vos propres sources de données +alimentées par des objets Java ou Javascript. + +Cependant, il est fortement recommandé de collecter, consolider et +stocker vos données de reporting dans un seul type de sources de données +(source de données MariaDB par exemple, avec peut-être plusieurs +connexions à la base de données). Multiplier les sources de données dans +un rapport entraînera des problèmes de performances et de +maintenabilité. Il est conseillé d'utiliser au maximum deux types de +sources de données différents dans le même projet de reporting BIRT (par +exemple : JDBC et CSV). + +Configuration d'une source de données: + +![image](../assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png) + +### Les jeux de données "Data sets" + +Vous avez la possibilité d'extraire des échantillons de données d'une +base de données ou d'un important fichier CSV. Le « data set » BIRT +vous permet de sélectionner des données spécifiques depuis des sources +de données plus ou moins complexes. + +Les différents « data sets » propres à un rapport contiennent toutes les +données nécessaires pour construire les éléments visuels du rapport +(tableaux, graphiques,...). + +![image](../assets/reporting/dev-guide/100000000000053D00000175C278E199.png) + +### Liens de données "Data binding" + +Une fois les « data sets » créés, les données doivent être formatées +dans le rapport. Pour obtenir un graphique ou un tableau contenant des +données, il est nécessaire de réaliser un lien de données entre un "data +set" et un composant graphique qui peut être un tableau ou un objet +graphique. + +Le lien de données copiera la structure du « data set » dans la +configuration du composant visuel présenté dans le rapport. Il n'est +pas nécessaire de copier la structure complète d'un « data set », +seules les colonnes nécessaires peuvent être copiées. Le lien de données +est réalisé lors de l'ajout d'un nouveau composant : + +![image](../assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png) + +Si la structure du « data set » est modifiée, il est nécessaire de +mettre à jour manuellement la structure du composant graphique pour +appliquer les modifications. + +![image](../assets/reporting/dev-guide/1000000000000350000001F5878A240B.png) + +### Paramètres du rapport + +Les paramètres de rapports sont des variables globales spécifiques à +chaque rapport. Initialisées juste avant la génération du rapport, ils +permettent de faire varier le contenu d'un rapport. Par exemple: + +- Spécifier deux paramètres de date qui permettent de générer les + rapports sur différentes périodes de reporting +- Dans le cas d'un rapport Centreon MBI, préciser en paramètre un + groupe d'hôte pour lequel le rapport sera généré + +Ainsi, un même rapport pourra présenter différentes statiques en +fonction des paramètres. + +### Mise en page du rapport + +#### Grille + +Le composant grille « grid » est principalement utilisé pour +l'agencement des composants graphiques dans un rapport. + +Bonne pratique : placer chaque composant graphique du rapport dans une +cellule d'une grille. + +![image](../assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png) + +#### Tableau + +##### Structure d'un tableau + +Le tableau « table » permet d'afficher des statistiques organisés par +lignes et colonnes. + +Le tableau nécessite une liaison de données avec un « data set » +permettant ainsi l'affichage de contenu dynamique. + +![image](../assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png) + +- **En-tête (header row)** : affiche le titre de la colonne ou des + statistiques calculées à partir du contenu listé dans les lignes de + détail. Cette ligne peut être répétée à chaque début de nouvelle + page si le tableau s'étend sur plusieurs pages. +- **Détail (detail row)** : Cette ligne est répétée pour chaque ligne + (occurence) du « data set » auquel est lié le tableau. +- **Pied du tableau (footer row)** : Inséré en fin du tableau, cette + ligne permet également de calculer des statistiques en fonction des + données listées dans les lignes de détail. + +##### Groupement et agrégation de données + +Un « data set » peut retourner beaucoup de lignes. Il est alors utile de +pouvoir les trier, organiser et créer des sous-ensembles grâce aux +fonctionnalités de groupage de données. Chaque groupe ajoutera 2 lignes +: + +- **En-tête du groupe (group header)**: initialise et identifie chaque + sous-ensemble. Permet également de réaliser des calculs statistiques + liés à ce sous-ensemble de données +- **Pied du groupe (group footer)** : indique la fin de chaque + sous-ensemble. Permet également de réaliser des calculs statistiques + liés à ce sous-ensemble + +![image](../assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png) + +### Graphiques + +La création d'un graphique (ou diagramme) se fait en 3 étapes: + +#### Choix du type de graphique + +![image](../assets/reporting/dev-guide/10000000000004390000025A137B95A5.png) + +#### La liaison de données + +Le « data binding » avec un diagramme peut être réalisé de deux manières +: + +- Lier directement un « data set » au graphique +- Insérer le graphique dans une cellule de tableau permettant ainsi la + liaison de données par héritage avec le « data set » du tableau » + +![image](../assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png) + +L'héritage des données du composant parent est nécessaire lorsque l'on +souhaite réutiliser les groupes et agrégations réalisées dans le +composant parent. Les fonctions d'agrégations et de groupage sont +beaucoup plus limitées dans le composant graphique. + +#### Mise en forme + +![image](../assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png) + +### Les bibliothèques BIRT + +Un rapport peut contenir un grand nombre d'objets. Il peut être +nécessaire de ré-utiliser des composants développés pour un rapport +spécifique dans de nouveaux rapports. Pour éviter de re-développer un +même composant dans plusieurs rapports, il est possible de stocker ce +composant dans une bibliothèque partagée et instancier cet élément +chaque fois qu'il est nécessaire. + +Les bibliothèques BIRT (fichiers *.rptlibrary) contiennent des objets +qui seront partagés entre plusieurs rapports. Avantages : + +- gain de temps sur le développement de rapport +- maintenance simplifiée : La mise à jour d'un composant dans la + bibliothèque sera appliqué à tous les rapports utilisant ce + composant +- un composant issu d'une bibliothèque peut être surchargé dans un + rapport afin d'en modifier l'apparence ou les paramètres + +Principe de fonctionnement : + +- chaque projet de rapport a un dossier spécifique contenant toutes + les ressources partagées et accessible via un chemin relatif + (images, bibliothèques, CSS, ...) +- l'explorateur de ressources de Eclipse BIRT permet de naviguer dans + ces ressources et important les composants nécessaires grâce à un « + glissé déposé » dans le rapport +- les composants importés des bibliothèques sont identifiés dans le + rapport à l'aide d'une icône spécifique + +![image](../assets/reporting/dev-guide/10000000000003340000018F33DF4032.png) + +### Les modèles BIRT + +Le modèle de rapport (fichier .rpttemplate) est très différent de la +bibliothèque BIRT. L'objectif du modèle est de fournir un point de +départ pour la création d'un nouveau rapport. Le modèle peut contenir: + +- une mise en page spécifique +- les en-têtes et pieds de page (« master pages » ) +- les sources de données +- les « data sets » +- des composants graphiques +- des scripts + +Chaque composant utilisé systématiquement dans chaque nouveau rapport +peut être stocké dans un modèle. Ces composants peuvent également +provenir d'une bibliothèque BIRT. + +Le rapport créé à partir d'un modèle ne garde aucun lien avec le modèle +utilisé : le contenu d'un modèle est dupliqué dans le nouveau rapport. +Ainsi, une modification apportée au modèle n'aura pas d'impact sur les +rapports déjà créés à partir de ce dernier. + + +## Créer un environnement de developpement + +### Créer un espace de travail ( Workspace) + +Au démarrage d'Eclipse, il est nécessaire de créer un espace de travail +qui pourra contenir par la suite (si nécessaire) plusieurs projets de +rapport BIRT. Il est conseillé de sélectionner un espace de travail +différent du répertoire d'installation de Eclipse BIRT. Cette +configuration permettra de changer plus facilement de version logiciel +de BIRT tout en conservant les projets déjà créés. + +Une fois l'espace de travail créé et avant de commencer la création du +rapport, un projet de type « BIRT project » doit être créé. Il doit +également contenir les deux répertoires suivants : + +- « reports » : contiendra tous les rapports (fichiers .rptdesign) +- « Ressources » : contiendra tous les fichiers et composants qui + seront partagés à vos rapports en spécifiant un chemin d'accès + relatif depuis ce répertoire. + +### Créer un nouveau projet + +Pour créer un projet BIRT, sélectionnez « File > New > Other projects +», puis, dans l'assistant, sélectionnez « report project ». + +![image](../assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png) + +Une fois le projet créé, ajoutez les deux dossiers principaux via un +clic droit sur le projet dans l'onglet « navigator » : + +![image](../assets/reporting/dev-guide/1000000000000565000001F097833544.png) + +Copier mainteant le contenu des répertoires reports +*(/usr/share/centreon-bi/reports)* et resources +*(/usr/share/centreon-bi/Resources)* de votre serveur de reporting dans +les 2 répertoires qui viennent d'être créés dans le projet. + +#### Le dossier de ressources + +Pour chaque projet BIRT créé dans cet espace de travail, il sera +nécessaire de définir dans les propriétés du projet la localisation du +dossier « Resources » associé + +![image](../assets/reporting/dev-guide/10000000000003340000018F33DF4032.png) + +La spécification de ce dossier dans les propriétés du projet permet +l'accès aux composants partagés. Ces composants (data sources, data +sets, paramètres de rapports, composant graphique, composant des +bibliothèques BIRT, mais aussi modèles et images ou fichiers plats +stockés dans ce répertoire), seront instanciés dans les rapports +(.rptdesign) via le panneau « Ressource Explorer » : + +Chaque composant importé dans un rapport (.rtpdesign) depuis les +ressources partagées sera référencé par un chemin relatif. Ainsi, il +sera possible de migrer le projet vers un autre espace de travail ou sur +un serveur de reporting Centreon MBI sans se préoccuper des chemins +d'accès. Par exemple, le fait que l'espace de travail soit situé dans +« mes documents/MonProjet » n'a pas d'importance. Seuls les +sous-dossiers et fichiers du projet doivent être figés. + +Pour définir le dossier contenant les ressources partagés dans un +projet, faites clic-droit sur votre projet dans le panneau « Navigator » +puis cliquez sur « properties ». Définissez l'accès au dossier par : +"`/Resources/`". La variable "``" +est initialisée automatiquement par Eclipse en fonction du projet courant. + +![image](../assets/reporting/dev-guide/10000000000003600000025556C97DB4.png) + +> Cette manipulation devra être réalisée à chaque fois : +> +> - qu'un nouveau projet est créé +> - qu'un projet existant est important dans un nouvel espace de +> travail (« workspace ») + +### Connexion aux bases de données + +#### Introduction + +Les informations de connexion aux bases de données sont définis dans les +fichiers : + +- /etc/centreon-bi/cbis-profile.xml +- /etc/centreon-bi/reports-profile.xml + +Récupérez ces 2 fichiers et copiez-les sur votre poste de travail. + +Modifiez les adresses IPs des 2 fichiers. Dans chaque fichier, il faut +mettre à jour l'adresse à 2 endoits: une pour la base de centreon, et +une pour la base centreon_storage. + +- Le fichier cbis-profile.xml doit contenir les adresses IPs du + serveur de base de données de supervision +- Le fichier reports-profile doit contenir les IPs du serveur de base + de données de reporting + +Modifiez les noms d'utilisateurs et mots de passe présents dans le +fichier si necessaire. + +Autorisez la connexions aux serveurs définis dans les 2 fichiers de +profile depuis votre poste de travail. + +#### Configuration de la bibliothèque L2_datasources + +> **Important** +> +> Ne remplacez jamais le fichier L2_datasources sur le serveur de +> reporting par celui sur votre poste. Vous écraseriez la configuration +> vers les bases et rendriez Centreon MBI non fonctionnel (génération de +> rapports, ETL). + +Tous les rapports utilisent la bibliothèque L2_datasources pour se +connecter aux données. Il suffit donc de faire pointer cette +bibliothèque vers les bons serveurs ( bases de données du serveur de +supervision et bases de données du serveur de reporting). + +Nous lions ensuite la bibliothèque L2_datasources aux fichiers de +profile récupérés dans votre poste de travail et édités. + +Pour cela, double cliquez sur la bibliothèque L2_datasource. Cette +dernière s'ouvre dans l'espace de travail. + +![image](../assets/reporting/dev-guide/db_conn_1.png) + +![image](../assets/reporting/dev-guide/db_conn_2.png) + +Cliquez sur "outline", et dérouler les Data Sources + +![image](../assets/reporting/dev-guide/db_conn_3.png) + +Il s'agit ici de tous les datasources utilisés dans les rapports +standard MBI.* + +Double cliquez sur le data source Centreon, la pop-up suivante s'ouvre: + +![image](../assets/reporting/dev-guide/db_conn_4.png) + +Dans "Connection Profile Store" Selectionnez le chemin du fichier +report-profile.xml de votre poste de travail et validez. + +La popo-up suivante s'ouvre: + +![image](../assets/reporting/dev-guide/db_conn_5.png) + +Dans la zone texte, l'ensemble des sources de données présentes dans le +fichier sont listés. + +Dans ce cas, 2 sources de données sont listées: - Censtorage - Centreon + +Selectionnez Centreon puis cliquez sur "BIRT JDBC Data Source" + +![image](../assets/reporting/dev-guide/db_conn_6.png) + +Les informations présentes dans le fichier XML seront reprises. + +Cliquez sur Test Connection pour vérifier la connexion à la base +centreon. + +Vous derriez avoir un message de connexion réussie: + +![image](../assets/reporting/dev-guide/db_conn_7.png) + + +> En cas de message d'erreur faisant réference au Driver manquant, pensez +> à rajouter le driver MariaDB/MySQL (.jar) dans menu manage driver. + +![image](../assets/reporting/dev-guide/db_conn_8.png) + +![image](../assets/reporting/dev-guide/db_conn_9.png) + +Cette action est à effectuer une seule fois dans le projet. +::: + +**Refaire la même chose pour les datasources: centreon_storage, +centreon_live et centreon_storage_live** + + Datasource | Fichier de profile | Profil à sélectionner +----------------|-----------------------|--------------------------- + Censtorage | reports-profile.xml | Censtorage +Centreon_Live | cbis-profile.xml | Centreon +Censtorage_Live | cbis-profile.xml | Censtorage + +### Générer un rapport standard + +Pour générer un rapport standard depuis l'environnement de +développement, il suffit d'ouvrir le rapport en question en double +cliquant dessus. + +![image](../assets/reporting/dev-guide/gen_report_1.png) + +Maintenant que le rapport est ouvert, cliquez sur le button "View +report" et selectionnez le format de sortie: + +![image](../assets/reporting/dev-guide/gen_report_2.png) + +Une pop-up demandant de renseigner les paramètres du rapport + +![image](../assets/reporting/dev-guide/gen_report_3.png) + +Le rapport sera donc généré sur le parimètre choisi (paramètres +renseignés) au format de sortie selectionné. + +![image](../assets/reporting/dev-guide/gen_report_4.png) + +## Développez vos rapports en utilisant le modèle fourni par Centreon + +### Utilisation du template generic_component + +Pour assurer la compatibilité des rapports que vous développez avec +Centreon MBI, vous devez démarrer le développement de tous vos rapports +en utilisant le modèle que nous fournissons. Ce modèle s'appelle +"generic_component_script.rpttemplate" et est stocké dans +"/usr/share/centreon-bi/Resources/templates" (par défaut). Il est +indispensable car il rajoute automatiquement du script nécessaire au +fonctionnement de votre rapport sur notre plateforme. + +Pour être en mesure d'utiliser ce modèle, vous devez : + +- Récupérer le fichier sur le serveur de reporting et le placer + dans le dossier "Resources/template" de votre projet BIRT : + "/Resources/templates/generic_component_script.rpttemplate" +- Faire un clique droit sur ce fichier et cliquer sur "Register + Template with New Report Wizard" + + ![image](../assets/reporting/dev-guide/registerTemplate.png) + +- Pour chaque nouveau rapport que vous créez, faites New->Report, +choisissez un nom puis cliquez sur "Next" pour accéder à la +fenêtre des modèles +- Sélectionnez alors le modèle appelé "Component Template" puis +cliquez sur "Finish" + + ![image](../assets/reporting/dev-guide/componentTemplate.png) + +### Définir la structure du projet + +Il est important d'identifier et définir des normes pour : + +- l'arborescence des rapports et ressources +- le nommage des dossiers et fichiers +- le nommage de composants dans les bibliothèques, modèles et + rapports. + +**Lorsque des normes basiques comme celles-ci ne sont pas respectées, il +devient très difficile de maintenir et faire évoluer les projets** + +Les prochains points de ce chapitre abordent les normes définies depuis +Centreon MBI 1.5.0. + +Votre rapport est près à être développé et sera compatible avec Centreon +MBI. + +### Modèle de rapport (RPTDESIGN) + +- Chaque rapport est stocké dans un dossier ou sous-dossier dont la + racine est le dossier « reports ». Les noms de ces dossier sont + définis selon le type des statistiques traitées : + - Capacité + - Disponibilité + - Performance +- Les rapports stockés à la racine du répertoire « reports » sont + dépréciés depuis la version 1.5 de Centreon MBI +- Chaque composant d'un rapport (composant graphique, dataset, ...) + est issu d'une bibliothèque BIRT. Le rapport réalise en majeure + partie l'intégration de ces différents composants +- Chaque rapport est créé à partir d'un modèle de rapport BIRT. Ce + modèle contient un « scripting » facilitant la gestion des + paramètres à sélection de valeurs multiples ainsi que la gestion des + thèmes. + +### Ressources + +Le dossier contenant les ressources partagées de Centreon MBI est +organisé en sous-répertoires : + +- images : contient les images utilisées dans le rapport +- templates : contient les modèles de rapports BIRT (.rpttemplate) + utilisés pour la création de nouveaux rapports +- translations: contient les fichiers de traduction des rapports +- components : contient toutes les bibliothèques BIRT (.rptlibrary) + organisées en sous-dossier selon une logique similaire au rapports + (capacité, ...). + +### Bibliothèques de composants + +Certaines bibliothèques sont stockées directement dans le dossier « +components », sans aucune classification par sous-dossiers. Ces fichiers +contiennent des composants ré-utilisés dans des rapports mais également +dans d'autres bibliothèques : + +- « datasources » : contient toutes les sources de données utilisées + dans le projet. Évitez de définir des « data sources » dans + plusieurs fichiers afin de simplifier la maintenance et la mise en + production +- « parameters » : contient tous les paramètres de rapports utiles +- « masterpages » : stocke les différents master qui sont ré-utilisés + dans les rapports + +Du fait du grand nombre de composants créés dans chaque bibliothèque, il +peut être compliqué de naviguer à travers ces fichiers pour retrouver un +composant. Pour simplifier cette recherche, il est conseillé de suivre +cette méthode : + +- Quel type de statistique recherchez vous ? + + ◦ Capacité ? Performance ? Disponibilité ? Ouvrez le sous-dossier + correspondant à votre besoin. + +- Sur quel type d'objet souhaitez vous faire le rapport ? + + ◦ Hôte ? Un groupe d'hôtes ? Plusieurs groupes d'hôtes ? Vous + trouverez cette information dans le nom du fichier « rtplibrary ». + +- Avez-vous besoin d'un « data set » ? Avec quels paramètres ? + + ◦ Tous les « data sets » sont listés dans le panneau « data explorer + » + + ◦ le nom de chaque « data set » est préfixé d'un code. Chaque digit + de ce code concerne un objet (hostgroup, host, service category, + host category, metric, timeperiod, ...) et varie de 0 à 2 : + + - 0 : l'objet n'est pas utilisé en tant que paramètre + + - 1 : une seule valeur est attendue + + - 2 : une liste de valeur est attendue + +- Avez-vous besoin d'un composant graphique ? Avec quels paramètres ? + + ◦ Tous les composants graphiques sont listés dans le sous-menu « + Report Items » de l'onglet « outline » + + ◦ Le nom de chaque composant commence avec un codage similaire aux + noms des « data sets » + + ◦ Le nom de chaque composant est suffixé avec le type du composant : + « chart », « table », « text », etc... + +> **Important** +> +> Attention, AUCUNE modification ne doit être faite sur les rapports et +> biblithèques standards. + +## Intégration d'un rapport dans Centreon MBI + +Centreon MBI permet de planifier et publier les rapports BIRT. Ainsi, +une fois que le développement du rapport est terminé, il n'est plus +nécessaire d'utiliser Eclipse à chaque fois qu'il est nécessaire +d'exécuter le rapport. Les utilisateurs non techniques pourront lancer +l'exécution de leurs rapports en quelques clics depuis l'interface +Centreon. + +Voici les étapes permettant d'obtenir ce résultat : + +### Créer le fichier XML de description des paramètres + +Chaque fichier RPTDESIGN que vous allez créer contient differents +paramètres. Afin de les afficher à travers l'interface de Centreon MBI +et avoir la possibilité de les utiliser, il faut définir un fichier XML +qui sera lu afin de générer l'onglet de paramètres dynamiquement. + +quand vous créez un nouveau modèle de rapport sur l'interface Centreon +MBI, vous devez lui associer le fichier XML des paramètres créé. Trois +types d'objet peuvent être définis dans ce XML: + +> - Balises de texte afin de permettre à l'utlisateur d'entrer son +> propore texte: +> - Balises de sélection simple: +> - Balises de sélection multiple: + +Chacune de ces balises peut avoir plusieurs attributs possibles: + + Attribut | Description |Text | Select | Multiselect + --------------|-------------------------------------------------------|-------|---------|----------------- + id | Nom du paramètre dans le rapport (report parameter) | X | X | X + title | Description affichée à côté du paramètre | X | X | X + data | Donnée à afficher dans ce paramètre | X | X + size | Taille du champs texte | X + + +Ci-dessous les possibles valeurs pour l'attribut **data**. + +> Les listes de sélection simples et multiples sont soumises aux ACLs de +> Centreon. Un utilisateur ayant des restrictions sur les ressources dans +> Centreon aura aussi ces restrictions dans Centreon MBI + + + **Valeur** + +- host +- hostgroup +- hostcategory +- servicegroup +- servicecategorie +- metric +- businessview +- businessactivity +- liveservice* +- timeperiodBA + +\**Liveservice correspond à la période de "service" ex: 24x7)* + + +> **Important** +> +> Si vous souhaitez utiliser notre propre système de récupération de dates +> et avoir le paramètre date ( cyclique ou à la demande) lié à votre +> rapport, vous devez utiliser 2 paramètres "connus": "dateStart" and +> "dateEnd". + +Voici un exemple du fichier XML associé au rapport (Host-detail-2): + +``` XML + + + + + + + +``` + +### Déploiement du rapport + +#### Sur le serveur de reporting + +Copiez le rapport sur le serveur de reporting. Le dossier principal de +Centreon MBI contient les dossiers « reports » et « Ressources ». +L'arborescence de vos rapports et de vos ressources sur le serveur de +reporting doit être similaire à celui de votre projet BIRT Eclipse. + +#### Sur le serveur de supervision + +Dans le menu « Reporting > Business Intelligence > Report designs » de +Centreon, ajoutez un nouveau modèle en définissant les propriétés +suivantes : + + - Un nom pour le report design + - Le chemin du report design sur le serveur + - Le fichier XML décrivant les paramètres du report design créer dans l'étape précedente + +### Execution du rapport + +Dans le menu « Reporting > Business Intelligence > Jobs », créer la +tâche (job) qui exécutera le report design précedemment créé et +compléter les paramètres spécifiques ce dernier. + diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/reports_publication_rule.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/reports_publication_rule.md new file mode 100644 index 000000000000..09703e08fa5f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/reports_publication_rule.md @@ -0,0 +1,99 @@ +Règles de publication des rapports {#publication_rules} +================================== + +Dans l\'interface Centreon, les règles définies dans la page "Reporting +\> Business Intelligence \> Publication rules" permettent de publier les +rapports sur différentes plate-formes via différents protocoles. + +Une règle de publication par « défaut », basée sur le protocole SFTP, +doit être définie afin de publier les rapports sur la plateforme de +supervision Centreon et rendre ces derniers accessibles depuis le menu +« Reporting \> Business Intelligence \> Archives ». + +Sur le serveur de supervision +----------------------------- + +Un utilisateur système « centreonBI » a été créé. Renseignez un mot de +passe pour cet utilisateur pour les futures connexions SSH entre les +deux serveurs : : + + passwd centreonBI + +Sur le serveur de reporting +--------------------------- + +Générez des clés SSH pour l\'utilisateur « centreonBI » afin d\'éviter +l\'utilisation d\'un mot de passe à chaque publication de rapport sur le +serveur de supervision : : + + su - centreonBI + ssh-keygen + Enter file in which to save the key (/home/centreonBI/.ssh/id_rsa): + > Created directory '/usr/local/centreon-bi/.ssh'. + > Enter passphrase (empty for no passphrase): + > Enter same passphrase again: + > Your identification has been saved in /home/centreonBI/.ssh/id_rsa. + +::: {.note} +::: {.title} +Note +::: + +A la question \"Enter passphrase\", confirmez sans mettre de passphrase. +::: + +Transférez la clé sur le serveur **Centreon**.L\'utilisateur +**centreonBI** sur le serveur Centreon doit être configuré avec un mot +de passe): : + + ssh-copy-id -i ~/.ssh/id_rsa.pub centreonBI@{MONITORING_IP_ADDRESS} + +Testez la connexion SSH depuis le serveur de reporting vers le serveur +de supervision : : + + ssh centreonBI@{MONITORING_IP_ADDRESS} + +Aucun mot de passe ne doit vous être demandé pour la connexion. + +Sur l\'interface Centreon +------------------------- + +Dans le menu "Reporting \> Business Intelligence \> Publication rules " +de Centreon, éditez la règle "Default" et spécifiez la configuration +suivante : + + ---------------------------------------------------------------------------- + **Field** **Value** + ---------------------------- ----------------------------------------------- + Name Default + + Publication protocol SFTP + + Global \(x\) Yes + + Description Default publication rule + + Host **\** + + Port 22 + + Authentication type User/Key + + User centreonBI + + Path to the SSH key /home/centreonBI/.ssh/id\_rsa + + Passphrase for SSH key + + Confirm passphrase for SSH + key + + Root directory /var/lib/centreon/centreon-bi-server/archives + + Subdirectory \@JOBNAME@ + ---------------------------------------------------------------------------- + +Cliquez sur le bouton « Test » pour valider la configuration puis +sauvegardez le formulaire. + +Poursuivez au chapitre suivant pour configurer l\'ETL. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/update.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/update.md new file mode 100644 index 000000000000..b8d1c3888006 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/update.md @@ -0,0 +1,90 @@ +--- +id: update +title: Mise à jour de l'extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +La mise à jour de Centreon MBI se fait en 2 étapes : + +- La mise à jour de Centreon MBI server (interface) +- La mise à jour du serveur de reporting + +## Mettre à jour l'interface + +1. Mettre à jour le paquet: se connecter sur le serveur Centreon et exécuter la commande suivante : + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +apt clean +apt --only-upgrade install centreon-bi\* +``` + + + + +2. Mettre à jour l'interface: Se connecter à l'interface web de Centreon et se rendre dans le menu + **Administration > Extension > Manager** puis cliquer sur le bouton de mise à jour de l'extension et des widgets. + +## Mettre à jour le serveur de reporting + +Premièrement, arrêtez le service d'ordonnancement (CBIS): + +```shell +systemctl stop cbis +``` + +Puis mettre à jour les paquets, en exécutant la commande suivante: + + + + +```shell +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +apt clean +apt --only-upgrade install centreon-bi\* +``` + + + + +Enfin, redémarrer le service d'ordonnancement: + +```shell +systemctl start cbis +``` + +> Suivez cette procédure si [vous obtenez une erreur due à un problème de mise à jour de colonne](../resources/known-issues.md#vous-obtenez-des-erreurs-lors-de-limport-journalier-et-calcul-des-statistiques) dans la base de données. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/upgrade.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/upgrade.md new file mode 100644 index 000000000000..fed4007d41ca --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/upgrade.md @@ -0,0 +1,166 @@ +--- +id: upgrade +title: Monter de version l'extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Lors d'une montée de version < 18.10.x vers une version >= 18.10.x, vous devez: +> +> - Récupérer une nouvelle licence via le support Centreon +> - Vous assurer que votre serveur de reporting est basé sur CentOS 7. Si ce n'est +> pas le cas, utilisez la procédure de [migration de votre serveur de +> reporting](migrate.md) + +La montée de version de Centreon MBI se fait en 4 étapes : + +- Montée de version du dépôt RPM +- Mise à jour de Centreon MBI server (interface) +- Mise à jour du serveur de reporting +- Mise à jour de la base MariaDB + +## Prérequis + +### Monter de version le serveur central + +Voir [Introduction à la montée de version](../upgrade/introduction.md). + +### Mettre à jour la clé de signature RPM + +Sous EL8, pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../security/key-rotation.md#installation-existante), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Étape 1 : Montée de version du paquet + +Lors d'une montée de version majeure (ex: 20.10.x à 24.10.x) il faut en premier lieu mettre à jour + le dépôt contenant les paquets. + +Vous trouverez ce dépôt depuis votre compte sur notre [platefome de support, à la page **Dépôts**](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +## Étape 2 : Mettre à jour l'interface + +1. Mettre à jour le paquet: se connecter sur le serveur Centreon et exécuter la commande suivante : + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +apt clean +apt install --only-upgrade centreon-bi-server +``` + + + + +2. Mettre à jour l'interface: se connecter à l'interface web de Centreon et se rendre dans le menu + **Administration > Extension > Manager** puis cliquer sur le bouton de mise à jour de l'extension et des widgets. + +## Étape 3 : Mettre à jour le serveur de reporting + +### Prérequis de la version Java + + > Assurez-vous qu'une version de Java 17 (ou 18) est installée avant de commencer la procédure. + + - Pour vérifier quelle version de Java est installée, entrez la commande suivante : + + ```shell + java -version + ``` + + - Pour une mise à jour de Java en version 17 (ou 18), allez sur la [page officielle de téléchargement d'Oracle](https://www.oracle.com/java/technologies/downloads/#java17). + + - Si plusieurs versions de Java sont installées, vous devez activer la bonne version. Affichez les versions installées avec la commande suivante puis sélectionnez la version 17 (ou 18) : + + ```shell + sudo update-alternatives --config java + ``` + + Puis redémarrez le service : + + ```shell + systemctl restart cbis + ``` + +### Procédure de montée de version + +Vous pouvez maintenant procéder à la montée de version : + +1. Premièrement, arrêtez le service d'ordonnancement (CBIS) : + + ```shell + systemctl stop cbis + ``` + +2. Puis mettez à jour les paquets, en exécutant la commande suivante : + + + + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +apt clean +apt install --only-upgrade centreon-bi-reporting-server +``` + + + + +3. Enfin, redémarrez le service d'ordonnancement : + + ```shell + systemctl start cbis + ``` + +4. Démarrez et activez **gorgoned**: + + ```shell + systemctl start gorgoned && systemctl enable gorgoned + ``` + +## Étape 4 : mise à jour de MariaDB + +1. Arrêtez le service **cbis** : + + ```shell + systemctl stop cbis + ``` + +2. Voir [Mettre à jour MariaDB](../upgrade/upgrade-mariadb.md). + +3. Démarrez le service **cbis** : + + ```shell + systemctl start cbis + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/widgets.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/widgets.md new file mode 100644 index 000000000000..b20230c161e0 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/reporting/widgets.md @@ -0,0 +1,577 @@ +--- +id: widgets +title: Les widgets +--- + +Les widgets de Centreon MBI s"utilisent dans les [vues personnalisées](../getting-started/create-custom-view.md) de Centreon. Il vous est de ce fait possible de créer des +dashboard combinant des données temps réel ET des données agrégées +(disponibilité, application, performance etc..) + +![image](../assets/reporting/guide/dashboard.png) + +Ci-dessous la liste des widgets de reporting disponibles : + +> Dans le cas d'une mise à jour des ACLs, cliquez sur "Update ACL +> Resources" dans les options générales de Centreon MBI, onglet "Report +> Parameters" + + +## Disponibilité et événements + +### Hostgroup availability by host categories by month + +#### Description + +Ce widget affiche la disponibilité des hôtes appartenant à un groupe +d'hôtes en les répartissant par catégorie, par mois. + +![image](../assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png) + +#### Paramètres + +**Description** + +- Select the group : Sélectionner le groupe d'hôtes pour lequel + afficher les statistiques +- Type the name of host categories to filter on : taper le nom d'une + ou plusieurs catégories d'hôtes. Séparer les catégories par des + virgules +- Type the name the reporting period you want to use (has to be + calculated by Centreon BI) : Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Chart type : Type de graphique à utiliser +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png) + +### Hostgroup availability by host by day + +#### Description + +Ce widget affiche la disponibililté des hôtes appartenant à un groupe +d'hôtes , par jour. + +![image](../assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png) + +#### Paramètres + +**Description** + +- Select the group : Sélectionner le groupe d'hôtes pour lequel + afficher les statistiques +- Type the name of host categories to filter on : taper le nom d'une + ou plusieurs catégories d'hôtes. Séparer les catégories par des + virgules +- Type the name the reporting period you want to use (has to be + calculated by Centreon BI) : Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Select the reporting period : sélectionner la période de reporting + relative +- Chart type : Type de graphique à utiliser +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png) + +### Hostgroups availability by hostgroups by month + +#### Description + +Ce widget affiche la disponibililté des hôtes appartenant à un groupe +d'hôtes , par mois. + +![image](../assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png) + +#### Paramètres + +**Description** + +- Select the group : Sélectionner le groupe d'hôtes pour lequel + afficher les statistiques +- Type the name of host categories to filter on : taper le nom d'une + ou plusieurs catégories d'hôtes. Séparer les catégories par des + virgules +- Type the name the reporting period you want to use (has to be + calculated by Centreon BI) : Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Chart type : Type de graphique à utiliser +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png) + +### MTBF and MTRS par hôte + +#### Description + +Ce widget vous permet de connaître la fiabilité (MTBF) et la +mainteabilité (MTRS) de vos ressources ainsi que l'efficacité des +équipes dans la prise en compte des évènements (MTTA). Ces informations +sont affichées sous forme de Top. Des informations additionnelles sont +associées au widget afin de faciliter la prise de décision : statut en +temps réel, disponibilité sur la période, nombre d'évènements, dernier +changement de statut. + +- Le MTBF est le temps moyen entre deux états DOWN, plus ce temps est + grand, plus le hôte est fiable. +- Le MTRS est la durée moyenne des pannes; les hôtes avec une bonne + maintenabilité auront un petit MTRS. +- Le MTTA est la durée moyenne de prise en compte (acquittement). + Seuls les évènements acquittés sont pris en compte dans le calcul de + la moyenne. + +![image](../assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png) + +#### Paramètres + +**Description** + +- Type name of groups : Taper le nom d'un ou plusieurs groupes + d'hôtes (à séparer par des virgules) +- Type the name of a host categories to filter on : taper le nom + d'une ou plusieurs catégories d'hôtes. Séparer les catégories par + des virgules +- Number of host to display: taper le nombre d'hôte à afficher au + maximum +- Select the reporting period : sélectionner la période de reporting +- Order By: Trier par MTBF, par MTRS ou par MTTA +- Type the name the reporting period you want to use (has to be + calculated by Centreon MBI) Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Display XXXXXX : affiche la colonne XXXXX +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png) + + +### MTBF & MTRS par service + +#### Description + +Ce widget vous permet de connaître la fiabilité (MTBF) et la +mainteabilité (MTRS) de vos services Centreon ainsi que l'éfficacité +des équipes dans la prise en compte des soucis (MTTA). Ces informations +sont affichées sous forme de Top. Des informations additionnelles sont +associées au widget afin de faciliter la prise de décision : statut en +temps réel, disponibilité sur la période, nombre d'évènements, dernier +changement de statut. + +- Le MTBF est le temps moyen entre deux états DOWN, plus ce temps est + grand, plus le hôte est fiable. +- Le MTRS est la durée moyenne des pannes; les hôtes avec une bonne + maintenabilité auront un petit MTRS. +- Le MTTA est la durée moyenne de prise en compte (acquittement). + Seuls les évènements acquittés sont pris en compte dans le calcul de + la moyenne. + +![image](../assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png) + +#### Parameters + +**Description** + +- Type name of groups : Taper le nom d'un ou plusieurs groupes + d'hôtes (à séparer par des virgules) +- Type the name of a host categories to filter on : taper le nom + d'une ou plusieurs catégories d'hôtes. Séparer les catégories par + des virgules +- Type the name of a service categories to filter on : taper le nom + d'une ou plusieurs catégories de services. Séparer les catégories + par des virgules +- Number of host to display: taper le nombre d'hôte à afficher au + maximum +- Select the reporting period : sélectionner la période de reporting +- Order By: Trier par MTBF, par MTRS ou par MTTA +- Type the name the reporting period you want to use (has to be + calculated by Centreon MBI) Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Display XXXXX : afficher ou masquer la colonne XXXXX +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png) + + +## Capacité et performance + +> Les services utilisés dans les widgets suivants doivent être associés à au moins une catégorie +> de services, depuis au moins une journée. + +### Typical metric performance on a 24h day + +#### Description + +Ce widget affiche sur un graphique de 24h, la journée type d'une +métrique pour un service donné. + +![image](../assets/reporting/guide/mbi-typical-performance-day.png) + +#### Parameters + +**Description** + +- Select a service : sélectionner l'hôtes et le service +- Type the name of metric : donner le nom de la métrique (une métrique + seulement) +- Base : base 100 ou 1024 +- Chart type : type de graphique +- Refresh Interval (seconds) + +**Exemple** + +![image](../assets/reporting/guide/mbi-typical-performance-day_param.png) + + +### Storage list near saturation + +#### Description + +Ce widget permet de lister les espaces de stockage et date estimée de +saturation. Il affiche également la valeur en temps réelle et +l'évolution par rapport à la veille. Le calcul se fait en prenant la +valeur de l'espace de stockage à J-X et à J-1. Seul les espaces dont +l'espace utilisé augmente sont visibles. + +![image](../assets/reporting/guide/mbi-storage-list-near-saturation.png) + +#### Paramètres + +**Description** + +- Select a hostgroup +- Type the name of a host category to filter on (separate with ,) +- Type the name of a service category to filter on (separate with ,) +- What metric should be used (you can use %) : Example : `[used]`()% +- Number of host to display : Number of lines to display in the table +- Display a warning when number of days remaining is less than +- Base the speed calculation on the (Days-x) with X = : What's the + day to compare to today value to calculate speed and saturation + (simple rule of 3) +- Type the name of the time period corresponding to 24x7 +- Refresh Interval (seconds) + +**Exemple** + +![image](../assets/reporting/guide/mbi-storage-list-near-saturation_param.png) + + +### Metric capacity planning + +#### Description + +Ce widget permet de calculer l'évolution future d'une métrique par +rapport à son historique, en utilisant la régréssion linéaire. + +Si la courbe monte et qu'une valeur maximum existe,c'est cette valeur +qui est prise comme seuil de saturation, s'il n'y a pas de valeur +maximum, alors c'est le seuil critique qui est pris comme seuil de +saturation. Si la courbe décroit, 0 est pris comme seuil de saturation. + +![image](../assets/reporting/guide/mbi-metric-capacity-planning.png) + +#### Paramètres + +**Description** + +- Select the service : Sélectionner l'hôtes puis le service à + utiliser +- Type the name of the metric (one metric only) : taper le nom de la + métrique appartenant au service à prendre en compte +- How many historical days shoud we use to calculate the projection : + Combien de jour passés faut il prendre en compte. Cette période doit + être représentative de l'évolution de la métrique +- Type the name the reporting period you want to use (has to be + calculated by Centreon BI) : Nom de la plage horaire à utiliser +- Base : Base de division pour la métriques (1000 ou 1024) +- Chart type : Type de graphique +- Refresh Interval (seconds) : Intervalle de rafraîchissement du + widget + +**Exemple** + +![image](../assets/reporting/guide/mbi-metric-capacity-planning_param.png) + + +### Hostgroups performance metric - TOP X + +#### Description + +Ce widget affiche un Top X des données de performance par métrique ( +valeur temps réel, moyenne, minimum, maximum, seuils ) , pour des +groupes & catégories en entrée. + +![image](../assets/reporting/guide/mbi-hgs-performances-Top-X.png) + +#### Paramètres + +**Description** + +- Type name of groups : Taper le nom d'un ou plusieurs groupes + d'hôtes (à séparer par des virgules) +- Type the name of a host categories to filter on : taper le nom + d'une ou plusieurs catégories d'hôtes. Séparer les catégories par + des virgules +- Type the name of a service categories to filter on : taper le nom + d'une ou plusieurs catégories de services. Séparer les catégories + par des virgules +- Metric name: taper de nom d'une ou plusieurs métriques. Séparer les + métriques par des virgules. +- Type the name the reporting period you want to use (has to be + calculated by Centreon MBI) Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Select the reporting period : sélectionner la période de reporting +- Order values by : trier les valeur sur le minimum, moyenne ou + maximum, tri ascendant ou descendant. +- Number of metrics to display : Top X des métriques à afficher +- Display Current value: Afficher la valeur temps réel +- Display Average: Afficher la moyenne sur la période de reporting +- Display Minimum: Afficher le minimum atteint sur la période de + reporting +- Display Maximum: Afficher le maximum atteint sur la période de + reporting +- Display warning threshold: Afficher le seuil warning +- Display critical threshold: Afficher le seuil critique +- Display Hostgroups: Afficher la colonne Hostgroups +- Display Hostcategories: Afficher la colonne Hostcategories +- Display ServiceCategories: Afficher la colonne ServiceCategories +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hgs-performances-Top-X_param.png) + + +### Hostgroups, categories performance analysis by day + +#### Description + +Ce widget affiche les données de performance ( moyenne, minimum ou +maximum ) par jour sur une période données, pour des groupes & +catégories. + +![image](../assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png) + +#### Paramètres + +**Description** + +- Type name of groups : Taper le nom d'un ou plusieurs groupes + d'hôtes (à séparer par des virgulevernes) +- Type the name of a host categories to filter on : taper le nom + d'une ou plusieurs catégories d'hôtes. Séparer les catégories par + des virgules +- Type the name of a service categories to filter on : taper le nom + d'une ou plusieurs catégories de services. Séparer les catégories + par des virgules +- Retrieve data with metric name LIKE or IN? : Les données seront + filtrées par métrique également, il s'agit ici de préciser si on + veut que les métriques soient filtrées en faisant like foo% ou alors + en IN (foo,bar,...) +- Metric name (for multiple metrics, separate them with ',') : nom + de la (si mode = like) ou des métriques (si mode = IN) à prendre en + compte +- Type the name the reporting period you want to use (has to be + calculated by Centreon MBI) Taper le nom de la plage horaire de + reporting à utiliser. Cette plage horaire doit être présente dans la + configuration de Centreon MBI +- Select the reporting period : sélectionner la période de reporting +- What value to display in the graph : quelle est la valeur à afficher + , minimum, moyenne ou maximum +- Graph height : en fonction du paramétrage, le graphique et la + légende peuvent être haut. Vous pouvez alors spécifier la hauteur du + graph pour optimiser le rendu +- Base: ce paramètre contrôle la conversion à effectuer pour afficher + les G,M,K etc.. +- Show subchart ? : afficher ou masquer un graphique permettant de + zoomer +- Show legend ? : afficher ou masquer la légende +- Refresh Interval (seconds) : rafraichissement automatique du widgets + +**Exemple** + +![image](../assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png) + + +## Activités Métier + +### Business Application Availability (Gauge) + +*Ce widget fonctionner uniquement si Centreon BAM est installé* + +#### Description + +Ce widget affiche la disponibilité d'une BA, ses SLAs (si configurés) +pour la période de reporting sélectionnée ainsi que le niveau actuel de +la BA. Si vous sélectionnez une période de reporting pour laquelle il +n'y a pas encore de données, comme par exemple "Current Month" en +étant le premier du mois, c'est le niveau en direct qui s'affiche. + +![image](../assets/reporting/guide/mbi-ba-availability-gauge.png) + +#### Parameters + +**Description** + +- Select an application from Centreon BAM : sélection de la BA +- Select the reporting periods : sélection de la période de reporting +- Refresh Interval (seconds) : Intervalle de rafraîchissement + +**Exemple** + +![image](../assets/reporting/guide/mbi-ba-availability-gauge_param.png) + +### Business Application Availability,Performance and Alerts by day + +*Ce widget fonctionner uniquement si Centreon BAM est installé* + +#### Description + +Ce widget affiche la disponibilité, la performance et le nombre +d'alertes d'une BA, par jour. + +![image](../assets/reporting/guide/mbi-ba-availability-graph-day.png) + +#### Parameters + +**Description** + +- Select an application from Centreon BAM ( Corresponds to a "BA") : + sélectionner l'application +- Select the reporting periods : sélectionner la période de reporting +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : intervalle de rafraîchissement + +**Exemple** + +![image](../assets/reporting/guide/mbi-ba-availability-graph-day_param.png) + +### Business Application Availability,Performance and Alerts by month + +*Ce widget fonctionner uniquement si Centreon BAM est installé* + +#### Description + +Ce widget affiche la disponibilité, la performance et le nombre +d'alertes d'une BA, par mois, sur les 12 derniers mois (si données +disponibles). + +![image](../assets/reporting/guide/mbi-ba-availability-graph-month.png) + +#### Parameters + +**Description** + +- Select an application from Centreon BAM ( Corresponds to a "BA") : + sélectionner l'application +- Select the reporting periods : sélectionner la période de reporting +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : intervalle de rafraîchissement + +**Exemple** + +![image](../assets/reporting/guide/mbi-ba-availability-graph-month_param.png) + +### Business Application MTBF & MTRS + +*Ce widget fonctionner uniquement si Centreon BAM est installé* + +#### Description + +Ce widget vous permet de connaître la fiabilité (MTBF) et la +mainteabilité (MTRS) de vos applications et services critiques modélisés +dans Centreon BAM. Ces informations sont affichées sous forme de Top. +Des informations additionnelles sont associées au widget afin de +faciliter la prise de décision : statut en temps réel, disponibilité sur +la période, nombre d'évènements, dernier changement de statut. + +- Le MTBF est le temps moyen entre deux états DOWN, plus ce temps est + grand, plus le hôte est fiable. +- Le MTRS est la durée moyenne des pannes; les hôtes avec une bonne + maintenabilité auront un petit MTRS. + +![image](../assets/reporting/guide/mbi-ba-mtbf-mtrs.png) + +#### Parameters + +**Description** + +- Select the business view (empty to view all BA) : sélection de la + business view. En laissant vide ce champ, toutes les BAs sont + récupées (filtrés par les ACls) +- Number of business activities to display : nombre d'activité métier + à afficher dans le tableau +- Select the reporting period : la période de reporting considérée +- Order By : trier le résultat par MTBF ou MTRS +- Type the name of the time period you want to use (has to be + calculated by Centreon MBI). Let this field empty to use the default + reporting time period for each BA : remplir ce champ si vous + souhaitez spécifier une plage horaire spécifique. En laissant ce + champ vide, c'est la plage horaire de reporting par défaut de + l'activité métier qui est appliquée. +- Display XXXXX : afficher ou masquer la colonne XXXXX +- Refresh Interval (seconds) : Intervalle de rafraîchissement + +**Exemple** + +![image](../assets/reporting/guide/mbi-ba-availability-gauge_param.png) + + +### Business View Availability,Performance and Alerts by month + +*Ce widget fonctionner uniquement si Centreon BAM est installé* + +#### Description + +Ce widget affiche la disponibilité, la performance et le nombre +d'alertes d'une Business View (regroupement logique de BA), par mois, +sur les 12 derniers mois (si données disponibles). + +![image](../assets/reporting/guide/mbi-bv-availability-graph-month.png) + +#### Parameters + +**Description** + +- Select a Business View from Centreon BAM : sélectionner la vue + métier +- Select the reporting periods : sélectionner la période de reporting +- Min value for graph (let empty for self-adjustement) : Valeur + minimum de l'axe des ordonnées +- Max value for graph (let empty for self-adjustement) : Valeur + maximum de l'axe des ordonnées +- Refresh Interval (seconds) : intervalle de rafraîchissement + +**Exemple** + +![image](../assets/reporting/guide/mbi-bv-availability-graph-month_param.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/contribute.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/contribute.md new file mode 100644 index 000000000000..7d25cd3b61b5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/contribute.md @@ -0,0 +1,163 @@ +--- +id: contribute +title: Contribuer à la documentation Centreon +--- + +Vous pouvez contribuer à la documentation Centreon en soumettant des pull requests sur [notre dépôt GitHub](https://github.com/centreon/centreon-documentation). En tant que contributeur externe vous ne pouvez pas commiter directement sur le dépôt : un fork sera créé automatiquement quand vous commiterez. + +Cette page détaille uniquement la procédure pour demander des modifications dans la documentation : + +* Si vous avez une question générale concernant la configuration ou l'utilisation de Centreon, ou la documentation, posez-la plutôt sur notre plateforme communautaire [The Watch](https://thewatch.centreon.com/). + +* Si vous avez une idée de nouvelle fonctionnalité merci de la soumettre dans la section [Ideas](https://thewatch.centreon.com/ideas) de The Watch. + +* Si vous avez trouvé un bug, ouvrez une "issue" dans le dépôt du code du projet correspondant. Utilisez le [guide de contribution](https://github.com/centreon/.github/blob/master/CONTRIBUTING.md). + +## Recommandations pour vos pull requests + +Aidez-nous à relire vos PRs plus rapidement en suivant ces recommandations : + +* Essayez de ne pas toucher à un trop grand nombre de fichiers à la fois en une seule PR, si possible. + +* Ne changez pas les blancs ou les fins de ligne dans les parties du fichier que vous n'éditez pas. Vérifiez que votre éditeur de texte n'est pas configuré pour reformater automatiquement tout le fichier à l'enregistrement. + +* Si vous parlez français, appliquez vos changements aux versions anglaises et françaises de la documentation. La version française est située dans le dossier **i18n**. + +## Éditer une seule page de documentation + +1. La façon la plus simple de suggérer un changement est d'utiliser le lien **Éditer cette page** en bas de chaque page de documentation. Cette méthode est adaptée lorsque vous souhaitez éditer uniquement un fichier à la fois. + + ![image](../assets/resources/edit_this_page.png) + + (Vous pouvez aussi naviguer jusqu'à la page désirée sur [GitHub](https://github.com/centreon/centreon-documentation) et cliquer sur le bouton **Edit**.) + +2. Le fichier peut maintenant être édité : + + ![image](../assets/resources/editable_page.png) + +3. Faites vos modifications, puis rendez-vous en bas de la page : + + ![image](../assets/resources/propose_changes.png) + +4. Dans le premier champ, entrez une courte description de vos modifications (par exemple “Fix typo”) : cette description deviendra le titre de votre commit. Vous pouvez ajouter plus d'informations dans le second champ. +5. Cliquez sur **Propose changes**. Une branche est créée dans un fork du dépôt Centreon, et un commit est pushé dans cette branche. La page montre maintenant vos modifications : + + ![image](../assets/resources/propose_changes2.png) + +6. Cliquez sur **Create pull request** et remplissez les champs : + + * Entrez un titre indiquant clairement le sujet de la pull request. + * Cochez les cases correspondant aux versions/sections que vous avez corrigées (et uniquement celles-ci). + + ![image](../assets/resources/open_pr.png) + +7. La pull request est créée. Notez que le nom de votre branche apparaît ici (format : `:`) : + + ![image](../assets/resources/pr_with_branch_name.png) + +La PR est faite ! L'équipe documentation de Centreon : + +* S'assurera que votre pull request soit validée : quelqu'un vérifiera que toutes les modifications de la PR sont factuellement correctes. Il se peut que nous vous demandions d'apporter des changements à votre PR. Dans ce cas, vous recevrez une notification de GitHub. +* S'assurera que votre PR soit mergée et publiée. + +## J'ai créé une pull request mais je veux faire d'autres modifications. Que faire ? + +1. Pour éditer un autre fichier, rendez-vous dans votre fork de notre dépôt de documentation sur GitHub (**Your profile** > cliquez sur le fork) puis sélectionnez votre branche en utilisant la liste déroulante en haut à gauche de l'écran. + + ![image](../assets/resources/edit_branch.png) + +2. Naviguez jusqu'au fichier désiré, faites vos modifications, puis rendez-vous au bas de la page : + + ![image](../assets/resources/commit_to_branch.png) + +3. Cliquez sur **Commit changes**. Vos modifications sont commitées, pushées et ajoutées à la liste des commits pour cette pull request. + +## Éditer plusieurs pages à la fois + +Si vous souhaitez apporter des changements à un certain nombre de fichiers (ou si vous préférez cette méthode), vous pouvez cloner le dépôt, créer une nouvelle branche et faire les modifications sur votre disque. + +Votre branche doit être basée sur la branche **staging**. Depuis cette branche, vous pouvez proposer des modifications à des documentations qui sont déjà publiées et toujours supportées : + +* pour Centreon OnPrem, [voir le tableau des versions supportées](../installation/prerequisites.md#système-dexploitation), +* les sections “Centreon Cloud” et “connecteurs de supervision”. + +### Procédure + +1. Clonez le dépôt de documentation sur votre disque : + + ```shell + git clone https://github.com/centreon/centreon-documentation.git + ``` + +2. Rendez-vous dans le dossier **centreon-documentation**. Vous êtes sur la branche **staging**. +3. Créez une nouvelle branche basée sur **staging**: donnez-lui un nom parlant. Pour créer une branche et vous positionner dessus : + + ```shell + git checkout -b + ``` + + Par exemple, la commande `git checkout -b username-mypr` créera une branche nommée **username-mypr** et se positionnera dessus automatiquement. + +4. Effectuez vos modifications : + + * [buildez la documentation localement](#comment-prévisualiser-ma-pr) pour vérifier que tout s'affiche correctement, + * n'oubliez pas de faire `git add` sur tous les fichiers nécessaires (particulièrement les images). +5. Commitez vos modifications et pushez-les. +6. Allez sur [GitHub](https://github.com/centreon/centreon-documentation). Vous devriez voir un message tel que celui-ci : + ![image](../assets/resources/compare_and_pull_request1.png) + +7. Cliquez sur **Compare & pull request**. + ![image](../assets/resources/compare_and_pull_request2.png) + + * Éditez le nom de la PR et ajoutez des informations complémentaires si besoin. + * Sélectionnez les versions dans lesquelles vous avez fait des modifications. +8. Cliquez sur **Create pull request**. La pull request est créée. + +Une fois la PR faite, l'équipe documentation de Centreon : + +* S'assurera que votre pull request soit validée : quelqu'un vérifiera que toutes les modifications de la PR sont factuellement correctes. Il se peut que nous vous demandions d'apporter des changements à votre PR. Dans ce cas, vous recevrez une notification de GitHub. +* S'assurera que votre PR soit mergée et publiée. + +### Modifier le même fichier dans différentes versions + +Si vous voulez faire la même modification à un fichier dans différentes versions, vous devez reporter la modification dans chaque version manuellement (pas de cherrypicking). + +### Comment prévisualiser ma PR? + +Lorsque vous créez une PR complexe en clonant le dépôt, vous voudrez peut-être vérifier que tout est affiché correctement. (Regarder la PR dans GitHub n'est pas suffisant.) + +Pour faire cela, vous devez builder la documentation localement. + +#### Procédure + +1. Sur votre disque, rendez-vous dans le dossier **centreon-documentation** de votre branche. +2. Installez [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable). +3. Installez [Node.js](https://nodejs.org/en/download/). +4. Installez les dépendances : + + ```shell + yarn + ``` + +5. Buildez la version EN ou FR du site (plus rapide qu'un build complet) : + * EN : `yarn start` + * FR : `yarn start --locale=fr` + + Le site de documentation s'ouvre dans votre navigateur à l'adresse suivante : `http://localhost:3000/`. + La plupart des changements sont pris en compte immédiatement sans avoir à redémarrer le serveur. +6. Si vous avez vraiment besoin de builder le site complet, utilisez la commande suivante (attention, le build prend un certain temps) : + + ```shell + yarn build + ``` + + Puis utilisez la commande `npm run serve` pour afficher le site de documentation dans votre navigateur. Ce site reflète l'état des fichiers au moment du build, les changements ultérieurs ne sont pas pris en compte. + +#### Et si le build échoue ? + +Dans certains cas, le build local peut échouer. Vérifiez le message d'erreur dans le log. Il se peut que : + +* une image manque, +* un lien ait un format incorrect, +* des backticks (caractères ``` autour des blocs de code) ne soit pas fermés correctement, ou bien qu'il y ait un espace en trop avant les backticks, +* un fichier n'ait pas exactement le même nom en français et en anglais. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/glossary.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/glossary.md new file mode 100644 index 000000000000..3115266d2609 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/glossary.md @@ -0,0 +1,301 @@ +--- +id: glossary +title: Glossaire des concepts Centreon +--- + +## ACL + +Les listes de contrôles d'accès (Access Control List en anglais) permettent d’attribuer des droits aux utilisateurs Centreon. Il est possible de définir des droits sur : + +- les différents menus de l'interface web Centreon, + +- les [ressources](#ressource) que les utilisateurs pourront voir, + +- les actions réalisables dans l’interface web Centreon. + +**Voir aussi** : [Gérer les droits des utilisateurs Centreon (ACL)](../administration/access-control-lists.md). + +## Acquittement + +Un utilisateur acquitte une ressource pour signifier à son équipe qu'il est au courant de l'incident et qu'il s'en occupe. + +Lorsqu'une ressource est acquittée, les [notifications](#notification) sont suspendues et la ressource acquittée est surlignée en jaune dans les écrans de supervision. + +Acquitter une ressource ne signifie pas que l'incident est résolu : il le sera lorsque la ressource sera revenue dans son état nominal (**OK** ou **DISPONIBLE**). + +**Voir aussi** : [Acquitter une alerte](../alerts-notifications/acknowledge.md). + +## Action de supervision + +Toute action exécutée depuis l’interface permettant d’agir sur votre supervision en temps réel. Par exemple, [faire un acquittement](#acquittement), planifier une [plage de maintenance](#plage-de-maintenance), forcer un contrôle, etc. + +## Alerte + +Une alerte correspond à l'un des statuts suivants : **Alerte**, **Indisponible**, **Critique**, **Inconnu**. + +Le terme d'alerte est utilisé de cette façon dans les [filtres prédéfinis](../alerts-notifications/resources-status.md#filtres-prédéfinis) à la page **Statut des ressources**. + +## Architecture simple VS distribuée + +- **Architecture simple** : architecture composée d’un [serveur central](#serveur-central) et uniquement d'un serveur central. + +- **Architecture distribuée** : architecture composée d’un central et de n [serveurs distants](#serveur-distant) et/ou [collecteur(s)](#collecteur). Ceux-ci permettent de répartir la charge de la supervision, que ce soit pour des contraintes de sécurité, géographiques, historiques, etc. + +**Voir aussi** : [Architectures possibles](../installation/architectures.md). + +## BBDO + +Broker Binary Data Object : c’est le protocole de communication utilisé pour transporter les données de supervision des [serveurs distants](#serveur-distant) et des [collecteurs](#collecteur) vers le [serveur central](#serveur-central). + +**Voir aussi** : [Le protocole BBDO](../developer/developer-broker-bbdo.md). + +## Broker + +Centreon Broker est le composant logiciel qui reçoit les données de supervision collectées par les [moteurs de supervision](#moteur-de-supervision). +Une fois ces données reçues, par défaut, Centreon Broker les redistribue vers les bases de données MariaDB/MySQL et RRD. + +**Voir aussi** : [Mapping d’événements Centreon Broker](../developer/developer-broker-mapping.md). + +## CLAPI + +Command-Line API : Permet d’administrer la supervision directement en ligne de commande. + +**Voir aussi** : [Command Line API (v1) - CLAPI](../api/clapi.md). + +## Collecteur + +Serveur Centreon utilisé dans une [architecture distribuée](#architecture-simple-vs-distribuée). Un collecteur peut être rattaché à un [serveur distant](#serveur-distant) ou bien directement à un [serveur central](#serveur-central). + +- Un collecteur Centreon supervise des [ressources](#ressource). Il possède un [moteur de supervision](#moteur-de-supervision). + +- Il n’a pas d’interface graphique : les ressources qu’il supervise s’affichent dans l’interface du serveur central et du serveur distant auxquels il est rattaché. + +On appelle aussi “collecteur” le moteur de supervision présent dans un serveur central, un serveur distant ou un collecteur. + +## Connecteur de supervision + +Un connecteur de supervision est la brique logicielle qui permet à Centreon de communiquer avec les équipements supervisés. +Centreon propose de nombreux connecteurs prêts à l’emploi qui permettent de contrôler tout type d’équipement. + +Un connecteur est constitué d’un [pack](#pack) (des commandes et [modèles](#modèle) préconfigurés) et d’un [plugin](#plugin) (la sonde qui exécute les contrôles). +Certains connecteurs ont également une option de “découverte” qui leur permet de détecter automatiquement un certain type de ressources à superviser. +**Voir aussi** : + +- [Utiliser des connecteurs de supervision](../monitoring/pluginpacks.md), +- [Introduction aux connecteurs de supervision](/pp/integrations/plugin-packs/getting-started/introduction). + +## Donnée de performance + +Voir [**Métrique**](#métrique). + +## Dump MySQL + +Sauvegarde dans un fichier texte de toute une base de données MySQL/MariaDB. + +## Engine + +Voir [**Moteur de supervision**](#moteur-de-supervision). + +## État de l'alerte + +Non traité, acquitté, en maintenance. + +## Fichiers de rétention + +Les fichiers de rétention sont propres à Centreon [Broker](#broker). +Ces fichiers permettent de conserver les données de supervision quand elles n’ont pas pu être insérées en base de données. Par exemple s'il y a un problème de connexion entre Engine et Broker, plutôt que de perdre ces données, Broker les stocke dans un fichier (de type file d'attente, dont le nom comporte le terme "queue"). Ce fichier sera ensuite dépilé par Centreon Broker, puis inséré en base pour éviter une perte de données. + +## Fichiers RRD + +Un fichier RRD contient les données d'une [métrique](#métrique). Ces fichiers permettent de construire les graphiques de performances. Si les fichiers RRD ne sont pas présents, les graphiques ne peuvent pas être affichés. Du fait du fonctionnement de RRD, les valeurs affichées dans les graphes donnent ainsi une tendance, mais ne montrent en général pas les valeurs exactes mesurées. + +## FQDN + +Fully Qualified Domain Name : correspond au nom d’hôte et de domaine d’un serveur. Ex : demo.centreon.com (nom d’hôte : demo, nom de domaine : centreon.com). + +## Gorgone + +Centreon Gorgone est le composant logiciel qui permet la communication du [serveur central](#serveur-central) vers les [collecteurs](#collecteur) et les [serveurs distants](#serveur-distant). +Notamment, Gorgone déploie la configuration des [moteurs de supervision](#moteur-de-supervision). + +**Voir aussi** : [Gérer la communication client/serveur](../developer/developer-gorgone-client-server-communication.md) et les autres topics de cette section. + +## Graphique + +Les graphiques sont générés à partir des [métriques](#métrique) des [services](#service), en utilisant les [fichiers RRD](#fichiers-rrd). Ils permettent de représenter l'évolution dans le temps de ces métriques. + +**Voir aussi** : [Gestion des graphiques](../metrology/chart-management.md) et les autres topics de cette section. + +## Héritage + +Principe qui permet qu’un paramètre d’un [modèle](#modèle) soit appliqué sur la ressource qui hérite de ce modèle. + +## Hôte + +Équipement possédant une adresse IP ou un FQDN, et que l’on veut superviser. Exemples : un serveur Linux, une box internet, un site web, une imprimante 3D, une instance EC2, un hôte docker, une caisse enregistreuse, etc. L’hôte peut avoir un ou plusieurs [services](#service) associés. + +Un hôte peut avoir les [statuts](#statut) suivants : DISPONIBLE, INDISPONIBLE et INJOIGNABLE. + +**Voir aussi** : [Mettre un hôte en supervision](../monitoring/basic-objects/hosts-create.md) et les autres topics de cette section. + +## LVM + +LVM (logical volume manager) : Centreon recommande d'utiliser ce système de partitionnement lors de l'installation du système hôte. Il vous permettra d'ajuster la taille des partitions à chaud et de mettre en œuvre les snapshots LVM pour la sauvegarde. + +## LVM snapshot + +Il s’agit d’une fonctionnalité présente dans LVM pour faire une image instantanée d’un système de fichiers. Centreon se sert de ce mécanisme pour sauvegarder les bases de données. + +**Voir aussi** : [Sauvegarde](../administration/backup.md). + +## Métrique + +Une métrique ou donnée de performance est rattachée à un [service](#service). Cette donnée permet d’obtenir des graphiques et de positionner des seuils pour être alerté. Ces seuils définissent le [statut](#statut) du service associé à la métrique. + +Lorsqu’un service comprend plusieurs métriques, le statut du service est celui de la plus mauvaise métrique. + +Vous pouvez voir les métriques associées à un service dans le panneau de détails de celui-ci. + +**Voir aussi** : [Comprendre les métriques](../monitoring/metrics.md). + +## Mode flux Broker inversé + +Configuration avancée de Centreon [Broker](#broker), inversant le sens de connexion de la communication Broker par interversion des rôles "client" et "serveur" afin de s'adapter à des configurations réseau particulières. Ce mode est notamment utilisé par Centreon MAP pour s'abonner au flux temps réel des évènements Broker. + +## Mode one-peer retention + +Configuration avancée de Centreon [Broker](#broker) activant le mécanisme de rétention en mode [flux broker inversé](#mode-flux-broker-inversé). Ce mode est très utilisé dans le cas de serveurs de supervision ([collecteurs](#collecteur) ou [serveurs distants](#serveur-distant)) situés dans une zone démilitarisée (DMZ). + +## Mode pull + +Configuration avancée de Centreon [Gorgone](#gorgone) permettant d’inverser le sens du flux ZMQ. La communication se fait depuis les collecteurs et les serveurs distants vers le serveur central. Ce mode est très utilisé dans le cadre d’un client MSP. + +**Voir aussi** : [Configurer Gorgone en mode pull](../developer/developer-gorgone-pull-mode.md). + +## Modèle + +Squelette préconfiguré d’une [ressource](#ressource) qui permet que les paramètres définis sur le squelette soient appliqués sur la ressource qui en hérite automatiquement. + +Il existe des modèles d’hôtes, de services et de contacts. + +**Voir aussi** : + +- [Utiliser des modèles d'hôtes](../monitoring/basic-objects/hosts-templates.md), +- [Utiliser des modèles de services](../monitoring/basic-objects/services-templates.md), +- [Utiliser des modèles de contacts](../monitoring/basic-objects/contacts-templates.md). + +## Moteur de supervision + +Centreon Engine est le composant logiciel qui planifie les contrôles, les exécute et [notifie](#notification) les utilisateurs en cas d’incident. +Il est présent sur les [collecteurs](#collecteur), les [serveurs distants](#serveur-distant) et le [serveur central](#serveur-central). + +## Notification + +Message avertissant l’utilisateur d’un incident. Il est possible de paramétrer des notifications sur différents [statuts](#statut). + +**Voir aussi** : [Fonctionnement des notifications](../alerts-notifications/notif-concept.md) et les autres topics de cette section. + +## Ordonnanceur + +Voir [**Moteur de supervision**](#moteur-de-supervision). + +## Pack + +Un pack contient les informations relatives aux indicateurs qui seront supervisés, leurs seuils d’alerte et les commandes nécessaires pour les contrôles. Le pack fournit une configuration par défaut, mais celle-ci reste hautement personnalisable. + +## Période de rétention + +Durée pendant laquelle vous souhaitez conserver vos données de base de données RRD et MariaDB/MySQL. Elle est exprimée en jours. + +## Période temporelle + +Une période temporelle définit un intervalle de temps pour chacun des jours de la semaine. Ces périodes temporelles servent à activer les fonctionnalités du [moteur de supervision](#moteur-de-supervision) sur des plages horaires données. Elles permettent de définir : + +- quand les commandes de vérification seront exécutées, c’est-à-dire la période de temps durant laquelle on supervise, + +- quand des [notifications](#notification) seront envoyées. + +**Voir aussi** : [Les périodes temporelles](../monitoring/basic-objects/timeperiods.md). + +## Plage de maintenance + +Une plage de maintenance ou temps d’arrêt est une période de temps durant laquelle les [notifications](#notification) sont désactivées pour une ressource. Les plages de maintenance sont utilisées lors d'opérations de maintenance programmée ; elles permettent d'éviter de recevoir des alertes de type faux-positif. + +**Voir aussi** : [Planifier un temps d'arrêt](../alerts-notifications/downtimes.md). + +## Plage de maintenance récurrente + +Les temps d'arrêts récurrents sont des temps d'arrêts qui reviennent de manière répétitive. + +**Voir aussi** : [Les temps d'arrêt récurrents](../alerts-notifications/downtimes.md#les-temps-darrêt-récurrents). + +## Plugin + +Est appelé "plugin" une sonde de supervision, c'est-à-dire un binaire exécutable ou un script qui est appelé par le [moteur de supervision](#moteur-de-supervision) pour effectuer un contrôle sur un [hôte](#hôte) ou un [service](#service). Le plugin va déterminer le statut à renvoyer au moteur de supervision à partir des vérifications qu'il fait et des seuils qui ont été définis dans la configuration de l'hôte ou du service. + +## Ressource + +Objet supervisé par une plateforme Centreon (hôtes, services, métaservices). + +## Serveur central + +Dans Centreon, le serveur central est la console principale de votre supervision. Il permet : + +- de configurer toute la supervision de votre infrastructure, +- des superviser des ressources, +- de consulter la supervision de tous les serveurs Centreon (serveur central, [serveurs distants](#serveur-distant) et [collecteurs](#collecteur)) dans son interface web. + +## Serveur distant + +Serveur Centreon utilisé dans une [architecture distribuée](#architecture-simple-vs-distribuée). Un serveur distant est rattaché à un [serveur central](#serveur-central). Des collecteurs peuvent être rattachés à un [serveur distant](#serveur-distant). + +- Un serveur distant supervise des ressources. Il possède un moteur de supervision. + +- Il a une interface graphique, mais pas de menus de configuration. + +- Les ressources qu’il supervise s’affichent dans son interface et dans l’interface du serveur central auquel il est rattaché. + +## Service + +Un service est attaché à un [hôte](#hôte). Il correspond à un point de contrôle de cet hôte. Ce point de contrôle peut être un contrôle : + +- sur le statut d’un composant : est-ce que mon alimentation est branchée ? Est-ce que mon instance est démarrée ? + +- sur la performance d’un composant : est-ce que mon site Web est accessible en moins de 0,5s ? Quel est mon niveau d’encre ? Quelle est l’utilisation de la mémoire sur mon serveur ? + +Un service peut avoir une ou plusieurs [métriques](#métrique) associées. + +Un service peut avoir les [statuts](#statut) suivants : OK, ALERTE, CRITIQUE, INCONNU. + +**Voir aussi** : [Mettre un service en supervision](../monitoring/basic-objects/services-create.md) et les autres topics de cette section. + +## Statut + +Indique : + +- la disponibilité d'un [hôte](#hôte) (DISPONIBLE, INDISPONIBLE, INJOIGNABLE), +- la disponibilité ou la performance d'un [service](#service) (OK, ALERTE, CRITIQUE, INCONNU). + +EN ATTENTE n’est pas un statut: les ressources sont "en attente" lorsqu'elles viennent d'être créées et n'ont pas encore été contrôlées. + +**Voir aussi** : [Statuts possibles d'une ressource](../alerts-notifications/concepts.md). + +## Temps d’arrêt + +Voir [**Plage de maintenance**](#plage-de-maintenance). + +## Type de statut + +Indique si un changement de [statut](#statut) est confirmé (HARD) ou non-confirmé (SOFT). Par exemple, l’envoi de notifications ne se déclenche que lors du passage à un statut de type HARD. + +**Voir aussi** : [Types de statuts](../alerts-notifications/concepts.md#types-de-statuts). + +## Widget + +Élément visuel configurable permettant d’afficher des données dans une vue personnalisée. + +**Voir aussi** : [Vues personnalisées](../alerts-notifications/custom-views.md). + +## ZMQ + +Protocole de communication utilisé par Centreon [Gorgone](#gorgone) depuis le [central](#serveur-central) vers les [serveurs distants](#serveur-distant) et les [collecteurs](#collecteur) dans le cadre d’une [architecture distribuée](#architecture-simple-vs-distribuée). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/known-issues.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/known-issues.md new file mode 100644 index 000000000000..8bccfc08b62e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/known-issues.md @@ -0,0 +1,171 @@ +--- +id: known-issues +title: Problèmes connus +--- + +Voici une liste de problèmes connus et/ou bugs que vous pouvez rencontrer. +Nous essayons ici de fournir des contournements. +Nous appliquons des correctifs lorsque cela est nécessaire et améliorons continuellement notre logiciel afin de résoudre les problèmes de prochaines versions. + +## Anomaly Detection + +### Limitations des services Anomaly Detection utilisés en tant qu'indicateurs dans BAM + +Lorsqu'ils sont utilisés en tant qu'indicateurs dans [BAM](../service-mapping/introduction.md), les services Anomaly Detection : + +1. Ne sont ni pris en charge par [CLAPI](../api/clapi.md) ni par [l'API V1](../api/rest-api-v1.md). +2. Ne peuvent pas être configurés via la page **Configuration > Activités métier > Indicateurs**. Il faut d'abord créer une activité métier via la page **Configuration > Activités métier > Activités métier**, puis utiliser le service Anomaly Detection dans l'activité métier. + +#### Contournement + +1. Utilisez l'API v2. +2. Créez d'abord l'activité métier, puis utilisez le service Anomaly Detecion en tant qu'indicateur dans celle-ci (voir ci-dessus). + +### La fonctionnalité d'exclusion de données n'est pas encore disponible + +La fonctionnalité qui vous permet d'exclure des données de calcul du modèle de détection des anomalies apparaît dans l'interface mais n'est pas encore implémentée. Vous obtenez le message "Not implemented yet" lorsque vous essayez d'utiliser cette fonctionnalité. + +#### Contournement + +Il n'existe pas de contournement mais la fonctionnalité sera disponible dans une prochaine version. + +## Centreon Web + +### Environment variable not found: "hostCentreon" + +Lors de l'installation d'un serveur central (ou d'un serveur distant), un message d'erreur apparaît pendant un court instant dans la barre de notification lors de l'accès à l'assistant pour terminer l'installation. Le message d'erreur est le suivant : + +```sql +The controller for URI "/centreon/api/latest/platform/versions" is not callable: Environment variable not found: "hostCentreon". +``` + +#### Contournement + +Il n'y a pas de solution de contournement et ce message n'empêche pas de finaliser l'installation. + +### Vous avez atteint le nombre maximum d'id dans la table centreon_storage.index_data + +#### Contournement + +Exécutez les requêtes suivantes dans MariaDB/MySQL : + +Dans votre base de données temps réel : +```sql +ALTER TABLE index_data MODIFY id bigint unsigned AUTO_INCREMENT; +ALTER TABLE metrics MODIFY index_id bigint unsigned; +``` + +Dans votre base de données de configuration : +```sql +ALTER TABLE ods_view_details MODIFY index_id bigint unsigned; +ALTER TABLE virtual_metrics MODIFY index_id bigint unsigned; +``` + +> Selon la volumétrie de vos métriques, cette opération peut être plus ou moins longue. + +### L'Autologin ne fonctionne pas avec certaines pages + +#### Description + +L'autologin n'est actuellement pas géré pour les pages suivantes : + +* **Supervision > Map (legacy exclus)** +* **Monitoring > Resources Status** +* **Configuration > Hosts > Discovery** +* **Configuration > Business Activity > Business Views** +* **Configuration > Business Activity > Business Activity** + +#### Contournement + +Il n'existe actuellement pas de contournement. + +## Centreon Tableaux de bord + +### Le widget MAP n'est pas encore supporté dans les listes de diffusion publiques + +Il n'y a pas de solution de contournement, mais la fonctionnalité sera disponible dans une prochaine version. + +## Centreon MBI + +### Vous obtenez des erreurs lors de l'import journalier et calcul des statistiques + +#### Description + +Après la mise à jour de MBI, vous obtenez une erreur similaire à la suivante pendant le calcul des statistiques. + +```shell +[Tue Jun 1 18:28:26 2021] [FATAL] mod_bi_hgservicemonthavailability insertion execute error : Out of range value for column 'mtbf' at row 1 +[Tue Jun 1 18:28:26 2021] [FATAL] Program terminated with errors +``` + +Cette erreur est due à un problème de mise à jour des colonnes dans la base de données. + +#### Solution + +1. Vous devez exécuter un script pour mettre à jour les colonnes de la base de données, en entrant cette commande sur le serveur central : + + ```shell + php /usr/share/centreon/www/modules/centreon-bi-server/tools/updateColumnsToBigint.php + ``` + +2. Puis suivez cette procédure pour [reprendre partiellement les données de reporting](../reporting/concepts.md#comment-reprendre-partiellement-les-données-de-reporting-). + +### MBI ne fonctionne pas si les bases de données ont des noms personnalisés + +#### Contournement + +Il n'existe actuellement pas de contournement. + +### L'onglet Paramètres du rapport d'une tâche est vide + +#### Description + +L'onglet **Paramètres du rapport** d'une tâche est vide (**Rapports > Monitoring Business Intelligence > Tâches**) + +#### Contournement + +* Allez à l'onglet **Configuration** de la tâche +* Sélectionnez un modèle différent dans la liste **Modèle de rapport** +* Sélectionnez le bon modèle de rapport +* Retournez sur l'onglet **Paramètres du rapport** + +### Vous avez atteint le nombre maximum d'id pour les colonnes servicemetric_id + +#### Description + +Si vous possédez une très large infrastructure, il est possible que la taille limite de la colonne `servicemetric_id` soit atteinte. + +#### Contournement + +> Selon la volumétrie des données, cette opération peut être plus ou moins longue. + +* Connectez-vous sur le serveur de reporting +* Désactivez la tâche planifiée dans `/etc/cron.d/centreon-bi-engine` : + + ```shell + #30 4 * * * root /usr/share/centreon-bi//bin/centreonBIETL -d >> /var/log/centreon-bi//centreonBIETL.log 2>&1 + ``` + +* Exécutez les requêtes suivantes dans la base de données `centreon_storage` : + + ```sql + ALTER TABLE mod_bi_metricdailyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metrichourlyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metricmonthcapacity MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentiledailyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentilemonthlyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentileweeklyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_servicemetrics MODIFY id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT; + ``` + +* Activez la tâche planifiée dans `/etc/cron.d/centreon-bi-engine` : + + ```shell + 30 4 * * * root /usr/share/centreon-bi//bin/centreonBIETL -d >> /var/log/centreon-bi//centreonBIETL.log 2>&1 + ``` + +* Si l'opération est effectuée pendant le lancement habituel de la tâche planifiée, exécutez la commande suivante en indiquant les bonnes dates de début et de fin : + + ```shell + /usr/share/centreon-bi/bin/centreonBIETL -rIEDP -s YYYY-MM-DD -e YYYY-MM-DD + ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/troubleshooting.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/troubleshooting.md new file mode 100644 index 000000000000..443fb036e2ca --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/resources/troubleshooting.md @@ -0,0 +1,19 @@ +--- +id: troubleshooting +title: Dépannage de la plateforme Centreon +--- + +Cette page répertorie les rubriques de dépannage disponibles dans cette documentation. Cliquez sur un élément pour accéder à un contenu plus détaillé. + +* [Débogage](../administration/parameters/debug.md) +* [Dépanner les erreurs de plugins](/pp/integrations/plugin-packs/getting-started/how-to-guides/troubleshooting-plugins) +* [Dépanner MAP](../graph-views/map-web-troubleshooting.md) +* [Dépanner l'envoi d'emails avec Postfix](../administration/postfix.md#dépanner-lenvoi-demails-avec-postfix) +* [Dépanner les erreurs sur les licences](../administration/licenses.md#dépanner-les-erreurs-sur-les-licences) +* [Dépanner les incidents sur la découverte des hôtes](../monitoring/discovery/troubleshooting-hosts-discovery.md) + +## Sur notre platforme communautaire The Watch + +* Un problème pour mettre en place votre solution IT-100? Consultez notre [groupe dédié](https://thewatch.centreon.com/groups/centreon-it-100-users-54). + +* Retrouvez plus d'[articles de dépannage](https://thewatch.centreon.com/troubleshooting-41) dans notre base de connaissances. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/key-rotation.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/key-rotation.md new file mode 100644 index 000000000000..4f088caea1c5 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/key-rotation.md @@ -0,0 +1,299 @@ +--- +id: key-rotation +title: Rotation de clés +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon ou le dépôt Debian doivent être changées occasionnellement. + +## Nouvelle installation + + + + +Si vous avez installé une nouvelle plateforme Centreon après la publication de la nouvelle clé, aucune action n'est à effectuer hormis +accepter la nouvelle clé lorsque nécessaire. + +```shell +Récupération de la clé à partir de https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +Importation de la clef GPG 0x3FC49C1B : +ID utilisateur : « Centreon Enterprise Server Official Signing Key  » +Empreinte  : 1035 e42c b766 7952 ee42 dee9 a97d aa5a 3fc4 9c1b +Provient de  : https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +Est-ce correct [o/N] : y +``` + + + + +Si vous avez installé une nouvelle plateforme Centreon après la publication de la nouvelle clé, aucune action n'est à effectuer. + + + + +Vous pouvez cependant [vérifier que vous avez la bonne clé](#vérifications). + +## Installation existante + + + + +Si vous avez installé une plateforme Centreon avant la publication de la nouvelle clé, la clé existante doit être remplacée par la nouvelle. + +1. Téléchargez le script suivant : + +```shell +curl -JO https://raw.githubusercontent.com/centreon/centreon/master/centreon/check-centreon-gpg-key.sh +``` + +2. Rendez le script exécutable : + +```shell +chmod u+x check-centreon-gpg-key.sh +``` + +3. Exécutez le script : + +```shell + sh check-centreon-gpg-key.sh +``` + +Ce script : +* vérifie la clé RPM dans la base de données RPM, et vous demande de la supprimer +* vérifie le fichier de clé dans le répertoire **/etc/pki/rpm-gpg** +* vous fait importer la nouvelle clé RPM dans la base de données RPM +* vous fait mettre à jour le paquet RPM **release** (cela supprimera la clé révoquée du répertoire **/etc/pki/rpm-gpg**) +* vous fait vérifier la signature des paquets RPM. + + + + +1. Supprimez l'ancienne clé : + + ```shell + apt-key del 1441882BED29D70CF2E874D65E9C374559B6C02E + ``` + +2. Importez la nouvelle clé : + + ```shell + wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 + apt update + ``` + + + + +## Vérifications + + + + +Vérifiez que la nouvelle clé a été correctement importée. Pour la [nouvelle clé publiée le 14 octobre 2021](#list-of-keys) : + + + + +* Après l'installation, vérifiez si la nouvelle clé a été correctement importée dans la base de données RPM : + +```shell +rpm -qi gpg-pubkey-3fc49c1b-651d4c25 +``` + +Le résultat devrait être le suivant : + +```shell +Name : gpg-pubkey +Version : 3fc49c1b +Release : 651d4c25 +Architecture: (none) +Install Date: Mon Apr 22 11:49:38 2024 +Group : Public Keys +Size : 0 +License : pubkey +Signature : (none) +Source RPM : (none) +Build Date : Wed Oct 4 11:27:33 2023 +Build Host : localhost +Relocations : (not relocatable) +Packager : Centreon Enterprise Server Official Signing Key +Summary : gpg(Centreon Enterprise Server Official Signing Key ) +Description : +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: rpm-4.14.3 (NSS-3) + +mQGNBGFm61IBDADen8ge1CEXjHG/9CWwu1sNkhQ1w5oaExK1FtkVO4ueI8k9jNPn +pZYeD8ZaqouSSFP8Rl0acz2MfNBZvhxLpTUIothea2HcWQ7fsuIJVPnADazDr045 +YhxfjDy6qMsZ2yWfh3cRzpbJ2BqRFsMcMkGgq/et9LUbDy8WJ0O86YDPL5RX4wDE +ske7b8ffRu2uhK29hs76UeuuUIGLrVFqlnkuMC8u9YxVgxSONonja3tdkmhl+qR/ +xCRN++l2GNjwRVwE0TyoGN5kNLHVoPWMGUZmQMG0CRZx4+H1wNualUvzRNn/y9V/ +X9Z2+kjEv1c+Zi7oJ7bsYtHgulqEXVEKT5fTPLXapwhKw+uv23JjP7IAFBLlaNhn +MdRxiM+x2Ej+ZwKaxlXl578wBmpXOlQw6sji+2PM8aWmmO4A4ekYyO5ZRMG0X6OG +Y+doln8oe5djmvVp9iNvdmblHPOFTzDtpsAJRkRywipSnH21dqqMuZFrU1G46nW3 +f150TbH2zSv1AccAEQEAAbREQ2VudHJlb24gRW50ZXJwcmlzZSBTZXJ2ZXIgT2Zm +aWNpYWwgU2lnbmluZyBLZXkgPGFkbWluQGNlbnRyZW9uLmNvbT6JAc4EEwEKADgC +GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQQNeQst2Z5Uu5C3umpfapaP8Sc +GwUCZR1MJQAKCRCpfapaP8ScG4OwDACdOUJekvmHX3LJTdP5xm6mWOnlaAhuPZoo +csMvJp8oEeeZeIXPq3py0IVyBzB1GrXHVdPYZ6VZ9BREJrZO99lxdgME+2lsFfLW +oGeGotr99e5c/28kaM/lZdakHelwo42b3Ik9W/SdHMjWIE3dUhIKRIktC5/R2X6m +Zj7lrAjNdATLyyc6WvrmxoRU3Kw9THb9m+U3Scw+DH9tLNf3gTmXLZLQeN2unGIM +/bo/VGsg8inZxY0+yABNrIS+xNwx9p0/1deDMk631VTvfi5OwxBZOE7Gv2mcOc4P +/wgx//X/wQUGitJ2nGEgndg/ab8VxlSgOPWHsNpDFDT7xmFt/d+FYgEO7aNNl4x/ +KlN5RL/NfToBK4kCUiNY7dCCx13w/bXQoTdstlrtV4F3urGyKy5l3JLD6MWg3SYA +KRaVY9cCU+ZHdITzOSQUHPFEXrxi/4Dl7hfGqL2l1Y6s3DZdJKCO3c1EM4ERVx2Z +Vrd3a4nRnqGbPvpNQhdt/VfPJ1j9K525AY0EYWbrUgEMAKTcgo0/qtDuB44K4qVD +K2MchhNENEfx3EbgybfEuRMd2q6MvYcd1LsKfTKT0vQJnWffPq+BhleHQ0HYNvII +ohKBu24T3LUZnl+bz4Pb4zJXKSm7yVhwg4W4rW+mH6nvyjVzP2KzK2/AI004UKKc +u693eOpvT5LLlCFz47gXGysJH9v2dDI7u3r7G/xZRd29V+aLk1T+O2RI31HXVSSF +Zqxnwh1albTTSCOCiae7WeG4ON0jluBLUZCRsTvWG7osubQzxcEO9zT/Ilwdv8ig +yiYc78j8WPFLb4ngukDOr65NpVWf0gyqf1CtpDxhNue9myTVXce6w3oXW4npX3Ze +KZwtaCYyvrfuKhXXG8fy0M0mGVvxRVsVJGgq1h1j7dJQI+d9yJmZrYxRmDtO7jgi +r1YBk/j5noTzbjUSyuztkUGJwwrOXCI+CE/9jKZRFsn5dz8hmRGz/64v13ctNV6b +Pz1zFDGGeav4ZJzyyXM0XI7LDY834WhCQHwXX6lkXqYp6wARAQABiQG2BBgBCgAg +AhsMFiEEEDXkLLdmeVLuQt7pqX2qWj/EnBsFAmUdSvkACgkQqX2qWj/EnBuoNAwA +hwst2AZCSmNNDUPSypCvpTkKdOPG315kJHQv/rcqDkCG2p2jvfT08Kd2636ErPBU +7yCDOvanNzSOloNKodOsY7MrcGVnY5qSyJPxHNwp0niR+eGtwBpowLf6wO7LzWL+ +UOBzcAhgL+xIBaxlGC2CaV+ilq+wVqsJkBvJSdr/L5fydpW8y0Qk+O2Deml4bQVF +tKRSTz+pDuII63189T7B5LnlWExNmhF8U0R+MEqZb+TWMorBrEy5giSsMV+LgXy5 +8lBqheQL3uasxNH/zaihBHA0sp7jpswiBOSnwiSOaRJOhGk/BLksCnf8yFnPEUMa +CqskzKhfZDOYBol226SMavErj/6/5fy8dfoLYsDUW2UB0ojqGSYIYG9invVhEg5+ +exr+xNI6MB01EJkcSw/GowXUh5MFDtSdtRNGtZxymEObjkauLj9L1daAkHWYdFmn +LCEHvNUqYnxkVFiNRQHlY3ZoZMYOmLleEbTPnGiRmukG+EipqeI1nmeFUmPXeDnC +=sZGh +-----END PGP PUBLIC KEY BLOCK----- +``` + +* Vérifiez que la seule clé Centreon présente dans la base de données RPM est la suivante : **gpg-pubkey-3fc49c1b-651d4c25**. + +```shell +rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' +``` + +Le résultat devrait être le suivant : + +```shell +gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) ) +gpg-pubkey-f2ee9d55-560cfc0a gpg(CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) ) +gpg-pubkey-3fc49c1b-651d4c25 gpg(Centreon Enterprise Server Official Signing Key ) +``` + + + + +* Vérifiez si la nouvelle clé a été correctement importée dans la base de données RPM : + +```shell +rpm -qi gpg-pubkey-3fc49c1b-651d4c25 +``` + +Le résultat devrait être le suivant : + +```shell +Name : gpg-pubkey +Version : 3fc49c1b +Release : 651d4c25 +Architecture: (none) +Install Date: Mon Apr 22 11:49:38 2024 +Group : Public Keys +Size : 0 +License : pubkey +Signature : (none) +Source RPM : (none) +Build Date : Wed Oct 4 11:27:33 2023 +Build Host : localhost +Relocations : (not relocatable) +Packager : Centreon Enterprise Server Official Signing Key +Summary : gpg(Centreon Enterprise Server Official Signing Key ) +Description : +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: rpm-4.14.3 (NSS-3) + +mQGNBGFm61IBDADen8ge1CEXjHG/9CWwu1sNkhQ1w5oaExK1FtkVO4ueI8k9jNPn +pZYeD8ZaqouSSFP8Rl0acz2MfNBZvhxLpTUIothea2HcWQ7fsuIJVPnADazDr045 +YhxfjDy6qMsZ2yWfh3cRzpbJ2BqRFsMcMkGgq/et9LUbDy8WJ0O86YDPL5RX4wDE +ske7b8ffRu2uhK29hs76UeuuUIGLrVFqlnkuMC8u9YxVgxSONonja3tdkmhl+qR/ +xCRN++l2GNjwRVwE0TyoGN5kNLHVoPWMGUZmQMG0CRZx4+H1wNualUvzRNn/y9V/ +X9Z2+kjEv1c+Zi7oJ7bsYtHgulqEXVEKT5fTPLXapwhKw+uv23JjP7IAFBLlaNhn +MdRxiM+x2Ej+ZwKaxlXl578wBmpXOlQw6sji+2PM8aWmmO4A4ekYyO5ZRMG0X6OG +Y+doln8oe5djmvVp9iNvdmblHPOFTzDtpsAJRkRywipSnH21dqqMuZFrU1G46nW3 +f150TbH2zSv1AccAEQEAAbREQ2VudHJlb24gRW50ZXJwcmlzZSBTZXJ2ZXIgT2Zm +aWNpYWwgU2lnbmluZyBLZXkgPGFkbWluQGNlbnRyZW9uLmNvbT6JAc4EEwEKADgC +GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQQNeQst2Z5Uu5C3umpfapaP8Sc +GwUCZR1MJQAKCRCpfapaP8ScG4OwDACdOUJekvmHX3LJTdP5xm6mWOnlaAhuPZoo +csMvJp8oEeeZeIXPq3py0IVyBzB1GrXHVdPYZ6VZ9BREJrZO99lxdgME+2lsFfLW +oGeGotr99e5c/28kaM/lZdakHelwo42b3Ik9W/SdHMjWIE3dUhIKRIktC5/R2X6m +Zj7lrAjNdATLyyc6WvrmxoRU3Kw9THb9m+U3Scw+DH9tLNf3gTmXLZLQeN2unGIM +/bo/VGsg8inZxY0+yABNrIS+xNwx9p0/1deDMk631VTvfi5OwxBZOE7Gv2mcOc4P +/wgx//X/wQUGitJ2nGEgndg/ab8VxlSgOPWHsNpDFDT7xmFt/d+FYgEO7aNNl4x/ +KlN5RL/NfToBK4kCUiNY7dCCx13w/bXQoTdstlrtV4F3urGyKy5l3JLD6MWg3SYA +KRaVY9cCU+ZHdITzOSQUHPFEXrxi/4Dl7hfGqL2l1Y6s3DZdJKCO3c1EM4ERVx2Z +Vrd3a4nRnqGbPvpNQhdt/VfPJ1j9K525AY0EYWbrUgEMAKTcgo0/qtDuB44K4qVD +K2MchhNENEfx3EbgybfEuRMd2q6MvYcd1LsKfTKT0vQJnWffPq+BhleHQ0HYNvII +ohKBu24T3LUZnl+bz4Pb4zJXKSm7yVhwg4W4rW+mH6nvyjVzP2KzK2/AI004UKKc +u693eOpvT5LLlCFz47gXGysJH9v2dDI7u3r7G/xZRd29V+aLk1T+O2RI31HXVSSF +Zqxnwh1albTTSCOCiae7WeG4ON0jluBLUZCRsTvWG7osubQzxcEO9zT/Ilwdv8ig +yiYc78j8WPFLb4ngukDOr65NpVWf0gyqf1CtpDxhNue9myTVXce6w3oXW4npX3Ze +KZwtaCYyvrfuKhXXG8fy0M0mGVvxRVsVJGgq1h1j7dJQI+d9yJmZrYxRmDtO7jgi +r1YBk/j5noTzbjUSyuztkUGJwwrOXCI+CE/9jKZRFsn5dz8hmRGz/64v13ctNV6b +Pz1zFDGGeav4ZJzyyXM0XI7LDY834WhCQHwXX6lkXqYp6wARAQABiQG2BBgBCgAg +AhsMFiEEEDXkLLdmeVLuQt7pqX2qWj/EnBsFAmUdSvkACgkQqX2qWj/EnBuoNAwA +hwst2AZCSmNNDUPSypCvpTkKdOPG315kJHQv/rcqDkCG2p2jvfT08Kd2636ErPBU +7yCDOvanNzSOloNKodOsY7MrcGVnY5qSyJPxHNwp0niR+eGtwBpowLf6wO7LzWL+ +UOBzcAhgL+xIBaxlGC2CaV+ilq+wVqsJkBvJSdr/L5fydpW8y0Qk+O2Deml4bQVF +tKRSTz+pDuII63189T7B5LnlWExNmhF8U0R+MEqZb+TWMorBrEy5giSsMV+LgXy5 +8lBqheQL3uasxNH/zaihBHA0sp7jpswiBOSnwiSOaRJOhGk/BLksCnf8yFnPEUMa +CqskzKhfZDOYBol226SMavErj/6/5fy8dfoLYsDUW2UB0ojqGSYIYG9invVhEg5+ +exr+xNI6MB01EJkcSw/GowXUh5MFDtSdtRNGtZxymEObjkauLj9L1daAkHWYdFmn +LCEHvNUqYnxkVFiNRQHlY3ZoZMYOmLleEbTPnGiRmukG+EipqeI1nmeFUmPXeDnC +=sZGh +-----END PGP PUBLIC KEY BLOCK----- +``` + +* Vérifiez que l'ancienne clé n'apparaît plus dans la base de données RPM (il devrait y avoir uniquement la clé **gpg-pubkey-3fc49c1b-651d4c25**): + +```shell +rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' +``` + +Le résultat devrait être le suivant : + +```shell +gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) ) +gpg-pubkey-f2ee9d55-560cfc0a gpg(CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) ) +gpg-pubkey-3fc49c1b-651d4c25 gpg(Centreon Enterprise Server Official Signing Key ) +``` + + + + + + + +Pour afficher des informations détaillées sur la nouvelle clé et vérifier que celle-ci est correctement installée, exécutez la commande suivante : + +```shell +apt-key list "C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4" +``` + +Le résultat devrait être le suivant : + +```shell +pub ed25519 2024-04-11 [SC] + C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4 +uid [inconnue] Centreon APT +sub cv25519 2024-04-11 [E] +``` + + + + + +## Liste des clés + +| OS | Empreinte | Validité | +| -- |---------------------------------------------------|----------------------------------------------| +| Alma/RHEL/Oracle Linux | 0E52 401B 40F6 044F 928C 0B7B F6FC 4AE3 8A76 52BC | révoquée le 14 octobre 2021 | +| Alma/RHEL/Oracle Linux | [1035 E42C B766 7952 EE42 DEE9 A97D AA5A 3FC4 9C1B](https://yum-gpg.centreon.com/RPM-GPG-KEY-CES) | valide à partir du 14 octobre 2021 | +| Debian | 1441 882B ED29 D70C F2E8 74D6 5E9C 3745 59B6 C02E | révoquée le 11 avril 2024 | +| Debian | [C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4](https://apt-key.centreon.com) | valide à partir du 12 avril 2024 | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/security.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/security.md new file mode 100644 index 000000000000..926a0ac04358 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/security.md @@ -0,0 +1,121 @@ +--- +id: security +title: La sécurité chez Centreon +--- + +La plateforme Centreon est utilisée par des entreprises du monde entier pour éliminer les pannes +informatiques et leur coût et aligner leurs opérations informatiques sur leurs objectifs de croissance +et d'excellence opérationnelle. +Centreon s'engage pour la sécurité des données sur lesquelles elles s'appuient et améliore en +permanence les politiques, les processus et les produits pour répondre aux normes les plus élevées. +Cette page regroupe des informations à ce sujet. + +## La sécurité “by design” + +### Process de développement sécurisé + +La sécurité « by design » (dès la conception) est une priorité tout au long du processus de +développement de Centreon. Elle garantit que les produits et services sont conçus dès le départ pour +répondre aux exigences de sécurité des données, et incluent le contrôle d'accès, la surveillance et le +chiffrement des données. + +Un pipeline d'intégration continue est utilisé pour automatiser le processus de livraison d'images/de +packages. Les modifications de code sont revues dans une première phase par des analyses de +qualité du code automatisées, puis doivent être validées par 2 développeurs avant d'être acceptées, +et une analyse de code statique est exécutée sur chaque version afin que les problèmes de sécurité +potentiels puissent être détectés au plus tôt. + +Lorsque les artefacts déployables sont disponibles, toutes les modifications sont testées par les +ingénieurs d'Assurance Qualité. + +Les utilisateurs externes de Centreon (utilisateurs de la communauté ou de l'entreprise) peuvent +également tester et utiliser n'importe quelle version bêta en déployant les packages des référentiels +publics dits « unstable ». + +### Opensource + +Centreon distribue le cœur de sa plateforme sous licences GPLv2 et Apache Open Source, ce qui +permet aux [contributeurs](https://github.com/centreon/.github/blob/master/CONTRIBUTING.md) d'étendre les fonctionnalités. Toute personne souhaitant contribuer et +participer au développement du projet doit respecter le [Code de Conduite](https://github.com/centreon/.github/blob/master/CODE_OF_CONDUCT.md) de Centreon. + +Toute contribution est proposée sous forme de « pull request » et livrée avec des [informations](https://github.com/centreon/.github/blob/master/PULL_REQUEST_TEMPLATE.md) qui +facilitent le processus de révision par Centreon. L'examen comprend la qualité du code, les tests +fonctionnels, la documentation ainsi que la sécurité et détermine si la contribution est acceptée ou +rejetée. + +### Test de la sécurité + +En plus des contrôles de sécurité effectués via l'intégration continue, des tests d'intrusion manuels +sont exécutés chaque année pour identifier de manière indépendante les vulnérabilités et affiner les +recommandations des meilleures pratiques pour sécuriser les installations. + +## Réponse aux vulnérabilités + +À réception d'un rapport de vulnérabilité, Centreon tente de répliquer la vulnérabilité signalée et +construit un plan d'action avec des délais variant en fonction de la gravité calculée. + +Centreon fournit un retour d'information au rapporteur de la vulnérabilité et travaille avec lui pour +atténuer/corriger la vulnérabilité. + +Abonnez-vous avec le bouton "Subscribe" aux [bulletins de sécurité](https://thewatch.centreon.com/latest-security-bulletins-64) sur notre plateforme communautaire The Watch pour être au courant des vulnérabilités corrigées. + +### Score de vulnérabilité + +Centreon utilise la version 3.1 du Common Vulnerability Scoring System (CVSS) dans le cadre de son +processus standard d'évaluation des vulnérabilités potentielles signalées. + +Centreon calcule le score environnemental en partant du principe que le produit Centreon testé est +configuré comme décrit dans la documentation en ligne du produit et qu’il est placé derrière des +protections appropriées. + +En fonction du score CVSS de la vulnérabilité, l'équipe de sécurité de Centreon détermine l'urgence +de la remédiation : + + | Score CVSS | Rémédiation | +|---------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 9.0 - 10 (Critique) | Centreon lance immédiatement une action corrective, développe un correctif ou une solution de contournement et la fournit aux clients dans les plus brefs délais commercialement acceptables sous la forme d'un correctif et/ou d'une mise à jour | +| 7.0 - 8.9 (Haut) | Centreon fournit un correctif ou une solution de contournement avec la prochaine maintenance planifiée sous forme de mise à jour (généralement dans les 30 jours) | +| 4.0 - 6.9 (Moyen) | Centreon fournit un correctif ou une solution de contournement avec la prochaine version prévue (généralement dans les 6 mois) | +| 0.1 – 3.9 (Bas) | Centreon fournit un correctif ou une solution de contournement dans les deux prochaines versions prévues du produit Centreon (généralement dans les 12 mois) | + +### Signaler une vulnérabilité + +Si vous pensez avoir trouvé une faille de sécurité, veuillez nous la signaler comme décrit dans le +[processus de signalement](https://github.com/centreon/centreon/security/policy#reporting-a-vulnerability). + +Veuillez ne pas exposer les vulnérabilités de sécurité via le signalement GitHub de bogue dit « Issue ». + +Les utilisateurs open source peuvent envoyer un email à [security@centreon.com](mailto:security@centreon.com). Si possible, chiffrez votre message avec +la [clé PGP](https://github.com/centreon/centreon/security/policy#pgp-information) +fournie. Pour les utilisateurs des solutions commerciales, merci de faire un rapport via le [portail support](https://support.centreon.com/). + +Vous devriez recevoir une réponse dans les 48 heures. Si, pour une raison quelconque ce n’est pas le +cas, n'hésitez pas à nous relancer par e-mail pour vous assurer que nous avons reçu votre message initial. + +## Sécuriser votre installation Centreon + +### Configuration sécurisée + +La documentation Centreon inclut les bonnes pratiques pour sécuriser les [composants de supervision](../administration/secure-platform.md) +ainsi que la [plateforme MAP](../graph-views/secure-your-map-platform.md). Centreon recommande aux administrateurs de lire attentivement ces +pages lors de la planification d'une installation et de partager ces directives avec leurs équipes de +sécurité internes. + +### Service d’audit de la sécurité + +Les équipes consulting de Centreon proposent des services d'audit visant à optimiser les +déploiements et la valeur apportée par le logiciel. Ces services d'audit incluent également des +contrôles de sécurité et des recommandations telles que : + +- Sécurité du système (mots de passe, ACL, configuration renforcée) +- Configuration sécurisée de la base de données +- Configuration des accès au réseau +- Sécurité des applications (chiffrement, utilisateurs, ACL). + +Assurez-vous de contacter votre commercial Centreon ou votre partenaire conseil pour initier cet +audit et planifier des améliorations le plus tôt possible. + +## Contact sécurité Centreon + +Si vous avez des questions concernant la sécurité, contactez notre équipe de support (si vous êtes +client) ou notre équipe de sécurité à [security@centreon.com](mailto:security@centreon.com). diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/gdpr-compliance.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/gdpr-compliance.md new file mode 100644 index 000000000000..1ab58edfa8ef --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/gdpr-compliance.md @@ -0,0 +1,52 @@ +--- +id: gdpr-compliance +title: Conformité RGPD +--- + +> Ce contenu s'adresse aux personnes utilisant Centreon via un fournisseur de services gérés (MSP). + +## Stockage des informations d'identification de l'utilisateur + +Pour chaque client du fournisseur, le serveur Centreon central stocke en base de données les informations d'identification de +l'utilisateur afin d'accéder au serveur de supervision : + + - Nom (name) + - Pseudo (alias/login), mot de passe + - Adresse mail + - Numéro de téléphone (optionnel, pour notification associée) + +Le serveur central enregistre également des paramètres additionnels pour chaque utilisateur : + + - Langue, fuseau horaire + - Paramétrage de la notification + - Groupes de contrôle d'accès (ACL) + +Gestion de l'information : + - Chaque utilisateur peut accéder à ses informations via le menu **Administration > Paramètres > Mon compte**. + - Les utilisateurs peuvent être créés, modifiés et supprimés depuis le menu **Configuration > Utilisateurs** par un + utilisateur possédant les droits nécessaires. + +## Journalisation des actions utilisateur + +Si un utilisateur possède les droits de configuration de la supervision (définis dans les accès utilisateur), une entrée dans le +journal stockée en base de données et liée à son compte utilisateur sera présente pour chaque modification réalisée : + - L'accès aux journaux est disponible via le menu **Administration > Logs** avec possibilité de filtrer par utilisateur. + - Ces journaux ne peuvent être supprimés qu'en accédant à la base de données SQL et en supprimant tout enregistrement + pertinent. + +## Transactions HTTP + +Centreon recommande de sécuriser l'accès à la plate-forme de surveillance en activant le mode HTTPS sur le serveur Apache. Un +certificat officiel signé est requis pour assurer un niveau de sécurité minimum. + +## Authentification + +Afin de rester cohérent avec votre politique de sécurité et de mieux gérer le cycle de vie et les approbations des +utilisateurs, Centreon dispose d'une option pour activer la liaison vers un annuaire Active Directory ou LDAP. Centreon +recommande d'activer cette option et de ne pas utiliser un compte local. + +## Sauvegarde + +Centreon fournit un module d'extraction de données Centreon pour permettre la mise en place d'une politique de sauvegarde des +données de supervision. Centreon recommande fortement d'activer ce module et surtout d'exporter la sauvegarde sur un serveur +tiers. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md new file mode 100644 index 000000000000..dbf9b610e574 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md @@ -0,0 +1,120 @@ +--- +id: what-is-centreon-ceip +title: Qu'est-ce que Centreon CEIP? +--- + +Rejoignez le programme d’amélioration de l’expérience utilisateur Centreon. + +## Programme d’amélioration de l’expérience utilisateur Centreon + +Centreon s'efforce en permanence de comprendre et d'anticiper les besoins de ses +clients afin de fournir des produits et des solutions de qualité. Le programme +d'amélioration de l'expérience client, appelé Centreon Customer Experience +Improvement Program en anglais ou CEIP, bénéficiera à nos utilisateurs en nous +permettant de comprendre comment vous utilisez notre logiciel; ceci afin que +nous puissions vous fournir une amélioration continue de votre expérience +logicielle Centreon. Le programme CEIP comprend deux composantes : + + - Une télémétrie simple, + - Des statistiques avancées sur l'usage de la suite logicielle Centreon, + - L'usage des fonctionnalités au sein de l'interface utilisateur. + +La télémétrie collecte anonymement et automatiquement les données suivantes : + + - Informations telles que la version du système d'exploitation du serveur + principal Centreon de la plate-forme, ainsi que le nom et la version du SGBD + - Informations sur les produits Centreon, telles que le nombre de serveurs et + le numéro de version des composants installés sur le serveur principal de + Centreon (modules et widgets) + - Informations sur la configuration Centreon tels que le nombre d'hôtes, de + services, de groupes d'hôtes et les services, ainsi que l'usage des modules + et widgets + - Le fuseau horaire du serveur Centreon + +Les statistiques avancées portent sur l'usage des composants additionnels tels que l'usage des widgets dans les vues +personnalisées, la gestion des slots pour Centreon DSM, l'usage des connecteurs de supervision déployés, etc. + +L'usage des fonctionnalités au sein de l'interface utilisateur comprend l'accès aux différents menus de Centreon, ainsi +que les actions réalisées par l'utilisateur au sein de l'interface (clics sur les boutons, focus sur un champ du +formulaire, etc.) + +## Questions fréquemment posées (FAQ) + +### Quels sont les paramètres de configuration possibles du programme CEIP ? + +La participation au programme est activée par défaut. Cependant l'envoi des statistiques avancées et de l'usage des +fonctionnalités peut être configuré dans l'interface Web. Les options sont : + + - Activé + - Désactivé + +Les utilisateurs peuvent modifier l’option du menu **Administration \> +Paramètres \> Centreon UI \> Envoyer des statistiques anonymes** à tout moment. + +### Que fera Centreon avec les informations collectées ? + +Les informations collectées seront utilisées pour mieux comprendre comment les +clients utilisent les produits Centreon et comment les améliorer, en résolvant +les problèmes et en fournissant les nouvelles fonctionnalités les plus utiles de +manière beaucoup plus rationnelle. + +### Les informations collectées sont-elles anonymes ? + +OUI \! De plus, Centreon prend de nombreuses précautions pour protéger la +sécurité des informations collectées, transmises et stockées. Nous collectons +uniquement les données des produits Centreon. Le programme n'effectue que les +actions décrites sur cette page, et uniquement si vous décidez de participer. Ce +programme ne peut pas collecter d'informations à votre insu ou sans votre +consentement. + +### Comment fonctionne le programme d'amélioration de l'expérience Centreon ? + +Il s'agit d'un processus automatisé qui ne nécessite aucun effort de +participation et est transparent pour les utilisateurs. Les utilisateurs +choisissent simplement de participer, en accordant à Centreon l’autorisation de +recevoir des données anonymes de manière sécurisée. + +### Vais-je recevoir du spam si je participe au programme ? + +Vous ne recevrez pas de courrier électronique de la part de Centreon concernant +ce programme, que vous y participiez ou non. Nous ne collectons pas +d'informations personnelles identifiables dans le cadre de ce programme qui +seraient utilisées pour vous identifier ou vous contacter. + +### Ai-je besoin d'une connexion Internet ? + +Une connexion Internet est requise pour participer à ce programme. Cependant, +vous n'avez pas besoin d'être connecté tout le temps. Lorsqu'une connexion +Internet devient disponible, les informations sont automatiquement transmises +avec un impact minimal sur votre connexion. + +### Puis-je voir les données collectées avant leur envoi à Centreon ? + +Les informations ne peuvent pas être affichées via l'interface. Cependant, vous pouvez afficher +les données transmises à l'aide de la commande suivante : + +```shell +php /usr/share/centreon/cron/centreon-send-stats.php -d +``` + +Ce programme est conçu pour +fonctionner avec des milliers d'utilisateurs sans affecter leur utilisation du +produit. Les données sont donc envoyées automatiquement. Les données sont +également codées et compressées pour pouvoir être traitées efficacement. + +### Combien de temps dure le programme ? + +Les informations sont collectées tant que vous utilisez la version du produit +pour laquelle vous avez accepté de participer ou jusqu'à ce que vous décidiez de +ne plus participer au programme. + +### A quoi sert l'ID d'installation anonyme ? + +Lors du premier démarrage du serveur Centreon, un numéro aléatoire est généré, +l’ID d’installation anonyme. Cet ID est unique au serveur. Il permet d'agréger +toutes les informations en provenance d’un même serveur tout en garantissant +l’anonymat du serveur. + +### Quels produits prennent en charge le programme d'amélioration de Centreon Experience ? + +Le programme CEIP concerne le serveur Centreon central. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-management.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-management.md new file mode 100644 index 000000000000..6b0a450cb6fc --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-management.md @@ -0,0 +1,474 @@ +--- +id: ba-management +title: Gestion +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Les activités métier + +*Aussi appelées Business activities ou BA* + +> Lorsque vous créez/modifiez une activité métier, il faut générer et +> pousser la configuration pour que les modifications soient prises en +> compte + +### Définition + +Les activités métier sont le coeur de l'extension **Centreon BAM**, +elles constituent des indicateurs agrégés, basées sur les ressources +supervisées par Centreon. Sur la base de la valeur calculée, le système +va être en mesure de notifier les utilisateurs en cas de dépassement de +seuils, révélateur d'un dysfonctionnement du service IT ou de +l'application modélisée. + +### Méthodes de calcul + +Une des notions importantes à comprendre lorsqu'on manipule des BA est +la méthode de calcul appliquée. Il y a quatre méthodes de calcul +disponibles afin de rendre compte de l'état d'une BA: + +- **Best Status**: Lorsque vous souhaitez suivre le dysfonctionnement + de TOUS les indicateurs au même moment +- **Worst Status**: Lorsque vous souhaitez savoir dès qu'un indicateur + ne fonctionne plus +- **Ratio**: Lorsque vous souhaitez modéliser des concepts de + **Cluster** en spécifiant un pourcentage ou un nombre de resources + maximum en statut Critique que vous ne voulez pas dépassez +- **Impact**: Lorsque vous souhaitez définir finement l'impact de + chaque indicateur en fonction de leurs poids (<=> sévérité) + +Ci-dessous des explications et exemples pour chacune des méthodes + + + + +L'ordre appliqué pour "Best" status est le suivant : +`OK > Unknown > Warning > Critical > Pending` + +![image](../assets/service-mapping/guide/business-activity-best-status-tree.png) + +Et la configuration correspondante: + +![image](../assets/service-mapping/guide/business-activity-best-status.png) + + + + +L'ordre appliqué pour "Worst" status est le suivant : +`CRITICAL > Warning > Unknown > OK > Pending` + +![image](../assets/service-mapping/guide/business-activity-worst-status-tree.png) + +Et la configuration correspondante: + +![image](../assets/service-mapping/guide/business-activity-worst-status.png) + + + + +La méthode ratio permet de modéliser des concepts de "Cluster" et +s'appuie sur le **nombre ou pourcentage d'indicateurs en statut +CRITIQUE** et compare ces nombres à des seuils (nombre/pourcentage) +qu'il ne faut pas dépasser. + +Dans l'exemple suivant, on souhaite que le nombre d'indicateurs en +statut Critique soit inférieur à 80%, lorsque ce seuil sera dépassé, la +BA passera en statut "Critique" à son tour. + +![image](../assets/service-mapping/guide/business-activity-ratio-tree.png) + +Et la configuration correspondante: + +![image](../assets/service-mapping/guide/business-activity-ratio.png) + +Configuration des seuils de la BA: + +- Seuil **Critique**: si le nombre/pourcentage d'indicateur en statut + **Critique** dépasse ce nombre/pourcentage, la BA sera **Critique** +- Seuil **Warning**: si le nombre/pourcentage d'indicateur en statut + **Critique** dépasse ce nombre/pourcentage, la BA sera **Warning** + + + + +> Ce mode est le plus compliqué à utiliser mais vous permet de modéliser +> finement des concepts de degré d'impact en fonction des statuts et de +> l'indicateur considéré + +Dans cette méthode de calcul, l'activité métier a une "santé" de 100% au +départ et ses indicateurs viennent faire chuter ce nombre en fonction de +leur statut et de l'impact configuré. Le statut de l'activité métier +dépendra alors des paramètres présents dans la section Indicateur. + +- **Seuil dégradé (warning)** : entre 100 et 0. Seuil à partir duquel + l'activité métier sera en état dégradé. Ce seuil permet à l'activité + métier de passer en "orange" (dégradé) et de déclencher l'envoi de + notification si configuré. +- **Seuil non fonctionnel (critical)** : entre 100 et 0 (doit être + inférieur au seuil dégradé). Seuil à partir duquel l'activité métier + sera en état non fonctionnel.Ce seuil permet à l'activité métier de + passer en "rouge" (non fonctionnel) et de déclencher l'envoi de + notification si configuré. + +![image](../assets/service-mapping/guide/business-activity-impact.png) + + + + +### Création d'une activité métier + +Pour créer une nouvelle activité métier, cliquer sur **+AJOUTER**. Le +formulaire ci-dessous apparaît : + +![image](../assets/service-mapping/guide/business-activity-add.png) + +La création de l'activité métier se fait directement dans le panneau qui +s'ouvre. Après avoir donné un nom (obligatoire & unique) à votre +activité métier, vous devrez configurer plusieurs sections. La section +**Indicateur** est la plus importante. +Les caractères suivants ne sont pas autorisés dans le nom d'une BA : `~!$%^&|'"<>?,()=*{}` et les espaces. + +#### Indicateurs + +C'est la section la plus important: c'est ici que vous définissez quels +indicateurs vont être liés à la BA et quelle méthode de calcul sera +appliquée. + +Vous pouvez lier ces types d'indicateurs à une activité métier: + +- Services +- D'autres activités métier +- Meta-services +- Règles booléennes +- Services de type [Anomaly Detection](../monitoring/anomaly-detection.md) + +**Méthode de calcul** + +Vous pouvez choisir parmi les 4 méthodes suivantes: + +- Best status +- Worst status +- Ratio +- Impact + +Une fois les indicateurs et la méthode de calcul sélectionnés, vous +pouvez en option, définir la manière dont les **plages de maintenance +planifiées** des indicateurs vont se repercuter sur l'activité +métier: + +- **Ignore the downtime**: Dans ce cas, les plages de maintenance + positionnées sur les indicateurs seront ignorées, la BA sera + impactée +- **Inherit the downtime**: Dans ce cas, la BA hérite automatiquement + de la plage de maintenance dès lorsqu'un indicateurs l'impactant est + en plage de maintenance. L'héritage suit ces règles: + - Une activité métier hérite des plages de maintenance planifiées + de ses KPIs lorsque son statut est Non-OK + - Lorsqu'une activité métier est en plage de maintenance planifiée + grâce au mécanisme d'héritage, dès que le statut de l'activité + métier remonte à OK, alors la plage de maintenance planifiée est + arrêtée + - Lorsqu'une activité métier est en plage de maintenance planifiée + grâce au mécanisme d'héritage, si un des impacts provient d'un + de ses indicateurs n'étant pas sous plage de maintenance + planifiée, alors la plage de maintenance de la BA est arrêtée +- **Ignore the indicator in the calculation**: lorsqu'un indicateur + est en plage de maintenance planifiée, son statut/impact est ignoré + du calcul + +Une fois la configuration du calcul de la BA effectuée, il vous est +possible de configurer les éléments suivant dans les différentes +sections: + +- Vue métier: Pour lier l'activité métier à une vue métier +- Affichage: Paramètrer les options d'affichage de l'activité métier +- Notification: à quels moment et qui sera notifié en cas de + dégradation de service sur cette activité métier +- Rapport: paramètres gérant les SLA cibles et période de reporting à + utiliser dans les widgets et rapports (lié à l'extension Centreon + MBI) +- Gestionnaire d'évènements: paramètres permettant l'exécution de + script d'auto-correction + +#### Vue métier + +Lier l'activité métier à une ou plusieurs "Vue métier". Cela permet +de rendre disponible l'activité métier aux utilisateurs non-admin et de +configurer les widgets & rapports. + +#### Affichage + +- Afficher sur un collecteur distant: Permet de rendre accessible + l'activité métier sur un collecteur distant à condition que TOUS + les indicateurs liés (y compris aux niveaux inférieurs) soit visible + du collecteur distant +- Geo-coordinate: définir la position géographique de l'activité + métier pour l'afficher sur une GeoView (Centreon Map) +- Nom de la vue d'infrastructure associée: rendre accessible en un + clic l'accès à la vue d'infrastructure supportant l'activité + métier. + +#### Notification + +Configurer à quel moment et qui doit être notifié lors d'une +dégradation de l'état de l'activité métier. Il est également possible +de définir les propriétés d'escalade. Lors de la liaison d'une +escalade à une activité métier, ce sont les propriétés des service de +l'escalade qui sont utilisés + +#### Rapport + +- Période de rapport par défaut: la disponibilité calculées et + affichées dans les widgets & rapports sera calculée sur cette + période +- Service Level Agreement en %(SLA): seuil en pourcentage visible dans + les widgets & rapports auquel la disponibilité et l'activité est + comparée +- Service Level Agreement en min(SLA): seuil en minute visible auquel + le temps indisponible est comparée +- Service Level Objective en %(SLO): seuil additionnel en pourcentage + qui peut être utilisé comme un seuil de SLA "warning". +- Service Level Objective en min(SLO): seuil additionnel en minute qui + peut être utilisé comme un seuil de SLA "warning". +- Plages de reporting additionnelles: permet de calculer les + statistiques de l'activité métier sur d'autres plages horaire + +> Dans les champs **Période de rapport par défaut** et **Plages de reporting additionnelles**, n'utilisez pas de périodes temporelles comprenant des [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab) : les exceptions ne seront pas prises en compte. + +#### Gestionnaire d'évènements + +Pour activer et associer des mécanisme d'auto-remédiation en fonction +du statut de l'activité métier + +### Liste + +La gestion des activité(s) métier est réalisée via le menu +`Configuration > Activités métiers > Activités métiers`. + +![image](../assets/service-mapping/guide/business-activity-listing.png) + +Des actions de duplication, suppression, activation/désactivation ou +changement massif sont possible lorsque vous cochez une ou plusieurs +lignes + +> La suppression d'une activité métier la supprime définitivement avec +> l'ensemble des données et indicateurs qui lui sont rattachés. + +## Indicateurs (KPI) + +> Lorsque vous créez/modifiez un indicateur, il faut générer et +> pousser la configuration pour que la modification soit prise en compte + +### Définition + +Un indicateur est un point de contrôle présent dans le système de +supervision qui est associé à une BA. Un BA peut avoir 1 à n indicateurs +et ces indicateurs peuvent être de cinq types : + +- Indicateurs "Service" (les services déployés par groupes **ne sont + pas** disponibles) +- Indicateurs "Meta Service" +- Indicateurs "Booléen" +- Indicateurs "Activité métier" +- Indicateurs basés sur des services de type [Anomaly Detection](../monitoring/anomaly-detection.md) + +Un indicateur impacte uniquement sa BA parente lorsque le statut de la +ressource qui lui est rattachée est en état confirmé ("hard") dans la +supervision. + +L'indicateur va influer sur la valeur de la BA grâce à un mécanisme +d'impact sur sa santé. Ce choix des valeurs des impacts est laissé à +l'appréciation de l'utilisateur. Pour commencer, nous conseillons +d'utiliser le mode "standard" se reposant sur des mots clés +(mineur,bloquant..) plutôt que le mode avancé se basant sur des valeurs +numérique d'impact, plus compliqué à déterminer. + +A chaque changement de statut d'un indicateur, l'impact, s'il existe, +va être retranché à la santé de la BA. La santé minimum d'une BA est 0 +même si la somme de ses impacts en cours est supérieur à 100. + +### Liste des indicateurs (KPI) + +La gestion des indicateurs peut être réalisée de deux manières: + +- Dans l'activité métier comme vu précédemment +- Au travers du menu **Configuration > Activités métiers > Indicateurs (KPI)** + uniquement pour les BA utilisant le mode de calcul "Impact" + +![image](../assets/service-mapping/guide/conf_kpi.png) + +| Colonne | Description | +|---------------------------|-------------------------------------------------------------------------------------| +| Key Performance indicator | Nom de l'indicateur (basé sur l'objet utilisé) | +| Type | type de resource associée (Service, Meta Service, BA) | +| Impact dégradé | Poids d'impact en cas d'état "Warning" ou dégradé, dans la supervision temps réel | +| Impact critique | Poids d'impact en cas d'état "Critical" ou critique, dans la supervision temps réel | +| Impact inconnu | Poids d'impact en cas d'état "Unknown" ou inconnu, dans la supervision temps réel | +| Actions | Actions pouvant être effectuées (modification,activation/désactivation) | + +Le menu "More actions" permet d'appliquer une action sur plusieurs +indicateurs à la fois : + +- Activer les KPI au sein de leur BA +- Modifier massivement les valeurs d'impact des KPIs +- Désactiver les KPI au sein de leur BA +- Supprimer les KPI + +> La suppression d'un KPI ne supprime pas l'objet auquel il réfère dans +> les objets **Centreon** ni l'historique des impacts dans les logs. La +> disponibilité de la BA impactée n'est pas non plus recalculée. + +### Création d'un indicateur (KPI) + +Il existe plusieurs façons d'ajouter des indicateurs: + +![image](../assets/service-mapping/guide/add_kpi_types.png) + +#### Ajouter un indicateur + +> Dans cette page, il est **uniquement** possible de créer/gérer les +> indicateurs attachés à des activité métier utilisant le mode de calcul +> "Impact". + +Pour ajouter un indicateur, cliquer sur le lien **Ajouter un KPI** qui dirige +vers un formulaire de saisie. + +> L'ajout d'indicateur via ce formulaire n'est valable que pour les +> activités métier de type IMPACT. + +**Mode standard** : + +![image](../assets/service-mapping/guide/kpi_standard.png) + +**Mode avancé** : + +Il permet de saisir la valeur des impacts manuellement. + +![image](../assets/service-mapping/guide/kpi_advanced.png) + +| Paramètre | Description | +|---------------------------------------|-------------------------------------------------------------------------------------| +| Mode de configuration | Mode de configuration standard ou avancé | +| Type de KPI | Type de KPI (Service, Meta service, booléen ou une BA) | +| Key Performance Indicator | Choix du KPI sur la base des objets présents dans **Centreon** | +| Impact métier pour le statut warning | Poids d'impact en cas d'état "Warning" ou dégradé, dans la supervision temps réel | +| Impact métier pour le statut critique | Poids d'impact en cas d'état "Critical" ou critique, dans la supervision temps réel | +| Impact métier pour le statut unknown | Poids d'impact en cas d'état "Unknown" ou inconnu, dans la supervision temps réel | +| Activité(s) métier concernée(s) | BA auxquelles le KPI est associé. | + +*Pour ajouter un KPI de type booléen, il faut l'avoir préalablement créé +dans le menu dédié (cf explication ci-après)* + +#### Ajouter plusieurs KPI + +Pour ajouter plusieurs KPI à la fois, cliquer sur le lien **Ajouter +plusieurs KPI** qui dirige vers un formulaire de saisie. + +Sélection l'objet à partir duquel vous souhaitez récupérer les services. + +| Colonne | Description | +|------------------------------------------|---------------------------------------------------------------------------------------------------------------| +| Mode de configuration | Mode de configuration standard ou avancé | +| Type d'objet | Type de l'objet à partir duquel les KPI seront chargés | +| Hôte, Groupe d'hôtes, Groupe de services | Selon le type d'objet sélectionné, une liste d'objets sera chargée lors du clic sur le bouton "Récupérer KPI" | +| Activité(s) métier concernée(s) | BA auxquelles le KPI est associé, seules les BA utilisant le mode IMPACT sont listées ici | + +En cliquant sur le bouton **Récupérer KPI**, une liste des indicateurs +se présentera, il sera alors possible de les filtrer / d'appliquer +massivement les seuils: + +![image](../assets/service-mapping/guide/kpi_multiple_retrieve.png) + +| Colonne | Description | +|-----------------|-------------------------------------------------------------------------------------| +| Hôte | Hôte du KPI de service | +| Service | KPI de service | +| Impact dégradé | Poids d'impact en cas d'état "Warning" ou dégradé, dans la supervision temps réel | +| Impact critique | Poids d'impact en cas d'état "Critical" ou critique, dans la supervision temps réel | +| Impact inconnu | Poids d'impact en cas d'état "Unknown" ou inconnu,dans la supervision temps réel | + +### Indicateur booléen + +Dans le menu **Configuration > Activités métiers > Règles booléennes**. + +Il est possible de créer des règles logique entre les services afin +d'en faire des règles "booléenne". + +![image](../assets/service-mapping/guide/kpi_booleen.png) + +| Colonne | Description | +|----------------------------------------------------|--------------------------------------------------------------------------------------| +| Nom de la règle booléenne | Nom du KPI booléen | +| Expression booléenne | Expression booléenne (voir après) | +| L'impact est appliqué lorque l'expression retourne | Dans quel cas l'impact doit être appliqué: quand l'expression renvoie Vrai ou Faux ? | +| Commentaires | Commentaires concernant le KPI | +| Statut | Activé ou désactivé | + +Expression booléenne : + +1. Fenêtre d'édition de l'expression logique +2. Boutons d'édition +3. Les services qui alimentent l'expression +4. Bouton permettant d'évaluer l'expression avec les statuts réels de + monitoring +5. Etat suite à l'évaluation (statuts réels ou simulés) +6. Permet d'entrer dans le mode simulation. Ce dernier permet de + soumettre des états aux différents services permettant de simuler + une situation et voir le retour de l'expression + +## Les vues métier + +*Business Views - BV* + +### Définition + +Les vues métier permettent de rassembler plusieurs activités métier dans +un groupe. Elles peuvent être comparées aux "groupes d'hôtes" de +**Centreon** et seront utilisées au travers des différents écrans du +logiciel. + +Les restrictions de visualisation des activités métier (ACL) se font +uniquement à travers les vues métier et permettent d'associer un ou +plusieurs groupes d'accès créés dans **Centreon**. + +> Afin de faciliter la "root cause analysis", une fois qu'un +> utilisateur a accès à une activité métier, il sera en mesure de +> visualiser tous les indicateurs liés, peu importe les restrictions sur +> les resources qui pourraient être définies. + +Une vue métier n'est pas un indicateur en tant que tel pour lequel des +données peuvent être historisées. L'information qu'elle affiche +dépendant de son contenu à l'instant ou on la sollicite. + +### Liste des vues métier + +La configuration des vues métier est réalisée via le menu +`Configuration > Activités métiers > Vues métiers`. + +![image](../assets/service-mapping/guide/business-view-listing.png) + +| Colonne | Description | +|-------------|--------------------------------------------------------------------------------------| +| Nom | Nom de la vue métier | +| Description | Description | +| Affiché | Affichage ou non de la BV sur les écrans du logiciel **Centreon BAM** *(deprecated)* | +| Actions | Liste d'actions pouvant être effectuées sur la vue métier (modification/affichage) | + +Supprimer une vue métier: + +- La suppression d'une vue métier ne supprime pas les activités + métier qui lui sont rattachées. +- La suppression d'une BV la supprime définitivement. + +### Création d'une vue métier + +![image](../assets/service-mapping/guide/business-view-add.png) + +| Colonne | Description | +|---------------------------|---------------------------------------------------------------------------------------------| +| Nom | Nom de la vue métier | +| Description | Description de la vue métier | +| Activité(s) métier | La ou les activité(s) métier associée(s) à la BV concernée | +| Groupes d'accès autorisés | Le ou les groupes d'accès pouvant consulter la vue métier et les activités métier contenues | diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-monitoring.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-monitoring.md new file mode 100644 index 000000000000..863b6ac9935b --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-monitoring.md @@ -0,0 +1,72 @@ +--- +id: ba-monitoring +title: Supervision +--- + +Après avoir créé / modifié / supprimé des objets liés à Centreon BAM, +rendez vous dans **Configuration > Poller**, générez la configuration et +relancez le moteur du poller **Central**. + +Une fois la configuration rechargée et les **services liés aux KPIs +contrôlés au moins 1 fois**, les BA sont à jour et peuvent être +visualisées à la page **Supervision > Activités métiers > Supervision** + +## Interprétation des données temps réel + +### Liste des activités métier + +La page principale de monitoring est une console présentant les +informations essentielles concernant le status des BA en temps réel. + +Un utilisateur non administrateur verra uniquement les BA appartenant +aux BV liées à son groupe d'accès. + +![image](../assets/service-mapping/guide/mon_ba_list.png) + +| Colonne | Description | +|--------------------|--------------------------------------------------------| +| Niveau actuel | Niveau actuel de la BA exprimé en %, entre 0 et 100 | +| Activité métier | Le nom de la BA | +| Description | Description de la BA | +| Durée | Durée depuis laquelle la BA est dans son statut actuel | +| Période de rapport | Période de reporting par défaut utilisée par la BA | + +Il est possible de visualiser l'évolution du niveau de la BA en plaçant +le curseur de la souris sur l'icône du graphique. En plaçant le curseur +de la souris sur le nom ou la description de la BA, une fenêtre apparaît +et présente les différents KPI de cette BA, accompagnés de leurs statuts +actuels. + +![image](../assets/service-mapping/guide/mon_mouse_over.png) + +En cliquant sur le nom ou la description d'une BA, une nouvelle page se +charge, cette dernière est une vue détaillée de la BA. + +### Vue détaillée + +La vue détaillée d'une BA est divisée en 7 parties. + +![image](../assets/service-mapping/guide/mon_detailed.png) + +1. Tableau listant les indicateurs de performance impactant + actuellement la BA. +2. Tableau d'information sur l'état de santé de la BA et les seuils + d'alertes. +3. Onglet présentant l'arbre d'impact de la BA. Il est possible de + déployer les niveaux inférieurs, zoomer et se déplacer dans le + graphique. +4. Onglet contenant les graphiques de niveau de services de la BA +5. Onglet contenant un tableau listant tous les KPIs de la BA +6. Menu déroulant permettant de modifier la BA +7. Lien vers la page de reporting de la BA + +Le tableau des KPI affichent en temps réel les informations sur leurs +états mais aussi les impacts sur la BA. + +![image](../assets/service-mapping/guide/mon_kpi_list.png) + +L'onglet "Tendance" affiche 4 graphique : un journalier, un +hebdomadaire, un mensuel et un annuel affichant le niveau de la BA dans +le temps et son statut. + +![image](../assets/service-mapping/guide/mon_trend.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-reporting.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-reporting.md new file mode 100644 index 000000000000..b3e4ec72eb7c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-reporting.md @@ -0,0 +1,82 @@ +--- +id: ba-reporting +title: Reporting +--- + +Consulter à tout moment les évolutions des données archivées et +pondérées au travers des pages de reporting, de logs et des graphiques +de performance. Ces écrans ont un fonctionnement similaire à ceux +utilisés dans **Centreon**. + +### Rapport + +La page de reporting correspond à celle de **Centreon**, il suffit de +sélectionner une BA pour consulter ses statistiques de disponibilité +opérationnelle, dégradée et non fonctionnelle sur une période donnée. + +![image](../assets/service-mapping/guide/reporting.png) + +Il est possible d'exporter les données vers un fichier CSV, en cliquant +sur le lien "Exporter en format CSV". + +### Historique + +Le menu « Historique » permet de retracer l'évolution du niveau de la +BA en fonction des changements de son statut, sur une période choisie, +maximum 30 jours. + +Seul les changements de statut de la BA sont enregistrés. C'est à dire +que vous ne pourrez pas visualiser l'état des KPI à une heure précise. + +En cliquant sur un point de la courbe de la BA, un tableau apparaît et +montre en détail les différents KPI, leurs statuts et leurs poids +d'impact, qui constituaient la BA à l'instant ou le changement de +statuts est arrivé. + +![image](../assets/service-mapping/logs.png) + +| Colonne | Description | +|----------------------------|------------------------------------------------------------------------| +| Key Performance Indicators | Liste des KPI | +| KPI Type | Type de KPI (Service, Meta Service ou BA) | +| Status | Statut du KPI (Opérationnel, dégradé, critique,inconnu) | +| Impact | Poids d'impact du KPI sur la BA | +| In Downtime | Programmation ou non d'un temps d'arrêt sur le KPI au moment du calcul | +| Check Time | Temps lors duquel le KPI a été vérifié | +| Output | Message de sortie du KPI lors de la vérification du KPI | + +### Forcer le calcul des statistiques de disponibilité et évènements + +Des statistiques de disponibilité et d'évènements sont automatiquement +calculées tous les jours. Dans le cas de modification de période de +reporting ou d'association à des vues métier, il est possible d'avoir à +reconstruire ces statistiques pour appliquer les modifications de +configuration sur la passé. + +Pour cela, lancer le script suivant : + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --all +``` + +Il est également possible de reconstruire les données d'une BA +spécifique: + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --ba= +``` + +Pour plus d'informations concernant ce script, lancer la commande +suivante: + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --help +``` + +**Si vous disposez de Centreon MBI** et souhaitez également exploiter +ces données à jour, la commande suivante est à exécuter sur le serveur +de reporting : + +``` shell +/usr/share/centreon-bi/etl/importData.pl -r --bam-only +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-settings.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-settings.md new file mode 100644 index 000000000000..3bbbe87c144e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/ba-settings.md @@ -0,0 +1,77 @@ +--- +id: ba-settings +title: Paramètres +--- + +## Paramètres par défaut + +Le module **Centreon BAM** offre une série d'option permettant de +déployer vos BA plus facilement et d'avoir une visualisation +personnalisée de vos graphiques. + +Les **Paramètres par défaut** ont pour but de pré-remplir certains des champs +de saisie lors de l'ajout de nouvelles BA et de nouveaux indicateurs. + +Ils sont configurable depuis le menu +`Configuration > Activités métiers > Paramètres par défaut`. + +### Paramètres d'impact + +Les valeurs renseignées ici correspondent aux valeurs associées aux +impacts Faible, Mineur,Majeur,Non fonctionnel,Bloquant. Ces valeurs +prédéfinies des impacts sont utilisées lors de la définition de +l'impact des différents status des indicateurs en mode "basique". + +![image](../assets/service-mapping/guide/list_impacts_basic.png) + +Chaque impacts correspond à un impact en pourcentage. + +![image](../assets/service-mapping/guide/impacts_configuration.png) + +### Impacts des activités métier et règles booléennes + +Ces valeurs sont utilisées lors de la déclaration d'un indicateur de +type "Activité métier" et "Règle booléenne". Elles permettent de +pré-remplir les champs lors de la bascule de la configuration en mode +"Avancé". + +![image](../assets/service-mapping/guide/impacts_ba_boolean.png) + +### Paramètres des activités métier + +Les paramètres ci-dessous permettent de définir les valeurs par défaut +que prendront les activité métiers. Seule la commande de notification ne +peut être surchargée au niveau des activités métier. + +![image](../assets/service-mapping/guide/default_ba_parameters.png) + +| Colonne | Description | +|-------------------------|--------------------------------------------------------------------------------------------------------| +| Seuil dégradé | Seuil « Warning » : Correspond à un état dégradé de la BA. Une notification peut alors être envoyée. | +| Seuil non fonctionnel | Seuil « Critical » : Correspond à un état critique de la BA. Une notification peut alors être envoyée. | +| Période du rapport | Période de reporting par défaut de la BA BA | +| Période de notification | Période de notification par défaut de la BA | +| Groupes de contact | Groupes de contact notifiés par défaut de la BA | +| Intervalle entre deux | Intervalle de notification par défaut de la BA | + +Pour être en mesure d'envoyer des notifications aux utilisateurs ou +solutions externes (Slack, OpenDuty etc..) appartenant au(x) groupe(s) +de contacts sélectionnés, vous devez configurer la section "Business +activity" pour les utilisateurs concernés : + +![image](../assets/service-mapping/guide/bam_user_notification.png) + +## Paramètres utilisateur + +Les **Paramètres utilisateur** sont des options personnalisées qui sont +propres à chaque profil d'utilisateur, et peuvent être configurées dans +le menu **Configuration > Activités métiers > Paramètres utilisateurs**. + +### Vue d'ensemble personnalisée + +Par défaut, le module Centreon BAM affiche la console de supervision +avec toutes les BA autorisées. L'utilisateur a cependant la possibilité +de composer sa propre vue d'ensemble en y ajoutant les BA de son choix, +parmi celles qui sont autorisées. + +![image](../assets/service-mapping/guide/user_custom.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/install.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/install.md new file mode 100644 index 000000000000..6ccaab693f4c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/install.md @@ -0,0 +1,87 @@ +--- +id: install +title: Installer l'extension Centreon BAM +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Centreon BAM est une **extension** Centreon qui requiert une license +> valide. Pour plus d'information, contactez +> [Centreon](mailto:sales@centreon.com). + +## Prerequisites + +Voir les [prérequis logiciels](../installation/prerequisites.md#logiciels). + +Installez BAM sur le serveur central. +Le serveur central et Centreon BAM doivent être dans la même version majeure (c'est-à-dire tous les deux en 24.10.x). +Si vous voulez pouvoir voir les Activités métier supervisées par un serveur distant, installez BAM également sur le serveur distant. Lorsque BAM est installé sur un serveur distant, les Activités métier n'incluent que les ressources supervisées par le serveur distant. + +## Installation + +### Installation du paquet + +Ajouter le dépôt Centreon Business, vous pouvez le trouver sur le +[portail support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +Et installer le paquet en exécutant la commande ci-dessous : + + + + +``` shell +dnf install centreon-bam-server +``` + + + + +``` shell +dnf install centreon-bam-server +``` + + + + +```shell +apt update && apt install centreon-bam-server +``` + + + + + +### Charger la licence + +Le fichier de licence "bam.license" est fourni par Centreon, pour +l'installer, rendez vous dans **Administration > Extensions > Gestionnaire** puis +télécharger la via l'interface. + +### Installation sur l'interface + +Se rendre dans le menu **Administration > Extensions > Gestionnaire** et cliquez +sur le bouton d'installation des modules suivantes : + +- License Manager (si celui-ci n'est pas déjà installé) +- Business Activity Monitoring + +Une fois installé et la licence ajoutée, le module aura un bandeau vert +indiquant la date de fin de validité de la licence : + +![image](../assets/service-mapping/installation/install-web-step-2.png) + +> Si vous utilisez une réplication MariaDB pour vos bases de données de +> **monitoring**, lors de l'installation de Centreon BAM, une vue est +> créée. Il faut l'exclure de la réplication en rajoutant la ligne +> suivante dans le fichier my.cnf du slave +> +> ``` text +> replicate-ignore-table=centreon.mod_bam_view_kpi +> ``` +> +> puis créer les vues sur le slave [avec le fichier suivant](view_creation.sql), en lançant la commande: +> +> ``` shell +> myqsl centreon < view_creation.sql +> ``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/introduction.md new file mode 100644 index 000000000000..477a13296e1a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/introduction.md @@ -0,0 +1,42 @@ +--- +id: introduction +title: Introduction à Centreon BAM +--- + +La fonctionnalité de "Service Mapping" de Centreon se base sur +l'extension appellée "Centreon Business Activity Monitoring" (Centreon +BAM). + +> Centreon BAM est une **extension** Centreon qui requiert une [licence](../administration/licenses.md) +> valide. Pour plus d'information, contactez +> [Centreon](mailto:sales@centreon.com). + +Le module **Centreon Business Activity Monitoring** offre la possibilité +de mesurer en temps réel l'activité de la production informatique en +agrégeant les états des différents points de contrôle supervisés avec +**Centreon**. L'utilisateur est alors mieux informé de l'état de santé +global de son SI et à même de prendre les meilleures décisions. + +![image](../assets/service-mapping/first_page.gif) + +**Centreon BAM** utilise un moteur avancé de calcul des "**Business +Activities**" (BA), à partir d'indicateurs de performance clés (**KPI**) +supervisés par **Centreon**. + +La représentation graphique des données est faite en temps réel, ce qui +permet d'avoir une console dédiée à la supervision de ses activités +métiers. + +Cette documentation a pour but de guider l'utilisateur sur +l'installation, la configuration des vues métiers, sur le déploiement +des activités métiers ainsi que sur l'exploitation des données +disponibles au travers du module **Centreon BAM**. + +Définitions : + +- **BA** ("Business Activity") : Activité métier +- **BV** ("Business View") : Regroupement d'activité métier +- **KPI** ("Key Performance Indicator") : Indicateur pondéré rentrant + en considération dans le calcul de la BA. + +![image](../assets/service-mapping/about/ba_detailed.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/migrate.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/migrate.md new file mode 100644 index 000000000000..5d3b8394788c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/migrate.md @@ -0,0 +1,52 @@ +--- +id: migrate +title: Migrer l'extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Si vous mettez à jour d'une version inférieure à 18.10 vers une version +> supérieure à 18.10, une nouvelle licence doit être récupérée auprès du +> support Centreon. + +> Lorsque vous mettez à jour versions une nouvelle version majeure ou +> mineure (c'est à dire version A.B.x avec A ou B qui évolue), contactez +> le support pour récupérer l'adresse du nouveau dépôt. + +## Mise à jour du paquet + +Afin de mettre à jour le module **Centreon BAM**, lancer la commande +ci-dessous : + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-bam-server +``` + + + + +## Mise à jour de l'interface + +Se connecter à l'interface web de Centreon et se rendre dans le menu +`Administration > Extensions > Gestionnaire`. + +Un bouton orange de mise à jour est visible et signale qu'une mise à +jour est disponible, cliquez dessus pour mettre à jour le module, faire +de même pour le widget. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/remote-server.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/remote-server.md new file mode 100644 index 000000000000..409dfd5b6cf7 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/remote-server.md @@ -0,0 +1,80 @@ +--- +id: remote-server +title: Installer sur un Remote Server +--- + +L'installation du module **Centreon BAM** sur un *Centreon Remote +Server* doit être réalisée de la même manière que celle du serveur +Centreon central puis des actions supplémentaires sont à exécuter + +1. Installez Centreon BAM sur votre Centreon Remote Server en utilisant + la documentation d'installation de l'extension +2. Effectuez les dernières étapes décrites ci-dessous + +## Configuration du composant Centreon Broker à partir du Central + +La configuration de l'extension **Centreon BAM** sur un collecteur +distant consiste à créer la configuration de Centreon Broker à partir du +serveur Central pour la gestion des calculs de Centreon BAM par le +*Centreon Remote Server*. Cette configuration sera automatiquement +envoyée vers le *Centreon Remote Server* concerné lors de la génération +et publication de la configuration à partir du serveur Central. + +Se rendre dans le menu `Configuration > Collecteur > Configuration`` de +Centreon Broker et éditer la configuration de l'instance Centreon +Broker Master du *Centreon Remote Server* concerné. + +### Output de supervision + +Se rendre dans l'onglet "Output", sélectionner une configuration de +type **BAM - Monitoring engine (BAM)** et cliquer sur le bouton +**Ajouter** + +![image](../assets/service-mapping/remote-server/conf_poller_bam_monitoring.png) + +Le tableau ci-dessous présente les champs à saisir : + +| Champs | Valeurs | +|---------------------------------|---------------------------------------------------------------| +| Name | remote-server-bam-monitoring | +| Filter category | *Aucune* | +| Storage DB Name | centreon\_storage | +| Cache | Yes | +| Replication enabled | No | +| Command file path | /var/lib/centreon-engine/rw/centengine.cmd | +| DB host | localhost | +| DB name | centreon | +| DB password | *À récupérer dans /etc/centreon/conf.pm sur le Remote Server* | +| DB port | 3306 | +| DB type | MySQL | +| DB user | *À récupérer dans /etc/centreon/conf.pm sur le Remote Server* | +| Maximum queries per transaction | 0 | +| Transaction commit timeout | 5 | +| Retry interval | 5 | + +### Output de reporting + +Ajouter un nouvel output et sélectionner une configuration de type **BAM +- BI engine (BAM)** et cliquer sur le bouton **Add** + +![image](../assets/service-mapping/remote-server/conf_poller_bam_reporting.png) + +Le tableau ci-dessous présente les champs à saisir : + +| Champs | Valeurs | +|---------------------------------|---------------------------------------------------------------| +| Name | remote-server-bam-reporting | +| Filter category | BAM | +| Replication enabled | No | +| DB host | localhost | +| DB name | centreon\_storage | +| DB password | *À récupérer dans /etc/centreon/conf.pm sur le Remote Server* | +| DB port | 3306 | +| DB type | MySQL | +| DB user | *À récupérer dans /etc/centreon/conf.pm sur le Remote Server* | +| Maximum queries per transaction | 0 | +| Transaction commit timeout | 5 | +| Retry interval | 5 | + +Pour finir l'installation, générer et envoyer la configuration du +*Centreon Remote Server* en sélectionnant le mode **Redémarrer**. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/update.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/update.md new file mode 100644 index 000000000000..537718261566 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/update.md @@ -0,0 +1,44 @@ +--- +id: update +title: Mettre à jour l'extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Mise à jour du paquet + +Afin de mettre à jour le module **Centreon BAM**, lancer la commande +ci-dessous : + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-bam-server +``` + + + + +## Mise à jour de l'interface + +Se connecter à l'interface web de Centreon et se rendre dans le menu +`Administration > Extensions > Gestionnaire`. + +Un bouton orange de mise à jour est visible et signale qu'une mise à +jour est disponible, cliquez dessus pour mettre à jour le module, faire +de même pour le widget. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/upgrade.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/upgrade.md new file mode 100644 index 000000000000..7e205eaf5145 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/upgrade.md @@ -0,0 +1,66 @@ +--- +id: upgrade +title: Monter de version l'extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prérequis + +### Licence + +Si vous mettez à jour d'une version inférieure à 18.10 vers une version +supérieure à 18.10, une nouvelle licence doit être récupérée auprès du +support Centreon. + +### Mettre à jour Centreon web sur votre serveur central + +Voir le [chapitre correspondant](../upgrade/introduction.md). + +### Installer le dépôt Business + +Lorsque vous mettez à jour vers une nouvelle version majeure ou +mineure (c'est à dire version A.B.x avec A ou B qui évolue), contactez +le support pour récupérer l'adresse du nouveau dépôt. + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../security/key-rotation.md#installation-existante), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Mise à jour du paquet + +Afin de mettre à jour le module **Centreon BAM**, lancer la commande +ci-dessous : + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt install --only-upgrade centreon-bam-server +``` + + + + +## Mise à jour de l'interface + +Se connecter à l'interface web de Centreon et se rendre dans le menu +`Administration > Extensions > Gestionnaire`. + +Un bouton orange de mise à jour est visible et signale qu'une mise à +jour est disponible, cliquez dessus pour mettre à jour le module, faire +de même pour le widget. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/view_creation.sql b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/view_creation.sql new file mode 100644 index 000000000000..96913b26724a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/view_creation.sql @@ -0,0 +1 @@ +CREATE VIEW `mod_bam_view_kpi` AS select `k`.`kpi_id` AS `kpi_id`,`b`.`ba_id` AS `ba_id`,`k`.`activate` AS `kpi_activate`,`b`.`activate` AS `ba_activate`,`b`.`name` AS `ba_name`,`k`.`host_id` AS `host_id`,`h`.`host_name` AS `kpi_host`,`k`.`service_id` AS `service_id`,`s`.`service_description` AS `kpi_service`,`k`.`id_indicator_ba` AS `id_indicator_ba`,`bk`.`name` AS `kpi_ba`,`k`.`meta_id` AS `meta_id`,`meta`.`meta_name` AS `kpi_meta`,`k`.`boolean_id` AS `boolean_id`,`boo`.`name` AS `kpi_boolean`,`b`.`icon_id` AS `icon_id`,`k`.`kpi_type` AS `kpi_type`,`k`.`config_type` AS `config_type`,`k`.`last_impact` AS `last_impact`,`k`.`last_level` AS `last_level`,`k`.`last_state_change` AS `last_state_change`,`k`.`current_status` AS `current_status`,`k`.`in_downtime` AS `in_downtime`,`k`.`acknowledged` AS `acknowledged`,`k`.`drop_warning` AS `drop_warning`,`k`.`drop_critical` AS `drop_critical`,`k`.`drop_unknown` AS `drop_unknown`,`k`.`drop_warning_impact_id` AS `drop_warning_impact_id`,`k`.`drop_critical_impact_id` AS `drop_critical_impact_id`,`k`.`drop_unknown_impact_id` AS `drop_unknown_impact_id`,`b`.`current_level` AS `ba_current_level`,`b`.`current_status` AS `ba_current_status`,`b`.`in_downtime` AS `ba_in_downtime`,`b`.`level_w` AS `level_w`,`b`.`level_c` AS `level_c` from ((((((`mod_bam_kpi` `k` join `mod_bam` `b` on((`b`.`ba_id` = `k`.`id_ba`))) left join `host` `h` on((`h`.`host_id` = `k`.`host_id`))) left join `service` `s` on((`s`.`service_id` = `k`.`service_id`))) left join `mod_bam` `bk` on((`bk`.`ba_id` = `k`.`id_indicator_ba`))) left join `meta_service` `meta` on((`meta`.`meta_id` = `k`.`meta_id`))) left join `mod_bam_boolean` `boo` on((`boo`.`boolean_id` = `k`.`boolean_id`))) order by `b`.`name` \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/widgets.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/widgets.md new file mode 100644 index 000000000000..03c60a7e8b76 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/service-mapping/widgets.md @@ -0,0 +1,40 @@ +--- +id: widgets +title: Widgets +--- + +## Live Business Activity Status + +Ce widget vous permet d'afficher sur la page d'accueil de Centreon, sous +forme de widget, l'état actuel de vos activités métier. + +![image](../assets/service-mapping/widget_bam-ba-listing.png) + +## Paramètres + +**Description** + +- Select a Business View to filter on : sélection de vue métier. Si + laisser vide, toutes les BAs seront prise (en fonction des ACLs) +- How many Business Activity to display ? : nombre d'activités métiers à + afficher +- Status filter : permet de filtrer sur le status des activités métiers +- Downtime filter : permet filtrer pour ne garder que les activités + métiers sur lesquelles un temps d'arrêt planifié est en cours ou ne + pas les afficher +- Acknowledged filter : permet de filtrer pour ne garder que les + activités métiers sur lesquelles une personne intervient + (acquittement en cours) ou ne pas les afficher +- Order By : définissez dans quel ordre les activités métiers doivent + être classées +- Display description : afficher ou non la description +- Display status duration : afficher ou non la durée passée dans le + statut en cours +- Display only top level BA : afficher uniquement les BA n'ayant pas + de parents. Pour un utilisateur non admin, le calcul des BAs n'ayant + pas de parent prend en compte les ACLs +- Refresh Interval (seconds) : Intervalle de rafraîchissement + +**Exemple** + +![image](../assets/service-mapping/widget_bam-ba-listing_param.png) diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/update/update-centreon-platform.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/update/update-centreon-platform.md new file mode 100644 index 000000000000..3d264822a993 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/update/update-centreon-platform.md @@ -0,0 +1,304 @@ +--- +id: update-centreon-platform +title: Mise à jour d'une plateforme Centreon 24.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de mise à jour de votre plate-forme Centreon +24.10 (c'est-à-dire le passage de 24.10.x à 24.10.y). + +## Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Mise à jour du serveur Centreon Central + +### Mise à jour de la solution Centreon + +Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer la procédure de mise à jour. + + + + +Videz le cache : + + ```shell + dnf clean all --enablerepo=* + ``` + +Mettez à jour l'ensemble des composants : + + ```shell + dnf update centreon\* + ``` + + + + +Videz le cache : + + ```shell + dnf clean all --enablerepo=* + ``` + +Mettez à jour l'ensemble des composants : + + ```shell + dnf update centreon\* + ``` + + + + +Videz le cache : + + ```shell + apt clean + apt update + ``` + +Mettez à jour l'ensemble des composants : + + ```shell + apt install --only-upgrade centreon* + ``` + + + + +Vous devez maintenant finaliser la mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon pour démarrer le processus de +mise à jour. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + > Si le module Centreon BAM est installé, référez-vous à la [documentation associée](../service-mapping/update.md) pour le mettre à jour. + +6. Déployez ensuite la configuration du Central depuis l'interface web en +suivant [cette +procédure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +### Mise à jour des extensions + +Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour +toutes les extensions, en commençant par les suivantes : + +- License Manager, +- Gestionnaire de connecteurs de supervision, +- Auto Discovery. + +Vous pouvez alors mettre à jour toutes les autres extensions commerciales (telles que [MBI](../reporting/update.md) et [MAP](../graph-views/map-web-update.md)). + +## Mise à jour des Remote Servers + +Cette procédure est identique à la mise à jour d'un serveur Centreon Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur +> Central. + +## Mise à jour des collecteurs + + + + +1. Videz le cache : + + ```shell + dnf clean all --enablerepo=* + ``` + +2. Mettez à jour l'ensemble des composants : + + ```shell + dnf update centreon\* --exclude=centreon-plugin* + ``` + + + + +1. Videz le cache : + + ```shell + dnf clean all --enablerepo=* + ``` + +2. Mettez à jour l'ensemble des composants : + + ```shell + dnf update centreon\* --exclude=centreon-plugin* + ``` + + + + +1. Videz le cache : + + ```shell + apt clean + apt update + ``` + +2. Mettez à jour l'ensemble des composants : + + ```shell + apt-get update && apt-mark hold centreon-pack* && apt-mark hold centreon-plugin* && apt-get install --only-upgrade 'centreon*' + ``` + + + + + > Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +3. Déployez la configuration du collecteur depuis l'interface web en suivant [cette +procédure](../monitoring/monitoring-servers/deploying-a-configuration.md), et +en choisissant la méthode **Redémarrer** pour le processus Engine. + +4. Redémarrez enfin le service Gorgone s'il est utilisé sur le collecteur : + + ```shell + systemctl restart centengine gorgoned + ``` + +5. Exécutez la commande suivante : + + + + +Rien à faire pour cet OS. + + + + +Rien à faire pour cet OS. + + + + + ```shell + apt-mark unhold centreon-pack* && apt-mark unhold centreon-plugin* + ``` + + + + +## Mise à jour silencieuse + +Vous pouvez réaliser une mise à jour silencieuse de votre plateforme en utilisant le script **unattended.sh**. + +1. Téléchargez le script avec la commande suivante : + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh -O /tmp/unattended +``` + +2. Lancez le script : + +* Pour un serveur central : + +```shell +bash unattended.sh update -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* Pour un serveur distant : + +```shell +bash unattended.sh update -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* Pour un collecteur : + +```shell +bash unattended.sh update -t poller -v 24.10 -r stable -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md new file mode 100644 index 000000000000..05ebaf6c5f29 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md @@ -0,0 +1,543 @@ +--- +id: upgrade-centreon-ha-from-21-04 +title: Montée de version de Centreon HA depuis Centreon 21.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 21.04 +vers la version 24.10. + +Vous ne pouvez pas simplement monter de version une plateforme avec HA (ou Centreon Failover) depuis une version antérieure à Centreon 20.10 et vers une version 24.10, car CentOS 7 n'est plus supporté: vous devez [migrer votre plateforme vers un OS supporté](../../migrate/introduction.md), puis installer Centreon HA sur la nouvelle platforme. Vous pouvez également contacter Centreon pour commander une prestation de migration. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de surpendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Effectuer une sauvegarde + +Assurez-vous que vous avez entièrement sauvegardé votre environnement pour les éléments suivants +serveurs : + +- Serveur Central +- Serveur Database + +### Mise à jour de la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPM Centreon font l'objet d'une rotation régulière. La dernière modification a eu lieu le 14 octobre 2021. Lorsque vous effectuez une mise à niveau à partir d'une version antérieure, vous devez suivre la [procédure de rotation des clés] (../../security/key-rotation.md#existing-installation), pour supprimer l'ancienne clé et installer la nouvelle. + +## Processus de mise à niveau + +Pour effectuer la mise à niveau, veuillez [suivre la documentation officielle](../../upgrade/upgrade-from-21-04.md) Uniquement sur le **nœud central actif** et **nœud de base de données actif si nécessaire**. + +Ensuite, exécutez les commandes suivantes uniquement sur les serveurs centraux : + + + + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + + + + +Sur le nœud central passif, déplacez le répertoire "install" pour éviter d'obtenir l'écran "upgrade" dans le WUI en cas de nouvel échange de rôles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-YYYY-MM-DD +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + +### Suppression des tâches cron + +La mise à jour RPM remet en place les cron jobs sur les serveurs Central et Databases. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -rf /etc/cron.d/centreon +rm -rf /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** : + +```shell +expire_logs_days=7 +``` + +Si ce n'est pas le cas, ajoutez-la et redémarrez la ressource **ms_mysql** : + +```shell +pcs resource restart ms_mysql +``` + +### Réinitialiser les autorisations pour la ressource centreon_central_sync + +La mise à jour RPM remet les permissions en place sur les serveurs **Central**. Changez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Montée de version du cluster + +Depuis Centreon 22.04, la réplication de mariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). +Il est nécessaire de détruire complètement le cluster et de le configurer à nouveau avec +la dernière version de Centreon et les mécanismes de réplication de MariaDB. + +### Mode maintenance et sauvegarde + +Effectuez une sauvegarde du cluster en utilisant : + +```bash +pcs config backup centreon_cluster +pcs config export pcs-commands | sed -e :a -e '/\\$/N; s/\\\n//; ta' | sed 's/-f tmp-cib.xml//' | egrep "create|group" | egrep -v "(mysql|php|cbd_rrd)" > centreon_pcs_command.sh +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci : + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +Vérifiez ensuite le fichier centreon_pcs_command.sh, la commande d'exportation peut afficher quelques lignes d'avertissement mais elle n'est pas bloquante. + +```bash +cat centreon_pcs_command.sh +``` + +Le contenu doit ressembler à ceci : + +```text +pcs resource create vip ocf:heartbeat:IPaddr2 broadcast=@VIP_BROADCAST_IPADDR@ cidr_netmask=@VIP_CIDR_NETMASK@ flush_routes=true ip=@VIP_IPADDR@ nic=@VIP_IFNAME@ op monitor interval=10s timeout=20s start interval=0s timeout=20s stop interval=0s timeout=20s meta target-role=started +pcs resource create http systemd:httpd24-httpd op monitor interval=5s timeout=20s start interval=0s timeout=40s stop interval=0s timeout=40s meta target-role=started +pcs resource create gorgone systemd:gorgoned op monitor interval=5s timeout=20s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create centreon_central_sync systemd:centreon-central-sync op monitor interval=5s timeout=20s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create cbd_central_broker systemd:cbd-sql op monitor interval=5s timeout=30s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create centengine systemd:centengine op monitor interval=5s timeout=30s start interval=0s timeout=90s stop interval=0s timeout=90s meta multiple-active=stop_start target-role=started +pcs resource create centreontrapd systemd:centreontrapd op monitor interval=5s timeout=20s start interval=0s timeout=30s stop interval=0s timeout=30s meta target-role=started +pcs resource create snmptrapd systemd:snmptrapd op monitor interval=5s timeout=20s start interval=0s timeout=30s stop interval=0s timeout=30s meta target-role=started +pcs resource group add centreon vip http gorgone centreon_central_sync cbd_central_broker centengine centreontrapd snmptrapd +``` + +Ce fichier sera nécessaire pour recréer toutes les ressources de votre cluster. + +### Supprimer les ressources + +Ces commandes ne doivent être exécutées que sur le nœud central actif : + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php7 --force +pcs resource delete centreon --force +``` + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete vip_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php7 --force +pcs resource delete centreon --force +``` + + + + +### Reconfigurer MariaDB + +Il est nécessaire de modifier la configuration de mysql en éditant le fichier `/etc/my.cnf.d/server.cnf` : + +> Sur les 2 serveurs centraux dans les nœuds HA 2. +> Sur les 2 serveurs de bases de données en HA 4 nœuds. + +```shell +[server] +... +skip-slave-start +log-slave-updates +gtid_strict_mode=ON +expire_logs_days=7 +ignore-db-dir=lost+found +... +``` + +### Lancer la réplication GTID + +Exécutez cette commande **sur le nœud de base de données secondaire:**. + +```bash +mysqladmin -p shutdown +``` + +Il est important de s'assurer que MariaDB est complètement arrêté. Vous allez exécuter cette commande et vérifier qu'elle ne renvoie aucun résultat : + +```bash +ps -ef | grep mariadb[d] +``` + +Une fois le service arrêté **sur le nœud de base de données secondaire**, vous exécuterez le script de synchronisation **à partir du nœud de base de données primaire** : + +```bash +mysqladmin -p shutdown +systemctl restart mariadb +/usr/share/centreon-ha/bin/mysql-sync-bigdb.sh +``` + +La sortie de ce script est très verbeuse et vous ne pouvez pas vous attendre à tout comprendre, donc pour vous assurer que tout s'est bien passé, concentrez-vous sur les dernières lignes de sa sortie, en vérifiant qu'elle ressemble à ceci : + +```text +Umount and Delete LVM snapshot + Logical volume "dbbackupdatadir" successfully removed +Start MySQL Slave +Start Replication +Id User Host db Command Time State Info Progress +[variable number of lines] +``` + +La chose importante à vérifier est que `Start MySQL Slave` et `Start Replication` sont présents et qu'aucune erreur ne les suit. + +De plus, la sortie de cette commande ne doit afficher que des résultats `OK` : + +```bash +/usr/share/centreon-ha/bin/mysql-check-status.sh +``` + +Le résultat attendu est : + +```text +Connection Status '@CENTRAL_MASTER_NAME@' [OK] +Connection Status '@CENTRAL_SLAVE_NAME@' [OK] +Slave Thread Status [OK] +Position Status [OK] +``` + +### Redémarrer les processus Centreon + +Puis de redémarrer tous les processus sur le **nœud central actif** : + +```bash +systemctl restart cbd-sql cbd gorgoned centengine centreontrapd +``` + +Et sur le **nœud central passif** : + +```bash +systemctl restart cbd +``` + +### Nettoyer les fichiers de mémoire de Broker + +> **Attention:** n'exécutez cette commande que sur le **noeud central passif**. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, nettoyez tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.* : + +```bash +rm -rf /var/lib/centreon-broker/central-broker-master.memory* +rm -rf /var/lib/centreon-broker/central-broker-master.queue* +rm -rf /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +### Recréer les ressources du cluster + +A exécuter **seulement sur un noeud central** : + +> **Attention:** la syntaxe de la commande suivante dépend de la distribution Linux que vous utilisez. + +> Vous pouvez trouver @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @MARIADB_REPL_USER@ +La variable @MARIADB_REPL_USER@ dans `/etc/centreon-ha/mysql-resources.sh`. + + + + +```bash +pcs resource create "ms_mysql" \ + ocf:heartbeat:mariadb-centreon \ + config="/etc/my.cnf.d/server.cnf" \ + pid="/var/lib/mysql/mysql.pid" \ + datadir="/var/lib/mysql" \ + socket="/var/lib/mysql/mysql.sock" \ + binary="/usr/bin/mysqld_safe" \ + node_list="@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@" \ + replication_user="@MARIADB_REPL_USER@" \ + replication_passwd='@MARIADB_REPL_PASSWD@' \ + test_user="@MARIADB_REPL_USER@" \ + test_passwd="@MARIADB_REPL_PASSWD@" \ + test_table='centreon.host' +``` + + + + +> **Attention:** la syntaxe de la commande suivante dépend de la distribution Linux que vous utilisez. + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + +Adresse VIP des serveurs de bases de données + +```bash +pcs resource create vip_mysql \ + ocf:heartbeat:IPaddr2 \ + ip="@VIP_SQL_IPADDR@" \ + nic="@VIP_SQL_IFNAME@" \ + cidr_netmask="@VIP_SQL_CIDR_NETMASK@" \ + broadcast="@VIP_SQL_BROADCAST_IPADDR@" \ + flush_routes="true" \ + meta target-role="stopped" \ + op start interval="0s" timeout="20s" \ + stop interval="0s" timeout="20s" \ + monitor interval="10s" timeout="20s" +``` + + + + + + +#### Resource PHP + +```bash +pcs resource create "php" \ + systemd:php-fpm \ + meta target-role="started" \ + op start interval="0s" timeout="30s" \ + stop interval="0s" timeout="30s" \ + monitor interval="5s" timeout="30s" \ + clone +``` + +#### Ressource RRD broker + +```bash +pcs resource create "cbd_rrd" \ + systemd:cbd \ + meta target-role="started" \ + op start interval="0s" timeout="90s" \ + stop interval="0s" timeout="90s" \ + monitor interval="20s" timeout="30s" \ + clone +``` + +#### Recréer le groupe de ressource *centreon* + +```bash +bash centreon_pcs_command.sh +``` + +#### Recréer les contraintes + + + + + + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint order stop centreon then demote ms_mysql-clone +``` + + + + + + +Afin de coller le rôle de la base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle : + + + + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite la contrainte qui empêche les processus Centreon de s'exécuter sur les nœuds de base de données et vice-versa : + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel à l'aide de la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les ressources même si elles sont désactivées. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +### Ressources désactivées + +Lorsque vous faites un `crm_mon -fr` et que vous avez une ressource qui est désactivée : + +```text +... + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Stopped (disabled) +... +``` + +Vous devez activer la ressource avec la commande suivante : + +```bash +pcs resource enable @RESSOURCE_NAME@ +``` + +Dans notre cas : + +```bash +pcs resource enable vip_mysql +``` + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne correctement : + +* Accès aux menus de l'interface web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Programmation des contrôles immédiats (Central + Pollers), des acquittements, des temps d'arrêt, etc. +* Déplacer les ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. \ No newline at end of file diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md new file mode 100644 index 000000000000..b14862b6c7fa --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md @@ -0,0 +1,548 @@ +--- +id: upgrade-centreon-ha-from-21-10 +title: Montée de version de Centreon HA depuis Centreon 21.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 21.10 vers la version 24.10. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de suspendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plateforme : + +- Serveur Centreon Central +- Serveur de Base de données + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../../security/key-rotation.md#existing-installation), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Processus de mise à jour + +Pour effectuer la montée de version: + +> Pour le **nœud central actif** et **le nœud base de données actif s'il existe** merci de [suivre la documentation officielle](../../upgrade/upgrade-from-21-10.md) **jusqu'à l'étape "Actions post montée de version" incluse**. + +> Pour le **nœud central passif** et **le nœud base de données passif s'il existe**, merci de [suivre la documentation officielle](../../upgrade/upgrade-from-21-10.md) **jusqu'à l'étape "Mettre à jour une configuration Apache personnalisée" incluse uniquement. Ne pas procéder à l'étape "Finalisation de la mise à jour**. + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le nœud central passif, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + +### Suppression des crons + +La mise à jour RPM remet en place les crons sur les serveurs Central et Bases de données. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -rf /etc/cron.d/centreon +rm -rf /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** : + +```shell +expire_logs_days=7 +``` + +Si ce n'est pas le cas, ajoutez-la et redémarrez la ressource **ms_mysql** : + +```shell +pcs resource restart ms_mysql +``` + +### Réinitialiser les autorisations de la ressource centreon_central_sync + +L'upgrade RPM remet les permissions en place sur les serveurs centraux. Modifiez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Ugprade du cluster + +Depuis Centreon 22.04, la réplication de MariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). +Il est nécessaire de détruire complètement le cluster et de le configurer à nouveau avec la dernière version de Centreon et les mécanismes de réplication de MariaDB GTID. + +### Mode maintenance et sauvegarde + +Réalisez une sauvegarde du cluster en exécutant les commandes suivantes : + + + + +```bash +pcs config backup centreon_cluster +pcs resource config --output-format=cmd | sed -e :a -e '/\\$/N; s/\\\n//; ta' | sed 's/-f tmp-cib.xml//' | egrep "create|group" | egrep -v "(mysql|php|cbd_rrd)" > centreon_pcs_command.sh +``` + + + + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci : + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +Vérifiez ensuite le fichier centreon_pcs_command.sh, la commande d'exportation peut afficher quelques lignes d'avertissement mais elle n'est pas bloquante. + +```bash +cat centreon_pcs_command.sh +``` + +Le contenu doit ressembler à ceci : + + + + +```text +pcs resource create --no-default-ops --force -- vip ocf:heartbeat:IPaddr2 broadcast=@VIP_BROADCAST_IPADDR@ cidr_netmask=@VIP_CIDR_NETMASK@ flush_routes=true ip=@VIP_IPADDR@ nic=@VIP_IFNAME@ op monitor interval=10s id=vip-monitor-interval-10s timeout=20s start interval=0s id=vip-start-interval-0s timeout=20s stop interval=0s id=vip-stop-interval-0s timeout=20s meta target-role=started; +pcs resource create --no-default-ops --force -- http systemd:httpd op monitor interval=5s id=http-monitor-interval-5s timeout=20s start interval=0s id=http-start-interval-0s timeout=40s stop interval=0s id=http-stop-interval-0s timeout=40s meta target-role=started; +pcs resource create --no-default-ops --force -- gorgone systemd:gorgoned op monitor interval=5s id=gorgone-monitor-interval-5s timeout=20s start interval=0s id=gorgone-start-interval-0s timeout=90s stop interval=0s id=gorgone-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- centreon_central_sync systemd:centreon-central-sync op monitor interval=5s id=centreon_central_sync-monitor-interval-5s timeout=20s start interval=0s id=centreon_central_sync-start-interval-0s timeout=90s stop interval=0s id=centreon_central_sync-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- cbd_central_broker systemd:cbd-sql op monitor interval=5s id=cbd_central_broker-monitor-interval-5s timeout=30s start interval=0s id=cbd_central_broker-start-interval-0s timeout=90s stop interval=0s id=cbd_central_broker-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- centengine systemd:centengine op monitor interval=5s id=centengine-monitor-interval-5s timeout=30s start interval=0s id=centengine-start-interval-0s timeout=90s stop interval=0s id=centengine-stop-interval-0s timeout=90s meta multiple-active=stop_start target-role=started; +pcs resource create --no-default-ops --force -- centreontrapd systemd:centreontrapd op monitor interval=5s id=centreontrapd-monitor-interval-5s timeout=20s start interval=0s id=centreontrapd-start-interval-0s timeout=30s stop interval=0s id=centreontrapd-stop-interval-0s timeout=30s meta target-role=started; +pcs resource create --no-default-ops --force -- snmptrapd systemd:snmptrapd op monitor interval=5s id=snmptrapd-monitor-interval-5s timeout=20s start interval=0s id=snmptrapd-start-interval-0s timeout=30s stop interval=0s id=snmptrapd-stop-interval-0s timeout=30s meta target-role=started; +pcs resource group add centreon vip http gorgone centreon_central_sync cbd_central_broker centengine centreontrapd snmptrapd; +``` + + + + +Ce fichier sera nécessaire pour recréer toutes les ressources de votre cluster. + +### Supprimer les ressources + +Ces commandes ne doivent être exécutées que sur le nœud central actif : + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php --force +pcs resource delete centreon --force +``` + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete vip_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php --force +pcs resource delete centreon --force +``` + + + + +### Reconfigure MariaDB + +Il est nécessaire de modifier la configuration de MySQL en éditant `/etc/my.cnf.d/server.cnf` : + +> Sur les 2 serveurs centraux dans une HA 2 nœuds +> Sur les 2 serveurs de base de données dans une HA 4 noeuds. + +```bash +[server] +... +skip-slave-start +log-slave-updates +gtid_strict_mode=ON +expire_logs_days=7 +ignore-db-dir=lost+found +... +``` + +### Lancer la réplication GTID + +Exécutez cette commande **sur le nœud de base de données secondaire:**. + +```bash +mysqladmin -p shutdown +``` + +Il est important de s'assurer que MariaDB est complètement arrêté. Vous allez exécuter cette commande et vérifier qu'elle ne renvoie aucun résultat : + +```bash +ps -ef | grep mariadb[d] +``` + +Une fois le service arrêté **sur le nœud de base de données secondaire**, vous allez exécuter le script de synchronisation **depuis le nœud de base de données primaire** : + +```bash +mysqladmin -p shutdown +systemctl restart mariadb +/usr/share/centreon-ha/bin/mysql-sync-bigdb.sh +``` + +La sortie de ce script est très verbeuse : pour vous assurer que tout s'est bien passé, concentrez-vous sur les dernières lignes de la sortie, en vérifiant qu'elles ressemblent à ceci : + +```text +Umount and Delete LVM snapshot + Logical volume "dbbackupdatadir" successfully removed +Start MySQL Slave +Start Replication +Id User Host db Command Time State Info Progress +[variable number of lines] +``` + +La chose importante à vérifier est que `Start MySQL Slave` et `Start Replication` sont présents et qu'aucune erreur ne les suit. + +De plus, la sortie de cette commande ne doit afficher que des résultats `OK` : + +```bash +/usr/share/centreon-ha/bin/mysql-check-status.sh +``` + +La sortie attendue est : + +```text +Connection MASTER Status '@CENTRAL_MASTER_NAME@' [OK] +Connection SLAVE Status '@CENTRAL_SLAVE_NAME@' [OK] +Slave Thread Status [OK] +Position Status [OK] +``` + +### Redémarrer les processus de Centreon + +Puis de redémarrer tous les processus sur le **nœud central actif** : + +```bash +systemctl restart cbd-sql cbd gorgoned centengine centreontrapd +``` + +Et sur le **nœud central passif** : + +```bash +systemctl restart cbd +``` + +### Nettoyer les fichiers de mémoire de broker + +> **WARNING:** exécuter cette commande uniquement sur le noeud central passif. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, il faut nettoyer tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.* : + +```bash +rm -rf /var/lib/centreon-broker/central-broker-master.memory* +rm -rf /var/lib/centreon-broker/central-broker-master.queue* +rm -rf /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +### Recréer les ressources du cluster + +À exécuter **seulement sur un nœud central** : + +> **WARNING:** la syntaxe de la commande suivante dépend de la distribution Linux que vous utilisez. + +> Vous pouvez trouver les variables @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @MARIADB_REPL_USER@ @MARIADB_REPL_USER@ dans `/etc/centreon-ha/mysql-resources.sh`. + + + + +```bash +pcs resource create "ms_mysql" \ + ocf:heartbeat:mariadb-centreon \ + config="/etc/my.cnf.d/server.cnf" \ + pid="/var/lib/mysql/mysql.pid" \ + datadir="/var/lib/mysql" \ + socket="/var/lib/mysql/mysql.sock" \ + binary="/usr/bin/mysqld_safe" \ + node_list="@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@" \ + replication_user="@MARIADB_REPL_USER@" \ + replication_passwd='@MARIADB_REPL_PASSWD@' \ + test_user="@MARIADB_REPL_USER@" \ + test_passwd="@MARIADB_REPL_PASSWD@" \ + test_table='centreon.host' +``` + + + + +> **WARNING:** la syntaxe de la commande suivante dépend de la distribution Linux que vous utilisez. + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + +Adresse VIP des serveurs de bases de données + +```bash +pcs resource create vip_mysql \ + ocf:heartbeat:IPaddr2 \ + ip="@VIP_SQL_IPADDR@" \ + nic="@VIP_SQL_IFNAME@" \ + cidr_netmask="@VIP_SQL_CIDR_NETMASK@" \ + broadcast="@VIP_SQL_BROADCAST_IPADDR@" \ + flush_routes="true" \ + meta target-role="stopped" \ + op start interval="0s" timeout="20s" \ + stop interval="0s" timeout="20s" \ + monitor interval="10s" timeout="20s" +``` + + + + + + +#### PHP ressource + +```bash +pcs resource create "php" \ + systemd:php-fpm \ + meta target-role="started" \ + op start interval="0s" timeout="30s" \ + stop interval="0s" timeout="30s" \ + monitor interval="5s" timeout="30s" \ + clone +``` + +#### Ressource RRD broker + +```bash +pcs resource create "cbd_rrd" \ + systemd:cbd \ + meta target-role="started" \ + op start interval="0s" timeout="90s" \ + stop interval="0s" timeout="90s" \ + monitor interval="20s" timeout="30s" \ + clone +``` + +#### Recréer le groupe de ressources *centreon* + +```bash +bash centreon_pcs_command.sh +``` + +#### Recréer les contraintes + + + + + + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + +Afin de fixer le rôle de la base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle : + + + + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite les contraintes qui empêchent les processus Centreon de s'exécuter sur les nœuds de base de données et vice-versa : + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup ms_mysql +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel en utilisant la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les resources même si elles sont disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +### Ressources désactivées + +Lorsque vous faite une `crm_mon -fr` et que vous une ressource qui est disable : + +```text +... + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Stopped (disabled) +... +``` + +Vous devez faire enable la resource avec la commande suivante : + +```bash +pcs resource enable @RESSOURCE_NAME@ +``` + +Dans notre cas : + +```bash +pcs resource enable vip_mysql +``` + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne bien : + +* Accès aux menus de l'interface utilisateur web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Planification des contrôles immédiats (Central + Pollers), des accusés de réception, des temps d'arrêt, etc. +* Déplacer des ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md new file mode 100644 index 000000000000..2b9fa23b36a8 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md @@ -0,0 +1,576 @@ +--- +id: upgrade-centreon-ha-from-22-04 +title: Montée de version de Centreon HA depuis Centreon 22.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 22.04 vers la version 24.10. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de surpendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plateforme : + +- Serveur Centreon Central +- Serveur de Base de données + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../../security/key-rotation.md#existing-installation), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Processus de mise à jour + +Avant de procéder à la montée de version, arrêter Centreon-Broker-SQL sur le **nœud central primaire**: + +```bash +systemctl stop cbd-sql +``` + +Maintenant, pour effectuer la montée de version: + +> Pour le **nœud central actif** et **le nœud base de données actif s'il existe** merci de [suivre la documentation officielle](../../upgrade/upgrade-from-22-04.md) **jusqu'à l'étape "Actions post montée de version" incluse**. + +> Pour le **nœud central passif** et **le nœud base de données passif s'il existe**, merci de [suivre la documentation officielle](../../upgrade/upgrade-from-22-04.md) **jusqu'à l'étape "Mettre à jour une configuration Apache personnalisée" incluse uniquement. Ne pas procéder à l'étape "Finalisation de la mise à jour**. + + + + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Suppression des crons + +La mise à jour RPM remet en place les crons sur les serveurs Central et Bases de données. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +puis redémarrer le service cron: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** (ou dans le **/etc/mysql/mariadb.conf.d/50-server.cnf** sur Debian), il est normalement déjà en place depuis 22.04 et la réplication GTID : + +```shell +expire_logs_days=7 +``` + +### Réinitialiser les autorisations de la ressource centreon_central_sync + +L'upgrade RPM remet les permissions en place sur les serveurs centraux. Modifiez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Ugprade du cluster + +Depuis Centreon 22.04, la réplication de MariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). + +Cependant, certains changements doivent toujours être apportés. + + + + +### Sauvegarder la configuration + +Effectuez une sauvegarde du cluster sur le nœud central maître en utilisant: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modification de l'ordre des ressources sur le groupe centreon + +Pour optimiser la gestion des ressources et éviter de redémarrer cbd-sql quand on veut juste redémarrer gorgone, il faut changer leur ordre dans le groupe. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + + + + +### Sauvegarder la configuration + +Effectuez une sauvegarde du cluster sur le nœud central maître en utilisant: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modification de l'ordre des ressources sur le groupe centreon + +Pour optimiser la gestion des ressources et éviter de redémarrer cbd-sql quand on veut juste redémarrer gorgone, il faut changer leur ordre dans le groupe. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Modifier la ressource php-clone pour utiliser php 8.2 + +Modifier php8.0-fpm en php8.2-fpm avec la commande ci-dessous (une sauvegarde automatique du fichier est faite dans export_cluster.xml.bak) + +```bash +sed -i.bak s/php8.0-fpm/php8.2-fpm/ export_cluster.xml +``` + +Vérifier si la modification a été faite en recherchant **php8.2-fpm** dans le fichier xml + +```bash +grep php8.2-fpm export_cluster.xml +``` + +Vous devriez avoir 3 lignes dans le résultat comme ceci: + +```text + + + +``` + +Si c'est OK, appliquez les changements à la configuration du cluster + +```bash +cibadmin --replace --xml-file export_cluster.xml +``` + + + + +### Nettoyer les fichiers de mémoire de broker + +> **WARNING:** exécuter cette commande uniquement sur le nœud central passif. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, il faut nettoyer tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.*: + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recréer les contraintes + + + + + + +Commencez par extraire tous les identifiants des contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ID avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes ont bien été supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +Afin de coller le rôle de base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite la contrainte qui empêche les processus Centreon de s'exécuter sur les nœuds de la base de données et vice-et-versa.: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel en utilisant la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les resources même si elles sont disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne bien : + +* Accès aux menus de l'interface utilisateur web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Planification des contrôles immédiats (Central + Pollers), des accusés de réception, des temps d'arrêt, etc. +* Déplacer des ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md new file mode 100644 index 000000000000..2d4add677b71 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md @@ -0,0 +1,509 @@ +--- +id: upgrade-centreon-ha-from-22-10 +title: Montée de version de Centreon HA depuis Centreon 22.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 22.10 vers la version 24.10. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de suspendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plateforme : + +- Serveur Centreon Central +- Serveur de Base de données + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../../security/key-rotation.md#existing-installation), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Processus de mise à jour + +Avant de procéder à la montée de version, arrêter Centreon-Broker-SQL sur le **nœud central primaire**: + +```bash +systemctl stop cbd-sql +``` + +Maintenant, pour effectuer la montée de version: + +> Pour le **nœud central actif** et **le nœud base de données actif s'il existe** merci de [suivre la documentation officielle](../../upgrade/upgrade-from-22-10.md) **jusqu'à l'étape "Actions post montée de version" incluse**. + +> Pour le **nœud central passif** et **le nœud base de données passif s'il existe**, merci de [suivre la documentation officielle](../../upgrade/upgrade-from-22-10.md) **jusqu'à l'étape "Mettre à jour une configuration Apache personnalisée" incluse uniquement. Ne pas procéder à l'étape "Finalisation de la mise à jour**. + + + + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Suppression des crons + +La mise à jour RPM remet en place les crons sur les serveurs Central et Bases de données. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +puis redémarrer le service cron: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** (ou dans le **/etc/mysql/mariadb.conf.d/50-server.cnf** sur Debian), il est normalement déjà en place depuis 22.04 et la réplication GTID : + +```shell +expire_logs_days=7 +``` + +### Réinitialiser les autorisations de la ressource centreon_central_sync + +L'upgrade RPM remet les permissions en place sur les serveurs centraux. Modifiez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Ugprade du cluster + +Depuis Centreon 22.04, la réplication de MariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). + +Cependant, certains changements doivent toujours être apportés. + +### Sauvegarder la configuration + +Effectuez une sauvegarde du cluster sur le nœud central maître en utilisant: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modification de l'ordre des ressources sur le groupe centreon + +Pour optimiser la gestion des ressources et éviter de redémarrer cbd-sql quand on veut juste redémarrer gorgone, il faut changer leur ordre dans le groupe. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Nettoyer les fichiers de mémoire de broker + +> **WARNING:** exécuter cette commande uniquement sur le noeud central passif. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, il faut nettoyer tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.* : + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recréer les contraintes + + + + + + +Commencez par extraire tous les identifiants des contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ID avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes ont bien été supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +Afin de coller le rôle de base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite la contrainte qui empêche les processus Centreon de s'exécuter sur les nœuds de la base de données et vice-et-versa.: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel en utilisant la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les resources même si elles sont disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne bien : + +* Accès aux menus de l'interface utilisateur web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Planification des contrôles immédiats (Central + Pollers), des accusés de réception, des temps d'arrêt, etc. +* Déplacer des ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md new file mode 100644 index 000000000000..ca74df25b573 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md @@ -0,0 +1,509 @@ +--- +id: upgrade-centreon-ha-from-23-04 +title: Montée de version de Centreon HA depuis Centreon 23.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 23.04 vers la version 24.10. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de suspendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plateforme : + +- Serveur Centreon Central +- Serveur de Base de données + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../../security/key-rotation.md#existing-installation), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Processus de mise à jour + +Avant de procéder à la montée de version, arrêter Centreon-Broker-SQL sur le **nœud central primaire**: + +```bash +systemctl stop cbd-sql +``` + +Maintenant, pour effectuer la montée de version: + +> Pour le **nœud central actif** et **le nœud base de données actif s'il existe** merci de [suivre la documentation officielle](../../upgrade/upgrade-from-23-04.md) **jusqu'à l'étape "Actions post montée de version" incluse**. + +> Pour le **nœud central passif** et **le nœud base de données passif s'il existe**, merci de [suivre la documentation officielle](../../upgrade/upgrade-from-23-04.md) **jusqu'à l'étape "Mettre à jour une configuration Apache personnalisée" incluse uniquement. Ne pas procéder à l'étape "Finalisation de la mise à jour**. + + + + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Suppression des crons + +La mise à jour RPM remet en place les crons sur les serveurs Central et Bases de données. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +puis redémarrer le service cron: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** (ou dans le **/etc/mysql/mariadb.conf.d/50-server.cnf** sur Debian), il est normalement déjà en place depuis 22.04 et la réplication GTID : + +```shell +expire_logs_days=7 +``` + +### Réinitialiser les autorisations de la ressource centreon_central_sync + +L'upgrade RPM remet les permissions en place sur les serveurs centraux. Modifiez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Ugprade du cluster + +Depuis Centreon 22.04, la réplication de MariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). + +Cependant, certains changements doivent toujours être apportés. + +### Sauvegarder la configuration + +Effectuez une sauvegarde du cluster sur le nœud central maître en utilisant: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modification de l'ordre des ressources sur le groupe centreon + +Pour optimiser la gestion des ressources et éviter de redémarrer cbd-sql quand on veut juste redémarrer gorgone, il faut changer leur ordre dans le groupe. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Nettoyer les fichiers de mémoire de broker + +> **WARNING:** exécuter cette commande uniquement sur le noeud central passif. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, il faut nettoyer tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.* : + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recréer les contraintes + + + + + + +Commencez par extraire tous les identifiants des contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ID avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes ont bien été supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +Afin de coller le rôle de base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite la contrainte qui empêche les processus Centreon de s'exécuter sur les nœuds de la base de données et vice-et-versa.: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel en utilisant la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les resources même si elles sont disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne bien : + +* Accès aux menus de l'interface utilisateur web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Planification des contrôles immédiats (Central + Pollers), des accusés de réception, des temps d'arrêt, etc. +* Déplacer des ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md new file mode 100644 index 000000000000..a7e2fe7bac41 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md @@ -0,0 +1,646 @@ +--- +id: upgrade-centreon-ha-from-23-10 +title: Montée de version de Centreon HA depuis Centreon 23.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit comment mettre à niveau votre plate-forme Centreon HA de la version 23.10 vers la version 24.10. + +## Prérequis + +### Suspendre la gestion des ressources du cluster + +Afin d'éviter un basculement du cluster pendant la mise à jour, il est nécessaire de suspendre toutes les ressources Centreon, ainsi que MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance des sauvegardes de l’ensemble des serveurs centraux de votre plateforme : + +- Serveur Centreon Central +- Serveur de Base de données + +### Mettre à jour la clé de signature RPM + +Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. +Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../../security/key-rotation.md#existing-installation), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Processus de mise à jour + +Avant de procéder à la montée de version, arrêter Centreon-Broker-SQL sur le **nœud central primaire**: + +```bash +systemctl stop cbd-sql +``` + +Maintenant, pour effectuer la montée de version: + +> Pour le **nœud central actif** et **le nœud base de données actif s'il existe** merci de [suivre la documentation officielle](../../upgrade/upgrade-from-23-10.md) **jusqu'à l'étape "Actions post montée de version" incluse**. + +> Pour le **nœud central passif** et **le nœud base de données passif s'il existe**, merci de [suivre la documentation officielle](../../upgrade/upgrade-from-23-10.md) **jusqu'à l'étape "Mettre à jour une configuration Apache personnalisée" incluse uniquement. Ne pas procéder à l'étape "Finalisation de la mise à jour**. + + + + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Uniquement sur les serveurs deux nœuds centraux, restaurer le fichier `/etc/centreon-ha/centreon_central_sync.pm`. + +```bash +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Sur le **nœud central passif**, déplacez le répertoire **install** pour éviter d'obtenir l'écran "upgrade" dans l'interface en cas de nouvel échange de rôles et rechargez le cache Apache. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Suppression des crons + +La mise à jour RPM remet en place les crons sur les serveurs Central et Bases de données. Supprimez-les pour éviter les exécutions simultanées : + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +puis redémarrer le service cron: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +Le cron **centreon-ha-mysql** étant supprimé, vérifiez que vous avez bien la ligne suivante dans la section **server** du fichier **/etc/my.cnf.d/server.cnf** (ou dans le **/etc/mysql/mariadb.conf.d/50-server.cnf** sur Debian), il est normalement déjà en place depuis 22.04 et la réplication GTID : + +```shell +expire_logs_days=7 +``` + +### Réinitialiser les autorisations de la ressource centreon_central_sync + +L'upgrade RPM remet les permissions en place sur les serveurs centraux. Modifiez-les en utilisant ces commandes : + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Ugprade du cluster + +Depuis Centreon 22.04, la réplication de MariaDB est maintenant basée sur [GTID](https://mariadb.com/kb/en/gtid/). + +Cependant, certains changements doivent toujours être apportés. + +### Sauvegarder la configuration + +Effectuez une sauvegarde du cluster sur le nœud central maître en utilisant: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Vérifiez que le fichier `centreon_cluster.tar.bz2` existe avant de continuer cette procédure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modification de l'ordre des ressources sur le groupe centreon + +Pour optimiser la gestion des ressources et éviter de redémarrer cbd-sql quand on veut juste redémarrer gorgone, il faut changer leur ordre dans le groupe. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Nettoyer les fichiers de mémoire de broker + +> **WARNING:** exécuter cette commande uniquement sur le noeud central passif. + +Avant de reprendre la gestion des ressources du cluster, pour éviter les problèmes de broker, il faut nettoyer tous les fichiers *.memory.*, *.unprocessed.* ou *.queue.* : + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recréer les contraintes + + + + + + +Commencez par extraire tous les identifiants des contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ID avec les vôtres** + +```bash +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes ont bien été supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +Commencez par extraire tous les identifiants des contraintes: + +```bash +pcs constraint config --full +``` + +Vous devriez obtenir un résultat similaire: + +```text +Colocation Constraints: + Promoted resource 'centreon' with Started resource 'ms_mysql-clone' (id: colocation-centreon-ms_mysql-clone-INFINITY) + score=INFINITY + Promoted resource 'ms_mysql-clone' with Started resource 'centreon' (id: colocation-ms_mysql-clone-centreon-INFINITY) + score=INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ID avec les vôtres** + +```bash +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes ont bien été supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +Afin de coller le rôle de base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires. + +Afin de coller le rôle de base de données primaire avec l'IP virtuelle, définissez une contrainte mutuelle: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Extraire d'abord tous les identifiants de contraintes: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +Vous devriez obtenir un résultat similaire en fonction de vos noms d'hôtes : + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +et supprimer **toutes** les contraintes, **adapter les ids avec les vôtres** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Vérifier que toutes les contraintes sont bien supprimées: + +```bash +pcs constraint +``` + +Vous devriez obtenir un résultat comme celui-ci: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +Si c'est le cas, recréez uniquement les contraintes nécessaires + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Recréez ensuite la contrainte qui empêche les processus Centreon de s'exécuter sur les nœuds de la base de données et vice-et-versa.: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Reprise de la gestion des ressources du cluster + +Maintenant que la mise à jour est terminée, les ressources peuvent être gérées à nouveau : + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Vérifier la santé du cluster + +Vous pouvez surveiller les ressources du cluster en temps réel en utilisant la commande `crm_mon -fr` : +> **INFO:** L'option `-fr` vous permet d'afficher toutes les resources même si elles sont disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Vérification de la stabilité de la plate-forme + +Vous devez maintenant vérifier que tout fonctionne bien : + +* Accès aux menus de l'interface utilisateur web. +* Génération de la configuration des pollers + méthode de rechargement et de redémarrage. +* Planification des contrôles immédiats (Central + Pollers), des accusés de réception, des temps d'arrêt, etc. +* Déplacer des ressources ou redémarrer le serveur actif et vérifier à nouveau que tout va bien. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/introduction.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/introduction.md new file mode 100644 index 000000000000..c43506cc439f --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/introduction.md @@ -0,0 +1,27 @@ +--- +id: introduction +title: Introduction à la montée de version +--- + +Ce chapitre décrit le processus de montée de version (upgrade) d'une plateforme Centreon, c'est-à-dire le passage d'une version majeure à une autre (par exemple, 21.10 à 24.10). + +> à partir de la version 23.04, Centreon ne supporte plus CentOS 7. Si votre plateforme Centreon était installée sous CentOS 7, vous ne pouvez pas simplement monter de version : passez à un [OS supporté](../installation/compatibility.md#système-dexploitation) en suivant une [procédure de migration](../migrate/introduction.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +La procédure dépend de la méthode d'installation de votre plate-forme Centreon. +Faites une **Mise à jour RPM** si vous avez installé Centreon à partir de +l'ISO ou des RPMS, et utilisez les fichiers source si vous avez installé Centreon à partir des sources. Avant de mettre +à jour, réalisez une sauvegarde. + +> Si vous utilisez au moins un des modules BAM, MAP ou MBI, vous devez mettre +> en place leur nouveau dépôt afin d'éviter les problèmes de dépendances. +> Voir [cette page](../reporting/upgrade.md#monter-de-version-du-paquet) +> qui vous indique comment le récupérer. + +> Si vous souhaitez changer l'OS du serveur hôte, suivez la [procédure de migration](../migrate/introduction.md). (Idem en cas de migration d'une plate-forme disposant du module **[Centreon Poller +> Display 1.6.x](../migrate/poller-display-to-remote-server.md)**). + +> Le processus de mise à jour ne peut démarrer qu'à partir des versions **2.8.0** +> et ultérieures. Si vous avez une version précédente, veuillez d'abord mettre à +> jour vers la dernière version 2.8.x. diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-20-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-20-10.md new file mode 100644 index 000000000000..82e79d159aa4 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-20-10.md @@ -0,0 +1,496 @@ +--- +id: upgrade-from-20-10 +title: Montée de version depuis Centreon 20.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plate-forme +Centreon depuis la version 20.10 vers la version 24.10. + +Vous ne pouvez pas simplement monter de version depuis une version antérieure à Centreon 20.10 et vers une version 24.10, car CentOS 7 n'est plus supporté: vous devez [migrer votre plateforme vers un OS supporté](../migrate/introduction.md). + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8 ou 9, vous devez suivre la [procédure de migration](../migrate/migrate-from-el-to-el.md) + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +> Pour effectuer cette procédure, votre version de MariaDB doit être >= 10.3.22. +> Si cela n'est pas le cas, merci de suivre avant le +> [chapitre de mise à jour de MariaDB](./upgrade-mariadb.md) + +> Attention, suite à la correction d'un problème relatif au schéma de base de données, il sera nécessaire +> d'arrêter l'insertion en base de données des données collectées le temps de la mise à jour. Celles-ci seront stockées +> dans des fichiers temporaires puis insérées à la fin du processus de mise à jour. + +## Prérequis + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +### Mettre à jour la clé de signature RPM + +> Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../security/key-rotation.md#installation-existante), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Montée de version du serveur Centreon Central + +> Depuis la version 24.04, Centreon utilise **MariaDB 10.11**. +> +> Le processus suivant met seulement à jour les composants Centreon pour le +> moment. +> +> MariaDB sera mis à jour après. + +### Installer les nouveaux dépôts + +1. Sur votre plateforme 20.10, remplacez `https://packages.centreon.com/rpm-standard` ou `https://yum.centreon.com/standard/` par `https://archives.centreon.com/standard/` dans votre configuration YUM (par défaut, `/etc/yum.repos.d/centreon.repo`). + +2. Mettez à jour votre Centreon 20.10 jusqu'à la dernière version mineure. + +3. Supprimez le fichier **centreon.repo** : + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Installez le nouveau dépôt : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Installer le dépôt MariaDB + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez tout d'abord installer les dépôts **remi** : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +Vous devez tout d'abord installer les dépôts **remi** : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +``` + +Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Arrêter le processus Centreon Broker : +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + + + + +Exécutez les commandes suivantes : + +```shell +systemctl enable php-fpm +systemctl restart php-fpm +``` + + + + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Montée de version du serveur MariaDB + +Les composants MariaDB peuvent maintenant être mis à jour. + +> Référez vous à la documentation officielle de MariaDB pour en savoir +> davantage sur ce processus : +> +> https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/ + +#### Mettre à jour le dépôt Centreon + +> Cette étape est nécessaire seulement si votre environnement comprend une base de données déportée. +> Si le serveur central Centreon et +> MariaDB sont hébergés sur le même serveur, sautez cette étape. + +Exécutez la commande suivante sur le serveur de base de données dédié : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +#### Mettre à jour MariaDB + +Il est nécessaire de désinstaller puis réinstaller MariaDB pour changer de version majeure (c'est-à-dire pour passer d'une version 10.3 à une version 10.11). + +1. Arrêtez le service mariadb : + + ```shell + systemctl stop mariadb + ``` + +2. Désinstallez la version actuelle : + + ```shell + rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common + ``` + + > Pendant cette étape de désinstallation, vous pouvez rencontrer une erreur parce qu'un ou plusieurs paquets MariaDB sont manquants. Dans ce cas, vous devez exécuter la commande de désinstallation sans inclure le paquet manquant. + + Par exemple, vous obtenez le message d'erreur suivant : + + ```shell + package MariaDB-compat is not installed + ``` + + Comme le paquet **MariaDB-compat** est manquant, vous devez exécuter la même commande sans citer **MariaDB-compat** : + + ```shell + rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-common + ``` + + > Assurez-vous d'avoir [installé le dépôt officiel de MariaDB](./upgrade-from-20-10.md#installer-le-dépôt-mariadb) avant de poursuivre la procédure. + +3. Installez la version 10.11 : + + ```shell + dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-common-10.11\* + ``` + +4. Démarrer le service mariadb : + + ```shell + systemctl start mariadb + ``` + +5. Lancez le processus de mise à jour MariaDB : + + ```shell + mysql_upgrade + ``` + + Si votre base de données est protégée par mot de passe, entrez : + + ```shell + mysql_upgrade -u -p + ``` + + Exemple : si votre utilisateur_admin_bdd est `root`, entrez: + + ```shell + mysql_upgrade -u root -p + ``` + + > Référez vous à la [documentation officielle](https://mariadb.com/kb/en/mysql_upgrade/) + > pour plus d'informations ou si des erreurs apparaissent pendant cette dernière étape. + +#### Activer MariaDB au démarrage automatique + +Exécutez la commande suivante : + +```shell +systemctl enable mariadb +``` + +### Finalisation de la mise à jour + + + + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec la commande suivante : + +```shell +systemctl reload httpd +``` + + + + +Connectez-vous ensuite à l'interface web Centreon pour démarrer le processus de +mise à jour : + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_1.png) + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_2.png) + +La note de version présente les principaux changements, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_3.png) + +Le processus réalise les différentes mises à jour, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_4.png) + +Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + +![image](../assets/upgrade/web_update_5.png) + +> La présentation de l'interface ayant été modifiée dans la version 22.10, vous devez vider le cache de votre navigateur pour afficher le nouveau thème. + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Gestionnaire de connecteurs de supervision, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployer la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + +```shell +dnf update centreon\* +``` + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Démarrez et activez **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Redémarrez **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-04.md new file mode 100644 index 000000000000..343dae1142ef --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-04.md @@ -0,0 +1,368 @@ +--- +id: upgrade-from-21-04 +title: Montée de version depuis Centreon 21.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plate-forme +Centreon depuis la version 21.04 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/migrate-from-el-to-el.md) + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +### Mettre à jour la clé de signature RPM + +> Pour des raisons de sécurité, les clés utilisées pour signer les RPMs Centreon sont changées régulièrement. Le dernier changement a eu lieu le 14 octobre 2021. Lorsque vous mettez Centreon à jour depuis une version plus ancienne, vous devez suivre la [procédure de changement de clé](../security/key-rotation.md#installation-existante), afin de supprimer l'ancienne clé et d'installer la nouvelle. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installer les nouveaux dépôts + +1. Sur votre plateforme 21.04, remplacez `https://packages.centreon.com/rpm-standard` ou `https://yum.centreon.com/standard/` par `https://archives.centreon.com/standard/` dans votre configuration YUM (par défaut, `/etc/yum.repos.d/centreon.repo`). + +2. Mettez à jour votre Centreon 21.04 jusqu'à la dernière version mineure. + +3. Supprimez le fichier **centreon.repo** : + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Installez le nouveau dépôt : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez tout d'abord installer les dépôts **remi** : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +Vous devez tout d'abord installer les dépôts **remi** : + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +``` + +Ensuite, vous devez changer le flux PHP de la version 7.3 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Arrêter le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimer les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + + + + +Exécutez les commandes suivantes : + +```shell +systemctl enable php-fpm +systemctl restart php-fpm +``` + + + + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + + + + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec la commande suivante : + +```shell +systemctl reload httpd +``` + + + + +Connectez-vous ensuite à l'interface web Centreon pour démarrer le processus de +mise à jour : + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_1.png) + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_2.png) + +La note de version présente les principaux changements, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_3.png) + +Le processus réalise les différentes mises à jour, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_4.png) + +Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + +![image](../assets/upgrade/web_update_5.png) + +> La présentation de l'interface ayant été modifiée dans la version 22.10, vous devez vider le cache de votre navigateur pour afficher le nouveau thème. + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Gestionnaire de connecteurs de supervision, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + +```shell +dnf update centreon\* +``` + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Démarrez et activez **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Redémarrez **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-10.md new file mode 100644 index 000000000000..0d4c48372292 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-21-10.md @@ -0,0 +1,333 @@ +--- +id: upgrade-from-21-10 +title: Montée de version depuis Centreon 21.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 21.10 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/migrate-from-el-to-el.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installer les nouveaux dépôts + +1. Sur votre plateforme 21.10, remplacez `https://packages.centreon.com/rpm-standard` ou `https://yum.centreon.com/standard/` par `https://archives.centreon.com/standard/` dans votre configuration YUM (par défaut, `/etc/yum.repos.d/centreon.repo`). + +2. Mettez à jour votre Centreon 21.10 jusqu'à la dernière version mineure. + +3. Supprimez le fichier **centreon.repo** : + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Installez le nouveau dépôt : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.0 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.0 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Arrêter le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimer les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + + + + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec la commande suivante : +```shell +systemctl reload httpd +``` + + + + +Connectez-vous ensuite à l'interface web Centreon pour démarrer le processus de +mise à jour : + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_1.png) + +Cliquez sur **Next** : + +![image](../assets/upgrade/web_update_2.png) + +La note de version présente les principaux changements, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_3.png) + +Le processus réalise les différentes mises à jour, cliquez sur **Next** : + +![image](../assets/upgrade/web_update_4.png) + +Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + +![image](../assets/upgrade/web_update_5.png) + +> La présentation de l'interface ayant été modifiée dans la version 22.10, vous devez vider le cache de votre navigateur pour afficher le nouveau thème. + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Gestionnaire de connecteurs de supervision, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + +```shell +dnf clean all --enablerepo=* +``` + +Mettez à jour l'ensemble des composants : + +```shell +dnf update centreon\* +``` + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Démarrez et activez **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Redémarrez **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-04.md new file mode 100644 index 000000000000..005600c725a3 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-04.md @@ -0,0 +1,571 @@ +--- +id: upgrade-from-22-04 +title: Montée de version depuis Centreon 22.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 22.04 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#changement-de-version-de-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/introduction.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installer les nouveaux dépôts + + + + +1. Mettez à jour votre Centreon 22.04 jusqu'à la dernière version mineure. + +2. Supprimez le fichier **centreon-22.04.repo** : + + ```shell + rm /etc/yum.repos.d/centreon-22.04.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 22.04 jusqu'à la dernière version mineure. +2. Exécutez les commandes suivantes : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.0 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.0 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +```shell +systemctl stop php8.0-fpm +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Si votre OS est Debian 11 et que vous avez une configuration Apache personnalisée, faites une sauvegarde de votre fichier de configuration (**/etc/apache2/sites-available/centreon.conf**). + +Arrêtez le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Utilisez la sauvegarde que vous avez effectuée à l'étape précédente pour reporter vos personnalisations dans le fichier **/etc/apache2/sites-available/centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php8.2-fpm apache2 +``` + +Puis vérifiez le statut : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec les commandes suivantes : + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.0-fpm.service +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Vous devez ensuite finaliser le processus de mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon, l'assistant d'interface s'affiche. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Mettez à jour les permissions sur les fichiers de configurations de centreon-broker. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +> La présentation de l'interface ayant été modifiée dans la version 22.10, vous devez vider le cache de votre navigateur pour afficher le nouveau thème. + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Gestionnaire de connecteurs de supervision, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Redémarrez **centreon** : + +```shell +systemctl restart centreon +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-10.md new file mode 100644 index 000000000000..e5b09b87d550 --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-22-10.md @@ -0,0 +1,564 @@ +--- +id: upgrade-from-22-10 +title: Montée de version depuis Centreon 22.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 22.10 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#changement-de-version-de-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/introduction.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installation du nouveau dépôt Centreon + + + + +1. Mettez à jour votre Centreon 22.10 jusqu'à la dernière version mineure. + +2. Supprimez le fichier **centreon-22.10.repo** : + + ```shell + rm /etc/yum.repos.d/centreon-22.10.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 22.10 jusqu'à la dernière version mineure. +2. Exécutez les commandes suivantes : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Si votre OS est Debian 12 et que vous avez une configuration Apache personnalisée, faites une sauvegarde de votre fichier de configuration (**/etc/apache2/sites-available/centreon.conf**). + +Arrêtez le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Utilisez la sauvegarde que vous avez effectuée à l'étape précédente pour reporter vos personnalisations dans le fichier **/etc/apache2/sites-available/centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Vérifiez le statut d'Apache : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec les commandes suivantes : + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.0-fpm.service +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Vous devez ensuite finaliser le processus de mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon, l'assistant d'interface s'affiche. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Mettez à jour les permissions sur les fichiers de configurations de centreon-broker. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Redémarrez **centreon** : + +```shell +systemctl restart centreon +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-04.md new file mode 100644 index 000000000000..34a2ecd4439e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-04.md @@ -0,0 +1,695 @@ +--- +id: upgrade-from-23-04 +title: Montée de version depuis Centreon 23.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 23.04 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#changement-de-version-de-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/introduction.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installation du nouveau dépôt Centreon + + + + +1. Mettez à jour votre Centreon 23.04 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-23.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 23.04 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-23.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 23.04 jusqu'à la dernière version mineure. +2. Exécutez les commandes suivantes : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Si votre OS est Debian 12 et que vous avez une configuration Apache personnalisée, faites une sauvegarde de votre fichier de configuration (**/etc/apache2/sites-available/centreon.conf**). + +Arrêtez le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Utilisez la sauvegarde que vous avez effectuée à l'étape précédente pour reporter vos personnalisations dans le fichier **/etc/apache2/sites-available/centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Vérifiez le statut d'Apache : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec les commandes suivantes : + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Vous devez ensuite finaliser le processus de mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon, l'assistant d'interface s'affiche. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Mettez à jour les permissions sur les fichiers de configurations de centreon-broker. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Redémarrez **centreon** : + +```shell +systemctl restart centreon +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-10.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-10.md new file mode 100644 index 000000000000..6415e3f54b3a --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-23-10.md @@ -0,0 +1,695 @@ +--- +id: upgrade-from-23-10 +title: Montée de version depuis Centreon 23.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 23.10 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#changement-de-version-de-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux +> / RHEL 8, vous devez suivre la [procédure de migration](../migrate/introduction.md). + +> Utilisateurs de la Business edition : MAP Legacy n'est plus disponible dans Centreon 24.10. Si vous utilisiez toujours MAP Legacy, vous devez migrer vers MAP. Consultez la page [Fin de vie de MAP Legacy](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installation du nouveau dépôt Centreon + + + + +1. Mettez à jour votre Centreon 23.10 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-23.10.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 23.10 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-23.10.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 23.10 jusqu'à la dernière version mineure. +2. Exécutez les commandes suivantes : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Si votre OS est Debian 12 et que vous avez une configuration Apache personnalisée, faites une sauvegarde de votre fichier de configuration (**/etc/apache2/sites-available/centreon.conf**). + +Arrêtez le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Utilisez la sauvegarde que vous avez effectuée à l'étape précédente pour reporter vos personnalisations dans le fichier **/etc/apache2/sites-available/centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Vérifiez le statut d'Apache : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec les commandes suivantes : + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Vous devez ensuite finaliser le processus de mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon, l'assistant d'interface s'affiche. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Mettez à jour les permissions sur les fichiers de configurations de centreon-broker. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Redémarrez **centreon** : + +```shell +systemctl restart centreon +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-24-04.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-24-04.md new file mode 100644 index 000000000000..08aa0517160e --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-from-24-04.md @@ -0,0 +1,696 @@ +--- +id: upgrade-from-24-04 +title: Montée de version depuis Centreon 24.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Ce chapitre décrit la procédure de montée de version de votre plateforme +Centreon depuis la version 24.04 vers la version 24.10. + +> Lorsque vous effectuez la montée de version de votre serveur central, assurez-vous d'également mettre à jour tous vos serveurs distants et vos collecteurs. +> +> Dans votre architecture, tous les serveurs doivent avoir la même version de Centreon. +> +> De plus, tous les serveurs doivent utiliser la même [version du protocole BBDO](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> Si vous souhaitez migrer votre serveur Centreon vers Oracle Linux / RHEL 8, vous devez suivre la [procédure de migration](../migrate/introduction.md). + +## Prérequis + +### Sauvegarde + +Avant toute chose, il est préférable de s’assurer de l’état et de la consistance +des sauvegardes de l’ensemble des serveurs centraux de votre plate-forme : + +- Serveur Centreon Central, +- Serveur de gestion de base de données. + +## Montée de version du serveur Centreon Central + +> Lorsque vous lancez une commande, vérifiez les messagez obtenus. En cas de message d'erreur, arrêtez la procédure et dépannez les problèmes. + +### Installation du nouveau dépôt Centreon + + + + +1. Mettez à jour votre Centreon 24.04 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-24.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 24.04 jusqu'à la dernière version mineure. + +2. Supprimez les fichiers des dépôts : + + ```shell + rm /etc/yum.repos.d/centreon-24.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Installez le nouveau dépôt : + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Mettez à jour votre Centreon 24.04 jusqu'à la dernière version mineure. +2. Exécutez les commandes suivantes : + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Ensuite, importez la clé du dépôt : + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> Si vous avez une [licence offline](../administration/licenses.md#types-de-licences), supprimez également l'ancien dépôt des connecteurs de supervision, puis installez le nouveau dépôt. +> +> Si vous avez une édition Business, faites de même avec le dépôt Business. +> +> Vous pouvez trouver l'adresse des dépôts sur le [portail support Centreon](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts). + +### Montée de version de PHP + +Centreon 24.10 utilise PHP en version 8.2. + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +Vous devez changer le flux PHP de la version 8.1 à 8.2 en exécutant les commandes suivantes et en répondant **y** +pour confirmer : + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Montée de version de la solution Centreon + +> Assurez-vous que tous les utilisateurs sont déconnectés avant de commencer +> la procédure de mise à jour. + +Si vous avez des extensions Business installées, mettez à jour le dépôt business en 24.10. +Rendez-vous sur le [portail du support](https://support.centreon.com/hc/fr/categories/10341239833105-D%C3%A9p%C3%B4ts) pour en récupérer l'adresse. + +Si votre OS est Debian 12 et que vous avez une configuration Apache personnalisée, faites une sauvegarde de votre fichier de configuration (**/etc/apache2/sites-available/centreon.conf**). + +Arrêtez le processus Centreon Broker : + +```shell +systemctl stop cbd +``` + +Supprimez les fichiers de rétention présents : + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +yum update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +### Mettre à jour une configuration Apache personnalisée + +Cette section s'applique uniquement si vous avez personnalisé votre configuration Apache. + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Lors de la montée de version, le fichier de configuration Apache n'est pas mis à jour automatiquement : le nouveau fichier de configuration amené par le rpm ne remplace pas l'ancien. Vous devez reporter les changements manuellement dans votre fichier de configuration personnalisée. + +Faites un diff entre l'ancien et le nouveau fichier de configuration Apache : + +``` +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post montée de version) : ce fichier contient la configuration personnalisée. Il ne contient pas les nouveautés apportées par la montée de version. +* **10-centreon.conf.rpmnew** (post montée de version) : ce fichier est fourni par le rpm; il ne contient pas la configuration personnalisée. + +Pour chaque différence entre les fichiers, évaluez si celle-ci doit être reportée du fichier **10-centreon.conf.rpmnew** au fichier **10-centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apachectl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Redémarrez Apache pour appliquer les modifications : + +```shell +systemctl restart php-fpm httpd +``` + +Puis vérifiez le statut : + +```shell +systemctl status httpd +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Utilisez la sauvegarde que vous avez effectuée à l'étape précédente pour reporter vos personnalisations dans le fichier **/etc/apache2/sites-available/centreon.conf**. + +Vérifiez qu'Apache est bien configuré, en exécutant la commande suivante : + +```shell +apache2ctl configtest +``` + +Le résultat attendu est le suivant : + +```shell +Syntax OK +``` + +Vérifiez le statut d'Apache : + +```shell +systemctl status apache2 +``` + +Si tout est correct, vous devriez avoir quelque chose comme : + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Configuration Apache personnalisée : activer la compression du texte + +Pour améliorer le temps de chargement des pages, vous pouvez activer la compression du texte sur le serveur Apache. Le paquet **brotli** est nécessaire. Cette configuration est optionnelle mais vous fournira une meilleure expérience utilisateur. + +Ajoutez le code suivant à votre fichier de configuration Apache, dans les éléments `` et `` : + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalisation de la mise à jour + +Avant de démarrer la montée de version via l'interface web, rechargez le serveur Apache avec les commandes suivantes : + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Vous devez ensuite finaliser le processus de mise à jour : + + + + +1. Connectez-vous à l'interface web Centreon, l'assistant d'interface s'affiche. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_1.png) + +2. Cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_2.png) + +3. La note de version présente les principaux changements, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_3.png) + +4. Le processus réalise les différentes mises à jour, cliquez sur **Next** : + + ![image](../assets/upgrade/web_update_4.png) + +5. Votre serveur Centreon est maintenant à jour, cliquez sur **Finish** pour +accéder à la page de connexion : + + ![image](../assets/upgrade/web_update_5.png) + + + + +1. Connectez-vous au serveur Central via le terminal pour poursuivre le processus de +mise à jour. + + > Vous avez besoin d'un token d'authentification pour accéder à l'endpoint de l'API. Suivez la procédure ci-dessous pour obtenir un token. + + Dans notre cas, nous avons la configuration décrite ci-dessous (vous devez adapter la procédure à votre configuration). + + - adresse : 10.25.XX.XX + - port : 80 + - version : 24.10 + - identifiant : Admin + - mot de passe : xxxxx + +2. Entrez la requête suivante : + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + Voici à quoi ressemble le résultat : + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost", "is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Récupérez le numéro du token pour l'utiliser lors de la prochaine requête. + +4. Entrez ensuite cette requête : + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. Cette requête ne renvoie aucun résultat. Pour vérifier que la mise à jour a bien été appliquée, consultez le numéro de version affiché sur la page de connexion à l'interface web Centreon. + + + + +Enfin, redémarrez Broker, Engine et Gorgone sur le serveur Central en exécutant la commande suivante : + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Mettez à jour les permissions sur les fichiers de configurations de centreon-broker. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +Si le module Centreon BAM est installé, référez-vous à la [documentation +associée](../service-mapping/upgrade.md) pour le mettre à jour. + +### Actions post montée de version + +1. Montée de version des extensions : + + Depuis le menu **Administration > Extensions > Gestionnaire**, mettez à jour + toutes les extensions, en commençant par les suivantes : + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Vous pouvez alors mettre à jour toutes les autres extensions commerciales. + +2. [Déployez la configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Redémarrez les processus Centreon : + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Mettre à jour MariaDB + +Suivez [cette procédure](upgrade-mariadb.md) pour monter de version MariaDB en 10.11. + +## Montée de version des Remote Servers + +Cette procédure est identique à la montée de version d'un serveur Centreon +Central. + +> En fin de mise à jour, la configuration doit être déployée depuis le serveur Central. + +## Montée de version des collecteurs + +### Mise à jour des dépôts + +Exécutez la commande suivante : + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Montée de version de la solution Centreon + +Videz le cache : + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Mettez à jour l'ensemble des composants : + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + + +> Acceptez les nouvelles clés GPG des dépôts si nécessaire. + +Redémarrez **centreon** : + +```shell +systemctl restart centreon +``` diff --git a/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-mariadb.md b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-mariadb.md new file mode 100644 index 000000000000..17e7b5d8347c --- /dev/null +++ b/i18n/fr/docusaurus-plugin-content-docs/version-25.10/upgrade/upgrade-mariadb.md @@ -0,0 +1,290 @@ +--- +id: upgrade-mariadb +title: Mettre à jour MariaDB +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Vous pouvez potentiellement avoir plusieurs bases MariaDB dans votre architecture. Le serveur central a une base, chaque serveur distant a une base, et les modules MBI et MAP ont chacun une base dédiée. Dans une architecture, toutes les bases doivent avoir la même version de MariaDB. + +## Processus de mise à jour + +Lorsque vous passez d'une version majeure de Centreon à une autre, vous devez : + +1. Upgrader Centreon (paquets, installation web, déploiement de la configuration). +2. Upgrader MariaDB. + +> Référez vous à la documentation officielle de MariaDB pour en savoir davantage sur le processus de mise à jour : +> - https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/ + +## Version de Maria DB par version de Centreon + +| Centreon | MariaDB | +|----------|---------| +| 24.10 | 10.11 | +| 24.04 | 10.11 | +| 23.10 | 10.5 | +| 23.04 | 10.5 | +| 22.10 | 10.5 | +| 22.04 | 10.5 | +| 21.10 | 10.5 | +| 21.04 | 10.5 | +| 20.10 | 10.3.x | +| 20.04 | 10.3.x | +| 19.10 | 10.1.x | + +## Connaître la version de MariaDB + +Pour connaître la version de MariaDB installée sur une machine, tapez la commande suivante : + + + + +```shell +rpm -qa |grep MariaDB +``` + +Le résultat doit ressembler à ça : + +```shell +MariaDB-client-10.5.8-1.el8.centos.x86_64 +MariaDB-server-10.5.8-1.el8.centos.x86_64 +MariaDB-common-10.5.8-1.el8.centos.x86_64 +MariaDB-shared-10.5.8-1.el8.centos.x86_64 +MariaDB-compat-10.5.8-1.el8.centos.x86_64 +``` + + + + +```shell +rpm -qa |grep MariaDB +``` + +Le résultat doit ressembler à ça : + +```shell +MariaDB-client-10.5.8-1.el9.centos.x86_64 +MariaDB-server-10.5.8-1.el9.centos.x86_64 +MariaDB-common-10.5.8-1.el9.centos.x86_64 +MariaDB-shared-10.5.8-1.el9.centos.x86_64 +MariaDB-compat-10.5.8-1.el9.centos.x86_64 +``` + + + + +```shell +dpkg -l |grep MariaDB +``` + +Le résultat doit ressembler à ça : + +```shell +ii libdbd-mysql-perl:amd64 4.050-3+b1 amd64 Perl5 database interface to the MariaDB/MySQL database +ii libmariadb3:amd64 1:10.5.17+maria~deb11 amd64 MariaDB database client library +ii mariadb-client-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database client binaries +ii mariadb-client-core-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database core client binaries +ii mariadb-common 1:10.5.17+maria~deb11 all MariaDB common configuration files +ii mariadb-server 1:10.5.17+maria~deb11 all MariaDB database server (metapackage depending on the latest version) +ii mariadb-server-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database server binaries +ii mariadb-server-core-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database core server files +ii mysql-common 1:10.5.17+maria~deb11 all MariaDB database common files (e.g. /etc/mysql/my.cnf) +``` + + + + +## Changer de version majeure de MariaDB + +Il est nécessaire de désinstaller puis réinstaller MariaDB pour changer de version majeure (par exemple pour passer d'une version 10.5 à une version 10.11). + +1. Arrêtez le service mariadb : + + ```shell + systemctl stop mariadb + ``` + +2. Désinstallez la version actuelle : + + + + +```shell +rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common +``` + + + + +```shell +rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common +``` + + + + +Lors de l'étape **[Connaître la version de MariaDB](#connaître-la-version-de-mariadb)**, la commande **grep** vous a renvoyé la version précise de votre MariaDB. + +* Si votre résultat incluait l'indication de version “10.5”, votre commande de désinstallation doit inclure celle-ci, comme dans l’exemple ci-dessous : + +```shell +dpkg -r --ignore-depends=mariadb-server,mariadb-client,mariadb-shared,mariadb-compat,mariadb-common mariadb-server mariadb-server-10.5 mariadb-client mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server-core-10.5 mysql-common +``` + +* Si votre résultat n’incluait pas l'indication de version “10.5”, utilisez la commande suivante : + +```shell +dpkg -r --ignore-depends=mariadb-server,mariadb-client,mariadb-shared,mariadb-compat,mariadb-common mariadb-server mariadb-server mariadb-client mariadb-client mariadb-client-core mariadb-common mariadb-server-core mysql-common +``` + + + + +> Pendant cette étape de désinstallation, vous pouvez rencontrer une erreur parce qu'un ou plusieurs paquets MariaDB sont manquants. Dans ce cas, vous devez exécuter la commande de désinstallation sans inclure le paquet manquant. +> +>Par exemple, vous obtenez le message d'erreur suivant : +> +> `package MariaDB-compat is not installed` +> +> Comme le paquet **MariaDB-compat** est manquant, vous devez exécuter la même commande sans citer **MariaDB-compat** : +> +> `rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-common` + +> Assurez-vous d'avoir [installé le dépôt officiel de MariaDB](https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/) avant de poursuivre la procédure. + +3. Installez la version 10.11 : + + + + +```shell +dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-compat-10.11\* MariaDB-common-10.11\* +``` + + + + +```shell +dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-compat-10.11\* MariaDB-common-10.11\* +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + +```shell +sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common +``` + +Si vous obtenez un message d’erreur indiquant qu’un ou plusieurs paquets MariaDB sont manquants, il faudra modifier la commande afin d’intégrer ces paquets manquants, comme dans l’exemple ci-dessous : + +```shell +sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common PAQUET-MANQUANT_A PAQUET-MANQUANT_B +``` + + + + +4. Démarrer le service mariadb : + + ```shell + systemctl start mariadb + ``` + +5. Lancez le processus de mise à jour MariaDB : + + ```shell + mysql_upgrade + ``` + + Si votre base de données est protégée par mot de passe, entrez : + + ```shell + mysql_upgrade -u -p + ``` + + Exemple : si votre utilisateur_admin_bdd est `root`, entrez: + + ``` + mysql_upgrade -u root -p + ``` + + > Référez vous à la [documentation officielle](https://mariadb.com/kb/en/mysql_upgrade/) + > pour plus d'informations ou si des erreurs apparaissent pendant cette étape. + +6. Pour activer MariaDB, exécutez la commande suivante : + + ```shell + systemctl enable mariadb + ``` + +### Montée de version de 10.1 à une version plus récente + +Le paramètre `innodb_additional_mem_pool_size` a été supprimé depuis MariaDB +10.2, vous devez donc le supprimer du fichier **/etc/my.cnf.d/centreon.cnf** + +```diff +# +# Custom MySQL/MariaDB server configuration for Centreon +# +[server] +innodb_file_per_table=1 + +open_files_limit = 32000 + +key_buffer_size = 256M +sort_buffer_size = 32M +join_buffer_size = 4M +thread_cache_size = 64 +read_buffer_size = 512K +read_rnd_buffer_size = 256K +max_allowed_packet = 8M + +# For 4 Go Ram +-#innodb_additional_mem_pool_size=512M +#innodb_buffer_pool_size=512M + +# For 8 Go Ram +-#innodb_additional_mem_pool_size=1G +#innodb_buffer_pool_size=1G +``` + +## Changer de version mineure de MariaDB + +Suivez ces étapes pour changer de version mineure de MariaDB (par exemple, pour passer d'une 10.3.2 à une 10.3.5) : + +1. Mettez à jour MariaDB : + + + + +```shell +dnf update MariaDB-* +``` + + + + +```shell +dnf update MariaDB-* +``` + + + + +```shell +apt update MariaDB-* +``` + + + + +2. Redémarrez MariaDB : + + ```shell + systemctl restart mariadb + ``` diff --git a/i18n/fr/docusaurus-plugin-content-pages/index.js b/i18n/fr/docusaurus-plugin-content-pages/index.js index f156a99f279d..48873871a3e3 100644 --- a/i18n/fr/docusaurus-plugin-content-pages/index.js +++ b/i18n/fr/docusaurus-plugin-content-pages/index.js @@ -77,8 +77,8 @@ const cards = [ ] const versionInfo = { - version: '24.04', - link: 'https://www.centreon.com/fr/nouvelle-cadence-de-sortie-de-version-et-nouveau-cycle-de-vie-des-versions-de-centreon/', + version: '24.10', + link: 'https://www.centreon.com/fr/centreon-annonce-la-sortie-de-sa-derniere-version-logicielle-centreon-24-10/', target: '_blank' } @@ -100,8 +100,8 @@ function BannerBlock() {
- {/* CENTREON {versionInfo.version} */} -

Bientôt un nouveau cycle de vie logiciel !

+ {CENTREON {versionInfo.version}} +

Nouvelle version logicielle disponible

diff --git a/nextVersion.json b/nextVersion.json index ad02349318b3..e414a11d888b 100644 --- a/nextVersion.json +++ b/nextVersion.json @@ -1,3 +1,3 @@ { - "version": "24.10" + "version": "25.10" } diff --git a/src/pages/index.js b/src/pages/index.js index 87d5bb92d658..641cbf517f75 100644 --- a/src/pages/index.js +++ b/src/pages/index.js @@ -77,8 +77,8 @@ const cards = [ ] const versionInfo = { - version: '24.04', - link: 'https://www.centreon.com/new-centreon-release-cadence-and-version-lifecycle/', + version: '24.10', + link: 'https://www.centreon.com/centreon-announces-its-latest-software-release-centreon-24-10/', target: '_blank' } @@ -100,8 +100,8 @@ function BannerBlock() {
- {/* CENTREON {versionInfo.version} */} -

New product lifecycle coming soon!

+ {CENTREON {versionInfo.version}} +

New software version available

diff --git a/versioned_docs/version-25.10/administration/access-control-lists.md b/versioned_docs/version-25.10/administration/access-control-lists.md new file mode 100644 index 000000000000..c4f1a35f5fcd --- /dev/null +++ b/versioned_docs/version-25.10/administration/access-control-lists.md @@ -0,0 +1,212 @@ +--- +id: access-control-lists +title: Granting rights to Centreon users (ACL) +--- + +You can grant rights to Centreon [users](../monitoring/basic-objects/contacts.md): + +- on resources: which hosts, services, etc. users will be allowed to see +- on the menus in the Centreon interface (which pages users will be able to access) +- on actions users will be allowed to carry out, on resources or on a monitoring engine (planning downtime, exporting the configuration, etc.). + +Rights are not defined at user level, but through [access groups](#creating-an-access-group). + +- A specific user can belong to several access groups, and the rights defined in each group will be combined. +- Non-administrator users that belong to no access group will have no rights at all on the monitoring platform (empty screen at login) +- [Administrator](../monitoring/basic-objects/contacts-create.md#centreon-authentication) users have all rights (even if you add an administrator to an access group with limited rights). + +ACLs are recalculated every minute; this is why it is sometimes necessary +to wait a few seconds before changes are applied to a user. You can also [reload them](#reload-acl) manually. + +> The Centreon [MBI](../reporting/configure.md), BAM and [MAP](../graph-views/map-web-access.md) modules have their own ACLs. + +## Granting rights to a user + +To grant rights to a user: + +1. [Create the user](../monitoring/basic-objects/contacts.md) in Centreon. + +2. [Create an access group](#creating-an-access-group). + +3. Add the user to the access group. + +4. Create access filters on [resources](#access-filters-on-resources), [menus](#access-filters-on-menus) and [actions](#access-filters-on-actions). + +5. Set the rights you want: + - either on the access group + - or on the access filters on resources, menus and actions. + +## Creating an access group + +To create an access group: + +1. Go to **Administration > ACL > Access groups** and then click **Add**. + +2. On the **Group information** tab, enter a name and an alias (a description) for the group. + +3. To add users (contacts) or contact groups to the access group, use the **Linked Contacts/Linked Contact Groups** table. (Select the user(s) you want in the **Available** column, and then click **Add**. The user(s) is moved to the **Selected** column.) + + > The contact group can come from the LDAP directory connected to the + > Centreon interface. + > + > To avoid problems, groups created in the Centreon interface should not have the same name as LDAP + > groups. + +4. On the **Authorizations information** tab, set the rights you want on the access group +by choosing access filters on [resources](#access-filters-on-resources), [menus](#access-filters-on-menus) and [actions](#access-filters-on-actions) (if you have already created them). + +5. Click **Save**. + +## Creating access filters on resources, menus and actions + +### Access filters on resources + +The access filters on resources allow you to define which objects (hosts, host groups, services and service groups) users will be able to see in the Centreon interface. + +To create an access filter on resources: + +1. Go to **Administration > ACL > Resources Access**. + +2. Click **Add**. + +3. Fill in the fields you want (see table below). + +4. Click **Save**. + +> Once the filters on the resources are defined, you can view the results +> using the **Check User View** button on page **Administration > ACL > Resources Access**. + +#### Reference + + +| Tab | Actions | +|------------------------|------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **General Information** |
  • Use the **Linked groups** table to link access groups to the filter on resources, i.e. grant the rights defined in the filter to the access group.
  • **Status** and **Comments** allow you to enable/disable the filter or to add comments to it.
| +| **Hosts Resources** |
  • Define which hosts and hosts groups users will be able to see in the Centreon interface.
  • If **Include all hosts** or **Include all hostgroups** is selected, any newly created host or host group will be added to the filter automatically.

When **Include all hosts** or **Include all hostgroups** is selected, you can explicitly exclude hosts from the filter (e.g. when only 1 or 2 hosts should not be included in the filter).

+| **Services resources** | The **Services resources** tab allows you to define which service groups users will be allowed to see. | +| **Meta Services** | The **Meta Services** tab allows you to define which meta services users will be able to see. | +| **Filters** |
  • The **Poller Filter** table allows you to select hosts monitored by a specific monitoring engine (if no poller is selected, then all pollers are taken into account)
  • The **Host Category Filter** table allows you to filter the hosts by category
  • The **Service Category Filter** table allows you to filter services by category. Filters by poller or by category of objects are inclusion filters (UNION). Only the objects belonging to these filters in addition to groups of objects (hosts and services) will be visible.
| + +### Access filters on menus + +Access filters on menus allow you to define which pages in the Centreon interface users will be able to access. + +> Accessing the command editing menu as well as accessing the SNMP trap editing +> menu can be very dangerous. This is because privileged users can create commands, +> which may lead to the creation of security breaches (RCE). Only give this access +> to people you trust. + +To create an access filter on menus: + +1. Go to **Administration > ACL > Menus Access**. + +2. Click **Add**. + +3. Complete the following fields: + - **ACL Definition** (its name) and **Alias** + - **Status**: enable or disable the filter + - **Comments**: add info about the filter. + +4. To grant access groups the rights defined in this filter, use the **Linked groups** table. + +5. In the **Accessible pages** section, define which menus the access group will be able to access. + + - A parent menu must be selected to access the child menu. + - By default, access is **Read Only**. If you want to allow your users to modify +the configuration, select the **Read / Write** option for each +submenu. + - To access an ‘n-1’ menu level, users must have access to the ‘n’ menu level, + otherwise they will not be able to view the menu via the interface. If this is not +the case, users will have to access the page via a direct link + (autologin, etc.). + - Whenever a new Centreon module is created with a web interface accessible + via a new menu, it should be added to the filter so that users can +access it (if applicable). + +6. Click **Save**. + +### Access filters on actions + +Filters on actions allow you to define which actions users will be allowed to perform +on resources (hosts and services) and on the monitoring engines. + +To create an access filter on actions: + +1. Go to **Administration > ACL > Actions Access**. +2. Click **Add**. + + - The **Action Name** and **Description** fields contain the name of the + filter and its description + - In the **Relations** section, use the **Linked Groups** table to grant access groups the rights defined in the filter. + +3. Select the options you want (see tables below). + +4. Click **Save**. + +#### Global Functionalities Access + +| Field | Associated actions | +| -------------------------------------- | -------------------------------------------------------------------------------- | +| Display Top Counter | The monitoring overview will be displayed in the banner at the top of all pages
![image](../assets/administration/acl-bandeau.png) | +| Display Top Counter pollers statistics | The monitoring poller status overview will be displayed on the left in the banner at the top of all pages
![image](../assets/administration/acl-bandeau-poller.png) | +| Display Poller Listing | Allows you to filter on the poller on page **Monitoring > Status Details > Hosts** or **Monitoring > Status Details > Services** (deprecated pages) | + +#### Poller Configuration Actions / Poller Management + +| Field | Associated actions | +| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ | +| Create and edit pollers | Users can perform **Add**, **Add (advanced)** and **Duplicate** actions on remote servers and pollers, and edit them. | +| Delete pollers | Allows users to remove remote servers and pollers from the configuration. This action cannot be undone. Warning: before you delete a poller, check that it is not monitoring any hosts and that **centengine** is stopped. | +| Deploy configuration files | Allows users to generate, test and export configuration to remote servers and pollers, and to restart their monitoring engine | +| Generate SNMP Trap configuration | Allows users to generate and export configuration of the SNMP traps for the Centreontrapd process on pollers and to restart it | + +#### Global Monitoring Engine Actions (External Process Commands) + +These fields are no longer in use. + +#### Services Actions Access + +| Field | Associated actions | +| ------------------------------------------------------------- | -------------------------------------------------------------------------------------- | +| Enable/Disable Checks for a service | Allows users to enable or disable checks for a service on page **Monitoring > Status details > Services** (deprecated page) | +| Enable/Disable Notifications for a service | Allows users to enable or disable notifications for a service on page **Monitoring > Status details > Services** (deprecated page) | +| Acknowledge a service | Allows users to [acknowledge a service](../alerts-notifications/acknowledge.md) | +| Disacknowledge a service | Allows users to disacknowledge a service | +| Re-schedule the next check for a service | Allows users to [trigger a check on a service](../alerts-notifications/resources-status.md#refresh-a-status). The check is made even outside the service's check period. | +| Re-schedule the next check for a service (Forced) | Allows users to [trigger a check on a service](../alerts-notifications/resources-status.md#refresh-a-status). The check is made even outside the service's check period. | +| Schedule downtime for a service | Allows users to [schedule downtime](../alerts-notifications/downtimes.md) on a service | +| Add/Delete a comment for a service | Allows users to add or delete a [comment](../alerts-notifications/other.md#adding-a-comment) on a service | +| Enable/Disable Event Handler for a service | Allows users to enable or disable the event handler processing of a service in the detailed sheet of a service accessible via the **Monitoring > Status Details > Services** menu (deprecated page) | +| Allows users to enable or disable flap detection of a service | Allows users to enable or disable flap detection of a service in the detailed sheet of a service accessible via the **Monitoring > Status Details > Services** menu (deprecated page) | +| Enable/Disable passive checks of a service | Allows users to enable or disable passive checks of a service in the detailed sheet of a service accessible via the **Monitoring > Status Details > Services** menu (deprecated page) | +| [Submit result](../alerts-notifications/submit.md) for a service | Allows users to modify the status of a passive service manually, until the next check | +| Display executed command by monitoring engine | Displays the executed command for a service in its [Details panel](../alerts-notifications/resources-status.md#service-panel) | + +#### Hosts Actions Access + +| Field | Associated actions | +| ----------------------------------------------- | ----------------------------------------------------------------------------------- | +| Enable/Disable Checks for a host | Allows users to enable or disable checks for a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| Enable/Disable Notifications for a host | Allows users to enable or disable notifications for a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| Acknowledge a host | Allows users to [acknowledge a host](../alerts-notifications/acknowledge.md) | +| Disaknowledge a host | Allows users to disacknowledge a host | +| Schedule the check for a host | Allows users to [trigger a check on a host](../alerts-notifications/resources-status.md#refresh-a-status). The check is made even outside the host's check period. | +| Schedule the check for a host (Forced) | Allows users to [trigger a check on a host](../alerts-notifications/resources-status.md#refresh-a-status). The check is made even outside the host's check period. | +| Schedule downtime for a host | Allows users to [schedule downtime](../alerts-notifications/downtimes.md) on a host | +| Add/Delete a comment for a host | Allows users to add or delete a [comment](../alerts-notifications/other.md#adding-a-comment) for a host | +| Enable/Disable Event Handler for a host | Allows users to enable or disable the event handler processing of a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| Enable/Disable Flap Detection for a host | Allows users to enable or disable flap detection of a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| Enable/Disable Checks services of a host | Allows users to enable or disable all service checks of a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| Enable/Disable Notifications services of a host | Allows users to enable or disable service notifications of a host on page **Monitoring > Status details > Hosts** (deprecated page) | +| [Submit result](../alerts-notifications/submit.md) for a host | Allows users to modify the status of a passive host manually, until the next check | + +- The **Status** field is used to enable or disable the filter. + +## Reload ACL + +It is possible of reload the ACLs manually: + +1. Go to **Administration > ACL**. +2. In the left menu, click **Reload ACL**. +3. Select the user(s) you want to reload the ACL. +4. In the **More actions** menu, click **Reload ACL**. diff --git a/versioned_docs/version-25.10/administration/backup-poller.md b/versioned_docs/version-25.10/administration/backup-poller.md new file mode 100644 index 000000000000..616f5a4007a9 --- /dev/null +++ b/versioned_docs/version-25.10/administration/backup-poller.md @@ -0,0 +1,56 @@ +--- +id: backup-poller +title: Back up and restore your pollers +--- + +## Case n°1: Making backups to be able to install a new poller from scratch + +### What you need to back up on your active poller + +> In this list, we assume you have enabled the [automatic installation of the Centreon plugins](../monitoring/pluginpacks.md#automatic-installation). + +You need to back up the following elements to be able to rebuild your poller from scratch in case of a problem. + +- Custom plugins (example: community plugins, or custom developments) +- If you are using the **centreon-as400** connector (installation and configuration): backup **/etc/centreon-as400/** +- Synchronize the following files regularly (e.g. using the **rsync** command): + - **/var/log/centreon-engine/retention.dat** (up to every 15 minutes) to keep acknowledgements, downtimes and statuses. + - **/var/lib/centreon/centplugins/\*** (up to every 5 minutes) to keep the plugins cache. + - **/etc/centreon-gorgone/config.d/\*** (once) to keep the connection information to the central server. + - **/var/lib/centreon-gorgone/.keys/\*** (once) to keep the same fingerprint for ZeroMQ authentication. + - **/etc/snmp/centreon_traps/** (once a week), if you are using SNMP traps on the poller. + - **/etc/centreon/** (once a week). + - **/var/log/centreon-engine/** (once a day), as it contains **retention.dat** and all archives (necessary to rebuild the dashboards). + +### Switching to the new poller + +If your poller has died, [install a new poller](../installation/installation-of-a-poller/using-packages.md), in the correct version for your platform, attach it to the central server, then restore all the elements listed above. + +If you didn't backup **/var/lib/centreon-gorgone/.keys/\***, you will need to change the poller's fingerprint in the configuration of the central server. Read [the following article](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177) on our community platform The Watch. + +## Case n°2: "Standby" poller + +Another way to prepare for disaster is to have a "standby" poller on which you synchronize the data from your active poller. If your poller dies, just switch to the standby poller. + +### What you need to synchronize + +Install and configure the same elements on your standby poller as on your active poller, and synchronize your data [as described here](#what-you-need-to-back-up-on-your-active-poller). + +### How to switch to the standby poller + +1. Start the standby poller if it is stopped. +2. Change the new poller's network configuration to give it the old poller's IP address. +3. Restart **gorgoned** on the poller first, then on the central. + ```shell + systemctl restart gorgoned + ``` +4. Make sure there are no communication errors in Gorgone's log. + ```shell + tail -F /var/log/centreon-gorgone/gorgoned.log | grep ERROR + ``` +5. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for the poller using the **Restart** method (in the **Restart Monitoring Engine** list). +6. If you didn't backup **/var/lib/centreon-gorgone/.keys/\***, you will need to change the poller's fingerprint in the cache of the central server. Read [the following article](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177) on our community platform The Watch. + +## Case n°3: VM snapshots + +If your poller is running on a VM, take regular snapshots of your poller. In case a problem occurs, restore the snapshot as with any virtual machine. diff --git a/versioned_docs/version-25.10/administration/backup.md b/versioned_docs/version-25.10/administration/backup.md new file mode 100644 index 000000000000..bb2865838014 --- /dev/null +++ b/versioned_docs/version-25.10/administration/backup.md @@ -0,0 +1,221 @@ +--- +id: backup +title: Back up and restore your central server +--- + +## How it works + +### Daily execution + +The backup script is executed on a daily basis with a cron job located in +**/etc/cron.d/centreon**: + +```text +########################## +# Cron for Centreon-Backup +30 3 * * * root /usr/share/centreon/cron/centreon-backup.pl >> /var/log/centreon/centreon-backup.log 2&>1 +``` + +Each day at 3:30 AM, backup script checks if backup is planned on current day. + +### Backup types + +There are two types of backup: database and configuration files. + +#### Database backup + +Database backup will be processed on two databases: **centreon** and +**centreon\_storage** + +There are two kinds of database backup: + + - MySQLdump: mysqldump command is used to backup databases. Be careful, + mysqldump can take long time on large databases. + - LVM Snapshot Binary copy of MariaDB files is done. You need to have a + specific LV for MariaDB (i.e. /var/lib/mysql) and 1GB of space in its VG. + +Backup filename format: + + - YYYY-MM-DD-centreon.sql.gz + - YYYY-MM-DD-centreon\_storage.sql.gz + +#### Configuration files backup + +All configuration files of central server can be saved : MariaDB, Apache, PHP, +SNMP, centreon, centreon-broker) + +Backup filename format: + + - YYYY-MM-DD-centreon-engine.tar.gz (centreon-engine configuration files) + - YYYY-MM-DD-central.tar.gz (other configuration files) + +## Configuration + +This part covers the configuration of the backup. + +1. Go into the menu: **Administration > Parameters > Backup** + +The following window is displayed: + +![image](../assets/administration/parameters-backup.png) + + - **Backup enabled** Enable/Disable backup + - **Backup directory** Directory where backup will be stored + - **Temporary directory** Directory used during backup process + - **Backup database centreon** Enable backup on centreon database + - **Backup database centreon\_storage** Enable backup on centreon\_storage + database + - **Backup type** Type of backup (MySQLdump or LVM snapshot) + - **Full backup** Period for full backup + - **Partial backup** Period for partial backup (only available with LVM + snapshot backup) + - **Backup retention** Retention for backups (in days) + - **Backup configuration files** Enable backup of configuration files + - **MySQL configuration file path** Path for MariaDB configuration file + - **SCP export enabled** Enable SCP export of backups + - **Remote user** Remote user for SCP export + - **Remote host** Remote host for SCP export + - **Remote directory** Remote directory for SCP export + +> **Temporary directory** can not be a folder of **Backup directory**. + +## Restore of Centreon central server + +Restore process is divided in two main steps: + + - Re-install the Centreon platform following the installation documentation. + Do not forget to upgrade system. + - Restore Centreon-Engines configuration files and Centreon databases + +### Configurations file restore + +Before databases restore, you have first to restore configuration files: + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-central.tar.gz +cd central/etc/centreon/ +cp -r * /etc/centreon/ +``` + +### Databases restore + +Once Centreon server reinstalled (**same Centreon version**), unzip centreon and +centreon\_storage databases backup. + +Start by recreating databases with following commands: + +```sql +DROP DATABASE centreon; +DROP DATABASE centreon_storage; +CREATE DATABASE centreon; +CREATE DATABASE centreon_storage; +``` + +Then unzip and load databases dumps into newly created databases: + +```shell +cd /var/cache/centreon/backup/ +gzip -d YYYY-MM-DD-centreon.sql.gz +mysql centreon < YYYY-MM-DD-centreon.sql +gzip -d YYYY-MM-DD-centreon_storage.sql.gz +mysql centreon_storage < YYYY-MM-DD-centreon_storage.sql +``` + +This may take a while due to the size of "centreon\_storage" databases. + +> Password is stored in configuration files previously restored. For example +> **$mysql\_passwd** field in file "/etc/centreon/conf.pm". + +> The default configuration does not define any password for mysql root user. +> That's why we can connect to database using only command "mysql". + +### SSH keys restore + +This step is to restore the SSH key linked to user **centreon** and +**centreon-engine** within a distributed environment. Restoration must be done +manually. We must therefore initially extract this archive into a temporary +directory and move the files one by one according to their location: + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd central/ssh/ +mkdir -p /var/spool/centreon/.ssh/ +chmod 700 /var/spool/centreon/.ssh/ +cp -p id_rsa /var/spool/centreon/.ssh/ +cp -p id_rsa.pub /var/spool/centreon/.ssh/ +``` + +Connection test from central to poller: + +```shell +su - centreon +ssh +``` + +Answer "Yes" to the question. This is about adding the poller SSH fingerprint +on the central server. + +> You have to do this operations only if you work with a distributed environment. + +### Plugins restore + +Plugins have been backed up in the archive: "YYYY-MM-DD-centreon-engine.tar.gz." +Restoration must be done manually. We must therefore initially extract this +archive into a temporary directory and move the files one by one according to +their location. + +On each poller, you have to do: + +```shell +cd /var/cache/centreon/backup/ +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd central/plugins +cp -pRf * /usr/lib64/nagios/plugins/ +``` + +### Init script restore + +Some checkpoints of Oracle or SAP entail modifying the init script scheduler to +add environment variables. If you changed the init script of your scheduler, you +will have to restore it. Extract the archive into a temporary directory and move +the files according to their location: + +```shell +cd /var/backup +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd backup +cp init_d_centengine /etc/init.d/centengine +``` + +### Monitoring agent restore + +In case you're using NRPE or NSCA agents, you have to reinstall and then restore +configuration: + +```shell +cd /var/backup +tar -xvf YYYY-MM-DD-centreon-engine.tar.gz +cd backup/etc +cp nrpe.cfg /etc/centreon-engine/ +cp nsca.cfg /etc/centreon-engine/ +``` + +> You have to do this only if you're using the monitoring agents. + +### Generate Centreon-Engine configuration files within centreon + +Last step is to generate the Centreon-Engine configuration files from +within Centreon UI. + +### Graphs rebuild + +Once your monitoring platform is restored and all is doing well, you can rebuild +RRD files in order to restore all performance graphs. + +To rebuild performance graphics, go to the menu `Administration > Parameters > +Data`. On this page, you must select all the services, click the drop-down +menu **More actions...** and select the option **Rebuild RRD Database**. + +**Your server is now restored.** diff --git a/versioned_docs/version-25.10/administration/custom-login.md b/versioned_docs/version-25.10/administration/custom-login.md new file mode 100644 index 000000000000..04a550e4ad86 --- /dev/null +++ b/versioned_docs/version-25.10/administration/custom-login.md @@ -0,0 +1,58 @@ +--- +id: customize-centreon +title: Customize Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +You can customize some elements of your Centreon platform: + +- **Login page:** you can change the background and the logo, and add a text. +- **Name of the platform:** you can define a name for your platform (e.g. **Test**, **Production**) that will be displayed in the banner once you are logged in. + +Customizing your Centreon platform required the **Centreon IT Edition Extensions** extension. This extension is automatically installed on your platform. + +> **Centreon IT Edition Extensions** is a Centreon extension that requires a valid [license](../administration/licenses.md). +> To purchase one, contact [Centreon](mailto:sales@centreon.com). + +## Configure the extension + +1. Go to **Administration > Customize Centreon**. The different options are: + + - **Platform name**: define a name for your platform (e.g. **Test**, **Production**). This name will be visible both on the login page (next to the logo), and in the banner once you are logged in. + - **Select a logo**: replace the Centreon logo on the login page (but not in the top left corner once you are logged in). Before you can select a logo in this field, you need to add the file to your platform's [media](./parameters/medias.md). + - **Select a background**: replace the default background. Before you can select a background in this field, you need to add the file to your platform's [media](./parameters/medias.md). + - **Insert your presentation text**: enter a text to be displayed in the login area. + - **Your text position**: define where the custom text will be displayed, if defined (above the word **Login** or below the **Connect** button). + +2. Check what your login page will look like in the **Preview** and click **Save** when you are satisfied with the results. + +## Update the extension + +Execute the following command to update the extension: + + + + +``` shell +dnf update centreon-it-edition-extensions +``` + + + + +``` shell +dnf update centreon-it-edition-extensions +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-it-edition-extensions +``` + + + + +> For a successful update, please ensure that the package name to update is correct (``centreon-it-edition-extensions``). diff --git a/versioned_docs/version-25.10/administration/database-partitioning.md b/versioned_docs/version-25.10/administration/database-partitioning.md new file mode 100644 index 000000000000..328ae3cb7efd --- /dev/null +++ b/versioned_docs/version-25.10/administration/database-partitioning.md @@ -0,0 +1,161 @@ +--- +id: database-partitioning +title: Database partitioning +--- + +## Overview + +Some tables in the 'centreon\_storage' database are partitioned to: + +- Optimize the execution time of several queries, +- Optimize data purges, +- Minimize the reconstruction of the tables with an error during a crash of the +DBMS. + +One partition per day is created for the following tables: + +- **data\_bin**: performance data +- **logs**: event logs from the monitoring engine collection. +- **log\_archive\_host**: availability data concerning hosts. +- **log\_archive\_service**: availability data concerning services. + +> There are some limitations: +> +> - The maximum number of partitions (for a MariaDB table) is 1024 +> - Foreign keys are not supported + +More details about MariaDB partitioning +*[here](https://mariadb.com/kb/en/library/partitioning-overview/)*. + +## Prerequisites + +The following packages are required: + +- php-mysql +- Pear-DB +- MariaDB (\>= 10.1) + +The MariaDB **open\_files\_limit** parameter must be set to 32000 in the \[server\] +section: + +```text +[server] +open_files_limit = 32000 +``` + +> If you install Centreon on your RedHat Linux version, you will be +> able to do it manually. Remember to restart the mariadb processes if you change +> this value in my.cnf. + +If you use systemd, you need to create the +**/etc/systemd/system/mariadb.service.d/mariadb.conf** file: + +```text +[Service] +LimitNOFILE=32000 +``` + +Then reload systemd and MariaDB: + +```shell +systemctl daemon-reload +systemctl restart mariadb +``` + +## Configuration + +The data retention time is programmed in the `Administration > Parameters > +Options` menu: + +![image](../assets/administration/partitioning-configuration.png) + +The setting is as follows: + +- **Retention duration for partitioning**: retention time for partitioned +tables, by default **365 days**. +- **Forward provisioning**: number of partitions created in advance, by +default **10 days**. +- **Backup directory for partitioning**: partition backup directory, by +default **/var/cache/centreon/backup**. + +## Operation + +Partitioning uses XML files in the **/usr/share/centreon/config/partition.d/** +directory to create the necessary partitions. + +Every day, a script launched by a cron creates missing tables +or creates new tables in advance: + +```text +0 4 * * * centreon /bin/php /usr/share/centreon/cron/centreon-partitioning.php >> /var/log/centreon/centreon-partitioning.log 2>&1 +``` + +Sample partitioning **partitioning-data\_bin.xml** file: + +```xml + + + + 1 + ctime + date + +CREATE TABLE IF NOT EXISTS `data_bin` ( + `id_metric` int(11) DEFAULT NULL, + `ctime` int(11) DEFAULT NULL, + `value` float DEFAULT NULL, + `status` enum('0','1','2','3','4') DEFAULT NULL, + KEY `index_metric` (`id_metric`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8; + +
+
+``` + +## Migrating unpartitioned tables + +The command line performs the following procedure: + +- Rename existing table (‘xxx’ will be ‘xxx\_old’) +- Create an empty partitioned table +- Migrate data into the partitioned table (with ‘SELECT INSERT’ statement) + +You need to check a few things before executing the command: + +- Enough space on the MariaDB Server (at least twice the size of the data and indexes) +- No data in the future (time is used for the partitioning) +- Enough memory on the database server + +> The ‘SELECT INSERT’ statement will lock the table and maybe your production in +> some points (for example table migration of ‘logs’). + +To perform table migration, use the **-m** option and specify the +name of the table to migrate: + +```shell +/bin/php /usr/share/centreon/bin/centreon-partitioning.php -m data_bin +``` + +If the table migration is ok, the old table can be deleted with the following +commands: + +```sql +DROP TABLE centreon_storage.data_bin_old; +``` + +## Monitoring of partitioning operation + +The **Centreon Database** Monitoring Connector allows you to check that the number of +partitions created in advance is sufficient. It is recommended that you install and +deploy this Monitoring Connector. + +It is also possible to view the partitioned tables and the consumption +associated with each partition via the `Administration > Platform Status > +Databases` menu: + +![image](../assets/administration/partitioning-state.png) + +More general information on the state of health of the databases is also +present: + +![image](../assets/administration/database-information.png) diff --git a/versioned_docs/version-25.10/administration/disaster-recovery.md b/versioned_docs/version-25.10/administration/disaster-recovery.md new file mode 100644 index 000000000000..dd7db99accca --- /dev/null +++ b/versioned_docs/version-25.10/administration/disaster-recovery.md @@ -0,0 +1,10 @@ +--- +id: disaster-recovery +title: Disaster recovery +--- + +For your platform to be resilient to failure, make sure you have backups stored on another server. You can: + +- make snapshots of your VMs. +- back up the configuration [of your central server](backup.md) and [of your pollers](backup-poller.md) regularly. +- [set up a "standby poller"](backup-poller.md#standby-poller) that you sync with your poller so that it can take over in case of a crash. diff --git a/versioned_docs/version-25.10/administration/extensions.md b/versioned_docs/version-25.10/administration/extensions.md new file mode 100644 index 000000000000..19080e8e9a3a --- /dev/null +++ b/versioned_docs/version-25.10/administration/extensions.md @@ -0,0 +1,33 @@ +--- +id: extensions +title: Extensions +--- + +Extensions can be used to add additional features to Centreon. It is +possible to install extensions using the package manager or using source files +(\*.tar.gz). + +There are three types of extension: + +- **Community**, under license GPL v2, developed by the Centreon community, +- **Core**, under license GPL v2, developed by the Centreon team, +- **Proprietary**, subject to a license, developed by +*[Centreon](http://www.centreon.com)*. + +To install an extension: + +1. Install the extensions from the associated documentation. +2. Go into the **Administration > Extensions > Manage** menu. + +![image](../assets/administration/install-imp-1.png) + +To install all extensions, click **Install all**: + +![image](../assets/administration/install-imp-2.png) + +You can also update all extensions by clicking **Update all**, or manage +extension by extension. + +Click an extension to see its description: + +![image](../assets/administration/extension-popin.png) diff --git a/versioned_docs/version-25.10/administration/knowledge-base.md b/versioned_docs/version-25.10/administration/knowledge-base.md new file mode 100644 index 000000000000..99524c0ca43b --- /dev/null +++ b/versioned_docs/version-25.10/administration/knowledge-base.md @@ -0,0 +1,158 @@ +--- +id: knowledge-base +title: Knowledge Base +--- + +## Introduction + +Since version 2.8.0, in the Centreon Open Source suite, the **Knowledge Base** module allows you + +to easily associate a wiki with Centreon Web. + +It creates links between hosts and services and specific procedures on the wiki. + + +To make things more flexible, procedures can be associated with templates. + +**Knowledge Base** is the solution to easily link a Wiki to Centreon. + +## Prerequisites + +**Centreon Knowledge Base** requires **MediaWiki** to be installed (version = +1.31) on your system. + +You can [download MediaWiki +here](http://www.mediawiki.org/wiki/MediaWiki) and access the [documentation +here](http://www.mediawiki.org/wiki/User_hub). + +## Configure the access to the wiki + +Before starting with **Knowledge Base**, you need to configure it to access the +wiki database. + +To do this, go to **Administration > Parameters > Knowledge Base** and complete +the form + +![image](../assets/administration/parameters-wiki.png) + +## User guide + +### Definition + +A procedure is basically a technical document that tells operators +what to do when an alert is raised in Centreon. + +There are different types of procedure: + + - Describe actions to solve a problem, + - Escalate the issue to another team, + - Open a support ticket, + - Warn users that a specific service is down. + +A procedure can be defined for a host or a service. + +![image](../assets/administration/parameters-wiki-article.png) + +### Displayed procedure: template and overload + +To avoid a heavy workload caused by the deployment of the procedure, the functionality allows +the administrator to set up a single procedure for hosts/services. + +This means that a procedure can be specified for a given host/service, but it can also be specified +for a host/service template. + +If a procedure is defined at template level, all children of the template will +have the procedure attached as well, unless overloaded by a specific one. The +mechanism is identical to the template system in Centreon with inheritance. + +The **Knowledge Base** function is designed to avoid manually adding or updating +the same procedure in the knowledge base several times. + +When a user clicks a host procedure: + + - if a specific procedure is defined for this host, its wiki page is displayed + - if no specific procedure is defined but the host template has a procedure, + the host template wiki page is displayed + - if the host template has no procedure defined, the parent template will be checked + for a defined procedure + - finally, if no procedure is defined in the template tree, a message will warn + that there is no procedure defined for this host + +The same applies to services. + +### Create / Update / Delete a procedure + +Navigate in the **Configuration > Knowledge Base** sub-menus + +to: + + - List Hosts / Services / Host Templates / Service Templates and attached + procedures + - Create / View / Edit / View history for a Host / Services / Host Templates / + Service Templates + - List Hosts / Services / Host Templates / Service Templates without defined + procedures + + +### Link from monitoring front end + +The technical procedure is available in Centreon front-end through a link icon: + +![image](../assets/administration/parameters-wiki-host-monitoring.png) + +By clicking the link icon, the user is redirected to the corresponding procedure. + +If the link icon is on the left of a host name, the wiki page containing the +procedure for the host will be displayed. + +If the link icon is on the right of a service name, the wiki page containing the +procedure for the service will be displayed. + +### Synchronization + +There is a cron job that updates hosts, services and hosts/services template +configurations. + +For example, if you create a page in the wiki using the usual pattern (e.g.: +`Host:Centreon-Server` or `Service:Centreon-Server Disk-/`), the cron will add +the link to the page in the **URL** field of object's extended information. + +### Best practice for deployment + +To deploy procedures in the best way, we strongly advise you to use the multi +level inheritance system. + +The best practice is to define procedures at template level as much as you can. + +Here is an example of a host template configuration tree: + + - Linux \> Generic-hosts + - Windows \> Generic-hosts + - RedHat \> Linux + - Debian \> Linux + - Active-Directory \> Windows + - LDAP \> Linux + +To set up procedures for the *RedHat* host template, just proceed as indicated in +[Link from monitoring front end](#link-from-monitoring-front-end). + +In the template tree, we see that the **RedHat** template inherits from two other +templates: **Linux** and **Generic-hosts**. In this example, all hosts using the +*RedHat* host template will have the new procedure defined attached. + +We could set up a procedure at a higher level in the template tree, and it will +impact more hosts. + +For example, if we define a procedure for a **Linux** host template, all hosts +using **RedHat**, **Debian** and **LDAP** host templates will have the procedure +attached by inheritance. This is because **Linux** is the parent template. + +Service templates behave in the same way. + +> To delete a procedure link for a specific host / service / template, edit the + +> object and empty the **URL** field on the **Extended Information** tab. + +> +> If the object inherits of a procedure from any template, the empty value will +> overload and delete the procedure link. diff --git a/versioned_docs/version-25.10/administration/licenses.md b/versioned_docs/version-25.10/administration/licenses.md new file mode 100644 index 000000000000..04aa3e10e77a --- /dev/null +++ b/versioned_docs/version-25.10/administration/licenses.md @@ -0,0 +1,133 @@ +--- +id: licenses +title: Licenses +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## How can I obtain a license? + +* You can request your token for the [free IT-100 edition](../getting-started/it100.md) on our website. +* If you have purchased a license, request your license files from our [support](https://support.centreon.com) team. + +## Types of license + +According to your [Centreon edition](https://www.centreon.com/en/editions/), your license can be: +- online: uses a token. Your Centreon platform must be connected to the internet. +- offline: uses one or several license files + +## Which modules require a license? + +The following modules need to be installed separately and require a valid license. + +- [Monitoring Connectors](../monitoring/pluginpacks.md#installation) +- [Auto Discovery](../monitoring/discovery/installation.md) +- [Anomaly Detection](../monitoring/anomaly-detection.md) +- [Service mapping (BAM)](../service-mapping/install.md) +- [Graphical views (MAP)](../graph-views/introduction-map.md) +- [Reporting (MBI)](../reporting/installation.md) + +## Viewing license-based modules + +Go to **Administration > Extensions > Manager**. All modules currently installed on your platform have a green button with a white check mark in it. Modules that require a license have a colored banner at the bottom (red if you have no valid license, green if you have one). + +![image](../assets/administration/licenses.png) + +## Adding a license to your Centreon platform + + + + +> Refer to the [tables of network flows](../installation/technical.md#tables-of-network-flows) to integrate your monitoring platform. + +To use an online license, your Centreon platform must be connected to the internet. + +#### Check the internet connection + +Make sure your Centreon platform is allowed to reach the internet: + +- Check that the machine can access this URL: https://api.imp.centreon.com + +- If needed, set a proxy server: + - Go to the **Administration > Parameters > Centreon UI** page, then the **Proxy options** section. + - Click **Test Internet Connection**. The "Connection Successful" message should appear. + +#### Add your license + +1. Make sure you have your license token (provided by our support team). + +2. Go to **Administration > Extensions > Manager**. + +3. Click **Add Token**. A popup window appears. + +4. Paste your token in the popup window, and then click **Add**. + + - If your token contains one license, a confirmation message appears. + + - If your token contains several licenses, choose the license you want and then click **Choose**. + + Press **Esc** to close the popup window. The license is applied and the corresponding modules display their validity date: + + ![image](../assets/administration/license_valid.png) + + The **Add token** button changes to become a **View license** button. + + + + +1. To request your license: + + 1. Go to **Administration > Extensions > Manager**. + + 2. Click **Get fingerprint**. + + 3. Paste the fingerprint in an email to our [support](mailto:support@centreon.com) team requesting the license. + +2. Once you have received your license, in the **Administration > Extensions > Manager** page, click **Upload license**. + +5. Browse to the file and then click **OK**. The license is applied and the corresponding modules display their validity date: + + ![image](../assets/administration/license_valid.png) + +6. If you have several licenses (e.g. for BAM, MBI, etc.), repeat the steps above until you have uploaded all license files. + + + + +## Free IT-100 license + +See chapter [Set up your free IT-100 solution](../getting-started/it100.md). + +## Troubleshooting licenses + +### "No valid file uploaded" + +![image](../assets/administration/license_not_valid.png) + +Check the contents of the following directory: + +```shell +ls -lah /etc/centreon/license.d/ +``` + +If the directory already contains licenses with rights that are not **apache/apache**, delete them or change their rights so that they can be overwritten by the new licenses: + +```shell +chown apache:apache /etc/centreon/license.d/* +chmod 640 /etc/centreon/license.d/* +``` + +### "Your EPP license is not valid" + +* Check that the fingerprint of the central server (on the **Administration > Extensions > Manager** page) matches the fingerprint in the license. + + ```shell + less /etc/centreon/license.d/epp.license + ``` + +* Check that you do not have more hosts than your license allows. Use the following command: + + ```sql + SELECT COUNT(*) FROM centreon.host WHERE host_register='1'; + ``` diff --git a/versioned_docs/version-25.10/administration/logging-configuration-changes.md b/versioned_docs/version-25.10/administration/logging-configuration-changes.md new file mode 100644 index 000000000000..2e13b45e3076 --- /dev/null +++ b/versioned_docs/version-25.10/administration/logging-configuration-changes.md @@ -0,0 +1,118 @@ +--- +id: logging-configuration-changes +title: Logging configuration changes +--- + +## Principle + +By default, Centreon records all user actions concerning changes to the +configuration in a log. To access this data, go to **Administration > Logs**. + +![image](../assets/administration/fsearchlogs.png) + +The gray search bar can be used to filter the information presented via filters: + +- **Object** used to filter on object name (host, service, contact, SNMP trap +definition, group, etc.) +- **User** used to filter by change author +- **Object Type** used to filter by object type + +## Practice + +For example: To see all the actions performed by the user **admin**, enter “admin” in +the **User** field and click **Search**. + +The table below defines the columns in the results table: + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Column NameDescription
TimeIndicates the date of the event
Modification type

Contains the type of action applied. There are several possible types of action:

+
    +
  • Added: Indicates that the object has been added
  • +
  • Changed: Indicates that the object has been changed
  • +
  • Deleted: Indicates that the object has been deleted
  • +
  • Mass Change: Indicates a mass change of configuration on objects.
  • +
  • Enabled: Indicates that the object has been enabled
  • +
  • Disabled: Indicates that the object has been disabled
  • +
TypeIndicates object type
ObjectIndicates object name
AuthorIndicates the user having performed this change
+ +By clicking the name of an object, you can view the history of the changes +applied to it. + +![image](../assets/administration/fobjectmodif.png) + +The table below defines the columns of the changes table: + + ++++ + + + + + + + + + + + + + + + + + + + + + + + + +
Column NameDescription
DateDate of the change
Contact NameName of the person who performed the change
TypeModification type

The last column describes the change itself :

+
    +
  • Field name: Describes the field that has been changed
  • +
  • Before: Indicates the previous value
  • +
  • After: Indicates the new value
  • +
+ +## Configuration + +To enable user audit logs, go to **Administration > Parameters > Options** and +check the **Enable/Disable audit logs** option: + +![image](../assets/administration/logs_audit_enable.png) diff --git a/versioned_docs/version-25.10/administration/parameters/centreon-ui.md b/versioned_docs/version-25.10/administration/parameters/centreon-ui.md new file mode 100644 index 000000000000..df46acef6698 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/centreon-ui.md @@ -0,0 +1,61 @@ +--- +id: centreon-ui +title: Centreon UI +--- + +This part covers the configuration of the general options of the Centreon web +interface. + +Go to **Administration > Parameters > Centreon UI**. + +## General options + +- **Directory** indicates the directory where Centreon is installed +- **Contacts & Contact groups method calculation** lets you define how +notification inheritance for hosts and services will be calculated. +- The **Limit per page (default)** field defines the number of objects displayed +per **Configuration** page +- The **Limit per page for Monitoring** field defines the number of objects +displayed per page in the **Monitoring** menu +- The **Graph per page for Performances** field defines the maximum number of +charts displayed on the **Performance** page +- The **Number of elements loaded in select** field defines the maximum number in +the selection box +- The **Sessions Expiration Time** field, expressed in minutes, indicates the +maximum session duration +- The **Refresh Interval for statistics** field, expressed in seconds, indicates +the refreshment interval for the statistics page +- The **Refresh Interval for monitoring** field, expressed in seconds, indicates +the refreshment interval for the objects on the monitoring page +- The **Sort problems by** field is used to choose how to sort the incidents in +the **Monitoring** menu +- The **Order sort problems** field indicates the display order for incidents, by +ascending or descending order of gravity +- **Display downtime and acknowledgment on chart** is used to display downtime +and acknowledgments on a chart +- **Display comment on chart** is used to display comments from the service on a chart +- The **Timezone** field indicates the timezone of your monitoring server. +- The **Centreon Support Email** field indicates the e-mail address of the +**Customer service support center** for the Centreon platform. This e-mail +address will be displayed at the bottom of the page on the **Centreon +Support** link. +- The **Send anonymous statistics** box defines whether or not the platform will +send anonymous information for **Centreon Customer Experience Improvement** + +## Proxy configuration + +The proxy configuration is mandatory when using the Centreon IT Edition. + +![image](../../assets/administration/proxy_configuration.png) + +Define the required information: + +- **Proxy URL** +- **Proxy port** +- **Proxy user** +- **Proxy password** + +Once you have defined the settings, test your configuration by clicking the **Test Internet Connection** button. + +To validate the configuration, click the **Test Internet Connection** button. If the message +**Connection Successful** appears, your configuration is valid. If not, modify your parameters. diff --git a/versioned_docs/version-25.10/administration/parameters/data-management.md b/versioned_docs/version-25.10/administration/parameters/data-management.md new file mode 100644 index 000000000000..b77fa7a5e67a --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/data-management.md @@ -0,0 +1,51 @@ +--- +id: data-management +title: Data management +--- + +By accessing the **Administration > Parameters > Options** menu, you can define +retention durations for the Centreon platform: + +![image](../../assets/administration/data_retention.png) + +## Performance data storage + +This setting is for the folders for storing performance data. Performance data +make it possible to view the performance graphs of the metrics collected by +the monitoring, to track the evolution of the status of the services, or to +follow certain indicators concerning the collection engines. + +> These values were set during the installation process; it is not recommended to +> change them. + +- **Path to RRDTool Database For Metrics**: by default +**/var/lib/centreon/metrics/**. +- **Path to RRDTool Database For Status**: by default +**/var/lib/centreon/status/**. +- **Path to RRDTool Database For Monitoring Engine Statistics**: by default +**/var/lib/centreon/nagios-perf/**. + +## Retention durations + +Setting the retention time limits the size of the database: + +- **Retention duration for reporting data (Dashboard)**: availability report +data, by default **365 days**. +- **Retention duration for logs**: activity log of the monitoring engines, by +default **31 days**. +- **Retention duration for performance data in MySQL database**: performance +data stored into database, by default **365 days** +- **Retention duration for performance data in RRDTool databases**: +performance data graphs, by default **180 days**. +- **Retention duration for downtimes**: downtime data, unlimited by default +(0 day). +- **Retention duration for comments**: comment data, unlimited by default (0 +day). +- **Retention duration for audit logs**: audit log data, unlimited by default +(0 day). + +> It is possible not to save performance data to the MariaDB database if you are not +> using extraction to add-on software such as Centreon MBI. + +> If you change the retention time for performance charts, this value will only be +> used for newly added services. diff --git a/versioned_docs/version-25.10/administration/parameters/debug.md b/versioned_docs/version-25.10/administration/parameters/debug.md new file mode 100644 index 000000000000..75f817c09466 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/debug.md @@ -0,0 +1,24 @@ +--- +id: debug +title: Debug +--- + +This section describes how to enable debug level logging of Centreon processes. + +Go to **Administration > Parameters > Debug**. + +![image](../../assets/administration/parameters-debug.png) + +- The **Logs Directory** field defines the path where event logs will be recorded +- The **Authentication debug** box can be used to log authentications to the +Centreon interface +- The **Monitoring Engine Import debug** box enables logging of scheduler +debugging +- The **RRDTool debug** box enables logging of RRDTool graph engine debugging +- The **LDAP User Import debug** box enables logging of debugging of the importing of +LDAP users +- The **SQL debug** box enables the logging of SQL requests executed by the +Centreon interface +- The **Centreon Gorgone debug** box enables logging of Gorgone process debugging +- **Centreontrapd debug** box enables logging of Centreontrapd process +debugging diff --git a/versioned_docs/version-25.10/administration/parameters/gorgone.md b/versioned_docs/version-25.10/administration/parameters/gorgone.md new file mode 100644 index 000000000000..dbc0fdb23e88 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/gorgone.md @@ -0,0 +1,28 @@ +--- +id: gorgone +title: Gorgone +--- + +This lets you set the parameters needed by Centreon to interact with Gorgone. + +Go to **Administration > Parameters > Gorgone**. + +![image](../../assets/administration/parameters-gorgone.png) + +- The **Enable Broker statistics collection** field enables the retrieval of +statistics from the Centreon Broker. +- The **Timeout value for Gorgone commands** field can be used to define a global +timeout for commands run by Gorgone. +- The **Illegal characters for Gorgone commands** field lets you define +characters that will be removed from commands forwarded by the process. +- The **IP address or hostname** field lets you define the IP Address or hostname +to communicate with Gorgone API. +- The **Port** field lets you define the port to communicate with Gorgone API. +- The **Username** field lets you define the username used to connect to +Gorgone API. +- The **Password** field lets you define the password used to connect to +Gorgone API. +- **Use SSL/TLS** lets you define whether SSL/TLS must be used to communicate +with Gorgone API. +- **Allow self signed certificate** lets you define whether self-signed +certificates are allowed. diff --git a/versioned_docs/version-25.10/administration/parameters/ldap.md b/versioned_docs/version-25.10/administration/parameters/ldap.md new file mode 100644 index 000000000000..769c7622b8df --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/ldap.md @@ -0,0 +1,103 @@ +--- +id: ldap +title: Connecting Centreon to an LDAP directory +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +When you connect Centreon to an LDAP directory, users in this directory can log in to Centreon using their LDAP credentials. + +Connecting Centreon to an LDAP directory does not create [users](../../monitoring/basic-objects/contacts.md) automatically in Centreon. According to your configuration, users from the LDAP directory can be created automatically when they log in to Centreon, or you can import them manually. + +You can [grant rights to these users](../access-control-lists.md) indirectly by adding them to a contact group (which in turn can be included in an [access group](../access-control-lists.md#creating-an-access-group)). + +> If you want to use SSO for authentication, please read +> [this procedure](../../connect/sso.md). + +## Configuration + +Go to **Administration > Parameters > LDAP** and click **Add**. + +![image](../../assets/administration/parameters-ldap-add.png) + +- **Configuration name** and **Description**: define the name and the +description of the LDAP server +- **Enable LDAP authentication**: enable authentication via the +LDAP server +- **Store LDAP password**: can be used to store user passwords in the +database, which is useful to authenticate users in the event of loss of connection +with the LDAP server +- **Auto import users**: + - **Yes**: All users in the directory will be able to log in to Centreon. The first time they log in, they will be created in Centreon, on the **Configuration > Contacts > Contacts/Users** page, with their LDAP parameters (last name, first name, email address, etc.). + - **No**: Users will only be able to log in to Centreon if their account has been imported manually into Centreon. + - **Import users manually**: Whether or not auto import is enabled, you can use this button to import some users to the list of contacts. + +- **LDAP search size limit**: can be used to limit the number of users to search for (1000 users maximum). +- **LDAP search timeout**: can be used define the maximum time for the +LDAP search. +- **Contact template**: defines the [contact template](../../monitoring/basic-objects/contacts-templates.md) that will be linked +to all users imported from this LDAP directory. +- **Default contactgroup**: is used to add a new user to +a default contactgroup. This allows you to [grant rights](../access-control-lists.md) indirectly to the LDAP users. +- **Use service DNS**: indicates if it is necessary to use the DNS server +to solve the IP address of the LDAP directory. +- **Enable LDAP synchronization on login**: If enabled, a user LDAP +synchronization will be performed on login to update the contact data and +calculate new Centreon ACLs. +- **LDAP synchronization interval (in hours)**: Displayed only if the previous +option is enabled. This field is used to specify the time between two LDAP +synchronizations. + +> The contact's LDAP data won't be updated in Centreon until the next +> synchronization is expected. +> +> If needed, "on-demand" synchronization is +> available from the **Administration > Session** page and from the +> **Configuration > Users > Contact / Users** list. +> +> The interval is expressed in hours. By default, this field is set to the lower +> value: 1 hour. + +> We save a timestamp as reference date in the DB and use the CentAcl CRON to +> update it. +> +> The reference date is used to calculate the next expected LDAP synchronization. +> +> If you modify one of these two fields, the reference timestamp will be reset to +> your current time. +> +> The reference date will not be updated, whether or not you make changes; only the other fields +> / options are updated. + +- **LDAP servers**: can be used to add one or more LDAP directories to +which Centreon will connect. + +The table below summarizes the settings to add an LDAP server: + +| Column | Description | +| ------------ | ---------------------------------------------------------------------- | +| Host address | Contains the IP address or DNS name of the LDAP server | +| Port | Indicates the connection port to access the LDAP | +| SSL | Indicates if the SSL protocol is used for the connection to the server | +| TLS | Indicates if the TLS protocol is used for the connection to the server | + +- **Bind user** and **Bind password**: define the user name and the +password for logging on to the LDAP server +- **Protocol version**: indicates the version of the protocol used to +log in +- **Template**: can be used to pre-configure the search filters for users +on the LDAP directory. These filters are used to propose, by default, a search +on the MS Active Directory, Okta, or Posix-type directories. + +> Before any import, check the default settings proposed. If you have not selected +> a Model, you will need to define the search filters manually by filling in the +> fields. + +> You can use **Okta** as LDAP server with [SWA +> plugin](https://help.okta.com/en/prod/Content/Topics/Apps/Apps_Configure_Template_App.htm). +> Please define: +> +> - **uid=,dc=,dc=okta,dc=com** for the **Bind DN** field +> - **ou=,dc=,dc=okta,dc=com** \*\* for the **Search group +> base DN** field. \ No newline at end of file diff --git a/versioned_docs/version-25.10/administration/parameters/medias.md b/versioned_docs/version-25.10/administration/parameters/medias.md new file mode 100644 index 000000000000..fefc52595a59 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/medias.md @@ -0,0 +1,49 @@ +--- +id: medias +title: Media +--- + +Media are images used by the Centreon web interface. These images are used to +represent the monitored resource in a more intuitive way, propose backgrounds +for cartography modules, etc. + +## Image management + +All the images are stored in the folder entitled: +**/usr/share/centreon/www/img/media** of the Centreon server. + +There are two methods for adding images to this folder: + +- Do it manually, +- Use automatic synchronization. This method has the advantage of being able +to import multiple images at the same time. + +### Manual addition + +To add an image in Centreon, go to **Administration > Parameters > Images** and +click **Add**. + +The following window is displayed: + +![image](../../assets/administration/dmedias.png) + +- The **Existing or new directory** field can be used to add a new folder in the +image folder or to choose an existing folder into which the image can be +copied +- The **Image or archive** field can be used to select the image or the set of +images contained in an archive that will be imported +- The **Comments** field can be used to describe the image + +### Synchronizing the images + +To synchronize one or more images in the Centreon media: + +1. Copy your images in the image folder (the images may be located in folders). +2. Make sure the user who executes your web server has the read rights on +these images. +3. Go to **Administration > Parameters > Images**. +4. Click **Synchronize Media Directory**. + +The following window imports the new images: + +![image](../../assets/administration/dmediasimports.png) diff --git a/versioned_docs/version-25.10/administration/parameters/monitoring.md b/versioned_docs/version-25.10/administration/parameters/monitoring.md new file mode 100644 index 000000000000..364e338f35f6 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/monitoring.md @@ -0,0 +1,27 @@ +--- +id: monitoring +title: Monitoring +--- + +This section covers the general options of the real-time monitoring interface. + +Go to **Administration > Parameters > Monitoring**. + +![image](../../assets/administration/parameters-monitoring.png) + +- The **Interval Length** field indicates the time interval in seconds used to +program the checks and notifications +- The **Images Directory** field defines the image directory in which the media +are stored +- The **Plugins Directory** field defines the directory where monitoring plugins +are stored +- The **Start script for broker daemon** field contains the path to the init +script of the broker +- The **Directory + Mailer Binary** field contains the path to the executable file +for sending e-mails +- **Maximum number of hosts to show** is a deprecated field +- **Maximum number of services to show** is a deprecated field +- **Page refresh interval** is a deprecated field +- The boxes and fields in the **Default acknowledgment settings** and +**Default downtime settings** categories define the default options that will +be checked or not during definition of an acknowledgment or downtime diff --git a/versioned_docs/version-25.10/administration/parameters/rrdtool.md b/versioned_docs/version-25.10/administration/parameters/rrdtool.md new file mode 100644 index 000000000000..5dce6c842606 --- /dev/null +++ b/versioned_docs/version-25.10/administration/parameters/rrdtool.md @@ -0,0 +1,14 @@ +--- +id: rrdtool +title: RRDTool +--- + +This procedure lets you define the path to the RRDTool binary. + +Go to **Administration > Parameters > RRDTool**. + +![image](../../assets/administration/parameters-rrdtool.png) + +- The **Directory + RRDTOOL Binary** field defines the path to the RRDTool +binary. +- The **RRDTool Version** tells you the version of RRDTool. diff --git a/versioned_docs/version-25.10/administration/platform-statistics.md b/versioned_docs/version-25.10/administration/platform-statistics.md new file mode 100644 index 000000000000..b126d6a9ecfc --- /dev/null +++ b/versioned_docs/version-25.10/administration/platform-statistics.md @@ -0,0 +1,21 @@ +--- +id: platform-statistics +title: Platform statistics +--- + +The status of the Centreon platform is available through the **Administration > Platform Status** menu. + +## Broker Statistics + +To display the statistics of the Centreon Broker components, go to **Administration > Platform Status > Broker Statistics** and select the +desired poller: + +![image](../assets/administration/statistics-broker.png) + +## Engine Statistics + +It is also possible to display the performance of the engines through +performance graphs. Go to the **Administration > Platform Status > Engine Statistics** +menu and select the desired poller: + +![image](../assets/administration/statistics-engine.png) diff --git a/versioned_docs/version-25.10/administration/postfix.md b/versioned_docs/version-25.10/administration/postfix.md new file mode 100644 index 000000000000..96dc73241102 --- /dev/null +++ b/versioned_docs/version-25.10/administration/postfix.md @@ -0,0 +1,161 @@ +--- +id: postfix +title: Configuring your Centreon to send emails +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +For your Centreon to be able to send notification emails, you need to configure a local SMTP server. If your operating system is RHEL or Oracle Linux, Postfix is already installed. + +This page gives you an example of a possible configuration. Refer to the [official Postfix documentation](https://www.postfix.org/BASIC_CONFIGURATION_README.html) for more information. + +Notification commands are executed by the poller that monitors the resource, so you need to configure the mail relay on all pollers. + +We recommend that you use a dedicated email account to send notifications. + +## Step 1: Configuring Postfix + +1. In your server's terminal, enter the following command: + + + + +``` shell +dnf install mailx cyrus-sasl-plain +``` + + + + +``` shell +dnf install s-nail cyrus-sasl-plain +``` + + + + +``` shell +apt install mailx cyrus-sasl-plain +``` + + + + +2. Restart Postfix: + + ``` + systemctl restart postfix + ``` + +3. Configure Postfix to run at startup: + + ``` + systemctl enable postfix + ``` + +4. Edit the following file: + + ``` + vi /etc/postfix/main.cf + ``` + +5. Add the following information: + + ``` + myhostname = hostname + relayhost = [smtp.isp.com]:port + smtp_use_tls = yes + smtp_sasl_auth_enable = yes + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt + smtp_sasl_security_options = noanonymous + smtp_sasl_tls_security_options = noanonymous + ``` + + - **myhostname** is the hostname of the Centreon server. + - **relayhost** is the email server for the account that will send notifications. + + In the following example, Centreon will use a Gmail account to send notifications: + + ``` + myhostname = centreon-central + relayhost = [smtp.gmail.com]:587 + smtp_use_tls = yes + smtp_sasl_auth_enable = yes + smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd + smtp_tls_CAfile = /etc/ssl/certs/ca-bundle.crt + smtp_sasl_security_options = noanonymous + smtp_sasl_tls_security_options = noanonymous + ``` + +## Step 2: Configuring the credentials of the account that will send emails + +1. Create a `/etc/postfix/sasl_passwd` file: + + ``` + touch /etc/postfix/sasl_passwd + ``` + +2. Add the following line (replace `username:password` with the credentials of the account that will send the notification emails): + + ``` + [smtp.isp.com]:port username:password + ``` + + Example: + + ``` + [smtp.gmail.com]:587 username@gmail.com:XXXXXXXX + ``` + +3. Save the file. + +3. In the terminal, enter the following command: + + ``` + postmap /etc/postfix/sasl_passwd + ``` + +4. For security reasons, change the permissions on the file: + + ``` + chown root:postfix /etc/postfix/sasl_passwd* + chmod 640 /etc/postfix/sasl_passwd* + ``` + +3. Reload Postfix so that changes are taken into account: + + ``` + systemctl reload postfix + ``` + +## Testing and troubleshooting email configuration + +- To send a test email, enter the following command: + + ``` + echo "Test" | mail -s "Test" user@isp.com + ``` + + Replace `user@isp.com` with a real email address. The recipient should receive the test email. + +- If the user has not received the message, check the following log file: + + ``` + tail -f /var/log/maillog + ``` + +- To check that your Postfix service is running, enter: + + ``` + systemctl status postfix + ``` + + The results should look like this: + + ![image](../assets/administration/postfix-status.png) + +## Gmail configuration + +If you want to send emails through a Gmail account, you will need to turn on the **Allow less secure apps** option on this account. See [Less secure apps & your Google Account](https://support.google.com/accounts/answer/6010255). diff --git a/versioned_docs/version-25.10/administration/secure-platform.md b/versioned_docs/version-25.10/administration/secure-platform.md new file mode 100644 index 000000000000..dbd8a2899144 --- /dev/null +++ b/versioned_docs/version-25.10/administration/secure-platform.md @@ -0,0 +1,1612 @@ +--- +id: secure-platform +title: Secure your platform +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter suggests how to best secure your Centreon platform. + +## Strengthen user account security + +After installing Centreon, you must change the default passwords of the following users: + +- root +- centreon +- centreon-engine +- centreon-broker +- centreon-gorgone + +To do this, use the following command with a privileged account (e.g., sudo) or with root (not recommended — you should +have a dedicated user): + +```shell +passwd +``` + +In addition, it is important to verify that the Apache account does not have connection rights to the terminal. +Execute the following command: + +```shell +cat /etc/passwd | grep apache +``` + +You must have **/sbin/nologin** like: + +```shell +apache:x:48:48:Apache:/usr/share/httpd:/sbin/nologin +``` + +> As a reminder, the list of users and groups can be found [here](../installation/prerequisites.md#users-and-groups) + +## Enable SELinux + +Centreon developed SELinux rules in order to strengthen the control of +components by the operating system. + +> These rules are currently in **beta mode** and can be activated. +> You can activate them by following this procedure. If you detect a problem, +> you can disable SELinux globally and send us your feedback in +> order to improve our rules on [Github](https://github.com/centreon/centreon). + +### SELinux Overview + +Security Enhanced Linux (SELinux) provides an additional layer of system security. SELinux fundamentally answers the +question: `May do to ?`, for example: May a web server access files in users' home +directories? + +The standard access policy based on the user, group, and other permissions, known as Discretionary Access Control +(DAC), does not enable system administrators to create comprehensive and fine-grained security policies, such as +restricting specific applications to only viewing log files, while allowing other applications to append new data to +the log files. + +SELinux implements Mandatory Access Control (MAC). Every process and system resource has a special security label +called an SELinux context. An SELinux context, sometimes referred to as an SELinux label, is an identifier that +abstracts away the system-level details and focuses on the security properties of the entity. Not only does this provide +a consistent way of referencing objects in the SELinux policy, but it also removes any ambiguity that can be found in +other identification methods. For example, a file can have multiple valid path names on a system that makes use of bind +mounts. + +The SELinux policy uses these contexts in a series of rules that define how processes can interact with each other and +the various system resources. By default, the policy does not allow any interaction unless a rule explicitly grants access. + +For more information about SELinux, please see [Red Hat documentation](https://access.redhat.com/documentation/en-us/red_hat_enterprise_linux/8/html/using_selinux/getting-started-with-selinux_using-selinux) + +### Activate SELinux + +By default, SELinux is disabled during the Centreon installation process and must be reenabled after it for security reasons. + +To enable SELinux again, edit the **/etc/selinux/config** file and change the value with the following options: +- ``SELINUX=enforcing`` to make SELinux security policy enforced. +- ``SELINUX=permissive`` to make SELinux print warnings instead of enforce security policy. + +Then reboot your server: + +```shell +shutdown -r now +``` + +### Install Centreon SELinux packages + +Depending on the type of server, install the packages with the following command: + + + + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-map-selinux + ``` + + + + + ```shell + dnf install centreon-mbi-selinux + ``` + + + + + + + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + dnf install centreon-map-selinux + ``` + + + + + ```shell + dnf install centreon-mbi-selinux + ``` + + + + + + + + + + + ```shell + apt install centreon-common-selinux \ + centreon-web-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + apt install centreon-common-selinux \ + centreon-broker-selinux \ + centreon-engine-selinux \ + centreon-gorgoned-selinux \ + centreon-plugins-selinux + ``` + + + + + ```shell + apt install centreon-map-selinux + ``` + + + + + ```shell + apt install centreon-mbi-selinux + ``` + + + + + + + + +To check the installation, execute the following command: + +```shell +semodule -l | grep centreon +``` + +Depending on your type of server, you can see: + +```shell +centreon-broker 0.0.5 +centreon-common 0.0.10 +centreon-engine 0.0.8 +centreon-gorgoned 0.0.3 +centreon-plugins 0.0.2 +centreon-web 0.0.8 +``` + +### Audit logs and enable SELinux + +Before enabling SELinux in **enforcing** mode, you need to be sure that no errors appear using the following command: + +```shell +cat /var/log/audit/audit.log | grep -i denied +``` + +If errors appear, you must analyze them and decide if these errors are regular and should be added to +the Centreon default SELinux rules. To do this, use the following command to transform errors into SELinux rules: + +```shell +audit2allow -a +``` + +Then execute the proposed rules. + +If after a while, no error is present, you can activate SELinux in full mode by +following this [procedure](#activate-selinux) using **enforcing** mode. + +> Do not hesitate to give us your feedback on [Github](https://github.com/centreon/centreon). + +## Securing configuration files + +Change the permissions for the following configuration files: + +```shell +chown centreon:centreon /etc/centreon/conf.pm +chmod 660 /etc/centreon/conf.pm +``` + +and + +```shell +chown apache:apache /etc/centreon/centreon.conf.php +chmod 660 /etc/centreon/centreon.conf.php +``` + +## Securing root access to the DBMS + +[MariaDB](https://mariadb.com/kb/en/mysql_secure_installation/) proposes a default procedure to secure the DBMS +installation. It is mandatory to set a password for the **root** user of the database. If you haven't already done so, please execute the following command and follow the instructions: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +## Enable firewalld + + + + +Install firewalld: + +```shell +dnf install firewalld +``` + + + + +Install firewalld: + +```shell +dnf install firewalld +``` + + + + +Install firewalld: + +```shell +apt install firewalld +``` + + + + +Enable firewalld: + +```shell +systemctl enable firewalld +systemctl start firewalld +``` + +Then add rules for firewalld: + +> The list of network flows required for each type of server is defined +> [here](../installation/architectures.md#tables-of-platform-flows). + + + + +Execute the following commands (change the port numbers if you have customized them): + +```shell +# For default protocols +firewall-cmd --zone=public --add-service=ssh --permanent +firewall-cmd --zone=public --add-service=http --permanent +firewall-cmd --zone=public --add-service=https --permanent +firewall-cmd --zone=public --add-service=snmp --permanent +firewall-cmd --zone=public --add-service=snmptrap --permanent +# Centreon Gorgone +firewall-cmd --zone=public --add-port=5556/tcp --permanent +# Centreon Broker +firewall-cmd --zone=public --add-port=5669/tcp --permanent +``` + + + + +Execute the following commands: + +```shell +# For default protocols +firewall-cmd --zone=public --add-service=ssh --permanent +firewall-cmd --zone=public --add-service=snmp --permanent +firewall-cmd --zone=public --add-service=snmptrap --permanent +# Centreon Gorgone +firewall-cmd --zone=public --add-port=5556/tcp --permanent +``` + + + + +Once the rules have been added, reload firewalld: + +```shell +firewall-cmd --reload +``` + +To check that the configuration has been applied correctly, use the following command to list all active rules: + +```shell +firewall-cmd --list-all +``` + +For instance: + +```shell +public (active) + target: default + icmp-block-inversion: no + interfaces: eth0 + sources: + services: http snmp snmptrap ssh + ports: 5556/tcp 5669/tcp + protocols: + forward: no + masquerade: no + forward-ports: + source-ports: + icmp-blocks: + rich rules: +``` + +## Enable fail2ban + +Fail2Ban is an intrusion prevention software framework that protects computer servers from brute-force attacks. + +Install the inotify module: + + + + +```shell +dnf install python3-inotify +``` + + + + +```shell +dnf install python3-inotify +``` + + + + +```shell +apt install python3-inotify +``` + + + + +Install fail2ban: + + + + +```shell +yum install epel-release +yum install fail2ban fail2ban-systemd +``` + +If you have SELinux installed, then update the SELinux policies: + +```shell +yum update -y selinux-policy* +``` + + + + +```shell +yum install epel-release +yum install fail2ban fail2ban-systemd +``` + +If you have SELinux installed, then update the SELinux policies: + +```shell +yum update -y selinux-policy* +``` + + + + +```shell +apt install fail2ban +``` + + + + +Enable fail2ban: + +```shell +systemctl enable fail2ban +systemctl start fail2ban +``` + +Copy the default rules file: + +```shell +cp /etc/fail2ban/jail.conf /etc/fail2ban/jail.local +``` + +Edit the file `/etc/fail2ban/jail.local` and search the **[centreon]** block, then modify like this: + +```shell +[centreon] +port = http,https +logpath = /var/log/centreon/login.log +backend = pyinotify +``` + +To enable the **centreon** fail2ban rule, create the `/etc/fail2ban/jail.d/custom.conf` file and add the following lines: + +```shell +[centreon] +enabled = true +findtime = 10m +bantime = 10m +maxretry = 3 +``` + +> **maxretry** is the number of authentications failed before banning the IP address +> +> **bantime** is the duration of the ban +> +> **findtime** is the time range to find authentication failed + +Then restart fail2ban to load your rule: + +```shell +systemctl restart fail2ban +``` + +To check the status of the **centreon** rule you can run: + +```shell +fail2ban-client status centreon +``` + +Here is an example of output: + +```shell +Status for the jail: centreon +|- Filter +| |- Currently failed: 1 +| |- Total failed: 17 +| `- File list: /var/log/centreon/login.log +`- Actions + |- Currently banned: 0 + |- Total banned: 2 + `- Banned IP list: +``` + +> For more information, go to the [official website](http://www.fail2ban.org). + +## Secure the web server with HTTPS + +By default, Centreon installs a web server in HTTP mode. It is strongly recommended that you switch to HTTPS mode by adding your certificate. It is also recommended that you use a certificate validated by an authority rather than a self-signed one. + +- If you already have a certificate validated by an authority, you can go directly to this [step](#activating-https-mode-on-your-web-server) to activate HTTPS mode on your Apache server. + +- If you do not have a certificate validated by an authority, you can generate one on platforms such as [Let's Encrypt](https://letsencrypt.org/). + +- If you need to create a certificate with the self-signed method, follow this [step](#creating-a-self-signed-certificate) before activating HTTPS mode on your server. + +### Creating a self-signed certificate + +> This procedure allows you to create: +- A private key for the server: **centreon7.key** in our case. It will be used by the Apache service. +- A CSR (Certificate Signing Request) file: **centreon7.csr** in our case. +- A private key for the certificate of the certification authority: **ca_demo.key** in our case. +- A x509 certificate to sign your certificate for the server: **ca-demo.crt** in our case. +- A certificate for the server: **centreon7.crt** in our case. + +Let's assume that you have a Centreon server with a **centreon7.localdomain** FQDN address. + +1. Prepare the OpenSSL configuration: + + Due to a policy change at Google, self-signed certificates may be rejected by the Google Chrome browser (it is not even possible to add an exception). To continue using this browser, you must change the OpenSSL configuration. + + + + + Open the file **/etc/pki/tls/openssl.cnf**. The goal here is to edit this file in order to inform the various IPs and FQDNs for the server. + + + + + + Open the file **/etc/pki/tls/openssl.cnf**. The goal here is to edit this file in order to inform the various IPs and FQDNs for the server. + + + + + Open the file **/etc/ssl/openssl.cnf**. The goal here is to edit this file in order to inform the various IPs and FQDNs for the server. + + + + + Find the ```[v3_ca]``` section in order to add a new ```alt_names``` tag: + + ```text + # Add the alt_names tag that allows you to inform our various IPs and FQDNs for the server + [ alt_names ] + IP.1 = xxx.xxx.xxx.xxx + DNS.1 = centreon7.localdomain + # If you have several IP (HA: vip + ip) + # IP.2 = xxx.xxx.xxx.xxx + [ v3_ca ] + subjectAltName = @alt_names + ``` + + Here is an example of how the file should look: + ```text + [ alt_names ] + IP.1 = 10.25.11.73 + DNS.1 = centreon7.localdomain + + [ v3_ca ] + subjectAltName = @alt_names + ``` + +2. Create a private key for the server: + + Let's create a private key named **centreon7.key** without a password so that it can be used by the Apache service. + ```text + openssl genrsa -out centreon7.key 2048 + ``` + + Protect your file by limiting rights: + ```text + chmod 400 centreon7.key + ``` + +3. Create a Certificate Signing Request file: + + From the key you created, create a CSR (Certificate Signing Request) file: **centreon7.csr** in our case. Fill in the fields according to your company. The **Common Name** field must be identical to the hostname of your Apache server (in our case it is **centreon7.localdomain**). + ```text + openssl req -new -key centreon7.key -out centreon7.csr + ``` + +4. Create a private key for the certificate of certification authority: + + Create a private key for this authority: **ca_demo.key** in our case. We add the **-aes256** option to encrypt the output key and include a password. This password will be requested each time this key is used. + ```text + openssl genrsa -aes256 2048 > ca_demo.key + ``` + +5. Create an x509 certificate from the private key of the certificate of certification authority: + + Create an x509 certificate that will be valid for one year: **ca_demo.crt** in our case. + + > Note that it is necessary to simulate a trusted third party, so the **Common Name** field must be different from the server certificate. + ```text + openssl req -new -x509 -days 365 -key ca_demo.key -out ca_demo.crt + ``` + + The certificate being created will enable you to sign your server certificate. + +6. Create a certificate for the server: + + Create your certificate for the server by using the x509 certificate (**ca_demo.crt**) to sign it. + + + + + ```text + openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca + ``` + + + + + + ```text + openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/pki/tls/openssl.cnf -extensions v3_ca + ``` + + + + + ```text + openssl x509 -req -in centreon7.csr -out centreon7.crt -CA ca_demo.crt -CAkey ca_demo.key -CAcreateserial -CAserial ca_demo.srl -extfile /etc/ssl/openssl.cnf -extensions v3_ca + ``` + + + + + The password created at step **Create a private key for the certificate of certification authority** must be entered. You get your server certificate named **centreon7.crt**. + + You can view the contents of the file: + ```text + less centreon7.crt + ``` + +7. You must then retrieve the x509 certificate file (**ca_demo.crt**) and import it into your browser's certificate manager. + +Now that you have your self-signed certificate, you can perform the following procedure to activate HTTPS mode on your Apache server. + +### Activating HTTPS mode on your web server + +1. Install the SSL module for Apache: + + + + +```shell +dnf install mod_ssl mod_security openssl +``` + +2. Install your certificates: + +Install your certificates (**centreon7.key** and **centreon7.crt** in our example) by copying them to the Apache configuration: + +```shell +cp centreon7.key /etc/pki/tls/private/ +cp centreon7.crt /etc/pki/tls/certs/ +``` + + + + +```shell +dnf install mod_ssl mod_security openssl +``` + +2. Install your certificates: + +Install your certificates (**centreon7.key** and **centreon7.crt** in our example) by copying them to the Apache configuration: + +```shell +cp centreon7.key /etc/pki/tls/private/ +cp centreon7.crt /etc/pki/tls/certs/ +``` + + + + +```shell +curl -sSL https://packages.sury.org/apache2/README.txt | sudo bash -x +apt update +apt install libapache2-mod-security2 +a2enmod ssl +a2enmod security2 +systemctl restart apache2 +``` + +2. Install your certificates: + +Install your certificates (**centreon7.key** and **centreon7.crt** in our example) by copying them to the Apache configuration: + +```shell +cp centreon7.key /etc/ssl/private/ +cp centreon7.crt /etc/ssl/certs/ +``` + + + + +3. Back up the previous Apache configuration for Centreon: + + + + +```shell +cp /etc/httpd/conf.d/10-centreon.conf{,.origin} +``` + + + + +```shell +cp /etc/httpd/conf.d/10-centreon.conf{,.origin} +``` + + + + +```shell +cp /etc/apache2/sites-available/centreon.conf{,.origin} +``` + + + + +4. Edit the Centreon Apache configuration: + +> Centreon offers an example of a configuration file to enable HTTPS, available in the following directory: +> **/usr/share/centreon/examples/centreon.apache.https.conf** + + + + +Edit the **/etc/httpd/conf.d/10-centreon.conf** file by adding the **** section. + + + + +Edit the **/etc/httpd/conf.d/10-centreon.conf** file by adding the **** section. + + + + +Edit the **/etc/apache2/sites-available/centreon.conf** file by adding the **** section. + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + +``` + +This is how the file should look: + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/pki/tls/certs/centreon7.crt + SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> Do not forget to change the **SSLCertificateFile** and **SSLCertificateKeyFile** directives with the path containing your +> certificate and key. In our case: **SSLCertificateFile /etc/pki/tls/certs/centreon7.crt** and **SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key**. + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/pki/tls/certs/centreon7.crt + SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> Do not forget to change the **SSLCertificateFile** and **SSLCertificateKeyFile** directives with the path containing your +> certificate and key. In our case: **SSLCertificateFile /etc/pki/tls/certs/centreon7.crt** and **SSLCertificateKeyFile /etc/pki/tls/private/centreon7.key**. + + + + +```apacheconf +Define base_uri "/centreon" +Define install_dir "/usr/share/centreon" + +ServerTokens Prod + + + RewriteEngine On + RewriteCond %{HTTPS} off + RewriteRule (.*) https://%{HTTP_HOST}%{REQUEST_URI} + + + + ##################### + # SSL configuration # + ##################### + SSLEngine On + SSLProtocol All -SSLv3 -SSLv2 -TLSv1 -TLSv1.1 + SSLCipherSuite ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES128-GCM-SHA256:ECDHE-ECDSA-CHACHA20-POLY1305:ECDHE-RSA-CHACHA20-POLY1305:DHE-DSS-AES256-GCM-SHA384:DHE-DSS-AES128-GCM-SHA256:ECDHE-ECDSA-AES256-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES256-SHA384:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES128-GCM-SHA256:AES256-GCM-SHA384:AES128-GCM-SHA256:!aNULL:!eNULL:!LOW:!3DES:!MD5:!EXP:!PSK:!DSS:!RC4:!SEED:!ADH:!IDEA + SSLHonorCipherOrder On + SSLCompression Off + SSLCertificateFile /etc/ssl/certs/centreon7.crt + SSLCertificateKeyFile /etc/ssl/private/centreon7.key + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/www/$1" + + + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + + + ProxyTimeout 300 + ErrorDocument 404 ${base_uri}/index.html + Options -Indexes +FollowSymLinks + + + # https://github.com/SpiderLabs/ModSecurity/issues/652 + SecRuleRemoveById 200003 + + + + DirectoryIndex index.php + AllowOverride none + Require all granted + FallbackResource ${base_uri}/index.html + + + + AllowOverride none + Require all granted + + + + RedirectMatch ^/$ ${base_uri} + + +``` + +> Do not forget to change the **SSLCertificateFile** and **SSLCertificateKeyFile** directives with the path containing your +> certificate and key. In our case: **SSLCertificateFile /etc/ssl/certs/centreon7.crt** and **SSLCertificateKeyFile /etc/ssl/private/centreon7.key**. + + + + +5. Enable HttpOnly / Secure flags and hide the Apache server signature: + + + + +Edit the **/etc/httpd/conf.d/10-centreon.conf** file and add the following lines before the `` tag: + +```apacheconf +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +``` + +Edit the **/etc/php.d/50-centreon.ini** file and turn off the `expose_php` parameter: + +```phpconf +expose_php = Off +``` + + + + +Edit the **/etc/httpd/conf.d/10-centreon.conf** file and add the following lines before the `` tag: + +```apacheconf +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +``` + +Edit the **/etc/php.d/50-centreon.ini** file and turn off the `expose_php` parameter: + +```phpconf +expose_php = Off +``` + + + + +Edit the **/etc/apache2/sites-available/centreon.conf** file and add the following lines before the `` tag: + +```apacheconf +Header set X-Frame-Options: "sameorigin" +Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;Secure;SameSite=Strict +Header always set Strict-Transport-Security "max-age=31536000; includeSubDomains" +ServerSignature Off +ServerTokens Prod +TraceEnable Off +``` + +Edit the **/etc/php/8.2/mods-available/centreon.ini** file and turn off the **expose_php** parameter: + +> This was done during the installation process. + + + + +6. Hide the default **/icons** directory: + + + + +Edit the **/etc/httpd/conf.d/autoindex.conf** file and comment the following line: + +```apacheconf +#Alias /icons/ "/usr/share/httpd/icons/" +``` + + + + +Edit the **/etc/httpd/conf.d/autoindex.conf** file and comment the following line: + +```apacheconf +#Alias /icons/ "/usr/share/httpd/icons/" +``` + + + + +Edit the **/etc/apache2/mods-available/autoindex.conf** file and comment the following line: + +> The default icons directory is already hidden. + + + + +7. You can perform this test to check that Apache is properly configured, by running the following command: + + + + +```apacheconf +apachectl configtest +``` + +The expected result is the following: + +```apacheconf +Syntax OK +``` + + + + +```apacheconf +apachectl configtest +``` + +The expected result is the following: + +```apacheconf +Syntax OK +``` + + + + +```apacheconf +apache2ctl configtest +``` + +The expected result is the following: + +```apacheconf +Syntax OK +``` + + + + +8. Restart the Apache and PHP processes to take the new configuration into account: + + + + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +```shell +systemctl restart php8.2-fpm apache2 +``` + +Then check its status: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +Now you can access your platform with your browser in HTTPS mode. + +> Once your web server is set to HTTPS mode, if you have a MAP server on your platform, you must set it to HTTPS mode too, otherwise +> recent web browsers may block communication between the two servers. The procedure is detailed [here](../graph-views/secure-your-map-platform.md#Configure-HTTPS/TLS-on-the-MAP-server). + +9. Gorgone API configuration + +Replace **127.0.0.1** with the FQDN of your central server in the **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** file: + +```text +gorgone: + tpapi: + - name: centreonv2 + base_url: "http://centreon7.localdomain/centreon/api/latest/" + username: "centreon-gorgone" + password: "bpltc4aY" + - name: clapi + username: "centreon-gorgone" + password: "bpltc4aY" +``` + +Then restart the Gorgone daemon: + +```shell +systemctl restart gorgoned +``` + +Then check its status: + +```shell +systemctl status gorgoned +``` + +If everything is ok, you should have: + +```shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Mon 2023-03-06 15:58:10 CET; 27min ago + Main PID: 1791096 (perl) + Tasks: 124 (limit: 23040) + Memory: 595.3M + CGroup: /system.slice/gorgoned.service + ├─1791096 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─1791109 gorgone-statistics + ├─1791112 gorgone-legacycmd + ├─1791117 gorgone-engine + ├─1791118 gorgone-audit + ├─1791125 gorgone-nodes + ├─1791138 gorgone-action + ├─1791151 gorgone-cron + ├─1791158 gorgone-dbcleaner + ├─1791159 gorgone-autodiscovery + ├─1791166 gorgone-httpserver + ├─1791180 gorgone-proxy + ├─1791181 gorgone-proxy + ├─1791182 gorgone-proxy + ├─1791189 gorgone-proxy + └─1791190 gorgone-proxy + +mars 06 15:58:10 ito-central systemd[1]: gorgoned.service: Succeeded. +mars 06 15:58:10 ito-central systemd[1]: Stopped Centreon Gorgone. +mars 06 15:58:10 ito-central systemd[1]: Started Centreon Gorgone. +``` + +You should see the following line in the Gorgone daemon log file **/var/log/centreon-gorgone/gorgoned.log**: + +```text +2023-03-06 15:58:12 - INFO - [autodiscovery] -class- host discovery - sync started +``` + +## Custom URI + +It is possible to customize the URI for your Centreon platform. For example, **/centreon** can be replaced by **/monitoring**. + +> At least one path level is mandatory. + +To customize the Centreon URI: + +1. Edit the Apache configuration file for Centreon Web: + + + + +```shell +vi /etc/httpd/conf.d/10-centreon.conf +``` + + + + +```shell +vi /etc/httpd/conf.d/10-centreon.conf +``` + + + + +```shell +vi /etc/apache2/sites-available/centreon.conf +``` + + + + +2. Replace **/centreon** with your new path: + +```apache +Define base_uri "/centreon" +``` + +3. Restart Apache: + + + + +```shell +systemctl restart httpd +``` + + + + +```shell +systemctl restart httpd +``` + + + + +```shell +systemctl restart apache2 +``` + + + + +## Enabling http2 + +It is possible to enable the http2 protocol to improve Centreon's network performance. + +To use http2, you need to follow these steps: + + + + +1. [Configure https on Centreon](#secure-the-web-server-with-https) + +2. Install the nghttp2 module: + +```shell +dnf install nghttp2 +``` + +3. Enable the http2 protocol in **/etc/httpd/conf.d/10-centreon.conf**: + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Update the method used by the apache multi-process module in **/etc/httpd/conf.modules.d/00-mpm.conf**: + + Comment the following line: + + ```shell + LoadModule mpm_prefork_module modules/mod_mpm_prefork.so + ``` + + Uncomment the following line: + + ```shell + LoadModule mpm_event_module modules/mod_mpm_event.so + ``` + +5. Restart the Apache process to take the new configuration into account: + +```shell +systemctl restart httpd +``` + + + + +1. [Configure https on Centreon](#secure-the-web-server-with-https) + +2. Install the nghttp2 module: + +```shell +dnf install nghttp2 +``` + +3. Enable the http2 protocol in **/etc/httpd/conf.d/10-centreon.conf**: + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Update the method used by the apache multi-process module in **/etc/httpd/conf.modules.d/00-mpm.conf**: + + Comment the following line: + + ```shell + LoadModule mpm_prefork_module modules/mod_mpm_prefork.so + ``` + + Uncomment the following line: + + ```shell + LoadModule mpm_event_module modules/mod_mpm_event.so + ``` + +5. Restart the Apache process to take the new configuration into account: + +```shell +systemctl restart httpd +``` + + + + +1. [Configure HTTPS on your Centreon server](#secure-the-web-server-with-https). + +2. Install the nghttp2 module: + +```shell +apt install nghttp2 +``` + +3. Enable the **http2** protocol in **/etc/apache2/sites-available/centreon.conf**: + +```apacheconf +... + + Protocols h2 h2c http/1.1 + ... + +... +``` + +4. Execute the following commands: + +```shell +a2dismod php8.2 +a2dismod mpm_prefork +a2enmod mpm_event +a2enmod http2 +``` + +5. Restart the Apache process to take the new configuration into account: + +```shell +systemctl restart apache2 +``` + + + + +## User authentication + +Centreon offers several methods to authenticate users: + +- [local](../connect/loginpwd.md) (MySQL) +- [LDAP](./parameters/ldap.md) +- [Generic SSO](../connect/sso.md) or [OpenId Connect](../connect/openid.md) + +## Create user profiles + +Centreon offers to manage access permissions to the different menus, resources and possible actions on resources via +the management of [Access Control List](./access-control-lists.md). + +## Secure communications between servers + +It is strongly recommended to secure communications between the different servers of the Centreon platform if some servers +are not in a secure network. + +> The Table of network flows is available [here](../installation/architectures.md#table-of-network-flows). + +### Centreon Broker communication + +#### Centreon Broker and the firewall + +In certain cases, you may not be able to initialize the Centreon Broker data flow from the poller (or the Remote Server) +to the Central Server or the Remote Server. +[See the following configuration to invert the flow](../monitoring/monitoring-servers/advanced-configuration.md#centreon-broker-and-the-firewall). + +#### Centreon Broker flow authentication + +If you need to authenticate pollers that are sending data to the monitoring system, you can use the Centreon Broker +authentication mechanism, which is based on X.509 certificates. +[See the following configuration to authenticate the peer](../monitoring/monitoring-servers/advanced-configuration.md#centreon-broker-flow-authentication). + +#### Compress and encrypt Centreon Broker communication + +It is also possible to compress and encrypt Centreon Broker communication. +Go to the **Configuration > Pollers > Broker configuration** menu, edit your Centreon Broker configuration +and enable for **IPv4** inputs and outputs: + +- Enable TLS encryption: Auto +- Enable negotiation: Yes +- Compression (zlib): Auto + +### Centreon Gorgone communication + +By default, ZMQ communications are secured; both external communications (with the poller) and internal ones (between gorgone processes). + +However, the gorgone HTTP API is unsecured by default. Only localhost can talk with gorgone, but the communication does not take place using SSL. + +You can [configure SSL](https://github.com/centreon/centreon-collect/blob/develop/gorgone/docs/modules/core/httpserver.md) in the **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** file. + +Then you must configure gorgone using the **Administration > Parameters > Gorgone** page. + +The **/etc/centreon-gorgone/config.d/whitelist.conf.d/centreon.yaml** file (on your central server, your remote servers and your pollers) contains the whitelists for Gorgone. If you want to customize the allowed commands, do not edit this file. Create a new one in the same folder, e.g. **/etc/centreon-gorgone/config.d/whitelist.conf.d/custom.yaml**. + +## Security Information and Event Management - SIEM + +Centreon event logs are available in the following directories: + +| Logs directory | Central server | Remote Server | Poller | Centreon Map server | Centreon MBI Server | +|---------------------------|----------------|---------------|--------|---------------------|---------------------| +| /var/log/centreon | X | X | | | | +| /var/log/centreon-broker | X | X | X | | | +| /var/log/centreon-engine | X | X | X | | | +| /var/log/centreon-gorgone | X | X | X | | | +| /var/log/centreon-bi | X | X | | | | +| /var/log/centreon-map | X | X | | X | X | + +> In addition, all actions to modify the Centreon configuration carried out by users are available via the +[**Administration > Logs**](./logging-configuration-changes.md) menu. + +## Backing up the platform + +Centreon offers to save the configuration of the platform. To do this, go to the [**Administration > Parameters > Backup**](./backup.md) menu. diff --git a/versioned_docs/version-25.10/administration/sql-proxy.md b/versioned_docs/version-25.10/administration/sql-proxy.md new file mode 100644 index 000000000000..aec3df6fa8c4 --- /dev/null +++ b/versioned_docs/version-25.10/administration/sql-proxy.md @@ -0,0 +1,126 @@ +--- +id: sql-proxy +title: Optimizing database traffic +--- + +> This procedure concerns very large production environments with numerous users, that face interface response time issues. + +When the Centreon platform monitors numerous services and the web application places heavy demands on the real-time database, Broker may have difficulty recording all the metrics. This will create retention files, resulting in a delay between the receipt of new statuses and their availability in the web interface. + +The aim of this procedure is to reduce the database load by redirecting part of the requests to a second database server. + +The aim is to relieve the real-time database (**centreon_storage**) and avoid Broker retention. All read queries (SELECT) to the real-time database will be redirected to the replicated database. + +The minimal use case consists in setting up database replication. To ensure proper routing, we will install an SQLproxy server between the Centreon platform and the databases. + +![image](../assets/administration/sql_proxy.png) + +Your architecture will contain the three following elements: + +* a central server, with ProxySQL installed on it +* the main database (which will be a remote database, as this is a high-volume platform) +* a secondary database. + +> In the event of failure, ProxySQL will not be able to handle database failover automatically, and your site will no longer be functional, so it is up to you to set up a failover strategy. +> You'll need to redirect all SQL queries to your new SQL Master server as quickly as possible, while your incident is being resolved. + +> We strongly recommend using FQDNs rather than fixed IP addresses. + +## Installation + +To make it possible to distribute queries, we'll be using [ProxySQL](https://proxysql.com/). + +1. On the central server, [download and install](https://proxysql.com/documentation/installing-proxysql/) the correct version of ProxySQL for your OS. + +2. Start the service : + + ```shell + service proxysql start + ``` + +## Configuration + +### Proxy SQL + +1. On the central server, connect to ProxySQL (the default password is **admin**): + + ```shell + mysql -h127.0.0.1 -uadmin -P6032 -p + ``` + +2. In ProxySQL, define the IP addreses for the two SQL servers (Master & Slave). As a reminder, the Slave SQL server will receive all read queries (SELECT) related to real-time data. + + ```shell + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (0, ip_SQL_server_master); + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (1, ip_SQL_server_slave); + ``` + + Example : + + ```shell + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (0, "192.168.0.2"); + INSERT INTO mysql_servers (hostgroup_id, hostname) VALUES (1, "192.168.0.3"); + ``` + +3. Create the user who will connect to both servers. This user must be identical on ProxySQL and on your two databases. + + ```shell + INSERT INTO mysql_users (default_hostgroup, username, password) VALUES (0, SQL_user_login, SQL_user_password); + ``` + + Example : + + ```shell + INSERT INTO mysql_users (default_hostgroup, username, password) VALUES (0, "centreon", "centreon"); + ``` + + (The value **0** assigned to the **default_hostgroup** property corresponds to the index of the SQL Master server. This indicates the default destination server for all SQL queries.) + +4. Specify which SQL queries should be redirected to the SQL Slave server: + + ```shell + INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (1, 1, '.*? AS REALTIME.*', 1,1); + INSERT INTO mysql_query_rules (rule_id, active, match_digest, destination_hostgroup, apply) VALUES (2, 1, '^SELECT.*FOUND_ROWS\(\).*AS.*REALTIME$', 1,1); + ``` + + **Explanation**: All real-time queries that can be routed by the proxy server contain the **REALTIME** keyword. The above queries contain regexes to identify real-time requests coming from Centreon. + + (The value **1** assigned to the **destination_hostgroup** property corresponds to the index of the previously defined server (SQL Slave server). This indicates the destination server for all real-time SQL queries.) + +5. Run the following commands so that ProxySQL takes the new configuration into account. + + ```shell + LOAD MYSQL SERVERS TO RUNTIME; + LOAD MYSQL USERS TO RUNTIME; + LOAD MYSQL QUERY RULES TO RUNTIME; + ``` + +6. Save the configuration so that it is retained if the ProxySQL server is restarted. + + ```shell + SAVE MYSQL SERVERS TO DISK; + SAVE MYSQL USERS TO DISK; + SAVE MYSQL QUERY RULES TO DISK; + ``` + +### Centreon + +Once the ProxySQL server has been correctly configured, modify the Centreon configuration so that all queries go through ProxySQL. + +1. Make a backup of the **/etc/centreon/centreon.conf.php** file. + +2. Open **/etc/centreon/centreon.conf.php**, then change the IP addresses for the two databases, and the connection port. + + ```shell + $conf_centreon['hostCentreon'] = ip_serveur_proxy; + $conf_centreon['hostCentstorage'] = ip_serveur_proxy; + $conf_centreon['port'] = "6033"; + ``` + +Example : + + ```shell + $conf_centreon['hostCentreon'] = "127.0.0.1"; + $conf_centreon['hostCentstorage'] = "127.0.0.1"; + $conf_centreon['port'] = "6033"; + ``` \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/acknowledge.md b/versioned_docs/version-25.10/alerts-notifications/acknowledge.md new file mode 100644 index 000000000000..a906ad1a2af5 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/acknowledge.md @@ -0,0 +1,150 @@ +--- +id: acknowledge +title: Acknowledging an alert +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +### Principle + +When a host or a service has an incident and this incident is +confirmed, the notification process is triggered. This can generate a +notification sent to a contact. If the problem persists, and depending on +the configuration produced (resend a notification at regular time +intervals, escalation of notification, etc.), it is possible that other +notifications will be sent. + +The acknowledgment of an alert can be used to stop the notification +process (sending of notifications) until the host or the service +resumes its nominal status. + +Example of use: + +A service is in charge of checking the health of the hard disks in a +disk array. A hard disk on a disk array goes down, and a notification is +sent. The monitoring operator acknowledges the service, specifying that a +team is in the process of dealing with the problem. Notifications are no +longer sent. The service will return to its nominal state after a change +of disk. + +> The acknowledgment of an alert means that a monitoring user +> has taken the problem into account - not that the incident has been +> corrected; this can only take effect when the check returns to its +> nominal state. + +### Practice + +To acknowledge an alert, there are several solutions: + + + + +1. Go to **Monitoring > Resources Status**. +2. Use one of the following methods: + - Select the object(s) that you want to acknowledge, then click the **Acknowledge** button above the list of resources. + - Hover over the resource you want to acknowledge, then click the **Acknowledge** icon that appears on the left. + + ![image](../assets/alerts/resources-status/ack-hover.gif) + + A window appears: + + - The **Comment** field is generally used to provide the reason for the + acknowledgment. It is mandatory. + + - If the **Notify** box is checked, a notification is sent to the + contacts linked to the object to warn them that the incident on the + resource has been acknowledged (if the contact + possesses the activity acknowledgment notification filter). + + - If the **Sticky** box is checked, the acknowledgment will be + maintained in case of a change of Not-OK status (e.g.: DOWN to + UNREACHABLE or WARNING to CRITICAL). Otherwise, the acknowledgment + disappears and the notification process is reactivated. + + + + +1. Go to **Monitoring > Status Details > Hosts** (or **Services**). +2. Select the object(s) that you want to acknowledge. +3. In the **More actions** menu, click **Hosts: Acknowledge** or + **Services: Acknowledge**. + + The following window appears: + +![image](../assets/alerts/acknowledged.png) + +- If the **Sticky** box is checked, the acknowledgment will be + maintained in case of a change of Not-OK status (e.g.: DOWN to + UNREACHABLE or WARNING to CRITICAL). Otherwise, the acknowledgment + disappears and the notification process is reactivated. +- If the **Notify** box is checked, a notification is sent to the + contacts linked to the object to warn them that the incident on the + resource has been acknowledged (if the contact + possesses the activity acknowledgment notification filter). +- If the **Persistent** box is checked, the acknowledgment will be + maintained in the case of a restart of the scheduler. Otherwise, the + acknowledgment disappears and the notification process is + reactivated. +- The **Comment** field is generally used to provide the reason for the + acknowledgment. It is mandatory. +- If the **Acknowledge services attached to hosts** box is checked, + all the services linked to the host will be acknowledged (option + visible only if we acknowledge a host). +- If the **Force active checks** box is checked, a command will be + sent to the scheduler to recheck the resource as soon as possible. + + + + +From of the detail page of an object, click the icon |enabled| associated +with the **Acknowledged** field in the **Options** frame. + +The following window appears: + +![image](../assets/alerts/acknowledged.png) + +- If the **Sticky** box is checked, the acknowledgment will be + maintained in case of a change of Not-OK status (e.g.: DOWN to + UNREACHABLE or WARNING to CRITICAL). Otherwise, the acknowledgment + disappears and the notification process is reactivated. +- If the **Notify** box is checked, a notification is sent to the + contacts linked to the object to warn them that the incident on the + resource has been acknowledged (if the contact + possesses the activity acknowledgment notification filter). +- If the **Persistent** box is checked, the acknowledgment will be + maintained in the case of a restart of the scheduler. Otherwise, the + acknowledgment disappears and the notification process is + reactivated. +- The **Comment** field is generally used to provide the reason for the + acknowledgment. It is mandatory. +- If the **Acknowledge services attached to hosts** box is checked, + all the services linked to the host will be acknowledged (option + visible only if we acknowledge a host). +- If the **Force active checks** box is checked, a command will be + sent to the scheduler to recheck the resource as soon as possible. + + + + +### Disacknowledging resources + +To delete the acknowledgment of an incident on an object: + + + + +1. Go to **Monitoring > Resources Status**. +2. Select the objects you want to disacknowledge. +3. In the **More actions** menu, click **Disacknowledge**. + + + + +1. Go to **Monitoring > Status Details > Hosts** (or **Services**). +2. Select the objects you want to disacknowledge. +3. In the **More actions** menu, click **Hosts: Disacknowledge** or + **Services: Disacknowledge**. + + + diff --git a/versioned_docs/version-25.10/alerts-notifications/concepts.md b/versioned_docs/version-25.10/alerts-notifications/concepts.md new file mode 100644 index 000000000000..a505409f3e34 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/concepts.md @@ -0,0 +1,96 @@ +--- +id: concepts +title: Possible statuses of a resource +--- + +Statuses show the availability of a host, and the availability or performance of a service. Each status has a +precise meaning for the resource. + +* The statuses and states of a resource +can be seen on page [Resources Status](resources-status.md). You can filter the page according to these statuses and to certain states. +* Some statuses are determined according to user-defined thresholds. + +### Host status + +The table below summarizes all the possible statuses for a host. + +| Status | Description | +|----------------------------------------------------|-----------------------------------------------------------------------------------------------| +| UP | The host is available and reachable | +| DOWN | The host is unavailable | +| UNREACHABLE | The host is unreachable: it [depends](notif-dependencies.md) on a host whose status is **DOWN** | +| PENDING | The host has just been created and has not been checked yet by the monitoring engine | + +### Service status + +The table below summarizes all the possible statuses for a service. + +| Status | Description | +|-------------------------------------------------|---------------------------------------------------------------------------| +| OK | The service presents no problem | +| WARNING | The service has reached the warning threshold | +| CRITICAL | The service has reached the critical threshold | +| UNKNOWN | The status of the service cannot be checked (e.g.: SNMP agent down, etc.) | +| PENDING | The service has just been created and has not been checked yet by the monitoring engine | + +## States + +In addition to their status, resources can be in several states: + +- [Acknowledged](acknowledge.md): indicates that the incident on the service or on the host + has been taken into account by a user. Acknowledged resources have a yellow background. +- [In downtime](downtimes.md): indicates that notifications are temporarily stopped. Downtime can be [planned in advance](downtimes.md#recurrent-downtimes) to avoid receiving alerts during maintenance periods, or can be set following an incident. Resources in downtime have a purple background. + + +- [Flapping](notif-flapping.md): indicates that the status change + percentage of the resource is very high. This percentage is obtained + from calculations performed by the network monitoring engine. Flapping resources have the following icon in their **Details** panel: + ![image](../assets/alerts/flapping_icon.png) + + +## Status types + +The status of a resource can be one of these two types: + +- SOFT: Means that an incident has just been detected and that it + has to be confirmed. +- HARD: Means that the status of the incident is confirmed. Once + the status is confirmed, the notification process is engaged + (sending of an email, SMS, etc.). + +You can filter the view on the [Resources Status](resources-status.md) page according to the status type. + +### Explanation + +An incident (Not-OK status) is confirmed as soon as the number of +validation attempts has reached its end. The configuration of a resource +(host or service) requires a regular check interval, a number of +attempts to confirm a Not-OK status and an irregular check interval. As +soon as the first incident is detected, the state is "SOFT" until its +confirmation into "HARD", triggering the notification process. + +Example: + +A service has the following check settings: + +- Max check attempts: 3 +- Normal check interval: 5 minutes +- Retry check interval: 1 minute + +Let us imagine the following scenario: + +![image](../assets/configuration/soft_hard_states.png) + +| Time | Check attempt | Status | Status type | State change | Note | +|------|---------------|----------|-------|--------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| t+0 | 1/3 | OK | HARD | No | Initial state of the service | +| t+5 | 1/3 | CRITICAL | SOFT | Yes | First detection of a non-OK state. Event handlers execute. | +| t+6 | 2/3 | WARNING | SOFT | Yes | Service continues to be in a non-OK state. Event handlers execute. | +| t+7 | 3/3 | CRITICAL | HARD | Yes | Max check attempts has been reached, so service goes into a HARD state. Event handlers execute and a problem notification is sent out. Check # is reset to 1 immediately after this happens. | +| t+12 | 3/3 | WARNING | HARD | Yes | Service changes to a HARD WARNING state. Event handlers execute and a problem notification is sent out. | +| t+17 | 3/3 | WARNING | HARD | No | Service stabilizes in a HARD problem state. Depending on what the notification interval for the service is, another notification might be sent out. | +| t+22 | 1/3 | OK | HARD | Yes | Service experiences a HARD recovery. Event handlers execute and a recovery notification is sent out. | +| t+27 | 1/3 | OK | HARD | No | Service is still OK. | +| t+32 | 1/3 | UNKNOWN | SOFT | Yes | Service is detected as changing to a SOFT non-OK state. Event handlers execute. | +| t+33 | 2/3 | OK | SOFT | Yes | Service experiences a SOFT recovery. Event handlers are executed, but no notification is sent, as this wasn't a "real" problem. State type is set to HARD and check # is reset to 1 immediately after this happens. | +| t+34 | 1/3 | OK | HARD | No | Service stabilizes in an OK state. | \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/custom-views.md b/versioned_docs/version-25.10/alerts-notifications/custom-views.md new file mode 100644 index 000000000000..89788875b5e6 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/custom-views.md @@ -0,0 +1,114 @@ +--- +id: custom-views +title: Custom views (legacy) +--- + +Custom views are dashboards created with widgets. You can share views with other users. See also our [tutorial](../getting-started/create-custom-view.md) on custom views. + +## Creating a custom view + +1. Go to **Home > Custom Views**. + +2. Click the **Show/Hide edit mode** icon in the top right corner of the page: ![image](../assets/alerts/edit_mode.png) + + The control bar appears: + + ![image](../assets/alerts/bar.png) + +3. Click **Add view**: a pop-up window is displayed. + + ![image](../assets/alerts/view_add.png) + +4. Select **Create new view**: + - enter a name + - select the number of columns you want (i.e. the number of widgets displayed horizontally) + - Select **Public** to [share your view](#sharing-custom-views) in read-only mode with other users. + +5. Click **Submit**. The view is displayed (it is empty). + +6. Click **Add widget**: + - enter a title (it will be displayed above the widget) + - select the type of widget you want. + +7. Click **Submit**. The widget appears. Some widgets require extra configuration (e.g., selecting a poller): click the wrench icon in the top right corner of the widget to [edit](#editing-a-widget) it. + +8. Once you have created the view and added all the widgets you want, click the **Show/Hide edit mode** icon again: ![image](../assets/alerts/no_edit_mode.png) + + +## Editing a custom view + +On the control bar, click **Edit view**. ![image](../assets/alerts/view_edit.png) + +You can rename the view, change the layout of the columns, and [share the view](#sharing-a-custom-view) in read-only mode with other users. You can also edit or move widgets. + +### Editing a widget + +To edit a widget, click the wrench icon in the top right corner of the widget: ![image](../assets/alerts/widget_controls.png) + +### Rearranging widgets + +To move a widget, click the title bar of the widget and drag it to the desired location. + +## Sharing custom views + +You can share a custom view in different ways: + +- In read-only mode: + - Select **Public** when you [create the view](#creating-a-custom-view) or when you [edit](#editing-a-custom-view) it. + - Share the view with "locked users" or "locked user groups". All subsequent changes will be inherited by the shared views. + +- Make the view editable: + - Share the view with "unlocked users" or "unlocked user groups". Unlocked users will become the "owner" of their copy of the view and no + changes they make will be applied to the original view. In the same manner, no change made by the user who created the view will affect the copies. + +To share a view with "locked"/"unlocked users" : + +1. On the control bar, click **Share view**. +2. Select the options you want (see above). +3. Click **Share**. + +> Although the fields are called "locked users"/"unlocked users", strictly speaking the *view* will be locked or unlocked, not the users. + +## Displaying a custom view users have shared with you + +1. On the **Home > Custom Views** page, click the **Show/Hide edit mode** icon in the top right corner of the page: ![image](../assets/alerts/edit_mode.png#thumbnail1) + + The control bar appears: + + ![image](../assets/alerts/bar.png) + +2. Click **Add view**, then select **Load from existing view**. A dropdown list shows all the views that other users have shared with you. + +3. Select a view, then click **Submit**. The view is displayed. + +## Configuring the rotation of views + +Once you have created several custom views, you can make all views be displayed in turn. + +1. On the control bar, click **Rotation**. +2. Use the slider to define the number of seconds that each view must be displayed for, then click **Apply**. + +## Defining a default view + +You can choose which view to display when you access the **Home > Custom Views** page. + +1. Click on the view you want. +2. On the control bar, click **Set default**. + +## List of widgets + +| Widget | Description | +|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Engine status | Display the statistics for a poller. (Select a poller in the settings.) | +| Global health | Displays a pie chart showing the status of hosts. | +| Graph monitoring | Displays the RRD graph for a service. You must select a service that uses performance data. You can define the timeperiod and the refresh time for the graph in the settings. | +| Grid-map | Display services as colored squares. To configure this widget, select a hostgroup and fill in the "Name services" field, using commas between services (do not use special characters, e.g. slashes, in this widget). | +| Host monitoring | Displays the list of hosts as well as their status and related information. You can filter the list using the criteria you want. | +| Hostgroup monitoring | Displays host groups. It can show a detailed view of services. | +| HTTP loader | Displays a web page. | +| Live top 10 CPU usage | Displays the top 10 hosts by CPU usage. Check that the value of the parameter Metric Name matches the name of the metric used by the CPU service. | +| Live top 10 memory usage | Displays the top 10 hosts by memory usage. | +| Service monitoring | Displays a list of services. Lots of options are available (sort by severity, filters, columns, etc..) | +| Servicegroup monitoring | Displays a list of service groups. | +| Single metric | Displays the value of a single metric for the selected service. | +| Tactical overview | Displays the details for the hosts or services. By default hosts are displayed. | diff --git a/versioned_docs/version-25.10/alerts-notifications/dashboards.md b/versioned_docs/version-25.10/alerts-notifications/dashboards.md new file mode 100644 index 000000000000..ff0ec97cedb0 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/dashboards.md @@ -0,0 +1,196 @@ +--- +id: dashboards +title: Dashboards +--- + +Get started with creating dashboards and adding widgets specially designed to optimize your user experience. Then benefit from data visualization options to display and monitor your resources in real time. + +![image](../assets/alerts/dashboard-view.png) + +## Activating the Dashboards feature + +Access to the Dashboards feature is not managed at the user level, but through access groups or ACLs (Access Control Lists). You allow users to access the feature by granting rights to the ACL to which they belong (read more [about ACLs](../administration/access-control-lists.md)). + +### Configure the ACL + +> - You must be logged into Centreon as an administrator. +- In this example, we will create a new ACL called **Dashboards users**. This ACL will contain users belonging to the **Guests** user group. + +1. Go to **Administration > ACL > Menus Access**. +2. Click the **Add** button. This opens the **Add an ACL** form. +3. Name the **ACL Definition**. In this example: **Dashboards users**. +4. Select **Enabled** in the **Status** parameters. +5. Select the **Linked Groups** to include in this ACL. In this example: **Guests**. +6. In the **Accessible Pages** section, expand the **Home** menu, then the **Dashboards** one. This displays the list of profiles to select. + + > - **Viewer:** can only view dashboards to which they have access. + > - **Creator:** can create and edit dashboards to which they have access. + > - **Administrator:** can access and edit all dashboards. + +7. Select the profile to be set for this ACL. In this example: **Viewer**. +8. Click **Save** to confirm your changes. + +### Check the feature is activated + +> You must have a user account with ACL rights to the Dashboards feature. + +1. Log into Centreon. +2. You should see in the **Home** menu, the **Dashboards** entry. + +## Creating your first dashboard + +> You must be logged into Centreon with administrator or creator rights. + +1. In the **Dashboard library** page, click the **Create a dashboard** button. This opens the **Create dashboard** window. +2. Name the dashboard and enter a description if needed. +3. Click **Create** to confirm the creation. + +Your dashboard is now added! You can directly start adding widgets. + +### Add widgets + +> Your dashboard must be open in edition mode. + +- If this is your very first widget, click the **Add a widget** area. +- If not, click the **+ Add a widget** on the right of the interface. + +![image](../assets/alerts/widget-view.png) + +Most of the widgets usually follow these steps: + +- **Step 1:** Select the type of widget. The widget parameters then depend on the widget you select. +- **Step 2:** Select resources. +- **Step 3:** Select metrics. + + > Make sure to save your changes. If you leave without saving your dashboard, changes will be permanently lost. + +### More actions + +Click the **three vertical dots** menu at the top right of the widget to edit it or to access more actions: +- Duplicate +- Delete widget + +> In edition mode, you can easily organize your widgets by moving or resizing them. Make sure to save your changes. + +### Link to Resources Status page + +From the dashboard, you can click a screen pictogram at the top right of a widget: this button allows you to **See more on the Resources Status page**. It opens a new tab on the Resources Status page, with detailed information regarding the specific widget. + +## Managing dashboards + +> You must be in the **Dashboard library** page to get an overview of your dashboards. + +### Edit a dashboard + + +#### Update properties + +Click the **gear** button at the top left of the dashboard to update its name and description. + +#### Edit dashboard widgets + +1. Click the dashboard to open it in view mode. +2. Click **Edit dashboard** to access and manage widgets in edition mode. + +### Delete a dashboard + +Click the **trash** button at the bottom left of the dashboard to delete it. Then confirm the deletion. + +### Share a dashboard + +> You can share dashboards using the **Manage access rights** interface. + +#### About access rights + +You are using the Dashboards feature with a **viewer** or an **editor** profile: + +- **Viewers:** can only view dashboards you share with them. +- **Editors:** can view and edit dashboards you share with them. + +#### Manage access rights + +1. Click the **share** button at the bottom right of the dashboard. +2. In the **Add contact** dropdown list, select the user to add. +3. Select either **Viewer** or **Editor** profile. +4. Click the **+** button to add it. +5. Repeat the action for each user you want to add. +6. Click the **Update** button to save your changes. + +The users you have just added now have access to your dashboard sharing, according to the profile you have set for them. + +> Use the **Copy link** feature to share the dashboard URL directly with users who have access to your platform. + +## Managing playlists + +Playlists are lists of selected dashboards to be broadcast in the order of your choice. This feature is useful for instance when you want to display your dashboards on a full-screen TV in public spaces. + +> This feature requires a valid [license](../administration/licenses.md) key. To purchase one and retrieve the necessary repositories, contact [Centreon](mailto:sales@centreon.com). + +### Create a playlist + +> Before creating a playlist, make sure the dashboards you want to include have been created. + +1. Click the **Playlists** link to access the playlists interface. +2. Click the **Create a playlist** button (or the **Add** button if it is not your first playlist). +3. Fill in the properties: + - **Name** + - **Description** + - Add your dashboards from the **Select dashboards** drop-down list. + - In the **Define the order of dashboards** section, drag and drop the dashboards as you want. + - Define the rotation time in seconds. +4. Click **Save**. +Your playlist is now added to the list of playlist. + +### Display the playlist + +- From the **Playlists** interface, click the row for your playlist. +Your playlist is now displayed and a control banner appears when you hover over the bottom of the interface. + +> Get a better visualization by displaying the page in full screen mode (F). + +The control banner allows you to: +- Play/Pause the broadcast. +- Go to the previous or next dashboard. +- Go directly to a specific dashboard by clicking its name. + +### Share the playlist with users of your platform + +You can share your playlist with contacts who have access to your Centreon platform and are authorized Dashboards viewers. + +- Click the **Share with contacts** button from the line of your playlist. +The **Playlist access rights** window is displayed. +- In the **Share with** section, add contacts or contact groups and define their rights as viewer or editor. +- Use the **trash** button in the **User rights** section to remove a contact or contact group. +- Then **Save** your changes. + +### Share the playlist with a public link + +You can send a public link to non-Centreon users, giving them access to a full-screen view of their IT infrastructure. + +> - The link you share will display the playlist content based on the access rights of the user activating the link. Anyone with this link can view the playlist. Be cautious when you share it. +> - The language used is the one set by the current browser, even if the initial language of the playlist is different. + +- In the **Playlist access rights** window, click the **Activated** button in the **Public link** section. +- You can now copy the URL link to the playlist. +- You can also resize and copy the embedded code of the playlist view. + +### Edit/Delete a playlist + +The three dots action menu at the end of a playlist row allows you to edit properties or delete the playlist. + +## List of widgets + +| Widget | Description | +|--------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| Business Activity Diagram | Displays graphically a business activity hierarchy of KPIs and lets you navigate through it. | +| Clock/Timer | Displays the time according to the selected time zone, or a timer. | +| Generic text | Allows you to add free text to your dashboards (section titles, information, etc.). | +| Group monitoring | Displays the distribution of current statuses on selected groups of resources, as a table. | +| MAP - Display a view | Allows you to select and visualize a map created from the MAP module. | +| Metrics graph | Displays metrics for a given time period. | +| Resource table | Displays data on resource status and events, centralized in a table. Also displays [resources linked to a ticket](../alerts-notifications/ticketing.md#widget-configuration) or not. +| Single metric | Displays the value of a single metric as a text, a gauge or a bar chart. | +| Status chart | Displays the distribution of current statuses on selected resources, as a chart. | +| Status grid | Displays the current status of selected resources, as a grid. | +| Top/bottom | Displays the top or bottom x hosts, for a selected metric. | +| Web page | Displays a web page. | diff --git a/versioned_docs/version-25.10/alerts-notifications/downtimes.md b/versioned_docs/version-25.10/alerts-notifications/downtimes.md new file mode 100644 index 000000000000..6a64b67feb90 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/downtimes.md @@ -0,0 +1,211 @@ +--- +id: downtimes +title: Planning downtime +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Adding downtime + +### Principle + +Downtime is a period during which the notifications for a +resource are disabled. Downtimes are used during a programmed +maintenance operation. They save us from receiving false positive alerts. + +> It is important to select all the resources necessary to prevent +> false positives and false negatives. In addition, the time spent in +> this state is taken into account during the generation of the +> availability data. + +There are two types of downtime: + +- **Fixed** downtime: starts and stops at the planned time. +- **Flexible** downtime: starts during the planned time window + as soon as an incident is detected and finishes when the planned time in + seconds expires. + +### Practice + +There are several ways to define downtime: + +- From the **Resources Status** page +- From the detail sheets of a host or of the service +- From the real-time monitoring interface +- From the **Downtime** menu + + + + +1. Go to **Monitoring > Resources Status**. +2. Use one of the following methods: + - Select the object(s) that you want to define downtime on, and then click the **Set Downtime** button above the list of resources. + - Hover over the resource you want to define downtime on, and then click the **Set Downtime** icon that appears on the left. + + ![image](../assets/alerts/resources-status/dt-hover.gif) + + The following window appears: + + ![image](../assets/alerts/resources-status/dt-popup.png) + + - The **From** and **To** fields define the beginning and + end date of the downtime. Downtime cannot start or end after December 31, 2099, 11:59 pm. + + - If the **Fixed** box is checked, the downtime is fixed. Otherwise, it + is flexible. + + - If the downtime is flexible, the **Duration** field defines the + length of the downtime. + + - The **Comments** field can be used to indicate why the downtime is + defined. + + + + +1. Access the detail page of an object +2. In the category: **Commands**, click **Schedule downtime for this + host/service** + + The following window appears: + + ![image](../assets/alerts/downtime.png) + +- The **Host Name** field defines the host concerned by the downtime +- The **Service** field defines the service concerned by the downtime +- If the **Fixed** box is checked, the downtime is fixed. Otherwise, it + is flexible +- If the downtime is flexible, the **Duration** field defines the + length of the downtime +- The **Start Time** and **End Time** fields define the beginning and + end date of the downtime. Downtime cannot start or end after December 31, 2099, 11:59 pm. +- The **Comments** field can be used to indicate why the downtime is + defined + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the(s) object(s) on which you want to program the downtime + period +3. In the **More actions…** menu, click **Hosts: Set Downtime** or + **Services: Set Downtime** + + The following window appears: + + ![image](../assets/alerts/downtime.png) + + - The **Host Name** field defines the host concerned by the downtime + - The **Service** field defines the service concerned by the downtime + - If the **Fixed** box is checked, the downtime is fixed. Otherwise, it + is flexible + - If the downtime is flexible, the **Duration** field defines the + length of the downtime + - The **Start Time** and **End Time** fields define the beginning and + end date of the downtime. Downtime cannot start or end after December 31, 2099, 11:59 pm. + - The **Comments** field can be used to indicate why the downtime is + defined + + + + +1. Go into the **Monitoring > Downtimes > Downtimes** menu +2. Click **Add a service downtime** or **Add a host downtime** + + The following window appears: + + ![image](../assets/alerts/downtime.png) + + - The **Host Name** field defines the host concerned by the downtime + - The **Service** field defines the service concerned by the downtime + - If the **Fixed** box is checked, the downtime is fixed. Otherwise, it + is flexible + - If the downtime is flexible, the **Duration** field defines the + length of the downtime + - The **Start Time** and **End Time** fields define the beginning and + end date of the downtime. Downtime cannot start or end after December 31, 2099, 11:59 pm. + - The **Comments** field can be used to indicate why the downtime is + defined + + + + +## Recurrent downtimes + +### Principle + +Downtime is a period during which the notifications to a +host or a service are disabled. Downtime periods are convenient during +maintenance operations on a host or a service: they allow us to avoid +receiving false positives. + +Recurrent downtime periods are downtime periods that recur +repetitively. + +Example: A back-up of the virtual machines is performed every day from +8 PM to midnight. This type of back-up has a tendency to saturate the +CPU use of all the virtual machines. It is necessary to program +recurrent downtime periods on the services concerned to avoid receiving +notifications from 8 PM to midnight. + +> Downtime periods are taken into account in the calculation of the +> availability ratio of the resource in the +> **[Dashboard](../reporting/introduction.md#simple-reporting)**. + +### Practice + +There are two types of downtime: + +- The **fixed** downtime period: This means that the downtime period + takes place during exactly the time period defined. +- The **flexible** downtime period: This means that if, during the time + period defined, the service or the host returns a Not-OK status, the + downtime period lasts a certain number of seconds (to be defined in + the form) from the moment when the host or the status returns a + Not-OK status. + +To add a recurrent downtime period, go into the +**Monitoring > Downtimes > Recurrent Downtimes** menu and click +**Add**. + +![image](../assets/alerts/05recurrentdowntimes.png) + +#### Configuration of Downtime periods + +- The **Name** and **Description** fields are used to give a name and + describe the recurrent downtime period. +- The **Enable** field is used to enable or disable the downtime + period. +- The **Periods** field is used to define one or more periods of + recurrent downtime periods. To add a period, click the symbol + ![image](../assets/common/navigate_plus.png). + +It is possible to choose three types of period: + +- Weekly: to choose the days of the week +- Monthly: to choose the days of the month +- Specific date: to choose specific dates + +- The **Days** field defines the day(s) concerned. +- The **Time period** field contains the time period concerned + (expressed in HH:MM - HH:MM). +- The **Downtime type** field defines the type of downtime period + desired. + +> It is possible to combine several types of period within the same +> downtime. + +#### Relations + +- The **Linked with Hosts** list can be used to choose the host(s) + concerned by the recurrent downtime period. +- If **Linked with Host Groups** is chosen with the list Linked with + the host group, all the hosts belonging to this group are concerned + by the recurrent downtime period. +- The **Linked with Services** list can be used to choose the + service(s) concerned by the recurrent downtime period. +- If a service group is chosen with the list **Linked with Service + Groups**, all the services belonging to this group are concerned by + the recurrent downtime period. diff --git a/versioned_docs/version-25.10/alerts-notifications/event-console.md b/versioned_docs/version-25.10/alerts-notifications/event-console.md new file mode 100644 index 000000000000..133db00053ba --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/event-console.md @@ -0,0 +1,391 @@ +--- +id: event-console +title: Event consoles +--- + +> Some of these interfaces are **deprecated** and replaced by the +> [Resources Status](resources-status.md) page. +> This new page aims to regroup all the experiences you can find in these +> interfaces. +> +> Deprecated pages will be removed in the next major version of Centreon. +> +> For new installations, deprecated pages are automatically hidden. It is +> possible to display them by selecting the option **Use deprecated pages** +> in the preferences specific to each user from the menu +> **Administration > Parameters > My Account**. +> +> All links in Centreon will point to these pages: deprecated pages will become your main tool to view +> the state of hosts and services. However, if you enable this option, you will not benefit from +> the new features offered by the **Resources Status** page, such as a more powerful search feature, +> the ability to customize and share views or to save filters, and any other future enhancements. + +This chapter presents the different interfaces used to view the +status of resources. + +### Generic actions + +By default, during viewing of statuses of hosts or services, the monitoring data +is refreshed automatically (15 seconds by default). Nevertheless, several icons +can be used to check the refreshing of the data. The table below summarizes the +functions of these icons: + +| Icon | Description | +|----------------------------------------|----------------------------------------------------------| +| ![image](../assets/alerts/refresh.png) | Used to refresh the results manually. | +| ![image](../assets/alerts/pause.png) | Pauses automatic data refreshing. | +| ![image](../assets/alerts/resume.png) | Restarts automatic data refreshing. | + +## Hosts (deprecated) + +> This interface is **deprecated** and replaced by the `Resources Status` page +> and the [events list](resources-status.md#events-list). + +To view the status of hosts, go into the **Monitoring > Status Details > Hosts** +menu + +![image](../assets/alerts/04unhandledproblems.png) + +### Columns description + +- **S**: Displays the severity level of the host +- **Hosts**: Displays the name of the host + - The following icon indicates that the notifications for this + host are disabled: ![image](../assets/alerts/nonotifications.png) + - The following icon can be used to view all the performance + graphs for this host: ![image](../assets/alerts/graphperformances.png) + - The following icon allows access to a predefined URL + configured: ![image](../assets/alerts/url_link.png) +- **Status**: Used to view the status of the host +- **IP Address**: Indicates the IP address of the host +- **Last Check**: Displays the date and the time of the last check +- **Duration**: Displays the time that the host a has kept its current + status +- **Hard State Duration**: Displays the time that the host a has kept + its current hard state (does not appear when viewing all the + hosts) +- **Tries**: Displays the number of tries before confirming the state +- **Status information**: Displays the message explaining the status + of the host + +> The severity column and the associated filter appear if at least one object +> displayed has a severity level. + +### Available filters + +You can filter the result presented via the following filters: + +- **Host Status**: + - To view the hosts with a problem but not acknowledged or not in + downtime, choose **Unhandled Problems**. + - To view all the hosts with a problem, choose **Host Problems**. + - To view all the hosts, choose **All**. +- **Host**: Can be used to filter by name of host via an SQL LIKE type + search. +- **Status**: Can be used to filter by the status of hosts. +- **Severity**: Can be used to filter by severity. +- **Poller**: Can be used to filter the hosts by poller. Only the + hosts of the selected poller will be displayed. +- **Hostgroup**: Can be used to filter by host group. Only the hosts + of the selected host group will be displayed. + +> The search on text fields only starts after entry of at least 3 characters. + +## Host groups + +To view the status of host groups, go into the `Monitoring > Status Details > +Hostgroups Summary` menu + +![image](../assets/alerts/04hostgroup.png) + +### Columns description + +- **Host Group**: List of available groups of hosts +- **Hosts Status**: Displays the number of hosts in UP, DOWN, + UNREACHABLE or in PENDING status +- **Services Status**: Used to display the number of services in OK, + WARNING, CRITICAL or PENDING status + +### Available filters + +- **Hostgroup**: Can be used to filter by name of group of hosts via + an SQL LIKE type search. +- **Poller**: Can be used to filter the hosts by poller. Only the + hosts of the selected poller will be displayed. + +## Host details (deprecated) + +> This interface is **deprecated** and replaced by the `Resources Status` page +> and the [host panel](resources-status.md#host-panel). + +When you click the name of a host, you access the details page of +the resource. + +4 tabs are available: + +- **Service Status**: List of host services and their associated + status +- **Performances**: List of performance graphs for each service +- **Host Information**: Host details +- **Comments**: Host comments available + +![image](../assets/alerts/04hostdetail.png) + +### Status details + +Description of attributes available for host details: + +- **Host Status**: Displays the status of the host. +- **Status information**: Displays information on the status of + the host. +- **Performance Data**: Displays performance data associated with the + check. +- **Poller Name**: Name of the server polling the host. +- **Current Attempt**: Displays the number of attempts before status + validation. +- **State Type**: Displays the type of state (‘SOFT' or ‘HARD'). +- **Last Check**: Displays the last check of the host. +- **Next Check**: Displays the next scheduled check of the host. +- **Last State Change**: Displays when the status of the host changed. +- **Current State Duration**: Displays the date and time from which + the host has been in the present state. +- **Last Notification**: Displays the sent date and time of the last + notification. +- **Next Notification**: Displays the sent date and time of the next + notification. +- **Current Notification Number**: Displays the number of sent + notifications. +- **Is This Host Flapping?**: Indicates if the host is in flapping + state. +- **In Scheduled Downtime?**: Indicates if the host is in scheduled + downtime. +- **Timezone**: The timezone of the host. + +### Options + +Options to enable / disable properties of the host: + +- **Active Checks**: The active check method of the host. +- **Passive Checks**: The passive check method of the host. +- **Notifications**: The notification process of the host. +- **Obsess Over Host**: The execution of the ‘obsess over host’ command for the + host. +- **Event Handler**: The automated reactions process of the host. +- **Flap Detection**: The flapping detection process of the host. + +### Links + +The **Links** container displays the host's membership of host groups and +categories. + +### Notifications + +The **Notifications** container lets you display the contacts and contact groups +linked to the host that will receive notifications. + +## Services (deprecated) + +> This interface is **deprecated** and replaced by the `Resources Status` page +> and the [events list](resources-status.md#events-list). + +To view the service status, go into the `Monitoring > Status Details > +Services` menu. + +![image](../assets/alerts/04servicelist.png) + +### Columns description + +- **S**: Displays the severity level of the service. +- **Host**: Displays the name of the host. +- **Services**: Displays the name of the service. + - The following icon indicates that the notifications for this + service are disabled: ![image](../assets/alerts/nonotifications.png) + - The following icon can be used to view the performance graph for + this service: ![image](../assets/alerts/graphperformances.png) + - The following icon allows access to a configured predefined URL: + ![image](../assets/alerts/url_link.png) +- **Duration**: Displays the duration of the current status. +- **Hard State Duration**: Displays the duration of the validated + non-ok status. +- **Last Check**: Displays the date and time of the last check. +- **Tries**: Displays the number of attempts before status validation. +- **Status information**: Displays the message explaining the status + of the service. + +> The severity column and the associated filter appear if at least one object +> displayed has a severity level. + +> The **Hard State Duration** does not appear if you select the value **All** for the +> **Service Status** filter. + +### Available filters + +- **Service Status**: + - To view the services with a problem that is not acknowledged or not + in downtime, choose **Unhandled Problems**. + - To view all the services with a problem, choose **Host + Problems**. + - To view all the services, choose **All**. +- **Status**: Can be used to filter by the status of services. +- **Severity**: Can be used to filter by severity. +- **Poller**: Can be used to filter the services by poller. Only the + services of the selected poller will be displayed. +- **Host**: Can be used to filter by name of host via an SQL LIKE type + search. +- **Service**: Can be used to filter by name of service via an SQL + LIKE type search. +- **Hostgroup**: Can be used to filter by host group. Only the hosts + of the selected host group will be displayed. +- **Servicegroup**: Can be used to filter by service group. Only the + services of the service group selected will be displayed. +- **Output**: Can be used to filter by the result of the check. + +## Services Grid + +To view all services (short by host) in any status, go into the `Monitoring > +Status Details > Services Grid` menu and choose **Details** for **Display** +filter: + +![image](../assets/alerts/04servicelistbyhostdetail.png) + +To view the number of services (short by host and by status), choose **Summary** + **Display** filter: + +![image](../assets/alerts/04servicelistbyhost.png) + +## Services by Hostgroup + +To view the all services (short by host's groups) in any status, go into the +`Monitoring > Status Details > Services by Hostgroup` menu and choose +**Details** for the **Display** filter: + +![image](../assets/alerts/04servicelistbyhostgroupdetail.png) + +To view the number of services (short by host's groups), choose **Summary** for the +**Display** filter: + +![image](../assets/alerts/04servicelistbyhostgroup.png) + +## Services by Servicegroup + +To view all services (sorted by service groups), go into the **Monitoring > +Status Details > Services by Servicegroup** menu and choose **Details** for the +**Display** filter: + +![image](../assets/alerts/04servicelistbyservicegroupdetail.png) + +To view the number of services (short by services groups), choose **Summary** +for the **Display** filter: + +![image](../assets/alerts/04servicelistbyservicegroup.png) + +## Service Details (deprecated) + +> This interface is **deprecated** and replaced by the `Resources Status` page +> and the [service panel](resources-status.md#service-panel). + +When you click on a service, the following screen appears: + +![image](../assets/alerts/04servicedetail.png) + +### Status details + +Description of attributes available for service details: + +- **Service Status**: Displays the status of the service. +- **Status information**: Displays information on the status of + the service. +- **Extended status information**: Displays long output of the + service. +- **Performance Data**: Displays performance data associated with the + check. +- **Current Attempt**: Displays the number of attempts before status + validation. +- **State Type**: Displays the type of state (‘SOFT' or ‘HARD'). +- **Last Check Type**: Indicates if the last type of check is ‘active' + or ‘passive'. +- **Last Check**: Displays the last check of the service. +- **Next Scheduled Active Check**: Displays the next scheduled check + of the service. +- **Latency**: Displays the latency in seconds between the scheduled + check and the real check execution. +- **Check Duration**: Displays the execution time of the check. +- **Last State Change**: Displays when the status of the service + changed. +- **Current State Duration**: Displays the date and time from which + the host has been in the present state. +- **Last Service Notification**: Displays the sent date and time of + the last notification. +- **Current Notification Number**: Displays the number of sent + notifications. +- **Is This Service Flapping?**: Indicates if the service is in + flapping state. +- **Percent State Change**: Displays the percentage change of state. +- **In Scheduled Downtime?**: Indicates if the host is in scheduled + downtime. +- **Last Update**: Displays the date and time of the last information + update. +- **Executed Check Command Line**: Regarding your ACL rights, you may + have access to the executed command line. The password will be replaced + by **\*** + +### Detailed graph and status graph + +The **Detailed Graph** and **Status Graph** are used to display performance graphs +and the status history chart for this service. + +### Host and Service Shortcuts + +- **View host status page**: Provides access to the host details + page. +- **Configure host**: Provides access to the configuration + page of the host. +- **View logs for host**: Provides access to the event logs + of the host. +- **View report for host**: Provides access to the + host availability rate report. +- **View graphs for host**: Provides access to all + performance graphs of host services. +- **Configure service**: Provides access to the configuration page of + the service. +- **View logs for service**: Provides access to the event + logs of the service. +- **View report for service**: Provides access to the + service availability rate report. + +### Service commands + +- **Re-schedule the next check for this service**: Used to + re-schedule the next check for the service. +- **Re-schedule the next check for this service (forced)**: Used to + re-schedule the next check for the service, even if the check + period is invalid. +- **Schedule downtime for this service**: Used to schedule downtime + for the service. +- **Add a comment for this service**: Used to add a comment for the + service. + +### Options + +Options to enable / disable properties of the service: + +- **Active Checks**: The active check method of the service. +- **Passive Checks**: The passive check method of the service. +- **Notifications**: The notification process of the service. +- **Event Handler**: The automated reactions process of the service. +- **Flap Detection**: The flapping detection process of the service. +- **Obsess Over Service**: Execution of the ‘obsess over service’ command + for the service. + +### Links + +The **Links** container is used to display: + +- The groups of hosts to which this service is linked. +- The groups of services to which this service is linked. +- The categories of services to which this service is linked. + +### Notifications + +The **Notifications** container lets you display the contacts and contact groups +linked to the host that will receive notifications. diff --git a/versioned_docs/version-25.10/alerts-notifications/event-log.md b/versioned_docs/version-25.10/alerts-notifications/event-log.md new file mode 100644 index 000000000000..369cd05b7f83 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/event-log.md @@ -0,0 +1,27 @@ +--- +id: event-log +title: Event Logs +--- + +Use event logs to: + +* View the changes of status and state of the monitored objects +* See the notifications sent and their recipients. + +To view the event logs, go to **Monitoring > Event logs**. + +![image](../assets/alerts/event_logs.png) + +- In the upper menu, select the hosts and/or the services you want to +view logs for. You can also filter by servicegroup or hostgroup. + +- Select the options you want in the **Message Type** and **Status** sections to display the corresponding events. + +- Use the following fields to define the time period for which you want to display events: + - **Log Period**: select predefined time periods + - **From**/**To**: enter specific dates. + +- You can export the result in CSV or XML format using the export +buttons above the list, to the right: + +![image](../assets/alerts/event_logs_export.png) \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/manage-alerts.md b/versioned_docs/version-25.10/alerts-notifications/manage-alerts.md new file mode 100644 index 000000000000..fd94b49b87e0 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/manage-alerts.md @@ -0,0 +1,436 @@ +--- +id: manage-alerts +title: Manage alerts +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +This chapter presents the different methods to manage alerts. + +## Acknowledging a problem + +### Principle + +When a host or a service has an incident and this incident is +confirmed, the notification process is triggered. This can generate a +notification sent to a contact. If the problem persists, and depending on +the configuration produced (resend a notification at regular time +intervals, escalation of notification, etc.), it is possible that other +notifications will be sent. + +The acknowledgment of an alert can be used to stop the notification +process (sending of notifications) until the host or the service +resumes its nominal status. + +Example of use: + +A service is in charge of checking the health of the hard disks in a +disk array. A hard disk on a disk array goes down, and a notification is +sent. The monitoring operator acknowledges the service, specifying that a +team is in the process of dealing with the problem. Notifications are no +longer sent. The service will return to its nominal state after a change +of disk. + +> The acknowledgment of an alert means that a monitoring user +> has taken the problem into account - not that the incident has been +> corrected; this can only take effect when the check returns to its +> nominal state. + +### Practice + +To acknowledge an incident, there are two solutions: + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the object(s) that you want acknowledge +3. In the menu: **More actions** click **Hosts: Acknowledge** or + **Services: Acknowledge** + + + + +From of the detail page of an object, click the icon |enabled| associated +with the **Acknowledged** field in the **Options** frame + + + + +The following window appears: + +![image](../assets/alerts/acknowledged.png) + +- If the **Sticky** box is checked, the acknowledgment will be + maintained in case of a change of Not-OK status (e.g.: DOWN to + UNREACHABLE or WARNING to CRITICAL). Otherwise, the acknowledgment + disappears and the notification process is reactivated. +- If the **Notify** box is checked, a notification is sent to the + contacts linked to the object to warn them that the incident on the + resource has been acknowledged (if the contact + possesses the activity acknowledgment notification filter). +- If the **Persistent** box is checked, the acknowledgment will be + maintained in the case of a restart of the scheduler. Otherwise, the + acknowledgment disappears and the notification process is + reactivated. +- The **Comment** field is generally used to provide the reason for the + acknowledgment. It is mandatory +- If the **Acknowledge services attached to hosts** box is checked, + all the services linked to the host will be acknowledged (option + visible only if we acknowledge a host). +- If the **Force active checks** box is checked, a command will be + sent to the scheduler to recheck the resource as soon as possible. + +To delete the acknowledgment of an incident on an object: + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the objects whose acknowledgment you want to delete. +3. In the **More actions** menu, click **Hosts: Disacknowledge** or + **Services: Disacknowledge** + +## Add downtime + +### Principle + +Downtime is a period during which the notifications to a +resource are disabled. Downtimes are used during a programmed +maintenance operation. They save us from receiving false positive alerts. + +> It is important to select all the resources necessary to prevent +> false positives and false negatives. In addition, the time spent in +> this state is taken into account during the generation of the +> availability data. + +There are two types of downtime: + +- **Fixed** downtime: starts and stops at the planned time. +- **Flexible** downtime: starts during the planned time window + as soon as an incident is detected and finishes when the planned time in + seconds expires. + +### Practice + +There are three different possibilities to define downtime: + +- From the detail sheets of a host or of the service +- From the real-time monitoring interface +- From the **Downtime** menu + + + + +1. Access the detail page of an object +2. In the category: **Commands**, click **Schedule downtime for this + host/service** + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the(s) object(s) on which you want to program downtime + period +3. In the **More actions…** menu, click **Hosts: Set Downtime** or + **Services: Set Downtime** + + + + +1. Go into the **Monitoring > Downtimes > Downtimes** menu +2. Click **Add a service downtime** or **Add a host downtime** + + + + +The following window appears: + +![image](../assets/alerts/downtime.png) + +- The **Host Name** field defines the host concerned by downtime +- The **Service** field defines the service concerned by downtime +- If the **Fixed** box is checked, the downtime period is fixed. Otherwise, it + is flexible +- If the downtime period is flexible, the **Duration** field defines the + length of the downtime +- The **Start Time** and **End Time** fields define the beginning and + end date of the downtime period. Downtime cannot start or end after December 31, 2099, 11:59 pm. +- The **Comments** field can be used to indicate why downtime is + defined. + +## Recurrent downtimes + +### Principle + +Downtime is a period during which the notifications to a +host or a service are disabled. Downtime periods are convenient during +maintenance operations on a host or a service: they allow us to avoid +receiving false positives. + +Recurrent downtime periods are downtime periods that recur +repetitively. + +Example.: A backup of the virtual machines is performed every day from +8 PM to midnight. This type of backup has a tendency to saturate the +CPU use of all the virtual machines. It is necessary to program +recurrent downtime periods on the services concerned to avoid receiving +notifications from 8 PM to midnight. + +> Downtime periods are taken into account in the calculation of the +> availability ratio of the resource in the +> **[Dashboard](../reporting/introduction.md#simple-reporting)**. + +### Practice + +There are two types of downtime: + +- The **fixed** downtime period: This means that the downtime period + takes place during exactly the time period defined. +- The **flexible** downtime period: This means that if, during the time + period defined, the service or the host returns a Not-OK status, the + downtime period lasts a certain number of seconds (to be defined in + the form) from the moment when the host or the status returns a + Not-OK status. + +To add a recurrent downtime period, go into the +`Monitoring > Downtimes > Recurrent Downtimes` menu and click +**Add**. + +![image](../assets/alerts/05recurrentdowntimes.png) + +#### Configuration of Downtime periods + +- The **Name** and **Description** fields are used to give a name and + describe the recurrent downtime period. +- The **Enable** field is used to enable or disable the downtime + period. +- The **Periods** field is used to define one or more periods of + recurrent downtime periods. To add a period, click the symbol + ![image](../assets/common/navigate_plus.png). + +It is possible to choose three types of period: + +- Weekly: to choose the days of the week +- Monthly: to choose the days of the month +- Specific date: to choose specific dates + +- The **Days** field defines the day(s) concerned. +- The **Time period** field contains the time period concerned + (expressed in HH:MM - HH:MM). +- The **Downtime type** field defines the type of downtime period + desired. + +> It is possible to combine several types of period within the same +> downtime. + +#### Relations + +- The **Linked with Hosts** list can be used to choose the host(s) + concerned by the recurrent downtime period. +- If **Linked with Host Groups** is chosen with the list Linked with + the host group, all the hosts belonging to this group are concerned + by the recurrent downtime period. +- The **Linked with Services** list can be used to choose the + service(s) concerned by the recurrent downtime period. +- If a service group is chosen with the list **Linked with Service + Groups**, all the services belonging to this group are concerned by + the recurrent downtime period. + +## Add comment + +### Principle + +Centreon allows us to add comments on an object. This Comment is visible by +anyone having access to the resource (host or service). A comment has the +following properties: + +- Hostname +- Servicename if the comment is associated with a service +- Date of entry of the comment +- Author of the comment +- The contents of the comment +- The validity of the comment against a restart of the scheduler + +### Practice + +There are two solutions to add a comment: + + + + +1. Access to the details page of the object +2. In the category **Host/Service Commands**, click **Add a comment + for this host/this service** + + + + +1. Go into the **Monitoring > Downtimes > Comments** menu +2. Click **Add a Service Comment** or **Add a Host Comment** + + + + +The following window appears: + +![image](../assets/alerts/comment.png) + +- The **Host Name** field defines the host concerned by the comment. +- If you have chosen to add a comment to a service, the **Service** + field can be used to select the service concerned by the comment. +- If the **Persistent** box is checked, the comment will be maintained + in the event of a restart of the scheduler. +- The **Comments** field contains the comment itself. + +## Management of checks + +### Principle + +It is possible to temporarily enable or disable a check on a host or a service. + +> Changes to settings checks do not affect the configuration of the +> object in the database. These changes are made on the monitoring in +> real time, and they are canceled if the scheduler is restarted. + +### Practice + + + + +1. Access the details page of the object +2. In the category: **Options** go to the line: **Active checks** to + check the state of the checks. + +To: + +- Enable the check, click ![image](../assets/configuration/common/enabled.png) +- Disable the check, click ![image](../assets/configuration/common/disabled.png) + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the object(s) on which you want to enable or disable the + check. +3. In the **More actions** menu, click: + +- **Hosts : Disable Check** or **Services: Disable Check** to stop the + checks on a host or a service +- **Hosts: Enable Check** or **Services: Enable Check** to enable the + check of a host or of a service + + + + +## Submitting a result + +### Principle + +For passively checked services, it is possible send a result manually to the +scheduler so that it is taken into account. + +### Practice + +To submit a result, access the details page of the object. In the category +**Service Commands**, click **Submit result for this service** + +The following window appears: + +![image](../assets/alerts/submitresult.png) + +- The **Host Name** and **Service** fields define the host and the + service for which the result will be submitted +- The **Check result** field defines the status of the service +- The **Check output** field defines the message to be displayed for + the service +- The **Performance data** field can be used to define performance + data to generate graphs. + +## Management of notifications + +### Principle + +It is possible to temporarily enable or disable the notification of a +host or a service. + +> Changes to the notification settings do not affect the configuration of +> the object in the database. These changes are made on the real time +> monitoring, and they are canceled if the scheduler is restarted. + +### Practice + +There are two ways of managing notifications: + + + + +1. Access the details page of the object +2. In the category: **Options** go to the line: **Service + Notifications** + +To: + +- Enable the notification, click ![image](../assets/configuration/common/enabled.png) +- Disable the notification, click ![image](../assets/configuration/common/disabled.png) + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu. +2. Select the host(s) / service(s) whose notification you want + to enable or disable. +3. In the **More actions** menu, click: + +- **Hosts: Disable Notification** or **Services: Disable + Notification** to stop notifications for a host or a service +- **Hosts: Enable Notification** or **Services: Enable Notification** + to enable the notification of a host or a service + + + + +## Reprogramming checks + +### Principle + +By default, the checks (checks on a service) are executed at regular +intervals following the configuration defined by the user. It is +possible to act on the check scheduling pile to change the +programming of the checks. + +There are two types of programming: + +- Normal programming: the service check is given priority in the + scheduler queue (asap). +- Forced programming: the service check is given priority in the + scheduler queue (asap) even if the time of the execution request is + outside the check period or if the service is not of the active + type. + +### Practice + +There are two ways of forcing the check of a service: + + + + +1. Access the detail page of the object +2. In the category **Host Commands** (or **Service Commands**), click + **Re-schedule the next check for this host / service** or + **Re-schedule the next check for this host / service (forced)** + + + + +1. Go into the following menu: **Monitoring > Status Details > Hosts** (or + **Services**) +2. Select the objects for which you want to force the check +3. In the **More actions** menu, click **Schedule immediate check** + or **Schedule immediate check (Forced)**. + + + \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-advanced.md b/versioned_docs/version-25.10/alerts-notifications/notif-advanced.md new file mode 100644 index 000000000000..c72afd72003f --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-advanced.md @@ -0,0 +1,30 @@ +--- +id: notif-advanced +title: To go further +--- + +## Commands + +The notification is based on a command that will be executed by the scheduler +when the notification is issued. This command is attached to each contact to be +notified. Centreon has default commands that you can modify. + +Go to the [configuration commands +chapter](../monitoring/basic-objects/commands.md#definition) to edit / add new notification +commands. + +> Some plugins [available here](https://github.com/centreon/centreon-plugins/tree/master/src/notification) allow you to send preformated HTML or emails. +> You have to install the plugin on your pollers, create a new notification command based on this plugin and bind this command to the contacts you want to be notified by this plugin. + +## Chatops + +A [Centreon-Chatops](https://github.com/centreon/centreon-chatops) community +project has been developed to allow communication in a team chat like +Mattermost or Slack and Centreon through slash commands. + +## Stream connector + +You can also forward events to a third-party application using the **Centreon +Stream Connector** feature. + +See the **Integration / Stream-Connectors** chapter. diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-concept.md b/versioned_docs/version-25.10/alerts-notifications/notif-concept.md new file mode 100644 index 000000000000..5e3bbe3ab9b5 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-concept.md @@ -0,0 +1,49 @@ +--- +id: notif-concept +title: How notifications work +--- + +Before a contact can be notified in Centreon, it is necessary to go +through several steps. If no notification escalation is defined, the +notification management process is standard. It is described below: + +1. A service (or a host) is checked at regular intervals according to + the check period defined for it (In the case of a passive service, + we wait for the status of the service to change) +2. If an anomaly occurs (Not-OK status), the service (or the host) goes + into the SOFT state +3. After the Max Check Attempts have taken place and if the service (or + the host) persists in retaining its Not-OK status, its state changes + from SOFT to HARD. The monitoring engine caches the notification + number to the service (or the host): i.e. 0. + +At each notification interval of the service (or the host) and until the +end of the Not-OK status, the monitoring engine performs the following +operations: + +4. The monitoring engine checks that the notification period defined + for the service (or the host) allows the notification for the + service (or the host) when it is switched into the HARD state. If the + answer is yes, we go to the next step; otherwise, we wait for the period + defined for the service (or the host) to allow the notification. +5. The monitoring engine checks that the notification is enabled to the + current status of the service (or of the host) + +For every contact associated with the service (or the host): + +6. The monitoring engine checks several settings: + + - Is notification to this contact enabled? + - Does the notification period defined for the contact allow + notification? + - Is the contact configured to be notified of the current status of + the service (or the host)? + +7. If these three conditions are confirmed, the monitoring engine + alerts the contact using the notifications script defined for the + service or the host. +8. The monitoring engine increments the notification number by 1 + +The diagram below summarizes the notification management procedure in Centreon: + +![image](../assets/alerts/hnotifications_schema.png) diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-config-for-teams.md b/versioned_docs/version-25.10/alerts-notifications/notif-config-for-teams.md new file mode 100644 index 000000000000..59233be7bf79 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-config-for-teams.md @@ -0,0 +1,116 @@ +--- +id: notif-config-for-teams +title: Integrating Microsoft Teams notifications +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This page explains how to integrate and configure notifications from Centreon to Microsoft Teams channels. + +## Prerequisites + +- To use the Teams notification plugin, you need to set up a Teams workflow using the Workflows app in Microsoft Teams. +Go to this page to see how to [migrate your connectors to Workflows](https://devblogs.microsoft.com/microsoft365dev/retirement-of-office-365-connectors-within-microsoft-teams/). + +- You need to configure your workflow with **MS Power Automate**. + + > To ensure an optimal integration, Microsoft recommends to use *Power Automate workflows as the solution to relay information into and out of Teams in a scalable, flexible, and secure way*. + +## Configuring Microsoft Teams + +Follow this Microsoft procedure that explains how to [Post a workflow when a webhook request is received in Microsoft Teams](https://support.microsoft.com/en-us/office/post-a-workflow-when-a-webhook-request-is-received-in-microsoft-teams-8ae491c7-0394-4861-ba59-055e33f75498#:~:text=You%20can%20post%20to%20a,a%20webhook%20request%20is%20received.&text=next%20to%20the%20channel%20or,that%20best%20suits%20your%20needs). It will allow Centreon to send an alert in a Teams channel. + +> You will obtain a URL that you can easily copy/paste. Store the URL carefully. You will need it when you go to the service that you want to send data to your group. + +You should receive a Teams notification confirming the configuration of the connector. + +## Configuring Centreon + +### Install the Microsoft Teams notification plugin + +You need to Install the Teams notification plugin with the package manager on each poller expected to send notifications to a Teams channel. + +- Enter the following command: + + + + + ``` shell + dnf install centreon-plugin-Notification-Teams + ``` + + + + + ``` shell + dnf install centreon-plugin-Notification-Teams + ``` + + + + + ``` shell + apt install centreon-plugin-notification-teams + ``` + + + + +### Set up your configuration objects using CLAPI + +To benefit from the plugin's capabilities, you need to create the following Centreon objects: +- A **Notification Command** corresponding to all types of resources (Hosts, Services, Business Activities). +- A **Centreon Contact**, corresponding to a channel within Teams. It means that you'll need several Contacts if you need to notify several channels. + +1. To facilitate the creation of these objects, you can copy the following content from a CLAPI file, and paste it into a file on your Central server’s /tmp directory (for instance /tmp/clapi-teams.import). + + > Before loading the file, replace these values with yours: + - **** with the URL you use to access Centreon web UI. + - **** with the Teams workflow URL obtained previously. + - **** with the password you want for the new contact. + + ``` shell + CMD;ADD;bam-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --bam --service-description='$SERVICEDISPLAYNAME$' --service-state='$SERVICESTATE$' --service-output='$SERVICEOUTPUT$' --date='$DATE$ $TIME$' --centreonurl='$CONTACTADDRESS1$' +CMD;setparam;bam-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;bam-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;bam-notify-by-microsoft-teams;command_locked;0 +CMD;ADD;host-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --notification-type='$NOTIFICATIONTYPE$' --host-name='$HOSTNAME$' --host-state='$HOSTSTATE$' --host-output='$HOSTOUTPUT$' --date='$DATE$ $TIME$' --action-links --centreon-url='$CONTACTADDRESS1$' --extra-info='$NOTIFICATIONAUTHOR$//$NOTIFICATIONCOMMENT$' +CMD;setparam;host-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;host-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;host-notify-by-microsoft-teams;command_locked;0 +CMD;ADD;host-notify-by-microsoft-teams;1; +CMD;ADD;service-notify-by-microsoft-teams;1;$CENTREONPLUGINS$/centreon_notification_teams.pl --plugin=notification::microsoft::office365::teams::plugin --mode=alert --custommode=workflowapi --teams-workflow='$CONTACTPAGER$' --notification-type='$NOTIFICATIONTYPE$' --host-name='$HOSTNAME$' --service-description='$SERVICEDESC$' --service-state='$SERVICESTATE$' --service-output='$SERVICEOUTPUT$' --date='$DATE$ $TIME$' --action-links --centreon-url='$CONTACTADDRESS1$' --extra-info='$NOTIFICATIONAUTHOR$//$NOTIFICATIONCOMMENT$' +CMD;setparam;service-notify-by-microsoft-teams;enable_shell;0 +CMD;setparam;service-notify-by-microsoft-teams;command_activate;1 +CMD;setparam;service-notify-by-microsoft-teams;command_locked;0 +CONTACT;ADD;Microsoft-Teams-Consulting-Channel;notify_teams_consulting_channel;node@deadend;;0;0;browser;local +CONTACT;setparam;notify_teams_consulting_channel;hostnotifperiod;24x7 +CONTACT;setparam;notify_teams_consulting_channel;svcnotifperiod;24x7 +CONTACT;setparam;notify_teams_consulting_channel;hostnotifopt;d,u +CONTACT;setparam;notify_teams_consulting_channel;servicenotifopt;w,u,c +CONTACT;setparam;notify_teams_consulting_channel;contact_pager; +CONTACT;setparam;notify_teams_consulting_channel;contact_address1; +CONTACT;setparam;notify_teams_consulting_channel;contact_js_effects;0 +CONTACT;setparam;notify_teams_consulting_channel;reach_api;0 +CONTACT;setparam;notify_teams_consulting_channel;reach_api_rt;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_enable_notifications;1 +CONTACT;setparam;notify_teams_consulting_channel;contact_activate;1 +CONTACT;setparam;notify_teams_consulting_channel;show_deprecated_pages;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_ldap_last_sync;0 +CONTACT;setparam;notify_teams_consulting_channel;contact_ldap_required_sync;0 +CONTACT;setparam;notify_teams_consulting_channel;hostnotifcmd;host-notify-by-microsoft-teams +CONTACT;setparam;notify_teams_consulting_channel;svcnotifcmd;service-notify-by-microsoft-teams + ``` + +2. If your Teams workflow URL is longer than 200 characters, extend the size of the **contact_pager** row in the Centreon configuration database, using the following query: + ``` shell + ALTER TABLE centreon.contact MODIFY contact_pager VARCHAR(255); + ``` + +3. Use your Centreon credentials and CLAPI to load the file: + ``` shell + centreon -u ‘’ -p ‘’ -i /tmp/clapi-teams.import + ``` + +4. The file will create the **Microsoft-Teams-Consulting-Channel** contact. Use this contact at the [Configuring notifications](../alerts-notifications/notif-configuration.md) step so that you can receive notifications in your Teams channel. diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-configuration.md b/versioned_docs/version-25.10/alerts-notifications/notif-configuration.md new file mode 100644 index 000000000000..9e006294c1fc --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-configuration.md @@ -0,0 +1,187 @@ +--- +id: notif-configuration +title: Configuring notifications +--- + +## Prerequisites + +**Step 1**: Check that the monitoring engine is programmed to send notifications. + +1. Go to **Configuration > Pollers > Engine configuration**. + +2. Click the poller you want. + +3. On the **Check Options** tab, in the **Misc options** section, select **Yes** for the **Notification Option** +option. + +4. Click **Save**. + +**Step 2**: Check that your Centreon can send notifications, [e.g. emails](../administration/postfix.md). + +> Notification commands are executed by the poller that monitors the resource. You will need to configure the ability to send notifications on all pollers. + +## Configuring notifications + +### Step 1: Defining when checks must be made + +1. Go to **Configuration > Hosts > Hosts** or **Configuration > Services > Services by host** and select a host or service. + +2. On the **General Information** tab, fill in section **Host/Service Scheduling Options**. If no values are defined on the host or service, the host or service will inherit the values from its parent template (see [Template inheritance rules](#template-inheritance-rules)). + + +| Action | Option to fill in | +|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|--------------------------------------------------| +| Enable active checks. | Set **Active checks enabled** to **Yes** | +| Define during which [time period](../monitoring/basic-objects/timeperiods.md) active checks should be made. Outside this time period, no checks will be made, which means that no notifications will be sent. | **Check Period** | +| Define how often active checks should be made when the host is in an **OK** state. | **Normal Check Interval** | +| Define what happens when the host or service enters a non-UP or non-OK (SOFT) state:
  • how many times the host should be checked before it enters a HARD state (i.e. when notifications start being sent)
  • at what time interval these soft state checks must be made
|
  • **Max Checks Attempts**
  • **Retry Check Interval**
| +| When the host or service enters a HARD state, notifications start being sent. | The host is checked at the **Normal check interval**, and a notification can only be sent when a check has been made | + +### Step 2: Configuring the notifications on the host or service + +> To make the configuration of notifications faster, you can define +> the parameters on a host/service template. All hosts or services that inherit this +> template will also inherit these settings. See [Template inheritance rules](#template-inheritance-rules). + +1. Go to **Configuration > Hosts > Hosts** or **Configuration > Hosts > Services** and select a host or service. + +2. On the **Notifications** tab: + - Make sure **Notifications Enabled** is set to **Yes**. + + If it is set to **Default**, the value applied will be that defined on the host or service template (see [Template Inheritance Rules](#template-inheritance-rules)). If no value is defined on any parent template, the default value is **No**. + + - In **Linked Contacts/Linked Contact Groups**, define which contacts will receive notifications. Notifications must be enabled for these contacts (see [Step 3](#step-3:enabling-notifications-for-the-contacts-you-have-defined)). + + > If notifications are enabled for a host and a contact is defined, notifications will also be enabled for the host's services (unless their **notification Enabled** option is set to **No**). + + - **Notification options**: Define for which statuses notifications must be sent. If no value is defined here, the value will be inherited from a parent template (see [Template inheritance rules](#template-inheritance-rules)). If no value is defined on any parent template, notifications will be sent for all statuses except for **None**. + + - **Notification Interval**: Define the number of “time units” to wait before re-notifying a contact that this host is still not up/that this service is still in a not-OK condition. + - With the default time unit of 60s, this number will mean multiples of 1 minute. + - Enter 0 to send just 1 notification. + - Be aware that a notification can only be sent if a check has occurred. In order to get the expected results, the value defined in this field must be a multiple of the **Normal Check Interval** option defined on the **General Information** tab. + - If no value is defined here, the value will be inherited from a parent template (see [Template inheritance rules](#template-inheritance-rules)). + - If nothing is defined on the host/service or on any of its parent templates, the default value is 30 minutes. + + - **Notification period**: Specify the [time period](../monitoring/basic-objects/timeperiods.md) during which notifications of events for this host or service can be sent out to contacts. + - If a state change occurs during a time that is not covered by the time period, no notifications will be sent out. + - If no value is defined on the host/service or any of its parent templates, the default value is 24x7. + + - **First notification delay**: Define the number of “time units” to wait before sending out the first problem notification when the host enters a HARD non-UP state/when the service enters a HARD non-OK state. The host or service enters a HARD state after the **Max check attempts** has been reached (defined on the **General Information** tab) + - With the default time unit of 60s, this number will mean multiples of 1 minute. + - If you set this value to 0, the monitoring engine will start sending out notifications immediately. + - If nothing is defined on the host/service or on any of its parent templates, the default value is 0. + + - **Recovery notification delay**: Define the number of “time units” to wait before sending out the recovery notification when this host enters an UP state/when this service enters an OK state. + - With the default time unit of 60s, this number will mean multiples of 1 minute. + - If you set this value to 0, the monitoring engine will start sending out notifications immediately. + - If nothing is defined on the host/service or on any of its parent templates, the default value is 0. + +4. [Deploy](../monitoring/monitoring-servers/deploying-a-configuration.md) the configuration. + + +### Step 3: Enabling notifications for the contacts you have defined + +> To make the configuration of notifications faster, you can define +> the parameters on a contact template. All contacts that inherit this +> template will also inherit these settings. See [Template inheritance rules](#template-inheritance-rules). + +1. Go to **Configuration > Users > Contacts/Users** and then click on the contact you want to be notified. + +2. On the **General Information** tab, in the **Notification** section, check that **Enable notifications** is set to **Yes**. + + If the option is set to **Default**, Centreon will use the value defined on the closest parent template. If no value is defined on any parent template, **Default** means **No** unless the contact has been configured to be notified on a host. + +3. In the **Host** and **Service** sections, check that the [options](#reference) are consistent with what you have defined at host/service level: + - For instance, if you have set the **Host Notification Options** to **None** on the contact, the contact will receive no notifications for the host, even if you have enabled all types of notification for the host. If you have enabled all types of notification on the contact but only **Critical** notifications on a service, the contact will only receive **Critical** notifications for this service. + - If you have defined no rule on the contact, the rules defined in the closest contact template are applied. + - If you have defined rules on the contact, these will take precedence over rules defined on the contact template. + +6. Click **Save**. + +7. [Deploy](../monitoring/monitoring-servers/deploying-a-configuration.md) the configuration. + +#### Reference + +![image](../assets/alerts/notif_contact_config.png) + +- **Host/Service Notification Options**: define in which cases the contact should receive a notification. If you select **None**, the contact will receive no notifications of any kind for hosts or services. + +- **Host/Service notification Period**: define during which [time period](../monitoring/basic-objects/timeperiods.md) the contact will receive notifications. If a state change occurs during a time which is not covered by the time period, no notifications will be sent out (even if the time period matches that defined for the host or service). Bear in mind that this time period will match the timezone defined in the user's profile (i.e. if the time period is 9 to 5 pm, the user will receive notifications between 9 and 5 pm in his timezone, which is not necessarily the same as yours). + +- **Host/Service notification Commands**: define how the contact should be notified (email, pager, jabber). + +### Checking the configuration of notifications +You can quickly check whether the configuration is well applied in the [Resources Status](../alerts-notifications/resources-status.md) page. +1. Go to **Monitoring > Resources Status**. + +2. Click the resource that you have configured notifications for. +A detail panel opens on the right side. + +3. Click the **Notification** tab. + +This tab shows whether notifications are enabled for this resource, and lists the contacts and contact groups that will be notified. + +## Template inheritance rules + +For hosts and services, the **Scheduling Options/Service Scheduling Options** section of the **General information** tab and the **Notification Options** section of the **Notifications** tab work in the same way. + +- If you fill in the options on the host or service, the values will override any value set in the templates for the host or service. +- If no values are defined here, what will be applied are the values defined in the host's or service's template, or in their parent template, or in the parent of the parent template, etc. What takes precedence is always what is defined on the object itself or closest to it. + +Example: + +A service called **Memory** has the following parent templates: Memory < OS-Linux-Memory-SNMP-custom < OS-Linux-Memory-SNMP < generic-active-service-custom < generic-active-service. + +- **Memory** has nothing defined in **Service Scheduling Options**. +- Its grandparent template, **OS-Linux-Memory-SNMP**, has values defined for **Max check attempts**, **Normal Check Interval** and **Retry Check Interval**: these will be applied to **Memory**. +- However, **OS-Linux-Memory-SNMP** has no values defined for **Check period**, **Active Checks Enabled**, **Passive Checks Enabled** and **Is volatile**. So we need to go up two levels: these values are defined on the template called **generic-active-service**. + +![image](../assets/alerts/template_inheritance.png) + +## Contacts & Contact groups method calculation + +Since Centreon version 19.10, 3 methods for determining the contacts +and groups of contacts that will be notified are available. These are defined on page +**Administration > Parameters > Centreon UI**: + +- **Vertical Inheritance Only**: get contacts and contactgroups of + resources and linked templates using the additive inheritance enabled + option (Legacy method, keep for upgrade) +- **Closest Value**: get the closest contacts and contactgroups of + resources including templates +- **Cumulative inheritance**: Cumulate all contacts and contactgroups + of resources and linked templates (method used for new installation) + +> The **Cumulative inheritance** option is the easiest to program. + +## Troubleshooting + +### Contacts are not receiving notification emails +Check the following points: +- Is the postfix service running? Use the following command: + ``` + systemctl status postfix + ``` + +- Is the following file configured correctly? + + ``` + /etc/postfix/main.cf + ``` + +- Are notifications enabled for the contact? Are notifications configured correctly on the contact? + +- Are notifications configured correctly on the host or service? + +### Notifications are not sent in the specified interval + +Check that the value you have defined in **Notification Interval** (on the 2nd tab) is a multiple of the value defined in **Normal Check Interval** (on the 1st tab). + +This is because a notification can only be sent if a check has occurred. If you decide that checks happen every hour but notifications are to be sent out every 10 minutes, the notifications will actually be sent every hour because checks only happen every hour and not every 10 minutes. + +### Notifications have been sent outside the user's time period + +Check the user's timezone: +1. Go to **Configuration > Users > Contacts/Users** and then click the contact you want to be notified. +2. Check the **Timezone/Location** field. The time period during which notifications will be sent to a user is the time period in his timezone. \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-dependencies.md b/versioned_docs/version-25.10/alerts-notifications/notif-dependencies.md new file mode 100644 index 000000000000..befb93a2e879 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-dependencies.md @@ -0,0 +1,302 @@ +--- +id: notif-dependencies +title: Dependencies +--- + +## Principle + +Dependencies are used to satisfy two main requirements: + +- Reduce alert fatigue +- Target the alerts + +There are two types of object dependency: + +- **Physical** dependencies between objects: a load balancing switch + is situated upstream of a set of servers and downstream of a router +- **Logical** dependencies between objects: the access to a website + with LDAP authentication depends on the status of the LDAP directory + itself + +## Physical dependencies + +Physical dependencies consist of taking into account physical links +between devices. This link can only be defined for **Host**. + +The configuration of a physical dependency takes place in the +**Relations** tab of a configuration sheet of a host through the +`Configuration > Hosts > Hosts` menu. + +![image](../assets/alerts/dep_host_config.png) + +It is possible to define two settings: + +- **Parent Hosts**: signifies that the hosts selected are parents of + this host (situated upstream). If all the parent hosts selected + become unavailable or impossible to reach, the host itself will be + considered by the scheduler as impossible to reach. +- **Child Hosts**: signifies that the host becomes the parent of all + the child hosts selected. + +> It is not possible to have dependencies between hosts from different +> pollers. + +> All the parents of a host must be in a Not-OK status for the host +> itself to be considered impossible to reach. If only one access path +> is down (physical dependencies link), the scheduler will continue to +> monitor this host. + +## Logical dependencies + +Logical dependencies consist of installing logical links between +multiple objects that may or not be of different types. Example: a service +is in charge of monitoring the access to a web page requiring an +authentication based on LDAP. It is logical that if the LDAP server is +down, the access to the web page will be difficult or even impossible. +In this situation, the only notification issued should concern +the LDAP directory, and not the website. + +### Hosts + +To configure a logical dependency, go into the +`Configuration > Notifications > Dependencies > Hosts` menu and click +**Add**. + +![image](../assets/alerts/03hostdependance.png) + +In this case, we have two types of host that come into play: one or more +hosts (called master hosts) of which the status controls the execution +and notification of other hosts (called dependent hosts). If you use the +Centreon Broker, it is also possible to control the execution and +notification of services (called dependent services) from master hosts. + +- The **Name** and **Description** fields indicate the name and the + description of the dependencies +- The **Parent relationship** field should be ignored if you use the + Centreon Engine. If it is enabled, and if the dependency links of + the master host become unavailable, the dependencies in the process + of creation are not taken into account. +- The **Execution Failure Criteria** field indicates the statuses of + the master host(s) preventing the check of the hosts or the + dependent services +- The **Notification Failure Criteria** field indicates the statuses + of the master host(s) preventing the sending of notifications to the + hosts or the dependent services +- The **Hostnames** list defines the master host(s) +- The **Dependent Host Names** list defines the dependent hosts +- The **Dependent Services** list defines the dependent services +- The **Comments** field can be used to comment on the dependencies + +### Services + +To configure a logical dependency, go into the +`Configuration> Notifications > Dependencies > Services` menu and click +**Add**. + +![image](../assets/alerts/03servicedependance.png) + +In this case, we have two entities that come into play: the (“master”) +services, which control the execution, and the notification of other +(“dependent”) services. If you use Centreon Broker, it is also possible +to control the execution and the notification of other hosts. + +- The **Name** and **Description** fields indicate the name and + description of the dependencies +- The **Parent relationship** field should be ignored if you use the + Centreon Engine. If it is enabled, and if the links of dependencies + of the master service become unavailable, the dependencies in the + process of creation are no longer taken into account. +- The **Execution Failure Criteria** field indicates the statuses of + the master service(s) preventing the check of the hosts or the + dependent services +- The **Notification Failure Criteria** field indicates the statuses + of the master service(s) preventing the sending of notifications to + the hosts or the dependent services +- The **Services** list defines the master service(s) +- The **Dependent services** list defines the dependent services +- The **Dependent hosts** list defines the dependent hosts +- The **Comments** field can be used to comment on the dependencies + +### Host groups + +To configure a logical dependency, go into the +`Configuration> Notifications > Dependencies > Host Groups` menu and +click **Add**. + +![image](../assets/alerts/03hostgroupdependance.png) + +Two types of host group: a host group is called a master if it controls +the execution and the notification of other (“dependent”) host groups. + +- The **Name** and **Description** fields indicate the name and the + description of the dependencies +- The **Parent relationship** field should be ignored if you use the + Centreon Engine. If it is enabled, and if the links of dependencies + of the master host group become unavailable, the dependencies in the + process of creation are no longer taken into account. +- The **Execution Failure Criteria** field indicates the statuses of + the master host group(s) preventing the check of the dependent host + groups +- The **Notification Failure Criteria** field indicates the statuses + of the master host(s) preventing the sending of notifications to the + dependent host groups +- The **Host groups name** list defines the master host group(s) +- The **Dependent host group name** list defines the dependent host + group(s) +- The **Comments** field can be used to comment on the dependencies + +### Service groups + +To configure a logical dependency, go into the +`Configuration> Notifications > Dependencies > Service Groups` menu and +click **Add**. + +![image](../assets/alerts/03servicegroupdependance.png) + +Two types of service group: a service group is called a “master” if it +controls the execution and the notification of other (“dependent”) +service groups. + +- The **Name** and **Description** fields indicate the name and the + description of the dependencies +- The **Parent relationship** field should be ignored if you use the + Centreon Engine. If it is enabled, and if the links of dependencies + of the master service group become unavailable, the dependencies in + the creation process are no longer taken into account. +- The **Execution Failure Criteria** field indicates the statuses of + the master service group(s) preventing the check of the dependent + service groups +- The **Notification Failure Criteria** field indicates the statuses + of the master host(s) preventing the sending of notifications to the + dependent service groups +- The **Service group names** list defines the group(s) of master + services +- The **Dependent service group names** list defines the group(s) of + dependent services +- The **Comments** field can be used to comment on the dependencies + +### Meta-services + +To configure a logical dependency, go into the +`Configuration> Notifications > Dependencies > Meta Services` menu and +click **Add**. + +![image](../assets/alerts/03metaservicedependance.png) + +Two types of meta-service: a meta-service is called a “master” if it +controls the execution and the notification of other (“dependent”) +meta-services. + +- The **Name** and **Description** fields indicate the name and + description of the dependencies +- The **Parent relationship** field should be ignored if you use the + Centreon Engine. If it is enabled, and if the links of dependencies + of the master meta-service become unavailable, the dependencies in + the creation process are no longer taken into account. +- The **Execution Failure Criteria** field Indicates the + statuses of the meta-master service(s) that will prevent the check + of the meta-dependent services +- The **Notification Failure Criteria** field indicates the statuses + of the meta-service(s) preventing the sending of notifications to + meta-dependent services +- The **Meta-service name** list defines the master meta-service(s) +- The **Dependent meta-service** names list defines the dependent + meta-service(s) +- The **Comments** field can be used to comment on the dependencies + +## Examples + +This sub-chapter illustrates the use of these dependencies via a few +actual cases. + +> The dependencies are based on failure criteria in the form of “do not do if”. +> Do not notify if the service is in a Critical state. Do not perform +> the check if the service is in a Critical, Alert, Unknown, … state. + +### Services dependencies + +A service is checked using a Selenium scenario. This scenario connects +to a web interface with an identifier and a password. This connection +information is stored in a MariaDB database. + +Consequently, if the database server does not reply, the Selenium +scenario cannot be completed. It seems obvious that it is necessary to +create a logical dependency link between the service that uses the +Selenium scenario and the service that is responsible for checking the +status of the MariaDB server. + +Moreover, considering that the Selenium scenario cannot perform +properly, no performance data can be stored in the database. So, it is +necessary not only to stop the notification for the service using the +Selenium scenario, but also the check. + +To create this dependency, go into the +`Configuration> Notifications > Dependencies > Services` menu and click +**Add**. + +1. Enter the name and the description of the dependency +2. For the **Execution Failure Criteria** and **Notification Failure + Criteria** fields, check Warning, Critical, Unknown and Pending +3. In the **Services** list, select the service that is responsible for + checking the status of the MariaDB server +4. In the **Dependent Services** list, select the service that uses the + Selenium scenario +5. Save + +From now on, if the service responsible for checking the status of the +MariaDB server has “Warning”, “Critical”, “Unknown” or “Pending” status, +the service responsible for executing the Selenium scenario will not be +executed until the master recovers its OK status. + +### Hosts dependencies + +Let us take the case of two hosts that operate as a cluster. Three +hosts are created to be able to monitor this cluster: a host A, a host B +(both members of the cluster) and a host C (which centralizes the +information from the cluster). + +If host A or host B has a Not-OK status, the services of host C will +automatically be considered to be Not-OK. So, it is necessary to add a +dependency that prevents the sending of notifications if host A or host +B becomes faulty. However, performance data feedback must always be +operational; this is why it is necessary to continue the monitoring of +host C. + +To create this dependency, go into the +`Configuration> Notifications > Dependencies > Hosts` menu and click +**Add**. + +1. Enter the name and the description of the dependency +2. For the **Notification Failure Criteria** field, check Warning, + Critical, Unknown and Pending +3. In the **Host Names** list, select host A +4. In the **Dependent Host Names** list, select host C +5. Save. + +Repeat this operation for host B. + +### Service Groups dependencies + +Let us take the example of a set of Oracle services on which the ERP +application bases itself. Two service groups are needed: + +- The Oracle Application group +- The ERP Application group + +If the Oracle services become critical, the services of the ERP +application are automatically critical. It is necessary to create a +dependency link to prevent the check and notification of the services of +the application ERP if the Oracle application is Not-OK. + +To create this dependency, go into the +`Configuration> Notifications > Dependencies > Service Groups` menu and +click **Add**. + +1. Enter the name and the description of the dependency +2. For the **Execution Failure Criteria** and **Notification Failure + Criteria** fields, check Critical and Pending +3. In the **Service Group Names** list, select the service group Oracle + Application +4. In the **Dependent Service Group Names** list, select the service + group ERP Application +5. Save diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-escalation.md b/versioned_docs/version-25.10/alerts-notifications/notif-escalation.md new file mode 100644 index 000000000000..b76134a33cf8 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-escalation.md @@ -0,0 +1,99 @@ +--- +id: notif-escalation +title: Escalation +--- + +## Definition + +Generally, if an alert is triggered, a notification serves to contact +one or more contacts (or groups of contacts). In the same way, it is +possible to send multiple notifications at regular time intervals. + +An escalation of notifications is used to contact various groups of +contacts during the notifications process or to change the means of +notification (replace mails by an SMS). The definition of a notification +escalation to a host, a host group, a service, a service group or a +meta-service overwrites the normal configuration of notifications for +this object. + +Example: a service A is set to send notifications to a group of contacts +“A” in case of Not-OK status. These notifications are sent every 5 +minutes. If, after a certain number of notifications is sent, the status of +the service is still Not-OK, it is possible to contact the individuals +of the group of contacts “B” etc… + +Escalations of notification are convenient in the situation where level +1, level 2, level 3, etc., support level teams exist within a company. +When a problem appears, the level 1 support team is contacted. If, after a +certain time,the level 1 team has not succeeded in solving the problem, +the level 2 team is alerted, etc. + +## Principle + +Notification escalations allow two things: + +- Notifying various contacts according to the number of notifications + sent +- Changing the command of notification over time + +When notification escalations are used, the retrieval of the +list of contacts is a little different: + +1. A service (or a host) is checked at regular intervals according to + the check period defined for it +2. If an anomaly occurs (Not-OK status), the service (or the host) goes + into the SOFT state +3. After the Max Check Attempts is exceeded and if the service (or the + host) persists in its Not-OK status, its state changes from SOFT to + HARD. The monitoring engine caches the notification number for the + service (or the host): i.e. 0. + +At each interval or sending of notification to the service (or the host) +and until the end of the Not-OK status, the monitoring engine performs +the following operations: + +1. If no notification escalation is defined for the service (or the + host) and the current notification number, the notification is + processed in the same way as for a normal notification: the + monitoring engine uses the notification configuration defined for + the service (or the host). +2. If a notification escalation is defined for the service (or the + host) and the current notification number, the monitoring engine + bases itself on the configuration of the escalation to select the + contacts to be notified and the mechanism to be used. +3. The processing mechanism for a notification is the same as the + sending of a normal notification + +## Configuration + +To add a notification escalation, go into the menu: +`Configuration > Notifications > Escalations` and click **Add** + +![image](../assets/alerts/04notificationsescalation.png) + +- The **Escalation Name** and **Alias** fields are used to define a name + and an alias for the notification escalation. +- The **First Notification** field allows us to choose the + notification number as of which the group of contacts is alerted. +- The **Last Notification** allows us to choose the last notification + number at which the group of contacts is alerted. If the group of + contacts is the last level of the escalation, the value of this field + is 0. +- The **Notification Interval** field defines the notification + interval between alerts. +- The **Escalation Period** field defines the notification time + period. +- The **Hosts Escalation Options** and **Services Escalation Options** + service escalation fields define the statuses of hosts and of + services for which the escalation is used. +- **Linked Contact Groups** defines the group of contacts to be + contacted on triggering the escalation. +- The **Comments** field can be used to comment on the escalation. + +### Application of the escalation + +To select the various objects that will be concerned by this escalation, +the **Hosts Escalation**, **Services Escalation**, **Hostgroups +Escalation**, **Meta Service Escalation** and **Servicegroups +Escalation** tabs are used to choose the objects to which the escalations +are applied. diff --git a/versioned_docs/version-25.10/alerts-notifications/notif-flapping.md b/versioned_docs/version-25.10/alerts-notifications/notif-flapping.md new file mode 100644 index 000000000000..5d76c4b7d3c3 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/notif-flapping.md @@ -0,0 +1,141 @@ +--- +id: notif-flapping +title: Flapping +--- + +## Introduction + +Centreon Engine supports optional detection of hosts and services that +are “flapping”. Flapping occurs when a service or host changes state too +frequently, resulting in a storm of problem and recovery notifications. +Flapping can be indicative of configuration problems (i.e. thresholds +set too low), troublesome services, or real network problems. + +## How Flap Detection Works + +Whenever Centreon Engine checks the status of a host or service, it will +check to see if it has started or stopped flapping. It does this by: + +- Storing the results of the last 21 checks of the host or service +- Analyzing the historical check results to determine where state + changes/transitions occur +- Using the state transitions to determine a percent state change + value (a measure of change) for the host or service +- Comparing the percent state change value against low and high + flapping thresholds + +A host or service is determined to have started flapping when its +percent state change first exceeds a high flapping threshold. + +A host or service is determined to have stopped flapping when its +percent state goes below a low flapping threshold (assuming that it was +previously flapping). + +## Example + +Let’s describe in more detail how flap detection works with services… + +The image below shows a chronological history of service states from the +most recent 21 service checks. OK states are shown in green, WARNING +states in yellow, CRITICAL states in red, and UNKNOWN states in orange. + +![image](../assets/alerts/statetransitions.png) + +The historical service check results are examined to determine where +state changes/transitions occur. State changes occur when an archived +state is different from the archived state that immediately precedes it +chronologically. Since we keep the results of the last 21 service checks +in the array, there is a possibility of having at most 20 state changes. +In this example there are 7 state changes, indicated by blue arrows in +the image above. + +The flap detection logic uses the state changes to determine an overall +percent state change for the service. This is a measure of +volatility/change for the service. Services that never change state will +have a 0% state change value, while services that change state each time +they’re checked will have 100% state change. Most services will have a +percent state change somewhere in between. + +When calculating the percent state change for the service, the flap +detection algorithm will give more weight to new state changes compared +to older ones. Specifically, the flap detection routines are currently +designed to make the newest possible state change carry 50% more weight +than the oldest possible state change. The image below shows how recent +state changes are given more weight than older state changes when +calculating the overall or total percent state change for a particular +service. + +![image](../assets/alerts/statetransitions2.png) + +Using the images above, let’s do a calculation of percent state change +for the service. You will notice that there is a total of 7 state +changes (at t\_3, t\_4, t\_5, t\_9, t\_12, t\_16 and t\_19). Without any +weighting of the state changes over time, this would give us a total +state change of 35%: + +(7 observed state changes / possible 20 state changes) \* 100 = 35% + +Since the flap detection logic will give newer state changes a higher +rate than older state changes, the actual calculated percent state +change will be slightly less than 35% in this example. Let’s say that +the weighted percent of state change turned out to be 31%… + +The calculated percent state change for the service (31%) will then be +compared against flapping thresholds to see what should happen: + +- If the service was not previously flapping and 31% is equal to or + greater than the high flap threshold, Centreon Engine considers the + service to have just started flapping. +- If the service was previously flapping and 31% is less than the low + flap threshold, Centreon Engine considers the service to have just + stopped flapping. + +If neither of those two conditions are met, the flap detection logic +won’t do anything else with the service, since it is either not +currently flapping or it is still flapping. + +## Configuration + +### Enabling Flap Detection + +Go to the **Configuration > Pollers > Engine configuration** menu and +select a scheduler (Centreon Engine). In the **Check Options** tab, you +can enable the detection of flapping: + +![image](../assets/alerts/flap_engine_conf.png) + +You can modify the thresholds or keep the preconfigured ones. + +### Flap Detection for hosts + +If you enable the flapping detection for a scheduler (Centreon Engine), +the process will be applied for all resources monitored by it. + +You can disable / enable flapping detection for a host through +the configuration menu. + +Go to the **Configuration > Hosts > Hosts** menu, select your host, and go +on the **Data Processing** tab: + +![image](../assets/alerts/flap_host_conf.png) + +You can also adapt flapping thresholds for this resource. + +> Use templates to facilitate configuration + +### Flap Detection for services + +If you enable the flapping detection for a scheduler (Centreon Engine), +the process will be applied for all resources monitored by it. + +You can disable / enable flapping detection for a service through +the configuration menu. + +Go to the **Configuration > Services > Services by host** menu, select +your service and go on the **Data Processing** tab: + +![image](../assets/alerts/flap_host_conf.png) + +You can also adapt flapping thresholds for this resource. + +> Use templates to facilitate configuration diff --git a/versioned_docs/version-25.10/alerts-notifications/other.md b/versioned_docs/version-25.10/alerts-notifications/other.md new file mode 100644 index 000000000000..843ac7209e3d --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/other.md @@ -0,0 +1,181 @@ +--- +id: other +title: Other actions +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Adding a comment + +### Principle + +Centreon allows us to add comments on an object. This comment is visible by +anyone having access to the resource (host or service). A comment has the +following properties: + +- Hostname +- Servicename if the comment is associated with a service +- Date of entry of the comment +- Author of the comment +- The contents of the comment +- The validity of the comment against a restart of the scheduler + +### Practice + +There are two solutions to add a comment: + + + + +1. Access to the details page of the object +2. In the category **Host/Service Commands**, click **Add a comment + for this host/this service** + + + + +1. Go into the **Monitoring > Downtimes > Comments** menu +2. Click **Add a Service Comment** or **Add a Host Comment** + + + + +The following window appears: + +![image](../assets/alerts/comment.png) + +- The **Host Name** field defines the host concerned by the comment. +- If you have chosen to add a comment to a service, the **Service** + field can be used to select the service concerned by the comment. +- If the **Persistent** box is checked, the comment will be maintained + in the event of a restart of the scheduler. +- The **Comments** field contains the comment itself. + +## Management of checks + +### Principle + +It is possible to temporarily enable or disable a check on a host or a service. + +> Changes to settings checks do not affect the configuration of the +> object in the database. These changes are made on the monitoring in +> real time, and they are canceled if the scheduler is restarted. + +### Practice + + + + +1. Access the details page of the object +2. In the category: **Options** go to the line: **Active checks** to + check the state of the checks. + +To: + +- Enable the check, click ![image](../assets/configuration/common/enabled.png) +- Disable the check, click ![image](../assets/configuration/common/disabled.png) + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the object(s) on which you want to enable or disable the + check. +3. In the **More actions** menu, click: + +- **Hosts: Disable Check** or **Services: Disable Check** to stop the + checks for a host or a service +- **Hosts: Enable Check** or **Services: Enable Check** to enable the + check of a host or of a service + + + + + +## Management of notifications + +### Principle + +It is possible to temporarily enable or disable the notification of a +host or a service. + +> Changes to the notification settings do not affect the configuration of +> the object in the database. These changes are made on the real time +> monitoring, and they are canceled if the scheduler is restarted. + +### Practice + +There are two ways of managing notifications: + + + + +1. Access the details page of the object +2. In the **Options** category, go to the line: **Service + Notifications** + +To: + +- Enable the notification, click ![image](../assets/configuration/common/enabled.png) +- Disable the notification, click ![image](../assets/configuration/common/disabled.png) + + + + +1. Go into the **Monitoring > Status Details > Hosts** (or **Services**) + menu +2. Select the host(s) / service(s) whose notification you want + to enable or disable +3. In the **More actions** menu, click: + +- **Hosts: Disable Notification** or **Services: Disable + Notification** to stop the notification of a host or of a service +- **Hosts: Enable Notification** or **Services: Enable Notification** + to enable the notification of a host or a service + + + + +## Reprogramming checks + +### Principle + +By default, the checks (checks on a service) are executed at regular +intervals following the configuration defined by the user. It is +possible to act on the check scheduling pile to change the +programming of the checks. + +There are two types of programming: + +- Normal programming: the service check is given priority in the + scheduler queue (asap). +- Forced programming: the service check is given priority in the + scheduler queue (asap) even if the time of the execution request is + outside the check period or if the service is not of the active + type. + +### Practice + +There are two ways of forcing the check of a service: + + + + +1. Access the detail page of the object +2. In the category **Host Commands** (or **Service Commands**), click + **Re-schedule the next check for this host / service** or + **Re-schedule the next check for this host / service (forced)** + + + + +1. Go into the following menu: **Monitoring > Status Details > Hosts** (or + **Services**) +2. Select the objects for which you want to force the check +3. In the **More actions…** click **Schedule immediate check** + or **Schedule immediate check (Forced)** + + + \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/resources-status.md b/versioned_docs/version-25.10/alerts-notifications/resources-status.md new file mode 100644 index 000000000000..4311d9fa8bae --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/resources-status.md @@ -0,0 +1,331 @@ +--- +id: resources-status +title: Resources Status page +--- + +The **Monitoring > Resources Status** page is your main view to track +resource events & statuses, analyze them, and quickly handle them. + +This view mixes hosts and services to provide a unified interface and a unified way to manage +events. + +## Events list + +The event list is a condensed and efficient view of all alerts and the status of all resources +monitored by Centreon. + +![image](../assets/alerts/resources-status/resources-status-listing.png) + +You can add or remove columns and sort by the column of your choice. + +![image](../assets/alerts/resources-status/resources-status-listing-order.gif) + +### View by host or by service + +Use the **Display view** buttons above the list of resources to define how the list will be displayed. + +- **All**: This view gathers all types of resources in the same list (hosts, services, metaservices, Anomaly Detection services). +- **View by host**: Displays all hosts. By default, for each host, a summary of the status of all services is displayed in the **Services** column. Click the arrow to the left of the summary to expand the zone and display all the services attached to this host. Meta services are not included in this view. +- **View by service**: Lists all the services, and shows the host they are attached to in the **Host** column. The list includes metaservices and Anomaly Detection services. + +### Compact or extended view + +You can display the view in the mode that suits you best by changing the visual presentation of lines in tables. + +Click the dedicated button to improve the readability of the information in the tables: +- Compact view mode ![image](../assets/alerts/resources-status/compact-icon.png) +- Extended view mode ![image](../assets/alerts/resources-status/extended-icon.png) + +## Take actions on events + +### Acknowledge an event + +When one or more alerts are visible, you may need to [acknowledge](acknowledge.md) them to tell +your team that the problem is being handled. You can do that in two ways: + +- By directly acknowledging the line: an **Acknowledge** button + appears on mouseover +- By selecting multiple lines and clicking the **Acknowledge** + button above the table. You can use the **Shift** key to select several adjacent lines. + + Only "non-ok" resources can be acknowledged and you cannot acknowledge a resource that has already been acknowledged. + +When a resource is acknowledged: + +- The alert is no longer visible in the **Unhandled alerts** filter +- [Notifications](notif-configuration.md) for this resource are stopped +- The color of the line for acknowledged resources changes +to yellow. + +The acknowledgment can also be canceled, in which case the event will be included again in the list +of **Unhandled alerts** and its notifications will resume: in the **More actions** menu, select **Disacknowledge**. + +### Set a planned downtime + +When maintenance is planned on one or multiple resources, you can set +[planned downtime](downtimes.md) for them in Centreon in two ways: + +- By directly setting planned downtime on the line: + a **Set Downtime** button appears on mouseover +- By selecting multiple lines and clicking the **Set Downtime** button + above the table. + +When a resource is in planned downtime, the alert is no longer visible in the +**Unhandled alerts** filter and notifications for this resource are stopped. The +color of lines for resources with planned downtime is changed to light purple. + +### Refresh a status + +In many situations, you need to quickly re-check one or multiple resources +to refresh their status. + +Two types of check action are available: +- The **Check** action: a regular check that you perform only during the configured check period. +- The **Forced check** action: a check that you can perform at any time (in or out of the configured check period). + +Check your resources and refresh their status in two ways: + +- By directly clicking the button on the line when the mouse is over it (**Forced check** only). +- By selecting one or multiple lines and clicking the **Check** or **Forced check** button above the table. + +### Submit a status + +In some cases, especially with so-called "passive" services, it can be useful +to submit a result, i.e. a status, an output and metrics, in order to +reset the event. +This can be achieved using the **Submit Status** action, available when a single passive service is selected. + +## Filtering events + +The various filters are added using an AND criterion: results will match all criteria. + +### Pre-defined filters + +When you open the **Resource status** page, the default filter is **Unhandled alerts**. This filter quickly shows all alerts that are not +yet handled so you can focus on choosing the most relevant ones to take +care of. You can choose two other filters, which are **All alerts** +and **All**. + +The following rules apply: + +- **Unhandled alerts**: resource status is **Warning** or **Critical** or + **Unknown** or **Down** AND the resource is not acknowledged or in planned + downtime +- **All alerts**: resource status is **Warning** or **Critical** or **Unknown** + or **Down** (whether or not the resource has been acknowledged/downtime has been set) +- **All**: All resources. + +### Search criteria + +You can filter the list of resources according to a number of predefined criteria. + +1. Click the **Filter options** icon :![image](../assets/alerts/resources-status/search-options-icon.png) + + A pop-in window appears, listing the following criteria: + + - **Host:** select a host in the dropdown list and check the status to display (**Up**, **Down**, **Unreachable**, **Pending**). + - **Host group** + - **Service:** select a service in the dropdown list and check the status to display (**OK**, **Warning**, **Critical**, **Unknown**, **Pending**). + - **Service group** + - **Pollers** + - **State**: whether the problem is simply unhandled, already acknowledged, or in a planned downtime. + +2. Click **Open more filters** to display more options: + + - [**Host category**](../monitoring/categories.md) + - [**Host severity**](../monitoring/categories.md) + - [**Service category**](../monitoring/categories.md) + - [**Service severity**](../monitoring/categories.md) + - You can add a comment in the **Information** field. + - [**Status type**](concepts.md#status-types): **Hard** or **Soft**. + +3. You can directly click the **Search** button or save your filter: + - Click **Save as new** to name and save your filter. You will then be able to access it in the **My filters** list. + - Click **Save as** if you are already editing an existing filter. + + The list of resources is now filtered. + +### Search bar + +If you type text into the search bar, by default the search is performed on the following fields: + +- Name of the host +- Alias of the host +- Address or FQDN of the host +- Name of the service + +For instance, if you type "rta", all resources containing "rta" in one of the above fields will be displayed (e.g., a metaservice called **Ping-RTA-Average**). + +However, you can do a much more specific search using the [Centreon Query Language](#cql-criteria). This language allows you to search only +in one or several fields. + +#### CQL criteria + +- **alias**: search for hosts according to their alias +- **fqdn**: search for hosts according to their IP address or FQDN +- **host_group**: search for hosts that belong to a host group +- **host_category**: search for hosts that belong to a category +- **host_severity**: search for hosts according to the name of their severity +- **host_severity_level**: search for hosts according to the level of their severity +- **h.name**: search for resources according to the name of the host displayed in the **Resource** column for the hosts, and **Parent** for the services +- **h.alias**: search for resources according to the alias of a host or the alias of a service's parent +- **h.address**: search for resources according to the FQDN/IP address of the host or of a service's parent +- **information**: search only in the **Information** column +- **monitoring_server**: search for all the resources that the selected poller is monitoring +- **name**: search for hosts only on the name of the host, as displayed in the **Resource** column +- **parent_name**: search for services according to their parent's name +- **parent_alias**: search for services according to their parent's alias +- **state**: search for resources in a non-OK or non-UP state, according to whether they are unhandled, acknowledged or in downtime +- **status**: search for resources according to their [status](concepts.md) +- **status_type**: search for resources according to their [status type](concepts.md#status-types) +- **service_category**: search for services according to the category they belong to +- **service_group**: search for services that belong to a service group +- **service_severity**: search for services according to the name of their severity +- **service_severity_level**: search for services according to the level of their severity +- **s.description**: search only in the name of the service (shown in the **Resource** column) +- **type**: display only hosts, services or metaservices + +#### Using the search bar + +The search bar shows all applied criteria as text. Autocomplete helps you enter search terms easily: + +1. Start typing the criterion you want. For instance, type "h": the search bar suggests all criteria starting with "h" (**host_group**, **h.name**, **h.alias**, **h.address**). Select the criterion you want using the **Up** and **Down** arrows, then press **Tab** or **Enter** to confirm the selection. A colon is used between a criterion and its possible values (e.g. **host:Linux**). + +2. According to the type of criterion, autocomplete can suggest possible values for this criterion (e.g. for the **Type** criterion, the possible values are **Host**, **Service** and **Metaservice**). Select the value you want using the **Up** and **Down** arrows, then press **Tab** or **Enter** to confirm the selection. It is possible to set several values for a criterion. The values should be separated by commas. The search will retrieve all values using an OR criterion, e.g. **type:service,metaservice** will retrieve all services and metaservices. + +3. Use spaces between search criteria. Criteria are added using an AND criterion: results will match all criteria. + + * You can use regular expressions. Wildcards are not supported: a search pattern starting with a * is not valid. + * You cannot perform a pattern-based search inside a field that has a finite number of values (hostgroups, status, etc). For these fields, use the [**Search options**](#search-criteria) button. + +4. Once you have entered all your search criteria, type a space character or press **Esc** to exit autocomplete, then press **Enter**. + +Example: + **s.description:ping h.name:linux**: the list displays all services whose name contains "ping", for all hosts whose name contains "linux". + +![image](../assets/alerts/resources-status/search_ping_linux.gif) + +### Save your filter + +You may create some "complex" filters that set you in a specific +context, using multiple criteria and even complex regular expressions. +In that case, you may want to save this filter and re-use it later. + +Use the **Filter options** icon next to the search bar to: + +- Save your current search as a new filter +- update the current filter using the criteria currently + applied + +Once a filter is saved, it can be reused from the Filter dropdown list, +categorized under **My Filter** and you'll be able to use the **Edit filters** icon to manage your existing filters (rename, re-order and delete). + +## Detail panel + +When you click a line, a detail panel opens on the right side to display the main information +concerning the resource. This panel can be resized. + +Depending on the type of resource, the detail panel displays different information. + +### Host panel + +The host panel contains the following elements: + +- **Details** tab: Detailed information about the host's current status. You can drag and drop tiles to rearrange them. +- **Services** tab: A listing of its attached services and their current status (as well as their graphs if the corresponding mode is selected) +- **Timeline** tab: The timeline of events that occurred for this host +- **Graph** tab: Graphs for the services for this host +- **Notification** tab: Shows whether notifications are enabled for this host, and lists the contacts and contact groups that will be notified. +- Shortcuts to the configuration, logs and report for this host. + +![image](../assets/alerts/resources-status/resources-status-panel-host.gif) + +If an acknowledgment or downtime is set on the host, it will be displayed in +the panel and the header will be colored accordingly. + +### Service panel + +The service panel contains the following elements: + +- **Details** tab: Detailed information about its current status. You can drag and drop tiles to rearrange them. +- **Timeline** tab: The timeline of events that occurred for this service +- **Graph** tab: A graph with one curve per metric collected by this service +- **Notification** tab: Shows whether notifications are enabled for this service, and lists the contacts and contact groups that will be notified. +- Shortcuts to the configurations, logs and reports for this service and its + related host. +- Below the name of the service, the name of its parent host. Click it to open the host panel for the parent host. + +![image](../assets/alerts/resources-status/resources-status-panel-service.gif) + +If an acknowledgment or downtime is set on the service, it will be displayed in +the panel and the header will be colored accordingly. + +### Timeline tab + +The **Timeline** tab shows an antichronological list of events that occurred for this service or host (status alerts, notifications sent, scheduled downtime, comments). Use the **Event** list to display only the types of event you want. + +![image](../assets/alerts/resources-status/timeline.png) + +You can export the full list of events in CSV format. + +### Graph tab + +The graph tab enables you to visually display how the metrics evolve for the selected resource. + +Hovering over the metric curves will display the precise time under the graph's title and also display, within the legend, the different values for that same point in time. + +When the pointer is not hovering over curves, the legend displays Min, Max and Average values for each metric. + +![image](../assets/alerts/resources-status/resources-status-values.png) + +Use the legend to display or hide metrics: + +- Click a legend item to display only the corresponding metric. +- To display all metrics again, click the legend of the displayed metric again. + +![image](../assets/alerts/resources-status/resources-status-graph-select-only-metric.gif) + +You can also toggle the selection of individual metrics by Ctrl+Clicking (or Cmd+Clicking for Mac users) on the corresponding tile within the legend: + +![image](../assets/alerts/resources-status/resources-status-graph-toggle-legends.gif) + +Graphs display metric evolution over a given period. This can be defined in the following ways: + +- A selection of preconfigured periods is available in the graph header: Last Day, Last 7 Days, Last 31 Days +- Datetime pickers are available for Start and End points in time. Whenever the displayed period changes, this element is updated accordingly +- Using the side [<] and [>] buttons that appear upon hovering the graph's border, you can translate in time by half your current timespan (backward and forward in time, respectively) +- Selecting a period of time within the graph will zoom in on this period + +![image](../assets/alerts/resources-status/resources-status-graph-time-selection.gif) + +The **Display events** toggle (available under the **gear** button) allows you to display some timeline events (downtime, acknowledgment, comment) directly on the graph, via annotations: + +![image](../assets/alerts/resources-status/resources-status-graph-display-events.gif) + +It is possible to add a comment directly on the graph by left-clicking anywhere at the time you want to add it, and then selecting **Add a comment** on the tooltip that appears: + +![image](../assets/alerts/resources-status/resources-status-graph-add-comment.gif) + +To delete a comment, go to **Monitoring > Downtimes > Comments**. + +By clicking the **Export** button, you can export a snapshot of the graph, which also includes the timeline events, if the switch is toggled. Note that only the selected metrics will be exported: + +![image](../assets/alerts/resources-status/resources-status-graph-export-to-png.gif) + +To see a bigger version of the graph, click **Go to performance page** in the top right corner of the graph. + +![image](../assets/alerts/resources-status/graph-open.png) + +The graph opens on the **Monitoring > Performances > Graphs** page, allowing you to filter the graph more precisely. + +![image](../assets/alerts/resources-status/graph-open2.png) + +You can also export the data for the graph as a CSV file. This will include all metrics. + +### Notification tab + +The Notification tab shows whether notifications are enabled for the selected resource. You can see the recipients of these notifications in the **Contacts** and **Contact groups** sections. + +To configure the recipients, click the **gear icon** in the **Contacts** or **Contact groups** section. + +![image](../assets/alerts/resources-status/notification_tab.png) diff --git a/versioned_docs/version-25.10/alerts-notifications/submit.md b/versioned_docs/version-25.10/alerts-notifications/submit.md new file mode 100644 index 000000000000..5ba6b69be83f --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/submit.md @@ -0,0 +1,52 @@ +--- +id: submit +title: Submitting a status +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +### Principle + +For passively checked services, it is possible send a result manually to the +scheduler so that it is taken into account. + +### Practice + + + + +1. Go to **Monitoring > Resources Status**. + +2. Select the service you want. + +3. On the **More actions** menu, click **Submit a status**. + + The following window appears: + + ![image](../assets/alerts/resources-status/submit-popup.png) + + - The **Status** field defines the status the service will have once the result is submitted + - The **Output** field defines the message to be displayed for the service in the **Information** column + - The **Performance data** field can be used to define performance data for the generation of graphs. + + + + +To submit a result, access the details page of the object. In the category +**Service Commands**, click **Submit result for this service** + +The following window appears: + +![image](../assets/alerts/submitresult.png) + +- The **Host Name** and **Service** fields define the host and the + service for which the result will be submitted +- The **Check result** field defines the status of the service +- The **Check output** field defines the message to be displayed for + the service +- The **Performance data** field can be used to define performance + data to generate graphs + + + \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/ticketing-install.md b/versioned_docs/version-25.10/alerts-notifications/ticketing-install.md new file mode 100644 index 000000000000..4a84f76f9be4 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/ticketing-install.md @@ -0,0 +1,59 @@ +--- +id: ticketing-install +title: Installing Open Tickets +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +**Centreon Open Tickets** is a community module developed to create +tickets to an ITSM platform using APIs. + +Once a provider is configured, the module allows for an operator to +create tickets for hosts and services in a non-ok state using a +dedicated widget. A button associated with each host or service +allows you to connect to the API and create the ticket while offering +the possibility to acknowledge the object at the same time. + +Regarding the widget configuration, it is possible to see the created +tickets by giving the ID and creation date of the tickets. + +## Installing packages + +Execute the following command: + + + + +``` shell +dnf install centreon-open-tickets +``` + + + + +``` shell +dnf install centreon-open-tickets +``` + + + + +``` shell +apt install centreon-open-tickets +``` + + + + +## UI installation + +After installing the rpm, you must complete the installation of the module +through the web frontend. Go to the **Administration > Extensions > Manager** +menu and search **Open Tickets**. Click **Install selection**: + +![image](../assets/alerts/open_tickets_install_01.png) + +Your Centreon Open Tickets Module is now installed. + +![image](../assets/alerts/open_tickets_install_02.png) \ No newline at end of file diff --git a/versioned_docs/version-25.10/alerts-notifications/ticketing.md b/versioned_docs/version-25.10/alerts-notifications/ticketing.md new file mode 100644 index 000000000000..b4afb8c150a2 --- /dev/null +++ b/versioned_docs/version-25.10/alerts-notifications/ticketing.md @@ -0,0 +1,167 @@ +--- +id: ticketing +title: Configuring Open Tickets +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Configuration + +### Select a provider + +The module offers many ready-to-use providers listed in the dedicated [integration +section](../integrations/itsm/itsm-overview.md). + +Each provider has its own configuration, but a provider +can be added in Centreon in the following way: + +Go to the **Configuration > Notifications > Open Tickets > Rules** menu. +Click on **Add** button: + +![image](../assets/alerts/open_tickets_add_provider_01.png) + +Define **Rule name** and select **Provider**: + +![image](../assets/alerts/open_tickets_add_provider_02.png) + +A new form appears: configure the provider. + +### Hosts & services + +In order for resources (hosts and services) to receive a ticket number, +it is necessary to add a personalized macro to them. + +The best way is to create these macros in a host template and a service +template inherited by all objects using models from which all resources +will inherit. + +Go to the **Configuration > Hosts > Templates** menu and look for the +**generic-active-host-custom** template, and edit it. Add the macro +**TICKET\_ID** and click on **Save**: + +![image](../assets/alerts/open_tickets_macro.png) + +Go to the **Configuration > Services > Templates** menu and look for the +**generic-active-service-custom** template and edit this one. Add the +macro **TICKET\_ID** and click **Save**: + +![image](../assets/alerts/open_tickets_macro.png) + +### Widget configuration + +You can configure Open Ticket to be integrated into a widget: +- using the **Dashboards** feature with the **Resource table** widget, +- or using the **Custom Views (legacy)** feature. + + + + +> In the **Dashboards** feature, Open Ticket is available in the **Resource table** widget, in the list of events. + +To use **Open Ticket**, you must add it into a dashboard. + +1. Go to the **Home > Dashboards** menu, select your dashboard and add a **Resource table** widget. + +2. Fill in the properties. + +3. Set the parameters for your tickets in the **Ticket management** section. + - Define if you want to display **Resources with no tickets** or **Resources linked to a ticket**. + +4. Save your changes. + +Your dashboard now displays the **Resource table** widget containing resources with or without tickets. + +> You can also close tickets directly from the widget. + + + + +To use the widget, you must add it into a custom view. + +1. Go to the **Home > Custom Views** menu, select your view and click the **Add widget** +button. + +2. Define a title for your widget (for example: Open-Tickets) and select +the **Open Tickets** widget. Apply the same procedure to add this +widget again. + +3. On the first widget, to open a ticket, click the **Configuration** button: + - Select the **Rule** previously defined. + - Don’t check the **Opened Tickets** box. + - Select other filters. + - Don’t check the boxes **Display Ticket ID** and **Display Ticket Time**. + +4. On the second widget, to display opened tickets, click the +**Configuration** button: + - Select the **Rule** previously defined. + - Check the **Opened Tickets** box. + - Select other filters. + - Check the boxes **Display Ticket ID** and **Display Ticket Time**. + + + + +## User guide + +### Open a ticket + +- To open a ticket, select an object using its checkbox, and in the **-- More +actions --** menu, select the required action. +- A popup appears to define a comment. Click the **Open** button to open a ticket. +- Once the ticket is created, the popup displays the ticket ID. +- The selected objects disappear from the widget to open tickets. + +### Close a ticket + +- To close a ticket, select the object using its checkbox and in the **-- More +actions --** menu, select the required action. +- The ticket is closed (only for Centreon). +- The selected objects disappear from the opened tickets widget. + +## Advanced configuration + +This module offers ready-to-use providers. However, depending on the +configuration of your ITSM, it may be necessary to modify these to adapt +them to your environment. + +### List definition + +Before opening a ticket, users can choose some options in a popup. An +option is to create a selection list. In the configuration provider, you can +configure it in **Lists** and **Custom list definition**. For each entry in +**Lists**, you can define: + +- **Id**: alphanumeric value (must be unique) +- **Label**: displayed in the popup +- **Type**: which kind of list. There are three kinds of list + - Provider lists (data directly from the ticketing software) + - Centreon lists (like **Host group**) + - Custom lists (data from **Custom list definition** configuration. + **Id** fields must be identical) +- **Mandatory**: checked if the user needs to set the option + +![image](../assets/alerts/open_ticket_advanced_list_01.png) + +The module stores the user list selection in an array (can be used in +a smart section like **body** or **mapping ticket arguments**). There are 3 +fields (**LIST\_ID** must be replaced): + +- {$select.LIST\_ID.id} +- {$select.LIST\_ID.value} +- {$select.LIST\_ID.label} + +### Chaining rules + +After opening a ticket, you may need to send an email. The chaining +rules system is designed to do it: + +- Create a new rule with the name **emailme** and the provider **Mail** +- Configure **emailme** in the rule of your opening system + +![image](../assets/alerts/open_ticket_advanced_chain_01.png) + +### Commands + +After opening a ticket, you can also configure some commands to be executed. + +![image](../assets/alerts/open_ticket_advanced_cmd_01.png) diff --git a/versioned_docs/version-25.10/api/api-tokens.md b/versioned_docs/version-25.10/api/api-tokens.md new file mode 100644 index 000000000000..ef15c11070c7 --- /dev/null +++ b/versioned_docs/version-25.10/api/api-tokens.md @@ -0,0 +1,30 @@ +--- +id: api-tokens +title: API tokens +--- + +Using an API token, a third-party application can call the Centreon API to perform actions in Centreon (webhooks). + +A token is linked to one [Centreon user](../monitoring/basic-objects/contacts.md) and is valid only for a certain period of time. API calls will be executed according to the [rights assigned to this user](../administration/access-control-lists.md#granting-rights-to-a-user). A specific user can have several tokens. + +## Who can create API tokens? + +* [Users or administrators](../administration/access-control-lists.md#granting-rights-to-a-user) accessing the **Administration > API Tokens** page can create tokens for themselves. +* Administrators can also see tokens created by other users, can create tokens for other users, and can disable or delete them. This is the same for users with the **Manage API tokens** permission in [action ACLs](../administration/access-control-lists.md#access-filters-on-actions). + +## Creating an API token + +1. Go to **Administration > API Tokens**. +2. Click **Add**. A pop-up window appears. +3. Fill in the required fields and then click **Generate new token**. A **Token** field appears in the window. You can click the eye icon to display the token if you want. +4. Copy the token using the "copy" button to the right of the field. Store the token carefully: you will not be able to display it a second time. +5. Click **Close**. + +## Managing API tokens + +The list of tokens shows the status of each token in the far left column (enabled, valid but disabled, expired). The date when the token was last used is also shown. + +Users with the **Administrator** role can: + +* Disable a valid API token using the **Enabled/Disabled** switch to the right of the line. The token can still be reenabled later. +* Delete a token using the **Delete** button. diff --git a/versioned_docs/version-25.10/api/clapi.md b/versioned_docs/version-25.10/api/clapi.md new file mode 100644 index 000000000000..6ac33a300fe9 --- /dev/null +++ b/versioned_docs/version-25.10/api/clapi.md @@ -0,0 +1,6473 @@ +--- +id: clapi +title: Command Line API (v1) - CLAPI +--- + +## Overview + +Centreon CLAPI aims to offer (almost) all the features that are available on the +user interface in terms of configuration. Only administrators can use CLAPI. + +### Features + +* Add/Delete/Update objects such as hosts, services, host templates, host groups, contacts etc. +* Generate configuration files +* Test configuration files +* Move configuration files to monitoring pollers +* Restart monitoring pollers +* Import and export objects. + +### Basic usage + +All actions in Centreon CLAPI will require authentication, so your commands will always start like this: + +``` shell +centreon -u admin -p 'centreon' [...] +``` + +The **-u** option is for the username and the **-p** option is for the password. The password can be in plain text +or encrypted in the database. + +> ***NOTE:*** If your passwords are encoded with SHA1 in the database (MD5 by default), use the **-s** option: + +``` shell +centreon -u admin -p 'centreon' -s [...] +``` + +## Objects + +### ACL + +Object name: **ACL** + +#### Reload + +To reload ACLs, use the **RELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a reload +``` + +#### Lastreload + +To check when the ACLs were last reloaded, use the **LASTRELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a lastreload +1329833702 +``` + +If you wish to get a human readable time format instead of a timestamp, use the following command: + +``` shell +centreon -u admin -p 'centreon' -o ACL -a lastreload -v "d-m-Y H:i:s" +21-02-2012 15:17:01 +``` + +You can change the date format: + +| Format character | Description | +| ---------------- | ----------- | +| d | Day | +| m | Month | +| Y | Year | +| H | Hour | +| i | Minute | +| s | Second | + +### Access Groups + +Object name: **ACLGROUP** + +#### Show + +To list the available access groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a show +id;name;alias;activate +1;ALL;ALL;1 +[...] +``` + +The columns are as follows: + +| Column | Description | +| -------- | ---------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Activate | 1 when ACL Group is enabled, 0 otherwise | + +#### Add + +To add an access group, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a add -v "ACL Group test;my alias" +``` + +The required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove an access group, use the **DEL** action. To identify the access group to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a del -v "ACL Group test" +``` + +#### Setparam + +If you want to change a specific parameter of an access group, use the **SETPARAM** action. To identify +the access group you want to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setparam -v "ACL Group test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL Group | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | ----------------------------------------------- | +| name | | +| alias | | +| activate | 1 when the access group is enabled, 0 otherwise | + +#### Getmenu + +If you want to retrieve the menu rules that are linked to a specific access group, use the **GETMENU** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getmenu -v "ACL Group test" +id;name +1;Configuration +3;Reporting +4;Graphs +2;Monitoring + Home +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of access group | + +#### Getaction + +If you want to retrieve the action rules that are linked to a specific access group, use the **GETACTION** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getaction -v "ACL Group test" +id;name +1;Simple action rule +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Getresource + +If you want to retrieve the resource rules that are linked to a specific access group, use the **GETRESOURCE** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getresource -v "ACL Group test" +id;name +1;All Resources +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of ACL group | + +#### Getcontact and Getcontactgroup + +If you want to retrieve the contacts that are linked to a specific access group, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getcontact -v "ACL Group test" +id;name +1;user1 +``` + +If you want to retrieve the contact groups that are linked to a specific access group, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a getcontactgroup -v "ACL Group test" +id;name +1;usergroup1 +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of access group | + +#### Setmenu, Setaction, Setresource, Addmenu, Addaction, Addresource + +If you want to link rules to a specific access group, use the following actions: **SETMENU**, **SETACTION**, +**SETRESOURCE**, **ADDMENU**, **ADDACTION**, **ADDRESOURCE**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setmenu -v "ACL Group test;Menu rule 1|Menu rule 2" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a addresource -v "ACL Group test;All Routers" +``` + +| Command type | Description | +| ------------ | ---------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the delimiter | +| add\* | Appends new rules to the previous definitions. Use the delimiter | + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ---------------------------- | +| 1 | Name of access group | +| 2 | Name of the ACL rule to link | + +#### Delmenu, Delaction, Delresource + +If you want to remove rules from a specific access group, use the following actions: **DELMENU**, **DELACTION**, +**DELRESOURCE**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a delaction -v "ACL Group test;Ack rule|Downtime rule" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------ | +| 1 | Name of access group | +| 2 | Name of the ACL rule to remove | + +#### Setcontact, Setcontactgroup, Addcontact, Addcontactgroup + +If you want to link contacts or contact groups to a specific access group, use the following actions: **SETCONTACT**, +**SETCONTACTGROUP**, **ADDCONTACT**, **ADDCONTACTGROUP**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a setcontact -v "ACL Group test;user1" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a addcontactgroup -v "ACL Group test;usergroup1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | -------------------------------- | +| 1 | Name of access group | +| 2 | Contact/Contact group to add/set | + +| Command type | Description | +| ------------ | ---------------------------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the delimiter | +| add\* | Appends new contacts/contact groups to the previous definitions. Use the delimiter | + +#### Delcontact, Delcontactgroup + +If you want to remove rules from a specific access group, use the following actions: **DELCONTACT**, **DELCONTACTGROUP**: + +``` shell +centreon -u admin -p 'centreon' -o ACLGROUP -a delcontact -v "ACL Group test;user1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------------------- | +| 1 | Name of access group | +| 2 | Contact/Contact group to remove from access group | + +### Action ACLs + +Object name: **ACLACTION** + +#### Show + +To list the available action ACLs, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a show +id;name;description;activate +1;Simple User;Simple User;1 +[...] +``` + +Columns are the following: + +| Column | Description | +| ----------- | --------------------------------------------- | +| ID | | +| Name | | +| Description | | +| Activate | 1 when the action ACL is enabled, 0 otherwise | + +#### Add + +To add an action ACL, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a add -v "ACL Action test;my description" +``` + +Required fields: + +| Column | Description | +| ----------- | ----------- | +| Name | | +| Description | | + +#### Del + +If you want to remove an action ACL, use the **DEL** action. To identify the action ACL to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a del -v "ACL Action test" +``` + +#### Setparam + +If you want to change a specific parameter of an action ACL, use the **SETPARAM** action. To identify the action ACL to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a setparam -v "ACL Action test;description;my new description" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of action ACL rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are the following: + +| Column | Description | +| ----------- | --------------------------------------------- | +| name | | +| description | | +| activate | 1 when the action ACL is enabled, 0 otherwise | + +#### Getaclgroup + +If you want to retrieve the access groups that are linked to a specific action ACL, use the **GETACLGROUP** command. + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of action ACL rule | + +##### Example + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a getaclgroup -v "ACL Action test" +id;name +1;ALL +3;Operators +``` + +#### Grant and Revoke + +If you want to grant or revoke actions in an action ACL rule definition, use the following commands: **GRANT**, +**REVOKE**. + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | Name of ACL action rule | +| 2 | Actions to grant/revoke | + +##### Example + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a grant -v "ACL Action test;host_acknowledgement|service_acknowledgement" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a revoke -v "ACL Action test;host_schedule_downtime|service_schedule_downtime" +``` + +The **\`\*\`** wildcard can be used in order to grant or revoke all actions: + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a grant -v "ACL Action test;*" +``` + +``` shell +centreon -u admin -p 'centreon' -o ACLACTION -a revoke -v "ACL Action test;*" +``` + +Below is the list of actions that you can grant/revoke: + +| Action | Description | +| ---------------------------------- | ---------------------------------------------------------------------------- | +| global\_event\_handler | Permission to globally enable/disable event handlers | +| global\_flap\_detection | Permission to globally enable/disable flap detection | +| global\_host\_checks | Permission to globally enable/disable host active checks | +| global\_host\_obsess | Permission to globally enable/disable obsess over host | +| global\_host\_passive\_checks | Permission to globally enable/disable host passive checks | +| global\_notifications | Permission to globally enable/disable notifications | +| global\_perf\_data | Permission to globally enable/disable performance data | +| global\_restart | Permission to restart the monitoring engine | +| global\_service\_checks | Permission to globally enable/disable service active checks | +| global\_service\_obsess | Permission to globally enable/disable obsess over service | +| global\_service\_passive\_checks | Permission to globally enable/disable service passive checks | +| global\_shutdown | Permission to shut down the monitoring engine | +| host\_acknowledgement | Permission to acknowledge hosts | +| host\_checks | Permission to enable/disable host active checks | +| host\_checks\_for\_services | Permission to enable/disable active checks of a host's services | +| host\_comment | Permission to put comments on hosts | +| host\_event\_handler | Permission to enable/disable event handlers on hosts | +| host\_flap\_detection | Permission to enable/disable flap detection on hosts | +| host\_notifications | Permission to enable/disable notification on hosts | +| host\_notifications\_for\_services | Permission to enable/disable notification on hosts' services | +| host\_schedule\_check | Permission to schedule a host check | +| host\_schedule\_downtime | Permission to schedule a downtime on a host | +| host\_schedule\_forced\_check | Permission to schedule a host forced check | +| host\_submit\_result | Permission to submit a passive check result to a host | +| manage_tokens | Permission to enable/disable organization’s API Token management | +| poller\_listing | Permission to see the Poller list on the monitoring console | +| poller\_stats | Permission to see the poller statistics (on top screen) | +| service\_acknowledgement | Permission to acknowledge services | +| service\_checks | Permission to enable/disable service active checks | +| service\_comment | Permission to put comments on services | +| service\_event\_handler | Permission to enable/disable event handlers on services | +| service\_flap\_detection | Permission to enable/disable flap detection on services | +| service\_notifications | Permission to enable/disable notification on services | +| service\_passive\_checks | Permission to enable/disable service passive checks | +| service\_schedule\_check | Permission to schedule a service check | +| service\_schedule\_downtime | Permission to schedule a downtime on a service | +| service\_schedule\_forced\_check | Permission to schedule a service forced check | +| service\_submit\_result | Permission to submit a passive check result to a service | +| top\_counter | Permission to see the quick status overview (top right corner of the screen) | + +### Menu ACLs + +Object name: **ACLMENU** + +#### Show + +To list the available menu ACLs, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a show +id;name;alias;comment;activate +1;Configuration;Configuration;;1 +2;Monitoring + Home;Monitoring + Home;;1 +3;Reporting;Reporting;;1 +4;Graphs;Graphs;just a comment;1 +[...] +``` + +The columns are as follows: + +| Column | Description | +| -------- | ------------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Comment | Comment | +| Activate | 1 when the menu ACL is enabled, 0 otherwise | + +#### Add + +To add a menu ACL, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a add -v "ACL Menu test;my alias" +``` + +The required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove a menu ACL, use the **DEL** action. To identify the menu ACL to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a del -v "ACL Menu test" +``` + +#### Setparam + +If you want to change a specific parameter of a menu ACL, use the **SETPARAM** action. To identify the menu ACL to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a setparam -v "ACL Menu test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of menu ACL rule | +| 2 | Parameter name | +| 3 | Parameter value | + +Parameters that you may change are: + +| Column | Description | +| -------- | ------------------------------------------- | +| name | Name | +| alias | Alias | +| activate | 1 when the menu ACL is enabled, 0 otherwise | +| comment | Comment | + +#### Getaclgroup + +If you want to retrieve the access groups that are linked to a specific menu ACL, use the **GETACLGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a getaclgroup -v "ACL Menu test" +id;name +1;ALL +3;Operators +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of menu ACL rule | + +#### Grant and Revoke + +If you want to grant access (Read/Write or Read Only), or revoke access to menus in a menu ACL rule definition, use the following actions: +**GRANTRW**, **GRANTRO**, **REVOKE** + +Let's assume that you would like to grant full access to the \[Monitoring\] menu in your menu ACL rule: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantrw -v "ACL Menu test;1;Monitoring" +``` + +Then you would like to grant access to the \[Home\] \> \[Poller statistics\] menu: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantrw -v "ACL Menu test;1;Home;Poller statistics" +``` + +Then you would like to grant read-only access to the \[Configuration\] \> \[Hosts\] menu: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a grantro -v "ACL Menu test;1;Configuration;Hosts" +``` + +Then, you decide to revoke access to the \[Monitoring\] \> \[Event Logs\] menu: + +``` shell +centreon -u admin -p 'centreon' -o ACLMENU -a revoke -v "ACL Menu test;1;Monitoring;Event Logs" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------------- | +| 1 | Name of menu ACL rule | +| 2 | Grant/revoke children menus | +| 3 | Menu name to grant/revoke | +| n | Possible sub menu name | + +### Resource ACLs + +Object name: **ACLRESOURCE** + +#### Show + +To list the available resource ACLs, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a show +id;name;alias;comment;activate +1;All Resources;All Resources;;1 +[...] +``` + +The columns are as follows: + +| Column | Description | +| -------- | ----------------------------------------------- | +| ID | ID | +| Name | Name | +| Alias | Alias | +| Comment | Comment | +| Activate | 1 when the resource ACL is enabled, 0 otherwise | + +#### Add + +To add a resource ACL, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a add -v "ACL Resource test;my alias" +``` + +The required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +#### Del + +If you want to remove a resource ACL, use the **DEL** action. To identify the resource ACL to +delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a del -v "ACL Resource test" +``` + +#### Setparam + +If you want to change a specific parameter of a resource ACL, use the **SETPARAM** action. To identify the resource ACL to +update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a setparam -v "ACL Resource test;alias;my new alias" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------- | +| 1 | Name of resource ACL rule | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| -------- | ----------------------------------------------- | +| name | Name | +| alias | Alias | +| activate | 1 when the resource ACL is enabled, 0 otherwise | + +#### Getaclgroup + +If you want to retrieve the access groups that are linked to a specific resource ACL, use the **GETACLGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o ACLRESOURCE -a getaclgroup -v "ACL Resource test" +id;name +1;ALL +3;Operators +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of access group | + +#### Grant and revoke + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------- | +| 1 | Name of access group | +| 2 | Name of resource | + +If you want to grant or revoke access to resources in a resource ACL rule definition, use the following commands: + +| Command | Description | Example | Wildcard '\*' supported | +| -------------------------- | ---------------------------- | ---------------------------------------------------------------------- | ----------------------- | +| grant\_host | Put host name(s) | \[...\] -a grant\_host -v "ACL Resource Test;srv-esx" | Yes | +| grant\_hostgroup | Put hostgroup name(s) | \[...\] -a grant\_hostgroup -v "ACL Resource Test;Linux servers" | Yes | +| grant\_servicegroup | Put servicegroup name(s) | \[...\] -a grant\_servicegroup -v "ACL Resource Test;Ping" | Yes | +| grant\_metaservice | Put metaservice name(s) | \[...\] -a grant\_metaservice -v "ACL Resource Test;Traffic Average" | No | +| addhostexclusion | Put host name(s) | \[...\] -a addhostexclusion -v "ACL Resource Test;srv-test" | No | +| revoke\_host | Put host name(s) | \[...\] -a revoke\_host -v "ACL Resource Test;srv-esx" | Yes | +| revoke\_hostgroup | Put hostgroup name(s) | \[...\] -a revoke\_hostgroup -v "ACL Resource Test;Linux servers" | Yes | +| revoke\_servicegroup | Put servicegroup name(s) | \[...\] -a revoke\_servicegroup -v "ACL Resource Test;Ping" | Yes | +| revoke\_metaservice | Put metaservice name(s) | \[...\] -a revoke\_metaservice -v "ACL Resource Test;Traffic Average" | Yes | +| delhostexclusion | Put host name(s) | \[...\] -a delhostexclusion -v "ACL Resource Test;srv-test" | Yes | +| addfilter\_instance | Put instance name(s) | \[...\] -a addfilter\_instance -v "ACL Resource Test;Monitoring-2" | No | +| addfilter\_hostcategory | Put host category name(s) | \[...\] -a addfilter\_hostcategory -v "ACL Resource Test;Customer-1" | No | +| addfilter\_servicecategory | Put service category name(s) | \[...\] -a addfilter\_servicecategory -v "ACL Resource Test;System" | No | +| delfilter\_instance | Put instance name(s) | \[...\] -a delfilter\_instance -v "ACL Resource Test;Monitoring-2" | Yes | +| delfilter\_hostcategory | Put host category name(s) | \[...\] -a delfilter\_hostcategory -v "ACL Resource Test;Customer-1" | Yes | +| delfilter\_servicecategory | Put service category name(s) | \[...\] -a delfilter\_servicecategory -v "ACL Resource Test;System" | Yes | + +> ***NOTE:*** Use the "|" delimiter to define multiple resources. + +### Centreon Broker + +Object name: **CENTBROKERCFG** + +#### Show + +To list the available Centreon Broker CFG configurations, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a show +config id;config name;instance +1;Central CFG;Central +2;Sattelite CFG;Sattelite +[...] +``` + +The columns are as follows: + +| Order | Description | +| ----- | ------------------------------------- | +| 1 | ID | +| 2 | Name of configuration | +| 3 | Instance that is linked to broker cfg | + +#### Add + +To add a Centreon Broker CFG, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a add -v "broker cfg for poller test;Poller test" +``` + +The required fields are: + +| Order | Description | +| ----- | ------------------------------------- | +| 1 | Name of configuration | +| 2 | Instance that is linked to broker cfg | + +#### Del + +If you want to remove a Centreon Broker CFG, use the **DEL** action. To identify the configuration +to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a del -v "broker cfg for poller test" +``` + +#### Setparam + +If you want to change a specific parameter of a Centreon Broker configuration, use the **SETPARAM** action. To identify the configuration +to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a setparam -v "broker cfg for poller test;name;new broker cfg name" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Broker configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| -------------------------- | ----------------------------------------------------------------------------- | +| filename | Filename of configuration (.json extension) | +| name | Name of configuration | +| instance | Instance that is linked to Centreon Broker CFG | +| event\_queue\_max\_size | Event queue max size (when number is reached, temporary output will be used). | +| event\_queues\_total\_size | Event queues maximum total size | +| cache\_directory | Path for cache files | +| daemon | Link this configuration to cbd service (0 or 1) | +| pool\_size | Number of threads used (by default, use the number of CPUs) | +| stats\_activate | | +| command\_file | Filename of command | +| log\_directory | Directory of log files | +| log\_filename | Filename of log file | + +#### Listinput and Listoutput + +If you want to list specific input or output types of Centreon Broker, use one of the following commands: + +- listinput +- listoutput + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a listoutput -v "broker cfg for poller test" +id;name +1;Storage +2;RRD +3;PerfData +``` + +The columns are as follows: + +| Column | Description | +| ------ | ----------- | +| ID | I/O ID | +| Name | I/O Name | + +#### Getinput and Getoutput + +To get parameters of a specific I/O object, use one of the following commands: + +* getinput +* getoutput + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getoutput -v "broker cfg for poller test;3" +parameter key;parameter value +db_host;localhost +db_name;centreon_storage +db_password;centreon +db_port;3306 +db_type;mysql +db_user;centreon +interval;60 +length; +name;PerfData +type;storage +``` + +The ID is used to identify the I/O to get. + +The columns are as follows: + +| Order | Description | +| ------ | -------------------------- | +| 1 | Parameter key of the I/O | +| 2 | Parameter value of the I/O | + +#### Addinput and Addoutput + +To add a new I/O object, use one of the following commands: + +* **ADDINPUT** +* **ADDOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a addoutput -v "broker cfg for poller test;MyFileOutput;file" +``` + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a listoutput -v "broker cfg for poller test" +id;name +1;Storage +2;RRD +3;PerfData +4:MyFileOutput +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | --------------------------- | +| 1 | Name of Centreon Broker CFG | +| 2 | Name of the I/O object | +| 3 | Nature of I/O object | + +#### Delinput and Deloutput + +To remove an I/O object from the Centreon Broker configuration, use one of the following commands: + +* **DELINPUT** +* **DELOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a deloutput -v "broker cfg for poller test;4" +``` + +The I/O ID is used to identify the object to delete. + +#### Setintput and Setoutput + +To set the parameters of an I/O object, use one of the following commands: + +* **SETINPUT** +* **SETOUTPUT** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a setoutput -v "broker cfg for poller test;1;retry_interval;5'" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------------------------------------------- | +| 1 | Name of Centreon Broker CFG | +| 2 | ID of I/O object | +| 3 | Parameter name | +| 4 | Parameter value. For multiple values, use the "," delimiter | + +You may get help with the following CLAPI commands: + +* **GETTYPELIST** +* **GETFIELDLIST** +* **GETVALUELIST** + +Example: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a gettypelist -v "output" +type id;short name;name +27;bam_bi;BI engine (BAM) +16;sql;Broker SQL Database +32;correlation;Correlation +28;db_cfg_reader;Database configuration reader +29;db_cfg_writer;Database configuration writer +11;file;File +3;ipv4;IPv4 +10;ipv6;IPv6 +26;bam;Monitoring engine (BAM) +14;storage;Perfdata Generator (Centreon Storage) +13;rrd;RRD File Generator +30;graphite;Storage - Graphite +31;influxdb;Storage - InfluxDB +``` + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getfieldlist -v "ipv4" +field id;short name;name +3;ca_certificate;Trusted CA's certificate;text +2;host;Host to connect to;text +46;negotiation;Enable negotiation;radio +48;one_peer_retention_mode;One peer retention;radio +1;port;Connection port;int +4;private_key;Private key file.;text +12;protocol*;Serialization Protocol;select +5;public_cert;Public certificate;text +6;tls;Enable TLS encryption;radio +``` + +> ***NOTE:*** Note that the "protocol" entry is followed by a star. This means that you must use one of the possible values. + +This is how you get the list of possible values for a given field: + +``` shell +centreon -u admin -p 'centreon' -o CENTBROKERCFG -a getvaluelist -v "protocol" +possible values +ndo +``` + +The following chapters describe the parameters of each object type. + +ipv4: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in input

    +
  • +

ca_certificate

+

host

Trusted CA's certificate

+

Host to connect to

Trusted CA's certificate.

+

IP address or hostname of the host to connect to (leave blank for listening mode).

    +
  • +
  • +

one_peer_retention_mode

+

port

One peer retention

+

Connection port

This allows the retention to work even if the socket is listening

+

Port to listen on (empty host) or to connect to (with host filled).

    +
  • +
  • +

private_key

Private key file.

Private key file path when TLS encryption is used.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

public_cert

Public certificate

Public certificate file path when TLS encryption is used.

    +
  • +

tls

Enable TLS encryption

Enable TLS encryption.

    +
  • +
+ +ipv6: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in input

    +
  • +

ca_certificate

+

host

Trusted CA's certificate

+

Host to connect to

Trusted CA's certificate.

+

IP address or hostname of the host to connect to (leave blank for listening mode).

    +
  • +
  • +

one_peer_retention_mode

+

port

One peer retention

+

Connection port

This allows the retention to work even if the socket is listening

+

Port to listen on (empty host) or to connect to (with host filled).

    +
  • +
  • +

private_key

Private key file.

Private key file path when TLS encryption is used.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

public_cert

Public certificate

Public certificate file path when TLS encryption is used.

    +
  • +

tls

Enable TLS encryption

Enable TLS encryption.

    +
  • +
+ +file: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

compression

+

compression_buffer

+

compression_level

Compression (zlib)

+

Compression buffer size

+

Compression level

Enable or not data stream compression.

+

The higher the buffer size is, the best compression. This however increase data streaming latency. Use with caution.

+

Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression)

    +
  • +
  • +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

max_size

Maximum size of file

Maximum size in bytes.

    +
  • +

path

File path

Path to the file.

    +
  • +

protocol

Serialization protocol

Serialization protocol.

ndo

+ +#### logger + +file: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

Logging level

How much messages must be logged.

high,low,medium

max_size

+

name

Max file size in bytes

+

Name of the logger

The maximum size of log file.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

    +
  • +
  • +
+ +standard: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

+

name

Logging level

+

Name of the logger

How much messages must be logged.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

high,low,medium

+
    +
  • +
+ +syslog: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

Logging level

How much messages must be logged.

high,low,medium

+ +monitoring: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

config

Configuration messages

Enable or not configuration messages logging.

    +
  • +

debug

Debug messages

Enable or not debug messages logging.

    +
  • +

error

Error messages

Enable or not error messages logging.

    +
  • +

info

Informational messages

Enable or not informational messages logging.

    +
  • +

level

+

name

Logging level

+

Name of the logger

How much messages must be logged.

+

For a file logger this is the path to the file. For a standard logger, one of 'stdout' or 'stderr'.

high,low,medium

+
    +
  • +
+ +##### output + +ipv4: + +| ID | Label | Description | Possible values | +| -------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the better the compression is. This however increases data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in input | \- | +| ca\_certificate | Trusted CA's certificate | Trusted CA's certificate. | \- | +| host | Host to connect to | IP address or hostname of the host to connect to (leave blank for listening mode). | \- | +| one\_peer\_retention\_mode | one peer retention | This allows the retention to work even if the socket is listening | \- | +| port | Connection port | Port to listen on (empty host) or to connect to (with host filled). | \- | +| private\_key | Private key file. | Private key file path when TLS encryption is used. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | +| public\_cert | Public certificate | Public certificate file path when TLS encryption is used. | \- | +| tls | Enable TLS encryption | Enable TLS encryption | \- | + +ipv6: + +| ID | Label | Description | Possible values | +| -------------------------- | ------------------------ | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the better the compression is. This however increases data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in input | \- | +| ca\_certificate | Trusted CA's certificate | Trusted CA's certificate. | \- | +| host | Host to connect to | IP address or hostname of the host to connect to (leave blank for listening mode). | \- | +| one\_peer\_retention\_mode | one peer retention | This allows the retention to work even if the socket is listening | \- | +| port | Connection port | Port to listen on (empty host) or to connect to (with host filled). | \- | +| private\_key | Private key file. | Private key file path when TLS encryption is used. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | +| public\_cert | Public certificate | Public certificate file path when TLS encryption is used. | \- | +| tls | Enable TLS encryption | Enable TLS encryption | \- | + +file: + +| ID | Label | Description | Possible values | +| ------------------- | ----------------------- | -------------------------------------------------------------------------------------------------------------------- | --------------- | +| buffering\_timeout | Buffering timeout | Time in seconds to wait before launching failover. | \- | +| compression | Compression (zlib) | Enable or not data stream compression. | \- | +| compression\_buffer | Compression buffer size | The higher the buffer size is, the better the compression is. This however increases data streaming latency. Use with caution. | \- | +| compression\_level | Compression level | Ranges from 0 (no compression) to 9 (best compression). Default is -1 (zlib compression) | \- | +| failover | Failover name | Name of the output which will act as failover | \- | +| retry\_interval | Retry interval | Time in seconds to wait between each connection attempt. | \- | +| category | Filter category | Category filter for flux in output. | \- | +| max\_size | Maximum size of file | Maximum size in bytes. | \- | +| path | File path | Path to the file. | \- | +| protocol | Serialization protocol | Serialization protocol. | ndo | + +rrd: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

Filter category

Category filter for flux in output.

+
    +
  • +
+

metrics_path

+

path

+

port

RRD file directory for metrics

+

Unix socket

+

TCP port

RRD file directory, for example /var/lib/centreon/metrics

+

The Unix socket used to communicate with rrdcached. This is a global option, go to Administration > Options > RRDTool to modify it.

+

The TCP port used to communicate with rrdcached. This is a global option, go to Administration > Options > RRDTool to modify it.

    +
  • +
  • +
  • +

status_path

RRD file directory for statuses

RRD file directory, for example /var/lib/centreon/status

    +
  • +

write_metrics

Enable write_metrics

Enable or not write_metrics.

    +
  • +

write_status

Enable write_status

Enable or not write_status.

    +
  • +

store_in_data_bin

Enable store_in_data_bin

Enable or not the storage of performance data in 'data_bin'

+
    +
  • +
+
+ +storage: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

+

check_replication

Filter category

+

Replication enabled

Category filter for flux in output.

+

When enabled, the broker engine will check whether or not the replication is up to date before attempting to update data.

+
    +
  • +
+
+
    +
  • +

db_host

DB host

IP address or hostname of the database server.

    +
  • +

db_name

DB name

Database name.

    +
  • +

db_password

DB password

Password of database user.

    +
  • +

db_port

DB port

Port on which the DB server listens

    +
  • +

db_type

DB type

Target DBMS.

db2,ibase,mysql,oci,odbc,postgresql,sqlite,tds

db_user

DB user

Database user.

    +
  • +

interval

Interval length

Interval length in seconds.

    +
  • +

length

RRD length

RRD storage duration in seconds.

    +
  • +

queries_per_transaction

Maximum queries per transaction

The maximum queries per transaction before commit.

    +
  • +

read_timeout

+

rebuild_check_interval

Transaction commit timeout

+

Rebuild check interval in seconds

The transaction timeout before running commit.

+

The interval between checks if some metrics must be rebuilt. The default value is 300s.

    +
  • +
  • +

store_in_data_bin

Enable store_in_data_bin

Enable or not the storage of performance data in 'data_bin.

+
    +
  • +
+
+ +sql: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
IDLabelDescriptionPossible values

buffering_timeout

Buffering timeout

Time in seconds to wait before launching failover.

    +
  • +

failover

Failover name

Name of the output which will act as failover

    +
  • +

retry_interval

Retry interval

Time in seconds to wait between each connection attempt.

    +
  • +

category

+

check_replication

Filter category

+

Replication enabled

Category filter for flux in output.

+

When enabled, the broker engine will check whether or not the replication is up to date before attempting to update data.

+
    +
  • +
+
+
    +
  • +

db_host

DB host

IP address or hostname of the database server.

    +
  • +

db_name

DB name

Database name.

    +
  • +

db_password

DB password

Password of database user.

    +
  • +

db_port

DB port

Port on which the DB server listens.

    +
  • +

db_type

DB type

Target DBMS.

db2,ibase,mysql,oci,odbc,postgresql,sqlite,tds

db_user

DB user

Database user.

    +
  • +

queries_per_transaction

Maximum queries per transaction

The maximum queries per transaction.

    +
  • +

read_timeout

Transaction commit timeout

Timeout delay for a transaction.

    +
  • +
+ +### Centreon Engine + +Object name: **ENGINECFG** + +#### Show + +To list the available Centreon Engine configurations, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a show +id;name;instance;comment +1;Centreon Engine CFG 1;Central;Default CentreonEngine.cfg +[...] +``` + +The columns are as follows: + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Centreon Engine ID | +| 2 | Centreon Engine configuration name | +| 3 | Instance that is linked to centreon-engine.cfg | +| 4 | Comments regarding the configuration file | + +#### Add + +To add a Centreon Engine configuration, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a add -v "Centreon Engine cfg for poller NY;Poller-NY;Just a small comment" +``` + +The required fields are: + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Centreon Engine configuration name | +| 2 | Instance that is linked to centreon-engine.cfg | +| 3 | Comment regarding the configuration file | + +#### Del + +If you want to remove a Centreon Engine configuration, use the **DEL** action. To identify the configuration +to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a del -v "Centreon Engine cfg for poller NY" +``` + +#### Setparam + +If you want to change a specific parameter of a Centreon Engine configuration, use the **SETPARAM** action. To +identify the configuration to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a setparam -v "Centreon Engine cfg for poller NY;cfg_dir;/usr/local/nagios/etc" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| ---------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| nagios\_name | Name | +| instance | Instance that is linked to centreon-engine.cfg | +| broker\_module | example: \[...\] -v "Engine CFG NY;broker\_module;/usr/lib64/nagios/cbmod.so /etc/centreon-broker/central-module.json", you can use a | delimiter for defining multiple broker modules | +| nagios\_activate | *1* if activated, *0* otherwise | +| \* | Centreon CLAPI handles pretty much all the options available in a centreon-engine configuration file. Because the list is quite long, it is best to refer to the official documentation of Centreon Engine. | + +#### Addbrokermodule + +If you want to add a new broker module without removing existing modules, use **ADDBROKERMODULE**: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a addbrokermodule -v "Centreon Engine cfg for poller NY;/usr/lib64/centreon-engine/externalcmd.so" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Module name | + +To add multiple modules in one line, it will put the separator "/etc/centreon-broker/central-module.json" + +#### Delbrokermodule + +If you want to delete a broker module, use **DELBROKERMODULE**: + +``` shell +centreon -u admin -p 'centreon' -o ENGINECFG -a delbrokermodule -v "Centreon Engine cfg for poller NY;/usr/lib64/centreon-engine/externalcmd.so" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------- | +| 1 | Name of Centreon Engine configuration | +| 2 | Module name | + +To delete multiple modules in one line, add the separator "/etc/centreon-broker/central-module.json" + +### Commands + +Object name: **CMD** + +#### Show + +To list the available commands, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show +id;name;type;line +1;check-ping;check;$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ +2;check_dummy;check;$USER1$/check_dummy -o $ARG1$ -s $ARG2$ +[...] +``` + +You can also specify the command to search: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show -v 'check-ping' +id;name;type;line +1;check-ping;check;$USER1$/check_ping -H $HOSTADDRESS$ -w $ARG1$ -c $ARG2$ +``` + +The columns are as follows: + +| Column | Description | +| ------------ | ------------------------------------------------- | +| Command ID | | +| Command name | | +| Command type | *check*, *notif*, *misc* or *discovery* | +| Command line | System command line that will be run on execution | + +#### Add + +To add a command, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a ADD -v 'check-host-alive;check;$USER1$/check_ping -H $HOSTADDRESS$ -w 3000.0,80% -c 5000.0,100% -p 1' +``` + +The required columns are as follows: + +| Column | Description | +| ------------ | ------------------------------------------------- | +| Command name | | +| Command type | *check*, *notif*, *misc* or *discovery* | +| Command line | System command line that will be run on execution | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +If you want to remove a command, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a del -v 'check-host-alive' +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +If you want to change a specific parameter for a command, use the **SETPARAM** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a setparam -v 'check-host-alive;type;notif' +centreon -u admin -p 'centreon' -o CMD -a setparam -v 'check-host-alive;name;check-host-alive2' +``` + +The parameters that you can change are the following: + +| Parameter | Description | +| --------- | --------------------------------------- | +| name | Name of command | +| line | Command line | +| type | *check*, *notif*, *misc* or *discovery* | +| graph | Graph template applied on command | +| example | Example of arguments (i.e: \!80\!90) | +| comment | Comments regarding the command | +| activate | Activate or disable the command | +| enable_shell | Enable/Disable shell | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparam + +To get specific parameters on a command, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getparam -v "test;name|line|type" +name;line;type +check-ping;check;$USER1$/check_ping;Check ping +``` + +You may edit the following parameters: + +| Parameter | Description | +| --------- | --------------------------------------- | +| name | Name of command | +| line | Command line | +| type | *check*, *notif*, *misc* or *discovery* | +| graph | Graph template applied on command | +| example | Example of arguments (i.e: \!80\!90) | +| comment | Comments regarding the command | +| activate | Activate or disable the command | +| enable_shell | Enable/Disable shell | + +#### Getargumentdescr + +To retrieve the argument descriptions for a command, use the **getargumentdescr** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a getargumentdesc -v 'test-cmd' +name;description +ARG0;First Argument ARG1;Second Argument +``` + +#### Setargumentdescr + +If you want to change all argument descriptions for a command, use the **setargumentdescr** command: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a setargumentdescr -v 'check_centreon_ping;ARG1:count;ARG2:warning;ARG3:critical' +``` + +### Contact Groups + +Object name: **CG** + +#### Show + +To list the available contact groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a show +id;name;alias;members +Guest;Guests Group;guest-user1,guest-user2 +Supervisors;Centreon supervisors;Admin +``` + +The columns are as follows: + +| Column | Description | +| ------- | ---------------------------------------------- | +| Name | | +| Alias | | +| Members | List of contacts that are in the contact group | + +#### Add + +To add a contact group, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a ADD -v "Windows;Windows admins" +``` + +The required fields are: + +| Column | Description | +| ------ | ----------- | +| Name | Name | +| Alias | Alias | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To delete one contact group, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a DEL -v "Windows" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To change the name or the alias of a contactgroup, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a setparam -v "Windows;name;Windows-2K" +centreon -u admin -p 'centreon' -o CG -a setparam -v "Cisco;alias;Cisco-Routers" +``` + +The parameters that you can change are the following: + +| Parameter | Description | +| --------- | ----------- | +| name | Name | +| alias | Alias | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Enable + +To enable a contact group, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a enable -v "Guest" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Disable + +To disable a contact group, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a disable -v "Guest" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getcontact + +To view the contact list of a contact group, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a getcontact -v "Guest" +id;name +1;User1 +2;User2 +``` + +The columns are as follows: + +| Column | Description | +| ------ | --------------- | +| ID | Id of contact | +| Name | Name of contact | + +#### Addcontact and Setcontact + +To add a contact to a contact group, use the **ADDCONTACT** or **SETCONTACT** action, where 'add' will append +and 'set' will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o CG -a addcontact -v "Guest;User1" +centreon -u admin -p 'centreon' -o CG -a setcontact -v "Guest;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delcontact + +To remove a contact from a contact group, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o CG -a delcontact -v "Guest;User1" +centreon -u admin -p 'centreon' -o CG -a delcontact -v "Guest;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Contacts + +Object name: **CONTACT** + +#### Show + +To list the available contacts, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a show +id;name;alias;email;pager;gui access;admin;activate +4;Guest;guest;guest@localhost;;0;0;0 +5;Supervisor;admin;root@localhost;;1;1;1 +6;User;user;user@localhost;;0;0;0 +``` + +The columns are as follows: + +| Column | Description | +| ----------- | --------------------------------------------- | +| ID | ID of contact | +| Name | Name of contact | +| Alias | Alias of contact (also login id) | +| Email | Email of contact | +| Pager | Phone number of contact | +| GUI Access | *1* (can access UI) or *0* (cannot access UI) | +| Admin | *1* (admin) or *0* (non admin) | +| activate | *1* (enabled) or *0* (disabled) | + +#### Add + +To add a contact, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o CONTACT -a ADD -v "user;user;user@mail.com;mypassword;1;1;en_US;local" +``` + +The required parameters are as follows: + +| Parameter | Description | +| ------------------- | --------------------------------------------- | +| Name | Name of contact | +| Alias (login) | Alias of contact (also login id) | +| Email | Email of contact | +| Password | Password of contact (this field doesn't apply to contact templates) | +| Admin | *1* (admin) or *0* (non admin) | +| GUI Access | *1* (can access UI) or *0* (cannot access UI) | +| Language | Language pack has to be installed on Centreon | +| Authentication type | *local* or *ldap* | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To delete one contact, use the **DEL** action. To identify the contact to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o contact -a del -v "user" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +If you want to change a specific parameter for a contact, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;hostnotifcmd;command name" +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;svcnotifcmd;command name" +centreon -u admin -p 'centreon' -o contact -a setParam -v "contact alias;hostnotifperiod;period name" +centreon -u admin -p 'centreon' -o contact -a setparam -v "contact alias;timezone;Europe/Berlin" +``` + +The required parameters are as follows: + +| Parameter | Description | +| ------------- | -------------------------- | +| Contact alias | Alias of contact to update | +| Parameter | Parameter to update | +| Value | New value of parameter | + +The parameters that you can change are the following: + +| Parameter | Description | +| --------------------- | ------------------------------------------------------------------------------------ | +| name | Name | +| alias | Alias | +| comment | Comment | +| email | Email Address | +| password | User Password | +| access | Can reach centreon, *1* if user has access, *0* otherwise | +| language | Locale | +| admin | *1* if user is admin, *0* otherwise | +| authtype | *ldap* or *local* | +| hostnotifcmd | host notification command(s). Multiple commands can be defined with delimiter "|" | +| svcnotifcmd | service notification command(s). Multiple commands can be defined with delimiter "|" | +| hostnotifperiod | host notification period | +| svcnotifperiod | service notification period | +| hostnotifopt | can be d,u,r,f,s,n | +| servicenotifopt | can be w,u,c,r,f,s,n | +| address1 | Address \#1 | +| address2 | Address \#2 | +| address3 | Address \#3 | +| address4 | Address \#4 | +| address5 | Address \#5 | +| address6 | Address \#6 | +| ldap\_dn | LDAP domain name | +| enable\_notifications | *1* when notification is enabled, *0* otherwise | +| autologin\_key | Used for auto login | +| template | Name of the template to apply to the contact | +| timezone | Timezone | +| reach_api | **1** if the user has access to the API configuration, **0** otherwise | +| reach_api_rt | **1** if the user has access to the API realtime, **0** otherwise | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Enable + +To enable a contact, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a enable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Disable + +To disable a contact, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o contact -a disable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Contact templates + +Object name: CONTACTTPL + +Refer to the `CONTACT ` object + +### Dependencies + +Object name: **DEP** + +#### Show + +To list the available dependencies, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a show +id;name;description;inherits_parent;execution_failure_criteria;notification_failure_criteria +62;my dependency;a description;1;n;n +``` + +The columns are as follows: + +| Column | Description | +| ------------------------------- | -------------------------------------------------------------------------- | +| ID | Unique ID of the dependency | +| Name | Name | +| Description | Short description of the dependency | +| inherits\_parent | Whether or not dependency inherits higher level dependencies | +| execution\_failure\_criteria | Defines which parent states prevent dependent resources from being checked | +| notification\_failure\_criteria | Defines which parent states prevent notifications on dependent resources | + +#### Add + +To add a new dependency, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a ADD -v "my new dependency;any description;HOST;dummy-host" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | -------------------------------------------- | +| 1 | Name of the dependency | +| 2 | Description of the dependency | +| 3 | Dependency type: HOST, HG, SG, SERVICE, META | +| 4 | Name of the parent resource(s) | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To delete a dependency, use the **DEL** action. To identify the dependency to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a DEL -v "my dependency" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To set a specific parameter for a dependency, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a setparam -v "my dependency;name;my new dependency name" +``` + +You may change the following parameters: + +| Parameter | Description | +| ------------------------------- | ------------- | +| name | Name | +| description | Description | +| comment | Comment | +| inherits\_parent | *0* or *1* | +| execution\_failure\_criteria | o,w,u,c,p,d,n | +| notification\_failure\_criteria | o,w,u,c,p,d,n | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Listdep + +If you want to retrieve the dependency definition of a dependency object, use the **LISTDEP** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a LISTDEP -v "my dependency" +parents;children +HostParent1|HostParent2;HostChild1|HostChild2,ServiceChild2 +``` + +#### Addparent and Addchild + +If you want to add a new parent or a new child to a dependency definition, use the **ADDPARENT** or **ADDCHILD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a ADDPARENT -v "my dependency;my_parent_host" +centreon -u admin -p 'centreon' -o DEP -a ADDCHILD -v "my dependency;my_child_host" +centreon -u admin -p 'centreon' -o DEP -a ADDCHILD -v "my dependency;my_child_host2,my_child_service2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delparent and Delchild + +To delete a parent or a child from a dependency definition, use the **DELPARENT** or **DELCHILD** action: + +``` shell +centreon -u admin -p 'centreon' -o DEP -a DELPARENT -v "my dependency;my_parent_host" +centreon -u admin -p 'centreon' -o DEP -a DELCHILD -v "my dependency;my_child_host" +centreon -u admin -p 'centreon' -o DEP -a DELCHILD -v "my dependency;my_child_host2,my_child_service2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Downtime + +Object name: **DOWNTIME** + +#### Show + +To list the available recurring downtime periods, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a show +id;name;description;activate +1;mail-backup;sunday backup;1 +2;my downtime;a description;1 +``` + +The columns are as follows: + +| Column | Description | +| ----------- | ------------------------------------------- | +| ID | Unique ID of the recurring downtime | +| Name | Name | +| Description | Short description of the recurring downtime | +| Activate | Whether or not downtime is activated | + +To show the resources of a downtime period, use the **Show** action with parameters: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a show -v "mail-backup;host" +``` + +The parameters are the following: + +| Order | Description | +| ----- | ---------------------------------------------- | +| 1 | Name of the downtime | +| 2 | (optional) Object type (host, hg, service, sg) | + +#### Add + +To add a new downtime period, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADD -v "my new downtime;any description" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | --------------------------- | +| 1 | Name of downtime | +| 2 | Description of downtime | + +#### Del + +To delete downtime, use the **DEL** action. To identify the recurring downtime +to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a DEL -v "my downtime" +``` + +#### Setparam + +To set a specific parameter for downtime, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a setparam -v "my downtime;name;my new downtime name" +``` + +You may change the following parameters: + +| Parameter | Description | +| ----------- | ----------- | +| name | Name | +| description | Description | + +#### Listperiods + +If you want to retrieve the periods set on a recurring downtime period, use the **LISTPERIODS** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a LISTPERIODS -v "my downtime" +position;start time;end time;fixed;duration;day of week;day of month;month cycle +1;1;23:00:00;24:00:00;1;;7;;all +2;1;00:00:00;02:00:00;1;;;1,2;none +3;1;13:45:00;14:40:00;1;;5;;first +``` + +The columns are as follows: + +| Column | Description | +| ------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| Position | Position of the period; used to delete a period from a recurring downtime period | +| Start time | Start time of the recurring downtime period | +| End time | End time of the recurring downtime period | +| Fixed | Type of downtime (1 = fixed, 0 = flexible) | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | 1 - 7 (1 = monday ... 7 = sunday) | +| Day of month | 1 - 31 | +| Month cycle | "all", "none", "first" or "last". Determines when downtime will take effect on specific days of the week (e.g.: all Sundays, last Sunday of the month, first Sunday of the month...) | + +#### Addweeklyperiod + +To add a weekly period, use the **ADDWEEKLYPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDWEEKLYPERIOD -v "my downtime;00:00;04:00;0;7200;saturday,sunday" +``` + +The above example will set a downtime period every Saturday and Sunday between 00:00 and 04:00. + +| Parameter | Description | +| ----------- | ------------------------------------------------------------------- | +| Name | Name of the recurring downtime period | +| Start time | Start time of the recurring downtime period | +| End time | End time of the recurring downtime period | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | Can be written with letters or numbers (1 to 7 or Monday to Sunday) | + +#### Addmonthlyperiod + +To add a monthly period, use the **ADDMONTHLYPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDMONTHLYPERIOD -v "my downtime;19:00;22:00;1;;14,21" +``` + +The above example will set a downtime period on every 14th and 21st day for all months. + +| Parameter | Description | +| --------------- | ---------------------------------------------------- | +| Name | Name of the recurring downtime period | +| Start time | Start time of the recurring downtime period | +| End time | End time of the recurring downtime period | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of month | 1 to 31 | + +#### Addspecificperiod + +To add a specific period, use the **ADDSPECIFICPERIOD** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSPECIFICPERIOD -v "my downtime;19:00;22:00;1;;wednesday;first" +``` + +The above example will set a downtime period on every first Wednesday for all months. + +| Parameter | Description | +| --------------- | ------------------------------------------------------------------- | +| Name | Name of the recurring downtime period | +| Start time | Start time of the recurring downtime period | +| End time | End time of the recurring downtime period | +| Fixed | 0 for flexible downtime, 1 for fixed | +| Duration | Duration of downtime when in flexible mode (seconds) | +| Day of week | Can be written with letters or numbers (1 to 7 or Monday to Sunday) | +| Month cycle | first or last | + +#### Addhost, addhostgroup, addservice, addservicegroup + +If you want to associate a host, host group, service or service group to a recurring downtime period, use the **ADDHOST**, +**ADDHOSTGROUP**, **ADDSERVICE** or **ADDSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDHOST -v "my downtime;host_1" +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSERVICE -v "my downtime;host_1,service_1" +``` + +Use the "|" delimiter in order to define multiple relationships. + +#### Delhost, delhostgroup, delservice, delservicegroup + +If you want to remove a host, host group, service or service group from a recurring downtime, use the **DELHOST**, +**DELHOSTGROUP**, **DELSERVICE** or **DELSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a DELHOST -v "my downtime;host_1" +centreon -u admin -p 'centreon' -o DOWNTIME -a DELSERVICE -v "my downtime;host_1,service_1" +``` + +#### Sethost, sethostgroup, setservice, setservicegroup + +The **SETHOST**, **SETHOSTGROUP**, **SETSERVICE** AND **SETSERVICEGROUP** actions are similar to their **ADD** +counterparts, but they will overwrite the relationship definitions instead of appending them: + +``` shell +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDHOST -v "my downtime;host_1|host_2" +centreon -u admin -p 'centreon' -o DOWNTIME -a ADDSERVICE -v "my downtime;host_1,service_1|host_2,service_2" +``` + +Use the "|" delimiter in order to define multiple relationships. + +### Host categories + +Object name: **HC** + +#### Show + +To list the available host categories, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a show +id;name;alias;members +1;Linux;Linux Servers;host1 +2;Windows;Windows Server;host2 +3;AS400;AS400 systems;host3,host4 +``` + +The columns are as follows: + +| Column | Description | +| ------ | ---------------------- | +| Name | Name of host category | +| Alias | Alias of host category | + +#### Add + +To add a host category, use **ADD**: + +``` shell +centreon -u admin -p 'centreon' -o HC -a add -v "Databases;Databases servers" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | ---------------------- | +| 1 | Name of host category | +| 2 | Alias of host category | + +#### Del + +To delete a host category, use the **DEL** action. The name is used to identify the host category you want +to delete: + +``` shell +centreon -u admin -p 'centreon' -o HC -a DEL -v "Databases" +``` + +#### Getmember + +To view the list of hosts in a host category, use the **GETMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a getmember -v "Linux" +id;name +14;Centreon-Server +15;srv-test +``` + +#### Addmember and Setmember + +To add a host or a host template to a host category, use the **ADDMEMBER** or **SETMEMBER** action, where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HC -a addmember -v "Linux;host7" +centreon -u admin -p 'centreon' -o HC -a setmember -v "Windows;host7|host8|host9" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | ----------------------------------------------------------- | +| 1 | Host category name | +| 2 | Host names to add/set. For multiple definitions, use the \* | + +#### Setseverity + +To turn a host category into a severity, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a setseverity -v "Critical;3;16x16/critical.gif" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Host category name | +| 2 | Severity level - must be a number | +| 3 | Icon that represents the severity | + +#### Unsetseverity + +To turn a severity into a regular host category, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a unsetseverity -v "Critical" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | ------------------ | +| 1 | Host category name | + +#### Delmember + +To remove a host or a host template from a host category, use the **DELMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HC -a delmember -v "Linux;host7" +centreon -u admin -p 'centreon' -o HC -a delmember -v "Windows;host8" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | --------------------------------------- | +| 1 | Host category name | +| 2 | Host names to remove from host category | + +###### Host group services + +Object name: **HGSERVICE** + +Refer to the `SERVICE ` object. + +> ***NOTE:*** HGSERVICE works just like SERVICE; you only need to replace the host name with the host group name. + +### Host groups + +Object name: **HG** + +#### Show + +To list the available host groups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a show +id;name;alias +53;Linux-Servers;All linux servers +54;Windows-Servers;All windows servers +55;Networks;All other equipments +56;Printers;All printers +58;Routers;All routers +59;Switches;All switches +60;Firewall;All firewalls +61;Unix-Servers;All Unix servers +``` + +The columns are as follows: + +| Column | Description | +| ------ | ----------- | +| ID ID | | +| Name | Name | +| Alias | Alias | + +#### Add + +To add a hostgroup, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a add -v "SAP;SAP servers" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | ------------------- | +| 1 | Name of host group | +| 2 | Alias of host group | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To delete one hostgroup, use the **DEL** action. To identify the host group to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o HG -a DEL -v "SAP" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To set a specific parameter for a host group, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a setparam -v "SAP;name;hg1" +centreon -u admin -p 'centreon' -o HG -a setparam -v "SAP;alias;hg2" +``` + +You may change the following parameters: + +| Parameter | Description | +| ---------------- | ------------------------------- | +| name | Name | +| alias | Alias | +| comment | Comment | +| activate | *1* when enabled, *0* otherwise | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| map\_icon\_image | Map icon image | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparam + +To get specific parameters on a host group, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o HG -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|comment|notes" +alias;comment;notes +test;my comment;my notes +``` + +You may edit the following parameters: + +| Parameter | Description | +| ---------------- | ------------------------------- | +| name | Name | +| alias | Alias | +| comment | Comment | +| activate | *1* when enabled, *0* otherwise | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| map\_icon\_image | Map icon image | + +#### Getmember + +If you want to retrieve the members of a host group, use the **GETMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a getmember -v "Linux-Servers" +id;name +34;Centreon-Server +35;srv-web +``` + +#### Addmember and Setmember + +If you want to add members to a specific host group, use the **SETMEMBER** or **ADDMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a setmember -v "Linux-Servers;srv-test|srv-test2" +centreon -u admin -p 'centreon' -o HG -a addmember -v "Linux-Servers;srv-new" +``` + +| Action | Description | +| ------ | --------------------------------------------------------------------------------------- | +| set\* | Overwrites previous definitions. Use the `|` delimiter to set multiple members | +| add\* | Appends new members to the existing ones. Use the `|` delimiter to add multiple members | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delmember + +If you want to remove members from a specific host group, use the **DELMEMBER** action: + +``` shell +centreon -u admin -p 'centreon' -o HG -a delmember -v "Linux-Servers;srv-test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Hosts + +Object name: HOST + +#### Show + +To list the available hosts, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a show +id;name;alias;address;activate +82;sri-dev1;dev1;192.168.2.1;1 +83;sri-dev2;dev2;192.168.2.2;1 +84;sri-dev3;dev3;192.168.2.3;0 +85;sri-dev4;dev4;192.168.2.4;1 +86;sri-dev5;dev5;192.168.2.5;1 +87;sri-dev6;dev6;192.168.2.6;1 +94;sri-dev7;dev7;192.168.2.7;1 +95;sri-dev8;dev8;192.168.2.8;1 +``` + +You can also specify the host to search: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a show -v 'sri-dev1' +id;name;alias;address;activate +82;sri-dev1;dev1;192.168.2.1;1 +``` + +The columns are as follows: + +| Column | Description | +| ---------- | ------------------------------- | +| ID | ID of host | +| Name | Host name | +| Alias | Host alias | +| IP/Address | IP of host | +| Activate | 1 when enabled, 0 when disabled | + +#### Show by address + +To list the available hosts by address, use the **SHOWBYADDRESS** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a showbyaddress -v 'localhost' +id;name;alias;address;activate +82;sri-dev1;dev1;localhost;1 +``` + +The columns are as follows: + +| Column | Description | +| ---------- | ------------------------------- | +| ID | ID of host | +| Name | Host name | +| Alias | Host alias | +| IP/Address | IP of host | +| Activate | 1 when enabled, 0 when disabled | + +#### Add + +To add a host, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a ADD -v "test;Test host;127.0.0.1;generic-host;central;Linux" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------------------------------------------------ | +| 1 | Host name | +| 2 | Host alias | +| 3 | Host IP address | +| 4 | Host templates; for multiple definitions, use delimiter \*\* | +| 5 | Instance name (poller) | +| 6 | Hostgroup; for multiple definitions, use delimiter \*\* | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To delete one host, use the **DEL** action. You need to list the available hosts in order to identify the one +you want to delete: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a DEL -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To change the parameters on a host configuration, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;alias;Development test" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;address;192.168.1.68" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;check_period;24x7" +centreon -u admin -p 'centreon' -o HOST -a setparam -v "test;timezone;Europe/Berlin" +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| geo\_coords | Geo coordinates | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Enables check freshness | +| check\_period | Check period | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options 'o' for Up, 'd' for Down, 'u' for Unreachable | +| host\_high\_flap\_threshold | High flap threshold | +| host\_low\_flap\_threshold | Low flap threshold | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma-separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap) | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | +| comment | Comment | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparam + +To get specific parameters on a host configuration, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|alia|timezone" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;alias|address|timezone" +alias;address;timezone +test;192.168.56.101;Europe/Berlin +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Enables check freshness | +| check\_period | Check period | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options 'o' for Up, 'd' for Down, 'u' for Unreachable | +| host\_high\_flap\_threshold | High flap threshold | +| host\_low\_flap\_threshold | Low flap threshold | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempts before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma-separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap) | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | +| comment | Comment | + +#### Setinstance + +To set the instance from which a host will be monitored, use the **SETINSTANCE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setinstance -v "Centreon-Server;Poller 1" +``` + +#### Showinstance + +To determine the instance from which a host will be monitored, use the **SHOWINSTANCE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a showinstance -v "Centreon-Server" +id;name +2;Poller 1 +``` + +#### Getmacro + +To view the custom macro list of a host, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getmacro -v "Centreon-Server" +macro name;macro value;is_password;description +$_HOSTMACADDRESS$;00:08:C7:1B:8C:02;0;description of macro +``` + +#### Setmacro + +To set a custom host macro, use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setmacro -v "Centreon-Server;warning;80;0;description of macro" +centreon -u admin -p 'centreon' -o HOST -a setmacro -v "Centreon-Server;critical;90;0;description of macro" +``` + +The required parameters are as follows: + +| Order | Description | +| -------- | ---------------------------------------- | +| 1 | Host name | +| 2 | Macro name | +| 3 | Macro value | +| 4 | 1 for a password macro, 0 otherwise | +| 5 | Description of macro | + +> ***NOTE:*** If the macro already exists, this action will only update the macro value. Otherwise, the macro will be created. + +#### Delmacro + +To delete a macro host, use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delmacro -v "Centreon-Server;warning" +centreon -u admin -p 'centreon' -o HOST -a delmacro -v "Centreon-Server;critical" +``` + +#### Gettemplate + +To view the template list for a host, use the **GETTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a gettemplate -v "Centreon-Server" +id;name +2;generic-host +12;Linux-Servers +``` + +#### Addtemplate and Settemplate + +To add a host template to an existing host, use the **ADDTEMPLATE** or the **SETTEMPLATE** action, where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addtemplate -v "Centreon-Server;srv-Linux" +centreon -u admin -p 'centreon' -o HOST -a settemplate -v "Centreon-Server;hardware-Dell" +``` + +> ***NOTE:*** All service templates linked to the new host template will be automatically deployed on the existing host (no longer +the case with versions later than 1.3.0; use the 'applytpl' action manually). + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Deltemplate + +To remove a host template from an existing host, use the **DELTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a deltemplate -v "test;srv-Linux|hardware-Dell" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Applytpl + +When you add a service template to a host template, the change is not automatically reflected in hosts using that template. For the change to take effect, you must re-apply the template to this host. For this, +use the **APPLYTPL** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a applytpl -v "test" +All new services are now created. +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparent + +To view the parents of a host, use the **GETPARENT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparent -v "Centreon-Server" +id;name +43;server-parent1 +44;server-parent2 +``` + +#### Addparent and Setparent + +To add a parent host to a host, use the **ADDPARENT** or **SETPARENT** actions, where *add* will append and +*set* will overwrite the previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addparent -v "host;hostParent1" +centreon -u admin -p 'centreon' -o HOST -a setparent -v "host;hostParent1|hostParent2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delparent + +To remove a parent, use the **DELPARENT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delparent -v "Centreon-Server;server-parent1|server-parent2" +``` + +#### Getcontactgroup + +To view the notification contact groups for a host, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getcontactgroup -v "Centreon-Server" +id;name +17;Administrators +``` + +#### Addcontactgroup and Setcontactgroup + +If you want to add notification contact groups to a host, use the **ADDCONTACTGROUP** or **SETCONTACTGROUP** actions, +where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addcontactgroup -v "Centreon-Server;Contactgroup1" +centreon -u admin -p 'centreon' -o HOST -a setcontactgroup -v "Centreon-Server;Contactgroup1|Contactgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delcontactgroup + +If you want to remove notification contact groups from a host, use the **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delcontactgroup -v "Centreon-Server;Contactgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getcontact + +To view the notification contacts for a host, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getcontact -v "Centreon-Server" +id;name +11;guest +``` + +#### Addcontact and Setcontact + +If you want to add notification contacts to a host, use the **ADDCONTACT** or **SETCONTACT** actions, where *add* will +append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addcontact -v "Centreon-Server;Contact1" +centreon -u admin -p 'centreon' -o HOST -a setcontact -v "Centreon-Server;Contact1|Contact2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delcontact + +If you want to remove a notification contact from a host, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delcontact -v "Centreon-Server;Contact2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Gethostgroup + +To view the hostgroups that are linked to a host, use the **GETHOSTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a gethostgroup -v "Centreon-Server" +id;name +9;Linux-Servers +``` + +#### Addhostgroup and Sethostgroup + +If you want to link hostgroups to a host, use the **ADDHOSTGROUP** or **SETHOSTGROUP** actions, where *add* will append +and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a addhostgroup -v "Centreon-Server;Hostgroup1" +centreon -u admin -p 'centreon' -o HOST -a sethostgroup -v "Centreon-Server;Hostgroup1|Hostgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delhostgroup + +If you want to remove hostgroups from a host, use the **DELHOSTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a delhostgroup -v "Centreon-Server;Hostgroup2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setseverity + +To associate a severity to a host, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a setseverity -v "Centreon-Server;Critical" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------- | +| 1 | Host name | +| 2 | Severity name | + +#### Unsetseverity + +To remove the severity from a host, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a unsetseverity -v "Centreon-Server" +``` + +Required parameters: + +| Order | Description | +| ----- | ----------- | +| 1 | Host name | + +#### Enable + +To enable a host, use the **ENABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a enable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Disable + +To disable a host, use the **DISABLE** action: + +``` shell +centreon -u admin -p 'centreon' -o HOST -a disable -v "test" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Host templates + +Object name: **HTPL** + +Refer to the `HOST ` object. + +> ***NOTE:*** You cannot use the **APPLYTPL** and **SETINSTANCE** actions on **HTPL** objects. + +If you want to link a service template to a host template, refer to the ADDHOSTTEMPLATE/SETHOSTTEMPLATE command +for the `STPL ` object. + +### Instances (Pollers) + +Object name: **INSTANCE** + +#### Show + +To list the available instances, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a show +id;name;localhost;ip address;activate;status;init script;monitoring engine;bin;stats bin;perfdata;ssh port +1;Central;1;127.0.0.1;1;0;/etc/init.d/nagios;NAGIOS;/usr/local/nagios/bin/nagios;/usr/local/nagios/bin/nagiostats;/usr/local/nagios/var/service-perfdata;22 +[...] +``` + +The columns are as follows: + +| Column | Description | +| ----------- | ------------------------------------------- | +| ID | ID | +| Name | Name | +| Localhost | *1* if it is the main poller, *0* otherwise | +| IP Address | IP address of the poller | +| Activate | *1* if poller is enabled, *0* otherwise | +| Status | *1* if poller is running, *0* otherwise | +| Init script | Init script path | +| Bin | Path of the Scheduler binary | +| Stats Bin | Path of the Nagios Stats binary | +| SSH Port | SSH Port | + +#### Add + +To add an instance, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a add -v "Poller test;10.30.2.55;22;ZMQ;5556" +``` + +The required fields are: + +| Column | Description | +| -------------------------- | ------------------------------------------------- | +| Name | | +| Address | IP address of the poller | +| SSH Port | SSH port | +| Gorgone Communication Type | ZMQ (1) or SSH (2) | +| Gorgone Communication Port | Port used by Gorgone to communicate | + +#### Del + +If you want to remove an instance, use the **DEL** action. To identify the instance to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a del -v "Poller test" +``` + +#### Setparam + +If you want to change a specific parameter of an instance, use the **SETPARAM** command. To +identify the instance to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a setparam -v "Poller test;ns_ip_address;10.30.2.99" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of instance | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| ---------------------------- | ------------------------------------------- | +| name | Name of the poller | +| localhost | *1* if it is the main poller, *0* otherwise | +| ns\_ip\_address | IP address of the poller | +| ns\_activate | *1* if poller is enabled, *0* otherwise | +| engine\_start\_command | Command to start the Centreon Engine process | +| engine\_stop\_command | Command to stop the Centreon Engine process | +| engine\_restart\_command | Command to restart the Centreon Engine process | +| engine\_reload\_command | Command to reload the Centreon Engine process | +| nagios\_bin | Path of the Scheduler binary | +| nagiostats\_bin | Path of the Nagios Stats binary | +| ssh\_port | SSH Port | +| broker\_reload\_command | Command to reload the Centreon Broker process | +| centreonbroker\_cfg\_path | Centreon Broker Configuration path | +| centreonbroker\_module\_path | Centreon Broker Module path | + +#### Gethosts + +If you want to list all hosts that are monitored by a poller, use the **GETHOSTS** action. To +identify the instance to query, use its name: + +``` shell +centreon -u admin -p 'centreon' -o INSTANCE -a GETHOSTS -v "Poller test" +14;Centreon-Server;127.0.0.1 +17;srv-website;10.30.2.1 +``` + +The following information is returned: + +| Order | Description | +| ----- | ------------ | +| 1 | Host ID | +| 2 | Host name | +| 3 | Host address | + +### LDAP configuration + +Object name: **LDAP** + +#### Show + +To list the available LDAP configurations, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a show +id;name;description;status +3;ad;my ad conf;1 +2;openldap;my openldap conf;1 +[...] +``` + +The columns are as follows: + +| Order | Description | +| ----- | ------------------------------- | +| 1 | ID | +| 2 | Configuration name | +| 3 | Configuration description | +| 4 | 1 when enabled, 0 when disabled | + +#### Add + +To add an LDAP configuration, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a add -v "my new configuration;my description" +``` + +The required fields are: + +| Order | Description | +| ----- | ------------------------- | +| 1 | Configuration name | +| 2 | Configuration description | + +#### Del + +If you want to remove an LDAP configuration, use the **DEL** action. To identify the +LDAP configuration to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a del -v "my new configuration" +``` + +#### Setparam + +If you want to change a specific parameter of an LDAP configuration, use the **SETPARAM** action. To identify the LDAP configuration to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SETPARAM -v "my new configuration;description;my new desc" +``` + +The parameters use the following order: + +| Order | Description | +| ----- | ----------------------- | +| 1 | Configuration to update | +| 2 | Parameter key | +| 3 | Parameter value | + +The parameters that you may change are the following: + +| Key | Description | +| ---------------------- | -------------------------------------------------------------- | +| name | Configuration name | +| description | Configuration description | +| enable | 1 when enabled, 0 when disabled | +| alias | Alias | +| bind\_dn | Bind DN | +| bind\_pass | Bind password | +| group\_base\_search | Group base search | +| group\_filter | Group filter | +| group\_member | Group member | +| group\_name | Group name | +| ldap\_auto\_import | Enable or disable auto import (0 or 1) | +| ldap\_contact\_tmpl | Contact template to use on import | +| ldap\_dns\_use\_domain | Use domain or not (0 or 1) | +| ldap\_search\_limit | Search size limit | +| ldap\_search\_timeout | Timeout delay (in seconds) | +| ldap\_srv\_dns | DNS server (only used when ldap\_dns\_use\_domain is set to 1) | +| ldap\_store\_password | Store password in database or not (0 or 1) | +| ldap\_template | Possible values: Posix, Active Directory | +| ldap\_auto\_sync | Enable LDAP synchronization on login (0 or 1) | +| ldap\_sync\_interval | Specify the interval between LDAP synchronizations (in hours) | +| protocol\_version | Protocol version (2 or 3) | +| user\_base\_search | User base search | +| user\_email | User email | +| user\_filter | User filter | +| user\_firstname | User firstname | +| user\_lastname | User lastname | +| user\_name | User name | +| user\_pager | User phone number | +| user\_group | User group | + +#### Showserver + +To show the list of servers for an LDAP configuration, use the **SHOWSERVER** action. To identify the LDAP configuration to query, use its name: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SHOWSERVER -v "openldap" +id;address;port;ssl;tls;order +2;10.30.2.3;389;0;0;1 +``` + +#### Addserver + +To add a server to an LDAP configuration, use the **ADDSERVER** action: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a ADDSERVER -v "openldap;10.30.2.15;389;0;1" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | ------------------ | +| 1 | Configuration name | +| 2 | Server address | +| 3 | Server port | +| 4 | Use SSL or not | +| 5 | Use TLS or not | + +#### Delserver + +To remove a server from an LDAP configuration, use the **DELSERVER** action. The server ID is used to +identify the server to delete: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a DELSERVER -v 2 +``` + +#### Setparamserver + +To update the server parameters of an LDAP configuration, use the **SETPARAMSERVER** action. The server ID is +used to identify the server to update: + +``` shell +centreon -u admin -p 'centreon' -o LDAP -a SETPARAMSERVER -v "2;use_ssl;1" +``` + +Parameters that you may update are the following: + +| Key | Description | Possible values | +| ------------- | ---------------------------------- | --------------- | +| host\_address | Address of the server | | +| host\_port | Port of the server | | +| host\_order | Priority order in case of failover | | +| use\_ssl | Use SSL or not | 0 or 1 | +| use\_tls | Use TLS or not | 0 or 1 | + +### Realtime acknowledgement + +Object name: **RTACKNOWLEDGEMENT** + +#### Show acknowledgements on a host + +To list the acknowledgements that have been applied to a host, use the **SHOW** action. You can use the "HOST" value to display +all the acknowledgements: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a show -v "HOST;host-name" +id;host_name;entry_time;author;comment_data;sticky;notify_contacts;persistent_comment +6;generic-host;2017/09/28 14:21;admin;'generic-comment';2;0;1 +``` + +The columns are as follows: + +| Column | Description | +| ------------------- | ---------------------------------------------------------------------------------- | +| Id | ID of the acknowledgement | +| Host\_name | Name of the host | +| Entry\_time | Beginning of the acknowledgement | +| Author | Name of the author | +| Comment\_data | Short description of the acknowledgement | +| Sticky | Acknowledgement will be maintained in case of a change of Not-OK status (0/2) | +| Notify\_contacts | Notification send to the contacts linked to the object (0/1) | +| Persistent\_comment | Acknowledgement will be maintained in the case of a restart of the scheduler (0/1) | + +#### Show acknowledgements on a service + +To list the acknowledgements that have been applied to a service, use **SHOW**. You can use the "SVC" value to display +all the acknowledgements: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a show -v "SVC;host-name,service-name" +id;host_name;service_name;entry_time;author;comment_data;sticky;notify_contacts;persistent_comment +42;generic-host;generic-service;2017/09/28 14:21;admin;'generic-comment';2;0;1 +``` + +The columns are as follows: + +| Column | Description | +| ------------------- | ---------------------------------------------------------------------------------- | +| Id | ID of the acknowledgement | +| Host\_name | Name of the host | +| Service\_name | Name of the service | +| Entry\_time | Beginning of the acknowledgement | +| Author | Name of the author | +| Comment\_data | Short description of the acknowledgement | +| Sticky | Acknowledgement will be maintained in case of a change of Not-OK status (0/2) | +| Notify\_contacts | Notification send to the contacts linked to the object (0/1) | +| Persistent\_comment | Acknowledgement will be maintained in the case of a restart of the scheduler (0/1) | + +#### Acknowledge a host + +If you want to apply an acknowledgement to a host, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a add -v "HOST;host-name;my comments;2;0;1" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ----------------------------------------------------------------------------------------------- | +| 1 | Value you want to associate (HOST) | +| 2 | Name of the host | +| 3 | Short description of the realtime acknowledgement | +| 4 | Acknowledgement maintained in case of a change of status (sticky use 0 or 2) | +| 5 | Notification send to the contacts linked to the object (notify use 0 or 1) | +| 6 | Maintained the acknowledgement in the case of a restart of the scheduler (persistent use 0 or 1) | + +#### Acknowledge a service + +If you want to apply an acknowledgement to a service or service group, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a add -v "SVC;central,ping|central,memory;my comments;2;0;1" +``` + +The required parameters are the following : + +| Order | Description | +| ----- | ----------------------------------------------------------------------------------------------- | +| 1 | Value you want to associate | +| 2 | Name of the host, name of the service | +| 3 | Short description of the realtime acknowledgement | +| 4 | Acknowledgement maintained in case of a change of status (sticky use 0 or 2) | +| 5 | Notification send to the contacts linked to the object (notify use 0 or 1) | +| 6 | Maintained the acknowledgement in the case of a restart of the scheduler (persistent use 0 or 1) | + +#### Cancel an acknowledgement + +To cancel an acknowledgement, use the **CANCEL** action: + +``` shell +centreon -u admin -p 'centreon' -o RTACKNOWLEDGEMENT -a cancel -v "central,ping" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | -------------------------------- | +| 1 | Name of acknowledged resource(s) | + +### Realtime downtime + +Object name: **RTDOWNTIME** + +#### Show downtimes on hosts + +To list the downtime periods that have been applied to a host, use the **SHOW** action. You can use the "HOST" value to display all the downtime periods: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a show -v "HOST;host-name" +id;host_name;author;actual_start_time;actual_end_time;start_time;end_time;comment_data;duration;fixed +6;generic-host;admin;2017/09/28 14:21;N/A;2017/09/26 17:00;2017/09/30 19:00;'generic-comment';3600;1 +``` + +The columns are as follows: + +| Column | Description | +| ------------------- | ---------------------------------------------------------- | +| id | Name of the downtime | +| Host\_name | Name of the host | +| Author | Name of the author | +| Actual\_start\_time | Actual start date in case of flexible downtime | +| Actual\_end\_time | Actual end date in case of flexible downtime | +| Start\_time | Beginning of downtime | +| End\_time | End of downtime | +| Comment\_data | Short description of the realtime downtime | +| Duration | Duration of downtime | +| Fixed | Downtime starts and stops at the exact start and end times | + +#### Show downtimes on services + +To list the downtime periods that have been applied to a service, use **SHOW**. You can use the value "SVC" to display all the +downtimes: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a show -v "SVC;host-name,service-name" +id;host_name;service_name;author;start_time;end_time;comment_data;duration;fixed +42;generic-host;generic-service;admin;2017/09/28 14:21;N/A;2017/09/26 17:00;2017/09/30 19:00;'generic-comment';3600;1 +``` + +The columns are as follows: + +| Column | Description | +| ------------------- | ---------------------------------------------------------- | +| id | Name of the downtime | +| Host\_name | Name of the host | +| Service\_name | Name of the service | +| Author | Name of the author | +| Actual\_start\_time | Actual start date in case of flexible downtime | +| Actual\_end\_time | Actual end date in case of flexible downtime | +| Start\_time | Beginning of downtime | +| End\_time | End of downtime | +| Comment\_data | Short description of the realtime downtime | +| Duration | Duration of downtime | +| Fixed | Downtime starts and stops at the exact start and end times | + +#### Add host or host group downtime + +If you want to apply downtime to a host or a host group, use the **ADD** action. To set the value of the +start/end time, use the following format: YYYY/MM/DD HH:mm + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "HOST;central;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments;1" +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "HG;linux-servers;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments;1" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate (HOST or HG) | +| 2 | Name of the host | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | +| 8 | Apply downtime on linked services (0/1) | + +#### Add service or service group downtime + +If you want to apply downtime to a service or service group, use the **ADD** action. To set the value of +the start/end time, use the following format: YYYY/MM/DD HH:mm + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "SVC;central,ping|central,memory;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments" +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "SG;servicegroup1;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate (SVC or SG) | +| 2 | Name of the host (Name of the service) | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | + +#### Add instance downtime + +To apply downtime to a poller, use the **ADD** action. To set the value of the start/end time, use +the following format : YYYY/MM/DD HH:mm + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a add -v "INSTANCE;Central;2017/09/24 10:00;2017/09/24 12:00;1;3600;my comments +``` + +The required parameters are the following: + +| Order | Description | +| ----- | ------------------------------------------------ | +| 1 | Value you want to associate (INSTANCE) | +| 2 | Name of the poller | +| 3 | Beginning of downtime | +| 4 | End of downtime | +| 5 | Type of downtime (1 = fixed, 0 = flexible) | +| 6 | Duration of downtime for flexible mode (seconds) | +| 7 | Short description of the realtime downtime | + +#### Cancel downtime + +To cancel downtime, use the **CANCEL** action. To get the value of the ID, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o RTDOWNTIME -a cancel -v "6|42" +``` + +The required parameters are the following: + +| Order | Description | +| ----- | -------------- | +| 1 | Id of downtime | + +### CFG resource + +Object name: **RESOURCECFG** + +#### Show + +To list the available resource variables, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a show +id;name;value;comment;activate;instance +1;$USER1$;/usr/local/nagios/libexec;path to the plugins;1;Central +[...] +``` + +The columns are as follows: + +| Column | Description | +| -------- | -------------------------------------------- | +| ID | ID | +| Name | Name | +| Value | Value of $USERn$ macro | +| Comment | Comment | +| Activate | *1* when activated, *0* otherwise | +| Instance | Instances that are tied to the $USERn$ macro | + +#### Add + +To add a resource macro, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a add -v "USER2;public;Poller test;my comment" +``` + +The required fields are: + +| Column | Description | +| --------- | ---------------------------------------- | +| Name | Macro name; do not use the $ symbol | +| Value | Macro value | +| Instances | Instances that are tied to $USERn$ macro | +| Comment | Comment | + +#### Del + +If you want to remove a resource variable, use the **DEL** action. To identify the variable to +delete, use its ID: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a del -v "1" +``` + +#### Setparam + +If you want to change a specific parameter of a resource macro, use the **SETPARAM** action. To +identify the macro to update, use its ID: + +``` shell +centreon -u admin -p 'centreon' -o RESOURCECFG -a setparam -v "1;instance;Poller test|AnotherPoller" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ------ | ----------------------------------- | +| 1 | ID number of resource configuration | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| -------- | --------------------------------------------------------- | +| name | Macro name; do not use the $ symbol | +| value | Macro value | +| activate | *1* when activated, *0* otherwise | +| comment | Comment | +| instance | Instances that are tied to $USERn$ macro Use delimiter \* | + +### Service categories + +Object name: **SC** + +#### Show + +To list the available service categories, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a show +id;name;description +1;Ping;ping +2;Traffic;traffic +3;Disk;disk +``` + +The columns are as follows: + +| Column | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Add + +To add a service category, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a ADD -v "Alfresco;Alfresco Services" +``` + +The required parameters are: + +| Column | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Del + +To remove a service category, use **DEL**: + +``` shell +centreon -u admin -p 'centreon' -o SC -a del -v "Alfresco" +``` + +#### Setparam + +To change the parameters for a service category, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a setparam -v "SG1;name;Web Service" +``` + +You can change the following parameters: + +| Parameter | Description | +| ----------- | ------------------------------- | +| Name | Name of service category | +| Description | Description of service category | + +#### Getservice and Getservicetemplate + +To view the services in a service category, use the **GETSERVICE** or **GETSERVICETEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a getservice -v "Ping-Category" +host id;host name;service id;service description +14;Centreon-Server;27;Ping +27;srv-web;42;Ping +``` + +``` shell +centreon -u admin -p 'centreon' -o SC -a getservicetemplate -v "Ping-Category" +template id;service template description +22;Ping-LAN +23;Ping-WAN +``` + +#### Addservice, Setservice , Addservicetemplate and Setservicetemplate + +To add a new element to a specific service category, use the **ADDSERVICETEMPLATE** action, where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SC -a addservicetemplate -v "Ping-Category;my template" +``` + +#### Delservice and Delservicetemplate + +To remove a service from a specific service category, use the **DELSERVICE** OR **DELSERVICETEMPLATE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SC -a delservice -v "Ping-Category;my host,my service" +``` + +``` shell +centreon -u admin -p 'centreon' -o SC -a delservicetemplate -v "Ping-Category;my template" +``` + +#### Setseverity + +To turn a service category into a severity, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a setseverity -v "Critical;3;16x16/critical.gif" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Service category name | +| 2 | Severity level - must be a number | +| 3 | Icon that represents the severity | + +#### Unsetseverity + +To turn a severity into a regular service category, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SC -a unsetseverity -v "Critical" +``` + +The required parameters are as follows: + +| Order | Description | +| ----- | --------------------- | +| 1 | Service category name | + +### Service groups + +Object name: **SG** + +#### Show + +To list all servicegroups, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a show +id;name;alias +11;Alfresco;Alfresco Services +``` + +You can also search for a specific service group: + +``` shell +centreon -u admin -p 'centreon' -o SG -a show -v 'Alfresco' +id;name;alias +11;Alfresco;Alfresco Services +``` + +#### Add + +To add a servicegroup, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a ADD -v "Alfresco;Alfresco Services" +``` + +The required fields are: + +| Order | Description | +| ----- | ---------------------- | +| 1 | Name of service group | +| 2 | Alias of service group | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To remove a servicegroup, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a del -v "Alfresco" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To change the parameters for a servicegroup, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a setparam -v "SG1;name;Web Service" +``` + +You can change the following parameters: + +| Parameter | Description | +| --------- | ---------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| name | Name of service group | +| alias | Alias of service group | +| comment | Comments regarding service group | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparam + +To get specific parameters on a servicegroup, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a getparam -v "test;alias|name|comment" +alias;name;comment +Web service;app1;my best app1 +``` + +You may edit the following parameters: + +| Parameter | Description | +| --------- | ---------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| name | Name of service group | +| alias | Alias of service group | +| comment | Comments regarding service group | + +#### Getservice and Gethostgroupservice + +To view the members of a service group, use the **GETSERVICE** or **GETHOSTGROUPSERVICE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a getservice -v "Web-Access" +host id;host name;service id;service description +14;Centreon-Server;28;http +14;Centreon-Server;29;TCP-80 +``` + +``` shell +centreon -u admin -p 'centreon' -o SG -a gethostgroupservice -v "Web-Access" +hostgroup id;hostgroup name;service id;service description +22;Web group;31;mysql +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +#### Addservice, Setservice, Addhostgroupservice and Sethostgroupservice + +To add a new element to a specific service group, you can use **ADDSERVICE**, **SETSERVICE**, +**ADDHOSTGROUPSERVICE**, **SETHOSTGROUPSERVICE** where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a addservice -v "Web-Access;www.centreon.com,http" +centreon -u admin -p 'centreon' -o SG -a setservice -v "Web-Access;www.centreon.com,TCP-80|www.centreon.com,http|www.centreon.com,mysql" +centreon -u admin -p 'centreon' -o SG -a sethostgroupservice -v "Web-Access;web group,TCP-80" +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delservice and Delhostgroupservice + +To remove a service from a service group, use the **DELSERVICE** or **DELHOSTGROUPSERVICE** actions: + +``` shell +centreon -u admin -p 'centreon' -o SG -a delservice -v "Web-Access;www.centreon.com,http" +centreon -u admin -p 'centreon' -o SG -a delhostgroupservice -v "Web-Access;Web group,mysql" +``` + +> ***NOTE:*** *hostgroupservice* is a service by hostgroup + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +### Services + +Object name: **SERVICE** + +#### Show + +To list all services, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +14;Centreon-Server;20;Disk-/home;;;;;;2;2;1 +14;Centreon-Server;21;Disk-/opt;;;;;;2;2;1 +14;Centreon-Server;22;Disk-/usr;;;;;;2;2;1 +14;Centreon-Server;23;Disk-/var;;;;;;2;2;1 +14;Centreon-Server;151;Load;;;;;;2;2;1 +14;Centreon-Server;25;Memory;;;;;;2;2;1 +14;Centreon-Server;26;Ping;;;;;;2;2;0 +14;Centreon-Server;40;dummy;check_centreon_dummy;!2!critical;;;;2;2;1 +``` + +You can also search for a specific service: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show -v 'Disk-/' +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +15;Centreon-DB;20;Disk-/;;;;;;2;2;1 +``` + +Or search for a service attached to a specific host: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a show -v 'Centreon-Server;Disk-/' +host id;host name;id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled;activate +14;Centreon-Server;19;Disk-/;;;;;;2;2;1 +``` + +The columns are as follows: + +| Column | Description | +| --------------------- | -------------------------------------------------- | +| Host ID | Host ID | +| Host name | Host name | +| Service ID | Service ID | +| Service description | Service description | +| Check Command | Check command | +| Command arguments | Check command arguments | +| Normal check interval | Normal check interval | +| Retry check interval | Retry check interval | +| Max check attempts | Maximum check attempts | +| Active check enable | *1* when active checks are enabled, *0* otherwise | +| Passive check enable | *1* when passive checks are enabled, *0* otherwise | +| Activate | *1* when enabled, *0* when disabled | + +#### Add + +To add a service, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a add -v "Host-Test;ping;Ping-LAN" +``` + +The required fields are: + +| Order | Description | +| ----- | ----------------------------------------------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Service template - Only one service template can be defined | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Del + +To remove a service, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a del -v "test;ping" +``` + +The required fields are: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setparam + +To set a specific parameter for a particular service, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;max_check_attempts;10" +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;normal_check_interval;2" +centreon -u admin -p 'centreon' -o SERVICE -a setparam -v "test;ping;normal_check_interval;10" +``` + +The required fields are: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Parameter that you want to update | +| 4 | New parameter value | + +Parameters that may be modified: + +| Parameter | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| description | Description | +| template | Name of the service template | +| is\_volatile | *1* when service is volatile, *0* otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' character | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | *1* when active checks are enabled, *0* otherwise | +| passive\_checks\_enabled | *1* when passive checks are enabled, *0* otherwise | +| notifications\_enabled | *1* when notification is enabled, *0* otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_service | *1* when obsess over service is enabled, *0* otherwise | +| check\_freshness | *1* when check freshness is enabled, *0* otherwise | +| freshness\_threshold | Value in seconds | +| event\_handler\_enabled | *1* when event handler is enabled, *0* otherwise | +| flap\_detection\_enabled | *1* when flap detection is enabled, *0* otherwise | +| retain\_status\_information | *1* when status information is retained, *0* otherwise | +| retain\_nonstatus\_information | *1* when non status information is retained, *0* otherwise | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the '\!' character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getparam + +To get specific parameters on a service configuration, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getparam -v "test;comment" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getparam -v "test;comment|alia|description" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o HOST -a getparam -v "test;comment|template|description" +comment;template;description +Check disk /;ST_DISK;DIsk-/ +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | --------------------------------------------------------------------------------------------- | +| activate | *1* when service is enabled, 0 otherwise | +| description | Description | +| template | Name of the service template | +| is\_volatile | *1* when service is volatile, *0* otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' character | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | *1* when active checks are enabled, *0* otherwise | +| passive\_checks\_enabled | *1* when passive checks are enabled, *0* otherwise | +| notifications\_enabled | *1* when notification is enabled, *0* otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| obsess\_over\_service | *1* when obsess over service is enabled, *0* otherwise | +| check\_freshness | *1* when check freshness is enabled, *0* otherwise | +| freshness\_threshold | Value in seconds | +| event\_handler\_enabled | *1* when event handler is enabled, *0* otherwise | +| flap\_detection\_enabled | *1* when flap detection is enabled, *0* otherwise | +| retain\_status\_information | *1* when status information is retained, *0* otherwise | +| retain\_nonstatus\_information | *1* when non status information is retained, *0* otherwise | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the '\!' character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +#### Addhost and Sethost + +You may want to tie a service to an extra host. To do so, use the **ADDHOST** or **SETHOST** actions, where +*add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a sethost -v "host1;ping;host2" +``` + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addhost -v "host1;ping;host2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delhost + +To remove the relationship between a host and a service, use the **DELHOST** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delhost -v "host1;ping;host2" +``` + +The service called ping which was originally linked to host1 and host2 is now only linked to host1. + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getmacro + +To view the custom macro list for a service, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a getmacro -v "host1;ping" +macro name;macro value;is_password;description +$_SERVICETIME$;80;0;description of macro +$_SERVICEPL$;400;0;description of macro +``` + +#### Setmacro + +To set a macro for a specific service use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setmacro -v "test;ping;time;80;0;description of macro" +centreon -u admin -p 'centreon' -o SERVICE -a setmacro -v "test;ping;pl;400;0;description of macro" +``` + +The required parameters are as follows: + +| Order | Description | +| -------- | ---------------------------------------- | +| 1 | Host name | +| 2 | Service name | +| 3 | Macro name | +| 4 | Macro value | +| 5 | 1 for a password macro, 0 otherwise | +| 6 | Description of macro | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delmacro + +To remove a macro from a specific service, use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delmacro -v "test;ping;time" +centreon -u admin -p 'centreon' -o SERVICE -a delmacro -v "test;ping;pl" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Setseverity + +To associate a severity to a service, use the **SETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a setseverity -v "Centreon-Server;ping;Critical" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | +| 3 | Severity name | + +#### Unsetseverity + +To remove the severity from a service, use the **UNSETSEVERITY** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a unsetseverity -v "Centreon-Server;ping" +``` + +Required parameters: + +| Order | Description | +| ----- | ------------------- | +| 1 | Host name | +| 2 | Service description | + +#### Getcontact + +To view the contact list for a service, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcontact -v "Centreon-Server;Ping" +id;name +28;Contact_1 +29;Contact_2 +``` + +#### Addcontact and Setcontact + +To add a new contact to the notification contact list, use the **ADDCONTACT** or **SETCONTACT** actions, where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcontact -v "test;ping;User1" +centreon -u admin -p 'centreon' -o SERVICE -a setcontact -v "test;ping;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delcontact + +To remove a contact from the notification contact list, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcontact -v "test;ping;User1" +centreon -u admin -p 'centreon' -o SERVICE -a delcontact -v "test;ping;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Getcontactgroup + +To view the contact group list for a service, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcontactgroup -v "Centreon-Server;Ping" +id;name +28;ContactGroup_1 +29;ContactGroup_2 +``` + +#### Addcontactgroup and Setcontactgroup + +To add a new contact group to the notification contact group list, use **ADDCONTACTGROUP** or **SETCONTACTGROUP**, +where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcontactgroup -v "test;ping;Group1" +centreon -u admin -p 'centreon' -o SERVICE -a setcontactgroup -v "test;ping;Group1|Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Delcontactgroup + +To remove a contactgroup from the notification contact group list, use the **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcontactgroup -v "test;ping;Group1" +centreon -u admin -p 'centreon' -o SERVICE -a delcontactgroup -v "test;ping;Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Gettrap + +To view the trap list of a service, use the **GETTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a gettrap -v "Centreon-Server;Ping" +id;name +48;ciscoConfigManEvent +39;ospfVirtIfTxRetransmit +``` + +#### Addtrap and Settrap + +To add a new trap, use the **ADDTRAP** or **SETTRAP** actions, where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addtrap -v "test;ping;snOspfVirtIfConfigError" +centreon -u admin -p 'centreon' -o SERVICE -a settrap -v "test;ping;snOspfVirtNbrStateChange|snTrapAccessListDeny" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply changes. + +#### Deltrap + +To remove a trap from a service, use the **DELTRAP** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a deltrap -v "test;ping;snOspfVirtIfConfigError" +``` + +#### Getservicegroup + +To view the servicegroup of a service, use the **GETSERVICEGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getservicegroup -v "Centreon-Server;Ping" +id;name +48;SG1 +39;SG2 +``` + +#### Addservicegroup and Setservicegroup + +To add a new service group, use the **ADDSERVICEGROUP** or **SETSERVICEGROUP** actions, where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addservicegroup -v "test;ping;SG2" +centreon -u admin -p 'centreon' -o SERVICE -a setservicegroup -v "test;ping;SG1|SG2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delservicegroup + +To remove a service group from a service, use the **DELSERVICEGROUP** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delservicegroup -v "test;ping;SG1" +``` + +#### Getcategory + +To view the category of a service, use the **GETCATEGORY** action: + +``` shell +centreon -u admin -p 'centreon' -o "SERVICE" -a getcategory -v "Centreon-Server;Ping" +id;name +48;CPU +``` + +#### Addcategory and Setcategory + +To add a new category, use the **ADDCATEGORY** or **SETCATEGORY** actions, where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a addcategory -v "test;ping;CPU" +centreon -u admin -p 'centreon' -o SERVICE -a setcategory -v "test;ping;CPU" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delcategory + +To remove a category from a service, use the **DELCATEGORY** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcategory -v "test;ping;CPU" +``` + + +### Service templates + +Object name: **STPL** + +#### Show + +To list all service templates, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a show +id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled +1;generic-service;generic-service;;;5;1;3;1;0 +3;Ping-LAN;Ping;check_centreon_ping;!3!200,20%!400,50%;;;;2;2 +4;Ping-WAN;Ping;check_centreon_ping;!3!400,20%!600,50%;;;;2;2 +5;SNMP-DISK-/;Disk-/;check_centreon_remote_storage;!/!80!90;;;;2;2 +6;SNMP-DISK-/var;Disk-/var;check_centreon_remote_storage;!/var!80!90;;;;2;2 +7;SNMP-DISK-/usr;Disk-/usr;check_centreon_remote_storage;!/usr!80!90;;;;2;2 +8;SNMP-DISK-/home;Disk-/home;check_centreon_remote_storage;!/home!80!90;;;;2;2 +9;SNMP-DISK-/opt;Disk-/opt;check_centreon_remote_storage;!/opt!80!90;;;;2;2 +``` + +You can also search for a specific service template: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a show -v 'Ping-LAN' +id;description;check command;check command arg;normal check interval;retry check interval;max check attempts;active checks enabled;passive checks enabled +3;Ping-LAN;Ping;check_centreon_ping;!3!200,20%!400,50%;;;;2;2 +``` + +The columns are as follows: + +| Order | Description | +| ----- | -------------------------------------------------- | +| 1 | Service ID | +| 2 | Service description | +| 3 | Check command | +| 4 | Check command arguments | +| 5 | Normal check interval | +| 6 | Retry check interval | +| 7 | Maximum check attempts | +| 8 | *1* when active checks are enabled, *0* otherwise | +| 9 | *1* when passive checks are enabled, *0* otherwise | + +#### Add + +To add a service template, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a add -v "MyTemplate;mytemplate;Ping-LAN" +``` + +The required fields are: + +| Order | Description | +| ----- | -------------------------------------------------------------------- | +| 1 | Service template description | +| 2 | Alias will be used when services are deployed through host templates | +| 3 | Service template; Only one service template can be defined | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Del + +To remove a service template, use the **DEL** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a del -v "MyTemplate" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Setparam + +To set a specific parameter for a service template, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;max_check_attempts;10" +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;normal_check_interval;2" +centreon -u admin -p 'centreon' -o STPL -a setparam -v "MyTemplate;normal_check_interval;http://192.168.1.2/admincp" +``` + +You must set the following fields: + +| Order | Description | +| ----- | --------------------------------- | +| 1 | Service template description | +| 2 | Parameter that you want to update | +| 3 | New parameter value | + +Parameters that may be modified: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------------------------------- | +| activate | 1 when service is enabled, 0 otherwise | +| description | Service template description | +| alias | Service template alias | +| template | Name of the service template | +| is\_volatile | 1 when service is volatile, 0 otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' character | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | 1 when active checks are enabled, 0 otherwise | +| passive\_checks\_enabled | 1 when passive checks are enabled, 0 otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance= | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| parallelize\_check | 1 when parallelize checks are enabled, 0 otherwise | +| obsess\_over\_service | 1 when obsess over service is enabled, 0 otherwise | +| check\_freshness | 1 when check freshness is enabled, 0 otherwise | +| freshness\_threshold | Service freshness threshold in seconds | +| event\_handler\_enabled | 1 when event handler is enabled, 0 otherwise | +| flap\_detection\_enabled | 1 when flap detection is enabled, 0 otherwise | +| process\_perf\_data | 1 when process performance data is enabled, 0 otherwise | +| retain\_status\_information | 1 when status information is retained, 0 otherwise | +| retain\_nonstatus\_information | 1 when non status information is retained, 0 otherwise | +| stalking\_options | Comma separated options: 'o' for OK, 'w' for Warning, 'u' for Unknown and 'c' for Critical | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the "\!" character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| graphtemplate | Graph template namei | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Getparam + +To get specific parameters on a service template, use the **GETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias" +alias +test +``` + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias|alia|comment" +Object not found:alia +``` + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getparam -v "test;alias|notes|comment" +alias;notes;comment +test;my notes;my comment +``` + +You may edit the following parameters: + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------------------------------- | +| activate | 1 when service is enabled, 0 otherwise | +| description | Service template description | +| alias | Service template alias | +| template | Name of the service template | +| is\_volatile | 1 when service is volatile, 0 otherwise | +| check\_period | Name of the check period | +| check\_command | Name of the check command | +| check\_command\_arguments | Arguments that go along with the check command, prepend each argument with the '\!' characteri | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| normal\_check\_interval | value in minutes | +| retry\_check\_interval | value in minutes | +| active\_checks\_enabled | 1 when active checks are enabled, 0 otherwise | +| passive\_checks\_enabled | 1 when passive checks are enabled, 0 otherwise | +| contact\_additive\_inheritance | Enables contact additive inheritance= | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| notification\_interval | value in minutes | +| notification\_period | Name of the notification period | +| notification\_options | Status linked to notifications | +| first\_notification\_delay | First notification delay in seconds | +| recovery\_notification\_delay | Recovery notification delay | +| parallelize\_check | 1 when parallelize checks are enabled, 0 otherwise | +| obsess\_over\_service | 1 when obsess over service is enabled, 0 otherwise | +| check\_freshness | 1 when check freshness is enabled, 0 otherwise | +| freshness\_threshold | Service freshness threshold in seconds | +| event\_handler\_enabled | 1 when event handler is enabled, 0 otherwise | +| flap\_detection\_enabled | 1 when flap detection is enabled, 0 otherwise | +| process\_perf\_data | 1 when process performance data is enabled, 0 otherwise | +| retain\_status\_information | 1 when status information is retained, 0 otherwise | +| retain\_nonstatus\_information | 1 when non status information is retained, 0 otherwise | +| stalking\_options | Comma separated options: 'o' for OK, 'w' for Warning, 'u' for Unknown and 'c' for Critical | +| event\_handler | Name of the event handler command | +| event\_handler\_arguments | Arguments that go along with the event handler, prepend each argument with the "\!" character | +| notes | Notes | +| notes\_url | Notes URL | +| action\_url | Action URL | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image alt text | +| graphtemplate | Graph template namei | +| comment | Comment | +| service\_notification\_options | Notification options (w,u,c,r,f,s) | + + +#### Addhosttemplate and Sethosttemplate + +You may want to tie a service template to an extra host template. To do so, use the **ADDHOSTTEMPLATE** or +**SETHOSTTEMPLATE** actions, where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a sethosttemplate -v "MyTemplate;generic-host-template" +centreon -u admin -p 'centreon' -o STPL -a addhosttemplate -v "MyTemplate;Linux-Servers" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delhosttemplate + +To remove the relationship between a host template and a service template, use the **DELHOSTTEMPLATE** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delhosttemplate -v "MyTemplate;Linux-Servers" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Getmacro + +To view the custom macro list of a service template, use the **GETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getmacro -v "MyTemplate" +macro name;macro value;description;is_password +$_SERVICETIME$;80;description of macro1;0 +$_SERVICEPL$;400;description of macro2;0 +``` + +#### Setmacro + +To set a macro for a specific service template, use the **SETMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;time;80" +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;pl;400;description" +centreon -u admin -p 'centreon' -o STPL -a setmacro -v "MyTemplate;password;mypassword;;1" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delmacro + +To remove a macro from a specific service template, use the **DELMACRO** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delmacro -v "MyTemplate;time" +centreon -u admin -p 'centreon' -o STPL -a delmacro -v "MyTemplate;pl" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Getcontact + +To view the contact list of a service template, use the **GETCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcontact -v "MyTemplate" +id;name +28;Contact_1 +29;Contact_2 +``` + +#### Addcontact and Setcontact + +To add a new contact to the notification contact list, use the **ADDCONTACT** or **SETCONTACT** actions, where *add* +will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcontact -v "MyTemplate;User1" +centreon -u admin -p 'centreon' -o STPL -a setcontact -v "MyTemplate;User1|User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delcontact + +To remove a contact from the notification contact list, use the **DELCONTACT** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delcontact -v "MyTemplate;User1" +centreon -u admin -p 'centreon' -o STPL -a delcontact -v "MyTemplate;User2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Getcontactgroup + +To view the contact group list for a service template, use the **GETCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcontactgroup -v "MyTemplate" +id;name +28;ContactGroup_1 +29;ContactGroup_2 +``` + +#### Setcontactgroup + +To add a new contact group to a notification contact group list, use the **ADDCONTACTGROUP** or **SETCONTACTGROUP** +actions, where *add* will append and *set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcontactgroup -v "MyTemplate;Group1" +centreon -u admin -p 'centreon' -o STPL -a setcontactgroup -v "MyTemplate;Group1|Group2" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delcontactgroup + +To remove a contact group from the notification contact group list, use the **DELCONTACTGROUP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a delcontactgroup -v "MyTemplate" +centreon -u admin -p 'centreon' -o STPL -a delcontactgroup -v "MyTemplate;Group1" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Gettrap + +To view the trap list for a service template, use the **GETTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o "STPL" -a gettrap -v "Ping-LAN" +id;name +48;ciscoConfigManEvent +39;ospfVirtIfTxRetransmit +``` + +#### Settrap + +To add a trap to a service template, use the **ADDTRAP** or **SETTRAP** actions, where *add* will append and +*set* will overwrite previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addtrap -v "Ping-LAN;snOspfVirtIfConfigError" +centreon -u admin -p 'centreon' -o STPL -a settrap -v "Ping-LAN;snOspfVirtNbrStateChange|snTrapAccessListDeny" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Deltrap + +To remove a trap from a service template, use the **DELTRAP** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a deltrap -v "Ping-LAN;snOspfVirtIfConfigError" +``` + +#### Getcategory + +To view the category of a service template, use the **GETCATEGORY** action: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a getcategory -v "ping" +id;name +48;CPU +``` + +#### Addcategory and Setcategory + +To add a new category, use the **ADDCATEGORY** or **SETCATEGORY** actions, where *add* will append and *set* will overwrite +previous definitions: + +``` shell +centreon -u admin -p 'centreon' -o STPL -a addcategory -v "ping;CPU" +centreon -u admin -p 'centreon' -o STPL -a setcategory -v "ping;CPU" +``` + +> ***NOTE:*** You need to generate your configuration file and restart the monitoring engine in order to apply the changes. + +#### Delcategory + +To remove a category from a service template, use the **DELCATEGORY** command: + +``` shell +centreon -u admin -p 'centreon' -o SERVICE -a delcategory -v "ping;CPU" +``` + +### Settings + +Object name: **Settings** + +#### Show + +To list the editable settings, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o SETTINGS -a show +parameter;value +centstorage;1 +debug_auth;0 +debug_ldap_import;0 +debug_nagios_import;0 +debug_path;/var/log/centreon/ +debug_rrdtool;0 +enable_autologin;1 +enable_gmt;0 +enable_logs_sync;1 +enable_perfdata_sync;1 +gmt;1 +interval_length;60 +mailer_path_bin;/bin/mail +nagios_path_img;/usr/share/nagios/html/images/logos/ +perl_library_path;/usr/local/lib +rrdtool_path_bin;/usr/bin/rrdtool +snmpttconvertmib_path_bin;/usr/share/centreon/bin/snmpttconvertmib +snmptt_unknowntrap_log_file;snmptrapd.log +``` + +#### Setparam + +If you want to change a specific parameter of a vendor, use the **SETPARAM** action: + +``` shell +centreon -u admin -p 'centreon' -o SETTINGS -a setparam -v ";" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Parameter name | +| 2 | Parameter value | + +The parameters that you may change are: + +| Column | Description | Possible values and examples | +| ------------------------------ | ------------------------------------------------------------------------------------------- | --------------------------------------------- | +| centstorage | Enable/disable CentStorage | Enable: '1', Disable: '0' | +| debug\_auth | Enable/disable authentication debug | Enable: '1', Disable: '0' | +| debug\_ldap\_import | Enable/disable LDAP debug | Enable: '1', Disable: '0' | +| debug\_nagios\_import | Enable/disable Nagios configuration import | Enable: '1', Disable: '0' | +| debug\_path | Debug log files directory | /var/log/centreon/ | +| debug\_rrdtool | Enable/disable RRDTool debug | Enable: '1', Disable: '0' | +| enable\_autologin | Enable/disable autologin | Enable: '1', Disable: '0' | +| enable\_gmt | Enable/disable GMT management | Enable: '1', Disable: '0' | +| enable\_logs\_sync | Enable/disable CentCore log synchronization (not necessary when using Centreon Broker) | Enable: '1', Disable: '0' | +| enable\_perfdata\_sync | Enable/disable Centcore PerfData synchronization (not necessary when using Centreon Broker) | Enable: '1', Disable: '0' | +| gmt | GMT timezone of monitoring system | 2 (for GMT+2) | +| interval\_length | Monitoring interval length in seconds (default: 60) | 120 | +| mailer\_path\_bin | Mail client bin path | /bin/mail | +| nagios\_path\_img | Nagios image path | /usr/share/nagios/html/images/logos/ | +| perl\_library\_path | Perl library path | /usr/local/lib | +| rrdtool\_path\_bin | RRDTool bin path | /usr/bin/rrdtool | +| snmpttconvertmib\_path\_bin | SNMPTT mib converter bin path | /usr/share/centreon/bin/snmpttconvertmib | +| snmptt\_unknowntrap\_log\_file | SNMPTT unknown trap log file | snmptrapd.log | + +### Time periods + +Object name: **TP** + +#### Show + +To list all time periods, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a show +id;name;alias;sunday;monday;tuesday;wednesday;thursday;friday,saturday +1;24x7;24_Hours_A_Day,_7_Days_A_Week;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00;00:00-24:00 +2;none;No Time Is A Good Time;;;;;;; +3;nonworkhours;Non-Work Hours;00:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-09:00,17:00-24:00;00:00-24:00 +4;workhours;Work hours;;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00;09:00-17:00; +``` + +#### Add + +To add a time period, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a add -v "Timeperiod_Test;Timeperiod_Test" +``` + +The required fields are: + +| Order | Description | +| ----- | ----------- | +| 1 | Name | +| 2 | Alias | + +#### Del + +If you want to remove a time period, use the **DEL** action. To identify the time period to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o TP -a del -v "Timeperiod_Test" +``` + +#### Setparam + +If you want to change a specific parameter for a time period, use the **SETPARAM** action. To identify the time period to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o TP -a setparam -v "Timeperiod_Test;monday;00:00-24:00" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------- | +| 1 | Name of time period | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| --------- | ----------------------------------------------------------------------------------------------------------------- | +| name | Name | +| alias | Alias | +| sunday | Time Period definition for Sunday | +| monday | Time Period definition for Monday | +| tuesday | Time Period definition for Tuesday | +| wednesday | Time Period definition for Wednesday | +| thursday | Time Period definition for Thursday | +| friday | Time Period definition for Friday | +| saturday | Time Period definition for Saturday | +| include | example: \[...\] -v "Timeperiod\_Test;include;workhours"; Use delimiter | for multiple inclusion definitions | + +#### Getexception + +To view the exception list for a time period, use the **GETEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a getexception -v "mytimeperiod" +days;timerange +january 1;00:00-00:00 +december 25;00:00-00:00 +``` + +#### Setexception + +To set an exception on a timeperiod, use the **SETEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a setexception -v "mytimeperiod;january 1;00:00-24:00" +``` + +> ***NOTE:*** If an exception does not exist, it will be created, otherwise it will be overwritten. + +#### Delexception + +To delete an exception, use the **DELEXCEPTION** action: + +``` shell +centreon -u admin -p 'centreon' -o TP -a delexception -v "mytimeperiod;january 1" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------------------------ | +| 1 | Name of time period | +| 2 | Exception to remove from time period | + +### Traps + +Object name: **TRAP** + +#### Show + +To list the available traps, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a show +id;name;oid;manufacturer +576;alertSystemUp;.1.3.6.1.4.1.674.10892.1.0.1001;Dell +577;alertThermalShutdown;.1.3.6.1.4.1.674.10892.1.0.1004;Dell +578;alertTemperatureProbeNormal;.1.3.6.1.4.1.674.10892.1.0.1052;Dell +599;alertFanEnclosureInsertion;.1.3.6.1.4.1.674.10892.1.0.1452;Dell +600;alertFanEnclosureRemoval;.1.3.6.1.4.1.674.10892.1.0.1453;Dell +601;alertFanEnclosureExtendedRemoval;.1.3.6.1.4.1.674.10892.1.0.1454;Dell +602;alertLogNormal;.1.3.6.1.4.1.674.10892.1.0.1552;Dell +605;ccmCLIRunningConfigChanged;.1.3.6.1.4.1.9.9.43.2.0.2;Cisco +[...] +``` + +#### Add + +To add a trap, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a add -v "aNewTrap;.1.3.6.1.4.1.11.2.3.9.7.1.0.30" +``` + +The required fields are: + +| Order | Description | +| ----- | -------------------- | +| 1 | Trap name | +| 2 | OID of the SNMP Trap | + +#### Del + +If you want to remove a trap, use the **DEL** action. To identify the trap to delete, use its name: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a del -v "aNewTrap" +``` + +#### Setparam + +If you want to change a specific parameter for a trap, use the **SETPARAM** command. To identify the trap to update, use its name: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a setparam -v "aNewTrap;vendor;3com" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of Trap | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | Possible values | +| -------------------------- | ------------------------------------------------------------------ | ------------------------------------------------------------ | +| name | Name | | +| comments | Comments | | +| output | Output | | +| oid | OID | | +| status | Status | *ok*, *warning*, *critical*, *unknown* or *0*, *1*, *2*, *3* | +| vendor | Vendor name | A valid vendor name | +| matching\_mode | Advanced regexp matching mode | *1* to enable, *0* to disable | +| reschedule\_svc\_enable | Whether or not will reschedule service check when trap is received | *1* to enable, *0* to disable | +| execution\_command | Command to be executed when trap is received | A valid Unix command line | +| execution\_command\_enable | Whether or not will execute the 'execution\_command' | *1* to enable, *0* to disable | +| submit\_result\_enable | Whether or not will submit result to Service | *1* to enable, *0* to disable | + +#### Getmatching + +To display the list of matching rules defined for a specific trap, use the **GETMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a getmatching -v "aNewTrap" +id;string;regexp;status;order +8;@OUTPUT@;/test/;UNKNOWN;1 +``` + +| Column | Description | +| ------ | ----------------------------------- | +| ID | ID of the matching rule | +| String | String to match | +| Regexp | Matching Regular Expression | +| Status | Status to submit | +| Order | Priority order of the matching rule | + +#### Addmatching + +To add a matching rule, use the **ADDMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a addmatching -v "aNewTrap;@OUTPUT@;/test2/;critical" +``` + +The required fields are: + +| Order | Description | Possible values | +| ----- | --------------------------- | -------------------------------------------- | +| 1 | Trap name | | +| 2 | String to match | | +| 3 | Matching Regular Expression | | +| 4 | Status to submit | ok, warning, critical, unknown or 0, 1, 2, 3 | + +#### Delmatching + +To delete a matching rule, use the **DELMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a delmatching -v "8" +``` + +The required fields are: + +| Column | Description | +| ------ | ----------------------- | +| ID | ID of the matching rule | + +#### Updatematching + +To update a matching rule, use the **UPDATEMATCHING** command: + +``` shell +centreon -u admin -p 'centreon' -o TRAP -a updatematching -v "8;status;critical" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ----------------------- | +| 1 | ID of the matching rule | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | Possible values | +| ------ | --------------------------- | -------------------------------------------- | +| string | String to match | | +| order | Priority order | | +| status | Status to submit | ok, warning, critical, unknown or 0, 1, 2, 3 | +| regexp | Matching Regular Expression | | + +### Vendors + +Object name: **VENDOR** + +#### Show + +To list the available vendors, use the **SHOW** action: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a show +id;name;alias +1;Cisco;Cisco Networks +2;HP;HP Networks +3;3com;3Com +4;Linksys;Linksys +6;Dell;Dell +7;Generic;Generic +9;Zebra;Zebra +11;HP-Compaq;HP and Compaq Systems +``` + +#### Add + +To add a vendor, use the **ADD** action: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a add -v "DLink;DLink routers" +``` + +The required fields are: + +| Order | Description | +| ----- | ----------- | +| 1 | Name | +| 2 | Alias | + +#### Del + +If you want to remove a vendor, use the **DEL** action. To identify the vendor to delete, use their name: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a del -v "DLink" +``` + +#### Setparam + +If you want to change a specific parameter for a vendor, use the **SETPARAM** command. To identify the vendor to update, use their name: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a setparam -v "3com;name;HP" +``` + +Arguments are composed of the following columns: + +| Order | Column description | +| ----- | ------------------ | +| 1 | Name of vendor | +| 2 | Parameter name | +| 3 | Parameter value | + +The parameters that you may change are: + +| Column | Description | +| ----------- | ----------- | +| name | Name | +| alias | Alias | +| description | Description | + +#### Generatetraps + +It is possible to generate new SNMP traps from a given MIB file. To do so, use the **GENERATETRAPS** command: + +``` shell +centreon -u admin -p 'centreon' -o VENDOR -a generatetraps -v "3com;/usr/share/mymibs/3com/A3COM-SWITCHING-SYSTEMS-MIB.mib" +[...] +Done + +Total translations: 10. +Successful translations: 10. +Failed translations: 0. +``` + +> ***NOTE:*** Make sure to put all the MIB file dependencies in the /usr/share/snmp/mibs/ directory before starting the +> generation. Then, remove them when it is done. + +The required fields are: + +| Column | Description | +| -------- | ----------------- | +| Name | Name of Vendor | +| Mib file | File path of .mib | + + +## Service Mapping + +The service mapping capabilities in Centreon rely on the **Centreon Business Activity Monitoring (BAM)** extension. + +> Centreon BAM is a Centreon **extension** that requires a valid license key. To purchase one and retrieve +the necessary repositories, contact [Centreon](mailto:sales@centreon.com). + +### Business View + +Object name: **BV** + +#### SHOW + +To list all BVs, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BV -a SHOW + id;name;description + 4;BV1;BV1 + 5;BV2;BV2 + 6;BV4;BV3 + [...] + +The following columns are required: + +| Column | Description | +|----------------|---------------------------| +| BV ID | Business View id | +| BV name | Business View name | +| BV description | Business View description | + +#### ADD + +To add a BV, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADD -v 'BV1;BV1' + +The following columns are required: + +|Column |Description | +|-----------------|---------------------------| +|Name |Business View name | +|Description | Business View description | + +#### DEL + +To remove a BV, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BV -a DEL -v 'BV1' + +#### SETPARAM + +To change specific parameters for a BV, use the **SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETPARAM -v 'BV1;description;BV description' + +You can change the following parameters: + +| Parameter | Description | +|-------------|-------------------------------| +| name | Business Activity name | +| description | Business Activity description | +| overview | Visible in overview (0 or 1) | + +#### SETBA + +To add a Business Activity (BA) to a BV, use the **SETBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|---------|---------------------------------------------------------| +| Bv name | Business View name | +| Ba name | Business Activity name (multiple with "pipe" separator) | + +#### ADDBA + +To add a BA to a BV, use the **ADDBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADDBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|---------|-------------------------------------------------------------| +| Bv name| Business View name | +| Ba name| Business Activity name (multiple with a "pipe" separator) | + +#### DELBA + +To delete a BA from a BV, use the **DELBA** action: + + ./centreon -u admin -p 'centreon' -o BV -a DELBA -v 'bv1;ba1' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Ba name | Business Activity name (multiple with a "pipe" separator) | + +#### SETACLGROUP + +To link an access group to a BV, use the **SETACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a SETACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description | +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Access group name (multiple with a pipe separator) | + +#### ADDACLGROUP + +To link an access group to a BV, use the **ADDACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a ADDACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Access group name (multiple with a "pipe" separator) | + +#### DELACLGROUP + +To unlink an access group from a BV, use the **DELACLGROUP** action: + + ./centreon -u admin -p 'centreon' -o BV -a DELACLGROUP -v 'bv1;ALL' + +The following columns are required: + +| Column | Description +|----------------|-----------------------------------------------------------------| +| Bv name | Business View name | +| Acl group name| Access group name (multiple with a "pipe" separator) | + +### Business Activity (BA) + +Object name: **BA** + +#### SHOW + +To list all business activities, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BA -a SHOW + id;name;description;state_source;level_w;level_c;notification_interval + 1;ba1;ba1;1;80;70;3 + 2;ba2;ba2;2;;;2 + 3;ba3;ba3;3;;; + [...] + +The following columns are displayed: + + * BA ID: Business Activity id + * BA name: Business Activity name + * Ba description: Business Activity description + * Ba state_source: Business Activity calculation method + * level\_w: Warning threshold (only applicable for Impact and Ratio modes) + * level\_c: Critical threshold (only applicable for Impact and Ratio modes) + +Business Activity calculation methods (state_source): + * 0 - Impact Mode (requires level\_w to be > level\_c) + * 1 - Best Status + * 2 - Worst Status + * 3 - Ratio Percentage (requires level\_c to be > level\_w) + * 4 - Ratio Number (requires level\_c to be > level\_w) + +#### ADD + +To add a BA, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADD -v 'ba1;ba1;0;90;80;5' + +The following columns are required: + + |Column | Description | + |------------------------|---------------------------------| + |Name | Business Activity name | + |Description | Business Activity description | + |State Source | BA Calculation Method | + |Warning threshold | Warning threshold (if needed) | + |Critical threshold | Critical threshold (if needed) | + |Notification interval | Notification interval (minutes) | + +#### DEL + +To remove a BA, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BA -a DEL -v 'ba1' + +#### SETPARAM + +To change a specific parameter for a BV, use the **SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;enable;1' + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;comment;new comments' + ./centreon -u admin -p 'centreon' -o BA -a SETPARAM -v 'ba1;notification_options;r,w,c' + +The parameters that you can change are the following: + + |Parameter |Description |Possible values | + |--------------------------------|---------------------------------------------------------------------|--------------------------------------------------------------------------------------------------------------------------------------------------------| + |name |Business Activity name | | + |description |Business Activity description | | + |level\_w |Warning threshold | | + |level\_c |Critical threshold | | + |reporting\_period |reporting period | | + |comment |Comments | | + |notifications\_enabled |Enable notifications (0 or 1) | | + |notification\_options |Notification options (r, w, c, f) | | + |notification\_period |Notification period | | + |notification\_interval |Notification interval | | + |first\_notification\_delay |Delay before sending first notification when entering non-OK status | | + |recovery\_notification\_delay |Delay before sending first notification when entering OK status | | + |icon |Business Activity icon | | + |inherit\_kpi\_downtimes |Inherit planned downtimes from KPIs |*0* to ignore the planned downtime, *1* to inherit the planned downtime on the business activity, *2* to ignore the indicator in the calculation | + |geo_coords |Geo-coordinate to position the BA | | + |enable |Enable (0 or 1) | | + |state_source |0 - Impact, 1 - Best, 2 - Worst, 3 - Ratio Nr., 4 - Ratio Percent | | + +> Note: Changing State Source will require updating your Level W and Level C to match the appropriate +> calculation method! + +#### SETBV + +To add a BV to a BA, use the **SETBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETBV -v 'ba1;bv1' + ./centreon -u admin -p 'centreon' -o BA -a SETBV -v 'ba1;bv1|bv2' + +The following columns are required: + + Column Description + --------- ------------------------------------------------- + Ba name Business Activity name + Bv name Business View name (multiple with \| separator) + +#### ADDBV + +To add a BV to a BA, use the **ADDBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDBV -v 'ba1;bv1' + ./centreon -u admin -p 'centreon' -o BA -a ADDBV -v 'ba1;bv2|bv3' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Bv name | Business View name (multiple with a "pipe" separator) | + +#### DELBV + +To remove a BV from a BA, use the **DELBV** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELBV -v 'ba1;bv1' + +The following columns are required: + +| Column | Description | +|----------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Bv name | Business View name (multiple with a "pipe" separator) | + +#### SETCONTACTGROUP + +To link a contact group to a BA, use the **SETCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETCONTACTGROUP -v 'ba1;Guest' + ./centreon -u admin -p 'centreon' -o BA -a SETCONTACTGROUP -v 'ba1;Guest|Supervisors' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### ADDCONTACTGROUP + +To link a contact group to a BA, use the **ADDCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDCONTACTGROUP -v 'ba1;Guest' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### DELCONTACTGROUP + +To unlink a contact group from a BA, use the **DELCONTACTGROUP** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELCONTACTGROUP -v 'ba1;Guest' + +The following columns are required: + +| Column | Description | +|---------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Contact group name | Contact group name (multiple with a "pipe" separator) | + +#### SETEXTRAREPORTINGPERIOD + +To set extra reporting periods for Centreon MBI, use the **SETEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### ADDEXTRAREPORTINGPERIOD + +To add extra reporting periods for Centreon MBI, use the **ADDEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a ADDEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### DELEXTRAREPORTINGPERIOD + +To delete extra reporting periods from a BA, use the **DELEXTRAREPORTINGPERIOD** action: + + ./centreon -u admin -p 'centreon' -o BA -a DELEXTRAREPORTINGPERIOD -v 'ba1;workhours' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Extra reporting period | Extra reporting period (multiple with a "pipe" separator) | + +#### SETPOLLER + +To set the poller where the BA is calculated (in addition to the central), use the **SETPOLLER** action: + + ./centreon -u admin -p 'centreon' -o BA -a SETPOLLER -v 'ba1;poller1' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business View name | +| Poller name | Poller name where Business Activity can be calculated | + +#### DELPOLLER + +To delete the poller where the BA is calculated, use the **DELPOLLER** +action: + + ./centreon -u admin -p 'centreon' -o BA -a DELPOLLER -v 'ba1;poller1' + +The following columns are required: + +| Column | Description | +|--------------------------|-----------------------------------------------------------------| +| Ba name | Business Aiew name | +| Poller name | Poller name where Business Activity is calculated | + +### Indicators (KPI) + +Object name: **KPI** + +#### SHOW + +To list the available KPIs, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o KPI -a SHOW + id;type;name;impacted_ba;warning_impact;critical_impact;unknown_impact + 1;service;Centreon-Server Load;ba1;25;50;20 + 2;metaservice;meta1;toto;50;100;75 + [...] + +The columns are as follows: + + |Column |Description | + |-----------------|---------------------------------------------| + |KPI ID |KPI id | + |KPI type | *service*, *metaservice*, *ba* or *boolean* | + |KPI name |KPI name | + |Impacted BA |Impacted business activity | + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + +#### ADD + +To add a KPI, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'service;host1|service1;ba1;10;20;5' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'metaservice;meta11;ba2;minor;major;null' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'ba;ba1;ba3;10;20;5' + ./centreon -u admin -p 'centreon' -o KPI -a ADD -v 'boolean;rule1;ba4;10;20;5' + +The required columns are as follows: + + |Column |Description | + |-----------------|---------------------------------------------| + |KPI type | *service*, *metaservice*, *ba* or *boolean* | + |Object | Object used in KPI | + |Impacted BA |Impacted business activity | + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + +#### DEL + +If you want to remove a KPI, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o KPI -a DEL -v 'ba;ba1;ba3' + +#### SETPARAM + +If you want to change a specific parameter for a KPI, use the **SETPARAM** action: + + ./centreon -u admin -p 'centreon' -o KPI -a SETPARAM -v 'service;host1|service1;ba1;enable;0' + ./centreon -u admin -p 'centreon' -o KPI -a SETPARAM -v 'metaservice;meta1;ba1;warning_impact;50' + +The parameters that you can change are the following: + + |Column |Description | + |-----------------|---------------------------------------------| + |Warning impact |Warning impact | + |Critical impact |Critical impact | + |Unknown impact |Unknown impact | + |impacted\_ba |Impacted business activity | + |enable | Enable (0 or 1) | + +#### SETIMPACTMODE + +If you want to change the configuration mode, use the **SETIMPACTMODE** action: + + ./centreon -u admin -p 'centreon' -o KPI -a SETIMPACTMODE -v 'ba;ba1;ba3;advanced' + +The parameters that you can change are the following: + + |Parameter |Description | + |--------------|--------------------------------------------| + | KPI type | *service*, *metaservice*, *ba* or *boolean* | + | Object | Object used in KPI | + | Impacted BA | Impacted business activity | + | Impact mode | regular or advanced | + +### Boolean Rule + +Object name: **BOOLEANRULE** + +#### SHOW + +To list the available boolean rules, use the **SHOW** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a SHOW + id;name;expression;bool_state + 8;rule1;expression1;1 + 9;rule2;expression2;1 + [...] + +The following columns are required: + + | Column | Description | + |------------------|------------------------------------------------------| + | Rule ID | Boolean rule ID | + | Rule name | Boolean rule name | + | Rule expression | Boolean rule expression | + | Bool state | Impact is applied when expression returns this state | + +#### ADD + +To add a boolean rule, use the **ADD** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a ADD -v 'rule1;expression1;1' + +The following columns are required: + + |Column |Description | + |-----------------|------------------------------------------------------| + |Rule name | Boolean rule name | + |Rule expression |Boolean rule expression | + |Bool state |Impact is applied when expression returns this state | + +#### DEL + +To remove a boolean rule, use the **DEL** action: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a DEL -v 'rule1' + +#### SETPARAM + +To change a specific parameter for a boolean rule, use the **SETPARAM** +command: + + ./centreon -u admin -p 'centreon' -o BOOLEANRULE -a setparam -v 'rule1;expression;new expression' + +The parameters that you can change are the following: + + |Column |Description | + |-----------------|------------------------------------------------------| + |Rule name | Boolean rule name | + |Rule expression |Boolean rule expression | + |Bool state |Impact is applied when expression returns this state | + +## Poller management + +### List all pollers + +To list all pollers, use the **POLLERLIST** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERLIST +poller_id;name +1;Local Poller +2;Remote Poller +``` + +### Generate local configuration files for a poller + +To generate configuration files for poller "Local Poller" with ID 1, use the **POLLERGENERATE** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERGENERATE -v 1 +Configuration files generated for poller 1 +``` + +You can generate the configuration using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERGENERATE -v "Local Poller" +Configuration files generated for poller 'Local Poller' +``` + +### Test monitoring engine configuration of a poller + +To test configuration files for poller "Remote Poller" with ID 2, use the **POLLERTEST** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERTEST -v 1 +OK: Nagios Poller 2 can restart without problem... +``` + +You can test the configuration using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERTEST -v "Local Poller" +Warning: Nagios Poller poller can restart but configuration is not optimal. Please see debug bellow : +--------------------------------------------------------------------------------------------------- +[1440681047] [15559] Reading main configuration file '/usr/share/centreon//filesGeneration/nagiosCFG/5/nagiosCFG.DEBUG'. +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hosts.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hostTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/serviceTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/services.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/misccommands.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/checkcommands.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contactgroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contactTemplates.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/contacts.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/hostgroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/servicegroups.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/timeperiods.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/escalations.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/dependencies.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/connectors.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-command.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-contact.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-contactgroup.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-dependencies.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-escalations.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-host.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-services.cfg' +[1440681047] [15559] Processing object config file '/usr/share/centreon/filesGeneration/nagiosCFG/5/centreon-bam-timeperiod.cfg' +[1440681047] [15559] Reading resource file '/usr/share/centreon/filesGeneration/nagiosCFG/5/resource.cfg' +[1440681047] [15559] Checking global event handlers... +[1440681047] [15559] Checking obsessive compulsive processor commands... +[1440681047] [15559] +[1440681047] [15559] Checked 55 commands. +[1440681047] [15559] Checked 0 connectors. +[1440681047] [15559] Checked 7 contacts. +[1440681047] [15559] Checked 0 host dependencies. +[1440681047] [15559] Checked 0 host escalations. +[1440681047] [15559] Checked 0 host groups. +[1440681047] [15559] Checked 1 hosts. +[1440681047] [15559] Checked 0 service dependencies. +[1440681047] [15559] Checked 0 service escalations. +[1440681047] [15559] Checked 0 service groups. +[1440681047] [15559] Checked 1 services. +[1440681047] [15559] Checked 5 time periods. +[1440681047] [15559] +[1440681047] [15559] Total Warnings: 1. +[1440681047] [15559] Total Errors: 0. + +--------------------------------------------------------------------------------------------------- +Return code end : 0. +``` + +### Move monitoring engine configuration files + +To move the configuration files for poller "Local Poller" with ID 1 to the final engine directory, use the +**CFGMOVE** command: + +``` shell +centreon -u admin -p 'centreon' -a CFGMOVE -v 2 +OK: All configurations will be sent to 'Remote Poller' by centcore in several minutes. +Return code end : 1. +``` + +You can move the configuration files using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a CFGMOVE -v "Remote Poller" +OK: All configurations will be sent to 'Remote Poller' by centcore in several minutes. +Return code end : 1. +``` + +### Restart monitoring engine of a poller + +To restart the monitoring process on poller "Local Poller" with ID 1, use the **POLLERRESTART** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRESTART -v 2 +OK: A restart signal has been sent to 'Remote Poller' +Return code end : 1. +``` + +You can restart the poller using its name: + +``` shell +centreon -u Remote Poller -p 'centreon' -a POLLERRESTART -v "Remote Poller" +OK: A restart signal has been sent to 'Remote Poller' +Return code end : 1. +``` + +### All in one command + +Use the **APPLYCFG** command in order to execute all of the above with one single command: + +``` shell +centreon -u admin -p 'centreon' -a APPLYCFG -v 1 +``` + +You can execute the command using the poller name: + +``` shell +centreon -u admin -p 'centreon' -a APPLYCFG -v "Remote Poller" +``` + +This will execute **POLLERGENERATE**, **POLLERTEST**, **CFGMOVE** and **POLLERRELOAD**. + +### Reload the monitoring engine of a poller + +To reload the monitoring process on poller "Remote Poller" with ID 2, use the **POLLERRELOAD** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRELOAD -v 2 +OK: A reload signal has been sent to Remote Pollerpoller' +Return code end : 1. +``` + +You can reload a poller using its name: + +``` shell +centreon -u admin -p 'centreon' -a POLLERRELOAD -v "Remote Poller" +OK: A reload signal has been sent to 'Remote Poller' +Return code end : 1. +``` + +### Execute post generation commands for a poller + +To execute post generation commands for a poller, use the **POLLEREXECCMD** command: + +``` shell +centreon -u admin -p 'centreon' -a POLLEREXECCMD -v 2 +Running configuration check...done. +Reloading nagios configuration...done +``` + +You can execute post generation commands for a poller using its name: + +``` shell +centreon -u admin -p 'centreon' -a POLLEREXECCMD -v "Remote Poller" +Running configuration check...done. +Reloading nagios configuration...done +``` + +## Import/Export + +### Export + +At some point, you might need to export all of the object configuration parameters into a plain text file, either for +synchronizing or backup purposes. + +The following items will not be exported: + +* Escalation +* ACL (access groups, resource ACLs, action ACLs) +* LDAP settings +* Global Centreon settings + +This export feature is run like this: + +``` shell +centreon -u admin -p 'centreon' -e > /tmp/clapi-export.txt +``` + +This will generate CLAPI commands and redirect them to the */tmp/clapi-export.txt* file. + +This file can now be read by the import command. + +With this, you can also build your own CLAPI command file if you know the syntax. + +For instance: + +``` shell +HOST;ADD;Host-Test1;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test2;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test3;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test4;Test host;127.0.0.1;generic-host;Local Poller;Linux +HOST;ADD;Host-Test5;Test host;127.0.0.1;generic-host;Local Poller;Linux +``` + +### Export of a subset of objects + +You can choose to export only predefined hosts or services. + +For example, to export all services linked to the "srv-mssql-01" host, you need to execute the following command: + +``` shell +centreon -u admin -p 'centreon' -e --select='HOST;srv-mssql-01' --filter-type='^(HOST|SERVICE)$' +``` + +To export "memory" and "mssql-listener" services, execute the following command: + +``` shell +centreon -e --select='SERVICE;memory' --select='SERVICE;mssql-listener' --filter-type='^SERVICE$' +``` + +To export all commands, run: + +``` shell +centreon -u admin -p 'centreon' -o CMD -a show | awk -F\; 'NR > 2 { print "--select=\"CMD;" $2 "\"" }' | xargs --verbose php ./centreon -u admin -p 'centreon' -e +``` + +### Import + +You can import a configuration from the exported file */tmp/clapi-export*: + +``` shell +centreon -u admin -p 'centreon' -i /tmp/clapi-export.txt +``` + +In case you have a very large export file, it is advised to redirect the output of the above command to a file. This is useful because +when errors occur during the import process, CLAPI will print out an error message along with the line number of the +file, and you might need to store these output messages for troubleshooting later on. + +Empty or commented lines (beginning with `#`) will be ignored. + +You can build your own CLAPI command file if you know the syntax. You can use the parameter described in +Object Management with the syntax you can see in export files: + +``` shell +OBJECT;AACTION;Parameter1;Parameter2;Parameter3;... +``` diff --git a/versioned_docs/version-25.10/api/graph-views-map-api.md b/versioned_docs/version-25.10/api/graph-views-map-api.md new file mode 100644 index 000000000000..0b6ca7460d7c --- /dev/null +++ b/versioned_docs/version-25.10/api/graph-views-map-api.md @@ -0,0 +1,106 @@ +--- +id: map-api +title: MAP API +--- + +If you want to automate standard maps creation or maintenance, you may use the Centreon MAP extension API. + +## Permissions + +With this API, you can create / update / delete standard maps. To be able to use the API, the account you use needs to have one +of the following privileges: + +- Centreon Admin account. +- Map creation rights and editing rights for maps you wish to update / delete. + +## How to use Centreon MAP API + +> Because the Centreon MAP API is not trivial to use, here is a scenario to authenticate, then create a map and add a shape on it. + +### Authenticate + +``` +POST : http://{{serverURL}}:8081/centreon-map/api/beta/auth/sign-in +``` + +``` +Headers { + Content-Type = application/json + X-Client-Version = 24.10.0 +} + +Body { + "login" : "admin" + "password" : "denied" +} +``` + +- In the result, retrieve the {jwtToken}. You will need to use it for all your API calls. The headers will look like this: + +``` +Headers { + Content-Type = application/json + X-client-version = 24.10.0 + Authorization = Bearer {jwtToken} +} +``` + +### Create a map + +``` +POST http://{{serverURL}}:8081/centreon-map/api/beta/maps +``` + +``` +Headers { + Content-Type = application/json + X-client-version = 24.10.0 + Authorization = Bearer {jwtToken} +} + +Body { + "name": "My new map created from API" + } +``` + +- Retrieve the ID of the map {mapId} and the view {viewId} returned. + +### Open the map + +``` +GET http://{{serverURL}}:8081/centreon-map/api/beta/maps/{mapId}/views/{viewId} +``` + +### Create and attach a "shape" element to the opened map + +In this scenario, the "shape" element is a rectangle. + +``` +PUT http://{{serverURL}}:8081/centreon-map/api/beta/maps/{mapId}/views +``` + +``` +Body: { + "id": {viewId}, + "shapes": [ + { + "type": "RECTANGLE", + "graphics": { + "label": "EN - Rectangle", + "x": 120, + "y": 120, + "width": 130, + "height": 53, + "color": "#0096FF", + "thickness": 1, + "borderColor": "#F0F0F0", + "line": "SOLID" + } + } + ] +} +``` + +## More information + +> Follow this [link](https://docs-api.centreon.com/api/centreon-map/24.10/) to access the Centreon API documentation and preview the API capabilities. diff --git a/versioned_docs/version-25.10/api/introduction.md b/versioned_docs/version-25.10/api/introduction.md new file mode 100644 index 000000000000..11390ec4523c --- /dev/null +++ b/versioned_docs/version-25.10/api/introduction.md @@ -0,0 +1,16 @@ +--- +id: introduction +title: Introduction +--- + +Centreon comes with several APIs to manipulate or retrieve configuration and real- +time data. + +According to the type of script or automation you want to perform on Centreon, you +may use the following pages: + +- [Command Line API (CLAPI)](clapi.md) to manage configuration +- [Rest API (v1)](rest-api-v1.md) to manage configuration or [Rest API + (v2)](rest-api-v2.md) to manage configuration and real time data +- [Graphical Views - MAP API](graph-views-map-api.md) to manage specific + Graphical Views data diff --git a/versioned_docs/version-25.10/api/rest-api-v1.md b/versioned_docs/version-25.10/api/rest-api-v1.md new file mode 100644 index 000000000000..bbaf0b027723 --- /dev/null +++ b/versioned_docs/version-25.10/api/rest-api-v1.md @@ -0,0 +1,2637 @@ +--- +id: rest-api-v1 +title: Rest API (v1) +--- + +## Overview + +This documentation is for developers familiar with HTTP requests and JSON. It +explains various API operations, related request and response structures, and +error codes. If you are not familiar with the JSON API, we recommend that you use +the Centreon command line API. + +## Permissions + +To perform API calls, you must be an administrator. + +## Authentication + +Using the POST method and the URL below: + + api.domain.tld/centreon/api/index.php?action=authenticate + +Body form-data: + +| Parameter | Type | Value | +| --------- | ---- | ------------------------------------------ | +| username | Text | The user name you use to login on Centreon | +| password | Text | Your Centreon password | + +The response is a json flow getting back the authentication token : + +``` json +{ + "authToken": "NTc1MDU3MGE3M2JiODIuMjA4OTA2OTc=" +} +``` + +This token will be used later on for the other API actions. + +## Error codes + +|Code|Message | +|----|----------------------------------------------------------------------------------------| +|200 |Successful | +|400 |Missing parameter / Missing name parameter / Unknown parameter / Objects are not linked| +|401 |Unauthorized | +|404 |Object not found / Method not implemented into Centreon API | +|409 |Object already exists / Name is already in use / Objects already linked | +|500 |Internal server error (custom message) | + +## Configuration + +### Getting started + +Most of the actions available (about 95%) in the command line API are available +in the REST API. + +Here is an example of listing hosts using REST API. + +Using the POST method and the URL below: + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header:** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body:** + +``` json +{ + "action": "show", + "object": "HOST" +} +``` + + - The key **action** corresponds to the option **-a** in Centreon CLAPI. The + value **show** corresponds to the **-a** option value. + - The key **object** corresponds to the option **-o** in Centreon CLAPI. The + value **HOST** corresponds to the **-o** option value. + +The equivalent action using Centreon CLAPI is: + +``` shell +centreon -u admin -p centreon -o HOST -a show +``` + +**Response:** The response is a json flow listing all hosts and formatted as +below: + +``` json +{ + "result": [ + { + "id": "12", + "name": "mail-uranus-frontend", + "alias": "mail-uranus-frontend", + "address": "mail-uranus-frontend", + "activate": "1" + }, + { + "id": "13", + "name": "mail-neptune-frontend", + "alias": "mail-neptune-frontend", + "address": "mail-neptune-frontend", + "activate": "1" + }, + { + "id": "14", + "name": "srvi-mysql01", + "alias": "srvi-mysql01", + "address": "srvi-mysql01", + "activate": "1" + } + ] +} +``` + +> Some actions need the values key (the option **-v** in Centreon CLAPI). +Depending on the action called, the body can contain a **values** key. We will see +that in detail later. + +### API Calls + +All API calls you can do on objects are described below. Note that you need to +be authenticated before each call. + +API calls on the Host object are fully detailed below. For the next objects, +only the actions available are listed, so just follow the same approach as for +the host object for an API call. + +### Host + +#### List hosts + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "show", + "object": "host" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "79", + "name": "mail-uranus-frontend", + "alias": "mail-uranus-frontend", + "address": "mail-uranus-frontend", + "activate": "1" + }, + { + "id": "80", + "name": "mail-neptune-frontend", + "alias": "mail-neptune-frontend", + "address": "mail-neptune-frontend", + "activate": "1" + }, + { + "id": "81", + "name": "mail-earth-frontend", + "alias": "mail-earth-frontend", + "address": "mail-earth-frontend", + "activate": "1" + } + ] +} +``` + +#### Add host + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "add", + "object": "host", + "values": "test;Test host;127.0.0.1;generic-host;central;Linux-SerVers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete host + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "del", + "object": "host", + "values": "test" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Set parameters + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparam", + "object": "host", + "values": "test;ParameterToSet;NewParameter" +} +``` + +Available parameters + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| geo\_coords | Geo coordinates (used by Centreon MAP) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| acknowledgement\_timeout | Acknowledgement timeout (in seconds) | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Check freshness (in seconds) | +| check\_period | Check period | +| checks\_enabled | Whether or not checks are enabled | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempt before a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get parameters + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getparam", + "object": "host", + "values": "test;ParameterToGet|ParameterToGet" +} +``` + +Available parameters + +| Parameter | Description | +| ------------------------------ | ---------------------------------------------------------------------- | +| 2d\_coords | 2D coordinates (used by statusmap) | +| 3d\_coords | 3D coordinates (used by statusmap) | +| geo\_coords | Geo coordinates (used by Centreon MAP) | +| action\_url | Action URL | +| activate | Whether or not host is enabled | +| active\_checks\_enabled | Whether or not active checks are enabled | +| address | Host IP Address | +| alias | Alias | +| check\_command | Check command | +| check\_command\_arguments | Check command arguments | +| check\_interval | Normal check interval | +| check\_freshness | Check freshness (in seconds) | +| check\_period | Check period | +| checks\_enabled | Whether or not checks are enabled | +| contact\_additive\_inheritance | Enables contact additive inheritance | +| cg\_additive\_inheritance | Enables contactgroup additive inheritance | +| event\_handler | Event handler command | +| event\_handler\_arguments | Event handler command arguments | +| event\_handler\_enabled | Whether or not event handler is enabled | +| first\_notification\_delay | First notification delay (in seconds) | +| flap\_detection\_enabled | Whether or not flap detection is enabled | +| flap\_detection\_options | Flap detection options | +| icon\_image | Icon image | +| icon\_image\_alt | Icon image text | +| max\_check\_attempts | Maximum number of attempts befores a HARD state is declared | +| name | Host name | +| notes | Notes | +| notes\_url | Notes URL | +| notifications\_enabled | Whether or not notification is enabled | +| notification\_interval | Notification interval | +| notification\_options | Notification options | +| notification\_period | Notification period | +| obsess\_over\_host | Whether or not obsess over host option is enabled | +| passive\_checks\_enabled | Whether or not passive checks are enabled | +| process\_perf\_data | Process performance data command | +| retain\_nonstatus\_information | Whether or not there is non-status retention | +| retain\_status\_information | Whether or not there is status retention | +| retry\_check\_interval | Retry check interval | +| snmp\_community | Snmp Community | +| snmp\_version | Snmp version | +| stalking\_options | Comma separated options: 'o' for OK, 'd' for Down, 'u' for Unreachable | +| statusmap\_image | Status map image (used by statusmap | +| host\_notification\_options | Notification options (d,u,r,f,s) | +| timezone | Timezone | + +**Response** + +``` json +{ + "result": [ + { + "alias": "test", + "address": "192.168.56.101", + "timezone": "Europe/Berlin" + } + ] +} +``` + +#### Set instance poller + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setinstance", + "object": "host", + "values": "test;Poller-2" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getmacro", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** Here is a response example : + +``` json +{ + "result": [ + { + "macro name": "ALIVENUM", + "macro value": "1", + "is_password": "", + "description": "", + "source": "generic-host-bench" + }, + { + "macro name": "ALIVEWARNING", + "macro value": "3000.80", + "is_password": "", + "description": "", + "source": "generic-host-bench" + }, + { + "macro name": "ALIVECRITICAL", + "macro value": "5000.100", + "is_password": "", + "description": "", + "source": "generic-host-bench" + } + ] +} +``` + +#### Set macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setmacro", + "object": "host", + "values": "mail-uranus-frontend;MacroName;NewValue" +} +``` + +To edit an existing custom macro, The MacroName used on the body should be +defined on the Custom Macro of the chosen host. If the macro doesn't exist, it +will be created. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete macro + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delmacro", + "object": "host", + "values": "mail-uranus-frontend;MacroName" +} +``` + +The MacroName used on the body is the macro to delete. It should be defined on +the Custom Macro of the chosen host. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "gettemplate", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** Here is a response example : + +``` json +{ + "result": [ + { + "id": "3", + "name": "Servers-Linux" + }, + { + "id": "62", + "name": "Postfix-frontend" + }, + { + "id": "59", + "name": "Cyrus-murder-frontend" + } + ] +} +``` + +#### Set template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "settemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. The new +template erase templates already exist. + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Add template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addtemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. The new +template is added without erasing template already linked + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Delete template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "deltemplate", + "object": "host", + "values": "mail-uranus-frontend;MyHostTemplate" +} +``` + +The MyHostTemplate used on the body should exist as a host template. + + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Apply template + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "applytpl", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Get parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getparent", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "219", + "name": "mail-uranus-frontdad" + } + ] +} +``` + +#### Add parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one parent to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + +The add action adds the parent without overwriting he previous configuration. + +#### Set parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one parent to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + +The set action overwrites the previous configuration before setting the new +parent. + +#### Delete parent + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delparent", + "object": "host", + "values": "mail-uranus-frontend;fw-berlin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one parent, use the character '|'. Example: + + "values": "mail-uranus-frontend;fw-berlin|fw-dublin" + +#### Get child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "getchild", + "object": "host", + "values": "mail-uranus-frontdad" + } +``` + +**Response** + +``` json + { + "result": [ + { + "id": "219", + "name": "mail-uranus-frontchild" + } + ] + } +``` + +#### Add child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "addchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To add more than one child to a host, use the character '|'. Example: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +The add action adds the child without overwriting the previous configuration. + +### Set child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + + +**Body** + +``` json + { + "action": "setchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To set more than one child to a host, use the character '|'. Example: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +The set action overwrites the previous configuration before setting the new child. + +### Delete child + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json + { + "action": "delchild", + "object": "host", + "values": "fw-berlin;mail-uranus-frontend" + } +``` + +**Response** + +``` json + { + "result": [] + } +``` + +To delete more than one child, use the character '|'. Example: + + "values": "fw-berlin;mail-uranus-frontend|mail-neptune-frontend" + +#### Get contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getcontactgroup", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "6", + "name": "Mail-Operators" + } + ] +} +``` + +#### Add contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Supervisors" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one contactgroup to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;Supervisors|Guest" + +The add action adds the contact without overwriting he previous configuration. + +#### Set contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Supervisors" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one contactgroup to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;Supervisors|Guest" + +The set action overwrites the previous configuration before setting the new +contactgroup. + +#### Delete contact group + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delcontactgroup", + "object": "host", + "values": "mail-uranus-frontend;Guest" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one contactgroup, use the character '|'. Example: + + "values": "mail-uranus-frontend;Guest|Supervisors" + +#### Get contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "getcontact", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "20", + "name": "user-mail" + } + ] +} +``` + +#### Add contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addcontact", + "object": "host", + "values": "mail-uranus-frontend;admin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one contact to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +The add action adds the contact without overwriting he previous configuration. + +#### Set contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setcontact", + "object": "host", + "values": "mail-uranus-frontend;admin" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one contact to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +The set action overwrites the previous configuration before setting the new +contact. + +#### Delete contact + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delcontact", + "object": "host", + "values": "mail-uranus-frontend;Guest" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one contact, use the character '|'. Example: + + "values": "mail-uranus-frontend;admin|SuperAdmin" + +#### Get hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "gethostgroup", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "53", + "name": "Linux-Servers" + }, + { + "id": "63", + "name": "Mail-Cyrus-Frontend" + } + ] +} +``` + +#### Add hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "addhostgroup", + "object": "host", + "values": "mail-uranus-frontend;Mail-Postfix-Frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To add more than one hostgroup to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;Mail-Postfix-Frontend|Linux-Servers" + +The add action adds the hostgroup without overwriting he previous configuration. + +#### Set hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "sethostgroup", + "object": "host", + "values": "mail-uranus-frontend;Linux-Servers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To set more than one hostgroup to a host, use the character '|'. Example: + + "values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend" + +The set action overwrites the previous configuration before setting the new +hostgroup. + +#### Delete hostgroup + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "delhostgroup", + "object": "host", + "values": "mail-uranus-frontend;Linux-Servers" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +To delete more than one hostgroup, use the character '|'. Example: + + "values": "mail-uranus-frontend;Linux-Servers|Mail-Postfix-Frontend" + +#### Enable + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "enable", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +#### Disable + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "disable", + "object": "host", + "values": "mail-uranus-frontend" +} +``` + +**Response** + +``` json +{ + "result": [] +} +``` + +### ACL + + - **Object** + + - ACL + +**Actions** + + - reload + - lastreload + +#### Action ACL + + - **Object** + + - ACLACTION + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +#### ACL groups + + - **Object** + + - ACLGROUP + +**Actions** + + - show + - add + - del + - setparam + - getmenu + - getaction + - getresource + - getcontact + - getcontactgroup + - setmenu + - setaction + - setresource + - addmenu + - addaction + - addresource + - delmenu + - delaction + - delresource + - setcontact + - setcontactgroup + - addcontact + - addcontactgroup + - delcontact + - delcontactgroup + +#### Menu ACL + + - **Object** + + - ACLMENU + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +#### Resource ACL + + - **Object** + + - ACLRESOURCE + +**Actions** + + - show + - add + - del + - setparam + - getaclgroup + - grant + - revoke + +### Centreon Broker + + - **Object** + + - CENTBROKERCFG + +**Actions** + + - show + - add + - del + - setparam + - listinput, listoutput, listlogger, listcorrelation, listtemporary, +> liststats + - getinput , getoutput, getlogger, getcorrelation, gettemporary, getstats + - addinput, addoutput, addlogger, addcorrelation, addtemporary, addstats + - delinput, deloutput, dellogger, delcorrelation, deltemporary, delstats + - setinput, setoutput, setlogger, setcorrelation, settemporary, setstats + +### CGI CFG + + - **Object** + + - CGICFG + +**Actions** + + - show + - add + - del + - setparam + +### Commands + + - **Object** + + - CMD + +**Actions** + + - show + - add + - del + - setparam + +### Contacts + + - **Object** + + - CONTACT + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + +#### Contact templates + + - **Object** + + - CONTACTTPL + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + +#### Contact groups + + - **Object** + + - CG + +**Actions** + + - show + - add + - del + - setparam + - enable + - disable + - getcontact + - addcontact + - setcontact + - delcontact + +### Dependencies + + - **Object** + + - DEP + +**Actions** + + - show + - add + - del + - setparam + - listdep + - addparent + - addchild + - delparent + - delchild + +### Downtimes + + - **Object** + + - DOWNTIME + +**Actions** + + - show + - add + - del + - listperiods + - addweeklyperiod + - addmonthlyperiod + - addspecificperiod + - addhost, addhostgroup, addservice, addservicegroup + - delhost, delhostgroup, delservice, delservicegroup + - sethost, sethostgroup, setservice, setservicegroup + +### Host template + + - **Object** + + - HTPL + +**Actions** APPLYTPL and SETINSTANCE actions on HTPL + + - show + - add + - del + - setparam + - getmacro + - setmacro + - delmacro + - getparent + - addparent + - setparent + - delparent + - getcontactgroup + - addcontactgroup + - setcontactgroup + - delcontactgroup + - getcontact + - addcontact + - setcontact + - delcontact + - gethostgroup + - addhostgroup + - sethostgroup + - delhostgroup + - setseverity + - unsetseverity + - enable + - disable + +### Host categories + + - **Object** + + - HC + +**Actions** + + - show + - add + - del + - getmember + - addmember + - setmember + - setseverity + - unsetseverity + - delmember + +### Hostgroups + + - **Object** + + - HG + +**Actions** + + - show + - add + - del + - setparam + - getmember + - addmember + - setmember + - delmember + +### Instances (Pollers) + + - **Object** + + - INSTANCE + +**Actions** + + - show + - add + - del + - setparam + - gethosts + +### Resource CFG (pollers related macros) + +`RESOURCECFG` objects allow to define macro values that apply to a set of pollers. +A `RESOURCECFG` object defines a macro for one or multiple pollers. +The same macro can be defined in multiple `RESOURCECFG` objects with complementary lists of pollers. +More information here: [Resource macros](../monitoring/basic-objects/macros.md#resource-macros) + +#### List RESOURCECFG objects + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "show", + "object": "resourcecfg" +} +``` + +**Response** + +``` json +{ + "result": [ + { + "id": "1", + "name": "$USER1$", + "value": "/usr/lib64/nagios/plugins", + "comment": "Nagios Plugins Path", + "activate": "1", + "instance": [ + "Central" + ] + }, + { + "id": "2", + "name": "$CENTREONPLUGINS$", + "value": "/usr/lib/centreon/plugins", + "comment": "Centreon Plugins Path", + "activate": "1", + "instance": [ + "Central" + ] + } + ] +} +``` + +#### Add a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "add", + "object": "resourcecfg", + "values": "{macro name};{macro value};{poller related list};{comment}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +#### Delete a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "del", + "object": "resourcecfg", + "values": "{macro ID}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +#### Change a RESOURCECFG object + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action": "setparam", + "object": "resourcecfg", + "values": "{macro ID};{parameter to change: instance,comment,value or activate};{value}" +} +``` + +**Response** + +``` json +{"result":[]} +``` + +### Service templates + + - **Object** + + - STPL + +**Actions** + + - show + - add + - del + - setparam + - gethosttemplate + - addhosttemplate + - sethosttemplate + - delhosttemplate + - getmacro + - setmacro + - delmacro + - getcontact + - addcontact + - setcontact + - delcontact + - getcontactgroup + - setcontactgroup + - delcontactgroup + - gettrap + - settrap + - deltrap + +### Services + + - **Object** + + - SERVICE + +**Actions** + + - show + - add + - del + - setparam + - addhost + - sethost + - delhost + - getmacro + - setmacro + - delmacro + - setseverity + - unsetseverity + - getcontact + - addcontact + - setcontact + - delcontact + - getcontactgroup + - setcontactgroup + - delcontactgroup + - gettrap + - settrap + - deltrap + +### Service groups + + - **Object** + + - SG + +**Actions** + + - show + - add + - del + - setparam + - getservice + - gethostgroupservice + - addservice + - setservice + - addhostgroupservice + - sethostgroupservice + - delservice + - delhostgroupservice + +### Service categories + + - **Object** + + - SC + +**Actions** + + - show + - add + - del + - setparam + - getservice + - getservicetemplate + - addservice + - setservice + - addservicetemplate + - setservicetemplate + - delservice + - delservicetemplate + - setseverity + - unsetseverity + +### Time periods + + - **Object** + + - TIMEPERIOD + +**Actions** + + - show + - add + - del + - setparam + - getexception + - setexception + - delexception + +### Traps + + - **Object** + + - TRAP + +**Actions** + + - show + - add + - del + - setparam + - getmatching + - addmatching + - delmatching + - updatematching + +#### Vendors + + - **Object** + + - VENDOR + +**Actions** + + - show + - add + - del + - setparam + - generatetraps + +#### Get business views + +**POST** + + api.domain.tld/centreon/api/index.php?action=action&object=centreon_clapi + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Body** + +``` json +{ + "action":"show", + "object":"bv" +} +``` + +**Response** + +The response is a JSON flow listing all hosts, formatted as follows: : + +``` json +{ + "result": [ + { + "id_ba_group": "1", + "name": "BA-Mail-View", + "description": "BA Mail View" + }, + { + "id_ba_group": "2", + "name": "BA-CIO-View", + "description": "BA CIO View" + } + ] +} +``` + +## Realtime information + +### Host Status + +All monitoring information regarding hosts is available through the Centreon +API. + +Using the GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a list of parameters in order to select the data you want. + +| Parameters | values | +| ----------- | ---------------------------------------------------------------------------------- | +| viewType | select the predefined filter like in the monitoring view: all, unhandled, problems | +| fields | the fields list that you want to get separated by a "," | +| status | the status of hosts that you want to get (up, down, unreachable, pending, all) | +| hostgroup | hostgroup id filter | +| instance | instance id filter | +| search | search pattern applyed on host name | +| criticality | a specific criticity | +| sortType | the sortType (selected in the field list) | +| order | ASC ou DESC | +| limit | number of line you want | +| number | page number | + +Field list : + +| Fields | Description | +| -------------------------- | ---------------------------------------- | +| id | host id | +| name | host name | +| alias | host alias (description of the host) | +| address | host address (domain name or ip) | +| state | host state (UP = 0, DOWN = 2, UNREA = 3) | +| state\_type | host state type (SOFT = 0, HARD = 1) | +| output | Plugin output - state message | +| max\_check\_attempts | maximum check attempts | +| check\_attempt | current attempts | +| last\_check | last check time | +| last\_state\_change | last time the state change | +| last\_hard\_state\_change | last time the state change in hard type | +| acknowledged | acknowledged flag | +| instance | name of the instance who check this host | +| instance\_id | id of the instance who check this host | +| criticality | criticality fo this host | +| passive\_checks | accept passive results | +| active\_checks | active checks are enabled | +| notify | notification is enabled | +| action\_url | shortcut for action URL | +| notes\_url | shortcut for note URL | +| notes | note | +| icon\_image | icone image for this host | +| icon\_image\_alt | title of the image | +| scheduled\_downtime\_depth | scheduled\_downtime\_depth | +| flapping | is the host flapping ? | + +Using the GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_hosts&action=list&limit=60&viewType=all&sortType=name&order=desc&fields=id,name,alias,address,state,output,next_check + +### Service Status + +All monitoring information regarding services is available through the +Centreon API. With this call, you can also get host information at the same +time as service information. This web service provides the same possibility +as the service monitoring view. + +Using the GET method and the URL below: + + api.domain.tld/centreon/api/index.php?object=centreon_realtime_services&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a list of parameters in order to select the data you want. + +| Parameters | values | +| ------------ | ------------------------------------------------------------------------------------------ | +| viewType | select the predefined filter like in the monitoring view: all, unhandled, problems | +| fields | the fields list that you want to get separated by a "," | +| status | the status of services that you want to get (ok, warning, critical, unknown, pending, all) | +| hostgroup | hostgroup id filter | +| servicegroup | servicegroup id filter | +| instance | instance id filter | +| search | search pattern applied on service | +| searchHost | search pattern applied on host | +| searchOutput | search pattern applied on output | +| criticality | a specific criticity | +| sortType | the sortType (selected in the field list) | +| order | ASC ou DESC | +| limit | number of line you want | +| number | page number | + +Field list : + +| Fields | Description | +| -------------------------- | ---------------------------------------- | +| host\_id | host id | +| host\_name | host name | +| host\_alias | host alias (description of the host) | +| host\_address | host address (domain name or ip) | +| host\_state | host state (UP = 0, DOWN = 2, UNREA = 3) | +| host\_state\_type | host state type (SOFT = 0, HARD = 1) | +| host\_output | Plugin output - state message | +| host\_max\_check\_attempts | maximum check attempts for host | +| host\_check\_attempt | current attempts | +| host\_last\_check | last check time | +| host\_acknowledged | acknowledged flag | +| instance | name of the instance who check this host | +| instance\_id | id of the instance who check this host | +| host\_action\_url | shortcut for action URL | +| host\_notes\_url | shortcut for note URL | +| host\_notes | note | +| description | service description - service name | +| display\_name | service display name | +| service\_id | service id | +| state | service state | +| state\_type | service state type (SOFT = 0, HARD = 1) | +| output | service output returned by plugins | +| perfdata | service perfdata returned by plugins | +| current\_attempt | maximum check attempts for the service | +| last\_update | last update date for service | +| last\_state\_change | last time the state change | +| last\_hard\_state\_change | last time the state change in hard type | +| next\_check | next check time for service | +| max\_check\_attempts | maximum check attempts for service | +| action\_url | shortcut for action URL | +| notes\_url | shortcut for note URL | +| notes | notes | +| icone\_image | icone image for service | +| passive\_checks | accept passive results | +| active\_checks | active checks are enabled | +| acknowledged | acknowledged flag | +| notify | notification is enabled | +| scheduled\_downtime\_depth | scheduled\_downtime\_depth | +| flapping | is the host flapping ? | +| event\_handler\_enabled | is the event-handfler enabled | +| criticality | criticality fo this service | + +Example: + +Using the GET method and the URL below: + + api.domain.tld/centreon/api/index.php?action=list&object=centreon_realtime_services&limit=60&viewType=all&sortType=name&order=desc&fields=id,description,host_id,host_name,state,output + +### Submit results + +You can use the centreon API to submit information to the monitoring engine. All +information that you submit will be forwarded to the centreon engine poller that +hosts the configuration. + +To provide information, Centreon needs to have specific and mandatory +information. + +The user must be admin or have access to "Reach API Configuration". + +For the service submission please provide the following information : + +| Fields | Description | +| ------------------- | -------------------------------------------------------- | +| host | host name | +| service | service description | +| status | status id (0, 1, 2, 3) or ok, warning, critical, unknown | +| output | a specific message | +| perfdata (optional) | all performance metric following the nagios plugin API | +| updatetime | the check time (timestamp) | + +For the host submission please provide the following information : + +| Fields | Description | +| ---------- | -------------------------- | +| host | host name | +| status | status id (0, 1, 2, 3) | +| output | a specific message | +| updatetime | the check time (timestamp) | + +To send status, please use the following URL using POST method: + + api.domain.tld/centreon/api/index.php?action=submit&object=centreon_submit_results + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Example of service body submit:** The body is a json with the parameters +provided above formated as below: + +``` json +{ + "results": [ + { + "updatetime": "1528884076", + "host": "Centreon-Central", + "service": "Memory", + "status": "2", + "output": "The service is in CRITICAL state", + "perfdata": "perf=20" + }, + { + "updatetime": "1528884076", + "host": "Centreon-Central", + "service": "fake-service", + "status": "1", + "output": "The service is in WARNING state", + "perfdata": "perf=10" + } + ] +} +``` + +**Example of body response** The response body is a json with the HTTP +return code and a message for each submit + +``` json +{ + "results": [ + { + "code": 202, + "message": "The status send to the engine" + }, + { + "code": 404, + "message": "The service is not present." + } + ] +} +``` + +### Business activity + +All monitoring information on Business Activities is available through +the Centreon API. The BA list is sorted by *impact*. + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_ba&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a number of parameters to select the data you want. + +| Parameters | values | +| -------------- | ------------------------------------------------------------------------------------------- | +| ba\_id | filter on BA ID | +| search | filter pattern on BA name | +| business\_view | filter pattern on business view name | +| status | filter on BA status (OK, Warning, Critical, Unknown); multiple statuses separated by commas | +| limit | number of desired lines | +| number | page number | + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_ba_realtime&action=list&status=ok&number=0&limit=2 + +**Response** + +``` json +[ + { + "id": "49", + "name": "Africa Office Availability", + "description": "Africa Office Availability", + "level_w": "12", + "level_c": "12", + "current_level": "100", + "acknowledged": "0", + "last_state_change": "1518663959", + "current_status": "0", + "in_downtime": "0", + "kpis": [ + "372", + "373", + "401", + "402" + ] + }, + { + "id": "50", + "name": "Asia Office Availability", + "description": "Asia Office Availability", + "level_w": "12", + "level_c": "12", + "current_level": "100", + "acknowledged": "0", + "last_state_change": "1519029327", + "current_status": "0", + "in_downtime": "0", + "kpis": [ + "374", + "375", + "376" + ] + } +] +``` + +Additional information: + + - current_status: 0 = OK, 1 = warning, 2 = Critical, 3 = Unknown + - current_impact: impact on linked BA in % + - number: page number (first page is 0) + - limit: page limit (default= 30) + +### KPI + +All monitoring information for Key Performance Indicators(KPI) is +available through the Centreon API. The kpi list is sorted by *impact*. + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list + +**Header** + +| Key | Value | +| ------------------- | ------------------------------------------------------------- | +| Content-Type | application/json | +| centreon-auth-token | The value of authToken you got on the authentication response | + +**Parameters** + +You can pass a number of parameters to select the data you want: + +| Parameters | values | +| ------------- | ------------------------------------------------------------------------------------------------------ | +| kpi\_id | filter on KPI ID | +| kpi\_search | filter pattern on KPI name | +| ba\_search | filter pattern on BA name | +| is\_impacting | filter on impacting KPI (false, true) | +| kpi\_status | filter on KPI status (ok, warning, critical, unknown) multiple statuses can be set separated by commas | +| ba\_status | filter on BA status (OK, Warning, Critical, Unknown) multiple status separated by commas | +| limit | number of desired lines | +| number | page number | + +Use the GET method and URL below: : + + api.domain.tld/centreon/api/index.php?object=centreon_bam_realtime_kpi&action=list&kpi_status=ok,warning&number=0&limit=2 + +**Response** + +``` json +[ + { + "id": "366", + "activate": "1", + "ba_id": "47", + "ba_name": "DB-Oracle-Accounting", + "ba_activate": "1", + "type": "0", + "kpi_host": "srv-oracle-accounting", + "kpi_host_id": "149", + "kpi_service": "Query -Stores-", + "kpi_service_id": "1172", + "kpi_ba": "", + "kpi_ba_id": "", + "kpi_meta": "", + "kpi_meta_id": "", + "kpi_boolean": "", + "kpi_boolean_id": "", + "last_state_change": "1517297343", + "current_impact": "0", + "in_downtime": "0", + "acknowledged": "0", + "warning_impact": "0", + "critical_impact": "30", + "unknown_impact": "10", + "name": "srv-oracle-accounting / Query -Stores-", + "type_label": "Service", + "output": "Query executed on 0.021 second", + "current_status": "0", + "current_status_label": "OK", + "ba_current_status": "0", + "ba_current_status_label": "OK" + }, + { + "id": "365", + "activate": "1", + "ba_id": "47", + "ba_name": "DB-Oracle-Accounting", + "ba_activate": "1", + "type": "0", + "kpi_host": "srv-oracle-accounting", + "kpi_host_id": "149", + "kpi_service": "Query -Stock-", + "kpi_service_id": "1171", + "kpi_ba": "", + "kpi_ba_id": "", + "kpi_meta": "", + "kpi_meta_id": "", + "kpi_boolean": "", + "kpi_boolean_id": "", + "last_state_change": "1511356592", + "current_impact": "0", + "in_downtime": "0", + "acknowledged": "0", + "warning_impact": "0", + "critical_impact": "30", + "unknown_impact": "10", + "name": "srv-oracle-accounting / Query -Stock-", + "type_label": "Service", + "output": "Query executed on 0.786 second", + "current_status": "0", + "current_status_label": "OK", + "ba_current_status": "0", + "ba_current_status_label": "OK" + } +] +``` + +Additional information: + +- kpi\_type: 0 = service, 1 = metaservice, 2 = BA, 3 = boolean rule +- kpi\_name: name of the kpi ( / or + or or ) +- kpi\_current\_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown +- ba\_current\_status: 0 = OK, 1 = Warning, 2 = Critical, 3 = Unknown +- current\_impact: impact on linked BA in % +- number: page number (first page is 0) +- limit: page limit (default= 30) diff --git a/versioned_docs/version-25.10/api/rest-api-v2.md b/versioned_docs/version-25.10/api/rest-api-v2.md new file mode 100644 index 000000000000..dee197e2fd99 --- /dev/null +++ b/versioned_docs/version-25.10/api/rest-api-v2.md @@ -0,0 +1,147 @@ +--- +id: rest-api-v2 +title: Using the v2 API with Postman +--- + +This page describes how to use [the v2 API](https://docs-api.centreon.com/api/centreon-web/24.10/) for Centreon Web with Postman. + +## Create a Postman collection from the OpenAPI definition + +In order to manipulate the API more efficiently, or just understand how it works, +there is nothing handier than a [Postman](https://learning.postman.com/docs/getting-started/introduction/) +collection. + +### Import the OpenAPI definition + +From your workspace, click the **Import** button. + +![image](../assets/api/postman-import.png) + +Go to the **Link** tab and enter the URL to the OpenAPI definition from GitHub: + +```text +https://raw.githubusercontent.com/centreon/centreon/24.10.x/centreon/doc/API/centreon-api.yaml +``` + +![image](../assets/api/postman-import-link.png) + +Click **Continue** and adjust some of the default parameters: + +- Select only *Collection* as an import method, +- Select *Example* for *Request parameter generation*, as it will bring more + context on path variables or query parameters, +- Select *Tags* for *Folder organization*, as it will arrange the collection + as in the documentation. + +Then click **Import** and wait a few seconds for the process to be done. + +![image](../assets/api/postman-import-feedback.png) + +### Add an environment + +To be able to communicate with your platform, the collection will use +environment variables to define access information and credentials. + +From your workspace, click the **Manage Environments** icon. + +![image](../assets/api/postman-environment.png) + +Click **Add** and set the variables as below with your platform information: + +![image](../assets/api/postman-environment-add.png) + +Then click **Add**, and select it in the environments list. + +> The API version is not set in the environment variables. It's more of a +> collection variable. It can be changed directly in the collection by editing +> it. +> +> ![image](../assets/api/postman-collection-edit.png) +> +> In the **Variables** tab, change the *version* value to either +> "latest" or your `v.` version number, e.g. "v24.10". +> +> You can obtain your "major.minor" version number using the following command: +> `curl -s http://127.0.0.1:80/centreon/api/latest/platform/versions | jq '.web '` +> +> Here is an example of output for this command: +> +> { +> "version": "24.10.1", +> "major": "24", +> "minor": "10", +> "fix": "1" +> } +> +> ![image](../assets/api/postman-collection-variables.png) +> +> Other variables will be overloaded by environment variables. + +### Edit the Login request + +To make the *Login* request, use the previously defined credentials, and retrieve +the API token from the response. It needs to be edited. + +From the collection, select the *Login* request from the *Authentication* +folder. + +In the **Body** tab, replace the *login* and *password* values with the environment +variables `{{username}}` and `{{password}}` as below: + +![image](../assets/api/postman-login-body.png) + +In the **Tests** tab, add the following code: + +```javascript +pm.test("Status code is 200", function () { pm.response.to.have.status(200); }); + +const responseJson = pm.response.json(); + +pm.test("The response has all properties", () => { + pm.expect(responseJson).to.be.an("object"); + pm.expect(responseJson.contact.alias).to.eql(pm.environment.get("username")); + pm.expect(responseJson.security.token).to.be.a('string'); +}); + +pm.environment.set("token", responseJson.security.token); +``` + +![image](../assets/api/postman-login-test.png) + +Then click **Save** or use the shortcut *Ctrl+S*. + +### Use the API token + +Once saved, **Send** the *Login* request. + +![image](../assets/api/postman-login-response.png) + +If successful, it will add a new *token* environment variable filled with the +token retrieved from login. + +![image](../assets/api/postman-environment-view.png) + +To use it in all the requests, edit the collection. + +![image](../assets/api/postman-collection-edit.png) + +In the **Authorization** tab, choose *API Key* type and fill the *Key* field +with `X-AUTH-TOKEN` and the *Value* field with `{{token}}`. + +![image](../assets/api/postman-collection-edit-authorization.png) + +Make sure it will be added to *Header*. + +Then click **Update**. + +### Make requests + +Now that a valid token is stored, you can execute requests on other endpoints. + +Uncheck unused query parameters or fill them with values, and click **Send**. + +![image](../assets/api/postman-hosts-list-console.png) + +You will notice the token added in the defined header. + +If the token expires, just re-execute the *Login* request to get a new one. diff --git a/versioned_docs/version-25.10/assets/administration/acl-bandeau-poller.png b/versioned_docs/version-25.10/assets/administration/acl-bandeau-poller.png new file mode 100644 index 000000000000..9d8dd80b24ed Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/acl-bandeau-poller.png differ diff --git a/versioned_docs/version-25.10/assets/administration/acl-bandeau.png b/versioned_docs/version-25.10/assets/administration/acl-bandeau.png new file mode 100644 index 000000000000..b61aa250a3b3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/acl-bandeau.png differ diff --git a/versioned_docs/version-25.10/assets/administration/data_retention.png b/versioned_docs/version-25.10/assets/administration/data_retention.png new file mode 100644 index 000000000000..a5b3a48b4395 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/data_retention.png differ diff --git a/versioned_docs/version-25.10/assets/administration/database-information.png b/versioned_docs/version-25.10/assets/administration/database-information.png new file mode 100644 index 000000000000..42edb8564fe8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/database-information.png differ diff --git a/versioned_docs/version-25.10/assets/administration/dmedias.png b/versioned_docs/version-25.10/assets/administration/dmedias.png new file mode 100644 index 000000000000..8e70251fd9f5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/dmedias.png differ diff --git a/versioned_docs/version-25.10/assets/administration/dmediasimports.png b/versioned_docs/version-25.10/assets/administration/dmediasimports.png new file mode 100644 index 000000000000..a450fe0c10be Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/dmediasimports.png differ diff --git a/versioned_docs/version-25.10/assets/administration/extension-popin.png b/versioned_docs/version-25.10/assets/administration/extension-popin.png new file mode 100644 index 000000000000..61ce21750461 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/extension-popin.png differ diff --git a/versioned_docs/version-25.10/assets/administration/fobjectmodif.png b/versioned_docs/version-25.10/assets/administration/fobjectmodif.png new file mode 100644 index 000000000000..05a6f8b2b568 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/fobjectmodif.png differ diff --git a/versioned_docs/version-25.10/assets/administration/fsearchlogs.png b/versioned_docs/version-25.10/assets/administration/fsearchlogs.png new file mode 100644 index 000000000000..c39ae9103bac Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/fsearchlogs.png differ diff --git a/versioned_docs/version-25.10/assets/administration/install-imp-1.png b/versioned_docs/version-25.10/assets/administration/install-imp-1.png new file mode 100644 index 000000000000..35868ea32dd9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/install-imp-1.png differ diff --git a/versioned_docs/version-25.10/assets/administration/install-imp-2.png b/versioned_docs/version-25.10/assets/administration/install-imp-2.png new file mode 100644 index 000000000000..e2f02a508cbf Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/install-imp-2.png differ diff --git a/versioned_docs/version-25.10/assets/administration/license_not_valid.png b/versioned_docs/version-25.10/assets/administration/license_not_valid.png new file mode 100644 index 000000000000..9595f70cef2b Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/license_not_valid.png differ diff --git a/versioned_docs/version-25.10/assets/administration/license_valid.png b/versioned_docs/version-25.10/assets/administration/license_valid.png new file mode 100644 index 000000000000..facfb2b6cefc Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/license_valid.png differ diff --git a/versioned_docs/version-25.10/assets/administration/licenses.png b/versioned_docs/version-25.10/assets/administration/licenses.png new file mode 100644 index 000000000000..e2f02a508cbf Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/licenses.png differ diff --git a/versioned_docs/version-25.10/assets/administration/local-configuration.png b/versioned_docs/version-25.10/assets/administration/local-configuration.png new file mode 100644 index 000000000000..480592d7e360 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/local-configuration.png differ diff --git a/versioned_docs/version-25.10/assets/administration/logs_audit_enable.png b/versioned_docs/version-25.10/assets/administration/logs_audit_enable.png new file mode 100644 index 000000000000..698d39b2cf83 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/logs_audit_enable.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-backup.png b/versioned_docs/version-25.10/assets/administration/parameters-backup.png new file mode 100644 index 000000000000..968916f716f5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-backup.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-debug.png b/versioned_docs/version-25.10/assets/administration/parameters-debug.png new file mode 100644 index 000000000000..beda6a4fb27a Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-debug.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-gorgone.png b/versioned_docs/version-25.10/assets/administration/parameters-gorgone.png new file mode 100644 index 000000000000..cde352a221b8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-gorgone.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-ldap-add.png b/versioned_docs/version-25.10/assets/administration/parameters-ldap-add.png new file mode 100644 index 000000000000..da3dda48bb9e Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-ldap-add.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-monitoring.png b/versioned_docs/version-25.10/assets/administration/parameters-monitoring.png new file mode 100644 index 000000000000..a64c4a89301e Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-monitoring.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-rrdtool.png b/versioned_docs/version-25.10/assets/administration/parameters-rrdtool.png new file mode 100644 index 000000000000..dea4a6bd2452 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-rrdtool.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-wiki-article.png b/versioned_docs/version-25.10/assets/administration/parameters-wiki-article.png new file mode 100644 index 000000000000..72511b0c6cb9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-wiki-article.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png b/versioned_docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png new file mode 100644 index 000000000000..8e34514e960c Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-wiki-host-monitoring.png differ diff --git a/versioned_docs/version-25.10/assets/administration/parameters-wiki.png b/versioned_docs/version-25.10/assets/administration/parameters-wiki.png new file mode 100644 index 000000000000..4870cc4da21b Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/parameters-wiki.png differ diff --git a/versioned_docs/version-25.10/assets/administration/partitioning-configuration.png b/versioned_docs/version-25.10/assets/administration/partitioning-configuration.png new file mode 100644 index 000000000000..d24c5403a2cb Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/partitioning-configuration.png differ diff --git a/versioned_docs/version-25.10/assets/administration/partitioning-state.png b/versioned_docs/version-25.10/assets/administration/partitioning-state.png new file mode 100644 index 000000000000..973bc487ed81 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/partitioning-state.png differ diff --git a/versioned_docs/version-25.10/assets/administration/password_expiration.png b/versioned_docs/version-25.10/assets/administration/password_expiration.png new file mode 100644 index 000000000000..5603e2bd59b7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/password_expiration.png differ diff --git a/versioned_docs/version-25.10/assets/administration/password_expired.png b/versioned_docs/version-25.10/assets/administration/password_expired.png new file mode 100644 index 000000000000..9de542647b6c Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/password_expired.png differ diff --git a/versioned_docs/version-25.10/assets/administration/password_will_expire.png b/versioned_docs/version-25.10/assets/administration/password_will_expire.png new file mode 100644 index 000000000000..4e3dc36fc718 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/password_will_expire.png differ diff --git a/versioned_docs/version-25.10/assets/administration/postfix-status.png b/versioned_docs/version-25.10/assets/administration/postfix-status.png new file mode 100644 index 000000000000..a5690e52155a Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/postfix-status.png differ diff --git a/versioned_docs/version-25.10/assets/administration/proxy_configuration.png b/versioned_docs/version-25.10/assets/administration/proxy_configuration.png new file mode 100644 index 000000000000..39195c8a4c26 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/proxy_configuration.png differ diff --git a/versioned_docs/version-25.10/assets/administration/sql_proxy.png b/versioned_docs/version-25.10/assets/administration/sql_proxy.png new file mode 100644 index 000000000000..bd526a4d01b4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/sql_proxy.png differ diff --git a/versioned_docs/version-25.10/assets/administration/statistics-broker.png b/versioned_docs/version-25.10/assets/administration/statistics-broker.png new file mode 100644 index 000000000000..aac627abfdcd Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/statistics-broker.png differ diff --git a/versioned_docs/version-25.10/assets/administration/statistics-engine.png b/versioned_docs/version-25.10/assets/administration/statistics-engine.png new file mode 100644 index 000000000000..32c52bac9420 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/statistics-engine.png differ diff --git a/versioned_docs/version-25.10/assets/administration/web-sso-configuration.png b/versioned_docs/version-25.10/assets/administration/web-sso-configuration.png new file mode 100644 index 000000000000..3732d5ef7f90 Binary files /dev/null and b/versioned_docs/version-25.10/assets/administration/web-sso-configuration.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/03hostdependance.png b/versioned_docs/version-25.10/assets/alerts/03hostdependance.png new file mode 100644 index 000000000000..ee08b0e4ea28 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/03hostdependance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/03hostgroupdependance.png b/versioned_docs/version-25.10/assets/alerts/03hostgroupdependance.png new file mode 100644 index 000000000000..9a6a4dcf0d48 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/03hostgroupdependance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/03metaservicedependance.png b/versioned_docs/version-25.10/assets/alerts/03metaservicedependance.png new file mode 100644 index 000000000000..8cfcf7a14325 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/03metaservicedependance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/03servicedependance.png b/versioned_docs/version-25.10/assets/alerts/03servicedependance.png new file mode 100644 index 000000000000..daa79c1ce066 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/03servicedependance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/03servicegroupdependance.png b/versioned_docs/version-25.10/assets/alerts/03servicegroupdependance.png new file mode 100644 index 000000000000..b089ed9a3659 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/03servicegroupdependance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04hostdetail.png b/versioned_docs/version-25.10/assets/alerts/04hostdetail.png new file mode 100644 index 000000000000..a91ca119567d Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04hostdetail.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04hostgroup.png b/versioned_docs/version-25.10/assets/alerts/04hostgroup.png new file mode 100644 index 000000000000..93e8317915de Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04hostgroup.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04notificationsescalation.png b/versioned_docs/version-25.10/assets/alerts/04notificationsescalation.png new file mode 100644 index 000000000000..16bd6ad8b167 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04notificationsescalation.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicedetail.png b/versioned_docs/version-25.10/assets/alerts/04servicedetail.png new file mode 100644 index 000000000000..91bb2a8d724e Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicedetail.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelist.png b/versioned_docs/version-25.10/assets/alerts/04servicelist.png new file mode 100644 index 000000000000..ba3c1fad98a0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelist.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyhost.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhost.png new file mode 100644 index 000000000000..bc4f5e822eb5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhost.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png new file mode 100644 index 000000000000..3b0240872d89 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostdetail.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png new file mode 100644 index 000000000000..ab9a0c305dbd Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroup.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png new file mode 100644 index 000000000000..c7025e8432d4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyhostgroupdetail.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png new file mode 100644 index 000000000000..53832cd574ab Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroup.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png b/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png new file mode 100644 index 000000000000..fe17f3031bb1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04servicelistbyservicegroupdetail.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/04unhandledproblems.png b/versioned_docs/version-25.10/assets/alerts/04unhandledproblems.png new file mode 100644 index 000000000000..f2d7fd6d4800 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/04unhandledproblems.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/05recurrentdowntimes.png b/versioned_docs/version-25.10/assets/alerts/05recurrentdowntimes.png new file mode 100644 index 000000000000..341c56065c6d Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/05recurrentdowntimes.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/acknowledged.png b/versioned_docs/version-25.10/assets/alerts/acknowledged.png new file mode 100644 index 000000000000..cc1e71e3d575 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/acknowledged.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/bar.png b/versioned_docs/version-25.10/assets/alerts/bar.png new file mode 100644 index 000000000000..e015815bd588 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/bar.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/comment.png b/versioned_docs/version-25.10/assets/alerts/comment.png new file mode 100644 index 000000000000..a753734865c7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/comment.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/dashboard-view.png b/versioned_docs/version-25.10/assets/alerts/dashboard-view.png new file mode 100644 index 000000000000..a38d2c3facf2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/dashboard-view.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/dep_host_config.png b/versioned_docs/version-25.10/assets/alerts/dep_host_config.png new file mode 100644 index 000000000000..3ef4357f8df6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/dep_host_config.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/downtime.png b/versioned_docs/version-25.10/assets/alerts/downtime.png new file mode 100644 index 000000000000..02fb488fa9f1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/downtime.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/edit_mode.png b/versioned_docs/version-25.10/assets/alerts/edit_mode.png new file mode 100644 index 000000000000..f6e7d21b93e1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/edit_mode.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/event_logs.png b/versioned_docs/version-25.10/assets/alerts/event_logs.png new file mode 100644 index 000000000000..58d89228c38e Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/event_logs.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/event_logs_export.png b/versioned_docs/version-25.10/assets/alerts/event_logs_export.png new file mode 100644 index 000000000000..77ad1ea267ad Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/event_logs_export.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/flap_engine_conf.png b/versioned_docs/version-25.10/assets/alerts/flap_engine_conf.png new file mode 100644 index 000000000000..1025190dfd28 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/flap_engine_conf.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/flap_host_conf.png b/versioned_docs/version-25.10/assets/alerts/flap_host_conf.png new file mode 100644 index 000000000000..31c9b4dcf338 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/flap_host_conf.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/flapping_icon.png b/versioned_docs/version-25.10/assets/alerts/flapping_icon.png new file mode 100644 index 000000000000..c078bc3b0cd7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/flapping_icon.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/graphperformances.png b/versioned_docs/version-25.10/assets/alerts/graphperformances.png new file mode 100644 index 000000000000..643018e0d48d Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/graphperformances.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/hnotifications_schema.png b/versioned_docs/version-25.10/assets/alerts/hnotifications_schema.png new file mode 100644 index 000000000000..1bc338849238 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/hnotifications_schema.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/no_edit_mode.png b/versioned_docs/version-25.10/assets/alerts/no_edit_mode.png new file mode 100644 index 000000000000..03498e215f54 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/no_edit_mode.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/nonotifications.png b/versioned_docs/version-25.10/assets/alerts/nonotifications.png new file mode 100644 index 000000000000..981f7b3d839b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/nonotifications.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/notif_contact_config.png b/versioned_docs/version-25.10/assets/alerts/notif_contact_config.png new file mode 100644 index 000000000000..0563aab500a1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/notif_contact_config.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_add_01.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_01.png new file mode 100644 index 000000000000..1acb881baee0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_add_02.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_02.png new file mode 100644 index 000000000000..2dfd781e6b48 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_02.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_add_03.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_03.png new file mode 100644 index 000000000000..6d3e3f9a8052 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_03.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_add_04.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_04.png new file mode 100644 index 000000000000..ac991bcf5851 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_add_04.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png new file mode 100644 index 000000000000..34778b832340 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_chain_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png new file mode 100644 index 000000000000..7747f973f372 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_cmd_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png new file mode 100644 index 000000000000..2041deac411f Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_advanced_list_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png new file mode 100644 index 000000000000..92b3255b08c1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png new file mode 100644 index 000000000000..10377963fb96 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_02.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png new file mode 100644 index 000000000000..9d67f98505ff Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_ticket_close_ticket_03.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png new file mode 100644 index 000000000000..177b37b02125 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png new file mode 100644 index 000000000000..5ef60450597b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_provider_02.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_add_widget.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_widget.png new file mode 100644 index 000000000000..d36331ea0bc8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_add_widget.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_install_01.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_install_01.png new file mode 100644 index 000000000000..9a827ffa53b8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_install_01.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_install_02.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_install_02.png new file mode 100644 index 000000000000..8ca1a078dcb1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_install_02.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/open_tickets_macro.png b/versioned_docs/version-25.10/assets/alerts/open_tickets_macro.png new file mode 100644 index 000000000000..372f1c9f9fb2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/open_tickets_macro.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/pause.png b/versioned_docs/version-25.10/assets/alerts/pause.png new file mode 100644 index 000000000000..4c9cbcc42b87 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/pause.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/refresh.png b/versioned_docs/version-25.10/assets/alerts/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/refresh.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/ack-hover.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/ack-hover.gif new file mode 100644 index 000000000000..f05b766e4ba4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/ack-hover.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/compact-icon.png b/versioned_docs/version-25.10/assets/alerts/resources-status/compact-icon.png new file mode 100644 index 000000000000..e4b2dfad76f1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/compact-icon.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/dt-hover.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/dt-hover.gif new file mode 100644 index 000000000000..9ee1c5b7b23e Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/dt-hover.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/dt-popup.png b/versioned_docs/version-25.10/assets/alerts/resources-status/dt-popup.png new file mode 100644 index 000000000000..73fd5675e4ab Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/dt-popup.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/extended-icon.png b/versioned_docs/version-25.10/assets/alerts/resources-status/extended-icon.png new file mode 100644 index 000000000000..9878f4c90dfa Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/extended-icon.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open.png b/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open.png new file mode 100644 index 000000000000..aa9a7c66005d Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open2.png b/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open2.png new file mode 100644 index 000000000000..c0af05c882a2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/graph-open2.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/notification_tab.png b/versioned_docs/version-25.10/assets/alerts/resources-status/notification_tab.png new file mode 100644 index 000000000000..e6da58601d4b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/notification_tab.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif new file mode 100644 index 000000000000..58188618c114 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-add-comment.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif new file mode 100644 index 000000000000..356fc7937a38 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-display-events.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif new file mode 100644 index 000000000000..f5e533a023bc Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-export-to-png.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif new file mode 100644 index 000000000000..4773955ce3b0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-select-only-metric.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif new file mode 100644 index 000000000000..95a46110b661 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-time-selection.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif new file mode 100644 index 000000000000..20cf05137282 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-graph-toggle-legends.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif new file mode 100644 index 000000000000..1b311cee64b2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing-order.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png new file mode 100644 index 000000000000..a032ff48c945 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-listing.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif new file mode 100644 index 000000000000..11c99f5e2e83 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-host.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif new file mode 100644 index 000000000000..707f91944129 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-panel-service.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-values.png b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-values.png new file mode 100644 index 000000000000..64548e48416b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/resources-status-values.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/search-options-icon.png b/versioned_docs/version-25.10/assets/alerts/resources-status/search-options-icon.png new file mode 100644 index 000000000000..2757536082c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/search-options-icon.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif b/versioned_docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif new file mode 100644 index 000000000000..6cf7ac6e584b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/search_ping_linux.gif differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/submit-popup.png b/versioned_docs/version-25.10/assets/alerts/resources-status/submit-popup.png new file mode 100644 index 000000000000..a413095f3c5c Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/submit-popup.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resources-status/timeline.png b/versioned_docs/version-25.10/assets/alerts/resources-status/timeline.png new file mode 100644 index 000000000000..d9dcf82cb165 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resources-status/timeline.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/resume.png b/versioned_docs/version-25.10/assets/alerts/resume.png new file mode 100644 index 000000000000..76ba8adc3a10 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/resume.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/statetransitions.png b/versioned_docs/version-25.10/assets/alerts/statetransitions.png new file mode 100644 index 000000000000..89d4892e9e30 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/statetransitions.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/statetransitions2.png b/versioned_docs/version-25.10/assets/alerts/statetransitions2.png new file mode 100644 index 000000000000..f8b30c0fb395 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/statetransitions2.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/submitresult.png b/versioned_docs/version-25.10/assets/alerts/submitresult.png new file mode 100644 index 000000000000..e0cc3a29cb51 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/submitresult.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/template_inheritance.png b/versioned_docs/version-25.10/assets/alerts/template_inheritance.png new file mode 100644 index 000000000000..7d20d11a628e Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/template_inheritance.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/url_link.png b/versioned_docs/version-25.10/assets/alerts/url_link.png new file mode 100644 index 000000000000..19ecdb99d147 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/url_link.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/view_add.png b/versioned_docs/version-25.10/assets/alerts/view_add.png new file mode 100644 index 000000000000..754d93399193 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/view_add.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/view_edit.png b/versioned_docs/version-25.10/assets/alerts/view_edit.png new file mode 100644 index 000000000000..45ec46fb9016 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/view_edit.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/widget-view.png b/versioned_docs/version-25.10/assets/alerts/widget-view.png new file mode 100644 index 000000000000..c22dfbcff8a0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/widget-view.png differ diff --git a/versioned_docs/version-25.10/assets/alerts/widget_controls.png b/versioned_docs/version-25.10/assets/alerts/widget_controls.png new file mode 100644 index 000000000000..c0f0ee26441b Binary files /dev/null and b/versioned_docs/version-25.10/assets/alerts/widget_controls.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-collection-edit-authorization.png b/versioned_docs/version-25.10/assets/api/postman-collection-edit-authorization.png new file mode 100644 index 000000000000..5f99a3317e4a Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-collection-edit-authorization.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-collection-edit.png b/versioned_docs/version-25.10/assets/api/postman-collection-edit.png new file mode 100644 index 000000000000..a8473b1b833c Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-collection-edit.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-collection-variables.png b/versioned_docs/version-25.10/assets/api/postman-collection-variables.png new file mode 100644 index 000000000000..d11b9fe3f795 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-collection-variables.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-environment-add.png b/versioned_docs/version-25.10/assets/api/postman-environment-add.png new file mode 100644 index 000000000000..ac85a6c6188b Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-environment-add.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-environment-view.png b/versioned_docs/version-25.10/assets/api/postman-environment-view.png new file mode 100644 index 000000000000..9dd3a266abdc Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-environment-view.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-environment.png b/versioned_docs/version-25.10/assets/api/postman-environment.png new file mode 100644 index 000000000000..baa9964e2298 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-environment.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-hosts-list-console.png b/versioned_docs/version-25.10/assets/api/postman-hosts-list-console.png new file mode 100644 index 000000000000..afe826e1ee91 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-hosts-list-console.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-import-feedback.png b/versioned_docs/version-25.10/assets/api/postman-import-feedback.png new file mode 100644 index 000000000000..1c228086edd1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-import-feedback.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-import-link.png b/versioned_docs/version-25.10/assets/api/postman-import-link.png new file mode 100644 index 000000000000..43d83ddb99cf Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-import-link.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-import.png b/versioned_docs/version-25.10/assets/api/postman-import.png new file mode 100644 index 000000000000..683e24cd6c22 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-import.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-login-body.png b/versioned_docs/version-25.10/assets/api/postman-login-body.png new file mode 100644 index 000000000000..b7479ce689a2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-login-body.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-login-response.png b/versioned_docs/version-25.10/assets/api/postman-login-response.png new file mode 100644 index 000000000000..05564e4668cb Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-login-response.png differ diff --git a/versioned_docs/version-25.10/assets/api/postman-login-test.png b/versioned_docs/version-25.10/assets/api/postman-login-test.png new file mode 100644 index 000000000000..467dd02e5aa8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/api/postman-login-test.png differ diff --git a/versioned_docs/version-25.10/assets/architectures/Architecture_distributed.png b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed.png new file mode 100644 index 000000000000..104326043dbb Binary files /dev/null and b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed.png differ diff --git a/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png new file mode 100644 index 000000000000..6b9aae7df7c6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_dbms.png differ diff --git a/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_remote.png b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_remote.png new file mode 100644 index 000000000000..6e8de79bf51c Binary files /dev/null and b/versioned_docs/version-25.10/assets/architectures/Architecture_distributed_remote.png differ diff --git a/versioned_docs/version-25.10/assets/architectures/Architecture_standalone.png b/versioned_docs/version-25.10/assets/architectures/Architecture_standalone.png new file mode 100644 index 000000000000..1218c9662890 Binary files /dev/null and b/versioned_docs/version-25.10/assets/architectures/Architecture_standalone.png differ diff --git a/versioned_docs/version-25.10/assets/common/column-chart.png b/versioned_docs/version-25.10/assets/common/column-chart.png new file mode 100644 index 000000000000..643018e0d48d Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/column-chart.png differ diff --git a/versioned_docs/version-25.10/assets/common/csv.png b/versioned_docs/version-25.10/assets/common/csv.png new file mode 100644 index 000000000000..a02f08b44805 Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/csv.png differ diff --git a/versioned_docs/version-25.10/assets/common/navigate_plus.png b/versioned_docs/version-25.10/assets/common/navigate_plus.png new file mode 100644 index 000000000000..5a831efa7111 Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/navigate_plus.png differ diff --git a/versioned_docs/version-25.10/assets/common/png.png b/versioned_docs/version-25.10/assets/common/png.png new file mode 100644 index 000000000000..cae334a4e944 Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/png.png differ diff --git a/versioned_docs/version-25.10/assets/common/refresh.png b/versioned_docs/version-25.10/assets/common/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/refresh.png differ diff --git a/versioned_docs/version-25.10/assets/common/timer-gray.png b/versioned_docs/version-25.10/assets/common/timer-gray.png new file mode 100644 index 000000000000..e2271f436f1b Binary files /dev/null and b/versioned_docs/version-25.10/assets/common/timer-gray.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/01hostmacros.png b/versioned_docs/version-25.10/assets/configuration/01hostmacros.png new file mode 100644 index 000000000000..80a7f41e1fb6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/01hostmacros.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/01macrosressources.png b/versioned_docs/version-25.10/assets/configuration/01macrosressources.png new file mode 100644 index 000000000000..f5976d78df01 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/01macrosressources.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/01servicemacros.png b/versioned_docs/version-25.10/assets/configuration/01servicemacros.png new file mode 100644 index 000000000000..64865befc86e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/01servicemacros.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/02addmetaservice.png b/versioned_docs/version-25.10/assets/configuration/02addmetaservice.png new file mode 100644 index 000000000000..08cf81375f37 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/02addmetaservice.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/02metaservicesindicators.png b/versioned_docs/version-25.10/assets/configuration/02metaservicesindicators.png new file mode 100644 index 000000000000..6a76217abb17 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/02metaservicesindicators.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/04command.png b/versioned_docs/version-25.10/assets/configuration/04command.png new file mode 100644 index 000000000000..186edce09f1b Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/04command.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/04commandlist.png b/versioned_docs/version-25.10/assets/configuration/04commandlist.png new file mode 100644 index 000000000000..13aa97366591 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/04commandlist.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/05timeperiod.png b/versioned_docs/version-25.10/assets/configuration/05timeperiod.png new file mode 100644 index 000000000000..99bf3455c4d9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/05timeperiod.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06_trap_centreon.png b/versioned_docs/version-25.10/assets/configuration/06_trap_centreon.png new file mode 100644 index 000000000000..a7eaa19cee14 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06_trap_centreon.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06_trap_poller.png b/versioned_docs/version-25.10/assets/configuration/06_trap_poller.png new file mode 100644 index 000000000000..7e55b6478d63 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06_trap_poller.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06addsnmptrap.png b/versioned_docs/version-25.10/assets/configuration/06addsnmptrap.png new file mode 100644 index 000000000000..94da8d037730 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06addsnmptrap.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06advancedconfiguration.png b/versioned_docs/version-25.10/assets/configuration/06advancedconfiguration.png new file mode 100644 index 000000000000..30aef9afa231 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06advancedconfiguration.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06constructors.png b/versioned_docs/version-25.10/assets/configuration/06constructors.png new file mode 100644 index 000000000000..9b16ce80407b Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06constructors.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06createpassiveservice.png b/versioned_docs/version-25.10/assets/configuration/06createpassiveservice.png new file mode 100644 index 000000000000..833fd246e73b Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06createpassiveservice.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06importmibssuccess.png b/versioned_docs/version-25.10/assets/configuration/06importmibssuccess.png new file mode 100644 index 000000000000..b0467c8d7146 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06importmibssuccess.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06servicetrapsrelation.png b/versioned_docs/version-25.10/assets/configuration/06servicetrapsrelation.png new file mode 100644 index 000000000000..3b89881eba6f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06servicetrapsrelation.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/06useradd.png b/versioned_docs/version-25.10/assets/configuration/06useradd.png new file mode 100644 index 000000000000..c14e849374ba Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/06useradd.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/07contactgroup.png b/versioned_docs/version-25.10/assets/configuration/07contactgroup.png new file mode 100644 index 000000000000..e78b4e925643 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/07contactgroup.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/08hostcategory.png b/versioned_docs/version-25.10/assets/configuration/08hostcategory.png new file mode 100644 index 000000000000..923514284b4f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/08hostcategory.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/08servicecategory.png b/versioned_docs/version-25.10/assets/configuration/08servicecategory.png new file mode 100644 index 000000000000..499c7ded6580 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/08servicecategory.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/09contactmodel.png b/versioned_docs/version-25.10/assets/configuration/09contactmodel.png new file mode 100644 index 000000000000..dbdd51273c7e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/09contactmodel.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/09heritageservice.png b/versioned_docs/version-25.10/assets/configuration/09heritageservice.png new file mode 100644 index 000000000000..ccf84b0d5317 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/09heritageservice.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/09hostexemple.png b/versioned_docs/version-25.10/assets/configuration/09hostexemple.png new file mode 100644 index 000000000000..8d31975a0f3f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/09hostexemple.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/09hostmodels.png b/versioned_docs/version-25.10/assets/configuration/09hostmodels.png new file mode 100644 index 000000000000..8819bd2078db Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/09hostmodels.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/09hostmodelsheritage.png b/versioned_docs/version-25.10/assets/configuration/09hostmodelsheritage.png new file mode 100644 index 000000000000..50be3d19980f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/09hostmodelsheritage.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png b/versioned_docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png new file mode 100644 index 000000000000..8c326c7b3ea0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/SNMP_Traps_management_general_view.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/command_attributes.png b/versioned_docs/version-25.10/assets/configuration/autodisco/command_attributes.png new file mode 100644 index 000000000000..6804400ca353 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/command_attributes.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/command_disco.png b/versioned_docs/version-25.10/assets/configuration/autodisco/command_disco.png new file mode 100644 index 000000000000..648785a9d01e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/command_disco.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/commands_list.png b/versioned_docs/version-25.10/assets/configuration/autodisco/commands_list.png new file mode 100644 index 000000000000..446089bbd48d Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/commands_list.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_1.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_1.png new file mode 100644 index 000000000000..90a9c8039f4e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_1.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_2.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_2.png new file mode 100644 index 000000000000..464e3fb672e0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_2.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_3.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_3.png new file mode 100644 index 000000000000..b88f9511b778 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_3.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_4.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_4.png new file mode 100644 index 000000000000..e46495ee2ca9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_4.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_5.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_5.png new file mode 100644 index 000000000000..37fe0a00eb69 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_5.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_6.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_6.png new file mode 100644 index 000000000000..2b01e147d9b4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_6.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_7.png b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_7.png new file mode 100644 index 000000000000..fb96aab60863 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/create_rule_7.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png new file mode 100644 index 000000000000..9e3a4316efe4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_added.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png new file mode 100644 index 000000000000..e2460c2202fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_result.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png new file mode 100644 index 000000000000..d256a6fcffbe Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_command.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png new file mode 100644 index 000000000000..07959f8c2024 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_select_host.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png new file mode 100644 index 000000000000..8ef3005bc7b2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_services.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png new file mode 100644 index 000000000000..153b7644a8fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/autodisco/manual_scan_wait.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/Import.png b/versioned_docs/version-25.10/assets/configuration/awie/Import.png new file mode 100644 index 000000000000..2beecdc437fb Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/Import.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/commands.png b/versioned_docs/version-25.10/assets/configuration/awie/commands.png new file mode 100644 index 000000000000..afcbb2fc624d Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/commands.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/contacts.png b/versioned_docs/version-25.10/assets/configuration/awie/contacts.png new file mode 100644 index 000000000000..f5b3ec992cc1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/contacts.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/exportdefault.png b/versioned_docs/version-25.10/assets/configuration/awie/exportdefault.png new file mode 100644 index 000000000000..2496904fe3d9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/exportdefault.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/hostgroups.png b/versioned_docs/version-25.10/assets/configuration/awie/hostgroups.png new file mode 100644 index 000000000000..c60ffb0bba99 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/hostgroups.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/hosts.png b/versioned_docs/version-25.10/assets/configuration/awie/hosts.png new file mode 100644 index 000000000000..d0bdc5e97230 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/hosts.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/hostscat.png b/versioned_docs/version-25.10/assets/configuration/awie/hostscat.png new file mode 100644 index 000000000000..97548a30c421 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/hostscat.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/hostsetc.png b/versioned_docs/version-25.10/assets/configuration/awie/hostsetc.png new file mode 100644 index 000000000000..c608bcb88ace Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/hostsetc.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/hoststemplates.png b/versioned_docs/version-25.10/assets/configuration/awie/hoststemplates.png new file mode 100644 index 000000000000..b0fca33f3e43 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/hoststemplates.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/install_01.png b/versioned_docs/version-25.10/assets/configuration/awie/install_01.png new file mode 100644 index 000000000000..a1d2d19bab9f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/install_01.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/install_02.png b/versioned_docs/version-25.10/assets/configuration/awie/install_02.png new file mode 100644 index 000000000000..6761b0dce92a Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/install_02.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/poller.png b/versioned_docs/version-25.10/assets/configuration/awie/poller.png new file mode 100644 index 000000000000..ded02f9d44d9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/poller.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/resources.png b/versioned_docs/version-25.10/assets/configuration/awie/resources.png new file mode 100644 index 000000000000..3350988b8041 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/resources.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/servicegroups.png b/versioned_docs/version-25.10/assets/configuration/awie/servicegroups.png new file mode 100644 index 000000000000..b32e20a6d42d Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/servicegroups.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/services.png b/versioned_docs/version-25.10/assets/configuration/awie/services.png new file mode 100644 index 000000000000..e3d0be6896a9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/services.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/servicescat.png b/versioned_docs/version-25.10/assets/configuration/awie/servicescat.png new file mode 100644 index 000000000000..4148c5749978 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/servicescat.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/servicesetc.png b/versioned_docs/version-25.10/assets/configuration/awie/servicesetc.png new file mode 100644 index 000000000000..8eb6c59b3f45 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/servicesetc.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/servicestemplates.png b/versioned_docs/version-25.10/assets/configuration/awie/servicestemplates.png new file mode 100644 index 000000000000..cd6944d248dd Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/servicestemplates.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/success.png b/versioned_docs/version-25.10/assets/configuration/awie/success.png new file mode 100644 index 000000000000..5539b3bf66d7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/success.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/awie/zipfileuploaded.png b/versioned_docs/version-25.10/assets/configuration/awie/zipfileuploaded.png new file mode 100644 index 000000000000..6f4243e54df6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/awie/zipfileuploaded.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/01duplicate.png b/versioned_docs/version-25.10/assets/configuration/common/01duplicate.png new file mode 100644 index 000000000000..1f196fd29b20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/01duplicate.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/01duplicateobjects.png b/versioned_docs/version-25.10/assets/configuration/common/01duplicateobjects.png new file mode 100644 index 000000000000..6c2c61f099ae Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/01duplicateobjects.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/add.png b/versioned_docs/version-25.10/assets/configuration/common/add.png new file mode 100644 index 000000000000..25899c68dd56 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/add.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/delete.png b/versioned_docs/version-25.10/assets/configuration/common/delete.png new file mode 100644 index 000000000000..59fb5e8b932a Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/delete.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/delete_new.png b/versioned_docs/version-25.10/assets/configuration/common/delete_new.png new file mode 100644 index 000000000000..51afcd2c6029 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/delete_new.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/description.png b/versioned_docs/version-25.10/assets/configuration/common/description.png new file mode 100644 index 000000000000..45bb21316def Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/description.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/disabled.png b/versioned_docs/version-25.10/assets/configuration/common/disabled.png new file mode 100644 index 000000000000..f16f1be164a3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/disabled.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/disabled_new.png b/versioned_docs/version-25.10/assets/configuration/common/disabled_new.png new file mode 100644 index 000000000000..bbd4d68225c5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/disabled_new.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/duplicate_new.png b/versioned_docs/version-25.10/assets/configuration/common/duplicate_new.png new file mode 100644 index 000000000000..98d5201526ae Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/duplicate_new.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/duplicate_objects_new.png b/versioned_docs/version-25.10/assets/configuration/common/duplicate_objects_new.png new file mode 100644 index 000000000000..d6c9c8e03dbf Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/duplicate_objects_new.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/enable_disable.png b/versioned_docs/version-25.10/assets/configuration/common/enable_disable.png new file mode 100644 index 000000000000..f19037724965 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/enable_disable.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/enabled.png b/versioned_docs/version-25.10/assets/configuration/common/enabled.png new file mode 100644 index 000000000000..6324d0f7b6df Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/enabled.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/enabled_new.png b/versioned_docs/version-25.10/assets/configuration/common/enabled_new.png new file mode 100644 index 000000000000..453706581115 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/enabled_new.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/flechedirection.png b/versioned_docs/version-25.10/assets/configuration/common/flechedirection.png new file mode 100644 index 000000000000..54dfbfe94c24 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/flechedirection.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/mass_change.png b/versioned_docs/version-25.10/assets/configuration/common/mass_change.png new file mode 100644 index 000000000000..e5ac6b373409 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/mass_change.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/move.png b/versioned_docs/version-25.10/assets/configuration/common/move.png new file mode 100644 index 000000000000..4b96a78644f4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/move.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/navigate_plus.png b/versioned_docs/version-25.10/assets/configuration/common/navigate_plus.png new file mode 100644 index 000000000000..5a831efa7111 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/navigate_plus.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/common/undo.png b/versioned_docs/version-25.10/assets/configuration/common/undo.png new file mode 100644 index 000000000000..c59ba81662ee Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/common/undo.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/dsm/form-passive-service.png b/versioned_docs/version-25.10/assets/configuration/dsm/form-passive-service.png new file mode 100644 index 000000000000..21bd001b35e7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/dsm/form-passive-service.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/dsm/form-slot.png b/versioned_docs/version-25.10/assets/configuration/dsm/form-slot.png new file mode 100644 index 000000000000..d1abfc6d992c Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/dsm/form-slot.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/dsm/trap-form-2.png b/versioned_docs/version-25.10/assets/configuration/dsm/trap-form-2.png new file mode 100644 index 000000000000..263869f4ca73 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/dsm/trap-form-2.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png b/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png new file mode 100644 index 000000000000..9ad847b4e3aa Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronpoller.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronresources.png b/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronresources.png new file mode 100644 index 000000000000..963d4fa1634d Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/enableeventhnadleronresources.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png b/versioned_docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png new file mode 100644 index 000000000000..cda298adf4da Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/enableglobaleventhnadleronpoller.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/kcentreontrapd_schema.png b/versioned_docs/version-25.10/assets/configuration/kcentreontrapd_schema.png new file mode 100644 index 000000000000..b063bbf0ddeb Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/kcentreontrapd_schema.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/kdependances.png b/versioned_docs/version-25.10/assets/configuration/kdependances.png new file mode 100644 index 000000000000..6d401cc1c4bd Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/kdependances.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/klinkcomment.png b/versioned_docs/version-25.10/assets/configuration/klinkcomment.png new file mode 100644 index 000000000000..ee968790c31b Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/klinkcomment.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/kpreexec.png b/versioned_docs/version-25.10/assets/configuration/kpreexec.png new file mode 100644 index 000000000000..c5cc02e73b17 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/kpreexec.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/after_install.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/after_install.png new file mode 100644 index 000000000000..64a7aaa0b735 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/after_install.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/before_install.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/before_install.png new file mode 100644 index 000000000000..3d04e8349358 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/before_install.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/doc.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/doc.png new file mode 100644 index 000000000000..1e1b1d1245ae Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/doc.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp.png new file mode 100644 index 000000000000..cf4ca312b0cd Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png new file mode 100644 index 000000000000..5da9159e166e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/install_pp_2.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png new file mode 100644 index 000000000000..b87909af3730 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/objects_not_installed.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/pp_list.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/pp_list.png new file mode 100644 index 000000000000..a423ceb44d50 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/pp_list.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall.png new file mode 100644 index 000000000000..2fe49932ce8e Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png new file mode 100644 index 000000000000..42b3a6d2105f Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_2.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png new file mode 100644 index 000000000000..08ff1109d0b7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_3.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png new file mode 100644 index 000000000000..ee74b3be6e78 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_confirm.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png new file mode 100644 index 000000000000..876b153eb664 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/uninstall_pp_used.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update.png new file mode 100644 index 000000000000..02b4afc474bd Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update2.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update2.png new file mode 100644 index 000000000000..7e054ae87d34 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update2.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update3.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update3.png new file mode 100644 index 000000000000..d1c76f8cc194 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update3.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_all.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_all.png new file mode 100644 index 000000000000..9100655c9868 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_all.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png new file mode 100644 index 000000000000..82accf58e378 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_confirm.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_finish.png b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_finish.png new file mode 100644 index 000000000000..61dba6a595b5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/pluginpacks/update_finish.png differ diff --git a/versioned_docs/version-25.10/assets/configuration/soft_hard_states.png b/versioned_docs/version-25.10/assets/configuration/soft_hard_states.png new file mode 100644 index 000000000000..00a7f1477763 Binary files /dev/null and b/versioned_docs/version-25.10/assets/configuration/soft_hard_states.png differ diff --git a/versioned_docs/version-25.10/assets/developer/broker_config.png b/versioned_docs/version-25.10/assets/developer/broker_config.png new file mode 100644 index 000000000000..2d8c2377dfaf Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/broker_config.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/add_parameter.png b/versioned_docs/version-25.10/assets/developer/lua/add_parameter.png new file mode 100644 index 000000000000..453b84cb0f21 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/add_parameter.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/add_stream_connector.png b/versioned_docs/version-25.10/assets/developer/lua/add_stream_connector.png new file mode 100644 index 000000000000..1e5b27c08a7e Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/add_stream_connector.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png b/versioned_docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png new file mode 100644 index 000000000000..ffaa5b94b156 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/archi_broker_lua_script.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/archi_broker_regular.png b/versioned_docs/version-25.10/assets/developer/lua/archi_broker_regular.png new file mode 100644 index 000000000000..470a08ec1266 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/archi_broker_regular.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/broker_influxdb_output.png b/versioned_docs/version-25.10/assets/developer/lua/broker_influxdb_output.png new file mode 100644 index 000000000000..857d23dc7b21 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/broker_influxdb_output.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/describe_output.png b/versioned_docs/version-25.10/assets/developer/lua/describe_output.png new file mode 100644 index 000000000000..16270525de72 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/describe_output.png differ diff --git a/versioned_docs/version-25.10/assets/developer/lua/visualize_data_grafana.png b/versioned_docs/version-25.10/assets/developer/lua/visualize_data_grafana.png new file mode 100644 index 000000000000..e09321dcd3d5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/developer/lua/visualize_data_grafana.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/1_EN_createJob.png b/versioned_docs/version-25.10/assets/getting-started/1_EN_createJob.png new file mode 100644 index 000000000000..4a538b02ae7f Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/1_EN_createJob.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/2_EN_createJob_FirstTab.png b/versioned_docs/version-25.10/assets/getting-started/2_EN_createJob_FirstTab.png new file mode 100644 index 000000000000..f1fc9faa3a09 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/2_EN_createJob_FirstTab.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/3_EN_createJob_FirstTab_Filled.png b/versioned_docs/version-25.10/assets/getting-started/3_EN_createJob_FirstTab_Filled.png new file mode 100644 index 000000000000..f22b0f2c9680 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/3_EN_createJob_FirstTab_Filled.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/4_EN_createJob_Parameter.png b/versioned_docs/version-25.10/assets/getting-started/4_EN_createJob_Parameter.png new file mode 100644 index 000000000000..01a5842e7c1c Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/4_EN_createJob_Parameter.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/5_EN_generateJob.png b/versioned_docs/version-25.10/assets/getting-started/5_EN_generateJob.png new file mode 100644 index 000000000000..4a8d2c4847bc Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/5_EN_generateJob.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/6_EN_generateJob_Filter.png b/versioned_docs/version-25.10/assets/getting-started/6_EN_generateJob_Filter.png new file mode 100644 index 000000000000..ad209c54da9f Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/6_EN_generateJob_Filter.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/7_EN_reportView.png b/versioned_docs/version-25.10/assets/getting-started/7_EN_reportView.png new file mode 100644 index 000000000000..87fbbda694f5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/7_EN_reportView.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/8_EN_availabilityReport.png b/versioned_docs/version-25.10/assets/getting-started/8_EN_availabilityReport.png new file mode 100644 index 000000000000..66f39f6d0727 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/8_EN_availabilityReport.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aconnection.png b/versioned_docs/version-25.10/assets/getting-started/aconnection.png new file mode 100644 index 000000000000..87d30802719d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aconnection.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/archi.png b/versioned_docs/version-25.10/assets/getting-started/archi.png new file mode 100644 index 000000000000..45b089fa9375 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/archi.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-doc.png b/versioned_docs/version-25.10/assets/getting-started/aws-doc.png new file mode 100644 index 000000000000..842411af7aaf Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-doc.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-listofjobs.png b/versioned_docs/version-25.10/assets/getting-started/aws-listofjobs.png new file mode 100644 index 000000000000..fa8ce4b114a1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-listofjobs.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-mapper.png b/versioned_docs/version-25.10/assets/getting-started/aws-mapper.png new file mode 100644 index 000000000000..a6f38059b742 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-mapper.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-provider.png b/versioned_docs/version-25.10/assets/getting-started/aws-provider.png new file mode 100644 index 000000000000..83d3cd87b04e Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-provider.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-results.png b/versioned_docs/version-25.10/assets/getting-started/aws-results.png new file mode 100644 index 000000000000..0a7810258867 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-results.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-save.png b/versioned_docs/version-25.10/assets/getting-started/aws-save.png new file mode 100644 index 000000000000..f4f2b32f6a5f Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-save.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/aws-success.png b/versioned_docs/version-25.10/assets/getting-started/aws-success.png new file mode 100644 index 000000000000..25d3e6ece3b1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/aws-success.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/banner_pollers.png b/versioned_docs/version-25.10/assets/getting-started/banner_pollers.png new file mode 100644 index 000000000000..54fbe0731cf1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/banner_pollers.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/change_language.png b/versioned_docs/version-25.10/assets/getting-started/change_language.png new file mode 100644 index 000000000000..64520341e0d5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/change_language.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/change_language_2.png b/versioned_docs/version-25.10/assets/getting-started/change_language_2.png new file mode 100644 index 000000000000..ea80756481d1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/change_language_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/createJob_ListReport.png b/versioned_docs/version-25.10/assets/getting-started/createJob_ListReport.png new file mode 100644 index 000000000000..ff746d85897b Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/createJob_ListReport.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_1.png b/versioned_docs/version-25.10/assets/getting-started/cv_1.png new file mode 100644 index 000000000000..8d6c5cbf13dd Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_2.png b/versioned_docs/version-25.10/assets/getting-started/cv_2.png new file mode 100644 index 000000000000..02eb02dbbcf3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_3.png b/versioned_docs/version-25.10/assets/getting-started/cv_3.png new file mode 100644 index 000000000000..b659622ce46d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_4.png b/versioned_docs/version-25.10/assets/getting-started/cv_4.png new file mode 100644 index 000000000000..59c9efbc82c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_4.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_5.png b/versioned_docs/version-25.10/assets/getting-started/cv_5.png new file mode 100644 index 000000000000..dea37c5d4161 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_5.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_6.png b/versioned_docs/version-25.10/assets/getting-started/cv_6.png new file mode 100644 index 000000000000..02dc6ab816e9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_6.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_7.png b/versioned_docs/version-25.10/assets/getting-started/cv_7.png new file mode 100644 index 000000000000..1827c6f7ec37 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_7.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/cv_8.png b/versioned_docs/version-25.10/assets/getting-started/cv_8.png new file mode 100644 index 000000000000..215440281c60 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/cv_8.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/expand_menu.png b/versioned_docs/version-25.10/assets/getting-started/expand_menu.png new file mode 100644 index 000000000000..16774868aae2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/expand_menu.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png new file mode 100644 index 000000000000..f3ab330a0a86 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png new file mode 100644 index 000000000000..ca9d294e8e5a Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_add_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_form.png b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_form.png new file mode 100644 index 000000000000..911a7b86bea4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/it_100_free_token_form.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/menu_dark_mode.png b/versioned_docs/version-25.10/assets/getting-started/menu_dark_mode.png new file mode 100644 index 000000000000..1bca0e7789c5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/menu_dark_mode.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/menu_edit_profile.png b/versioned_docs/version-25.10/assets/getting-started/menu_edit_profile.png new file mode 100644 index 000000000000..cf8e43325279 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/menu_edit_profile.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/menu_light_mode.png b/versioned_docs/version-25.10/assets/getting-started/menu_light_mode.png new file mode 100644 index 000000000000..e743bf4be34b Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/menu_light_mode.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/menus.png b/versioned_docs/version-25.10/assets/getting-started/menus.png new file mode 100644 index 000000000000..a26126b3c9eb Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/menus.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_1.png b/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_1.png new file mode 100644 index 000000000000..3a4ae5f6b650 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_2.png b/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_2.png new file mode 100644 index 000000000000..9040a65bf5eb Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/pp_base_generic_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/pp_install_basic.gif b/versioned_docs/version-25.10/assets/getting-started/pp_install_basic.gif new file mode 100644 index 000000000000..2111be0ecdc8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/pp_install_basic.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif new file mode 100644 index 000000000000..e4e7de2147e2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_0.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif new file mode 100644 index 000000000000..014f88b05908 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_1.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_2.png new file mode 100644 index 000000000000..a2f61af78e9d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_3.png new file mode 100644 index 000000000000..c9c28ea6f763 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png new file mode 100644 index 000000000000..b6f1b9d3ed20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4a.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png new file mode 100644 index 000000000000..39942d2ac530 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_4b.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_5.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_5.png new file mode 100644 index 000000000000..c903fd9996e0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_5.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_6.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_6.png new file mode 100644 index 000000000000..7eb61c512883 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_6.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_7.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_7.png new file mode 100644 index 000000000000..cbb2c350797c Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_cisco_7.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_0.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_0.gif new file mode 100644 index 000000000000..9b855fb93167 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_0.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_1.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_1.gif new file mode 100644 index 000000000000..d954a316dfae Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_1.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_2.png new file mode 100644 index 000000000000..d880e1399c24 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_3.png new file mode 100644 index 000000000000..4428c51c9865 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4a.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4a.png new file mode 100644 index 000000000000..b6f1b9d3ed20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4a.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4b.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4b.png new file mode 100644 index 000000000000..4f8fcf1d2f4f Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_4b.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_5.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_5.png new file mode 100644 index 000000000000..9fa7b7ac0ab0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_5.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_6.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_6.png new file mode 100644 index 000000000000..a38b9d009407 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_6.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_7.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_7.png new file mode 100644 index 000000000000..7a4ba6649e19 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_linux_7.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif new file mode 100644 index 000000000000..0acb920d59f7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_0.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif new file mode 100644 index 000000000000..0d00358e1d5e Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png new file mode 100644 index 000000000000..3c7e2169e159 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1a.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png new file mode 100644 index 000000000000..c4145449fbd2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_1b.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_2.png new file mode 100644 index 000000000000..ff9f686ac160 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_3.png new file mode 100644 index 000000000000..f3270baa4c8f Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif new file mode 100644 index 000000000000..8c743ac3426a Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_mysql_4.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_0.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_0.gif new file mode 100644 index 000000000000..7147c75c78c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_0.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_1.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_1.png new file mode 100644 index 000000000000..d654ea2a417a Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_2.png new file mode 100644 index 000000000000..fbb0b176d5c8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_3.png new file mode 100644 index 000000000000..f3a960b4a34c Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_4.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_4.png new file mode 100644 index 000000000000..f355faf1587a Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_printer_4.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_0.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_0.gif new file mode 100644 index 000000000000..d1a1e93a98d5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_0.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_1.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_1.png new file mode 100644 index 000000000000..4aba9220c4c2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_2.png new file mode 100644 index 000000000000..6757a29ec44a Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_3.png new file mode 100644 index 000000000000..3c48708a253d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_4.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_4.png new file mode 100644 index 000000000000..12ee4f83a4ac Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_ups_4.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_1.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_1.png new file mode 100644 index 000000000000..3bf0f5507cbb Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_1.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_10.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_10.gif new file mode 100644 index 000000000000..ce27b909f505 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_10.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_11.gif b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_11.gif new file mode 100644 index 000000000000..d954a316dfae Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_11.gif differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_12.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_12.png new file mode 100644 index 000000000000..a5c15709c20d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_12.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_13.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_13.png new file mode 100644 index 000000000000..be4a57b3be99 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_13.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_14.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_14.png new file mode 100644 index 000000000000..a0c50a258bc5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_14.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png new file mode 100644 index 000000000000..4641eafbc641 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_15.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_16.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_16.png new file mode 100644 index 000000000000..d43fc595e0fd Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_16.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_18.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_18.png new file mode 100644 index 000000000000..fd0594ab1e84 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_18.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_19.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_19.png new file mode 100644 index 000000000000..b02f98073af6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_19.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_2.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_2.png new file mode 100644 index 000000000000..5b82e2a3bcee Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_2.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_20.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_20.png new file mode 100644 index 000000000000..5f0518a86ad3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_20.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_21.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_21.png new file mode 100644 index 000000000000..69e42210604d Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_21.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_3.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_3.png new file mode 100644 index 000000000000..62181d1bed77 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_3.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_4.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_4.png new file mode 100644 index 000000000000..baaa66a2c892 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_4.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_5.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_5.png new file mode 100644 index 000000000000..829af726f754 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_5.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_55.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_55.png new file mode 100644 index 000000000000..1ee13fa9c3f1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_55.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_6.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_6.png new file mode 100644 index 000000000000..b97900b16685 Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_6.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_8.png b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_8.png new file mode 100644 index 000000000000..1a38d0a084de Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/quick_start_windows_snmp_8.png differ diff --git a/versioned_docs/version-25.10/assets/getting-started/top_counters.png b/versioned_docs/version-25.10/assets/getting-started/top_counters.png new file mode 100644 index 000000000000..81ed44cc39bb Binary files /dev/null and b/versioned_docs/version-25.10/assets/getting-started/top_counters.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/acl_views_preference_page.png b/versioned_docs/version-25.10/assets/graph-views/acl_views_preference_page.png new file mode 100644 index 000000000000..b91e40cbf40b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/acl_views_preference_page.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/admin_preference_page.png b/versioned_docs/version-25.10/assets/graph-views/admin_preference_page.png new file mode 100644 index 000000000000..0361f56c8302 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/admin_preference_page.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/centreon_media_part.png b/versioned_docs/version-25.10/assets/graph-views/centreon_media_part.png new file mode 100644 index 000000000000..3948951eb320 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/centreon_media_part.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/create_geo_view.gif b/versioned_docs/version-25.10/assets/graph-views/create_geo_view.gif new file mode 100644 index 000000000000..cbaf52de0388 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/create_geo_view.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/create_view.gif b/versioned_docs/version-25.10/assets/graph-views/create_view.gif new file mode 100644 index 000000000000..40eb2b175c85 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/create_view.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/create_view_from_container.gif b/versioned_docs/version-25.10/assets/graph-views/create_view_from_container.gif new file mode 100644 index 000000000000..d10c0db93fd5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/create_view_from_container.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/desktop-ssl-option.png b/versioned_docs/version-25.10/assets/graph-views/desktop-ssl-option.png new file mode 100644 index 000000000000..046195d160ad Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/desktop-ssl-option.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/desktop.gif b/versioned_docs/version-25.10/assets/graph-views/desktop.gif new file mode 100644 index 000000000000..3e732f6e4e4b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/desktop.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/desktop_client_empty.png b/versioned_docs/version-25.10/assets/graph-views/desktop_client_empty.png new file mode 100644 index 000000000000..61c3ebd147da Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/desktop_client_empty.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/disabled-resources.png b/versioned_docs/version-25.10/assets/graph-views/disabled-resources.png new file mode 100644 index 000000000000..6564327b3205 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/disabled-resources.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/display_geo_view.gif b/versioned_docs/version-25.10/assets/graph-views/display_geo_view.gif new file mode 100644 index 000000000000..b9c102b16ed1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/display_geo_view.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ex_view.jpg b/versioned_docs/version-25.10/assets/graph-views/ex_view.jpg new file mode 100644 index 000000000000..76714d2043c1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ex_view.jpg differ diff --git a/versioned_docs/version-25.10/assets/graph-views/first_page_web.png b/versioned_docs/version-25.10/assets/graph-views/first_page_web.png new file mode 100644 index 000000000000..766f36a85a5f Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/first_page_web.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/gauge-example.png b/versioned_docs/version-25.10/assets/graph-views/gauge-example.png new file mode 100644 index 000000000000..a8615577246e Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/gauge-example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geo_custom_provider.png b/versioned_docs/version-25.10/assets/graph-views/geo_custom_provider.png new file mode 100644 index 000000000000..50555eaf4fd2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geo_custom_provider.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png b/versioned_docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png new file mode 100644 index 000000000000..a995208fd50a Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geo_datalayers_conf_form.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png b/versioned_docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png new file mode 100644 index 000000000000..dbeb61966021 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geo_marker_clustering_infos.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geo_options.png b/versioned_docs/version-25.10/assets/graph-views/geo_options.png new file mode 100644 index 000000000000..0a01dafb324d Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geo_options.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geo_view_creation.gif b/versioned_docs/version-25.10/assets/graph-views/geo_view_creation.gif new file mode 100644 index 000000000000..cbaf52de0388 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geo_view_creation.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/geoview_datalayers.gif b/versioned_docs/version-25.10/assets/graph-views/geoview_datalayers.gif new file mode 100644 index 000000000000..70adb6a4e013 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/geoview_datalayers.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/graph-example.png b/versioned_docs/version-25.10/assets/graph-views/graph-example.png new file mode 100644 index 000000000000..ca1524552a8c Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/graph-example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/graph-line-wizard.png b/versioned_docs/version-25.10/assets/graph-views/graph-line-wizard.png new file mode 100644 index 000000000000..69397def0697 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/graph-line-wizard.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/guide_link_color.png b/versioned_docs/version-25.10/assets/graph-views/guide_link_color.png new file mode 100644 index 000000000000..e6f66cb94302 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/guide_link_color.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/guide_object_ratio_example.png b/versioned_docs/version-25.10/assets/graph-views/guide_object_ratio_example.png new file mode 100644 index 000000000000..8577ad78251e Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/guide_object_ratio_example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/guide_ratio_preferences.png b/versioned_docs/version-25.10/assets/graph-views/guide_ratio_preferences.png new file mode 100644 index 000000000000..620635e77314 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/guide_ratio_preferences.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/host_geocoord.png b/versioned_docs/version-25.10/assets/graph-views/host_geocoord.png new file mode 100644 index 000000000000..c25b52ec73ad Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/host_geocoord.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-desktop-1.png b/versioned_docs/version-25.10/assets/graph-views/install-desktop-1.png new file mode 100644 index 000000000000..c71eb59183e8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-desktop-1.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-desktop-2.png b/versioned_docs/version-25.10/assets/graph-views/install-desktop-2.png new file mode 100644 index 000000000000..dd679185c41c Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-desktop-2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-web-step-2.png b/versioned_docs/version-25.10/assets/graph-views/install-web-step-2.png new file mode 100644 index 000000000000..ee54ad23e7b2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-web-step-2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-web-step-3.png b/versioned_docs/version-25.10/assets/graph-views/install-web-step-3.png new file mode 100644 index 000000000000..4b419c52cbe2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-web-step-3.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-web-step-4.png b/versioned_docs/version-25.10/assets/graph-views/install-web-step-4.png new file mode 100644 index 000000000000..bc4da2aca744 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-web-step-4.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/install-web-step-widget.png b/versioned_docs/version-25.10/assets/graph-views/install-web-step-widget.png new file mode 100644 index 000000000000..43b2f8d962b8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/install-web-step-widget.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/jvm1.png b/versioned_docs/version-25.10/assets/graph-views/jvm1.png new file mode 100644 index 000000000000..458c1c3428fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/jvm1.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/jvm2.png b/versioned_docs/version-25.10/assets/graph-views/jvm2.png new file mode 100644 index 000000000000..0213a9d69f94 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/jvm2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/jvm3.png b/versioned_docs/version-25.10/assets/graph-views/jvm3.png new file mode 100644 index 000000000000..544b0efae004 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/jvm3.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/link_metric_example.png b/versioned_docs/version-25.10/assets/graph-views/link_metric_example.png new file mode 100644 index 000000000000..ebddd1c04ee9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/link_metric_example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/link_simple_example.png b/versioned_docs/version-25.10/assets/graph-views/link_simple_example.png new file mode 100644 index 000000000000..a05a64f61581 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/link_simple_example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/link_status_example.png b/versioned_docs/version-25.10/assets/graph-views/link_status_example.png new file mode 100644 index 000000000000..9d1ed038eb1f Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/link_status_example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/links_color_1.png b/versioned_docs/version-25.10/assets/graph-views/links_color_1.png new file mode 100644 index 000000000000..061ccbfadc89 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/links_color_1.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/links_color_2.png b/versioned_docs/version-25.10/assets/graph-views/links_color_2.png new file mode 100644 index 000000000000..7057be1cf5ea Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/links_color_2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/map-address-https.png b/versioned_docs/version-25.10/assets/graph-views/map-address-https.png new file mode 100644 index 000000000000..3cf7de1e2084 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/map-address-https.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/map_architect.png b/versioned_docs/version-25.10/assets/graph-views/map_architect.png new file mode 100644 index 000000000000..4315747d48b0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/map_architect.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/mapbox-change-style.png b/versioned_docs/version-25.10/assets/graph-views/mapbox-change-style.png new file mode 100644 index 000000000000..f5798741dd75 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/mapbox-change-style.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/mapbox-configuration-error.png b/versioned_docs/version-25.10/assets/graph-views/mapbox-configuration-error.png new file mode 100644 index 000000000000..c32b80345cd2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/mapbox-configuration-error.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/media_add.png b/versioned_docs/version-25.10/assets/graph-views/media_add.png new file mode 100644 index 000000000000..7dcf815b724e Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/media_add.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/modify_styles.png b/versioned_docs/version-25.10/assets/graph-views/modify_styles.png new file mode 100644 index 000000000000..98d06715edfd Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/modify_styles.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/new_view_panel.png b/versioned_docs/version-25.10/assets/graph-views/new_view_panel.png new file mode 100644 index 000000000000..84bce5a30080 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/new_view_panel.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/new_view_wizard.png b/versioned_docs/version-25.10/assets/graph-views/new_view_wizard.png new file mode 100644 index 000000000000..a2947a4fb546 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/new_view_wizard.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/connected-server-container.png b/versioned_docs/version-25.10/assets/graph-views/ng/connected-server-container.png new file mode 100644 index 000000000000..d149a49bc5e0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/connected-server-container.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-1.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-1.png new file mode 100644 index 000000000000..a463eaf181c1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-1.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-2.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-2.png new file mode 100644 index 000000000000..7577dec6c2e6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-migrate-2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png new file mode 100644 index 000000000000..7ecb3a025b4d Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-description.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png new file mode 100644 index 000000000000..7163f3ab0fa7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-editor-view.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-web-global-view.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-global-view.png new file mode 100644 index 000000000000..11e8bbf7ba68 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-global-view.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png new file mode 100644 index 000000000000..74c0cbe5fd6e Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-remote-server-schema.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map-web-schema.png b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-schema.png new file mode 100644 index 000000000000..9b66ea6169f7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map-web-schema.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/map_architect.png b/versioned_docs/version-25.10/assets/graph-views/ng/map_architect.png new file mode 100644 index 000000000000..3c6cf236f74c Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/map_architect.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/status-computation.png b/versioned_docs/version-25.10/assets/graph-views/ng/status-computation.png new file mode 100644 index 000000000000..57264812ca2b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/status-computation.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ng/switch-map-engine.png b/versioned_docs/version-25.10/assets/graph-views/ng/switch-map-engine.png new file mode 100644 index 000000000000..d33df8ad2198 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ng/switch-map-engine.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/output-example-2.png b/versioned_docs/version-25.10/assets/graph-views/output-example-2.png new file mode 100644 index 000000000000..5979e74a87ff Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/output-example-2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/output-example.png b/versioned_docs/version-25.10/assets/graph-views/output-example.png new file mode 100644 index 000000000000..f41b84c33c94 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/output-example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/output-wizard-metric.png b/versioned_docs/version-25.10/assets/graph-views/output-wizard-metric.png new file mode 100644 index 000000000000..8b7de4d1585b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/output-wizard-metric.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/output_broker.png b/versioned_docs/version-25.10/assets/graph-views/output_broker.png new file mode 100644 index 000000000000..d690032b32fd Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/output_broker.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/output_broker_tls.png b/versioned_docs/version-25.10/assets/graph-views/output_broker_tls.png new file mode 100644 index 000000000000..5a93529a7a58 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/output_broker_tls.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/palette-part.png b/versioned_docs/version-25.10/assets/graph-views/palette-part.png new file mode 100644 index 000000000000..3b84e703ea7a Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/palette-part.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/password-expiration-policy.png b/versioned_docs/version-25.10/assets/graph-views/password-expiration-policy.png new file mode 100644 index 000000000000..21e3b7010482 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/password-expiration-policy.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/piechart-example.png b/versioned_docs/version-25.10/assets/graph-views/piechart-example.png new file mode 100644 index 000000000000..d275b6b0b8da Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/piechart-example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/rdp-config.png b/versioned_docs/version-25.10/assets/graph-views/rdp-config.png new file mode 100644 index 000000000000..5e68745d639d Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/rdp-config.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/reach-api.png b/versioned_docs/version-25.10/assets/graph-views/reach-api.png new file mode 100644 index 000000000000..052310b4f5f4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/reach-api.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/server-api-soap.png b/versioned_docs/version-25.10/assets/graph-views/server-api-soap.png new file mode 100644 index 000000000000..8190b0f0f17c Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/server-api-soap.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/set_current_lat_long.png b/versioned_docs/version-25.10/assets/graph-views/set_current_lat_long.png new file mode 100644 index 000000000000..5318cafea311 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/set_current_lat_long.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/share_view.png b/versioned_docs/version-25.10/assets/graph-views/share_view.png new file mode 100644 index 000000000000..971ac8e6eb38 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/share_view.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/status-background-color.png b/versioned_docs/version-25.10/assets/graph-views/status-background-color.png new file mode 100644 index 000000000000..b2fee582d3ee Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/status-background-color.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/style_example.png b/versioned_docs/version-25.10/assets/graph-views/style_example.png new file mode 100644 index 000000000000..0a81195d5504 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/style_example.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/sync_resources.png b/versioned_docs/version-25.10/assets/graph-views/sync_resources.png new file mode 100644 index 000000000000..bde5e357e62b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/sync_resources.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/system-command-putty.png b/versioned_docs/version-25.10/assets/graph-views/system-command-putty.png new file mode 100644 index 000000000000..5d3ef825fcb6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/system-command-putty.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/system-preference-page.png b/versioned_docs/version-25.10/assets/graph-views/system-preference-page.png new file mode 100644 index 000000000000..712e42823941 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/system-preference-page.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/tooltips.gif b/versioned_docs/version-25.10/assets/graph-views/tooltips.gif new file mode 100644 index 000000000000..fe1d58c741a6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/tooltips.gif differ diff --git a/versioned_docs/version-25.10/assets/graph-views/tuto_ex_1.png b/versioned_docs/version-25.10/assets/graph-views/tuto_ex_1.png new file mode 100644 index 000000000000..9ed1777dd9e7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/tuto_ex_1.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/tuto_ex_2.png b/versioned_docs/version-25.10/assets/graph-views/tuto_ex_2.png new file mode 100644 index 000000000000..4112a6b93b02 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/tuto_ex_2.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/tuto_workspace.png b/versioned_docs/version-25.10/assets/graph-views/tuto_workspace.png new file mode 100644 index 000000000000..28a5c9fe6d9e Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/tuto_workspace.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png b/versioned_docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png new file mode 100644 index 000000000000..ee6c9b5a97bf Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/ubuntu_launch_menu.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/view_menu.png b/versioned_docs/version-25.10/assets/graph-views/view_menu.png new file mode 100644 index 000000000000..8f47489af5e2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/view_menu.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/web_client_authentication_error.png b/versioned_docs/version-25.10/assets/graph-views/web_client_authentication_error.png new file mode 100644 index 000000000000..78bbbc2c1d88 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/web_client_authentication_error.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/web_client_configuration.png b/versioned_docs/version-25.10/assets/graph-views/web_client_configuration.png new file mode 100644 index 000000000000..106d29d33500 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/web_client_configuration.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/web_empty_list.png b/versioned_docs/version-25.10/assets/graph-views/web_empty_list.png new file mode 100644 index 000000000000..8022ee41076b Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/web_empty_list.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/widget.png b/versioned_docs/version-25.10/assets/graph-views/widget.png new file mode 100644 index 000000000000..14ac92b5f328 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/widget.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/widget_process.png b/versioned_docs/version-25.10/assets/graph-views/widget_process.png new file mode 100644 index 000000000000..34ec20844a9c Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/widget_process.png differ diff --git a/versioned_docs/version-25.10/assets/graph-views/windows_start_menu.png b/versioned_docs/version-25.10/assets/graph-views/windows_start_menu.png new file mode 100644 index 000000000000..7d5b9c4d49f5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/graph-views/windows_start_menu.png differ diff --git a/versioned_docs/version-25.10/assets/installation/VB2.png b/versioned_docs/version-25.10/assets/installation/VB2.png new file mode 100644 index 000000000000..689a735fcaa0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/VB2.png differ diff --git a/versioned_docs/version-25.10/assets/installation/VMW1.png b/versioned_docs/version-25.10/assets/installation/VMW1.png new file mode 100644 index 000000000000..2391702681c1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/VMW1.png differ diff --git a/versioned_docs/version-25.10/assets/installation/VMW_network_adapter.png b/versioned_docs/version-25.10/assets/installation/VMW_network_adapter.png new file mode 100644 index 000000000000..606ae07295a9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/VMW_network_adapter.png differ diff --git a/versioned_docs/version-25.10/assets/installation/aadmininfo.png b/versioned_docs/version-25.10/assets/installation/aadmininfo.png new file mode 100644 index 000000000000..fa31b3dec824 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/aadmininfo.png differ diff --git a/versioned_docs/version-25.10/assets/installation/abrokerinfo2.png b/versioned_docs/version-25.10/assets/installation/abrokerinfo2.png new file mode 100644 index 000000000000..0c801a1faed4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/abrokerinfo2.png differ diff --git a/versioned_docs/version-25.10/assets/installation/acentreoncheckmodules.png b/versioned_docs/version-25.10/assets/installation/acentreoncheckmodules.png new file mode 100644 index 000000000000..671f9cfea965 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/acentreoncheckmodules.png differ diff --git a/versioned_docs/version-25.10/assets/installation/acentreonwelcome.png b/versioned_docs/version-25.10/assets/installation/acentreonwelcome.png new file mode 100644 index 000000000000..2d99a7981b2b Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/acentreonwelcome.png differ diff --git a/versioned_docs/version-25.10/assets/installation/aconnection.png b/versioned_docs/version-25.10/assets/installation/aconnection.png new file mode 100644 index 000000000000..7a8d5aaffd38 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/aconnection.png differ diff --git a/versioned_docs/version-25.10/assets/installation/adbconf.png b/versioned_docs/version-25.10/assets/installation/adbconf.png new file mode 100644 index 000000000000..70a600927f5b Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/adbconf.png differ diff --git a/versioned_docs/version-25.10/assets/installation/adbinfo.png b/versioned_docs/version-25.10/assets/installation/adbinfo.png new file mode 100644 index 000000000000..61cf46b468f2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/adbinfo.png differ diff --git a/versioned_docs/version-25.10/assets/installation/aendinstall.png b/versioned_docs/version-25.10/assets/installation/aendinstall.png new file mode 100644 index 000000000000..1f55bbc4d669 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/aendinstall.png differ diff --git a/versioned_docs/version-25.10/assets/installation/amonitoringengine2.png b/versioned_docs/version-25.10/assets/installation/amonitoringengine2.png new file mode 100644 index 000000000000..5cadaab2c470 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/amonitoringengine2.png differ diff --git a/versioned_docs/version-25.10/assets/installation/architecture_decision.png b/versioned_docs/version-25.10/assets/installation/architecture_decision.png new file mode 100644 index 000000000000..d15884b57ffc Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/architecture_decision.png differ diff --git a/versioned_docs/version-25.10/assets/installation/extensions-manager.png b/versioned_docs/version-25.10/assets/installation/extensions-manager.png new file mode 100644 index 000000000000..35868ea32dd9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/extensions-manager.png differ diff --git a/versioned_docs/version-25.10/assets/installation/inside_central_poller.png b/versioned_docs/version-25.10/assets/installation/inside_central_poller.png new file mode 100644 index 000000000000..689d11153abd Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/inside_central_poller.png differ diff --git a/versioned_docs/version-25.10/assets/installation/ip_addr.png b/versioned_docs/version-25.10/assets/installation/ip_addr.png new file mode 100644 index 000000000000..4928b77c765a Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/ip_addr.png differ diff --git a/versioned_docs/version-25.10/assets/installation/module_installationa.png b/versioned_docs/version-25.10/assets/installation/module_installationa.png new file mode 100644 index 000000000000..dda14938d7cf Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/module_installationa.png differ diff --git a/versioned_docs/version-25.10/assets/installation/module_installationb.png b/versioned_docs/version-25.10/assets/installation/module_installationb.png new file mode 100644 index 000000000000..edfc399d91dc Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/module_installationb.png differ diff --git a/versioned_docs/version-25.10/assets/installation/partition_created.png b/versioned_docs/version-25.10/assets/installation/partition_created.png new file mode 100644 index 000000000000..29c1ee869248 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/partition_created.png differ diff --git a/versioned_docs/version-25.10/assets/installation/terminal_ready.png b/versioned_docs/version-25.10/assets/installation/terminal_ready.png new file mode 100644 index 000000000000..317787817038 Binary files /dev/null and b/versioned_docs/version-25.10/assets/installation/terminal_ready.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png b/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png new file mode 100644 index 000000000000..4f28799f78f8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-2-nodes-arch.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png b/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png new file mode 100644 index 000000000000..f16ea641d9d6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/centreon-ha/centreon-ha-4-nodes-arch.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/data-analytics/status.png b/versioned_docs/version-25.10/assets/integrations/data-analytics/status.png new file mode 100644 index 000000000000..09f826de5ed8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/data-analytics/status.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/external/mip-connector-architecture.png b/versioned_docs/version-25.10/assets/integrations/external/mip-connector-architecture.png new file mode 100644 index 000000000000..e6d22aae4aa6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/external/mip-connector-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/external/mip-epp-install.png b/versioned_docs/version-25.10/assets/integrations/external/mip-epp-install.png new file mode 100644 index 000000000000..5975f7784936 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/external/mip-epp-install.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png b/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png new file mode 100644 index 000000000000..d0d53c40cb21 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-connector.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png b/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png new file mode 100644 index 000000000000..73653845e188 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/external/skylight-pvx-epp-install.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png new file mode 100644 index 000000000000..d1c91c14d5bf Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/architecture-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png new file mode 100644 index 000000000000..c860c5afac46 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/chatid-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif new file mode 100644 index 000000000000..22a6279aff1b Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/groupcreation-telegram.gif differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png new file mode 100644 index 000000000000..cd976712415b Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-command-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png new file mode 100644 index 000000000000..d268a7ab2e69 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/host-notification-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png new file mode 100644 index 000000000000..0baa98ca3b3d Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/login-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png new file mode 100644 index 000000000000..d04078c36ce4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/logo-YPSI.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png new file mode 100644 index 000000000000..cebeea9f5fea Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newbot-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif new file mode 100644 index 000000000000..c614cea43609 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/newgroup-telegram.gif differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png new file mode 100644 index 000000000000..bac1e2b63eb6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-command-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png new file mode 100644 index 000000000000..0fd5a831d064 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/service-notification-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png new file mode 100644 index 000000000000..112bac0ba194 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/notifications/telegram/token-telegram.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png b/versioned_docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png new file mode 100644 index 000000000000..40f0e3dc3ab9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/NtopNG_Interface_ID.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png new file mode 100644 index 000000000000..2e5343d06f58 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Options.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png new file mode 100644 index 000000000000..1c442e83e3e3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png new file mode 100644 index 000000000000..6e09818378fd Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png new file mode 100644 index 000000000000..5323b32ec8b6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png new file mode 100644 index 000000000000..0fc89eb84e3a Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png new file mode 100644 index 000000000000..5be49be005a8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Local.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png new file mode 100644 index 000000000000..84aa4a70fb0c Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png new file mode 100644 index 000000000000..05e859fa6d96 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-footprint-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png new file mode 100644 index 000000000000..8f8d1776eec6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-bmc-remedy-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png new file mode 100644 index 000000000000..5fe2b67790d5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-easyvista-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png new file mode 100644 index 000000000000..9580c13ac118 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png new file mode 100644 index 000000000000..1a1961338a9f Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png new file mode 100644 index 000000000000..d3172de793fa Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png new file mode 100644 index 000000000000..c56c645c9909 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-itop-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png new file mode 100644 index 000000000000..bc8dda0faf7a Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-iws-isilog-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png new file mode 100644 index 000000000000..d5a7aad5957d Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-jira-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png new file mode 100644 index 000000000000..51be5adb4f73 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-mail-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png new file mode 100644 index 000000000000..61e99ebd55ab Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-otrs-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png new file mode 100644 index 000000000000..b2fc28580d57 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-request-tracker2-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png new file mode 100644 index 000000000000..f44c16a952f9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-serena-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png new file mode 100644 index 000000000000..a4f7c02fd4e6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/integrations/open-tickets/ot-service-now-architecture.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/01graph_list.png b/versioned_docs/version-25.10/assets/metrology/01graph_list.png new file mode 100644 index 000000000000..77982f962b3f Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/01graph_list.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/01perf_graph.png b/versioned_docs/version-25.10/assets/metrology/01perf_graph.png new file mode 100644 index 000000000000..2edd335624bf Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/01perf_graph.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02addcurve.png b/versioned_docs/version-25.10/assets/metrology/02addcurve.png new file mode 100644 index 000000000000..0e15d07cc942 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02addcurve.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02addgraph_template.png b/versioned_docs/version-25.10/assets/metrology/02addgraph_template.png new file mode 100644 index 000000000000..d2e406f4fdc5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02addgraph_template.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02addvmetric.png b/versioned_docs/version-25.10/assets/metrology/02addvmetric.png new file mode 100644 index 000000000000..32fef90bf167 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02addvmetric.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02graphempile.png b/versioned_docs/version-25.10/assets/metrology/02graphempile.png new file mode 100644 index 000000000000..90e5f856e3b0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02graphempile.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02graphinverse.png b/versioned_docs/version-25.10/assets/metrology/02graphinverse.png new file mode 100644 index 000000000000..66e1c338e5a7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02graphinverse.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02graphremplissage.png b/versioned_docs/version-25.10/assets/metrology/02graphremplissage.png new file mode 100644 index 000000000000..7358bd2fa92c Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02graphremplissage.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02linkgraph_template.png b/versioned_docs/version-25.10/assets/metrology/02linkgraph_template.png new file mode 100644 index 000000000000..6507e699ed56 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02linkgraph_template.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02virtualmetric_conf.png b/versioned_docs/version-25.10/assets/metrology/02virtualmetric_conf.png new file mode 100644 index 000000000000..518020d4e916 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02virtualmetric_conf.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/02virtualmetric_example.png b/versioned_docs/version-25.10/assets/metrology/02virtualmetric_example.png new file mode 100644 index 000000000000..5a57d1e0f45e Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/02virtualmetric_example.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/chart_zoom.gif b/versioned_docs/version-25.10/assets/metrology/chart_zoom.gif new file mode 100644 index 000000000000..2b93242a4a78 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/chart_zoom.gif differ diff --git a/versioned_docs/version-25.10/assets/metrology/columns_selection.png b/versioned_docs/version-25.10/assets/metrology/columns_selection.png new file mode 100644 index 000000000000..697c6c685ec6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/columns_selection.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/grafana_compare.png b/versioned_docs/version-25.10/assets/metrology/grafana_compare.png new file mode 100644 index 000000000000..af7df87ed252 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/grafana_compare.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/grafana_variables.png b/versioned_docs/version-25.10/assets/metrology/grafana_variables.png new file mode 100644 index 000000000000..0fe295340a23 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/grafana_variables.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/left_arrow.png b/versioned_docs/version-25.10/assets/metrology/left_arrow.png new file mode 100644 index 000000000000..88f6f57f767d Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/left_arrow.png differ diff --git a/versioned_docs/version-25.10/assets/metrology/right_arrow.png b/versioned_docs/version-25.10/assets/metrology/right_arrow.png new file mode 100644 index 000000000000..0e1489858f02 Binary files /dev/null and b/versioned_docs/version-25.10/assets/metrology/right_arrow.png differ diff --git a/versioned_docs/version-25.10/assets/mobile/mobile-app-screens.png b/versioned_docs/version-25.10/assets/mobile/mobile-app-screens.png new file mode 100644 index 000000000000..c09930444b25 Binary files /dev/null and b/versioned_docs/version-25.10/assets/mobile/mobile-app-screens.png differ diff --git a/versioned_docs/version-25.10/assets/mobile/mobile-demo.mp4 b/versioned_docs/version-25.10/assets/mobile/mobile-demo.mp4 new file mode 100644 index 000000000000..eb684fc329a3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/mobile/mobile-demo.mp4 differ diff --git a/versioned_docs/version-25.10/assets/mobile/mobile-login.png b/versioned_docs/version-25.10/assets/mobile/mobile-login.png new file mode 100644 index 000000000000..78dc348bc56a Binary files /dev/null and b/versioned_docs/version-25.10/assets/mobile/mobile-login.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png b/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png new file mode 100644 index 000000000000..8b9054412dc9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_01.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png b/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png new file mode 100644 index 000000000000..e5a805750feb Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/anomaly/configure_analysis_02.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png b/versioned_docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png new file mode 100644 index 000000000000..7fcbf9a5722e Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/anomaly/simple_scheme.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png new file mode 100644 index 000000000000..d6419fd77956 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png new file mode 100644 index 000000000000..0b4251f87e41 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png new file mode 100644 index 000000000000..99127e567c2b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/advanced_attributes3.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png new file mode 100644 index 000000000000..4d7d5d49a30f Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png new file mode 100644 index 000000000000..fb8c4e16ba76 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-configuration-hosts.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png new file mode 100644 index 000000000000..cb99694b1def Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-delete.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit-job.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit-job.png new file mode 100644 index 000000000000..f9e4d860961f Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit-job.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png new file mode 100644 index 000000000000..ed301d378213 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-edit.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png new file mode 100644 index 000000000000..f5736b48df59 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-exclude-powered-off.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png new file mode 100644 index 000000000000..f8dc8d933c59 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-failed.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png new file mode 100644 index 000000000000..78823bc9c9fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-finished.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png new file mode 100644 index 000000000000..da5371436bbb Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-force-execution.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png new file mode 100644 index 000000000000..664b6e2256f6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-goto-results.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png new file mode 100644 index 000000000000..53ae4ff8164a Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-listing.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png new file mode 100644 index 000000000000..4652af813458 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-hosts-save.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png new file mode 100644 index 000000000000..11eba35b7545 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-job-listing.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif new file mode 100644 index 000000000000..317723793f1d Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-concatenation.gif differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png new file mode 100644 index 000000000000..121c56f48207 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-condition.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png new file mode 100644 index 000000000000..91c018d8d450 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-exclusion.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png new file mode 100644 index 000000000000..e28ad0defe92 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png new file mode 100644 index 000000000000..74f1166f58de Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png new file mode 100644 index 000000000000..88aca17b7cc5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png new file mode 100644 index 000000000000..c27a680e3de3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png new file mode 100644 index 000000000000..2c192b77f52a Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png new file mode 100644 index 000000000000..7cdd46ebcb29 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-inclusion.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png new file mode 100644 index 000000000000..67ea65ccbe77 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-macro.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png new file mode 100644 index 000000000000..1973489f24e7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-monitoring.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png new file mode 100644 index 000000000000..166d0acc6931 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-property.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png new file mode 100644 index 000000000000..0affe0cac69b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-mappers-template.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png new file mode 100644 index 000000000000..933e0d46d2db Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-pause.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png new file mode 100644 index 000000000000..3c6478ca300b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-resume.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png new file mode 100644 index 000000000000..b17e9e4a336c Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-running.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png new file mode 100644 index 000000000000..6adaede46a33 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-save.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png new file mode 100644 index 000000000000..4c657980b070 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-saving.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png new file mode 100644 index 000000000000..f915b4853d92 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-scheduled.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png new file mode 100644 index 000000000000..1429ad6a44a1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png new file mode 100644 index 000000000000..d4b670636dff Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-1-2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png new file mode 100644 index 000000000000..a53391db69fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png new file mode 100644 index 000000000000..e5ed7e387256 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-3.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png new file mode 100644 index 000000000000..0c8211883c8a Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-4.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png new file mode 100644 index 000000000000..0b7976634caa Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-5-2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png new file mode 100644 index 000000000000..54072dc6c74b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-day.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png new file mode 100644 index 000000000000..26b4df8048d8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png new file mode 100644 index 000000000000..430e5b113cef Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png new file mode 100644 index 000000000000..ad358a46cadd Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-month.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png new file mode 100644 index 000000000000..c970435ff999 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-week.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png new file mode 100644 index 000000000000..95a79a95d17b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/host-discovery-wizard-step-6-year.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/install-after.png b/versioned_docs/version-25.10/assets/monitoring/discovery/install-after.png new file mode 100644 index 000000000000..96601e0090cc Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/install-after.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/install-before.png b/versioned_docs/version-25.10/assets/monitoring/discovery/install-before.png new file mode 100644 index 000000000000..6cf3f11a45ad Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/install-before.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png b/versioned_docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png new file mode 100644 index 000000000000..a1d825f42e17 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/reinstall-complete.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png b/versioned_docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png new file mode 100644 index 000000000000..99fc82385ea5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/uninstall-popin.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/discovery/update.png b/versioned_docs/version-25.10/assets/monitoring/discovery/update.png new file mode 100644 index 000000000000..fcbac2014731 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/discovery/update.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/metrics.png b/versioned_docs/version-25.10/assets/monitoring/metrics.png new file mode 100644 index 000000000000..3a4c50aa7cc9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/metrics.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png new file mode 100644 index 000000000000..8ec3a279dedd Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/broker-certificates.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png new file mode 100644 index 000000000000..a9cf130d244c Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_all_pollers_button.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png new file mode 100644 index 000000000000..d1719c7865ac Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png new file mode 100644 index 000000000000..c23b2e80d1bf Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/export_conf_done.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png new file mode 100644 index 000000000000..e93e4c7d2116 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/gorgone-configuration.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png new file mode 100644 index 000000000000..8ea0b41509c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png new file mode 100644 index 000000000000..2639ba6c6d81 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/move_poller_conf_2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png new file mode 100644 index 000000000000..65a21d627cbe Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png new file mode 100644 index 000000000000..846df16388f0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/on-peer-configuration-2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png new file mode 100644 index 000000000000..d05b577c8ac9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-ssh.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png new file mode 100644 index 000000000000..196ca381e5f6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-edit-zmq.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png new file mode 100644 index 000000000000..f459d0a83de1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-generate-config.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png new file mode 100644 index 000000000000..7ba619a9d36b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-gorgone-display-config.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png new file mode 100644 index 000000000000..7903f674d3b8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq-started.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png new file mode 100644 index 000000000000..84cca2d1e5e3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/poller-list-zmq.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png new file mode 100644 index 000000000000..4bc839deadcf Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-edit-zmq.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png new file mode 100644 index 000000000000..b0cb23b588b3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-generate-config.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png new file mode 100644 index 000000000000..da638e00ea8c Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-gorgone-display-config.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png new file mode 100644 index 000000000000..b8bc3caf6824 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq-started.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png new file mode 100644 index 000000000000..5a49854d0976 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/remote-list-zmq.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png new file mode 100644 index 000000000000..b02eb0d9a913 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png new file mode 100644 index 000000000000..b185c4af68fc Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-2.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png new file mode 100644 index 000000000000..d405c360cbe9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-poller-3.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png new file mode 100644 index 000000000000..60b6407bee0b Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-1.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png new file mode 100644 index 000000000000..99848e326c12 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2a.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png new file mode 100644 index 000000000000..624a3310e73f Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-2b.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png new file mode 100644 index 000000000000..59950ed1fb23 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-3.png differ diff --git a/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png new file mode 100644 index 000000000000..84eaeef80a43 Binary files /dev/null and b/versioned_docs/version-25.10/assets/monitoring/monitoring-servers/wizard-add-remote-4.png differ diff --git a/versioned_docs/version-25.10/assets/releases/lifecycle-from-24.10.png b/versioned_docs/version-25.10/assets/releases/lifecycle-from-24.10.png new file mode 100644 index 000000000000..4cb69c0527a0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/releases/lifecycle-from-24.10.png differ diff --git a/versioned_docs/version-25.10/assets/releases/lifecycle.png b/versioned_docs/version-25.10/assets/releases/lifecycle.png new file mode 100644 index 000000000000..4a8590c74916 Binary files /dev/null and b/versioned_docs/version-25.10/assets/releases/lifecycle.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/Centreon-MBI-Sample-Reports.pdf b/versioned_docs/version-25.10/assets/reporting/Centreon-MBI-Sample-Reports.pdf new file mode 100644 index 000000000000..0a77b55402f1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/Centreon-MBI-Sample-Reports.pdf differ diff --git a/versioned_docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql b/versioned_docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql new file mode 100644 index 000000000000..abb886684d53 --- /dev/null +++ b/versioned_docs/version-25.10/assets/reporting/administrate/repair_mysql_upgrade.sql @@ -0,0 +1,80 @@ +-- +-- Table structure for table `gtid_slave_pos` +-- + +DROP TABLE IF EXISTS `gtid_slave_pos`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `gtid_slave_pos` ( + `domain_id` int(10) unsigned NOT NULL, + `sub_id` bigint(20) unsigned NOT NULL, + `server_id` int(10) unsigned NOT NULL, + `seq_no` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`domain_id`,`sub_id`) +) ENGINE=InnoDB DEFAULT CHARSET=latin1 COMMENT='Replication slave GTID position'; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `gtid_slave_pos` +-- + +LOCK TABLES `gtid_slave_pos` WRITE; +/*!40000 ALTER TABLE `gtid_slave_pos` DISABLE KEYS */; +/*!40000 ALTER TABLE `gtid_slave_pos` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `innodb_index_stats` +-- + +DROP TABLE IF EXISTS `innodb_index_stats`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `innodb_index_stats` ( + `database_name` varchar(64) COLLATE utf8_bin NOT NULL, + `table_name` varchar(64) COLLATE utf8_bin NOT NULL, + `index_name` varchar(64) COLLATE utf8_bin NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `stat_name` varchar(64) COLLATE utf8_bin NOT NULL, + `stat_value` bigint(20) unsigned NOT NULL, + `sample_size` bigint(20) unsigned DEFAULT NULL, + `stat_description` varchar(1024) COLLATE utf8_bin NOT NULL, + PRIMARY KEY (`database_name`,`table_name`,`index_name`,`stat_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `innodb_index_stats` +-- + +LOCK TABLES `innodb_index_stats` WRITE; +/*!40000 ALTER TABLE `innodb_index_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `innodb_index_stats` ENABLE KEYS */; +UNLOCK TABLES; + +-- +-- Table structure for table `innodb_table_stats` +-- + +DROP TABLE IF EXISTS `innodb_table_stats`; +/*!40101 SET @saved_cs_client = @@character_set_client */; +/*!40101 SET character_set_client = utf8 */; +CREATE TABLE `innodb_table_stats` ( + `database_name` varchar(64) COLLATE utf8_bin NOT NULL, + `table_name` varchar(64) COLLATE utf8_bin NOT NULL, + `last_update` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP, + `n_rows` bigint(20) unsigned NOT NULL, + `clustered_index_size` bigint(20) unsigned NOT NULL, + `sum_of_other_index_sizes` bigint(20) unsigned NOT NULL, + PRIMARY KEY (`database_name`,`table_name`) +) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_bin STATS_PERSISTENT=0; +/*!40101 SET character_set_client = @saved_cs_client */; + +-- +-- Dumping data for table `innodb_table_stats` +-- + +LOCK TABLES `innodb_table_stats` WRITE; +/*!40000 ALTER TABLE `innodb_table_stats` DISABLE KEYS */; +/*!40000 ALTER TABLE `innodb_table_stats` ENABLE KEYS */; +UNLOCK TABLES; diff --git a/versioned_docs/version-25.10/assets/reporting/dashboard.png b/versioned_docs/version-25.10/assets/reporting/dashboard.png new file mode 100644 index 000000000000..dabb78ebd1e6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dashboard.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000010E00000111F1CD232C.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000010E00000111F1CD232C.png new file mode 100644 index 000000000000..dfa182c2df40 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000010E00000111F1CD232C.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png new file mode 100644 index 000000000000..4ff2b41c3d77 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png new file mode 100644 index 000000000000..b4b6152f2e77 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png new file mode 100644 index 000000000000..3ae3e2bcf23a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png new file mode 100644 index 000000000000..152c50c03320 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003340000018F33DF4032.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png new file mode 100644 index 000000000000..8e1ed6f7b481 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000350000001F5878A240B.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png new file mode 100644 index 000000000000..2f7f2449e173 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png new file mode 100644 index 000000000000..b6ab7bf9e788 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003600000025556C97DB4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png new file mode 100644 index 000000000000..cb967b509bac Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png new file mode 100644 index 000000000000..ad4b3a5f6fe3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png new file mode 100644 index 000000000000..c51abe47b06f Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png new file mode 100644 index 000000000000..1451cd104897 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000004390000025A137B95A5.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png new file mode 100644 index 000000000000..ee1bafaa844b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000454000001517ADB9749.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png new file mode 100644 index 000000000000..7727c0a07bca Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/100000000000053D00000175C278E199.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png new file mode 100644 index 000000000000..0d6a3aabf574 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/1000000000000565000001F097833544.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png new file mode 100644 index 000000000000..73fa49b0c3a1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png new file mode 100644 index 000000000000..e0e6034bba7c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/componentTemplate.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png new file mode 100644 index 000000000000..4e8e2f39dd42 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png new file mode 100644 index 000000000000..5206572abfdf Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png new file mode 100644 index 000000000000..8346ac7802d9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png new file mode 100644 index 000000000000..6644d98ca274 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png new file mode 100644 index 000000000000..71692616cb2d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_5.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png new file mode 100644 index 000000000000..6f835b6dcb16 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_6.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png new file mode 100644 index 000000000000..acf59b18ede6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_7.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png new file mode 100644 index 000000000000..35a7029a1d7d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_8.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png new file mode 100644 index 000000000000..2a67180264d4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/db_conn_9.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png new file mode 100644 index 000000000000..3f77eb37743b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png new file mode 100644 index 000000000000..16e24610aca9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png new file mode 100644 index 000000000000..63d113d78007 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png new file mode 100644 index 000000000000..1a68854eddd9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/gen_report_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png b/versioned_docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png new file mode 100644 index 000000000000..e615ebdbd9d6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/dev-guide/registerTemplate.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/first_page.png b/versioned_docs/version-25.10/assets/reporting/first_page.png new file mode 100644 index 000000000000..0ad2cdf9942f Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/first_page.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/AclRules.png b/versioned_docs/version-25.10/assets/reporting/guide/AclRules.png new file mode 100644 index 000000000000..0483be4a0fb0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/AclRules.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png new file mode 100644 index 000000000000..405d9a794a29 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesGeneralInformation.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png new file mode 100644 index 000000000000..582424baa10f Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportDesign.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportJob.png b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportJob.png new file mode 100644 index 000000000000..9f47e9d4b82d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/AclRulesReportJob.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/TrashActions.png b/versioned_docs/version-25.10/assets/reporting/guide/TrashActions.png new file mode 100644 index 000000000000..195e9c0444b8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/TrashActions.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/TrashFilter.png b/versioned_docs/version-25.10/assets/reporting/guide/TrashFilter.png new file mode 100644 index 000000000000..aba0e875b077 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/TrashFilter.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/TrashList.png b/versioned_docs/version-25.10/assets/reporting/guide/TrashList.png new file mode 100644 index 000000000000..564a4c3d78d6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/TrashList.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/action_Delete.png b/versioned_docs/version-25.10/assets/reporting/guide/action_Delete.png new file mode 100644 index 000000000000..32422647b02d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/action_Delete.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png b/versioned_docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png new file mode 100644 index 000000000000..21b78ec97e36 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/action_duplicationDelete.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/addJob.png b/versioned_docs/version-25.10/assets/reporting/guide/addJob.png new file mode 100644 index 000000000000..92fc9c3e7f5b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/addJob.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/addReportTemplate.png b/versioned_docs/version-25.10/assets/reporting/guide/addReportTemplate.png new file mode 100644 index 000000000000..11fd383c0808 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/addReportTemplate.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/add_job_groups.png b/versioned_docs/version-25.10/assets/reporting/guide/add_job_groups.png new file mode 100644 index 000000000000..e6d337fa74eb Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/add_job_groups.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/add_report_design_groups.png b/versioned_docs/version-25.10/assets/reporting/guide/add_report_design_groups.png new file mode 100644 index 000000000000..dab25ae406dc Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/add_report_design_groups.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png new file mode 100644 index 000000000000..d4d012b7fcf0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png new file mode 100644 index 000000000000..347b7affdce5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Content-diagnostic_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png new file mode 100644 index 000000000000..78617d003d07 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png new file mode 100644 index 000000000000..6b3c98da6c35 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png new file mode 100644 index 000000000000..00dea809a283 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png new file mode 100644 index 000000000000..ef01af688824 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_1_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_2_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_2_png.png new file mode 100644 index 000000000000..1dddb892521a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_2_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png new file mode 100644 index 000000000000..5b491609af66 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_3_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png new file mode 100644 index 000000000000..bf13beca3d3e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_4_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png new file mode 100644 index 000000000000..6822a4de1b7b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_5_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png new file mode 100644 index 000000000000..b802bf079677 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-2_6_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png new file mode 100644 index 000000000000..6972dc9b26f8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Detail-3_traffic.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png new file mode 100644 index 000000000000..4e32aec1abfb Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Host-Graphs-V2_png.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png new file mode 100644 index 000000000000..eadf0d02499a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png new file mode 100644 index 000000000000..365815cdf4cf Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png new file mode 100644 index 000000000000..d0e334a1be13 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png new file mode 100644 index 000000000000..622b97ef3e2e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png new file mode 100644 index 000000000000..d362f36a73e6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png new file mode 100644 index 000000000000..7c89088f5f34 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png new file mode 100644 index 000000000000..6a3341314a70 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png new file mode 100644 index 000000000000..91edb9483046 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png new file mode 100644 index 000000000000..582ce7f4d04b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png new file mode 100644 index 000000000000..ae695082ace2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png new file mode 100644 index 000000000000..ec3bc0ee762e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png new file mode 100644 index 000000000000..e94c13b708cd Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png new file mode 100644 index 000000000000..19790d1d7f42 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png new file mode 100644 index 000000000000..75975f3188c4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png new file mode 100644 index 000000000000..a39967ee29e0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png new file mode 100644 index 000000000000..43a57d44e21a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png new file mode 100644 index 000000000000..b2acbf940b4c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png new file mode 100644 index 000000000000..8fb5fbbdaacc Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png new file mode 100644 index 000000000000..b7c451cae1a0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png new file mode 100644 index 000000000000..8b626274ce15 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png new file mode 100644 index 000000000000..7443fb39af1d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png new file mode 100644 index 000000000000..1e6dd0907614 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png new file mode 100644 index 000000000000..09703828778d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png new file mode 100644 index 000000000000..e999240d95b9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png new file mode 100644 index 000000000000..31351e191ac4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png new file mode 100644 index 000000000000..ae3ba9aed826 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png new file mode 100644 index 000000000000..06d6b14206be Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png new file mode 100644 index 000000000000..8127c9b8aaf5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png new file mode 100644 index 000000000000..48b3799dcf10 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png new file mode 100644 index 000000000000..2832e30591a5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png new file mode 100644 index 000000000000..a0e27a90bdf7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png new file mode 100644 index 000000000000..eda15719aa05 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png new file mode 100644 index 000000000000..21272c11d3d4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png new file mode 100644 index 000000000000..ae815fe126d5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png new file mode 100644 index 000000000000..41fe4b49e0a6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png new file mode 100644 index 000000000000..e1450fe167ce Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png new file mode 100644 index 000000000000..0d2710456686 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png new file mode 100644 index 000000000000..2862190044fe Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png new file mode 100644 index 000000000000..5b615a4414ab Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png new file mode 100644 index 000000000000..263bb30d5781 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png new file mode 100644 index 000000000000..4b936b361fc7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png new file mode 100644 index 000000000000..f9b6f3044d89 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png new file mode 100644 index 000000000000..c967fe7a5ce2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png new file mode 100644 index 000000000000..471e67204336 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Hosts-not-classified.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png new file mode 100644 index 000000000000..b71bf047510f Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Metric-integrity-check.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png new file mode 100644 index 000000000000..3ea32ab919b2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png new file mode 100644 index 000000000000..7e7a3d2bd966 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png new file mode 100644 index 000000000000..bba86c4f501c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Poller-Performances_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png new file mode 100644 index 000000000000..773fa173c08e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/Services-not-classified.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png new file mode 100644 index 000000000000..cc500eacf0c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png new file mode 100644 index 000000000000..1d8bb4b22d1c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png new file mode 100644 index 000000000000..32ef6ee81b10 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png new file mode 100644 index 000000000000..5fc7fad8c32e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png new file mode 100644 index 000000000000..c38bbb88e851 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png new file mode 100644 index 000000000000..10d3ef609154 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png new file mode 100644 index 000000000000..ec0617a46e6b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png new file mode 100644 index 000000000000..1dfbd262ef1b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png new file mode 100644 index 000000000000..a416562c7a22 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png new file mode 100644 index 000000000000..b3b853f10b11 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png new file mode 100644 index 000000000000..3a35c6fc47cb Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png new file mode 100644 index 000000000000..ecfd732be3a4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png new file mode 100644 index 000000000000..d0045f88ca02 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/ba-event-list.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png new file mode 100644 index 000000000000..bccc000ec4f6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png new file mode 100644 index 000000000000..43b6f53fe177 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png new file mode 100644 index 000000000000..9746bf61e37e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png new file mode 100644 index 000000000000..7de69828efcb Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png new file mode 100644 index 000000000000..b90b76232f66 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png new file mode 100644 index 000000000000..5598e1bedbcf Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png new file mode 100644 index 000000000000..e71e4f16d25a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png new file mode 100644 index 000000000000..3100885cad5c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-availabilities-list.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png new file mode 100644 index 000000000000..0d756fb531bd Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png new file mode 100644 index 000000000000..feb3df83fd7d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png new file mode 100644 index 000000000000..3ca85e2bc501 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/bv-ba-calendar-legende.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png new file mode 100644 index 000000000000..823891e5179b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-availability.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png new file mode 100644 index 000000000000..f1825cfa742e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-performance.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png new file mode 100644 index 000000000000..51be53a062a4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/content-diagnostic-service-availability.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png new file mode 100644 index 000000000000..ac4583111bfd Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/graph_url.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_information.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_information.png new file mode 100644 index 000000000000..9efe0b06c0cf Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_information.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png new file mode 100644 index 000000000000..3d7e3d40d7c4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/host_templates_info.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png new file mode 100644 index 000000000000..d1f084664601 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_host_templates.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png new file mode 100644 index 000000000000..e0f3c758aeee Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/link_between_templates.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png new file mode 100644 index 000000000000..2cdf3c5d908e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png new file mode 100644 index 000000000000..205e5cece96a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/relation_netween_host_and_service.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/service_information.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/service_information.png new file mode 100644 index 000000000000..74aee79a87af Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/service_information.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png new file mode 100644 index 000000000000..39ab523fc168 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/available-reports/templates_info.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/centileParameters.png b/versioned_docs/version-25.10/assets/reporting/guide/centileParameters.png new file mode 100644 index 000000000000..d410805d772d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/centileParameters.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/centreon_url.png b/versioned_docs/version-25.10/assets/reporting/guide/centreon_url.png new file mode 100644 index 000000000000..8909e7dbe28a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/centreon_url.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/clock.png b/versioned_docs/version-25.10/assets/reporting/guide/clock.png new file mode 100644 index 000000000000..9c57dc21c98a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/clock.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/clock_running.png b/versioned_docs/version-25.10/assets/reporting/guide/clock_running.png new file mode 100644 index 000000000000..38bac6a22ab7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/clock_running.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/clock_stopped.png b/versioned_docs/version-25.10/assets/reporting/guide/clock_stopped.png new file mode 100644 index 000000000000..238879cb7707 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/clock_stopped.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/dashboard.png b/versioned_docs/version-25.10/assets/reporting/guide/dashboard.png new file mode 100644 index 000000000000..dabb78ebd1e6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/dashboard.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/enabled.png b/versioned_docs/version-25.10/assets/reporting/guide/enabled.png new file mode 100644 index 000000000000..6324d0f7b6df Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/enabled.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/etl_dataRetention.png b/versioned_docs/version-25.10/assets/reporting/guide/etl_dataRetention.png new file mode 100644 index 000000000000..1ae0598a64f7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/etl_dataRetention.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/failed.png b/versioned_docs/version-25.10/assets/reporting/guide/failed.png new file mode 100644 index 000000000000..190b7eded83d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/failed.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/jobParameter.png b/versioned_docs/version-25.10/assets/reporting/guide/jobParameter.png new file mode 100644 index 000000000000..686e5aa7df42 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/jobParameter.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/jobPublication.png b/versioned_docs/version-25.10/assets/reporting/guide/jobPublication.png new file mode 100644 index 000000000000..171cc373ab31 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/jobPublication.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/jobsList.png b/versioned_docs/version-25.10/assets/reporting/guide/jobsList.png new file mode 100644 index 000000000000..2352c112f9cd Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/jobsList.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/list_job_groups.png b/versioned_docs/version-25.10/assets/reporting/guide/list_job_groups.png new file mode 100644 index 000000000000..efd512e2599e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/list_job_groups.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/list_report_design_groups.png b/versioned_docs/version-25.10/assets/reporting/guide/list_report_design_groups.png new file mode 100644 index 000000000000..e3fddf91d066 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/list_report_design_groups.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/logo_add.png b/versioned_docs/version-25.10/assets/reporting/guide/logo_add.png new file mode 100644 index 000000000000..41059d17964c Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/logo_add.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/logo_list.png b/versioned_docs/version-25.10/assets/reporting/guide/logo_list.png new file mode 100644 index 000000000000..f83657d77129 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/logo_list.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png new file mode 100644 index 000000000000..a22e8ed86d72 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png new file mode 100644 index 000000000000..70a9b2886767 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-gauge_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png new file mode 100644 index 000000000000..5ce01d26245a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png new file mode 100644 index 000000000000..3043d32c1101 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-day_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png new file mode 100644 index 000000000000..44598eda5763 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png new file mode 100644 index 000000000000..d6fc6af34496 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-availability-graph-month_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png new file mode 100644 index 000000000000..9a02753360b9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-ba-mtbf-mtrs.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png new file mode 100644 index 000000000000..ab4946c64c42 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png new file mode 100644 index 000000000000..b09615db0402 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-bv-availability-graph-month_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png new file mode 100644 index 000000000000..199dbe269f56 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png new file mode 100644 index 000000000000..e7554c5af3a6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png new file mode 100644 index 000000000000..518c81a84dee Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png new file mode 100644 index 000000000000..fc9fea9c689b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png new file mode 100644 index 000000000000..327d8602664a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png new file mode 100644 index 000000000000..4dbd14818de1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png new file mode 100644 index 000000000000..78a33ffbc3c0 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png new file mode 100644 index 000000000000..6e4dee32d922 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png new file mode 100644 index 000000000000..5e74fa4d2e0b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png new file mode 100644 index 000000000000..3015dff49ea6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png new file mode 100644 index 000000000000..94a10eaba751 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png new file mode 100644 index 000000000000..5edb168c1f9a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png new file mode 100644 index 000000000000..a39f737a819d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png new file mode 100644 index 000000000000..4079c27ee5a8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-hgs-performances-Top-X_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png new file mode 100644 index 000000000000..7464a1eb7729 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png new file mode 100644 index 000000000000..f41d4dbddeff Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-metric-capacity-planning_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png new file mode 100644 index 000000000000..4345a2e79f62 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png new file mode 100644 index 000000000000..3aa70a368efc Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-storage-list-near-saturation_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png new file mode 100644 index 000000000000..9b3c0de32615 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png b/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png new file mode 100644 index 000000000000..0ccf4665dbf4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mbi-typical-performance-day_param.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/media_pause.png b/versioned_docs/version-25.10/assets/reporting/guide/media_pause.png new file mode 100644 index 000000000000..c345c50567de Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/media_pause.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/media_play_gray.png b/versioned_docs/version-25.10/assets/reporting/guide/media_play_gray.png new file mode 100644 index 000000000000..76ba8adc3a10 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/media_play_gray.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/moreActionJobs.png b/versioned_docs/version-25.10/assets/reporting/guide/moreActionJobs.png new file mode 100644 index 000000000000..d47c820903e3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/moreActionJobs.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/moreActions.png b/versioned_docs/version-25.10/assets/reporting/guide/moreActions.png new file mode 100644 index 000000000000..286fe7f0408e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/moreActions.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png b/versioned_docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png new file mode 100644 index 000000000000..3758e1a0e14b Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/refresh.png b/versioned_docs/version-25.10/assets/reporting/guide/refresh.png new file mode 100644 index 000000000000..32a5cedc5d20 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/refresh.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/reportDesignList.png b/versioned_docs/version-25.10/assets/reporting/guide/reportDesignList.png new file mode 100644 index 000000000000..8d330ea17220 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/reportDesignList.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/reportList.png b/versioned_docs/version-25.10/assets/reporting/guide/reportList.png new file mode 100644 index 000000000000..d1be96041204 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/reportList.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/reportViewFilter.png b/versioned_docs/version-25.10/assets/reporting/guide/reportViewFilter.png new file mode 100644 index 000000000000..c5f3b22c177e Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/reportViewFilter.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/scheduleImmediate.png b/versioned_docs/version-25.10/assets/reporting/guide/scheduleImmediate.png new file mode 100644 index 000000000000..ff04f3488a1d Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/scheduleImmediate.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/scheduleOS.png b/versioned_docs/version-25.10/assets/reporting/guide/scheduleOS.png new file mode 100644 index 000000000000..4c7e10d12c74 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/scheduleOS.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/scheduleRegular.png b/versioned_docs/version-25.10/assets/reporting/guide/scheduleRegular.png new file mode 100644 index 000000000000..01b83baf10f5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/scheduleRegular.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/searchJobs.png b/versioned_docs/version-25.10/assets/reporting/guide/searchJobs.png new file mode 100644 index 000000000000..9c1e766b9936 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/searchJobs.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/guide/theme.png b/versioned_docs/version-25.10/assets/reporting/guide/theme.png new file mode 100644 index 000000000000..eec70e3fe630 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/guide/theme.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/installation/architecture.png b/versioned_docs/version-25.10/assets/reporting/installation/architecture.png new file mode 100644 index 000000000000..43769753d5fa Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/installation/architecture.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/installation/bi_retention.png b/versioned_docs/version-25.10/assets/reporting/installation/bi_retention.png new file mode 100644 index 000000000000..6ce6ee4a9e05 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/installation/bi_retention.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/installation/centreon.cnf b/versioned_docs/version-25.10/assets/reporting/installation/centreon.cnf new file mode 100644 index 000000000000..cf63beaea6e9 --- /dev/null +++ b/versioned_docs/version-25.10/assets/reporting/installation/centreon.cnf @@ -0,0 +1,58 @@ +[mysqld] +#datadir=/var/lib/mysql +#tmpdir = /var/lib/mysql/tmp +port = 3306 + +max_heap_table_size=512M +open_files_limit = 32000 +group_concat_max_len = 1M + +#By request( all engines) +tmp_table_size=512M +sort_buffer_size = 64M +join_buffer_size = 256M + +#During load or enable keys +bulk_insert_buffer_size = 1G +myisam_sort_buffer_size=1G + +table_open_cache = 2048 +thread_cache_size = 64 + +#Time out and linked problems +connect_timeout=28800 +innodb_lock_wait_timeout=28800 +wait_timeout=28800 +interactive_timeout=28800 +max_allowed_packet = 128M + +#Low query +slow_query_log=1 +slow_query_log_file=slow-queries.log +long_query_time=120 + +#At startup +key_buffer_size = 1G +query_cache_size=8M +query_cache_type=1 +query_cache_limit=1048576 +innodb_buffer_pool_size = 1G + + +#Innob DB +innodb_stats_on_metadata=0 +innodb_flush_method=O_DIRECT +innodb_flush_log_at_trx_commit=2 +innodb_log_buffer_size=1G #taille buffer redo log +innodb_log_file_size=512M +innodb_log_files_in_group=3 +innodb_file_per_table=1 +innodb_open_files=1024 +innodb_max_dirty_pages_pct=30 + + +[mysqld_safe] +log-error=/var/log/mysqld.log +pid-file=/var/run/mysqld/mysqld.pid +innodb_lock_wait_timeout=1500 + diff --git a/versioned_docs/version-25.10/assets/reporting/installation/pie_charts.png b/versioned_docs/version-25.10/assets/reporting/installation/pie_charts.png new file mode 100644 index 000000000000..c09edab5c7b7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/installation/pie_charts.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/installation/storage_example.png b/versioned_docs/version-25.10/assets/reporting/installation/storage_example.png new file mode 100644 index 000000000000..516d041ce1af Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/installation/storage_example.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/installation/view_creation.sql b/versioned_docs/version-25.10/assets/reporting/installation/view_creation.sql new file mode 100644 index 000000000000..c4ed3deb6c8d --- /dev/null +++ b/versioned_docs/version-25.10/assets/reporting/installation/view_creation.sql @@ -0,0 +1,59 @@ +CREATE VIEW mod_bi_report_v01 AS + + SELECT id, name, description, source, xml_file, trash, activate, weight, is_editable, optgroup_id + + FROM mod_bi_report + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_v01 AS + + SELECT id, name, id_report, task_hour, task_day_of_week, task_day, scheduling, task_month, trash, + mail_enable, mail_title, mail_body, mail_footer, report_period_start, report_period_end, is_cyclic, + mail_attach_file, generation_date, coefficient, enable_notification + + FROM mod_bi_generation + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_locale_v01 AS + + SELECT id, name + + FROM mod_bi_locale + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_publication_v01 AS + + SELECT id, name, description, publish_job_log, publication_type_id, root_directory, sub_directory, is_global, is_default + + FROM mod_bi_publication + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_publication_relations_v01 AS + + SELECT publication_id, generation_id + + FROM mod_bi_publication_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_locale_relations_v01 AS + + SELECT generation_id, locale_id + + FROM mod_bi_generation_locale_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_generation_output_relations_V01 AS + + SELECT generation_id, generation_output_id + + FROM mod_bi_generation_output_relations + WHERE activity_start <= NOW() AND activity_end > NOW(); + +CREATE VIEW mod_bi_host_service_relations_V01 AS + + SELECT param_obj_id , generation_id, host_id, service_id, + sg_id, hg_id, sc_id, ba_group_id, ba_id + + FROM mod_bi_host_service_relations + WHERE activity_start <= now() and activity_end > now(); + diff --git a/versioned_docs/version-25.10/assets/reporting/os-reporting/os-csv.png b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-csv.png new file mode 100644 index 000000000000..a02f08b44805 Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-csv.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png new file mode 100644 index 000000000000..c5cede41eb4a Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-reporting.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png new file mode 100644 index 000000000000..4d1ec14887ad Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-timeline.png differ diff --git a/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png new file mode 100644 index 000000000000..6731d359c23f Binary files /dev/null and b/versioned_docs/version-25.10/assets/reporting/os-reporting/os-host-tooltip.png differ diff --git a/versioned_docs/version-25.10/assets/resources/commit_to_branch.png b/versioned_docs/version-25.10/assets/resources/commit_to_branch.png new file mode 100644 index 000000000000..8229389df149 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/commit_to_branch.png differ diff --git a/versioned_docs/version-25.10/assets/resources/compare_and_pull_request1.png b/versioned_docs/version-25.10/assets/resources/compare_and_pull_request1.png new file mode 100644 index 000000000000..88adf0064d61 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/compare_and_pull_request1.png differ diff --git a/versioned_docs/version-25.10/assets/resources/compare_and_pull_request2.png b/versioned_docs/version-25.10/assets/resources/compare_and_pull_request2.png new file mode 100644 index 000000000000..729390394ed5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/compare_and_pull_request2.png differ diff --git a/versioned_docs/version-25.10/assets/resources/edit_branch.png b/versioned_docs/version-25.10/assets/resources/edit_branch.png new file mode 100644 index 000000000000..343af31f0b4f Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/edit_branch.png differ diff --git a/versioned_docs/version-25.10/assets/resources/edit_this_page.png b/versioned_docs/version-25.10/assets/resources/edit_this_page.png new file mode 100644 index 000000000000..ca9a24b69ee5 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/edit_this_page.png differ diff --git a/versioned_docs/version-25.10/assets/resources/editable_page.png b/versioned_docs/version-25.10/assets/resources/editable_page.png new file mode 100644 index 000000000000..45d0ac38693b Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/editable_page.png differ diff --git a/versioned_docs/version-25.10/assets/resources/open_pr.png b/versioned_docs/version-25.10/assets/resources/open_pr.png new file mode 100644 index 000000000000..a07d9c51e9a8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/open_pr.png differ diff --git a/versioned_docs/version-25.10/assets/resources/pr_with_branch_name.png b/versioned_docs/version-25.10/assets/resources/pr_with_branch_name.png new file mode 100644 index 000000000000..0d526b4988e9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/pr_with_branch_name.png differ diff --git a/versioned_docs/version-25.10/assets/resources/propose_changes.png b/versioned_docs/version-25.10/assets/resources/propose_changes.png new file mode 100644 index 000000000000..e62e3f5f4509 Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/propose_changes.png differ diff --git a/versioned_docs/version-25.10/assets/resources/propose_changes2.png b/versioned_docs/version-25.10/assets/resources/propose_changes2.png new file mode 100644 index 000000000000..5d16a79198ae Binary files /dev/null and b/versioned_docs/version-25.10/assets/resources/propose_changes2.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/about/ba_detailed.png b/versioned_docs/version-25.10/assets/service-mapping/about/ba_detailed.png new file mode 100644 index 000000000000..a4acafa8d7a3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/about/ba_detailed.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png b/versioned_docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png new file mode 100644 index 000000000000..c2bdc5bdf602 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/conf-ratio-with-warn.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/conf-ratio.png b/versioned_docs/version-25.10/assets/service-mapping/conf-ratio.png new file mode 100644 index 000000000000..0874109fadba Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/conf-ratio.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/example.png b/versioned_docs/version-25.10/assets/service-mapping/example.png new file mode 100644 index 000000000000..c6a302951139 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/example.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/final-frontend.png b/versioned_docs/version-25.10/assets/service-mapping/final-frontend.png new file mode 100644 index 000000000000..d5b14e679338 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/final-frontend.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/first_page.gif b/versioned_docs/version-25.10/assets/service-mapping/first_page.gif new file mode 100644 index 000000000000..c43c72a820d6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/first_page.gif differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/frontend-1-concept.png b/versioned_docs/version-25.10/assets/service-mapping/frontend-1-concept.png new file mode 100644 index 000000000000..f8a8123b3042 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/frontend-1-concept.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/frontend-1-conf.png b/versioned_docs/version-25.10/assets/service-mapping/frontend-1-conf.png new file mode 100644 index 000000000000..ebd59b6b75db Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/frontend-1-conf.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png b/versioned_docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png new file mode 100644 index 000000000000..7c99ba6ad13b Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/add_kpi_types.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png b/versioned_docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png new file mode 100644 index 000000000000..0c5a1eef7f5b Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/bam_user_notification.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-add.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-add.png new file mode 100644 index 000000000000..9c0e1874cd3d Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-add.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png new file mode 100644 index 000000000000..bcb128188407 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status-tree.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png new file mode 100644 index 000000000000..4b4f62ee393f Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-best-status.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png new file mode 100644 index 000000000000..f91d4065021a Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-impact.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png new file mode 100644 index 000000000000..46d7f32732e4 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-listing.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png new file mode 100644 index 000000000000..baafc64c739e Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio-tree.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png new file mode 100644 index 000000000000..696af68bf4b9 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-ratio.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png new file mode 100644 index 000000000000..06272daac65b Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status-tree.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png new file mode 100644 index 000000000000..79fad36afd2b Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-activity-worst-status.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-add.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-add.png new file mode 100644 index 000000000000..309d94258c28 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-add.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-listing.png b/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-listing.png new file mode 100644 index 000000000000..e509adb8fa77 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/business-view-listing.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/conf_kpi.png b/versioned_docs/version-25.10/assets/service-mapping/guide/conf_kpi.png new file mode 100644 index 000000000000..7c5644ac04a8 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/conf_kpi.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png b/versioned_docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png new file mode 100644 index 000000000000..f5135c662dba Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/default_ba_parameters.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png b/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png new file mode 100644 index 000000000000..c3d31fb0855a Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_ba_boolean.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png b/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png new file mode 100644 index 000000000000..2258710d5416 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/impacts_configuration.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png new file mode 100644 index 000000000000..0f677fad7544 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_advanced.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png new file mode 100644 index 000000000000..1ac83be1974c Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_booleen.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png new file mode 100644 index 000000000000..3a8bc1c482ed Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_multiple_retrieve.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_standard.png b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_standard.png new file mode 100644 index 000000000000..0484a34e468c Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/kpi_standard.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png b/versioned_docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png new file mode 100644 index 000000000000..5935012b7575 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/list_impacts_basic.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/log_chart.png b/versioned_docs/version-25.10/assets/service-mapping/guide/log_chart.png new file mode 100644 index 000000000000..860971033de6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/log_chart.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/log_param.png b/versioned_docs/version-25.10/assets/service-mapping/guide/log_param.png new file mode 100644 index 000000000000..a983b69fb1a2 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/log_param.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png new file mode 100644 index 000000000000..5914e126998e Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_ba_list.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/mon_detailed.png b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_detailed.png new file mode 100644 index 000000000000..27cc0c8c4f90 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_detailed.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png new file mode 100644 index 000000000000..ce07d9233287 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_kpi_list.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png new file mode 100644 index 000000000000..f0d2b463a995 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_mouse_over.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/mon_trend.png b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_trend.png new file mode 100644 index 000000000000..4812616664e3 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/mon_trend.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/reporting.png b/versioned_docs/version-25.10/assets/service-mapping/guide/reporting.png new file mode 100644 index 000000000000..e6685290fbb1 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/reporting.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/guide/user_custom.png b/versioned_docs/version-25.10/assets/service-mapping/guide/user_custom.png new file mode 100644 index 000000000000..a8ae1b904efa Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/guide/user_custom.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png b/versioned_docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png new file mode 100644 index 000000000000..ea95e9cafc68 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/installation/install-web-step-2.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/ratio.png b/versioned_docs/version-25.10/assets/service-mapping/ratio.png new file mode 100644 index 000000000000..baafc64c739e Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/ratio.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png b/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png new file mode 100644 index 000000000000..4dcfc9f5f640 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_monitoring.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png b/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png new file mode 100644 index 000000000000..60618c25aaa7 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/remote-server/conf_poller_bam_reporting.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png b/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png new file mode 100644 index 000000000000..d0f8d3481667 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing.png differ diff --git a/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png b/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png new file mode 100644 index 000000000000..c45a24c3c5b6 Binary files /dev/null and b/versioned_docs/version-25.10/assets/service-mapping/widget_bam-ba-listing_param.png differ diff --git a/versioned_docs/version-25.10/assets/upgrade/web_update_1.png b/versioned_docs/version-25.10/assets/upgrade/web_update_1.png new file mode 100644 index 000000000000..5058f4ebec73 Binary files /dev/null and b/versioned_docs/version-25.10/assets/upgrade/web_update_1.png differ diff --git a/versioned_docs/version-25.10/assets/upgrade/web_update_2.png b/versioned_docs/version-25.10/assets/upgrade/web_update_2.png new file mode 100644 index 000000000000..b0c057e75e07 Binary files /dev/null and b/versioned_docs/version-25.10/assets/upgrade/web_update_2.png differ diff --git a/versioned_docs/version-25.10/assets/upgrade/web_update_3.png b/versioned_docs/version-25.10/assets/upgrade/web_update_3.png new file mode 100644 index 000000000000..10b8d3cfdb3e Binary files /dev/null and b/versioned_docs/version-25.10/assets/upgrade/web_update_3.png differ diff --git a/versioned_docs/version-25.10/assets/upgrade/web_update_4.png b/versioned_docs/version-25.10/assets/upgrade/web_update_4.png new file mode 100644 index 000000000000..5ef3f6e839cc Binary files /dev/null and b/versioned_docs/version-25.10/assets/upgrade/web_update_4.png differ diff --git a/versioned_docs/version-25.10/assets/upgrade/web_update_5.png b/versioned_docs/version-25.10/assets/upgrade/web_update_5.png new file mode 100644 index 000000000000..3aaadd4e6427 Binary files /dev/null and b/versioned_docs/version-25.10/assets/upgrade/web_update_5.png differ diff --git a/versioned_docs/version-25.10/connect/autologin.md b/versioned_docs/version-25.10/connect/autologin.md new file mode 100644 index 000000000000..1fe1e9400775 --- /dev/null +++ b/versioned_docs/version-25.10/connect/autologin.md @@ -0,0 +1,47 @@ +--- +id: autologin +title: Configuring Autologin +--- + +The Autologin feature allows you to give access to the Centreon platform through a simple URL, without the need to type a username and a password. Use Autologin, for instance, to display custom views on a large screen in your office. + +## Step 1: Activate autologin + +1. Go to **Administration > Parameters > Centreon UI**. + +2. In the **Authentication properties** section, select the following options: + + - **Enable Autologin** + - **Display Autologin shortcut**. + +3. Click **Save**. + +## Step 2: Create an autologin user + +1. [Create a user](../monitoring/basic-objects/contacts-create.md) called **autologin** and give it [access rights](../administration/access-control-lists.md) only to the pages you will want to display. + +2. Edit the user. Go to the **Authentication** tab: + - enable the option **Reach Centreon Front-end**. + - to the right of the **Autologin Key** field, click **Generate**. Make a note of the generated key. + +3. Click **Save**. + +## Step 3: Retrieve the connection URL + +1. Log in as user **autologin**. + +1. Go to the page you will want to display, then click the profile icon in the top right corner of the screen. + +2. Click **Copy autologin link** to get the URL you need to use. Autologin URLs have the following structure: + + ``` + http://[IP_CENTREON]/centreon/main.php?p=[page_number]&autologin=1&useralias=[user_login]&token=[autologin_key] + ``` + + Example: The following link allows user **admin** to display the **Home > Custom views** page: + ``` + http://10.29.11.2/centreon/main.php?p=103&autologin=1&useralias=admin&token=3sWymDJk + ``` + + To display Centreon in fullscreen mode, without the menus or the header, press F. + diff --git a/versioned_docs/version-25.10/connect/loginpwd.md b/versioned_docs/version-25.10/connect/loginpwd.md new file mode 100644 index 000000000000..42b569b146d2 --- /dev/null +++ b/versioned_docs/version-25.10/connect/loginpwd.md @@ -0,0 +1,51 @@ +--- +id: loginpwd +title: Configuring a local authentication +--- + +## Authorize users to access Centreon + +1. To authorize a [user](../monitoring/basic-objects/contacts.md) to access the Centreon web interface, go to +**Configuration > Users > Contacts/Users** and click the user you want. + +2. On the **Centreon Authentication** tab, set **Reach Centreon Front-end** to **Yes**. + +3. Fill in the **Password** and +**Confirm Password** fields: the password must comply with the [password security policy](#configure-a-local-password-security-policy) that has been defined. You can use the **Generate** button to generate a random string based on this +local password security policy. + +Users can change their password by clicking the profile icon in the top right corner of the page and then clicking **Edit profile**. +On this screen, the password expiration time is displayed: + +![image](../assets/administration/password_expiration.png) + +## Configure a local password security policy + +Since Centreon 22.04, a **local password security policy** has been implemented. +This policy makes it possible to strengthen the security of local account passwords by forcing the user to enter a +complex password, to give passwords a lifespan and to block brute force attempts. + +Go to **Administration > Authentication> Password Security Policy**: + +![image](../assets/administration/local-configuration.png) + +### Password case policy + +- Define the **Minimum password length**. +- Define which characters the password must contain to make it stronger (lower case letters, upper case letters, numbers, special characters). The following special characters are allowed: `'@$!%*?&'` + +### Password expiration policy + +Configure when passwords will expire: + +- **Password expires after**: Once the password expires, the user will be redirected to a + [dedicated page](../getting-started/interface.md#reset-your-password-when-expired) to update their password. +- **Minimum time between password changes**: When a password has just been changed, how much time must elapse before it can be changed again. +- **Last 3 passwords can be reused**: Use this option to allow users to reuse one of their 3 old passwords when renewing. +- **Excluded users**: Select user accounts for which the password expiration policy will not apply (for instance, the **admin** account, or technical accounts accessing APIs). The passwords for these accounts will never expire. + +### Password blocking policy + +To block brute force attacks, use the following fields: +- **Number of attempts before user is blocked** +- **Time that must pass before new connection is allowed**: when a user is blocked, they will have to wait this amount of time before they can try connecting again. diff --git a/versioned_docs/version-25.10/connect/openid.md b/versioned_docs/version-25.10/connect/openid.md new file mode 100644 index 000000000000..da5d81f851d9 --- /dev/null +++ b/versioned_docs/version-25.10/connect/openid.md @@ -0,0 +1,335 @@ +--- +id: openid +title: Configuring connection via OpenId Connect +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon is compatible with OAuth 2.0/OpenId Connect authentication. + +You can use Identity Providers (IdP); these include Microsoft Azure AD, Okta, Keycloak, LemonLDAP::NG or other IdPs +that are compatible with the Authorization Code Flow. + +## Configure OpenID Connect authentication + +Go to **Administration > Authentication > OpenID Connect Configuration**. + +### Step 1: Enable authentication + +Enable OpenID Connect authentication: + +- **Enable OpenId Connect authentication**: enables or disables OpenId Connect authentication. +- **Authentication mode**: indicates if the authentication should be done using only OpenId Connect or using local + authentication as well (**Mixed**). In mixed mode, users created manually in Centreon (and not identified via Open ID) will also be able to log in. + +> When setting the parameters, we recommend that you activate the "mixed" mode. This will allow you to retain access to +> the local `admin` account in the event of a misconfiguration. + +### Step 2: Configure Identity Provider access credentials + +Configure Identity Provider information: + +- **Base URL**: defines the identity provider's base URL for OpenId Connect endpoints (mandatory). +- **Authorization Endpoint**: defines the authorization endpoint, for example `/authorize` (mandatory). +- **Token Endpoint**: defines the token endpoint, for example `/token` (mandatory). +- **Client ID**: defines the Client ID (mandatory). +- **Client Secret**: defines the Client secret (mandatory). +- **Scopes**: defines the scopes of the identity provider, for example `openid`. Separate scopes by spaces. + > Depending on the identity provider, it is necessary to enter several scopes in order to retrieve the claim that will + > identify users. This is indicated in the provider's configuration documentation. +- **Login attribute path**: defines which of the variables returned by **Introspection Token Endpoint** or **User Information Endpoint** + must be used to authenticate users. For example `sub` or `email`. +- **End Session Endpoint**: defines the logout endpoint, for example `/logout`. + +Depending on your identity provider, set either of the following two endpoints: + +- **User Information Endpoint**: defines the user information endpoint, for example `/userinfo`. +- **Introspection Token Endpoint**: defines the introspection token endpoint, for example `/introspect` (mandatory). + +You can also configure: + +- **Use Basic Auth for Token Endpoint Authentication**: the `Authorization: Basic` method will be used. Enable this option if your identity provider requires it. +- **Disable verify peer**: allows you to disable SSL peer validation. The identity provider's certificate will not be checked: use this option for test purposes only. + +> You can define a full URL for the endpoints in case the base of the URL is different from the others. + +> You can enable **Authentication debug** through the **Administration > Parameters > Debug** menu to understand +> authentication failures and improve your setup. + +### Step 3: Configure authentication conditions + +* You can whitelist or blacklist IP addresses. If you leave the first two fields empty, all IP addresses will be authorized to access the Centreon interface. + + - **Trusted client addresses**: If you enter IP addresses in this field, only these IP addresses will be allowed to access the Centreon interface. All other IP addresses will be blocked. IP addresses must be separated by commas. + - **Blacklist client addresses**: These IP addresses will be blocked. All other IP addresses will be allowed to access the Centreon interface. + +* You can also define conditions according to which users will be allowed to log in or not, based on the data received by a particular endpoint. + - Activate **Enable conditions on identity provider**. + - Define which attribute from which endpoint will be used to validate the conditions. + - In **Define authorized conditions values**, define which will be the authorized values returned by this endpoint. If you enter several values, all will have to be met for the condition to be validated. All users that try to connect with another value will be unable to log in. + + In the example below, the **Conditions attribute path** is **status** and **Define authorized conditions values** is **activated**. If the **Introspection endpoint** gives you the following response, then the user is allowed to log in: + + ```json + { + ... + "name": "OpenId Connect OIDC", + "given_name": "OpenId Connect", + "family_name": "OIDC", + "preferred_username": "oidc", + "email": "oidc@localhost", + "email_verified": false, + ... + "status": "activated" + } + ``` + + > Currently, only character string values can be used. + +### Step 4: Manage user creation + + + + +If you turn on **Enable auto import**, users that log in to Centreon for the first time will be created in the Centreon configuration. (Turning the option on does not automatically import all users from your infrastructure.) + +- **Enable auto import**: enables or disables automatic user import. If auto import is disabled, you will have to [create each user manually](../monitoring/basic-objects/contacts-create.md) before they can log in. +- **Contact template**: select a [contact template](../monitoring/basic-objects/contacts-templates.md) that will be applied to newly imported users. + In particular, this allows you to manage the default configuration of the [notifications](../alerts-notifications/notif-configuration.md). +- **Email attribute path**: defines which of the variables returned by **Introspection Token Endpoint** or **User Information Endpoint** + must be used to get the user's email address. +- **Fullname attribute path**: defines which of the variables returned by **Introspection Token Endpoint** or **User Information Endpoint** + must be used to get the user's full name. + + + + +On page **Configuration > Users > Contacts/Users**, [create the users](../monitoring/basic-objects/contacts-create.md) that will log on to Centreon using OpenID. + + + + +### Step 5: Manage Authorizations + + + + +If you turn on **Enable automatic management**, users who log in to Centreon will be automatically [granted rights](../administration/access-control-lists.md), as they will be linked to [access groups](../administration/access-control-lists.md#creating-an-access-group) according to the rules you have defined. + +- Define which attribute from which endpoint will be used to retrieve values for enforcing relationships with access groups. +- **Apply only first role**: If several roles are found for a specific user in the identity provider's information, then only the first role will be applied. If the option is turned off, all roles will be applied. +- Match an attribute retrieved from the identity provider with the access group you want the user to belong to. + +For example, the **Introspection endpoint** gives you the following response and **Apply only first role** is enabled. The **Roles attribute path** will +be **realm_access.roles** and **Define the relation between roles and ACL access groups** will establish a relationship +between the value **centreon-editor** and a defined access group in Centreon: + +```json +{ + ... + "realm_access": { + "roles": ["centreon-editor", "centreon-admin", "user"] + }, + ... +} +``` + +> When retrieving attributes, Centreon will merge the attributes retrieved from the JWT (JSON Web Token) with those +> retrieved from the selected entry point, giving priority to the JWT attributes. Thus, if an attribute is available in +> the JWT and in the selected entry point, then the selected attribute will be the one coming from the JWT. + +> Each time the user logs in, authorization management is reinitialized to take into account any new information from the +> identity provider. + + + + +If you turn off **Enable automatic management**, you have to [grant users rights](../administration/access-control-lists.md) manually by linking them to [access groups](../administration/access-control-lists.md#creating-an-access-group). + + + + +### Step 6: Manage Contact groups + + + + +If you turn on **Enable automatic management**, users who log in to Centreon will be attached to the [contact groups](../monitoring/basic-objects/contacts-groups.md#contact-groups) you have defined. + +- Define which attribute from which endpoint will be used to retrieve values to create relationships with access groups. +- Match the attributes retrieved from the identity provider with the contact groups you want the user to belong to. + +For example, if the **Introspection endpoint** gives you the following response, the **Groups attribute path** will +be **groups** and **Define the relation between roles and contact groups** will define a relationship +between the value **Windows** and a defined contact group in Centreon, then between **Linux** and another contact group, etc: + +```json +{ + ... + "groups": ["Windows", "Linux", "DBA"], + ... +} +``` + +> When retrieving attributes, Centreon will merge the attributes retrieved from the JWT (JSON Web Token) with those +> retrieved from the selected entry point, giving priority to the JWT attributes. Thus, if an attribute is available in +> the JWT and in the selected entry point, then the selected attribute will be the one coming from the JWT. + +> Each time the user logs in, group management is reinitialized to take into account any new information from the identity provider. + + + + +If you turn off **Enable automatic management**, you have to manage the relationship between contact and [contact groups] manually (../monitoring/basic-objects/contacts-groups.md#contact-groups). + + + + +### Step 7: Configure your Identity Provider (IdP) + +Configure your IdP to add the Centreon application to use the OpenID Connect protocol to authenticate your users, +and to authorize the following `redirect URI` to forward your connected users to Centreon: + +```shell +{protocol}://{server}:{port}/centreon/authentication/providers/configurations/openid +``` + +> Replace `{protocol}`, `{server}` and `{port}` with the URI to access to your Centreon server. +> For example: `https://centreon.domain.net/centreon/authentication/providers/configurations/openid` + +## Examples of configuration + + + + +Here is an example configuration for Microsoft Azure Active Directory: + +| Fields | Values | +|------------------------------|-----------------------------------------------------------| +| Base Url | https://login.microsoftonline.com/${tenantId}/oauth2/v2.0 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| User Information Endpoint | https://graph.microsoft.com/oidc/userinfo | +| End Session Endpoint | | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Please replace `${tenantId}`, `${clientId}` and `${clientSecret}` with your own values. + + + + +Here is an example configuration for Okta: + +| Fields | Values | +|------------------------------|------------------------------------------| +| Base Url | https://${theIdPdomain}/oauth2/v1 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| Introspection Token Endpoint | /introspect | +| User Information Endpoint | /userinfo | +| End Session Endpoint | /logout | +| Scope | profile openid | +| Login claim value | username | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Please replace `${theIdPdomain}`, `${clientId}` and `${clientSecret}` with your own values. + + + + +Here is an example configuration for Keycloak: + +| Fields | Values | +|------------------------------|-------------------------------------------------------------------------| +| Base Url | https://${theIdPdomain}:8080/auth/realms/master/protocol/openid-connect | +| Authorization Endpoint | /auth | +| Token Endpoint | /token | +| Introspection Token Endpoint | /token/introspect | +| User Information Endpoint | | +| End Session Endpoint | /logout | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Please replace `${theIdPdomain}`, `${clientId}` and `${clientSecret}` with your own values. + + + + +Here is an example configuration for LemonLDAP::NG: + +| Fields | Values | +|------------------------------|------------------------------------------| +| Base Url | http://auth.example.com/oauth2 | +| Authorization Endpoint | /authorize | +| Token Endpoint | /token | +| Introspection Token Endpoint | /introspect | +| User Information Endpoint | /userinfo | +| End Session Endpoint | | +| Scope | openid | +| Login claim value | email | +| Client ID | ${clientId} | +| Client Secret | ${clientSecret} | + +> Please replace `auth.example.com`, `${clientId}` and `${clientSecret}` with your own values. + + + + +Most of the service providers have one URL presenting the configuration parameters configuration as defined by +[the protocol](https://openid.net/specs/openid-connect-discovery-1_0#ProviderConfig). + +```json +{ + "issuer": "https://server.example.com", + "authorization_endpoint": "https://server.example.com/connect/authorize", + "token_endpoint": "https://server.example.com/connect/token", + "token_endpoint_auth_methods_supported": ["client_secret_basic", "private_key_jwt"], + "token_endpoint_auth_signing_alg_values_supported": ["RS256", "ES256"], + "userinfo_endpoint": "https://server.example.com/connect/userinfo", + "check_session_iframe": "https://server.example.com/connect/check_session", + "end_session_endpoint": "https://server.example.com/connect/end_session", + "jwks_uri": "https://server.example.com/jwks.json", + "registration_endpoint": "https://server.example.com/connect/register", + "scopes_supported": ["openid", "profile", "email", "address", "phone", "offline_access"], + "response_types_supported": ["code", "code id_token", "id_token", "token id_token"], + "acr_values_supported": ["urn:mace:incommon:iap:silver", "urn:mace:incommon:iap:bronze"], + "subject_types_supported": ["public", "pairwise"], + "userinfo_signing_alg_values_supported": ["RS256", "ES256", "HS256"], + "userinfo_encryption_alg_values_supported": ["RSA1_5", "A128KW"], + "userinfo_encryption_enc_values_supported": ["A128CBC-HS256", "A128GCM"], + "id_token_signing_alg_values_supported": ["RS256", "ES256", "HS256"], + "id_token_encryption_alg_values_supported": ["RSA1_5", "A128KW"], + "id_token_encryption_enc_values_supported": ["A128CBC-HS256", "A128GCM"], + "request_object_signing_alg_values_supported": ["none", "RS256", "ES256"], + "display_values_supported": ["page", "popup"], + "claim_types_supported": ["normal", "distributed"], + "claims_supported": ["sub", "iss", "auth_time", "acr", + "name", "given_name", "family_name", "nickname", + "profile", "picture", "website", + "email", "email_verified", "locale", "zoneinfo", + "http://example.info/claims/groups" + ], + "claims_parameter_supported": true, + "service_documentation": "http://server.example.com/connect/service_documentation", + "ui_locales_supported": ["en-US", "en-GB", "en-CA", "fr-FR", "fr-CA"] +} +``` + +Retrieve the following parameters to configure your Centreon: + +- issuer (Base Url) +- authorization_endpoint +- token_endpoint +- userinfo_endpoint +- end_session_endpoint +- scopes_supported +- claims_supported (Login claim value) + + + diff --git a/versioned_docs/version-25.10/connect/saml.md b/versioned_docs/version-25.10/connect/saml.md new file mode 100644 index 000000000000..58c8d09d9239 --- /dev/null +++ b/versioned_docs/version-25.10/connect/saml.md @@ -0,0 +1,132 @@ +--- +id: saml +title: Configuring connection via SAML +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Configure SAML authentication + +Go to **Administration > Authentication > SAML Configuration**. + +### Step 1: Enable authentication + +Enable SAML authentication: + +- **Enable SAMLv2 authentication**: enables or disables SAML authentication. +- **Authentication mode**: indicates if the authentication should be done using only SAML or using local + authentication as well (**Mixed**). In mixed mode, users created manually in Centreon (and not identified via SAML) + will also be able to log in. + +> When setting the parameters, we recommend that you activate the "mixed" mode. This will allow you to retain access to +> the local `admin` account in the event of a misconfiguration. + +### Step 2: Configure Identity Provider access credentials + +Configure Identity Provider information: + +- **Remote login URL**: defines the identity provider's login URL to identify users (mandatory). +- **Issuer (Entity ID) URL**: defines the URL representing the unique name for a SAML entity (mandatory). +- **Copy/paste x509 certificate**: add here the x509 certificate of the identity provider (mandatory). +- **User ID (login) attribute for Centreon user**: defines which of the variables returned by the identity provider + must be used to authenticate users. For example, **email**. (mandatory). +- Logout from: + * **Centreon UI Only**: users will only be logged out from Centreon. + * **Both Identity Provider and Centreon UI**: users will be logged out from both Centreon and the identity provider. + > If you select **Both Identity Provider and Centreon UI**, you need to define a **Logout URL**. + +### Step 3: Configure authentication conditions + +You can define conditions according to which users will be allowed to log in or not, based on the data received by a +particular endpoint: + - Activate **Enable conditions on identity provider**. + - Define which attribute will be used to validate the conditions. + - In **Define authorized conditions values**, define which will be the authorized values returned. + If you enter several values, all will have to be met for the condition to be validated. All users who try to connect + with another value will be unable to log in. + +### Step 4: Manage user creation + + + + +If you turn on **Enable auto import**, users who log in to Centreon for the first time will be created in the Centreon +configuration. (Turning the option on does not automatically import all users from your infrastructure.) + +- **Enable auto import**: enables or disables automatic user import. If auto import is disabled, you will have to + [create each user manually](../monitoring/basic-objects/contacts-create.md) before they can log in. +- **Contact template**: select a [contact template](../monitoring/basic-objects/contacts-templates.md) that will be + applied to newly imported users. In particular, this allows you to manage the default configuration of the + [notifications](../alerts-notifications/notif-configuration.md). +- **Email attribute path**: defines which of the variables returned by the identity provider must be used to get the + user's email address. +- **Fullname attribute path**: defines which of the variables returned by the identity provider must be used to get the + user's full name. + + + + +On the **Configuration > Users > Contacts/Users** page, [create the users](../monitoring/basic-objects/contacts-create.md) +who will log on to Centreon using SAML. + + + + +### Step 5: Manage Authorizations + + + + +If you turn on **Enable automatic management**, users who log in to Centreon will be automatically + [granted rights](../administration/access-control-lists.md), as they will be linked to + [access groups](../administration/access-control-lists.md#creating-an-access-group) according to the rules you have defined. + +- **Apply only first role**: If several roles are found for a specific user in the identity provider's information, then + only the first role will be applied. If the option is turned off, all roles will be applied. +- Define which attribute from which endpoint will be used to retrieve values to create relationships with access groups. +- Match the attributes retrieved from the identity provider with the contact groups you want the user to belong to. + +> Each time the user logs in, authorization management is reinitialized to take into account any new information from the +> identity provider. + + + + +If you turn off **Enable automatic management**, you will need to [grant users rights](../administration/access-control-lists.md) +manually by linking them to [access groups](../administration/access-control-lists.md#creating-an-access-group). + + + + +### Step 6: Manage Contact groups + + + + +If you turn on **Enable automatic management**, users who log in to Centreon will be attached to the +[contact groups](../monitoring/basic-objects/contacts-groups.md#contact-groups) you have defined. + +- Define which attribute from the identity provider will be used to retrieve values to create relationships with access groups. +- Match the attributes retrieved from the identity provider with the contact groups you want the user to belong to. + +> Each time the user logs in, group management is reinitialized to take into account any new information from the identity provider. + + + + +If you turn off **Enable automatic management**, you will have to manage the relationship between contact and +[contact groups](../monitoring/basic-objects/contacts-groups.md#contact-groups) manually. + + + + +### Step 7: Configure your Identity Provider (IdP) + +Configure your identity provider so that the Centreon application can use the SAML protocol to authenticate your +users. Here is an example of fields you may have to fill in: + +| IdP option | Centreon value | +|--------------------------------------|----------------------------------------------------------------| +| Client ID | https:// | +| Assertion Consumer Service (ACS) URL | https:///centreon/api/latest/saml/acs | +| Redirect Binding URLs for SLO | https:///centreon/api/latest/saml/sls | diff --git a/versioned_docs/version-25.10/connect/sso.md b/versioned_docs/version-25.10/connect/sso.md new file mode 100644 index 000000000000..1fe82fb21b7e --- /dev/null +++ b/versioned_docs/version-25.10/connect/sso.md @@ -0,0 +1,114 @@ +--- +id: sso +title: Configuring a Web SSO connection +--- + +Web SSO authentication relies on the Apache web server. According to its configuration, Apache is +responsible for authenticating the user before allowing access to the Centreon web interface. +Many Apache modules allow authentication via OIDC, SAMLv2, TLS, Kerberos, and other protocols. + +> Users must be present in the Centreon configuration to access the interface. + +## Configure Web SSO authentication + +Go to **Administration > Authentication > Web SSO Configuration**: + +![image](../assets/administration/web-sso-configuration.png) + +### Step 1: Enable authentication + +Enable authentication: + +- **Enable Web SSO authentication**: enables/disables Web SSO authentication. +- **Authentication mode**: indicates whether authentication should take place using only Web SSO or using local + authentication as well (**Mixed**). + +> When setting the parameters, we recommend that you activate the "mixed" mode. This will allow you to retain access to +> the local `admin` account in the event of a misconfiguration. + +### Step 2: Configure your identity provider's access credentials + +Configure identity provider information: + +- **Login header attribute name**: which variable from the headers should be used to retrieve the user's login. + For example `REMOTE_USER`. +- **Pattern match login (regex)**: a pattern to search for in the login header attribute name. + For instance, type `/@.*/` to find the end of the email address in your login. +- **Pattern replace login (regex)**: the string that will replace the string defined in the **Pattern match login (regex)** field. + Leave **Pattern replace login (regex)** blank to delete the string found by **Pattern match login (regex)**. + +### Step 3: Configure client addresses + +If you leave both fields blank, all IP addresses will be allowed to access the Centreon interface. + +- **Trusted client addresses**: If you enter IP addresses in this field, only these IP addresses will be allowed to access the Centreon interface. All other IP addresses will be blocked. IP addresses must be separated by commas. +- **Blacklist client addresses**: These IP addresses will be blocked. All other IP addresses will be allowed to access the Centreon interface. + +### Step 4: Configure the Apache web server + +You must configure the Apache module that allows authentication with the identity provider. +Once this configuration is done, you must modify the Centreon configuration for Apache in order to allow access only +to authenticated users. + +1. Edit **/etc/httpd/conf.d/10-centreon.conf** and search for the following block: + + ```apache + Header set X-Frame-Options: "sameorigin" + Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict + ServerSignature Off + TraceEnable Off + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + ``` + +2. Replace it with: + + ```apache + Header set X-Frame-Options: "sameorigin" + Header always edit Set-Cookie ^(.*)$ $1;HttpOnly;SameSite=Strict + ServerSignature Off + TraceEnable Off + + RequestHeader set X-Forwarded-Proto "http" early + + Alias ${base_uri}/api ${install_dir} + Alias ${base_uri} ${install_dir}/www/ + + + AuthType openid-connect + Require valid-user + + ``` + + > In this example, the Apache module used was **mod_auth_openidc**. This is why authentication is **openid-connect**. + +3. Validate the Apache configuration using: + + ```shell + /opt/rh/httpd24/root/usr/sbin/httpd -t + ``` + +4. Then restart Apache web server: + + ```shell + systemctl restart httpd24-httpd + ``` + +5. To conclude, rebuild the cache: + + ```shell + sudo -u apache /usr/share/centreon/bin/console cache:clear + ``` + +### Step 5: Configure your Identity Provider (IdP) + +Configure your IdP to add the Centreon application to use your protocol to authenticate your users, +and to authorize the following `redirect URI` to forward your connected users to Centreon: + +```shell +{protocol}://{server}:{port}/centreon/websso +``` + +> Replace `{protocol}`, `{server}` and `{port}` with the URI to access to your Centreon server. +> For example: `https://centreon.domain.net/centreon/centreon/websso` diff --git a/versioned_docs/version-25.10/developer/developer-broker-bbdo.md b/versioned_docs/version-25.10/developer/developer-broker-bbdo.md new file mode 100644 index 000000000000..20e1e5f02c4f --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-broker-bbdo.md @@ -0,0 +1,395 @@ +--- +id: developer-broker-bbdo +title: The BBDO protocol +--- + +The BBDO protocol has been created to be the default protocol of Centreon +Broker. It is lightweight on the wire and easy to decode. It is especially +designed for monitoring resources with Centreon Broker. + +## Introduction + +BBDO stands for Broker Binary Data Object. BBDO is designed to transfer +"data packets" from one node to another. These "data packets" spend most of +the time monitoring information provided by the monitoring engine (e.g. +Centreon Engine or Nagios). It uses mostly raw binary values, which +allows it to consume very little memory. + +With Broker 22.04.0, we introduced a new version of BBDO. It is based on +[Google Protobuf 3](https://developers.google.com/protocol-buffers). The new +protocol remains compatible with the previous one, but introduces +new events. For example, PbService and PbServiceStatus events are +sent instead of Service and ServiceStatus events. Configured with BBDO 3, Broker +still understands Service and ServiceStatus events, but by default it should +send the new versions. + +## Types + +This section is about BBDO 2. + +As a binary protocol, BBDO uses data types to serialize data. They are +written in a Big Endian format and described in the following table. + + +| Type | Representation | Size (bytes) +|---------------|--------------------------------------------------------------------------------------|-------------- +| integer | binary | 4 +| short integer | binary | 2 +| long integer | binary | 8 +| time | binary (timestamp) | 8 +| boolean | binary (0 is false, everything else is true) | 1 +| string | nul-terminated UTF-8 string | variable +| real | nul-terminated UTF-8 string (either in fixed (2013) or scientific (2.013e+3) format) | variable + +## Packet format + +The packet format of Centreon Broker introduces only 16 bytes of header +to transmit each monitoring event (usually about 100-200 bytes each). +Fields are provided in the big endian format. + +| Field | Type | Description +|----------------|------------------------|------------------------------------------------------- +| checksum | unsigned short integer | CRC-16-CCITT X.25 of size, id, source and destination. The checksum can be used to recover from an incomplete data packet sent in the stream by dropping bytes one by one. +| size | unsigned short integer | Size of the packet, excluding header. +| id | unsigned integer | ID of the event. +| source_id | unsigned integer | The id of the source instance of this event. +| destination_id | unsigned integer | The id of the destination instance for this event. +| data | | Payload data. + +Here, the only difference between BBDO 3 and the previous versions is the data +content. In BBDO 3, this part is a serialized Protobuf object, whereas in +previous versions it is data serialized as explained in the Types section. + +### Packet ID + +As seen in the previous paragraph, every packet holds an ID that expresses +by itself how data is encoded. This ID can be split into two 16-bit +components. The 16 most significant bits are the event category and the +16 least significant bits the event type. + +The event categories serialize event properties one after the other, so +order is very important to not lose track when unserializing events. + +## Event categories + +The current available categories are described in the table below. + +| Category | API macro | Value | Description +|-------------|-----------------------|-------|-------------------------------------------------- +| NEB | BBDO_NEB_TYPE | 1 | Classical monitoring events (hosts, services, notifications, event handlers, plugin execution, ...). +| BBDO | BBDO_BBDO_TYPE | 2 | Category internal to the BBDO protocol. +| Storage | BBDO_STORAGE_TYPE | 3 | Category related to RRD graph building. +| Correlation | BBDO_CORRELATION_TYPE | 4 | Status correlation (deprecated). +| Dumper | BBDO_DUMPER_TYPE | 5 | Dumper events (only used for tests). +| Bam | BBDO_BAM_TYPE | 6 | Bam events. +| Extcmd | BBDO_EXTCMD_TYPE | 7 | Centreon Broker external commands (deprecated). +| Internal | BBDO_INTERNAL_TYPE | 65535 | Reserved for internal protocol use. + +### NEB + +The table below lists event types available in the NEB category. They +must be mixed with the BBDO_NEB_TYPE category to get a BBDO event ID. + + +| Type | Value | Uses Protobuf | +|---------------------------------|-------|---------------| +| Acknowledgement | 1 | No | +| Comment | 2 | No | +| Custom variable | 3 | No | +| Custom variable status | 4 | No | +| Downtime | 5 | No | +| Event handler | 6 | No | +| Host check | 8 | No | +| Host dependency | 9 | No | +| Host group | 10 | No | +| Host group member | 11 | No | +| Host | 12 | No | +| Host parent | 13 | No | +| Host status | 14 | No | +| Instance | 15 | No | +| Instance status | 16 | No | +| Log entry | 17 | No | +| Module | 18 | No | +| Service check | 19 | No | +| Service dependency | 20 | No | +| Service group | 21 | No | +| Service group member | 22 | No | +| Service | 23 | No | +| Service status | 24 | No | +| Instance Configuration | 25 | No | +| Responsive Instance | 26 | No | +| Pb Service | 27 | Yes | +| Pb Adaptive Service | 28 | Yes | +| Pb Service Status | 29 | Yes | +| Pb Host | 30 | Yes | +| Pb Adaptive Host | 31 | Yes | +| Pb Host Status | 32 | Yes | +| Pb Severity | 33 | Yes | +| Pb Tag | 34 | Yes | +| Pb Comment | 35 | Yes | +| Pb Downtime | 36 | Yes | +| Pb Custom variable | 37 | Yes | +| Pb Custom variable status | 38 | Yes | +| Pb Host check | 39 | Yes | +| Pb Service check | 40 | Yes | +| Pb Log entry | 41 | Yes | +| Pb Instance Status | 42 | Yes | +| Pb Instance | 44 | Yes | +| Pb Acknowledgement | 45 | Yes | +| Pb Responsive Instance | 46 | Yes | + +### Storage + +The table below lists event types available in the Storage category. +They must be mixed with the BBDO\_STORAGE\_TYPE category to get a BBDO +event ID. + +| Type | Value | Uses Protobuf | +|---------------------------------|-------|---------------| +| Metric | 1 | No | +| Rebuild | 2 | No | +| Remove\_graph | 3 | No | +| Status | 4 | No | +| Index mapping | 5 | No | +| Metric mapping | 6 | No | +| Pb Rebuild Message | 7 | Yes | +| Pb Remove Graph Message | 8 | Yes | +| Pb Metric | 9 | Yes | +| Pb Status | 10 | Yes | +| Pb Index mapping | 11 | Yes | +| Pb Metric mapping | 12 | Yes | + +### BBDO + +The table below lists event types available in the BBDO category. +They must be mixed with the BBDO\_BBDO\_TYPE category to get a BBDO +event ID. + + +| Type | Value| Uses Protobuf | +|-------------------|------|---------------| +| version response | 1 | No | +| ack | 2 | No | +| stop | 3 | No | +| Pb ack | 8 | Yes | +| Pb stop | 9 | Yes | + +### BAM + +The table below lists event types available in the BAM category. +They must be mixed with the BBDO\_BAM\_TYPE category to get a +BBDO event ID. + +| Type | Value | Uses Protobuf | +|------------------------------------ | ----- | ------------- | +| BA status | 1 | No | +| KPI status | 2 | No | +| Meta Service Status | 3 | No | +| BA event | 4 | No | +| KPI event | 5 | No | +| BA Duration Event | 6 | No | +| Dimension BA Event | 7 | No | +| Dimension KPI Event | 8 | No | +| Dimension BA BV Relation Event | 9 | No | +| Dimension BV Event | 10 | No | +| Dimension Truncate Table Signal | 11 | No | +| Rebuild | 12 | No | +| Dimension Timeperiod | 13 | No | +| Dimension BA Timeperiod Relation | 14 | No | +| Inherited Downtime | 17 | No | +| Pb Inherited Downtime | 18 | Yes | +| Pb BA status | 19 | Yes | +| Pb BA event | 20 | Yes | +| Pb KPI event | 21 | Yes | +| Pb Dimension BV Event | 22 | Yes | +| Pb Dimension BA BV Relation Event | 23 | Yes | +| Pb Dimension Timeperiod | 24 | Yes | +| Pb Dimension BA Event | 25 | Yes | +| Pb Dimension KPI Event | 26 | Yes | +| Pb KPI status | 27 | Yes | +| Pb BA Duration Event | 28 | Yes | +| Pb Dimension BA Timeperiod Relation | 29 | Yes | +| Pb Dimension Truncate Table Signal | 30 | Yes | + +## Event serialization + +Most events listed in each [event category](#event-categories) have a mapping used to serialize their content. In fact, +their content is directly serialized in the [packet payload data](#packet-format), one field after the other in the +order described in the [mapping tables](developer-broker-mapping.md). They are encoded according to the rules described in the +[types paragraph](#types). + +## Example + +Let's take an example and see how a *host check event* is sent in a +packet. Its mapping is as follows: + +| Property | Type | Value in example +|-------------------------|------------------|--------------------------- +| active\_checks\_enabled | boolean | True. +| check\_type | short integer | 0 (active host check). +| host\_id | unsigned integer | 42 +| next\_check | time | 1365080225 +| command\_line | string | ./my\_plugin -H 127.0.0.1 + +And gives the following packet with values in hexadecimal. + +``` ++-----------------+-----------------+-----------------------------------+ +| CRC16 | SIZE | ID | ++========+========+========+========+========+========+========+========+ +| 0A | 23 | 00 | 28 | 00 | 01 | 00 | 09 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + ++--------+-----------------+-----------------------------------+-------- +| active_| | | +| checks_| check_type | host_id | => +| enabled| | | ++========+========+========+========+==========================+========+ +| 01 | 00 | 00 | 00 | 00 | 00 | 2A | 00 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +--------------------------+-------------------------------------------- + => next_check | => ++========+========+========+========+========+========+========+========+ +| 00 | 00 | 00 | 51 | 5D | 78 | A1 | 2E | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +----------------------------------------------------------------------- + => command_line => ++========+========+========+========+========+========+========+========+ +| 2F | 6D | 79 | 5F | 70 | 6C | 75 | 67 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +----------------------------------------------------------------------- + => command_line => ++========+========+========+========+========+========+========+========+ +| 69 | 6E | 20 | 2D | 48 | 20 | 31 | 32 | ++--------+--------+--------+--------+--------+--------+--------+--------+ + +-----------------------------------------------------------------------+ + => command_line | ++========+========+========+========+========+========+========+========+ +| 37 | 2E | 30 | 2E | 30 | 2E | 31 | 00 | ++--------+--------+--------+--------+--------+--------+--------+--------+ +``` + +## Connection establishment + +BBDO is a protocol that can negotiate features. When establishing a +connection, a *version_response* packet is sent by the client. It +provides its supported BBDO protocol version and extensions. The server +replies to this message with another *version_response* packet +containing its own supported protocol version and extensions. If +protocol versions match, then the extension negotiation begins. + +Currently, two extensions are supported: **TLS** and **COMPRESSION**. Right +after the **version_response** packet, each peer searches in the other +peer's extension list for the extensions it supports. When one is found, it +is enabled (i.e., it immediately starts). + +### Example + +Let us call the client **C** and the server *S*. The following steps are +performed sequentially. + + - **C** initiates a TCP connection with **S** and the connection is established + - **C** sends a *version_response* packet with the following attributes + - protocol major: 1 + - protocol minor: 0 + - protocol patch: 0 + - extensions: "TLS COMPRESSION" + - **S** sends its own **version_response** packet in reply to **C**'s + - protocol major: 1 + - protocol minor: 0 + - protocol patch: 0 + - extensions: "TLS COMPRESSION" + - **C** and **S** determine which extensions they have in common (here TLS + and COMPRESSION) + - if order is important, extensions are applied in the order provided + by the server + - TLS connection is initiated, handshake performed, etc. + - compression connection is opened + - now data transmitted between **C** and **S** is both encrypted and + compressed! + +## Acknowledgement + +So called 'clever' clients/servers can acknowledge packets sent to them. +This is used by Centreon Broker to ensure every packet is accounted +for, and to start a retention procedure in case the other side is unresponsive. + +To do so, the other side must periodically send a BBDO 'ack' packet back +on the same TCP channel. This packet has the number of packets acknowledged +by the client. + +'Clever'/'Dumb' modes are configured on each TCP output, on a per Broker +basis. + +## Switching versions of BBDO + +BBDO must have the same version for all servers in your architecture (central server, remote servers, pollers). + +> If you use BBDO v2 with this version of Centreon, you will not be able to use the **Resources Status** page. + +If you want to switch versions of BBDO (either switch from v3 to v2 or from v2 to v3), follow this procedure: + +1. On the central server, go to **Configuration > Pollers > Broker configuration**. +2. Select the server you want, and on the **General** tab, in **Advanced options**, select the version of BBDO you want from the **BBDO version** list. Then click **Save**. +3. Do the same with all the elements listed on the **Configuration > Pollers > Broker configuration page +4. Restart gorgoned on each server: + + ```shell + systemctl restart gorgoned + ``` + +5. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for all servers. +6. Stop the following services: + - On the central server and on remote servers: + + ```shell + systemctl stop cbd centengine + ``` + + - On the pollers: + + ```shell + systemctl stop centengine + ``` + +7. Start the following services: + - On the central server and on remote servers: + + ```shell + systemctl start cbd centengine + ``` + + - On the pollers: + + ```shell + systemctl start centengine + ``` + +You can check in the logs which version of BBDO is active for a server: + +- central broker: + + ```shell + tail /var/log/centreon-broker/central-{broker,rrd,module}-master.log + +- remote broker: + + ```shell + tail /var/log/centreon-broker/-{broker,rrd,module}-master.log + ``` + +- poller module: + + ```shell + tail /var/log/centreon-broker/-module.log + ``` + +The following line states which version is used for each server: + +```shell +[2022-05-17T14:53:44.828+00:00] [bbdo] [info] BBDO: peer is using protocol version 2.0.0, we're using version 2.0.0 +``` diff --git a/versioned_docs/version-25.10/developer/developer-broker-mapping.md b/versioned_docs/version-25.10/developer/developer-broker-mapping.md new file mode 100644 index 000000000000..26445dd815ec --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-broker-mapping.md @@ -0,0 +1,3493 @@ +--- +id: developer-broker-mapping +title: Centreon Broker Event Mapping +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon Broker uses global mapping tables for events that can be +exchanged. This page lists properties available for each event type. + +## NEB + +### Acknowledgement + +The acknowledgement of an incident means that the problem has been taken into +account by a user of the monitoring service. When the user acknowledges the problem, +Centreon Engine emits an **acknowledgement** event. This event is different in BBDO v2 and BBDO v3. + + + + +#### NEB::Acknowledgement + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 1 | 65537 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------------------------------------- | ---------------- | ------------------------------------------------------------------------ | +| acknowledgement\_type | short integer | 0 for a host acknowledgement, 1 for a service acknowledgement. | +| author | string | Acknowledgement author. | +| comment | string | Comment associated with the acknowledgement. | +| deletion\_time | time | Time at which the acknowledgement was deleted. If 0, it was not deleted. | +| entry\_time | time | Time at which the acknowledgement was created. | +| host\_id | unsigned integer | Host ID. | +| instance\_id | unsigned integer | Instance ID. | +| is\_sticky | boolean | Sticky flag. | +| notify\_contacts | boolean | Notification flag. | +| persistent\_comment | boolean | True if the comment is persistent. | +| service\_id | unsigned integer | Service ID. 0 for a host acknowledgement. | +| state | short integer | Host / service state. | +| notify\_only\_if\_not\_already\_acknowledged | boolean | A notification should be sent only if not already acknowledged. | + + + + +#### NEB::PbAcknowledgement + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 45 | 65581 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Acknowledgement** events should be sent. Instead, you should see **NEB::PbAcknowledgement** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message Acknowledgement { + uint64 host_id = 1; // Host ID. + uint64 service_id = 2; // Service ID or 0 for a host acknowledgement. + uint64 instance_id = 3; // Instance ID. + enum ResourceType { + HOST = 0; + SERVICE = 1; + } + ResourceType type = 4; // Type of the resource. + string author = 5; // Acknowledgement author. + string comment_data = 6; // Comment associated with the acknowledgement. + bool sticky = 7; // Sticky flag. + bool notify_contacts = 8; // Notification flag. + uint64 entry_time = 9; // Time at which the acknowledgement was created. + uint64 deletion_time = 10; // Time at which the acknowledgement was deleted. + bool persistent_comment = 11; // True if the comment is persistent. + int32 state = 12; // The host / service state. +} +``` + + + + +### Comment + +In several situations, the user must enter a comment in the Centreon +interface. When they validate it, Centreon Engine emits a **comment** event. This event is different in BBDO v2 and BBDO v3. + + + + +#### NEB::Comment + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 2 | 65538 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------------------- | +| author | string | Comment author. | +| comment\_type | short integer | 1 for a host comment, 2 for a service comment. | +| data | string | Comment data (text). | +| deletion\_time | time | Time at which the comment was deleted. 0 if the comment was not deleted (yet). | +| entry\_time | time | Time at which the comment was created. | +| entry\_type | short integer | 1 for a user comment (through external command), 2 for a downtime comment, 3 for a flapping comment and 4 for an acknowledgement comment. | +| expire\_time | time | Comment expiration time. 0 if no expiration time. | +| expires | bool | True if the comment expires. | +| host\_id | unsigned integer | Host ID. | +| internal\_id | unsigned integer | Internal monitoring engine ID of the comment. | +| persistent | boolean | True if the comment is persistent. | +| instance\_id | unsigned integer | Instance ID. | +| service\_id | unsigned integer | Service ID. 0 if this is a host comment. | +| source | short integer | 0 when the comment originates from the monitoring engine (internal) or 1 when the comment comes from another source (external). | + + + + +#### NEB::PbComment + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 35 | 65571 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Comment** events should be sent. Instead, you +should see **NEB::PbComment** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +message Comment { + BBDOHeader header = 1; // Not currently used. + + enum Src { + INTERNAL = 0; // The comment originates from the monitoring engine. + EXTERNAL = 1; // The comment comes from another source. + } + + enum Type { + NO_TYPE = 0; + HOST = 1; + SERVICE = 2; + } + + enum EntryType { + NO_ENTRY_TYPE = 0; + USER = 1; + DOWNTIME = 2; + FLAPPING = 3; + ACKNOWLEDGMENT = 4; + } + + string author = 2; // Comment author. + Type type = 3; // The comment type following the Type enum. + string data = 4; // The content of the comment. + uint64 deletion_time = 5; // Time a which the comment was deleted or 0 if the comment was not deleted (yet). + uint64 entry_time = 6; // Time at which the comment was created. + EntryType entry_type = 7; // Entry type following the EntryType enum. + uint64 expire_time = 8; // Comment expiration time or 0 if no expiration time. + bool expires = 9; // True if the comment expired. + uint64 host_id = 10; // Host ID. + uint64 internal_id = 11; // Internal monitoring engine ID of the comment. + bool persistent = 12; // True if the comment is persistent. + uint64 instance_id = 13; // Instance ID. + uint64 service_id = 14; // Service ID or 0 for a host comment. + Src source = 15; // Source of the comment following the Src enum. +} +``` + + + + +### Custom variable + +A **custom variable** is essentially a variable with a **name** and a **value**. It +often comes from Centreon Engine macros. For Centreon to work correctly, these +custom variables must be sent to Centreon Broker. Each one is sent thanks to +a **custom variable** event. This event is different in BBDO v2 and BBDO v3. + + + + +#### NEB::CustomVariable + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 3 | 65539 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------- | ---------------- | -------------------------------------------------------------- | +| enabled | boolean | True if the custom variable is enabled. | +| host\_id | unsigned integer | Host ID. | +| modified | boolean | True if the variable was modified. | +| name | string | Variable name. | +| service\_id | unsigned integer | Service ID or 0 if this is a host custom variable. | +| update\_time | time | Last time at which the variable was updated. | +| var\_type | short integer | 0 for a host custom variable, 1 for a service custom variable. | +| value | string | Variable value. | +| default\_value | string | The default value of the custom var. | + + + + +#### NEB::PbCustomVariable + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 37 | 65573 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::CustomVariable** events should be sent. Instead, you +should see **NEB::PbCustomVariable** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +message CustomVariable { + enum VarType { + HOST = 0; + SERVICE = 1; + } + + BBDOHeader header = 1; // Not used + uint64 host_id = 2; // Host ID. + uint64 service_id = 3; // Service ID or 0 for a host custom variable. + bool modified = 4; // True if the variable was modified. + string name = 5; // Variable name. + uint64 update_time = 6; // Last time at which the variable was updated. + string value = 7; // Variable value. + string default_value = 8; // The default value of the custom variable. + bool enabled = 9; // True if the custom variable is enabled. + bool password = 10; // True if the value must be hidden. + VarType type = 11; // One of the values of the VarType enum. +} +``` + + + + +### Custom variable status + +**Custom variable status** events are generated when a custom variable needs +to be updated. + + + + +#### NEB::CustomVariableStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 4 | 65540 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------ | ---------------- | ------------------------------------------------ | +| host\_id | unsigned integer | Host ID. | +| modified | boolean | True if the variable was modified. | +| name | string | Variable name. | +| service\_id | unsigned integer | Service ID. 0 if this is a host custom variable. | +| update\_time | time | Last time at which the variable was updated. | +| value | string | Variable value. | + + + + +#### NEB::PbCustomVariableStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 38 | 65574 | + +The Protobuf message for a **PbCustomVariableStatus** is the same as for a **PbCustomVariable**, +except that some of the fields may not be filled in. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +message CustomVariable { + enum VarType { + HOST = 0; + SERVICE = 1; + } + + BBDOHeader header = 1; // Not used + uint64 host_id = 2; // Host ID. + uint64 service_id = 3; // Service ID or 0 for a host custom variable. + bool modified = 4; // True if the variable was modified. + string name = 5; // Variable name. + uint64 update_time = 6; // Last time at which the variable was updated. + string value = 7; // Variable value. + string default_value = 8; // The default value of the custom variable. + bool enabled = 9; // True if the custom variable is enabled. + bool password = 10; // True if the value must be hidden. + VarType type = 11; // One of the values of the VarType enum. +} +``` + + + + +### Downtime + +This event is emitted by Centreon Engine when a downtime is set on a resource. + + + + +#### NEB::Downtime + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 5 | 65541 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------------- | ---------------- | ---------------------------------------------------------- | +| actual\_end\_time | time | Actual time at which the downtime ended. | +| actual\_start\_time | time | Actual time at which the downtime started. | +| author | string | Downtime creator. | +| downtime\_type | short integer | 1 for service downtime, 2 for host downtime. | +| deletion\_time | time | Time at which the downtime was deleted. | +| duration | time | Downtime duration. | +| end\_time | time | Scheduled downtime end time. | +| entry\_time | time | Time at which the downtime was created. | +| fixed | boolean | True if the downtime is fixed, false if it is flexible. | +| host\_id | unsigned integer | Host ID. | +| instance\_id | unsigned integer | Instance ID. | +| internal\_id | unsigned integer | Internal monitoring engine ID. | +| service\_id | unsigned integer | Service ID. 0 if this is host downtime. | +| start\_time | time | Scheduled downtime start time. | +| triggered\_by | unsigned integer | Internal ID of the downtime that triggered this downtime. | +| was\_cancelled | boolean | True if the downtime was canceled. | +| was\_started | boolean | True if the downtime has been started. | +| comment | string | Downtime comment. | +| is\_recurring | boolean | True if this downtime is recurring. | +| recurring\_tp | string | The recurring time period of the recurring downtime. | +| come\_from | short | Id of the parent recurring downtime for spawned downtimes. | + + + + +#### NEB::PbDowntime + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 36 | 65572 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Downtime** events should be sent. Instead, you +should see **NEB::PbDowntime** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message Downtime { + enum DowntimeType { + NOT_USED = 0; + SERVICE = 1; // The downtime is set on a service. + HOST = 2; // The downtime is set on a host. + ANY = 3; // This is kept for retro compatibility (not used). + }; + uint64 id = 1; // Internal monitoring engine ID. + uint64 instance_id = 2; // Instance ID. + uint64 host_id = 3; // Host ID. + uint64 service_id = 4; // Service ID or 0 if this is host downtime. + string author = 5; // Downtime author. + string comment_data = 6; // Downtime comment. + DowntimeType type = 7; // One value from the previous enum. + uint32 duration = 8; // Downtime duration. + uint64 triggered_by = 9; // Internal ID of the downtime that triggered this downtime. + int64 entry_time = 10; // Time at which the downtime was created. + uint64 actual_start_time = 11; // Actual time at which the downtime started. + uint64 actual_end_time = 12; // Actual time at which the downtime ended. + uint64 start_time = 13; // Scheduled downtime start time. + uint64 deletion_time = 14; // Time at which the downtime was deleted. + uint64 end_time = 15; // Scheduled downtime end time. + bool started = 16; // True if the downtime has been started. + bool cancelled = 17; // True if the downtime was canceled. + bool fixed = 18; // True if the downtime is fixed, false if it is flexible. +} +``` + + + + +### Event handler + +**Event handlers** are optional system commands (scripts or executables) that are +run whenever a resource state change occurs. When such a command is configured, +an **event handler** event is emitted by Centreon Engine. These BBDO events are +usually sent when Centreon Engine is restarted or reloaded. + + + + +#### NEB::EventHandler + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 6 | 65542 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------- | ---------------- | ------------------------------------------------------------------------------------------------------------------------------------------------ | +| early\_timeout | boolean | True if the event handler timed out. | +| end\_time | time | Time at which the event handler execution ended. | +| execution\_time | real | Execution time in seconds. | +| handler\_type | short integer | 0 for host-specific event handler, 1 for service-specific event handler, 2 for global host event handler and 3 for global service event handler. | +| host\_id | unsigned integer | Host ID. | +| return\_code | short integer | Value returned by the event handler. | +| service\_id | unsigned integer | Service ID. 0 if this is a host event handler. | +| start\_time | time | Time at which the event handler started. | +| state | short integer | Host / service state. | +| state\_type | short integer | 0 for SOFT, 1 for HARD. | +| timeout | short integer | Event handler timeout in seconds. | +| command\_args | string | Event handler arguments. | +| command\_line | string | Event handler command line. | +| output | string | Output returned by the event handler. | +| source\_id | unsigned integer | The id of the source instance of this event. | +| destination\_id | unsigned integer | The id of the destination instance of this event. | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Flapping status + +When the status of a resource is unstable, Centreon Engine tags it as **flapping**. In the past, a **flapping status** event was emitted in such cases. This no longer occurs. The **flapping status** event **does not exist anymore**. + +### Tag + +The **tag** is a new configuration event currently used for categories and groups. + +At the moment, it is used in parallel with **group** events and other things, but +in the near future it should be more global. + + + + +There are no **tag** events in BBDO v2. + + + + + +#### NEB::PbTag + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 34 | 65570 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Tag** events should be sent. Instead, you +should see **NEB::PbTag** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum TagType { + SERVICEGROUP = 0; // Tag representing a service group + HOSTGROUP = 1; // Tag representing a host group + SERVICECATEGORY = 2; // Tag representing a service category + HOSTCATEGORY = 3; // Tag representing a host category +} + +message Tag { + uint64 id = 1; // Tag ID (unicity obtained by coupling it with the type) + enum Action { + ADD = 0; // With this action, the event adds a new tag. + DELETE = 1; // With this action, the event removes a tag. + MODIFY = 2; // With this action, the event modifies a tag. + } + + Action action = 2; // The current action for this event. + TagType type = 3; // The type of this tag. + string name = 4; // Name of this tag. + int64 poller_id = 5; // Poller ID. +} +``` + + + + +### Host + +This event is emitted every time a change is made to the configuration of a host and the configuration is deployed. + + + + +#### NEB::Host + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 12 | 65548 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------------------------- | ---------------- | ----------------------------------------------------------------------------- | +| acknowledged | boolean | true if the problem has been acknowledged | +| acknowledgement\_type | short integer | 0 none, 1 normal, 2 sticky | +| action\_url | string | url to obtain information about host | +| active\_checks\_enabled | boolean | active check | +| address | string | IP of the host | +| alias | string | alias | +| check\_freshness | boolean | passive freshness check activated | +| check\_interval | real | interval in units (usually 60s) between 2 checks | +| check\_period | string | time period when checks are authorized | +| check\_type | short integer | 0 active, 1 passive | +| current\_check\_attempt | short integer | number of failed checks | +| current\_state | short integer | 0 up, 1 down, 2 unreachable | +| default\_active\_checks\_enabled | boolean | same as active\_checks\_enabled | +| default\_event\_handler\_enabled | boolean | same as event\_handler\_enabled | +| default\_flap\_detection\_enabled | boolean | same as flap\_detection\_enabled | +| default\_notifications\_enabled | boolean | same as notifications\_enabled | +| default\_passive\_checks\_enabled | boolean | same as passive\_checks\_enabled | +| downtime\_depth | short integer | number of active downtimes | +| display\_name | string | name displayed in UI | +| enabled | boolean | enabled | +| event\_handler | string | command executed when state changes | +| event\_handler\_enabled | boolean | event\_handler enabled | +| execution\_time | real | duration of last check | +| first\_notification\_delay | real | delay before notify in units (usually 60s) | +| flap\_detection\_enabled | boolean | flap detection enabled | +| flap\_detection\_on\_down | boolean | down state is taken into account for flap detection | +| flap\_detection\_on\_unreachable | boolean | unreachable state is taken into account for flap detection | +| flap\_detection\_on\_up | boolean | up state is taken into account for flap detection | +| freshness\_threshold | real | delay after check result is stale | +| has\_been\_checked | boolean | check has been executed at least once | +| high\_flap\_threshold | real | if percent state change is higher than this, host is considered flapping | +| host\_id | unsigned integer | id of the host | +| host\_name | string | name of the host | +| icon\_image | string | icon displayed in the UI for the host | +| icon\_image\_alt | string | alternate string for icon\_image | +| instance\_id | unsigned integer | id of the poller that checks host | +| is\_flapping | boolean | host is flapping | +| last\_check | time | time of last check | +| last\_hard\_state | short integer | last hard state | +| last\_hard\_state\_change | time | time of last hard state change | +| last\_notification | time | time of last notification sent | +| last\_state\_change | time | time of last state change | +| last\_time\_down | time | time of the last failed check | +| last\_time\_unreachable | time | time of the last failed check with all parent hosts down | +| last\_time\_up | time | time of the last successful check | +| last\_update | time | time of message create | +| latency | real | delay between scheduled check time and real check time | +| low\_flap\_threshold | real | if percent state change is lower than this, host is not considered flapping | +| max\_check\_attempts | short integer | number of failed check after which host state become a hard fail state | +| next\_check | time | next scheduled check time | +| next\_notification | time | next renotification time | +| no\_more\_notifications | boolean | no other notification will be sent | +| notes | string | tooltip in resources status page | +| notes\_url | string | clickable url in resources status page | +| notification\_interval | real | interval between two notifications | +| notification\_number | short integer | number of notifications sent since the start of the problem | +| notification\_period | string | time period during which notifications are allowed | +| notifications\_enabled | boolean | notifications allowed | +| notify\_on\_down | boolean | users are notified if the host becomes down | +| notify\_on\_downtime | boolean | users are notified if the host enters in downtime | +| notify\_on\_flapping | boolean | users are notified if the host is flapping | +| notify\_on\_recovery | boolean | users are notified if the host becomes up | +| notify\_on\_unreachable | boolean | users are notified if the host becomes down and parents are down | +| obsess\_over | boolean | true if ocsp command is executed after check or notification command | +| passive\_checks\_enabled | boolean | passive check | +| percent\_state\_change | real | used by flapping and compared with high and low flap thresholds | +| retry\_interval | real | interval between two checks when host isn't in up state and state type is soft | +| should\_be\_scheduled | boolean | no next check should be scheduled | +| stalk\_on\_down | boolean | logs check output event changes if state is down | +| stalk\_on\_unreachable | boolean | logs check output event if state is unreachable | +| stalk\_on\_up | boolean | logs check output event if state is up | +| statusmap\_image | string | image displayed in map | +| state\_type | short integer | state soft 0 or hard 1 | +| check\_command | string | command executed | +| output | string | output of the command | +| perf\_data | string | perfdata extracted from the command's output | +| retain\_nonstatus\_information | boolean | unused | +| retain\_status\_information | boolean | unused | +| timezone | string | time zone of the host | + + + + +#### NEB::PbHost + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 30 | 65566 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Host** events should be sent. Instead, you +should see **NEB::PbHost** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message TagInfo { + uint64 id = 1; + TagType type = 2; +} + +message Host { + uint64 host_id = 1; // Host ID. + + bool acknowledged = 2; // True if the problem has been acknowledged. + AckType acknowledgement_type = 3; // Acknowledgement type. + + bool active_checks = 4; // True if active checks are enabled. + bool enabled = 5; // True if this host is enabled. + int32 scheduled_downtime_depth = 6; // Number of active downtimes. + string check_command = 7; // Check command. + int32 check_interval = 8; // Interval in units (usually 60 s) between 2 checks. + string check_period = 9; // Time period when checks are authorized + + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 10; // Type of the last check. + int32 check_attempt = 11; // Number of failed checks. + enum State { + UP = 0; + DOWN = 1; + UNREACHABLE = 2; + } + State state = 12; // Current state. + bool event_handler_enabled = 13; // True if an event handler is configured on this host. + string event_handler = 14; // Command executed when state changes. + double execution_time = 15; // Duration of the last check. + bool flap_detection = 16; // True if flap detection is enabled. + bool checked = 17; // check has been executed at least once. + bool flapping = 18; // True if the host is flapping. + int64 last_check = 19; // Timestamp of the last check. + State last_hard_state = 20; // Last hard state. + int64 last_hard_state_change = 21; // Timestamp of the last hard state change. + int64 last_notification = 22; // Timestamp of the last notification. + int32 notification_number = 23; // Current notification number or 0 if not. + int64 last_state_change = 24; // Timestamp of the last state change. + int64 last_time_down = 25; // Timestamp of the last failed check. + int64 last_time_unreachable = 26; // Timestamp of the last failed check with all parent hosts down. + int64 last_time_up = 27; // Timestamp of the last successful check. + int64 last_update = 28; // Timestamp of the last message creation. + double latency = 29; // Delay between scheduled check time and real check time. + int32 max_check_attempts = 30; // Number of failed checks after which host state becomes a hard fail state. + int64 next_check = 31; // Next scheduled check timestamp. + int64 next_host_notification = 32; // Next renotification timestamp. + bool no_more_notifications = 33; // If true, no other notification will be sent. + bool notify = 34; // Notifications allowed + string output = 35; // Output of the check command. + bool passive_checks = 36; // Passive checks are enabled. + double percent_state_change = 37; // Used by flapping and compared with high and low flap thresholds. + string perfdata = 38; // perfdata extracted from the command's output. + double retry_interval = 39; // interval between two checks when host isn't in up state and state type is soft. + bool should_be_scheduled = 40; // True if next check should be scheduled + bool obsess_over_host = 41; // True if OCSP command is executed after check or notification command. + + enum StateType { + SOFT = 0; // State still not confirmed. + HARD = 1; // State confirmed. + } + + StateType state_type = 42; // The state type. + string action_url = 43; // Optional url available in the WUI linked to this host. + string address = 44; // An address + string alias = 45; // An alias for this host. + bool check_freshness = 46; // Passive freshness check activated + bool default_active_checks = 47; // Same as active_checks but the default value. + bool default_event_handler_enabled = 48;// Same as event_handler but the default value. + bool default_flap_detection = 49; // Same as flap_detection but the default value. + bool default_notify = 50; // Same as notify but the default value. + bool default_passive_checks = 51; // Same as passive checks but the default value. + string display_name = 52; // Name displayed in the WUI + double first_notification_delay = 53; // Delay before notify in units (usually 60s). + bool flap_detection_on_down = 54; // Down state is taken into account for flap detection. + bool flap_detection_on_unreachable = 55;// Unreachable state is taken into account for flap detection. + bool flap_detection_on_up = 56; // Up state is taken into account for flap detection. + double freshness_threshold = 57; // Delay after check result is stale. + double high_flap_threshold = 58; // If percent state change is higher than this, host is considered flapping. + string name = 59; // Host name. + string icon_image = 60; // Icon displayed in the WUI for the host. + string icon_image_alt = 61; // Alternative string for icon_image. + int32 instance_id = 62; // Instance ID. + double low_flap_threshold = 63; // If percent state change is lower than this, host is not considered flapping. + string notes = 64; // Tooltip in resources status page. + string notes_url = 65; // clickable url in resources status page. + double notification_interval = 66; // Interval between two notifications. + string notification_period = 67; // Time period during which notifications are allowed. + bool notify_on_down = 68; // Users are notified if the host becomes down. + bool notify_on_downtime = 69; // Users are notified if the host enters downtime. + bool notify_on_flapping = 70; // Users are notified if the host is flapping. + bool notify_on_recovery = 71; // Users are notified if the host becomes up. + bool notify_on_unreachable = 72; // Users are notified if the host becomes unreachable. + bool stalk_on_down = 73; // Logs check output changes if state is down. + bool stalk_on_unreachable = 74; // Logs check output changes if state is unreachable. + bool stalk_on_up = 75; // Logs check output changes if state is up. + string statusmap_image = 76; // Image displayed in map. + bool retain_nonstatus_information = 77; // Unused + bool retain_status_information = 78; // Unused + string timezone = 79; // Time zone of the host. + uint64 severity_id = 80; // Severity ID. + repeated TagInfo tags = 81; // Tags linked to this host. + uint64 icon_id = 82; // Icon ID. +} +``` + + + + +### Host check + +This type of event is emitted by Centreon Engine when a check is performed on a host. + + + + +#### NEB::HostCheck + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 8 | 65544 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------------------- | ---------------- | ------------------------------------------------- | +| active\_checks\_enabled | boolean | True if active checks are enabled on the host. | +| check\_type | short integer | | +| host\_id | unsigned integer | Host ID. | +| next\_check | time | Time at which the next check is scheduled. | +| command\_line | string | Check command line. | +| source\_id | unsigned integer | The id of the source instance this event. | +| destination\_id | unsigned integer | The id of the destination instance of this event. | + + + + +#### NEB::PbHostCheck + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 39 | 65575 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::HostCheck** events should be sent. Instead, you +should see **NEB::PbHostCheck** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +enum CheckType { + CheckActive = 0; + CheckPassive = 1; +} + +message Check { + BBDOHeader header = 1; + + bool active_checks_enabled = 2; // True if active checks are enabled on the host. + CheckType check_type = 3; // One of the values in CheckType. + string command_line = 4; // Check command line. + uint64 host_id = 5; // Host ID. + uint64 next_check = 6; // Timestamp at which the next check is scheduled. + uint64 service_id = 7; // Service ID or 0 for a host check. +} +``` + + + + +### Host dependency + +This event is emitted when a dependency between hosts is defined, and the configuration is deployed. + + + + +#### NEB::HostDependency + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 9 | 65545 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------------------------ | ---------------- | ----------------------------------------------------------------------- | +| dependency\_period | string | Time period when the dependency is available. | +| dependent\_host\_id | unsigned integer | Host ID of the resource this host is dependent on | +| enabled | boolean | True if the dependency is enabled. | +| execution\_failure\_options | string | Some values among "up", "down", "unreachable", "pending", "none", "all" | +| inherits\_parent | boolean | True if the dependency is inherited from a parent | +| host\_id | unsigned integer | Host ID. | +| notification\_failure\_options | string | Same values as for execution\_failure\_options | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Host group + +This event is emitted when a host group is created. + + + + +#### NEB::HostGroup + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 10 | 65546 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------- | ---------------- | ------------------------------------------------------------ | +| host\_group\_id | unsigned integer | id of the group | +| name | string | Group name. | +| enabled | boolean | True if the group is enabled, false if it is not (deletion). | +| poller\_id | unsigned integer | id of the poller | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Host group member + +This is a configuration event. It is sent just after a **hostgroup** event to +detail members of the group to configure. Even in BBDO v3, we still use the +BBDO v2 version of this event. + + + + +#### NEB::HostGroupMember + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 11 | 65547 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------- | ---------------- | ----------------------------------------------------------------- | +| enabled | boolean | True if the membership is enabled, false if it is not (deletion). | +| group | string | Group name. | +| instance\_id | unsigned integer | Instance ID. | +| host\_id | unsigned integer | Host ID. | +| source\_id | unsigned integer | The id of the source instance of this event. | +| destination\_id | unsigned integer | The id of the destination instance of this event. | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Host parent + +This is a configuration event sent when a host parent is defined. Even in BBDO v3, +we still use the BBDO v2 version of this event. + + + + +#### NEB::HostParent + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 13 | 65549 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------- | ---------------- | ------------------------------------------------------------ | +| enabled | boolean | True if parenting is enabled, false if it is not (deletion). | +| child\_id | unsigned integer | Child host ID. | +| parent\_id | unsigned integer | Parent host ID. | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Host status + +This is an event emitted by Centreon Engine when a host has real time modifications (status, output, metrics, etc.). + + + + +#### NEB::HostStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 14 | 65550 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------------------- | ---------------- | ----------------------------------------------------------------------------- | +| acknowledged | boolean | problem has been acknowledged | +| acknowledgement\_type | short integer | 0 none, 1 normal, 2 sticky | +| active\_checks\_enabled | boolean | True if active checks are enabled on the host. | +| check\_interval | real | interval in units (usually 60 s) between 2 checks | +| check\_period | string | time period when checks are authorized | +| check\_type | short integer | 0 active, 1 passive | +| current\_check\_attempt | short integer | number of failed checks | +| current\_state | short integer | 0 up, 1 down, 2 unreachable | +| downtime\_depth | short integer | number of active downtimes | +| enabled | boolean | enabled | +| event\_handler | string | command executed when state changes | +| event\_handler\_enabled | boolean | event\_handler enabled | +| execution\_time | real | duration of last check | +| flap\_detection\_enabled | boolean | flap detection enabled | +| has\_been\_checked | boolean | check has been executed at least once | +| host\_id | unsigned integer | id of the host | +| is\_flapping | boolean | host is flapping | +| last\_check | time | time of last check | +| last\_hard\_state | State | last hard state | +| last\_hard\_state\_change | time | time of last hard state change | +| last\_notification | time | time of last notification sent | +| last\_state\_change | time | time of last state change | +| last\_time\_down | time | time of the last failed check | +| last\_time\_unreachable | time | time of the last failed check with all parent hosts down | +| last\_time\_up | time | time of the last successful check | +| last\_update | time | time of message creation | +| latency | real | delay between scheduled check time and real check time | +| max\_check\_attempts | short integer | number of failed checks after which host state becomes a hard fail state | +| next\_check | time | Time at which the next check is scheduled. | +| next\_host\_notification | time | next renotification time | +| no\_more\_notifications | boolean | no other notification will be sent | +| notification\_number | short integer | number of notifications sent since the start of the problem | +| notifications\_enabled | boolean | notifications allowed | +| obsess\_over | boolean | true if ocsp command is executed after check or notification command | +| passive\_checks\_enabled | boolean | passive check | +| percent\_state\_change | real | used by flapping and compared with high and low flap thresholds | +| retry\_interval | real | interval between two checks when host isn't in up state and state type is soft | +| should\_be\_scheduled | boolean | next check should be scheduled | +| state\_type | StateType | SOFT HARD | +| check\_command | string | command executed | +| output | string | output of the command | +| perf\_data | string | perfdata extracted from the command's output | + + + + +#### NEB::PbHostStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 32 | 65538 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::HostStatus** events should be sent. Instead, you +should see **NEB::PbHostStatus** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message HostStatus { + uint64 host_id = 1; // Host ID. + + bool checked = 2; // True if the host is checked. + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 3; // Type of the last check (ACTIVE/PASSIVE). + + enum State { + UP = 0; + DOWN = 1; + UNREACHABLE = 2; + } + State state = 4; // Current state of the host. + enum StateType { + SOFT = 0; + HARD = 1; + } + StateType state_type = 5; // Confirmed or not state (HARD/SOFT). + int64 last_state_change = 6; // Timestamp of the last state change. + State last_hard_state = 7; // Last hard state. + int64 last_hard_state_change = 8; // Timestamp of the last hard state. + int64 last_time_up = 9; // Timestamp of the last up state. + int64 last_time_down = 10; // Timestamp of the last down state. + int64 last_time_unreachable = 11; // Timestamp of the last unreachable state. + + string output = 12; // Check output. + string long_output = 13; // Check long output. + string perfdata = 14; // Performance data. + + bool flapping = 15; // True if the host is flapping. + double percent_state_change = 16; // Used by flapping and compared with high and low flap thresholds + double latency = 17; // Delay between scheduled check time and real check time. + double execution_time = 18; // Duration of last check. + int64 last_check = 19; // Timestamp of the last check. + int64 next_check = 20; // Timestamp at which the next check is scheduled. + bool should_be_scheduled = 21; // True if the next check should be scheduled. + int32 check_attempt = 22; // Number of failed checks. + + int32 notification_number = 23; // Number of notifications sent since the start of the problem. + bool no_more_notifications = 24; // No other notification will be sent. + int64 last_notification = 25; // Timestamp of last notification sent. + int64 next_host_notification = 26; // Timestamp of next renotification. + + AckType acknowledgement_type = 27; // One value of the AckType enum. + int32 scheduled_downtime_depth = 28;// Number of active downtimes. +} +``` + + + + +### Instance + +This event is emitted by Centreon Engine when Engine starts to send its configuration or when Engine stops. + + + + +#### NEB::Instance + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 15 | 65551 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------- | ---------------- | ------------------------------------------------------- | +| engine | string | Name of the monitoring engine used on this instance. | +| id | unsigned integer | Instance ID. | +| name | string | Instance name. | +| is\_running | boolean | Whether or not this instance is running. | +| pid | unsigned integer | Monitoring engine PID. | +| program\_end | time | Time at which the instance shut down. | +| program\_start | time | Time at which the instance started. | +| version | string | Version of the monitoring engine used on this instance. | + + + + +#### NEB::PbInstance + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 44 | 65580 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Instance** events should be sent. Instead, you +should see **NEB::PbInstance** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +message Instance { + BBDOHeader header = 1; + + string engine = 2; // Name of the monitoring engine used on this instance. + bool running = 3; // Whether or not this instance is running. + string name = 4; // Instance name. + int64 pid = 5; // Monitoring engine PID. + uint64 instance_id = 6; // Instance ID. + int64 end_time = 7; // Timestamp at which the instance shuts down. + int64 start_time = 8; // Timestamp at which the instance starts. + string version = 9; // Version of the emitter of this message. +} +``` + + + + +### Instance status + +This event is emitted by Centreon Engine regularly as a watchdog. This event tells Broker that the poller +is still alive (with various other information). + + + + +#### NEB::InstanceStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 16 | 65552 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| --------------------------------- | ---------------- | ----------------------------------------------------------------- | ------- | +| active\_host\_checks\_enabled | boolean | Whether or not active host checks are globally enabled. | | +| active\_service\_checks\_enabled | boolean | Whether or not active service checks are globally enabled. | | +| check\_hosts\_freshness | boolean | Whether or not host freshness checking is globally enabled. | | +| check\_services\_freshness | boolean | Whether or not service freshness checking is globally enabled. | | +| event\_handler\_enabled | boolean | Whether or not event handlers are globally enabled. | | +| flap\_detection\_enabled | boolean | Whether or not flap detection is globally enabled. | | +| id | unsigned integer | Instance ID. | | +| last\_alive | time | Last time the instance was known alive. | | +| last\_command\_check | time | Last time a check command was executed. | | +| notifications\_enabled | boolean | Whether or not notifications are globally enabled. | | +| obsess\_over\_hosts | boolean | Whether or not the monitoring engine should obsess over hosts. | | +| obsess\_over\_services | boolean | Whether or not the monitoring engine should obsess over services. | | +| passive\_host\_checks\_enabled | boolean | Whether or not passive host checks are globally enabled. | | +| passive\_service\_checks\_enabled | boolean | Whether or not passive service checks are globally enabled. | | +| global\_host\_event\_handler | string | Global host event handler. | | +| global\_service\_event\_handler | string | Global service event handler. | | + + + + +#### NEB::PbInstanceStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 42 | 65578 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::InstanceStatus** events should be sent. Instead, you +should see **NEB::PbInstanceStatus** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +message InstanceStatus { + BBDOHeader header = 1; + + bool event_handlers = 2; // Whether or not event handlers are globally enabled. + bool flap_detection = 3; // Whether or not flap detection is globally enabled. + bool notifications = 4; // Whether or not notifications are globally enabled. + bool active_host_checks = 5; // Whether or not active host checks are globally enabled. + bool active_service_checks = 6; // Whether or not active service checks are globally enabled. + bool check_hosts_freshness = 7; // Whether or not hosts freshness checking is globally enabled. + bool check_services_freshness = 8; // Whether or not services freshness checking is globally enabled. + string global_host_event_handler = 9; // Global host event handler. + string global_service_event_handler = 10; // Global service event handler. + uint64 last_alive = 11; // Last time the instance was known alive. + int64 last_command_check = 12; // Last time a check command was executed. + bool obsess_over_hosts = 13; // Whether or not the monitoring engine should obsess over hosts. + bool obsess_over_services = 14; // Whether or not the monitoring engine should obsess over services. + bool passive_host_checks = 15; // Whether or not passive host checks are globally enabled. + bool passive_service_checks = 16; // Whether or not passive service checks are globally enabled. + uint64 instance_id = 17; // Instance ID. +} +``` + + + + +### Log entry + +Centreon Engine generates many logs. Some of them are sent to Centreon Broker +to be stored in the database. These logs are sent using **log entry** events. + + + + +#### NEB::LogEntry + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 17 | 65553 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------------- | ---------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| c\_time | time | Log time. | +| host\_id | unsigned integer | Host ID. 0 if log entry does not refer to a specific host or service. | +| host\_name | string | Host name. Can be empty if log entry does not refer to a specific host or service. | +| instance\_name | string | Instance name. | +| log\_type | short integer | 0 for SOFT, 1 for HARD. | +| msg\_type | short integer | 0 for SERVICE ALERT (sent on service state change), 1 for HOST ALERT (sent on host state change(, 2 for SERVICE NOTIFICATION (notification sent out for a service), 3 for HOST NOTIFICATION (notification sent out for a host), 4 for Warning (Centreon Engine warning), 5 for EXTERNAL COMMAND (external command received), 6 for CURRENT SERVICE STATE (current state of monitored service, usually sent at configuration reload), 7 for CURRENT HOST STATE (current state of monitored host, usually sent at configuration reload), 8 for INITIAL SERVICE STATE (initial state of service, after retention processing, sent at process start), 9 for INITIAL HOST STATE (initial state of monitored host, after retention processing, sent at process start), 10 for ACKNOWLEDGE\_SVC\_PROBLEM external command (special case of EXTERNAL COMMAND for service acknowledgement), 11 for ACKNOWLEDGE\_HOST\_PROBLEM external command (special case of EXTERNAL COMMAND for host acknowledgement). | +| notification\_cmd | string | Notification command. | +| notification\_contact | string | Notification contact. | +| retry | integer | Current check attempt. | +| service\_description | string | Service description. Empty if log entry does not refer to a specific service. | +| service\_id | unsigned integer | Service ID. 0 if log entry does not refer to a specific service. | +| status | short integer | Host / service status. | +| output | string | Output. | + + + + +#### NEB::PbLogEntry + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 41 | 65577 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::LogEntry** events should be sent. Instead, you +should see **NEB::PbLogEntry** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message LogEntry { + enum LogType { + SOFT = 0; + HARD = 1; + } + enum MsgType { + SERVICE_ALERT = 0; + HOST_ALERT = 1; + SERVICE_NOTIFICATION = 2; + HOST_NOTIFICATION = 3; + WARNING = 4; + OTHER = 5; + SERVICE_INITIAL_STATE = 8; + HOST_INITIAL_STATE = 9; + SERVICE_ACKNOWLEDGE_PROBLEM = 10; + HOST_ACKNOWLEDGE_PROBLEM = 11; + SERVICE_EVENT_HANDLER = 12; + HOST_EVENT_HANDLER = 13; + GLOBAL_SERVICE_EVENT_HANDLER = 14; + GLOBAL_HOST_EVENT_HANDLER = 15; + } + + uint64 ctime = 1; // Log timestamp. + string instance_name = 2; // Instance name. + string output = 3; // Output. + uint64 host_id = 4; // Host ID. + uint64 service_id = 5; // Service ID or 0 if log entry does not refer to a specific service. + string host_name = 6; // Host name. + string service_description = 7; // Service description or empty if log entry does not refer to a specific service. + string notification_contact = 8; // Notification contact. + string notification_cmd = 9; // Notification command. + LogType type = 10; // One value of LogType. + MsgType msg_type = 11; // One value of MsgType. + int32 status = 12; // Host / service status. + int32 retry = 13; // Current check attempt. +} +``` + + + + +### Module + +**Module** events are generated when Centreon Engine modules are loaded +or unloaded. This message is not very useful, since the only modules available +in Engine are **external command** and **cbmod**, which are mandatory. + +That is why it will be removed in the near future. + + + + +#### NEB::Module + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 18 | 65554 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ------------------ | ---------------- | --------------------------------------------------------------- | ------- | +| args | string | Module arguments. | | +| enabled | boolean | Whether or not this module is enabled. | | +| filename | string | Path to the module file. | | +| instance\_id | unsigned integer | Instance ID. | | +| loaded | boolean | Whether or not this module is loaded. | | +| should\_be\_loaded | boolean | Whether or not this module should be (should have been) loaded. | | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Service + +This is a configuration event. It is emitted by Centreon Engine when a change is made to the configuration of a service and the configuration is deployed. + + + + +#### NEB::Service + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 23 | 65559 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------------------------- | ---------------- | -------------------------------------------------------------------------------- | +| acknowledged | boolean | true if the problem has been acknowledged | +| acknowledgement\_type | short integer | 0 none, 1 normal, 2 sticky | +| action\_url | string | url to obtain information about service | +| active\_checks\_enabled | boolean | active check | +| check\_freshness | boolean | passive freshness check activated | +| check\_interval | real | interval in units (usually 60s) between 2 checks | +| check\_period | string | time period when checks are authorized | +| check\_type | short integer | 0 active, 1 passive | +| current\_check\_attempt | short integer | number of failed checks | +| current\_state | short integer | 0 up, 1 down, 2 unreachable | +| default\_active\_checks\_enabled | boolean | same as active\_checks\_enabled | +| default\_event\_handler\_enabled | boolean | same as event\_handler\_enabled | +| default\_flap\_detection\_enabled | boolean | same as flap\_detection\_enabled | +| default\_notifications\_enabled | boolean | same as notifications\_enabled | +| default\_passive\_checks\_enabled | boolean | same as passive\_checks\_enabled | +| downtime\_depth | short integer | number of active downtimes | +| display\_name | string | name displayed in UI | +| enabled | boolean | enabled | +| event\_handler | string | command executed when state changes | +| event\_handler\_enabled | boolean | event\_handler enabled | +| execution\_time | real | duration of last check | +| first\_notification\_delay | real | delay before notification in units (usually 60 s) | +| flap\_detection\_enabled | boolean | flap detection enabled | +| flap\_detection\_on\_critical | boolean | critical state is taken into account for flap detection | +| flap\_detection\_on\_ok | boolean | ok state is taken into account for flap detection | +| flap\_detection\_on\_unknown | boolean | unknown state is taken into account for flap detection | +| flap\_detection\_on\_warning | boolean | warning state is taken into account for flap detection | +| freshness\_threshold | real | delay after check result is stale | +| has\_been\_checked | boolean | check has been executed at least once | +| high\_flap\_threshold | real | if percent state change is higher than this, service is considered flapping | +| host\_id | unsigned integer | id of the host | +| host\_name | string | name of the host | +| icon\_image | string | icon displayed in the UI for the service | +| icon\_image\_alt | string | alternate string for icon\_image | +| service\_id | unsigned integer | id of the service | +| is\_flapping | boolean | service is flapping | +| is\_volatile | boolean | service is volatile | +| last\_check | time | time of last check | +| last\_hard\_state | short integer | last hard state | +| last\_hard\_state\_change | time | time of last hard state change | +| last\_notification | time | time of last notification sent | +| last\_state\_change | time | time of last state change | +| last\_time\_critical | time | time of the last check critical return code | +| last\_time\_ok | time | time of the last check ok return code | +| last\_time\_unknown | time | time of the last check unknown return code | +| last\_time\_warning | time | time of the last check warning return code | +| last\_update | time | time of message create | +| latency | real | delay between scheduled check time and real check time | +| low\_flap\_threshold | real | if percent state change is lower than this, service is not considered flapping | +| max\_check\_attempts | short integer | number of failed check after which service state become a hard fail state | +| next\_check | time | next scheduled check time | +| next\_notification | time | next renotification time | +| no\_more\_notifications | boolean | no other notification will be sent | +| notes | string | tooltip in resources status page | +| notes\_url | string | clickable url in resources status page | +| notification\_interval | real | interval between two notifications | +| notification\_number | short integer | number of notifications sent since the start of the problem | +| notification\_period | string | time period during which notifications are allowed | +| notifications\_enabled | boolean | notifications enabled | +| notify\_on\_critical | boolean | users are notified if service state becomes critical | +| notify\_on\_downtime | boolean | users are notified if service enters downtime | +| notify\_on\_flapping | boolean | users are notified if service is flapping | +| notify\_on\_recovery | boolean | users are notified if service becomes ok | +| notify\_on\_unknown | boolean | users are notified if service state becomes unknown | +| notify\_on\_warning | boolean | users are notified if service state becomes warning | +| obsess\_over | boolean | true if ocsp command if executed after check or notification command | +| passive\_checks\_enabled | boolean | passive check | +| percent\_state\_change | real | used by flapping and compared with high and low flap thresholds | +| retry\_interval | real | interval between two checks when service is not in up state and state type is soft | +| scheduled\_downtime\_depth | short integer | number of active downtime periods | +| service\_description | string | name of the service | +| should\_be\_scheduled | boolean | no next check should be scheduled | +| stalk\_on\_critical | boolean | logs check output event change if state is critical | +| stalk\_on\_ok | boolean | logs check output event change if state is ok | +| stalk\_on\_unknown | boolean | logs check output event change if state is unknown | +| stalk\_on\_warning | boolean | logs check output event change if state is warning | +| state\_type | short integer | state soft 0 or hard 1 | +| check\_command | string | command executed | +| output | string | output of the command | +| perf\_data | string | perfdata extracted from the command's output | +| retain\_nonstatus\_information | boolean | unused | +| retain\_status\_information | boolean | unused | + + + + +#### NEB::PbService + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 27 | 65563 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Service** events should be sent. Instead, you +should see **NEB::PbService** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +enum ServiceType { + SERVICE = 0; + METASERVICE = 2; + BA = 3; + ANOMALY_DETECTION = 4; +} + +enum AckType { + NONE = 0; + NORMAL = 1; + STICKY = 2; +} + +message Service { + uint64 host_id = 1; // Host ID. + uint64 service_id = 2; // Service ID. + + bool acknowledged = 3; // Is it currently acknowledged? + AckType acknowledgement_type = 4; // AckType value. + + bool active_checks = 5; // Are active checks enabled? + bool enabled = 6; // Is this service active? + int32 scheduled_downtime_depth = 7; // Number of active downtimes. + string check_command = 8; // Command executed. + uint32 check_interval = 9; // Interval in units (usually 60s) between 2 checks. + string check_period = 10; // Time period when checks are authorized. + + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 11; // CheckType value. + int32 check_attempt = 12; // Number of failed checks. + enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; + PENDING = 4; + } + State state = 13; // Current state of this service. + bool event_handler_enabled = 14; // Event handler enabled? + string event_handler = 15; // Command executed when state changes. + double execution_time = 16; // Duration of last check. + bool flap_detection = 17; // Is flap detection enabled? + bool checked = 18; // Is this service checked? + bool flapping = 19; // Is this service flapping? + int64 last_check = 20; // Timestamp of the last check. + State last_hard_state = 21; // Last hard state. + int64 last_hard_state_change = 22; // Timestamp of the last hard state change. + int64 last_notification = 23; // Timestamp of the last notification. + int32 notification_number = 24; // Number of notifications sent since the start of the problem. + int64 last_state_change = 25; // Timestamp of the last state change. + int64 last_time_ok = 26; // Timestamp of the last check OK return code. + int64 last_time_warning = 27; // Timestamp of the last check WARNING return code. + int64 last_time_critical = 28; // Timestamp of the last check CRITICAL return code. + int64 last_time_unknown = 29; // Timestamp of the last check UNKNOWN return code. + int64 last_update = 30; // Timestamp of this event creation. + double latency = 31; // Delay between scheduled check time and real check time. + uint32 max_check_attempts = 32; // Number of failed checks after which service state becomes a hard fail state. + int64 next_check = 33; // Next scheduled check timestamp. + int64 next_notification = 34; // Next notification timestamp. + bool no_more_notifications = 35; // No other notification will be sent. + bool notify = 36; // Are notifications enabled on this service? + string output = 37; // Output of the check command. + string long_output = 38; // Long output of the check command. + bool passive_checks = 39; // Are passive checks enabled? + double percent_state_change = 40; // Used by flapping and compared with high and low flap thresholds. + string perfdata = 41; // Perfdata extracted from the command's output. + double retry_interval = 42; // Interval between two checks when service isn't in ok state and state type is SOFT. + string host_name = 43; // Host name of this service. + string description = 44; // Description of this service + bool should_be_scheduled = 45; // Is there a next check scheduled? + bool obsess_over_service = 46; // True if OCSP command is executed after check or notification command. + + enum StateType { + SOFT = 0; + HARD = 1; + } + + StateType state_type = 47; // StateType value. + string action_url = 48; // Url to obtain information about this service. + bool check_freshness = 49; // Passive freshness check activated? + bool default_active_checks = 50; // Default value of active_checks. + bool default_event_handler_enabled = 51; // Default value of event_handler_enabled. + bool default_flap_detection = 52; // Default value of flap detection. + bool default_notify = 53; // Default value of notify. + bool default_passive_checks = 54; // Default value of passive checks. + string display_name = 55; // Name displayed in WUI. + double first_notification_delay = 56; // Delay before notify in units (usually 60s). + bool flap_detection_on_critical = 57; // Critical state is taken into account for flap detection. + bool flap_detection_on_ok = 58; // Ok state is taken into account for flap detection. + bool flap_detection_on_unknown = 59; // Unknown state is taken into account for flap detection. + bool flap_detection_on_warning = 60; // Warning state is taken into account for flap detection. + double freshness_threshold = 61; // Delay after check result is stale. + double high_flap_threshold = 62; // If percent state change is higher than this, service is considered flapping. + string icon_image = 63; // Icon displayed in the WUI for the service. + string icon_image_alt = 64; // Alternate string for icon_image. + bool is_volatile = 65; // Is the service volatile? + double low_flap_threshold = 66; // If percent state change is lower than this, service is not considered flapping. + string notes = 67; // Tooltip in resources status page. + string notes_url = 68; // Clickable url in resources status page. + double notification_interval = 69; // Interval between two notifications. + string notification_period = 70; // Time period during which notifications are allowed. + bool notify_on_critical = 71; // Users are notified if service state becomes critical. + bool notify_on_downtime = 72; // Users are notified if service enters in downtime. + bool notify_on_flapping = 73; // Users are notified if service is flapping. + bool notify_on_recovery = 74; // Users are notified if service becomes OK. + bool notify_on_unknown = 75; // Users are notified if service state becomes unknown. + bool notify_on_warning = 76; // Users are notified if service state becomes warning. + bool stalk_on_critical = 77; // Users are notified if service state becomes critical. + bool stalk_on_ok = 78; // Logs check output event change if state is OK. + bool stalk_on_unknown = 79; // Logs check output event change if state is unknown. + bool stalk_on_warning = 80; // Logs check output event change if state is warning. + bool retain_nonstatus_information = 81; // unused. + bool retain_status_information = 82; // unused. + uint64 severity_id = 83; // Severity ID or 0. + repeated TagInfo tags = 84; // Tag IDs. + + ServiceType type = 85; // What kind of service is it? + + /* In case of metaservice and ba, they also have an internal id. We keep it + * here. */ + uint64 internal_id = 86; // ID of metaservice or ba. + uint64 icon_id = 87; // Icon ID. +} +``` + + + + +### Service check + +This event is emitted by Centreon Engine when a check is performed on a service. + + + + +#### NEB::ServiceCheck + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 19 | 65555 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ----------------------- | ---------------- | ------------------------------------------------- | ------- | +| active\_checks\_enabled | boolean | True if active checks are enabled on the service. | | +| check\_type | short | | | +| host\_id | unsigned integer | Host ID. | | +| next\_check | time | Time at which the next check is scheduled. | | +| service\_id | unsigned integer | Service ID. | | +| command\_line | string | Check command line. | | + + + + +#### NEB::PbServiceCheck + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 40 | 65576 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::ServiceCheck** events should be sent. Instead, you +should see **NEB::PbServiceCheck** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // A internal number not currently used. +} + +enum CheckType { + CheckActive = 0; + CheckPassive = 1; +} + +message Check { + BBDOHeader header = 1; + + bool active_checks_enabled = 2; // True if active checks are enabled on the host. + CheckType check_type = 3; // One of the values in CheckType. + string command_line = 4; // Check command line. + uint64 host_id = 5; // Host ID. + uint64 next_check = 6; // Timestamp at which the next check is scheduled. + uint64 service_id = 7; // Service ID or 0 for a host check. +} +``` + + + + +### Service dependency + +This is a configuration event sent when a dependency between services is defined. + + + + +#### NEB::ServiceDependency + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 20 | 65556 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ------------------------------ | ---------------- | ----------- | ------- | +| dependency\_period | string | | | +| dependent\_host\_id | unsigned integer | | | +| dependent\_service\_id | unsigned integer | | | +| enabled | boolean | | | +| execution\_failure\_options | string | | | +| host\_id | unsigned integer | | | +| inherits\_parent | boolean | | | +| notification\_failure\_options | string | | | +| service\_id | unsigned integer | | | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Service group + +This is a configuration event that is emitted when a service group is created. + + + + +#### NEB::ServiceGroup + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 21 | 65557 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ---------- | ---------------- | ----------------------------------------------------------- | ------- | +| id | unsigned integer | | | +| name | string | Group name. | | +| enabled | enabled | True if the group is enable, false if it is not (deletion). | | +| poller\_id | unsigned integer | | | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Service group member + +This is a configuration event. It is sent just after a **servicegroup** event to +detail members of the group to configure. Even in BBDO v3, we still use the +BBDO v2 version of this event. + + + + +#### NEB::ServiceGroupMember + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 22 | 65558 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------- | ---------------- | ----------------------------------------------------------- | +| id | unsigned integer | | +| host\_id | unsigned integer | | +| service\_id | unsigned integer | | +| enabled | enabled | True if the group is enabled, false if it is not (deletion). | +| group\_name | string | Group name. | +| poller\_id | unsigned integer | | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Service status + +This is an event emitted by Centreon Engine when a service has real time modifications. + + + + +#### NEB::ServiceStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 24 | 65560 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------------------- | ---------------- | -------------------------------------------------------------------------------- | +| acknowledged | boolean | true if the problem has been acknowledged | +| acknowledgement\_type | short integer | 0 none, 1 normal, 2 sticky | +| active\_checks\_enabled | boolean | active check | +| check\_interval | real | interval in units (usually 60 s) between 2 checks | +| check\_period | string | time period when checks are authorized | +| check\_type | short integer | 0 active, 1 passive | +| current\_check\_attempt | short integer | number of failed checks | +| current\_state | short integer | 0 up, 1 down, 2 unreachable | +| downtime\_depth | short integer | number of active downtimes | +| enabled | boolean | enabled | +| event\_handler | string | command executed when state changes | +| event\_handler\_enabled | boolean | event\_handler enabled | +| execution\_time | real | duration of last check | +| flap\_detection\_enabled | boolean | flap detection enabled | +| has\_been\_checked | boolean | check has been executed at least once | +| host\_id | unsigned integer | id of the host | +| host\_name | string | name of the host | +| is\_flapping | boolean | service is flapping | +| last\_check | time | time of last check | +| last\_hard\_state | short integer | last hard state | +| last\_hard\_state\_change | time | time of last hard state change | +| last\_notification | time | time of last notification sent | +| last\_state\_change | time | time of last state change | +| last\_time\_critical | time | time of the last check critical return code | +| last\_time\_ok | time | time of the last check ok return code | +| last\_time\_unknown | time | time of the last check unknown return code | +| last\_time\_warning | time | time of the last check warning return code | +| last\_update | time | time of message create | +| latency | real | delay between scheduled check time and real check time | +| max\_check\_attempts | short integer | number of failed checks after which service state become a hard fail state | +| next\_check | time | next scheduled check time | +| next\_notification | time | next renotification time | +| no\_more\_notifications | boolean | no other notification will be sent | +| notification\_number | short integer | number of notifications sent since the start of the problem | +| notifications\_enabled | boolean | notifications enabled | +| obsess\_over | boolean | true if ocsp command is executed after check or notification command | +| passive\_checks\_enabled | boolean | passive check | +| percent\_state\_change | real | used by flapping and compared with high and low flap thresholds | +| retry\_interval | real | interval between two checks when service is not in up state and state type is soft | +| service\_description | string | name of the service | +| service\_id | unsigned integer | id of the service | +| should\_be\_scheduled | boolean | no next check should be scheduled | +| state\_type | short integer | state soft 0 or hard 1 | +| check\_command | string | command executed | +| output | string | output of the command | +| perf\_data | string | perfdata extracted from the command's output | + + + + +#### NEB::PbServiceStatus + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 29 | 65565 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::ServiceStatus** events should be sent. Instead , you +should see **NEB::PbServiceStatus**. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message ServiceStatus { + uint64 host_id = 1; // Host ID. + uint64 service_id = 2; // Service ID. + + bool checked = 3; // Is this service checked? + enum CheckType { + ACTIVE = 0; + PASSIVE = 1; + } + CheckType check_type = 4; // CheckType value. + + enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; + PENDING = 4; + } + State state = 5; // Current state of this service. + enum StateType { + SOFT = 0; + HARD = 1; + } + StateType state_type = 6; // StateType value. + int64 last_state_change = 7; // Timestamp of the last state change. + State last_hard_state = 8; // Last hard state. + int64 last_hard_state_change = 9; // Timestamp of the last hard state change. + int64 last_time_ok = 10; // Timestamp of the last check OK return code. + int64 last_time_warning = 11; // Timestamp of the last check WARNING return code. + int64 last_time_critical = 12; // Timestamp of the last check CRITICAL return code. + int64 last_time_unknown = 13; // Timestamp of the last check UNKNOWN return code. + + string output = 14; // Output of the check command. + string long_output = 15; // Long output of the check command. + string perfdata = 16; // Perfdata extracted from the command's output. + + bool flapping = 17; // Is this service flapping? + double percent_state_change = 18; // Used by flapping and compared with high and low flap thresholds. + double latency = 19; // Delay between scheduled check time and real check time. + double execution_time = 20; // Duration of last check. + int64 last_check = 21; // Timestamp of the last check. + int64 next_check = 22; // Next scheduled check timestamp. + bool should_be_scheduled = 23; // Is there a next check scheduled? + int32 check_attempt = 24; // Number of failed checks after which service state becomes a hard fail state. + + int32 notification_number = 25; // Number of notifications sent since the start of the problem. + bool no_more_notifications = 26; // No other notification will be sent. + int64 last_notification = 27; // Timestamp of the last notification. + int64 next_notification = 28; // Next notification timestamp. + + AckType acknowledgement_type = 29; // AckType value. + int32 scheduled_downtime_depth = 30; // Number of active downtimes. + + ServiceType type = 31; // What kind of service is it? + + /* In case of metaservice and ba, they also have an internal id. We keep it + * here. */ + uint64 internal_id = 32; // ID of metaservice or ba. +} +``` + + + + +### Instance configuration + +Here is a configuration event announcing all the configuration events that are +going to be sent by a poller. + + + + +#### NEB::InstanceConfiguration + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 25 | 65561 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ---------- | ---------------- | ------------------------------------------------------------------------ | ------- | +| loaded | boolean | True if the instance loaded successfully. | | +| poller\_id | unsigned integer | ID of the poller that received a configuration update request (reload). | | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Responsive instance + +This event is emitted by cbd. It tells if a poller is responsive or not. + + + + +#### NEB::ResponsiveInstance + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 26 | 65562 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ---------- | ---------------- | --------------------------------------------------------------------------- | ------- | +| poller\_id | unsigned integer | ID of the poller which received a configuration update request (reload). | | +| responsive | boolean | A boolean telling if the poller with ID **poller_id** is responsive or not. | | + + + + +#### NEB::PbResponsiveInstance + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 46 | 65582 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::ResponsiveInstance** events should be sent. Instead, you +should see **NEB::PbResponsiveInstance** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; // An internal number, not currently used. +} + +message ResponsiveInstance { + BBDOHeader header = 1; + + uint64 poller_id = 2; // Poller ID. + bool responsive = 3; // Is this poller responsive? +} +``` + + + + +### Adaptive service + +This event was introduced with BBDO v3. It is emitted when a service has its configuration +updated on the fly (for example with an external command) + + + + +No **Adaptive service** available in BBDO v2. + + + + + +#### NEB::PbAdaptiveService + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 41 | 65577 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::AdaptiveService** events should be sent. Instead, you +should see **NEB::PbAdaptiveService** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message AdaptiveService { + uint64 host_id = 1; // Host ID. + uint64 service_id = 2; // Service ID. + + optional bool notify = 3; // Are notifications enabled on this service? + optional bool active_checks = 4; // Are active checks enabled? + optional bool should_be_scheduled = 5; // Is there a next check scheduled? + optional bool passive_checks = 6; // Are passive checks enabled? + optional bool event_handler_enabled = 7; // Event handler enabled? + optional bool flap_detection_enabled = 8; // Is flap detection enabled? + optional bool obsess_over_service = 9; // True if OCSP command is executed after check or notification command. + optional string event_handler = 10; // Command executed when state changes. + optional string check_command = 11; // Command executed. + optional uint32 check_interval = 12; // Interval in units (usually 60s) between 2 checks. + optional uint32 retry_interval = 13; // Interval between two checks when service isn't in ok state and state type is SOFT. + optional uint32 max_check_attempts = 14; // Number of failed checks after which service state becomes a hard fail state. + optional bool check_freshness = 15; // Passive freshness check activated? + optional string check_period = 16; // Time period when checks are authorized. + optional string notification_period = 17; // Time period when notifications are authorized. +} +``` + + + + +### Adaptive host + +This event was introduced with BBDO v3. It is emitted when a host has its configuration +updated on the fly (for example with an external command). + + + + +No **Adaptive host** available in BBDO v2. + + + + + +#### NEB::PbAdaptiveHost + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 31 | 65567 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::AdaptiveHost** events should be sent. Instead, you +should see **NEB::PbAdaptiveHost** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message AdaptiveHost { + uint64 host_id = 1; // Host ID. + + optional bool notify = 2; // Are notifications enabled on this service? + optional bool active_checks = 3; // Are active checks enabled? + optional bool should_be_scheduled = 4; // Is there a next check scheduled? + optional bool passive_checks = 5; // Are passive checks enabled? + optional bool event_handler_enabled = 6; // Event handler enabled? + optional bool flap_detection = 7; // Is flap detection enabled? + optional bool obsess_over_host = 8; // True if OCSP command is executed after check or notification command. + optional string event_handler = 9; // Command executed when state changes. + optional string check_command = 10; // Command executed. + optional uint32 check_interval = 11; // Interval in units (usually 60s) between 2 checks. + optional uint32 retry_interval = 12; // Interval between two checks when service isn't in ok state and state type is SOFT. + optional uint32 max_check_attempts = 13; // Number of failed checks after which service state becomes a hard fail state. + optional bool check_freshness = 14; // Passive freshness check activated? + optional string check_period = 15; // Time period when checks are authorized. + optional string notification_period = 16; // Time period when notifications are authorized. +} +``` + + + + +### Severity + +This is a configuration event. It defines a severity. This event was introduced +with BBDO v3. + + + + +No BBDO v2 version of this event exists. + + + + + +#### NEB::PbSeverity + +| Category | element | ID | +| -------- | ------- | ----- | +| 1 | 33 | 65569 | + +This event comes with BBDO 3. It contains the severity of a resource. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```text +message Severity { + uint64 id = 1; + enum Action { + ADD = 0; + DELETE = 1; + MODIFY = 2; + } + Action action = 2; + uint32 level = 3; + uint64 icon_id = 4; + string name = 5; + enum Type { + SERVICE = 0; + HOST = 1; + } + Type type = 6; + uint64 poller_id = 7; +} +``` + + + + +## Storage + +### Metric + +This event is generated by a Storage endpoint to notify that an RRD metric +graph should be updated. + + + + +#### Storage::Metric + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 1 | 196609 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ---------------- | ---------------- | --------------------------------------------------------------------------- | ------- | +| ctime | time | Time at which the metric value was generated. | | +| interval | unsigned integer | Normal service check interval in seconds. | | +| metric\_id | unsigned integer | Metric ID (from the metrics table). | | +| name | string | Metric name. | | +| rrd\_len | integer | RRD retention length in seconds. | | +| value | real | Metric value. | | +| value\_type | short integer | Metric type (1 =3D counter, 2 =3D derive, 3 =3D absolute, other =3D gauge). | | +| is\_for\_rebuild | boolean | Set to true when a graph is being rebuilt (see the rebuild event). | | +| host\_id | unsigned integer | The id of the host this metric is attached to. | | +| service\_id | unsigned integer | The id of the service this metric is attached to. | | + + + + +#### Storage::PbMetric + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 9 | 196617 | + +This event is a Protobuf event so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **Storage::Metric** events should be sent. Instead, you +should see **Storage::PbMetric** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message Metric { + enum ValueType { + GAUGE = 0; + COUNTER = 1; + DERIVE = 2; + ABSOLUTE = 3; + AUTOMATIC = 4; + } + uint64 metric_id = 4; // Metric ID. + int32 rrd_len = 5; // RRD retention length in seconds. + int32 interval = 6; // Normal service check interval in seconds. + ValueType value_type = 7; // A value from ValueType. + uint64 time = 8; // Timestamp at which the metric value was generated. + double value = 9; // Metric value. + string name = 10; // Metric name. + uint64 host_id = 11; // Host ID. + uint64 service_id = 12; // Service ID. +} +``` + + + + +### Rebuild + +Rebuild events are generated when a Storage endpoint detects that some +graphs should be rebuilt. It first sends a rebuild start event (end `false`), +then metric values (metric event with is\_for\_rebuild set to +true) and finally a rebuild end event (end `true`). + +This message and its principle are only available in BBDO v2. +With BBDO v3, we take advantage of the power of Protobuf. To rebuild graphs, +we use the event [Storage::PbRebuildMessage](#storagepbrebuildmessage). + + + + +#### Storage::Rebuild + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 2 | 196610 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| --------- | ---------------- | ------------------------------------------------------------------------------------------------------------- | ------- | +| end | boolean | End flag. Set to true if rebuild is starting, false if it is ending. | | +| id | unsigned integer | ID of metric to rebuild if is\_index is false, or ID of index to rebuild (status graph) if is\_index is true. | | +| is\_index | boolean | Index flag. Rebuild index (status) if true, rebuild metric if false. | | + + + + +Not available with Protobuf 3. + +Take a look at [Storage::PbRebuildMessage](#storagepbrebuildmessage) for a replacement. + + + + +### Remove graph + +A Storage endpoint generates a **remove graph** event when some graphs +must be deleted. + +This message and its principle are only available in BBDO v2. +With BBDO v3, we take advantage of the power of Protobuf. To remove graphs, +we use the event [Storage::PbRemoveGraphMessage](#storagepbremovegraphmessage). + + + + +#### Storage::RemoveGraph + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 3 | 196611 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------- | ---------------- | ------------------------------------------------------------------------------------------------------ | +| id | unsigned integer | Index ID (is\_index =`true`) or metric ID (is\_index =`false`) to remove. | +| is\_index | boolean | Index flag. If true, a index (status) graph will be deleted. If false, a metric graph will be deleted. | + + + + +Not available with Protobuf 3. + +Take a look at [Storage::PbRemoveGraphMessage](#storagepbremovegraphmessage) +for a replacement. + + + + +### Status + +This event is emitted by cbd when a **Service Status** or a **Host Status** event is received. +It essentially contains a resource with its status. + + + + +#### Storage::Status + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 4 | 196612 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------------- | ---------------- | ------------------------------------------------------------------ | +| ctime | time | Time at which the status was generated. | +| index\_id | unsigned integer | Index ID. | +| interval | unsigned integer | Normal service check interval in seconds. | +| rrd\_len | time | RRD retention in seconds. | +| state | short integer | Service state. | +| is\_for\_rebuild | boolean | Set to true when a graph is being rebuilt (see the rebuild event). | + + + + +#### Storage::PbStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 10 | 196618 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **Storage::Status** events should be sent. Instead, you +should see **Storage::PbStatus** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message Status { + uint64 index_id = 1; // Index ID. + uint32 interval = 2; // Normal service check interval in seconds. + uint32 rrd_len = 3; // RRD retention in seconds. + uint64 time = 4; // Timestamp at which the status was generated. + uint32 state = 5; // Service state. +} +``` + + + + +### Metric mapping + +This event is emitted by Centreon Broker when a new service configuration is +received. It associates an index ID (the one created for a service - see +[Index mapping](#indexmapping)) to a metric ID. + + + + +#### Storage::MetricMapping + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 6 | 196614 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------- | ---------------- | ----------- | +| index\_id | unsigned integer | Index ID. | +| metric\_id | unsigned integer | Index ID. | + + + + +#### Storage::PbMetricMapping + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 12 | 196620 | + +This event is a Protobuf event so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **Storage::MetricMapping** events should be sent. Instead, you +should see **Storage::PbIndexMapping** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message MetricMapping { + uint64 index_id = 1; // Index ID of the service. + uint64 metric_id = 2; // Metric ID linked to the service. +} +``` + + + + +### Index mapping + +This event is emitted by Centreon Broker when a new service configuration is +received. It associates an ID to the pair **(host ID/service ID)**. This new +ID is useful for the service metrics declaration. + + + + +#### Storage::IndexMapping + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 5 | 196613 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------- | ---------------- | ----------- | +| index\_id | unsigned integer | Index ID. | +| host\_id | unsigned integer | Host ID. | +| service\_id | unsigned integer | Service ID. | + + + + +#### Storage::PbIndexMapping + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 11 | 196619 | + +This event is a Protobuf event so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **Storage::IndexMapping** events should be sent. Instead, you +should see **Storage::PbIndexMapping** events. + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```cpp +message IndexMapping { + uint64 index_id = 1; // Index ID for a service. + uint64 host_id = 2; // Host ID of the service. + uint64 service_id = 3; // Service ID of the service. +} +``` + + + + +### Rebuild Message + +This event comes with BBDO 3, when some graphs have to be rebuilt. Messages +handling these rebuilds are of that type. They replace the old BBDO v2 rebuild +message. + + + + +Not available with BBDO v2. + +See [Storage::Rebuild](#storagerebuild) + + + + +#### Storage::PbRebuildMessage + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 7 | 196615 | + +There are three states for this message: + +* START: here is the first state. This message initializes which metrics have +to be rebuilt. +* DATA: once the START state has been sent, one or more messages with DATA state +may be sent to the RRD broker. +* END: When all the rebuild events have been sent, this one is sent to close the +rebuilds. And the RRD broker falls back into a nominal state. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```text +message Point { + int64 ctime = 1; + double value = 2; +} + +message Timeserie { + repeated Point pts = 1; + int32 data_source_type = 2; + uint32 check_interval = 3; + uint32 rrd_retention = 4; +} + +message RebuildMessage { + enum State { + START = 0; + DATA = 1; + END = 2; + } + State state = 1; + /* Only used on DATA state */ + map timeserie = 2; + + /* Only used on START/END state */ + repeated uint64 metric_id = 3; +} +``` + + + + +### Remove Graph Message + +This event comes with BBDO 3. When we want to remove graph files, we can use +the centengine gRPC API and this call makes cbd generate a **Storage::PbRemoveGraphMessage** event. +There are two possibilities concerning this event. We can remove graphs +matching some index data or graphs matching some metric data. It is also +possible to mix the two kinds. + + + + +Not available with BBDO v2. + +See [Storage::RemoveGraph](#storageremovegraph) + + + + +#### Storage::PbRemoveGraphMessage + +| Category | element | ID | +| -------- | ------- | ------ | +| 3 | 8 | 196616 | + +Here is the definition of this [protobuf](https://developers.google.com/protocol-buffers/docs/proto3) event: + +```text +message RemoveGraphMessage { + repeated uint64 index_ids = 1; + repeated uint64 metric_ids = 2; +} +``` + + + + +## BBDO + +### Version response + +This is the negotiation message used until BBDO v3.0.0. Each time a BBDO +connection is established, this message is sent by the connector and by the +acceptor to negotiate options. + + + + +#### BBDO::VersionResponse + +| Category | element | ID | +| -------- | ------- | ------ | +| 2 | 1 | 131073 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------- | ------------- | -------------------------------------------------------------------------------------------------------------------------- | +| bbdo\_major | short integer | BBDO protocol major used by the peer sending this **version_response** packet. The sole current protocol version is 1.0.0. | +| bbdo\_minor | short integer | BBDO protocol minor used by the peer sending this **version_response** packet. | +| bbdo\_patch | short integer | BBDO protocol patch used by the peer sending this **version_response** packet. | +| extensions | string | Space-separated string of extensions supported by the peer sending this **version_response** packet. | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Ack + +Usually, a **BBDO sender** sends events and a **BBDO receiver** consumes events. +But the sender keeps events until the receiver tells it they have been handled. +To do that, the receiver emits an **Ack** message with the number of events +already handled. + + + + +#### BBDO::Ack + +| Category | element | ID | +| -------- | ------- | ------ | +| 2 | 2 | 131074 | + +The content of this message is serialized as follows: + +| Property | Type | Description | Version | +| ------------------- | ---------------- | ----------------------------------------------------------------------------------------------------------------------------- | ------- | +| acknowledged events | unsigned integer | Number of acknowledged events. Only used by "smart" clients (i.e able to acknowledge events). Not to be used by dumb clients. | | + + + + +#### NEB::PbAck + +| Category | element | ID | +| -------- | ------- | ------ | +| 2 | 8 | 131080 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **NEB::Ack** events should be sent. Instead, you +should see **NEB::PbAck** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message Ack { + uint32 acknowledged_events = 1; // The number of events to acknowledge. +} +``` + + + + +### Stop + +When one side of a BBDO connection is going to exit, it emits a **Stop** event +so that if the other side has events already handled it can send an **Ack** +event. + + + + +#### BBDO::Stop + +| Category | element | ID | +| -------- | ------- | ------ | +| 2 | 3 | 131075 | + +The content of this message is empty. + + + + +#### BBDO::PbStop + +| Category | element | ID | +| -------- | ------- | ------ | +| 2 | 9 | 131081 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BBDO::Stop** events should be sent. Instead, you +should see **BBDO::PbStop** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message Stop {} +``` + + + + +## BAM + +### BA status event + +This event is sent when a BA's status changes. + + + + +#### BAM::BaStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 1 | 393217 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------------------- | ---------------- | -------------------------------------------- | +| ba\_id | unsigned integer | The id of the BA. | +| in\_downtime | boolean | True if the BA is in downtime. | +| last\_state\_change | time | The time of the last state change of the BA. | +| level\_acknowledgement | real | The acknowledgment level of the BA. | +| level\_downtime | real | The downtime level of the BA. | +| level\_nominal | real | The nominal level of the BA. | +| state | short integer | The state of the BA. | +| state\_changed | boolean | True if the state of the BA just changed. | + + + + +#### BAM::PbBaStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 19 | 393235 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::BaStatus** events should be sent. Instead, you +should see **BAM::PbBaStatus** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message BaStatus { + uint32 ba_id = 2; // The ID of the BA. + bool in_downtime = 3; // True if the BA is in downtime. + uint64 last_state_change = 4; // Timestamp of the last state change of the BA. + double level_acknowledgement = 5; // The acknowledgement level of the BA. + double level_downtime = 6; // The downtime level of the BA. + double level_nominal = 7; // The nominal level of the BA. + State state = 8; // The state of the BA. + bool state_changed = 9; // True if the state of the BA just changed. +} +``` + + + + +### KPI status event + +This event is sent when a KPI's status changes. + + + + +#### BAM::KpiStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 2 | 393218 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------------------------- | ---------------- | --------------------------------------------- | +| kpi\_id | unsigned integer | The id of the KPI. | +| in\_downtime | bool | True if the KPI is in downtime. | +| level\_acknowledgement\_hard | real | The hard acknowledgement level of the KPI. | +| level\_acknowledgement\_soft | real | The soft acknowledgement level of the KPI. | +| level\_downtime\_hard | real | The hard downtime level of the KPI. | +| level\_downtime\_soft | real | The soft downtime level of the KPI. | +| level\_nominal\_hard | real | The hard nominal level of the KPI. | +| level\_nominal\_soft | real | The soft nominal level of the KPI. | +| state\_hard | short integer | The hard state of the KPI. | +| state\_soft | short integer | The soft state of the KPI. | +| last\_state\_change | time | The time of the last state change of the KPI. | +| last\_impact | real | The last impact of the KPI. | +| valid | bool | True if the KPI is valid. | + + + + +#### BAM::PbKpiStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 27 | 393243 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::KpiStatus** events should be sent. Instead, you +should see **BAM::PbKpiStatus** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message KpiStatus { + uint32 kpi_id = 1; // ID of the KPI. + bool in_downtime = 2; // True if the KPI is in downtime. + double level_acknowledgement_hard = 3; // The hard acknowledgement level of the KPI. + double level_acknowledgement_soft = 4; // The soft acknowledgement level of the KPI. + double level_downtime_hard = 5; // The hard downtime level of the KPI. + double level_downtime_soft = 6; // The soft downtime level of the KPI. + double level_nominal_hard = 7; // The hard nominal level of the KPI. + double level_nominal_soft = 8; // The soft nominal level of the KPI. + State state_hard = 9; // Hard state of the KPI. + State state_soft = 10; // Soft state of the KPI. + int64 last_state_change = 11; // Timestamp of the last state change of the KPI. + double last_impact = 12; // Last impact of the KPI. + bool valid = 13; // True if the KPI is valid. +} +``` + + + + +### Meta service status event + +This event was designed to send meta service's status changes. + +At the moment meta services are not managed by Centreon Broker, so this +event is not used. + + + + +#### BAM::MetaServiceStatus + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 3 | 393219 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------------- | ---------------- | ------------------------------- | +| meta\_service\_id | unsigned integer | The id of the meta service. | +| value | real | The value of the meta service. | +| state\_changed | boolean | True if the state just changed. | + + + + +There is no Protobuf event. + + + + +### BA-event event + +This event is sent when a new BA event is opened, or an old one is closed. + + + + +#### BAM::BaEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 4 | 393220 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------ | ---------------- | -------------------------------------------------------------- | +| ba\_id | unsigned integer | The id of the BA. | +| first\_level | real | The first level of the BA event. | +| end\_time | time | The end\_time of the event. 0 or (time)-1 for an opened event. | +| in\_downtime | boolean | True if BA was in downtime during the BA event. | +| start\_time | time | The start\_time of the event. | +| status | short integer | The status of the BA during the event. | + + + + +#### BAM::PbBaEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 20 | 393236 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::BaEvent** events should be sent. Instead, you +should see **BAM::PbBaEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message BaEvent { + uint32 ba_id = 1; // The ID of the BA. + double first_level = 2; // The first level of the BA event. + int64 end_time = 3; // The end\_time of the event. 0 or (time)-1 for an opened event. + bool in_downtime = 4; // True if BA was in downtime during the BA event. + uint64 start_time = 5; // The start\_time of the event. + State status = 6; // The status of the BA during the event. +} +``` + + + + +### KPI Event + +This event is sent when a new KPI event is opened, or an old one is closed. + + + + +#### BAM::KpiEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 5 | 393221 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------- | ---------------- | -------------------------------------------------------------- | +| kpi\_id | unsigned integer | The id of the KPI. | +| end\_time | time | The end\_time of the event. 0 or (time)-1 for an opened event. | +| impact\_level | integer | The level of the impact. | +| in\_downtime | boolean | True if BA was in downtime during the BA event. | +| first\_output | string | The first output of the KPI during the event. | +| perfdata | string | The first perfdata of the KPI during the event. | +| start\_time | time | The start\_time of the event. | +| status | short integer | The status of the BA during the event. | + + + + +#### BAM::PbKpiEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 21 | 393237 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::KpiEvent** events should be sent. Instead, you +should see **BAM::PbKpiEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +enum State { + OK = 0; + WARNING = 1; + CRITICAL = 2; + UNKNOWN = 3; +} + +message KpiEvent { + uint32 ba_id = 1; // The id of the BA. + uint64 start_time = 2; // The start\_time of the event. + int64 end_time = 3; // The end\_time of the event. 0 or (time)-1 for an opened event. + uint32 kpi_id = 4; // The id of the KPI. + int32 impact_level = 5; // The level of the impact. + bool in_downtime = 6; // True if BA was in downtime during the BA event. + string output = 7; // The first output of the KPI during the event. + string perfdata = 8; // The first perfdata of the KPI during the event. + State status = 9; // The status of the BA during the event. +} +``` + + + + +### BA duration event event + +This event is sent when a new BA duration event is computed by the BAM broker. + + + + +#### BAM::BaDurationEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 6 | 393222 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ----------------------- | ---------------- | ------------------------------------------------------ | +| ba\_id | unsigned integer | The id of the BA. | +| real\_start\_time | time | The first level of the BA event. | +| end\_time | time | The end\_time of the event, in the given time period. | +| start\_time | time | The start\_time of the event, in the given time period. | +| duration | unsigned integer | end\_time - start\_time. | +| sla\_duration | unsigned integer | The duration of the event in the given time period. | +| timeperiod\_is\_default | boolean | True if the time period is the default for this BA. | + + + + +#### BAM::PbBaDurationEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 28 | 393244 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::BaDurationEvent** events should be sent. Instead, you +should see **BAM::PbBaDurationEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BaDurationEvent { + uint32 ba_id = 1; // The ID of the BA. + int64 real_start_time = 2; // Effective start timestamp of the event. + int64 end_time = 3; // The end_time of the event, 0 or -1 if the event is opened. + int64 start_time = 4; // Start timestamp of the event. + uint32 duration = 5; // Duration in seconds. + uint32 sla_duration = 6; // The duration of the event in the given timeperiod. + uint32 timeperiod_id = 7; // ID of the timeperiod. + bool timeperiod_is_default = 8; // True if the timeperiod is the default one for this BA. +} +``` + + + +### Dimension BA + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionBaEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 7 | 393223 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------------------- | ---------------- | -------------------------- | +| ba\_id | unsigned integer | The id of the BA. | +| ba\_name | string | The name of the BA. | +| ba\_description | string | The description of the BA. | +| sla\_month\_percent\_crit | real | | +| sla\_month\_percent\_warn | real | | +| sla\_month\_duration\_crit | unsigned integer | | +| sla\_month\_duration\_warn | unsigned integer | | + + + + +#### BAM::PbDimensionBaEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 25 | 393241 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionBaEvent** events should be sent. Instead, you +should see **BAM::PbDimensionBaEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionBaEvent { + uint32 ba_id = 1; // ID of the BA. + string ba_name = 2; // Name of the BA. + string ba_description = 3; // Description of the BA. + double sla_month_percent_crit = 4; + double sla_month_percent_warn = 5; + uint32 sla_duration_crit = 6; + uint32 sla_duration_warn = 7; +} +``` + + + +### Dimension KPI + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionKpiEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 8 | 393224 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------------- | ---------------- | ---------------------------------------------------------------------------- | +| kpi\_id | unsigned integer | The id of the KPI. | +| ba\_id | unsigned integer | The id of the parent BA of this KPI. | +| ba\_name | string | The name of the parent BA of this KPI. | +| host\_id | unsigned integer | The id of the host associated with this KPI for service KPI. | +| host\_name | string | The name of the host associated with this KPI for service KPI. | +| service\_id | unsigned integer | The id of the service associated with this KPI for service KPI. | +| service\_description | string | The description of the service associated with this KPI for service KPI. | +| kpi\_ba\_id | unsigned integer | The id of the BA associated with this KPI for BA KPI. | +| kpi\_ba\_name | string | The name of the BA associated with this KPI for BA KPI. | +| meta\_service\_id | unsigned int | The id of the meta-service associated with this KPI for meta-service KPI. | +| meta\_service\_name | string | The name of the meta-service associated with this KPI for meta-service KPI. | +| boolean\_id | unsigned int | The id of the boolean expression associated with this KPI for boolean KPI. | +| boolean\_name | string | The name of the boolean expression associated with this KPI for boolean KPI. | +| impact\_warning | real | The impact of a warning state for this KPI. | +| impact\_critical | real | The impact of a critical state for this KPI. | +| impact\_unknown | real | The impact of an unknown state for this KPI. | + + + + +#### BAM::PbDimensionKpiEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 26 | 393242 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionKpiEvent** events should be sent. Instead, you +should see **BAM::PbDimensionKpiEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionKpiEvent { + uint32 kpi_id = 1; // Id of the KPI. + uint32 ba_id = 2; // Id of the parent BA of this KPI. + string ba_name = 3; // Name of the parent BA of this KPI. + uint32 host_id = 4; // Id of the host associated with this KPI for service KPI. + string host_name = 5; // Name of the host associated with this KPI for service KPI. + uint32 service_id = 6; // Id of the service associated with this KPI for service KPI. + string service_description = 7; // Description of the service associated with this KPI for service KPI. + uint32 kpi_ba_id = 8; // Id of the BA associated with this KPI for BA KPI. + string kpi_ba_name = 9; // Name of the BA associated with this KPI for BA KPI. + uint32 meta_service_id = 10; // Id of the meta-service associated with this KPI for meta-service KPI. + string meta_service_name = 11; // Name of the meta-service associated with this KPI for meta-service KPI. + uint32 boolean_id = 12; // Id of the boolean expression associated with this KPI for boolean KPI. + string boolean_name = 13; // Name of the boolean expression associated with this KPI for boolean KPI. + double impact_warning = 14; // Impact of a warning state for this KPI. + double impact_critical = 15; // Impact of a critical state for this KPI. + double impact_unknown = 16; // Impact of a unknown state for this KPI. +} +``` + + + + +### Dimension BA BV relation + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionBaBvRelationEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 9 | 393225 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------- | ---------------- | ----------------- | +| ba\_id | unsigned integer | The id of the BA. | +| bv\_id | unsigned integer | The id of the BV. | + + + + +#### BAM::PbDimensionBaBvRelationEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 23 | 393239 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionBaBvRelationEvent** events should be sent. Instead, +you should see **BAM::PbDimensionBaBvRelationEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionBaBvRelationEvent { + uint32 ba_id = 1; // ID of the BA. + uint32 bv_id = 2; // ID of the BV. +} +``` + + + +### Dimension BV + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionBvEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 10 | 393226 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------- | ---------------- | -------------------------- | +| bv\_id | unsigned integer | The id of the BV. | +| bv\_name | string | The name of the BV. | +| bv\_description | string | The description of the BV. | + + + + +#### BAM::PbDimensionBvEvent + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 22 | 393238 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionBvEvent** events should be sent. Instead, you +should see **BAM::PbDimensionBvEvent** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionBvEvent { + uint32 bv_id = 1; // BV ID. + string bv_name = 2; // BV name. + string bv_description = 3; // BV description. +} +``` + + + + +### Dimension Truncate Table Signal + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + +This signal is sent before the dump of all the dimensions, and again at +the end of the dump. + + + + +#### BAM::DimensionTruncateTableSignal + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 11 | 393228 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------------- | ------- | ------------------------------------------------------------- | +| update\_started | boolean | True if this is the start of the dump, false if it's the end. | + + + + +#### BAM::PbDimensionTruncateTableSignal + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 30 | 393246 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionTruncateTableSignal** events should be sent. Instead, you +should see **BAM::PbDimensionTruncateTableSignal** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionTruncateTableSignal { + bool update_started = 1; // True if this is the start of the dump, false if it's the end. +} +``` + + + + +### Rebuild signal + +This event is sent when a rebuild of event durations and availabilities +is received by the BAM broker endpoint. + + + + +#### BAM::Rebuild + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 12 | 393228 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ---------------- | ------ | ----------------------------------------------------------------------------------------------------------- | +| bas\_to\_rebuild | string | A string containing the id of all the BAs to rebuild, separated by a comma and a space (i.e "1, 5, 8, 12"). | + + + + +The event is the same as in BBDO v2. There is no Protobuf event. + + + + +### Dimension timeperiod + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionTimeperiod + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 13 | 393230 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| --------- | ---------------- | --------------------------------- | +| tp\_id | unsigned integer | The ID of the time period. | +| name | string | The name of the time period. | +| monday | string | The time period rule for this day. | +| tuesday | string | The time period rule for this day. | +| wednesday | string | The time period rule for this day. | +| thursday | string | The time period rule for this day. | +| friday | string | The time period rule for this day. | +| saturday | string | The time period rule for this day. | +| sunday | string | The time period rule for this day. | + + + + +#### BAM::PbDimensionTimeperiod + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 24 | 393240 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionTimeperiod** events should be sent. Instead, you +should see **BAM::PbDimensionTimeperiod** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionTimeperiod { + uint32 id = 1; // The ID of the timeperiod. + string name = 2; // The name of the timeperiod. + string monday = 3; // The timeperiod rule for this day. + string tuesday = 4; // The timeperiod rule for this day. + string wednesday = 5; // The timeperiod rule for this day. + string thursday = 6; // The timeperiod rule for this day. + string friday = 7; // The timeperiod rule for this day. + string saturday = 8; // The timeperiod rule for this day. + string sunday = 9; // The timeperiod rule for this day. +} +``` + + + + +### Dimension BA timeperiod relation + +This event is part of the dimension (i.e configuration) dump occurring at +startup and after each BAM configuration reload. + + + + +#### BAM::DimensionBaTimeperiodRelation + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 14 | 393231 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| -------------- | ---------------- | ------------------------------------------------------ | +| ba\_id | unsigned integer | The ID of the BA. | +| timeperiod\_id | unsigned integer | The ID of the time period. | +| is\_default | boolean | True if the time period is the default one for this BA. | + + + + +#### BAM::PbDimensionBaTimeperiodRelation + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 29 | 393245 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::DimensionBaTimeperiodRelation** events should be sent. Instead, you +should see **BAM::PbDimensionBaTimeperiodRelation** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message DimensionBaTimeperiodRelation { + uint32 ba_id = 1; // ID of the BA. + uint32 timeperiod_id = 2; // ID of the timeperiod. + bool is_default = 3; // True if the timeperiod is the default one for this BA. +} +``` + + + +### Inherited downtime + + + + +#### BAM::InheritedDowntime + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 17 | 393233 | + +The content of this message is serialized as follows: + +| Property | Type | Description | +| ------------ | ---------------- | ------------------------------ | +| bad\_id | unsigned integer | The id of the BA in downtime. | +| in\_downtime | boolean | True if the BA is in downtime. | + + + + +#### BAM::PbInheritedDowntime + +| Category | element | ID | +| -------- | ------- | ------ | +| 6 | 18 | 393234 | + +This event is a Protobuf event, so items are not serialized as in BBDO v2 +events, but using the Protobuf 3 serialization mechanism. When BBDO v3 is +used, no more **BAM::InheritedDowntime** events should be sent. Instead, you +should see **BAM::PbInheritedDowntime** events. + +The [protobuf message](https://developers.google.com/protocol-buffers/docs/proto3) +is the following: + +```cpp +message BBDOHeader { + uint32 conf_version = 1; +} +message InheritedDowntime { + BBDOHeader header = 1; + uint32 ba_id = 2; // ID of the BA concerned by the downtime. + bool in_downtime = 3; // True if the BA is in downtime. +} +``` + + + diff --git a/versioned_docs/version-25.10/developer/developer-broker-stream-connector-migration.md b/versioned_docs/version-25.10/developer/developer-broker-stream-connector-migration.md new file mode 100644 index 000000000000..4d363315acaf --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-broker-stream-connector-migration.md @@ -0,0 +1,114 @@ +--- +id: developer-broker-stream-connector-migration +title : Stream connector migration to BBDO 3.0.0 +--- + +Centreon Broker 22.04.0 (and later versions) comes with a new 3.0.0 version of its BBDO protocol. +This new protocol is far more flexible than the previous one: +* it is not fixed in time, but can be upgraded without breaking changes. +* it supports more structured objets like arrays, maps and other things. +* serialization generally results into smaller buffers. + +All broker events have not yet been migrated; we just focused on: +* **neb::host** event +* **neb::host\_status** event +* **neb::service** event +* **neb::service\_status** event + +Broker can still read them,but now it produces the following events: +* **neb::pb\_host** event +* **neb::pb\_adaptive\_host** event +* **neb::pb\_host\_status** event +* **neb::pb\_service** event +* **neb::pb\_adaptive\_service** event +* **neb::pb\_service\_status** event + +The drawback is if that if you have written stream connectors, they might not work anymore, and +you would have to fix them. + +In this section, we are going to explain what has changed, and then how to fix your +issue. + +## An example of a stream connector that won't work with BBDO 3.0 + +Here is some Lua code for a stream connector that worked before BBDO 3.0 and +that will not work with Centreon Broker 22.10 or up if BBDO 3.0 is enabled: + +```LUA + function init(conf) + broker_log:set_parameters(0, "/tmp/log") + end + + function write(d) + if d.category == 1 and d.element == 23 then + broker_log:info(0, "Here is a service: " .. broker.json_encode(d)) + end + if d.category == 1 and d.element == 12 then + broker_log:info(0, "Here is a host: " .. broker.json_encode(d)) + end + return true + end +``` + +This script is very simple. The ``init()`` function initializes logs to allow +for all the logs to be written in the file ``/tmp/log``. + +The ``write()`` function, called each time an event is received, handles only two +events: the **neb::service** event (with ``category`` 1 and ``element`` 23) and +the **neb::host** event (with ``category`` 1 and ``element`` 12). + +For each of them, it is serialized in JSON and written to the log file. + +This script does not work with BBDO 3.0 because it expects the legacy events +**neb::host** and **neb::service**, and while these events can still be +forwarded by Centreon Broker, they are no longer produced with the new protocol. So +all the events received by the ``write()`` function do not match the expected +``category`` and ``element`` values. + +Instead of **neb::service**, the events produced are **neb::pb_service** and +instead of **neb::host**, the events produced are **neb::pb_host**. + +So for the script to work again, we just have to add the recognition of these +two new events. + +As a result, we get the following new script: + +```LUA + function init(conf) + broker_log:set_parameters(0, "/tmp/log") + end + + function write(d) + if d.category == 1 and (d.element == 27 or d.element == 23) then + broker_log:info(0, "Here is a service: " .. broker.json_encode(d)) + end + if d.category == 1 and (d.element == 30 or d.element == 12) then + broker_log:info(0, "Here is a host: " .. broker.json_encode(d)) + end + return true + end +``` + +Now, the script should work as expected. + +If you need to get fields from a **neb::service** event, for example **description**, +this same field should also be available in **neb::pb_service**. So generally, +except for the new types to handle, you will have nothing more to do. + +For the migration, this table can help: + +| **legacy object** | **BBDO 3.0 object** | **Comments** | +|:------------------------------------:|:------------------------------------:|--------------| +| **neb::service**
(1, 23) | **neb::pb_service**
(1, 27) | | +| **neb::host**
(1, 12) | **neb::pb_host**
(1, 30) | | +| **neb::service_status**
(1, 24) | **neb::pb_service_status**
(1, 29) | New events are lighter. Several fields can be missing. In that case, **pb_service** is useful to get them. | +| **neb::host_status**
(1, 14) | **neb::pb_host_status**
(1, 32) | New events are lighter. Several fields can be missing. In that case, **pb_host** is useful to get them. | + +There are also two new events with BBDO 3.0: *neb::pb_adaptive_host** and +**neb::pb_adaptive_service**. They carry configuration changes for a host or a +service. These events are designed to be small. + +In a **neb::pb_adaptive_service** event, there are two mandatory fields:**host\_id** +and **service\_id** to know the relevant service. All the other fields are +optional. If defined (in Lua not **nil**), the value has been set and you have +to handle it; otherwise, ignore it. diff --git a/versioned_docs/version-25.10/developer/developer-broker-stream-connector.md b/versioned_docs/version-25.10/developer/developer-broker-stream-connector.md new file mode 100644 index 000000000000..498afddea8ed --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-broker-stream-connector.md @@ -0,0 +1,516 @@ +--- +id: developer-broker-stream-connector +title : Stream connectors +--- + +Centreon Broker provides a stream connector. If no suitable connector is +found among those provided, then this stream connector is sure to fulfill your +needs. Its principle is to expose a part of the Centreon Broker API +through the Lua interpreter, and the user simply inputs their requirements. + +## The exposed Centreon Broker + +Here is the minimal acceptable Lua code for operation as stream connector: + +```LUA + function init(conf) + end + + function write(d) + return true + end +``` + +We recommend placing Lua scripts in the ``/usr/share/centreon-broker/lua`` +directory. If this directory does not exist, you can create it. Just make sure the +directory is accessible to the centreon-broker user. If a stream connector +is composed of several files (a main script and a module, for example), you can +put them in that directory. If a dynamic library (``\*.so`` file) is used by +a Lua script, put it in the ``/usr/share/centreon-broker/lua/lib`` directory. + +When Centreon Broker starts, it initializes all the configured connectors. +For the stream connector, it loads the Lua script, checks its syntax and +verifies that the ``init()`` and ``write()`` functions exist. + +Centreon Broker also checks if a ``filter(category, element)`` function exists. + +Let's focus on those functions. The ``init`` function is called when the +connector is initialized. The argument provided to this function is a Lua +table containing information given by the user in the Centreon web output broker +configuration interface. For example, if an IP address is provided with the +name *address* and the value *192.168.1.18*, then this information will be +accessible through ``conf["address"]``. + +The ``write()`` function is called each time an event is received from a poller +through the broker. This event is configured to be sent to this connector. +This function needs one argument, which is the event translated as a Lua table. + +The ``write()`` function must return a boolean that is true if the events are processed +and false otherwise. + +If this function does not return a boolean, Broker will raise an error. + +## The Broker Lua SDK + +To simplify the Lua developer's job, several objects are proposed and +made directly available to the script. + +### The *broker_log* object + +1. ``broker_log:set_parameters(level, filename)`` allows the user to set + a log level and a file name. The level is an integer from 1 to 3, from the + most important to least important. The file name must contain the full path. + In addition, the file must be accessible to centreon-broker. If this method is not + called, then logs will be written in the centreon broker logs. +2. ``broker_log:info(level, content)`` writes an *information* log if the + given level is less than or equal to the one configured. The content is the + text to write in the logs. +3. ``broker_log:warning(level, content)`` works like ``log_info`` but + writes a *warning*. +4. ``broker_log:error(level, content)`` works like ``log_info`` but writes an + *error*. + +Here is an example: + +```LUA + function init(conf) + -- Here, we allow all logs with level 3 and set the output to + -- /tmp/test.log. + broker_log:set_parameters(3, "/tmp/test.log") + end + + function write(d) + -- For each entry, we write the key and the value. + for k,v in pairs(d) do + broker_log:info(3, k .. " => " .. tostring(v)) + end + return true + end +``` + +Here, when the ``init`` function is executed, the *broker_log* object is +configured with a max level of 3 and an output file */tmp/test.log*. + +Then on each ``write()`` call, events received are logged as +info. We get a result like this: + +``` + Fri Jan 26 08:31:49 2018: INFO: service_id => 21 + Fri Jan 26 08:31:49 2018: INFO: type => 0 + Fri Jan 26 08:31:49 2018: INFO: host_id => 13 + Fri Jan 26 08:31:49 2018: INFO: element => 1 + Fri Jan 26 08:31:49 2018: INFO: comment_data => +``` + +> To use a method in Lua, the separator between the object and the +> method is ``:`` . *broker_log* is an object since it contains information +> such as the max level or the destination file. + +### The TCP broker socket + +A basic TCP socket is available in the *Broker* SDK. A simple example is the +following: + +```LUA + local socket = broker_tcp_socket.new() + socket:connect("10.40.1.2", 9002) + socket:write(message) + answer = socket:read() + socket:close() +``` + +1. In this example, the first call is *broker_tcp_socket.new()*. It creates a + new socket by calling the function *new()* stored in the table + *broker_tcp_socket*. +2. The next step is a call to the *connect* method, which needs two arguments: + a string given an ip or a host name to connect to and the port to use. +3. The next step is a call to the *write* method, which writes a string into + the socket. The method call is finished when the entire message is sent. +4. The *read* method gets a string as its result. +5. When the user has finished using the socket, they can close it with the + *close()* method. + +This socket object also provides a *get_state()* method that returns a string: + +1. *unconnected*: the socket is not connected +2. *hostLookup*: the socket is performing a host name lookup +3. *connecting*: the socket has started establishing a connection +4. *connected*: a connection is established +5. *closing*: the socket is about to close (data may still be waiting to be + written). + +### The *broker* table + +Several functions are available in this table. These functions are not +methods; *broker* is just a table containing them. It includes the following: + +1. ``json_encode(object)``, which converts a Lua object into json. The json is + returned as a string by the function. +2. ``json_decode(json)``, which converts a json string into Lua. The object + is directly returned by the method. A second value is also returned. it is + only defined when an error occurred and contains a string describing the + error. +3. ``parse_perfdata(str)``, which takes a string containing perfdata as argument. + A second boolean argument is available. If it is *true*, the returned table + is larger and gives all the details on the metrics as well as the *warning* + and *critical* thresholds. On success it returns a table containing the + values retrieved from the perfdata. On failure it returns a nil object + and an error description string. +4. ``url_encode(text)`, which` converts the string *text* into an url encoded + string. +5. ``stat(filename)``, which calls the system ``stat`` function on the file. On + success we get a table containing various information about the file (see + example below). Otherwise, this table is ``nil`` and a second return value + is given containing an error message. +6. ``md5(str)``, which computes the md5 of the string ``str`` and returns it + as a string. +7. ``bbdo_version()``, which returns the BBDO version configured in Centreon + Broker. + +```LUA + local obj = { + a = 1, + b = 2, + c = { 'aa', 'bb', 'cc' } + } + local json = broker.json_encode(obj) + print(json) +``` + +returns +```JSON + { "a": 1, "b": 2, "c": [ 'aa', 'bb', 'cc' ] } +``` + +A second example is the following: + +```LUA + local json = { "a": 1, "b": 2, "c": [ 'aa', 'bb', 'cc' ] } + local obj, err = broker.json_decode(json) + + for i,v in pairs(obj) do + print(i .. " => " .. tostring(v)) + end +``` +should return something like this: + +``` + a => 1 + b => 2 + c => table: 0x12ef67b5 +``` + +In this case (no error), ``err`` is ``nil``. + +It is also easy to access each field of the object; for example: +``obj['a']`` gives 1, or ``obj['c'][1]`` gives *aa*, or ``obj.b`` gives 2. + +Here is an example showing the possibilities of the ``parse_perfdata`` function. + +```LUA + local perf, err_str = broker.parse_perfdata(" 'one value'=2s;3;5;0;9 'a b c'=3.14KB;0.8;1;0;10") + + if perf then + for i,v in pairs(perf) do + print(i .. " => " .. tostring(v)) + end + else + print("parse_perfdata error: " .. err_str) + end +``` + +should return something like this: + +``` + a b c => 3.14 + one value => 2 +``` + +If now, we call the same function with *true* as second argument: + +```LUA + local perf, err_str = broker.parse_perfdata("pl=45%;40;80;0;100", true) + + if perf then + print("Content of 'pl'") + for i,v in pairs(perf['pl']) do + print(i .. " => " .. tostring(v)) + end + else + print("parse_perfdata error: " .. err_str) + end +``` + +should return something like this: +``` + Content of 'pl' + value => 45 + uom => % + min => 0 + max => 100 + warning_low => 0 + warning_high => 40 + warning_mode => false + critical_low => 0 + critical_high => 80 + critical_mode => false +``` + +Be careful: keys are not sorted in hash tables, so if you make such a program, you will probably not +have data in the same order. + +```LUA + local str = broker.url_encode("La leçon du château de l'araignée") + print(str) +``` + +should return something like this: +``` + La%20le%C3%A7on%20du%20ch%C3%A2teau%20de%20l%27araign%C3%A9e +``` + +```LUA + local s, err = broker.stat("filename") + for i,v in pairs(perf['pl']) do + print(i .. " => " .. tostring(v)) + end +``` + +should return something like this: +``` + uid=>1000 + gif=>1000 + size=>279 + ctime=>1587641144 + mtime=>1587641144 + atime=>1587641144 +``` + +If an error occurs, ``s`` is ``nil`` whereas ``err`` contains a string +containing an error message. + +```LUA + local info = broker.md5('Hello World!') + print(info) +``` + +should return a string of the form: +``` + ed076287532e86365e841e92bfc50d8c +``` + +```LUA + local v = broker.bbdo_version() + print(v) +``` + +should return a string of the form: +``` + 2.0.0 +``` + +### The *broker\_cache* object + +This object provides several methods to access the cache. Among data, we can +get hostnames, etc... + +> The functions described here need the cache to be filled. It is +>important for that to enable the NEB events, otherwise those functions will +> just return ``nil``. **The cache is filled when an engine restarts**. + +The available methods are: + +1. `get_ba(ba_id)`, which gets *ba* information from its id. This function + returns a table if found or *nil* otherwise. +2. get_bv(bv_id)`, which gets *bv* informations from its id. This function + returns a table if found or *nil* otherwise. +3. `get_bvs(ba_id)`, which gets all the *bv* containing the *ba* of id *ba_id*. + This function returns an array of *bv* *ids*, potentially empty if no *bv* + are found. +4. `get_check_command(host_id[, service_id])`, which gets the check command + configured in the host or service. The *service_id* is optional; if given + we want the check command from a service, otherwise we want the check + command from a host. If nothing is found in the cache, *nil* is returned. +5. `get_hostgroup_name(id)`, which gets from the cache the host group name of + the given id. This function returns a string or *nil* otherwise. +6. `get_hostgroups(host_id)`, which gets the list of host groups containing the + host corresponding to *host_id*. The return value is an array of objects, + each one containing two fields, *group_id* and *group_name*. +7. `get_hostname(id)`, which gets from the cache the host name corresponding to + the given host id. This function returns a string with the host name or + *nil* otherwise. +8. `get_index_mapping(index_id)`, which gets from the cache the + index mapping object of the given index id. The result is a table containing + three keys, `index_id`, `host_id` and `service_id`. +9. `get_instance_name(instance_id)`, which gets from the cache the + instance name corresponding to the instance id. +10. `get_metric_mapping(metric_id)`, which gets from the cache the + metric mapping object of the given metric id. The result is a table + containing two keys: `metric_id` and `index_id`. +11. `get_service_description(host_id,service_id)`, which gets from the cache the + service description of the given pair host_id / service_id. This function + returns a string or *nil* otherwise. +12. `get_servicegroup_name(id)`, which gets from the cache the service group name* + of the given id. This function returns a string or *nil* otherwise. +13. `get_servicegroups(host_id, service_id)`, which gets the list of service + groups containing the service corresponding to the pair *host_id* / + *service_id*. The return value is an array of objects, each one containing + two fields: *group_id* and *group_name*. +14. `get_notes(host_id[,service_id])`, which gets the notes configured in the + host or service. The *service_id* is optional. If given, we want notes from + a service, otherwise we want notes from a host. If the object is not found + in the cache, *nil* is returned. +15. `get_notes_url(host_id[, service_id])`, which gets the notes url configured + in the host or service. The *service_id* is optional. If given, we want + *notes url* from a service, otherwise we want it from a host. If the object + is not found in the cache, *nil* is returned. +16. `get_action_url(host_id)`, which gets the action url configured in the host + or service. The *service_id* is optional. If given, we want *action url* from + a service, otherwise we want it from a host. If the object is not found in + the cache, *nil* is returned. +17. `get_severity(host_id[,service_id])`, which gets the severity of a host or + a service. If you only provide the *host_id*, we suppose you want to get + a host severity. If a host or a service does not have any severity, the + function returns a *nil* value. + +## The init() function + +This function must **not** be defined as `local`, otherwise it will not be +detected by centreon broker. + +Imagine we have made a configuration like this: + +![image](../assets/developer/broker_config.png) + +with two custom entries: + +1. an *elastic-address* string with `172.17.0.1` as content. +2. an *elastic-port* number with 9200 as content. + +Then, the `init()` function has access to them like this: + +```LUA + function init(conf) + local my_address = conf['elastic-address'] + local port = conf['elastic-port'] + end +``` + +## The write() function + +This function must **not** be defined as `local`, otherwise it will not be +seen by the broker. + +The only argument given to the `write()` function is an event. It is given +with the same data as the ones we can see in Centreon Broker. + +To classify the event, we have two data, which are `category` and `element`. +Those two pieces of information are integers. If we concatenate those two numbers, +we obtain a longer integer equal to the event `type` also available in the +event as `_type`. + +| **int** | **short** | **short** | +|-----------|--------------|-----------| +|_type = | category | elem | + +Sometimes, you might want the hostname corresponding to an event, but you only get +the `host_id`. It is possible to get the hostname using the +`broker_cache:get_hostname(id)` method. + +For example: + +```LUA + function write(d) + if d.category == 3 and d.element == 1 then + local hostname = broker_cache:get_hostname(d.host_id) + if hostname then + broker_log:info("host name " + .. hostname .. " corresponds to host id " .. d.host_id) + else + -- Unable to get the name, we wait for the next time, wishing + -- the cache will contain the name. And so return 0 + return true + end + end + -- Here, we can add the event processing... + + return true + end +``` + +The `write` function return value is a boolean. While this value is *false*, +Broker keeps the sent events in memory and if needed in retention. When you +are sure all events are processed, the idea is that `write` returns *true* +and then Broker frees the events stack. + +Behind this, it is possible to avoid committing events one by one. +The `write` function can store them in a stack and return *false*, and when +a given limit is reached, it can send all of them to their destination and +return *true*. + +## The filter() function + +The function must **not** be defined as `local`, otherwise it will not be +detected by Centreon Broker. + +It takes two parameters into account: `category` and `element`. We have +already seen both in the previous section. The category is an integer from 1 to 7, +or the value 65535. The `element` parameter gives details of the event, for example, +for the *category NEB*, *elements* are *Acknowledgement*, *Comment*, etc. +given as integers. + +## The flush() function + +When the Broker queue size reaches the maximum allowed size, it continues to fill this +queue into a file and does not send any more events to streams. While events in +the queue are not acknowledged, streams will not receive any more events. + +In several cases, this can lead to issues. The idea is that the stream has kept +events in memory waiting for other events to send them to a database. But +Broker queue is full and Broker does not call the stream's `write` function +anymore, since it writes events directly to its retention files waiting for an +acknowledgement from the stream that will not arrive because `write` is not called. + +The solution to fix this lock in Broker is a `flush` function called regularly +by Broker that just asks the stream to flush its data. This function returns +a boolean that is true if the stream managed to flush its queue. Once Broker +receives information of a successful flush, it can newly call the stream +`write` function. + +```LUA + function write(d) + if d.category ~= 3 or d.element ~= 1 then + return false + end + + -- We don't send data each time. We fill a queue and when it is full we + -- send its content with the flush() function. + queue[#queue + 1] = serialize(d) + local retval = false + if #queue > max_queue_size then + retval = flush() + end + -- Here, we return retval that is false except when flush has sent the + -- queue content. + return retval + end + + function flush() + -- if the queue is empty, nothing to do and we can tell Broker to empty its + -- retention + if #queue == 0 then + return true + end + + -- Here, we should write some code to send events stored in the queue. + -- + -- ... + if success then + return true + else + return false + end + end +``` + +For details on types, categories and their id, see [The BBDO protocol](developer-broker-bbdo.md) diff --git a/versioned_docs/version-25.10/developer/developer-centreon-broker.md b/versioned_docs/version-25.10/developer/developer-centreon-broker.md new file mode 100644 index 000000000000..fbf1251cc3ab --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-centreon-broker.md @@ -0,0 +1,8 @@ +--- +id: centreon-broker +title: Centreon Broker +--- + +import DocCardList from '@theme/DocCardList'; + + diff --git a/versioned_docs/version-25.10/developer/developer-centreon-gorgone.md b/versioned_docs/version-25.10/developer/developer-centreon-gorgone.md new file mode 100644 index 000000000000..c5d2b55ec0de --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-centreon-gorgone.md @@ -0,0 +1,8 @@ +--- +id: centreon-gorgone +title: Centreon Gorgone +--- + +import DocCardList from '@theme/DocCardList'; + + diff --git a/versioned_docs/version-25.10/developer/developer-centreon-plugin.md b/versioned_docs/version-25.10/developer/developer-centreon-plugin.md new file mode 100644 index 000000000000..9402b814de58 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-centreon-plugin.md @@ -0,0 +1,4 @@ +--- +id: developer-centreon-plugin +title : How to wite a Centreon Plugin +--- \ No newline at end of file diff --git a/versioned_docs/version-25.10/developer/developer-gorgone-client-server-communication.md b/versioned_docs/version-25.10/developer/developer-gorgone-client-server-communication.md new file mode 100644 index 000000000000..084ede67e0cf --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-gorgone-client-server-communication.md @@ -0,0 +1,101 @@ +--- +id: developer-gorgone-client-server-communication +title : Managing client/server communication +--- + +Centreon Gorgone is the component that allows communication from the central server to the pollers and remote servers. In addition, Gorgone deploys the configuration of the monitoring engines. + +> Gorgone replaces Centcore since the Centreon 20.04 version. + +Centreon recommends using the ZMQ protocol for communication between two **gorgoned** +processes. +When using the ZMQ protocol, all communications are encrypted using symmetric-key encryption +based on public/private keys from both client and server. So you need to generate public/private keys to set the configuration. + +In a Centreon context: +- the Central server has a Gorgone running (by default) as a client and can connect to Gorgone servers running on remote servers and pollers. +- Remote servers have a Gorgone running (by default) as a client and can connect to Gorgone servers running on pollers. + +Follow this procedure to set the communication between client and server. + +## Generate private and public keys +On both client and server, generate RSA (format for key encryption) private and public keys using the **centreon** user. + +```shell +$ mkdir -p /var/spool/centreon/.gorgone/ +$ chmod 700 /var/spool/centreon/.gorgone +$ openssl genrsa -out /var/spool/centreon/.gorgone/privkey.pem 4092 +Generating RSA private key, 4092 bit long modulus +...................................++ +...........................................................................................................................................................................++ +e is 65537 (0x10001) +$ openssl rsa -in /var/spool/centreon/.gorgone/privkey.pem -out /var/spool/centreon/.gorgone/pubkey.pem -pubout -outform PEM +writing RSA key +$ chmod 644 /var/spool/centreon/.gorgone/pubkey.pem +$ chmod 600 /var/spool/centreon/.gorgone/privkey.pem +``` + +Copy the server's public key onto the client in a specific directory (for example **/var/spool/centreon/.gorgone/**). + +## Get the string-formatted JWK thumbprint + +On the client side, execute the following command: + +```shell +$ perl /usr/local/bin/gorgone_key_thumbprint.pl --key-path='/var/spool/centreon/.gorgone/pubkey.pem' +2019-09-30 11:00:00 - INFO - File '/var/spool/centreon/.gorgone/pubkey.pem' JWK thumbprint: pnI6EWkiTbazjikJXRkLmjml5wvVECYtQduJUjS4QK4 +``` + +## Set the configurations + +You need to make the Gorgone IDs match the Centreon poller IDs to benefit from the legacy command module's actions. + +### On the server side + +In the **/etc/centreon/confid.d/20-gorgoned.yaml** configuration file, add the following directives under the **gorgonecore** section: + +```shell +gorgone: + gorgonecore: + id: 1 + privkey: /var/spool/centreon/.gorgone/privkey.pem + pubkey: /var/spool/centreon/.gorgone/pubkey.pem +``` + +Add the register module and define the path to the dedicated configuration file. + +```shell +modules: + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon/gorgone-targets.yml +``` + +Create the file **/etc/centreon/gorgone-targets.yml** and fill it with the following configuration: + +```shell + nodes: + - id: 2 + type: push_zmq + address: 10.1.2.3 + port: 5556 +``` + +### On the client side + +In the **/etc/centreon/config.d/20-gorgoned.yaml** configuration file, add the following directives: + +```shell +gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + privkey: /var/spool/centreon/.gorgone/privkey.pem + pubkey: /var/spool/centreon/.gorgone/pubkey.pem + authorized_clients: + - key: pnI6EWkiTbazjikJXRkLmjml5wvVECYtQduJUjS4QK4 +``` + +The **authorized_clients** entry allows you to define the client public key thumbprint retrieved earlier. diff --git a/versioned_docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md b/versioned_docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md new file mode 100644 index 000000000000..6a4a854426a3 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-gorgone-migrate-from-centcore.md @@ -0,0 +1,99 @@ +--- +id: developer-gorgone-migrate-from-centcore +title : Migrating from Centreon Centcore +--- + +Follow this procedure to migrate from Centreon Centcore to Centreon Gorgone. + +You need to build a configuration file based on **/etc/centreon/conf.pm**. + +- If using packages, execute the following command: + +```shell +$ perl /usr/local/bin/gorgone_config_init.pl +2019-09-30 11:00:00 - INFO - file '/etc/centreon-gorgone/config.yaml' created success +``` + +- If using sources, execute the following command: + +```shell +$ perl ./contrib/gorgone_config_init.pl +2019-09-30 11:00:00 - INFO - file '/etc/centreon-gorgone/config.yaml' created success +``` +> You need to adapt the sections according to your own initial database, configuration and network setup. + +The following configuration file will be created at **/etc/centreon-gorgone/config.yaml**: + +```shell +name: config.yaml +description: Configuration init by gorgone_config_init +configuration: + centreon: + database: + db_configuration: + dsn: "mysql:host=localhost;port=3306;dbname=centreon" + username: "centreon" + password: "centreon" + db_realtime: + dsn: "mysql:host=localhost;port=3306;dbname=centreon_storage" + username: "centreon" + password: "centreon" + gorgone: + gorgonecore: + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: httpserver + package: gorgone::modules::core::httpserver::hooks + enable: false + address: 0.0.0.0 + port: 8085 + ssl: false + auth: + enabled: false + allowed_hosts: + enabled: true + subnets: + - 127.0.0.1/32 + + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: gorgone::modules::core::cron::hooks + enable: false + cron: !include cron.d/*.yaml + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/lib/centreon/remote-data/" + + - name: engine + package: "gorgone::modules::centreon::engine::hooks" + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pollers + package: gorgone::modules::centreon::pollers::hooks + enable: true + + - name: broker + package: "gorgone::modules::centreon::broker::hooks" + enable: true + cache_dir: "/var/cache/centreon//broker-stats/" + cron: + - id: broker_stats + timespec: "*/2 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 +``` diff --git a/versioned_docs/version-25.10/developer/developer-gorgone-pull-mode.md b/versioned_docs/version-25.10/developer/developer-gorgone-pull-mode.md new file mode 100644 index 000000000000..231671ee8053 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-gorgone-pull-mode.md @@ -0,0 +1,98 @@ +--- +id: developer-gorgone-pull-mode +title : Configuring Gorgone in pull mode +--- + +This procedure describes how to configure Gorgone between a distant poller and a central server. + +- Pull mode allows the poller to act as a client and connect to the Central (which will be the server). + +- Pull mode is relevant when firewalls are set on pollers and prevent incoming traffic. + +- Pull mode is relevant when the Central is in the cloud and pollers are not reachable through the usual IP addresses. In that situation, the pull (or reverse) mode is used to make each poller initiate a connection to the public IP address of the Central. Learn more about this use case in [this article](https://thewatch.centreon.com/product-how-to-21/how-to-use-the-gorgone-pull-mode-374). + + +> Note: In our case, we have the configuration described below (you must adapt the procedure to your configuration). + +Central server: +- address: 10.30.2.203 + +Distant Poller: +- id: 6 (configured in the Centreon interface as zmq. You can get this ID from the Centreon interface). +- address: 10.30.2.179 +- rsa public key thumbprint: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + +## On the remote poller side + +### Installation requirements + +Ensure the remote poller and Gorgone are already installed. + +### Configuration + +Configure the file **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** as follows: + +```shell +name: distant-server +description: Configuration for distant server +gorgone: + gorgonecore: + id: 6 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.203:5556 + ping: 1 +``` + +## On the Central server side + +### Installation requirements + +Ensure the Central server and Gorgone are already installed. + +### Configuration + +Configure the file **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** as follows: + +```shell +... +gorgone: + gorgonecore: + ... + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + ... + modules: + ... + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon-gorgone/nodes-register-override.yml + ... +``` + +We created the file **/etc/centreon-gorgone/nodes-register-override.yml**: + +```shell +nodes: + - id: 6 + type: pull + prevail: 1 +``` diff --git a/versioned_docs/version-25.10/developer/developer-gorgone-rebound-mode.md b/versioned_docs/version-25.10/developer/developer-gorgone-rebound-mode.md new file mode 100644 index 000000000000..4564909cc63f --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-gorgone-rebound-mode.md @@ -0,0 +1,189 @@ +--- +id: developer-gorgone-rebound-mode +title : Configuring Gorgone in rebound mode +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This procedure describes how to configure Gorgone between a remote poller and a central server, via a rebound server. + +> Note: In our case, we have the configuration described below (you must adapt the procedure to your configuration). + +Central server: +- address: 10.30.2.203 + +Rebound server: +- id: 1024 (This id is an arbitrary number and must be unique). +- address: 10.30.2.67 +- rsa public key thumbprint: NmnPME43IoWpkQoam6CLnrI5hjmdq6Kq8QMUCCg-F4g + +Remote Poller: +- id: 6 (configured in Centreon interface as zmq. You can get this id from the Centreon interface) +- address: 10.30.2.179 +- rsa public key thumbprint: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + +## On the remote poller side + +### Installation requirements + +Ensure the remote poller and Gorgone are already installed. + +### Configuration + +Configure the file **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** as follows: + +```shell +name: distant-server +description: Configuration for distant server +gorgone: + gorgonecore: + id: 6 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.67:5556 + ping: 1 +``` + +## On the rebound server side + +### Installation requirements + +Ensure you have installed a server with a [supported OS](../installation/compatibility.md#operating-systems). + +Then install the Gorgone daemon using the following commands: + + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +dnf install centreon-gorgone +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +dnf install centreon-gorgone +``` + + + + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + +Then install Gorgone: + +```shell +apt install centreon-gorgone +``` + + + + +### Configuration + +Configure the file **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** as follows: + +```shell +name: rebound-server +description: Configuration for rebound-server +gorgone: + gorgonecore: + id: 1024 + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: nJSH9nZN2ugQeksHif7Jtv19RQA58yjxfX-Cpnhx09s + + modules: + - name: proxy + package: "gorgone::modules::core::proxy::hooks" + enable: true + + - name: pull + package: "gorgone::modules::core::pull::hooks" + enable: true + target_type: tcp + target_path: 10.30.2.203:5556 + ping: 1 +``` + +## On the central server side + +### Installation requirements + +Ensure the Central server and Gorgone are already installed. + +### Configuration + +Configure the file **/etc/centreon-gorgone/config.d/40-gorgoned.yaml** as follows: + +```shell +... +gorgone: + gorgonecore: + ... + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: NmnPME43IoWpkQoam6CLnrI5hjmdq6Kq8QMUCCg-F4g + ... + modules: + ... + - name: register + package: "gorgone::modules::core::register::hooks" + enable: true + config_file: /etc/centreon-gorgone/nodes-register-override.yml + ... +``` + +We created the file **/etc/centreon-gorgone/nodes-register-override.yml**: + +```shell +nodes: + - id: 1024 + type: pull + prevail: 1 + nodes: + - id: 6 + pathscore: 1 +``` diff --git a/versioned_docs/version-25.10/developer/developer-module.md b/versioned_docs/version-25.10/developer/developer-module.md new file mode 100644 index 000000000000..8a73bbd1d432 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-module.md @@ -0,0 +1,123 @@ +--- +id: developer-module +title: How to write a module +--- + +Do you want to create a new module for Centreon or adapt an existing one? You're in the right place! + +An empty module template can be found inside [Centreon's repository](https://github.com/centreon/centreon-dummy) + +--- +> **_NOTE:_** Main documentation is directly stored in the +> [dummy repository](https://github.com/centreon/centreon-dummy/blob/master/README.md) + +--- + +You should know that Centreon contains a page dedicated to the installation and uninstallation of modules +(**Administration > Extensions > Manager**). To make a module appear on this page, its directory must be placed inside +Centreon's ``modules/`` directory. Example: + +```Shell +/usr/share/centreon/www/modules/dummy +``` + +## Basis + +The essential elements your module's directory must contain are presented below: +```PHP +$module_conf['dummy'] = [ + // Short module's name. Must be equal to your module's directory name + 'name' => 'dummy', + // Full module's name + 'rname' => 'Dummy Example Module', + // Module's version + 'mod_release' => '24.10', + // Additional information + 'infos' => 'This module is a skeleton', + // Allow your module to be uninstalled + 'is_removeable' => '1', + // Module author's name + 'author' => 'Centreon', + // Stability of module. + 'stability' => 'stable', + // Last time module was updated. + 'last_update' => '2020-12-01', + // Release notes link, if any. + 'release_note' => 'https://docs.centreon.com/current/en/releases/centreon-os-extensions', + // Images associated with this module. + 'images' => [ + 'images/centreon.png', + ], +]; +``` + +**[php > install.php]** + +This PHP file is executed at module installation if it is configured +inside the *conf.php* file. + +**[php > uninstall.php]** + +This PHP file is executed at module uninstallation if it is configured +inside the *conf.php* file. + +**[sql > install.sql]** + +This SQL file is executed during module installation if it is configured inside the *conf.php* file. If you want +your module to be available from Centreon menus, you must insert new entries into the ``topology`` table of the +``centreon`` database. An example is available inside the ``Dummy`` module. + +**[sql > uninstall.sql]** + +This SQL file is executed during module uninstallation if it is configured inside the *conf.php* file. It can also +remove your module from Centreon menus. + +**[generate_files > \*.php]** + +The PHP files contained inside the ``generate_files`` directory will be executed during the generation of monitoring engine +configuration files (inside **Configuration > Monitoring Engines**). Those files must generate configuration +files. + +**[UPGRADE > dummy-x.x > sql > upgrade.sql]** + +Centreon provides an upgrade system for modules. To use it, just add a directory under ``UPGRADE`` named using the +following pattern: ``-``. When you click the upgrade button, Centreon will search for scripts +to execute, following the logical order of versions. + +For example, if the version 1.0 of the dummy module is installed and the following directories exist: +```Shell +ls UPGRADE +dummy-1.1 dummy-1.2 +``` + +Centreon will execute the scripts in the following order: 1.1, 1.2. A configuration file in each upgrade directory is +present in order to allow (or not) the execution. + +You are free to organize the remaining files (your module's content) as you like. + +## Advanced + + > :warning: **This section is deprecated; please refer to + > the [dummy repository documentation](https://github.com/centreon/centreon-dummy/blob/master/README.md)** + +That's great, you know how to install a module! Since an empty module is not really useful, put your imagination to work. +Knowing that you can do almost anything, it should not be too complicated :-). + +### Connecting to the database + +You can use the ``centreon`` and ``centstorage`` databases by calling the following file: +``centreon/www/class/centreonDB.class.php``. + +For example, execute requests like this: + +```PHP +$pearDB = new CentreonDB(); +$pearDB->query("SELECT * FROM host"); +``` + +### Existing functions + +You can access most of the functions already developed within Centreon using ``include()`` statements. They are generally +stored in ``centreon/www/class/``. + +Before developing your own function, check the existing code. It could save you some time! diff --git a/versioned_docs/version-25.10/developer/developer-stream-connector.md b/versioned_docs/version-25.10/developer/developer-stream-connector.md new file mode 100644 index 000000000000..a32a8f795d2d --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-stream-connector.md @@ -0,0 +1,791 @@ +--- +id: developer-stream-connector +title : How to write a Stream Connector +--- + +## Overview + +Centreon Stream Connector is a feature introduced in Centreon 3.4.6. It lets you export Centreon data (events and +metrics) to an external storage or application such as ElasticSearch, Splunk, InfluxDB, files, etc. + +In a Centreon platform, the component that carries information between the remote pollers and the Centreon central +server is called Centreon Broker. This broker stores received data in the Centreon local storage: MariaDB and RRDtool. + +The following diagram explains the transfer of collected data and insertion into storage: + +![image](../assets/developer/lua/archi_broker_regular.png) + +The Stream Connector feature is a new Centreon Broker output getting data from Centreon Broker Master (also known +as Centreon Broker SQL) to aggregate and forward it to external storage. + +This output loads a Lua script called a Stream Connector, whose job is to handle, aggregate and enrich the data before +forwarding it to the defined protocol: + +![image](../assets/developer/lua/archi_broker_lua_script.png) + +Because it is an output of Centreon Broker, the principle of creating retention files upon interrupting external storage +access is retained. In the same way, it is possible to filter input on the categories of flow to handle. + +## Requirements + +To use the Centreon Stream connector feature, you need at least Centreon version 3.4.6: + +* Centreon Web >= 2.8.18 +* Centreon Broker >= 3.0.13 +* Lua >= 5.1.x + +## Creating a new Lua script + +The complete technical documentation is available [here](developer-broker-stream-connector.md). +In this how-to, we will write two scripts: + +* The first one, easy, that explains the basics of Stream Connectors. Its goal is to export data to a log file. +* The second one is more challenging for the reader; it exports performance data to the TSDB InfluxDB, but is easily + adaptable to export to another TSDB. + +## Migrating a stream connector from BBDO 2 to BBDO 3 + +The technical migration documentation is available [here](developer-broker-stream-connector-migration.md). +This how-to gives several tips to succeed with the migration and presents a little example. + +### Programming language + +Centreon chose the Lua programming language to let you handle, aggregate and transfer data. Lua is a programming language +that is easy to use. You can find more information in the [Lua official documentation](https://www.lua.org/docs.html). + +### Storage of Lua scripts + +Broker's Lua scripts can be stored in any directory readable by the **centreon-broker** user. + +We recommend storing them in **/usr/share/centreon-broker/lua**. + +### Write all information into a file + +#### Store raw data + +Let's start with the first script. Our goal is to store all events given by Broker in a log file. We will call our +stream connector **bbdo2file.lua**. + +As we said previously, we will store this file in the **/usr/share/centreon-broker/lua** directory on the Centreon +central server. + +If the directory does not exist, as root, we can create it with the following command: + +```Shell +mkdir -p /usr/share/centreon-broker/lua +``` + +Centreon Broker provides several log functions to write logs, warnings or errors into a file. We will use one of these +*info()* functions to write Broker events. [See technical documentation for more information](developer-broker-stream-connector.md#the-broker_log-object) + +The *info()* function is part of the *broker_log* object. To call it, the syntax is as follows: + +```LUA +broker_log:info(level, text) +``` + +* *level* is an integer from 1 (most important) to 3 (least important). +* *text* is the text to write as log. + +> Did you notice the separator between **broker_log** and **info**? Yes, it is a colon! This is how object functions, also called +*methods*, are called in Lua. + +Let's start our script. The more important function in a stream connector is the **write()** function. Each time an +event is received from a poller through Broker, this function is called with the event as an argument. + +> You will never have to call the **write()** function yourself; it is always Broker's job to do this. In fact, it would +> be an error to make such a call. In other words, there should not be any call to the **write()** function in your script. +> [See technical documentation for more information](developer-broker-stream-connector.md#the-write-function) + +Here is the first version of **bbdo2file.lua**: + +```LUA +function init(conf) + broker_log:set_parameters(3, "/var/log/centreon-broker/bbdo2file.log") +end + +function write(d) + for k,v in pairs(d) do + broker_log:info(3, k .. " => " .. tostring(v)) + end + return true +end +``` + +> Information about the initialization of the Broker's log function and its parameters are given here +> [see technical documentation](developer-broker-stream-connector.md#the-broker_log-object). + +Let's explain what we are doing in this script. + +We must provide an **init()** function. This is described in the [technical documentation](developer-broker-stream-connector.md#the-init-function) + +This function is called during stream connector initialization. Here, we use it to initialize the **broker_log** +object. To achieve this, we call the **broker_log::set_parameters()** method, which needs two parameters: + +* A max level (from 1 to 3). If you enter 2 here, only logs of levels 1 and 2 will be returned. +* A file to write the logs in. This file must be in a writable directory for the **centreon-broker** user. + +The second function is the **write()** function. As already stated, its argument is a Broker event. This type of object +is a collection of keys/values. For example: + +```JSON +{ + "check_hosts_freshness": false, + "active_host_checks": true, + "category": 1, + "event_handlers": true, + "instance_id": 1, + "last_command_check": 1522836592, + "type": 65552, + "global_service_event_handler": "", + "obsess_over_services": false, + "passive_service_checks": true, + "last_alive": 1522836593, + "active_service_checks": true, + "check_services_freshness": true, + "flap_detection": false, + "global_host_event_handler": "", + "notifications": true, + "obsess_over_hosts": false, + "passive_host_checks": true, + "element": 16 +} +``` + +In all events, you will find *category*, *element* and *type*. + +* Information about the *category* can be found [here in the bbdo documentation](developer-broker-bbdo.md#event-categories) +* The *element* is the *sub-category* (also called *type* in the bbdo documentation). +* The *type* is a number built from the *category* and the *element* (binary concatenation). + +In this example, the *category* is 1 and the *element* is 16. So, by reading the documentation, we can say that this event +is a NEB event with sub-category *instance-status*. + +To finish with the **write()** function, we make a loop on the **d** event parameters. For each step, *k* is a key and +*v* is the corresponding value. And we send the following string to the log file: `k .. " => " .. tostring(v)`. That means the +*concatenation* of *k*, *=>* and *v* converted into a string. You will see an example of the result below. + +Another possibility would be to use the **broker.json_encode(d)** function that converts any Lua object to a *json* +string representation of it. So, we could write the function like this: + +```LUA +function write(d) + broker_log:info(3, broker.json_encode(d)) + return true +end +``` + +> You can notice that **broker.json_encode(d)** is made of **broker** and **json_encode(d)** separated by a *dot* and +> not a *colon*. This is because **broker** is not a Lua object. In fact, you can see it as a function set provided +> by *Centreon Broker*. + +Once your file **/usr/share/centreon-broker/lua/bbdo2file.lua** is ready, check that it is readable by the +**centreon-broker** user (or the **centreon-engine** user who is the owner of the **centreon-broker** group). If it is not, +as root you can enter: + +```Shell +chown centreon-engine:centreon-engine /usr/share/centreon-broker/lua/bbdo2file.lua +``` + +Then configure the new output in the Centreon Web interface in **Configuration > Pollers > Broker configuration > Central Broker**. +In the **Output** tab, select **Generic – Stream connector** and click **Add**: + +![image](../assets/developer/lua/add_stream_connector.png) + +Define the name of this output and the path to the Lua connector: + +![image](../assets/developer/lua/describe_output.png) + +Then click **Save** and proceed to generate the configuration and restart **cbd**. + +Once the Centreon Broker is restarted on your Centreon central server, data will appear in your +**/var/log/centreon-broker/bbdo2file.log** log file: + +```Shell +mer. 28 mars 2018 14:27:35 CEST: INFO: flap_detection => true +mer. 28 mars 2018 14:27:35 CEST: INFO: enabled => true +mer. 28 mars 2018 14:27:35 CEST: INFO: host_id => 102 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_time_ok => 1522240053 +mer. 28 mars 2018 14:27:35 CEST: INFO: state => 0 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_update => 1522240054 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_check => 1522240053 +mer. 28 mars 2018 14:27:35 CEST: INFO: execution_time => 0.005025 +mer. 28 mars 2018 14:27:35 CEST: INFO: acknowledged => false +mer. 28 mars 2018 14:27:35 CEST: INFO: service_id => 778 +mer. 28 mars 2018 14:27:35 CEST: INFO: active_checks => true +mer. 28 mars 2018 14:27:35 CEST: INFO: notify => false +mer. 28 mars 2018 14:27:35 CEST: INFO: max_check_attempts => 3 +mer. 28 mars 2018 14:27:35 CEST: INFO: obsess_over_service => true +mer. 28 mars 2018 14:27:35 CEST: INFO: check_type => 0 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_hard_state_change => 1522165654 +mer. 28 mars 2018 14:27:35 CEST: INFO: category => 1 +mer. 28 mars 2018 14:27:35 CEST: INFO: perfdata => used=41986296644o;48103633715;54116587930;0;60129542144 size=60129542144o +mer. 28 mars 2018 14:27:35 CEST: INFO: check_interval => 5 +mer. 28 mars 2018 14:27:35 CEST: INFO: output => Disk /var - used : 39.10 Go - size : 56.00 Go - percent : 69 % +mer. 28 mars 2018 14:27:35 CEST: INFO: check_command => check-bench-disk +mer. 28 mars 2018 14:27:35 CEST: INFO: check_period => 24x7 +mer. 28 mars 2018 14:27:35 CEST: INFO: type => 65560 +mer. 28 mars 2018 14:27:35 CEST: INFO: last_hard_state => 0 +``` + +> This log file will grow quickly, so remember to add a log rotate. + +#### Use parameters + +The Centreon Broker log functions should be used for log only. To write into a file, we must use the Lua dedicated +function. Moreover, it is possible to use parameters to define the name of the log file. + +So let's improve our Stream Connector: + +```LUA +function init(conf) + logFile = conf['logFile'] + broker_log:set_parameters(3, "/var/log/centreon-broker/debug.log") +end + +function writeIntoFile(output) + local file,err = io.open(logFile, 'a') + if file == nil then + broker_log:info(3, "Couldn't open file: " .. err) + else + file:write(output) + file:close() + end +end + +function write(d) + for k,v in pairs(d) do + writeIntoFile(k .. " => " .. tostring(v) .. "\n") + end + return true +end +``` + +Did you notice the expression `local file,err = io.open(logFile, 'a')`? + +Lua is able to store several variables at the same time. Also, Lua functions can return several variables! + +For example, if you want to swap variables *a* and *b*, you can enter: + +```LUA +a, b = b, a +``` + +Here is another example that illustrates several values returned: + +```LUA +function fib(a, b) + return b, a + b +end +``` + +So, this call to **io.open** returns two variables: a first variable **file** that is a *file descriptor* used to access +the file, and a second variable, not always defined, which contains the error if one occurs or **nil** (not defined) otherwise. + +The **init()** function can get parameters and define these from Centreon web interface. Refer to the technical +documentation for more information. Here, we add the possibility to choose the destination file name. The **conf** table +has a key *logFile* defined in the web interface. The corresponding value is the file name used to store events. + +Edit your Broker output to declare this parameter: + +![image](../assets/developer/lua/add_parameter.png) + +It is important that the name of the parameter in the web interface should match the key name in the **conf** table. Here, +it is *logFile*. + +Then click **Save** and proceed to generate the configuration and restart **cbd**. + +Data are stored in the **/var/log/centreon-broker/bbdo2file.log** log file as follows: +```Shell +name => error +category => 3 +interval => 300 +rrd_len => 3456000 +value => 0 +value_type => 0 +type => 196612 +ctime => 1522315660 +index_id => 4880 +element => 4 +state => 0 +category => 3 +interval => 300 +rrd_len => 3456000 +is_for_rebuild => false +service_id => 1056 +type => 196609 +ctime => 1522315660 +host_id => 145 +element => 1 +is_for_rebuild => false +metric_id => 11920 +``` + +#### Manipulate data + +Here, we continue to improve our stream connector by choosing which events to export and also by improving outputs. + +We will select only the NEB category and events concerning the status of hosts and services. + +We know that NEB is category 1, and service status is sub-category 24, whereas host status is sub-category 14. + +So, only events with the following criteria: + +* category = 1 +* element = 14 or element = 24 + +are of interest to us. + +Moreover, we would prefer to have a host name instead of a host id and a service description instead of a service id. + +Finally, we would be interested in obtaining status information and outputs. + +NEB Events with elements 14 and 24 provide almost everything we want except host names and service descriptions. + +To get those two pieces of information, we will have to use the **broker_cache** object. This object is filled when pollers are +restarted or reloaded. So, remember to restart your pollers if you want something in your **broker_cache** object! + +If the cache is well filled, it is easy to get a host name from the host id: +```LUA +broker_cache:get_hostname(host_id) +``` + +And it is also easy to get the service description from the host id and service id: +```LUA +broker_cache:get_service_description(host_id, service_id) +``` + +To install the filter on events, there is a useful function called **filter()** that takes two parameters into account: +*category*, *element*. + +This function, if defined, is called just before **write()**. If it returns **true**, the **write()** function will be +called. Otherwise, the event will be discarded. + +Let's complete our Lua script: + +```LUA +function init(conf) + logFile = conf['logFile'] + broker_log:set_parameters(3, "/var/log/centreon-broker/debug.log") +end + +local function writeIntoFile(output) + local file,err = io.open(logFile, 'a') + if file == nil then + broker_log:info(3, "Couldn't open file: " .. err) + else + file:write(output) + file:close() + end +end + +function write(d) + local output = "" + + local host_name = broker_cache:get_hostname(d.host_id) + if not host_name then + broker_log:info(3, "Unable to get name of host, please restart centengine") + host_name = d.host_id + end + + if d.element == 14 then + output = "HOST:" .. host_name .. ";" .. d.host_id .. ";" .. d.state .. ";" .. d.output + writeIntoFile(output) + broker_log:info(output) + elseif d.element == 24 then + local service_description = broker_cache:get_service_description(d.host_id, d.service_id) + if not service_description then + broker_log:info(3, "Unable to get description of service, please restart centengine") + service_description = d.service_id + end + output = "SERVICE:" .. host_name .. ";" .. d.host_id .. ";" .. service_description .. ";" .. d.service_id .. ";" .. d.state .. ";" .. d.output + writeIntoFile(output) + broker_log:info(output) + end + return true +end + +function filter(category, element) + -- Get only host status and services status from NEB category + if category == 1 and (element == 14 or element == 24) then + return true + end + return false +end +``` + +Let us make a few comments on this new script before showing what we get. + +In the **init()** function, we access the *logFile* key in the *conf* table by using `conf['logFile']`. On the other hand, in the +**write()** function, we access the *element* key in the *d* table by using `d.element`... + +In fact, both syntaxes are allowed: `d.element` is the same value as `d['element']`. + +Another observation: in the **write()** function, we can see something like:: +```LUA +if not host_name then +``` + +And in the **writeIntoFile()** function, we can see that:: +```LUA +if file == nil then +``` + +Do they mean the same thing? What is the difference? + +In Lua, a variable is considered to be **true** if it is defined and not **false**: + +so, the following code + +```LUA +if foo then + print("Good") +else + print("Bad") +end +``` + +will write *Good* if *foo* is defined and not **false**. More precisely, it will write *Good* in the following cases: + +* foo=12 +* foo=true +* foo="A string" +* foo=0 (surprising!) + +It will write *Bad* in these cases: + +* foo=nil (by default a variable is nil, which means not defined) +* foo=false + +The **/var/log/centreon-broker/bbdo2file.log** file will now contain: +```Shell +HOST:srv-DC-djakarta;215;0;OK - srv-DC-djakarta: rta 0.061ms, lost 0% +SERVICE:mail-titan-gateway;92;disk-/usr;623;0;Disk /usr - used : 42.98 Go - size : 142.00 Go - percent : 30 % +SERVICE:mail-sun-master;87;memory-stats;535;0;Memory usage (Total 13.0GB): 0.12GB [buffer:0.00GB] [cache:0.01GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.07GB] [inactive:0.00GB] [apps:0.02GB] [unused:12.88GB] +SERVICE:mail-saturn-frontend;86;traffic-eth1;512;0;Traffic In : 4.73 Mb/s (4.73 %), Out : 4.79 Mb/s (4.79 %) - Total RX Bits In : 396.01 Gb, Out : 393.88 Gb +SERVICE:mail-saturn-frontend;86;memory-stats;515;0;Memory usage (Total 16.0GB): 8.89GB [buffer:0.43GB] [cache:0.95GB] [pages_tables:0.27GB] [mapped:0.15GB] [active:3.92GB] [inactive:0.29GB] [apps:2.88GB] [unused:7.11GB] +SERVICE:mail-neptune-frontend;80;traffic-eth1;392;0;Traffic In : 4.82 Mb/s (4.82 %), Out : 6.48 Mb/s (6.48 %) - Total RX Bits In : 398.40 Gb, Out : 396.44 Gb +HOST:srv-DC-casablanca;207;0;OK - srv-DC-casablanca: rta 2.042ms, lost 0% +SERVICE:mail-neptune-frontend;80;memory-stats;395;0;Memory usage (Total 9.0GB): 0.54GB [buffer:0.03GB] [cache:0.00GB] [pages_tables:0.01GB] [mapped:0.00GB] [active:0.48GB] [inactive:0.00GB] [apps:0.01GB] [unused:8.46GB] +SERVICE:mail-mercury-frontend;82;traffic-eth1;432;0;Traffic In : 8.28 Mb/s (8.28 %), Out : 1.23 Mb/s (1.23 %) - Total RX Bits In : 397.71 Gb, Out : 400.34 Gb +SERVICE:mail-mercury-frontend;82;memory-stats;435;0;Memory usage (Total 12.0GB): 1.58GB [buffer:0.00GB] [cache:0.63GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.75GB] [inactive:0.00GB] [apps:0.19GB] [unused:10.42GB] +SERVICE:mail-mars-frontend;84;traffic-eth1;472;0;Traffic In : 7.24 Mb/s (7.24 %), Out : 3.36 Mb/s (3.36 %) - Total RX Bits In : 399.93 Gb, Out : 395.67 Gb +SERVICE:mail-mars-frontend;84;memory-stats;475;0;Memory usage (Total 3.0GB): 1.19GB [buffer:0.01GB] [cache:0.59GB] [pages_tables:0.00GB] [mapped:0.00GB] [active:0.15GB] [inactive:0.04GB] [apps:0.39GB] [unused:1.81GB] +SERVICE:mail-jupiter-frontend;85;traffic-eth1;492;0;Traffic In : 1.41 Mb/s (1.41 %), Out : 9.08 Mb/s (9.08 %) - Total RX Bits In : 388.86 Gb, Out : 394.85 Gb +SERVICE:mail-jupiter-frontend;85;memory-stats;495;0;Memory usage (Total 12.0GB): 0.57GB [buffer:0.04GB] [cache:0.23GB] [pages_tables:0.02GB] [mapped:0.02GB] [active:0.07GB] [inactive:0.03GB] [apps:0.16GB] [unused:11.43GB] +SERVICE:mail-io-backend;88;traffic-eth1;547;0;Traffic In : 1.51 Mb/s (1.51 %), Out : 7.12 Mb/s (7.12 %) - Total RX Bits In : 389.61 Gb, Out : 390.54 Gb +SERVICE:mail-io-backend;88;diskio-system;551;0;Device /dev/sda: avg read 4.78 (MB/s) and write 9.08 (MB/s) +``` + +## Export performance data to InfluxDB + +Now, you have already seen much discussion about stream connectors. It is time to create something more useful! + +[InfluxDB](https://www.influxdata.com/) is a Time Series database. We will use this storage to insert performance data +collected by the Centreon platform. For this example, we will use the predefined [InfluxDB Docker](https://hub.docker.com/_/influxdb/). + +To send data to InfluxDB, we need parameters to access the InfluxDB storage: + +* **http_server_address**: IP address of the storage +* **http_server_port**: 8086 by default +* **http_server_protocol**: http or https +* **influx_database**: name of database +* **influx_user**: user to access database if defined +* **influx_password**: password of user to access database if defined + +To avoid saturating the storage, we will add all events to a queue and once its maximum size is reached, we will send +data in bulk. + +We need to define the size of the queue and the maximum delay before sending events: + +* max_buffer_size +* max_buffer_age + +To create this queue, we introduce a slightly more complicated code. We construct an **event_queue** object. It is +composed of parameters such as *events*, *influx_database* and methods like *new()*, *add()*. + +To understand how to create such an object in Lua, we recommend the Lua documentation +[here for classes](https://www.lua.org/pil/16.1.html) and [there for metatables](https://www.lua.org/pil/13.html) + +To send data to a server, we provide a **broker_tcp_socket** object. + +Its API is very simple (too simple?). This *socket* is a TCP socket, so it does not support encryption and it can be +tricky to send data in http. Here is an example: + +```LUA +-- Here, we create our socket +local socket = broker_tcp_socket.new() + +-- We establish the connection with the server +socket:connect(address, port) + +-- Now, we can send data +socket:write("This is a text to send") + +-- If, we want an answer, we also have a function to read +local content = socket:read() + +-- When exchanges are finished, we can close the socket +socket:close() +``` + +For our purpose, we do not use **broker_tcp_socket** because of its limitations. We want to be able to send data to an +https server. + +A prerequisite is to install the [lua-socket library](http://w3.impa.br/~diego/software/luasocket/). This library +provides several features, and we need two of them: + +* http socket +* ltn12 + +To access them, Lua provides the **require** function. + +Let's introduce the beginning of our new Stream Connector. + +### The queue parameters + +```LUA +-- We declare the objects to import here +local http = require("socket.http") +local ltn12 = require("ltn12") + +-- Here are predefined queue parameters +local event_queue = { + __internal_ts_last_flush = nil, + http_server_address = "", + http_server_port = 8086, + http_server_protocol = "http", + events = {}, + influx_database = "mydb", + influx_user = "", + influx_password = "", + max_buffer_size = 5000, + max_buffer_age = 5 +} +``` + +In this table, we give default values to parameters that can possibly be changed during the **init()** call. This table +will be used to store important data for the script and is also our queue object. + +### A method to create the queue + +To declare this table as a Lua object, we need a constructor. So, here it is: + +```LUA +-- Constructor of the event_queue +function event_queue:new(o, conf) + o = o or {} + setmetatable(o, self) + self.__index = self + for i,v in pairs(conf) do + if self[i] and i ~= "events" and string.sub(i, 1, 11) ~= "__internal_" then + broker_log:info(1, "event_queue:new: getting parameter " .. i .. " => " .. v) + self[i] = v + else + broker_log:warning(1, "event_queue:new: ignoring parameter " .. i .. " => " .. v) + end + end + self.__internal_ts_last_flush = os.time() + broker_log:info(2, "event_queue:new: setting the internal timestamp to " .. self.__internal_ts_last_flush) + return o +end +``` + +> In this function, we use a Lua sugar "o = o or {}" that means *o* stays the same if it is **true**, otherwise it is +affected with an empty table `{}`. +> +> Another point to notice is the **~=** operator that means **different from**. +> +> And to finish on this function, the variable **self** is implicitly defined when we declare an object's method. Its +> meaning is the same as **this** in Java or in C++. It represents the object we are working on. + +### A method to add an event to a queue + +We have a queue object. It would be great to use it like this: + +```LUA +-- We construct it +local queue = event_queue:new(nil, conf) + +-- We add an event to it +queue:add(event) + +-- When the queue is full, we would like to do something like this +queue:flush() +``` + +Let's do it! Below, we present an **add()** method that retrieves a host name and service description from the cache, +builds a string from the event and pushes it on its stack. + +```LUA +function event_queue:add(e) + local metric = e.name + -- time is a reserved word in influxDB so I rename it + if metric == "time" then + metric = "_" .. metric + end + + -- retrieve objects names instead of IDs + local host_name = broker_cache:get_hostname(e.host_id) + local service_description = broker_cache:get_service_description(e.host_id, e.service_id) + + -- what if we could not get them from cache + if not host_name then + broker_log:warning(1, "event_queue:add: host_name for id " .. e.host_id .. " not found. Restarting centengine should fix this.") + host_name = e.host_id + end + if not service_description then + broker_log:warning(1, "event_queue:add: service_description for id " .. e.host_id .. "." .. e.service_id .. " not found. Restarting centengine should fix this.") + service_description = e.service_id + else + service_description = service_description:gsub(" ", "_") + end + + -- we finally append the event to the events table + metric = metric:gsub(" ", "_") + broker_log:info(3, 'event_queue:add: adding ' .. service_description .. ",host=" .. host_name .. " " .. metric .. "=" .. e.value .. " " .. e.ctime .. '000000000" to event list.') + self.events[#self.events + 1] = service_description .. ",host=" .. host_name .. " " .. metric .. "=" .. e.value .. " " .. e.ctime .. "000000000\n" + + -- then we check whether it is time to send the events to the receiver and flush + if #self.events >= self.max_buffer_size then + broker_log:info(2, "event_queue:add: flushing because buffer size reached " .. self.max_buffer_size .. " elements.") + self:flush() + return true + elseif os.time() - self.__internal_ts_last_flush >= self.max_buffer_age then + broker_log:info(2, "event_queue:add: flushing " .. #self.events .. " elements because buffer age reached " .. (os.time() - self.__internal_ts_last_flush) .. "s and max age is " .. self.max_buffer_age .. "s.") + self:flush() + return true + else + return false + end +end +``` + +### A method to flush the queue + +Once the events are added to the queue and the maximum size of the queue or the timeout is reached, events will be sent to +the InfluxDB storage. + +This function builds data from the queue and sends them to the storage. If an error occurs, it dumps a log error. + +It is here that we use the **http** and **ltn12** objects loaded at the beginning of the script. + +```LUA + function event_queue:flush() + broker_log:info(2, "event_queue:flush: Concatenating all the events as one string") + -- we concatenate all the events + local http_post_data = "" + local http_result_body = {} + for i, raw_event in ipairs(self.events) do + http_post_data = http_post_data .. raw_event + end + broker_log:info(2, 'event_queue:flush: HTTP POST request "' .. self.http_server_protocol .. "://" .. self.http_server_address .. ":" .. self.http_server_port .. "/write?db=" .. self.influx_database .. '"') + broker_log:info(3, "event_queue:flush: HTTP POST data are: '" .. http_post_data .. "'") + + -- build url + local influxdb_url = self.http_server_protocol .. "://" .. self.http_server_address .. ":" .. self.http_server_port .. "/write?db=" .. self.influx_database + -- add authentication if needed + if string.len(self.influx_user) >= 1 and string.len(self.influx_password) >= 1 then + influxdb_url = influxdb_url .. "&u=" .. self.influx_user .. "&p="..self.influx_password + end + + local hr_result, hr_code, hr_header, hr_s = http.request{ + url = influxdb_url, + method = "POST", + -- sink is where the request result's body will go + sink = ltn12.sink.table(http_result_body), + -- request body needs to be formatted as a LTN12 source + source = ltn12.source.string(http_post_data), + headers = { + -- mandatory for POST request with body + ["content-length"] = string.len(http_post_data) + } + } + -- Handling the return code + if hr_code == 204 then + broker_log:info(2, "event_queue:flush: HTTP POST request successful: return code is " .. hr_code) + else + broker_log:error(1, "event_queue:flush: HTTP POST request FAILED: return code is " .. hr_code) + for i, v in ipairs(http_result_body) do + broker_log:error(1, "event_queue:flush: HTTP POST request FAILED: message line " .. i .. ' is "' .. v .. '"') + end + end + + -- now that the data has been sent, we empty the events array + self.events = {} + -- and update the timestamp + self.__internal_ts_last_flush = os.time() + end +``` + +### The init() function to get parameters and create the queue + +In this case, the **init()** function creates the queue with parameters defined by users in the web interface or uses +default parameters already defined in the queue. This alternative is managed by the queue constructor. + +```LUA + function init(conf) + broker_log:set_parameters(1, "/var/log/centreon-broker/stream-connector-influxdb.log") + broker_log:info(2, "init: Beginning init() function") + queue = event_queue:new(nil, conf) + broker_log:info(2, "init: Ending init() function, Event queue created") + end +``` +> **queue** is not defined as local. This is important so that it is accessible from all the functions. + +### The write() function to insert events in the queue + +The **write()** function is only used to insert filtered events into the queue: + +```LUA + function write(e) + broker_log:info(3, "write: Beginning write() function") + queue:add(e) + broker_log:info(3, "write: Ending write() function\n") + return true + end +``` + +### The filter() function to select only performance data events + +To select only performance data, we need to select *category* 3 (“Storage”) and *element* 1 for *metric*: + +```LUA + function filter(category, element) + if category == 3 and element == 1 then + return true + end + return false + end +``` + +### Complete script + +The complete script can be downloaded [here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/centreon-certified/influxdb/influxdb-metrics-apiv1.lua). + +### Configure Centreon Broker + +Configure the new output into Centreon Web interface in **Configuration > Pollers > Broker configuration > Central +Broker**. In the **Output** tab, select **Generic – Stream connector** and click **Add**: + +![image](../assets/developer/lua/add_stream_connector.png) + +Define the name of this output and the path to the Lua connector: + +![image](../assets/developer/lua/broker_influxdb_output.png) + +Then click **Save** and proceed to generate the configuration and restart **cbd**. + +> Remember to restart “centengine” too to create the Centreon Broker cache. + +If you install the [Grafana](https://grafana.com/) dashboard, you can view the stored data: + +![image](../assets/developer/lua/visualize_data_grafana.png) + +## Discover other Centreon Stream Connectors + +Centreon provides a Github repository to host Lua scripts developed by Centreon +and the community. Please go to the [Dedicated Github](http://github.com/centreon/centreon-stream-connector-scripts). + +Need help to develop your Stream connector? Do you want to share your experience with +the community? Join [our community platform The Watch](https://thewatch.centreon.com/). diff --git a/versioned_docs/version-25.10/developer/developer-translate-centreon.md b/versioned_docs/version-25.10/developer/developer-translate-centreon.md new file mode 100644 index 000000000000..a8de0b9eb110 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-translate-centreon.md @@ -0,0 +1,151 @@ +--- +id: developer-translate-centreon +title : How to translate Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +If you want to contribute to translating Centreon, this new tutorial is for you! Discover how to translate the Centreon web +interface and how to help us to add new languages to Centreon. + +## Install translation environment + +Contact us to obtain an archive of the contents to translate, and then copy this archive to a Linux server. + +Execute the following commands: +```shell +unzip centreon-translation.zip +cd centreon-translation +``` + +Your environment to translate Centreon is now ready. + +## First generation + +During the first generation, the script will clone Centreon sources from GitHub on your server. + +Execute the following command: + +```shell +sh make-translation.sh +``` + +At the end of execution, two files are available: + +* messages.pot to translate Centreon web interface menu and forms +* help.pot to translate help tooltips in configuration forms + +Rename messages.pot to messages.po and help.po to help.po + +You can now start translating Centreon by editing files with a PO file editor like poedit. + +> Always keep your \*.po files for the next translation. + +## Use your translation + +On your Centreon server, install gettext. + +Create the locale directory for your Centreon: + +```shell +sudo mkdir -p /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +``` + +> **/usr/share/centreon** is the Centreon installed directory. + +If you want to translate Centreon into a language other than that used by your Centreon server, you must define the +locale manually. + +For example, for Brazilian users, execute the following command: + +```shell +sudo mkdir -p /usr/share/centreon/www/locale/pt_BR.UTF-8/LC_MESSAGES +``` + +Compile the translated files: + +```shell +msgfmt messages.po -o messages.mo +msgfmt help.pot -o help.mo +php ./centreon-github/bin/centreon-translations.php pt centreon-github/lang/pt_BR.UTF-8/LC_MESSAGES/messages.po centreon-github/lang/pt_BR.UTF-8/LC_MESSAGES/messages.ser +``` + +Copy the compiled translated files: + +```shell +sudo cp *.mo /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +sudo cp messages.ser /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2`/LC_MESSAGES +``` + +Change the rights on the directory: + +```shell +sudo chown -R apache.apache /usr/share/centreon/www/locale/`locale | grep LC_MESSAGES | cut -d \" -f 2` +``` + + + + +Restart Apache: + +```shell +systemctl restart httpd +``` + + + + +Restart Apache: + +```shell +systemctl restart httpd +``` + + + + +Connect to your Centreon web interface, edit your profile and select new language: + +![image](../assets/getting-started/change_language_2.png) + +Save the form and access another menu. Your interface will be translated. + +## Upgrade translation + +Centreon developers release a new version of Centreon Web every month. So the translation could be modified with every new +release. + +To keep the translation up to date, follow these steps: + +```shell +sh make-translation.sh +``` + +At the end of execution, two up-to-date files are available: + +* messages.pot to translate Centreon Web interface menu and forms +* help.pot to translate help tooltips in configuration forms + +Merge these files with the previous translation (messages.po and help.po): + +```shell +msgmerge help.po help.pot -o new_help.po +msgmerge messages.po messages.pot -o new_messages.po +``` + +Follow the chapter “Use your translation” to upgrade your translation for Centreon. + +## Participate in the Centreon project + +Once your translation is up to date, you can ask to the Centreon team to add your translation to Centreon project. This +will allow all users of Centreon to have access to your translation on their Centreon platform. + +* Create an account on GitHub +* Fork centreon/centreon project on GitHub +* Add your translated \*.mo and \*.po files to lang//LC_MESSAGES directory +* Commit your change on your project +* Create a pull request on centreon/centreon project +* We will add your translation to Centreon. + +Thank you for your help! diff --git a/versioned_docs/version-25.10/developer/developer-widget.md b/versioned_docs/version-25.10/developer/developer-widget.md new file mode 100644 index 000000000000..3823b9fa8130 --- /dev/null +++ b/versioned_docs/version-25.10/developer/developer-widget.md @@ -0,0 +1,189 @@ +--- +id: developer-widget +title : How to write a widget +--- + +Centreon offers a custom view system which allows the user to view one or more widgets on the same page: +**Home > Custom views**. + +You may have specific needs that are not yet covered by our widget catalog and this tutorial will explain to you how to +write your first widget for Centreon. + +## Should I make a widget or a module? + +If you are wondering if you should be making a module or a widget, then ask yourself if your project is meant to contain +many menus, or is it rather a plain page that is going to display little information? + +Of course, you could make a widget that would only work with a certain module. + +## Directory structure + +Widgets work pretty much like Modules. They must be placed in the following directory: +```Shell +centreon/www/widgets/name-of-your-widget/ +``` + +Your widget must contain one mandatory file named **configs.xml** at its root. + +## Configuration file + +This is the XML configuration file of our Dummy widget: + +```XML + + Dummy + Centreon + contact@centreon.com + http://www.centreon.com + Dummy widget + 1.0.3 + dummy, widget, centreon + + ./widgets/dummy/resources/logoCentreon.png + ./widgets/dummy/index.php + + + + + + + + + + + + +``` + +Now, let's see what these tags refer to. + +### Basic tags + +\* = Mandatory tag + +| Tag name | Description +|--------------|------------------- +| title* | Title of your widget +| author* | Your name +| email | Your email address +| website | URL of your project +| description* | Short description of your widget +| version* | Version of your widget. Increment this number whenever you publish a new version. +| keywords | A few key words that describe your widget +| screenshot | Screenshot that shows the best side of your widget. Screenshot should be placed within your widget directory. +| thumbnail | Logo of your project. Best size is 100px x 25px. Thumbnail should be placed within your widget directory. +| url* | Path of the main page of your widget +| autorefresh |This parameter is not implemented yet + +### Parameter attributes + +\* = *Mandatory parameter* + +| Tag attributes | Description +|-------------------|--------------------- +| label* | Label of the parameter +| name* | Name of the parameter that will be used for retrieving its value +| defaultValue* | Default Value of the parameter +| requirePermission | Value can be "1" or "0". When set to 1, this parameter will not be shown to unauthorized users. +| type* | Parameter type, must be one of the following: text,boolean,date,list,range,compare,host,hostgroup, hostTemplate,servicegroup,serviceTemplate +| min* | For range type only. It refers to the minimum value of the range parameter +| max* | For range type only. It refers to the maximum value of the range parameter +| step* | For range type only. It refers to the step value of the range parameter + +Parameter type +============== + +| Tag name | Description +|---------------|------------------- +| text | Renders a text input element +| boolean | Renders a checkbox +| date | Renders two text input elements. One for the start date, the other one for the end date. +| list | Renders a selectbox. The selectbox will be populated with the option tags, which must be defined within the preference tag. +| range | Renders a selectbox which will be populated with values depending on the min, max and step definitions. +| compare | Renders a selectbox and a text input. Selectbox will contain SQL operands such as: +| | > : greater than +| | < : less than +| | >= : greater or equal +| | <= : less or equal +| | = : equal +| | != : not equal +| | LIKE : can be used with the wildcard %% +| | NOT LIKE : can be used with the wildcard %% +host | Renders a selectbox populated with a list of hosts. +hostgroup | Renders a selectbox populated with a list of hostgroups. +hostTemplate | Renders a selectbox populated with a list of host templates. +servicegroup | Renders a selectbox populated with a list of servicegroups. +serviceTemplate | Renders a selectbox populated with a list of service templates. + +The preference window would look like this as a result: + +.. image:: /_static/images/extending/pref_dummy_widget.png + :align: center + +### Code + +All languages are separated in different files, one file for each language. The file "configs.xml" calls the PHP file +and the PHP file calls the HTML file, etc. + +We use Smarty, which is a template engine for PHP (http://smarty.net). + +To use Smarty you need to proceed as follows: + +```PHP +require_once $centreon_path . 'GPL_LIB/Smarty/libs/Smarty.class.php'; +``` + +1.configuration of smarty: + +```PHP +$path = $centreon_path . "www/widgets/Dummy/src/"; +$template = new Smarty(); +$template = initSmartyTplForPopup($path, $template, "./", $centreon_path); +``` + +2.creating a PHP template to be use in HTML: + +```PHP +$template->assign('widgetId', $widgetId); +$template->assign('autoRefresh', $autoRefresh); +$template->assign('data', $data); +``` + +3.affectation of html's file to execute: + +```PHP +$template->display('dummy.ihtml'); +``` + +This line asks PHP to call the **dummy.ihtml** smarty template to display the results: + +```PHP +$template->display('dummy.ihtml'); +``` + +To query the databases (**centreon** for the configuration and **centstorage** for the real time data), +you must initialize the PHP object as described below (using **pearDB**): + +```PHP +try { + global $pearDB; + + $db_centreon = new CentreonDB("centreon"); + $db = new CentreonDB("centstorage"); + $pearDB = $db_centreon; + + $widgetObj = new CentreonWidget($centreon, $db_centreon); + $preferences = $widgetObj->getWidgetPreferences($widgetId); + $autoRefresh = 0; + if (isset($preferences['refresh_interval'])) { + $autoRefresh = $preferences['refresh_interval']; + } +} catch (Exception $e) { + echo $e->getMessage() . "
"; + exit; +} +``` + +Then query the database using the class methods. diff --git a/versioned_docs/version-25.10/getting-started/actions.md b/versioned_docs/version-25.10/getting-started/actions.md new file mode 100644 index 000000000000..7b6e54a482e4 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/actions.md @@ -0,0 +1,18 @@ +--- +id: actions +title: What actions can you take? +--- + +Once you have [set up your monitoring](first-supervision.md) and resources are being successfully monitored, go to **Monitoring > Resources Status** to track the status of resources in real time. + +On this page you can perform the following actions (hover over the resource's status and click the corresponding button): + +- **Acknowledge a resource**: When an event occurs on a resource, you can mark the resource as acknowledged to notify your team that you are aware of the incident and that you will take action to resolve it. + + When a resource is acknowledged, notifications are stopped and the resource is highlighted yellow in monitoring screens. + + Acknowledging a resource does not mean that the incident is over. It will be over when the resource is back to its nominal state (OK or UP). + +- **Plan downtime**: Downtime is a period during which notifications are disabled for a resource. When you know that a specific resource is going to be down for maintenance, set downtime on it to avoid receiving unnecessary alerts. + +- **Perform a check on a resource**: Execute the check command for the resource immediately. Its status will be refreshed shortly. diff --git a/versioned_docs/version-25.10/getting-started/analyze-resources-availability.md b/versioned_docs/version-25.10/getting-started/analyze-resources-availability.md new file mode 100644 index 000000000000..9d372bae6122 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/analyze-resources-availability.md @@ -0,0 +1,127 @@ +--- +id: analyze-resources-availability +title: Analyze resources availability +description: MBI tutorial +--- + +This quick-start guide will show you how to use Centreon MBI to generate your first report! + +If you are using the Centreon MBI extension for the first time and you want to +generate an insightful and effective statistical report, this tutorial +will help you get started. + +Follow this simple procedure: + +- Define your requirement. +- Use the documentation to help you select the report design + (template) that best suits your analysis. +- Configure your report by adding a job. +- Retrieve the report using the interface. + +> Centreon MBI is a Centreon **extension** that requires a valid license key. To +> purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +## Define your requirement + +Here is an example based on a typical requirement for basic use of +Centreon MBI: monitoring the availability of IT resources. In this +scenario, the company's IT manager in charge of the European network +tells us that the routers seem unreachable at times, and wants us to +analyze the problem. To respond, we must retrieve information on the +availability of the routers located in Europe. + +Now that the requirement has been identified, we can proceed to the next +step. + +## Select the report design + +Every report design meets a specific need. Ours is to analyze the +availability of our routers in Europe. First, we will look at the +list of available report designs. We select +Hostgroup-Host-Availability-List. This design lists the availability of +group hosts. In this case, the hosts being monitored happen to be our +routers. + +## Configure the report by "adding a job" + +In Centreon MBI, you configure a report by creating a scheduled job. Go +to menu: Reporting → Business Intelligence → Configuration | Jobs / Add +(for a new one): + +![image](../assets/getting-started/1_EN_createJob.png) + +The job creation form opens on the first tab: + +![image](../assets/getting-started/2_EN_createJob_FirstTab.png) + +First, under *Job Configuration*, create a name for the job. This will +be the name of the report to be generated. + +Note: In case of a large number of jobs, it is important to +define naming rules. + +Then specify the following: + +- Report design: Hostgroup-Host-Availability-List +- Language: English +- Output format: PDF + +![image](../assets/getting-started/createJob_ListReport.png) + +You must also link the job to a job group. This is mandatory for +managing user rights and profiles. In the Scheduling parameters, choose +the scheduling mode. You have a choice between immediate execution and +scheduled execution. Select immediate execution. In this configuration, +the report will be generated immediately, in English, in PDF format, and +using the last month's statistics: + +![image](../assets/getting-started/3_EN_createJob_FirstTab_Filled.png) + +Once the Configuration form is filled out correctly, we can proceed to +the "Report Parameters" tab, where we specify the conditions and scope +of the report to be generated. We list the availability of hosts stored +in the group "Routers" located in "Europe" (host category). + +![image](../assets/getting-started/4_EN_createJob_Parameter.png) + +Note: For most report designs, you can select a time period for the +report. + +We want to analyze the availability of the routers over a 24×7 time +period. To appear in the list, this time period must be predefined in +Centreon and must be configured in Centreon MBI's general options, under +the "ETL Options" tab. Finally, we customize the report with our logo +(new logos can be added to the "Logo" menu). + +Click "Save" to schedule the report according to the selected mode: +immediately. + +![image](../assets/getting-started/5_EN_generateJob.png) + +If the job does not appear in the list, check that the filter applied to +the page is set to "All" to display all the jobs. + +![image](../assets/getting-started/6_EN_generateJob_Filter.png) + +## Retrieve the generated report + +Once the job is finished, go to *Report view*, which contains the list of +all reports generated. To view your report, simply download it by +clicking the "Output format" icon; in this case, PDF. + +![image](../assets/getting-started/7_EN_reportView.png) + +You now have access to the requested report displaying the availability +of the routers in Europe: + +![image](../assets/getting-started/8_EN_availabilityReport.png) + +Congratulations! You have extracted some basic statistics from the +reporting base. + +Ready to generate some reports? Go back to the report list page, select +the design templates that suit your requirements, and you will be able +to generate a new report. + +We hope this tutorial has proven useful to you. diff --git a/versioned_docs/version-25.10/getting-started/autodisco-aws.md b/versioned_docs/version-25.10/getting-started/autodisco-aws.md new file mode 100644 index 000000000000..1301de7e5456 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/autodisco-aws.md @@ -0,0 +1,112 @@ +--- +id: autodisco-aws +title: Use Autodiscovery to monitor AWS EC2 instances +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +In this tutorial, we will use the [Autodiscovery module](../monitoring/discovery/hosts-discovery.md) to detect AWS EC2 instances and monitor them. + +## Prerequisites + +You must have: +- the credentials to the AWS group of instances you want to monitor (Name, AWS Access Key and AWS Secret Key) +- the region your AWS instances are in. + +## Step 1: Installing the Amazon EC2 plugin + +1. Make sure your commercial [license](../administration/licenses.md) or your free [IT-100](it100.md) license is installed. + +2. [Install](../monitoring/discovery/installation.md) the autodiscovery module. + +3. Make the Monitoring Connectors available: + + + - If you have an online license, the Monitoring Connectors are already available in the interface. + - If you have an offline license in your central server's terminal, enter: + + + + +``` shell +dnf install centreon-pack-* +``` + + + + +``` shell +dnf install centreon-pack-* +``` + + + + +```shell +apt install centreon-pack-* +``` + + + + + +4. To install the Amazon EC2 Monitoring Connector, go to **Configuration > Monitoring Connector Manager**. + +5. In the **Keyword** field, type **Amazon EC2** and then click **Search**. + +6. Click the `+` sign in the top right corner of the Monitoring Connector. The Monitoring Connector now has a green border and a tick mark in the top right corner: configuration templates and discovery providers are now installed. + +7. Follow [this procedure](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2) (sections [Plugin dependencies](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2#plugin-dependencies) and [Setup](/pp/integrations/plugin-packs/procedures/cloud-aws-ec2#setup)) to finish installing the Monitoring Connector. (You can also access the documentation for a Monitoring Connector by clicking the `i`.) + + ![image](../assets/getting-started/aws-doc.png) + +## Step 2: Configure the discovery job + +1. Go to **Configuration > Hosts > Discovery**, and then click **Add**. + +2. Enter a name for your discovery job, and then select the **Amazon AWS EC2** provider. Click **Next**. + + ![image](../assets/getting-started/aws-provider.png) + +3. If your infrastructure requires it, fill in the details for the proxy you want to use. + +4. Click the `+` sign to the right of the **Choose credentials** list. Fill in the Name, AWS Access Key and AWS Secret Key fields, then click **Confirm**. Click **Next**. + +5. Enter the region your EC2 instances are in (for example, **eu-north-1**). Click **Next**. + +6. Edit or add [mappers](../monitoring/discovery/hosts-discovery.md#how-to-use-mappers): + - Map `host.name` to the `discovery.results.name` attribute. The names of your hosts in Centreon will be the ones defined in this attribute (i.e. the hostname of the instance). + - In our example, we will exclude instances whose hostname contains "test". + + ![image](../assets/getting-started/aws-mapper.png) + + Click **Next**. + +7. Select **Manual analysis**: we will have to add the hosts to the list of monitored hosts manually. Click **Next**. + +8. Select **Execute immediately** and then click **Finish**. The discovery job appears in the list of jobs. + + ![image](../assets/getting-started/aws-listofjobs.png) + +## Step 3: Saving the hosts and monitoring them + +1. After a few seconds, refresh the page. There should be a green tick mark in the **Status** column. + + ![image](../assets/getting-started/aws-success.png) + +2. Hover over the job that has just ended and then click **Display the job result** (the arrow icon). A list of hosts appears. + + ![image](../assets/getting-started/aws-results.png) + + Icons allow you to identify the action that will be performed on the host: + + - The **plus** icon means the host does not exist yet and will be created. + - The **arrow** icon means the host already exists and its configuration will be updated. + +3. Select the hosts you want to add to the list of monitored hosts, and then click **Save**. ![image](../assets/getting-started/aws-save.png) + +4. Go to **Configuration > Hosts > Hosts** and check that the hosts you selected in the previous step appear in the list. The hosts are added to the lists of hosts but they are not monitored yet. + +5. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). The hosts appear in the **Resources Status** page: they are monitored. + diff --git a/versioned_docs/version-25.10/getting-started/concepts.md b/versioned_docs/version-25.10/getting-started/concepts.md new file mode 100644 index 000000000000..cacea86e5111 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/concepts.md @@ -0,0 +1,37 @@ +--- +id: concepts +title: Monitoring basics +--- + +## What does Centreon monitor? + +Centreon allows you to monitor resources. Resources can be hosts or services: + +* A **host** is any device that has an IP address and that one wishes to monitor. +For example, it could be a physical server, a virtual machine, a temperature probe, an IP camera, a printer or a storage space. A host can have one or more associated services. +* A **service** is a check point, or indicator, to be monitored on a host. +This can be the CPU usage rate, temperature, motion detection, bandwidth usage rate, disk I/O, etc. A service can consist of one or several [metrics](../monitoring/metrics.md). + +## How does monitoring work? + +In order to collect each indicator value, monitoring plugins are used. These are periodically executed by a collection engine called Centreon Engine. + +## How do I see the resources being monitored? + +Once hosts and services are monitored, they have a status in Centreon (e.g. **OK**, **Warning**, **Critical**...). You can keep track of any changes using the **Monitoring > Resources Status** page. + +If an alert occurs (not-OK/not-UP status), [contacts/users](../monitoring/basic-objects/contacts-create.md) will be able to receive [notifications](../alerts-notifications/notif-configuration.md), within set time periods. + +## What features can I use to help me monitor hosts? + +In Centreon, monitoring is made easy by the following elements: + +* Host templates and service templates that allow you to define default values to speed up the creation of these objects. + +* [Monitoring Connectors](../monitoring/pluginpacks.md) that provide ready-to-use host and service templates. These greatly simplify the configuration of hosts and services: for instance, all you have to do is to apply Monitoring Connector templates to a host for it to be monitored. + +* The autodiscovery feature for hosts and services, which allows you to obtain a list of new hosts and services and add them automatically to the list of monitored resources. + +## See also + +To learn more about Centreon, you can also read our [**Glossary of Centreon concepts**](../resources/glossary.md). diff --git a/versioned_docs/version-25.10/getting-started/create-custom-view.md b/versioned_docs/version-25.10/getting-started/create-custom-view.md new file mode 100644 index 000000000000..572fdc82c65e --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/create-custom-view.md @@ -0,0 +1,57 @@ +--- +id: create-custom-view +title: Creating a custom view +--- + +## What is a custom view? + +A custom view is a dashboard created with widgets. + +## Create your first custom view + +Go to the **Home \> Custom Views** menu and click the pencil icon located on the far right of the interface to enable +editing mode. + +Click **+ Add view** to create your first custom view, then enter **My view** for the name and select 2 columns. +Finally, click **Submit**: + +![image](../assets/getting-started/cv_1.png) + +Add your first widget by clicking **+ Add widget**, then enter **TOP 10 CPU** for the title and select +**Live Top 10 CPU Usage**. Click **Submit**: + +![image](../assets/getting-started/cv_2.png) + +Click **+ Add widget**, then enter **TOP 10 Memory** and select **Live Top 10 Memory Usage**. Click **Submit**: + +![image](../assets/getting-started/cv_3.png) + +The second widget is automatically placed on the second column: + +![image](../assets/getting-started/cv_4.png) + +Click **+ Add widget**, then enter **Unhandled alerts** and select **Services Monitoring**. Click **Submit**: + +![image](../assets/getting-started/cv_5.png) + +Edit this widget by clicking the wrench icon: + +![image](../assets/getting-started/cv_6.png) + +In the popin, uncheck the following items: + +* **Display Pending** +* **Display Duration** +* **Display Tries** + +Then click **Apply**. + +Click **+ Add widget**, then enter **Global Health** and select **Global Health**. Click **Submit**: + +![image](../assets/getting-started/cv_7.png) + +Edit this widget by clicking the wrench icon and then selecting **Show services** for the **Services/Hosts** field. Then click **Apply**: + +Your first custom view is created: + +![image](../assets/getting-started/cv_8.png) \ No newline at end of file diff --git a/versioned_docs/version-25.10/getting-started/create-graphical-view.md b/versioned_docs/version-25.10/getting-started/create-graphical-view.md new file mode 100644 index 000000000000..ffc7473150b0 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/create-graphical-view.md @@ -0,0 +1,109 @@ +--- +id: create-graphical-view +title: Create a graphical view +description: MAP tutorial +--- + +The objective of this tutorial is to help you understand how you can provide +real time IT infrastructure status overviews with the data presentation +extension called Centreon MAP to your ITOM teams and operational users. + +With Centreon MAP, you can simply create and share synthetic real time +monitoring views to monitor the performance of your IT infrastructure, network, +applications and services. + +![image](../assets/graph-views/tuto_ex_1.png) + +![image](../assets/graph-views/tuto_ex_2.png) + +For instance, this real-time view allows ITOM teams and managers to see the availability of critical business applications +and services instantaneously. This guarantees a better reaction time in case of outage and +optimizes MTRS (Mean Time to Restore Service). + +This tutorial shows you how to create views using Centreon MAP. +After reading this article, you will be familiar with Centreon MAP's main features +and you will be able to create views that meet your technical or business users' +needs. + +> Centreon MAP is a Centreon **extension** that requires a valid license key. To +> purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +## Create a logical view + +### Before creating a view: define the objective + +Define what is the main objective of the view. What need does it meet? Who +are the recipients? What are the main topics to consider before creating a view? Here +are some questions you might consider: + + - Who is/are the recipient(s) (users' profiles) of this view? + - What level of information do users need? + - Do I monitor all the resources and indicators I need to create that view? + - What kind of information should the view contain (resources, indicators, + graphs, network links, etc)? It can be interesting to start drawing that view + on a paper note. + +Now that you have defined the objectives, let's start showing you how to make the view. + +### The view designer's workspace + +Connect to your Centreon MAP server using the desktop client. The following +workspace environment should appear empty. To illustrate the explanation, we've +opened a view. By default, no view is opened. + +![image](../assets/graph-views/tuto_workspace.png) + +The information and area are organized as follows: + +1. **Views**: existing views that are accessible to you. +2. **Element**: objects available in opened views. +3. **Media**: available media (images). +4. **Resources**: Centreon's object that you can use in the view (drag & drop). +5. Content of the view. +6. **Palette**: graphical elements that you can use in a view. +7. **Properties**: the selected element's properties. + +### Create a new view + +Right click in the **View** panel and click **Add**. + +![image](../assets/graph-views/create_view.gif) + +Put resources, widgets and other elements in position using drag and drop and shortcuts. + +Below is an example of an IT infrastructure real-time status view created in +4 minutes or less: + +![image](../assets/graph-views/ex_view.jpg) + +
+ +
+ +## Create a geographical view + +If your IT is geographically spread over a city, country or even the world, you +may want to view it in the most appropriate way to obtain insights into the status of your IT +infrastructure. + +This is easy to do using the **GeoView**. The only prerequisite is to +have defined Geo-coordinate parameters on your hosts (which can be consulted +and modified in the **Configuration > Hosts > Hosts** and **Host Extended Infos** tab). + +To create a **GeoView**, go to **Monitoring > Map** and click the "+" that appears +on the **Geographic view** line. If you do not see the "+", it means you do not have +enough privileges on Centreon. + +![image](../assets/graph-views/create_geo_view.gif) + +## Display and share the view + +Using an access control mechanism based on Centreon ACL objects, it is easy to +share the right views to the right teams. As soon as a view has been shared to a +user, it is accessible through its browser in **Centreon > Monitoring > Map** or +even directly on a dashboard using the **Centreon Map** widget (see example below). + +![image](../assets/graph-views/share_view.png) + +You now have enough information to start working on Centreon Map. diff --git a/versioned_docs/version-25.10/getting-started/first-supervision.md b/versioned_docs/version-25.10/getting-started/first-supervision.md new file mode 100644 index 000000000000..c223c1373ffc --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/first-supervision.md @@ -0,0 +1,53 @@ +--- +id: first-supervision +title: Prerequisites +--- + +This tutorial describes how to install the monitoring templates supplied free of charge with the Centreon solution +and then implement them to monitor your first device. + +> If you have a license for it, you can use our [Auto Discovery](../monitoring/discovery/introduction.md) feature to find and configure hosts easily. See also our tutorial on [how to detect AWS EC2 instances](autodisco-aws.md). + +### Installation of basic monitoring templates + +Go to the **Configuration \> Monitoring Connectors** menu. + +> [Configure the proxy](../administration/parameters/centreon-ui.md#proxy-configuration) to allow the Centreon server to access the internet. + +Install the **Base Generic** Monitoring Connector (if it is not already installed) by moving your cursor onto it and then clicking the **+** icon (it is a prerequisite +for the installation of any other Monitoring Connectors): + +![image](../assets/getting-started/pp_base_generic_1.png) + +You can also click the Monitoring Connector to discover its content before installing it: + +![image](../assets/getting-started/pp_base_generic_2.png) + +Install other Monitoring Connectors you probably need for your environment, for example **Linux SNMP** and **Windows SNMP** available +for free: + +![image](../assets/getting-started/pp_install_basic.gif) + +Now you have the basic templates and plugins to start monitoring hosts! + +## Deploying a configuration + +When you create a host, you will need to deploy the configuration for the host to be monitored. + +1. Go to **Configuration \> Pollers > Pollers**. +2. Select the pollers whose configuration you want to export. +3. Click on **Export configuration**. + + ![image](../assets/monitoring/monitoring-servers/export_conf.png) + +4. Check the following boxes: + - **Generate Configuration Files** + - **Run monitoring engine debug (-v)** + - **Move Export Files** + - **Restart Monitoring Engine**. + +5. Click **Export**. + + ![image](../assets/monitoring/monitoring-servers/export_conf_done.png) + +6. Check that no errors appear during generation. diff --git a/versioned_docs/version-25.10/getting-started/interface.md b/versioned_docs/version-25.10/getting-started/interface.md new file mode 100644 index 000000000000..e2070683a66a --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/interface.md @@ -0,0 +1,76 @@ +--- +id: interface +title: Discover the Centreon web interface +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## First login + +To connect to your Centreon web interface, go to URL: `http://IP_ADDRESS/centreon`. (Replace **IP_ADDRESS** with the IP address or FQDN of your Centreon web server.) + +Enter your user name and password, and click the **Connect** button: + +![image](../assets/getting-started/aconnection.png) + +>If you have installed Centreon from a [VM](../installation/installation-of-a-central-server/using-virtual-machines.md), the default credentials are **admin/Centreon!123**. +Otherwise, the default login is **admin** and the password is the one you defined in [step 5 of the web installation wizard](../installation/web-and-post-installation.md#step-5-admin-information). + +You are now connected to the Centreon web interface. + +## Menus + +![image](../assets/getting-started/menus.png) + +The Centreon web interface contains several menus, each with a specific function (click the Centreon logo at the top left of the screen to expand the menus): + +![image](../assets/getting-started/expand_menu.png) + +* **Home** shows [custom views](create-custom-view.md). + Your workspace may be blank for now. Once you configure customizable widgets, you will see data and charts according + to your customization. +* **Monitoring** provides a combined view of the statuses of all monitored items in real and delayed time using logs and + performance graphics. +* **Reporting** provides an intuitive view (using diagrams) of the evolution of monitoring over a given period. +* **Configuration** allows you to configure all monitored items and the monitoring infrastructure. +* **Administration** lets you access your user account. + +## Top banner + +### Pollers section + +![image](../assets/getting-started/banner_pollers.png) + +The left part of the top banner shows the health of your platform in real time: + +* whether all pollers are running or not: the icon becomes red when a poller has not sent data to the central server for at least 15 minutes +* whether checks are running late or not. If the icon is orange or red, this may mean that your pollers are monitoring too many resources. + +Click the **pollers** icon to expand the menu. On the menu, click **Configure pollers** to access page **Configuration > Pollers > Pollers**. + +### Hosts and services section (top counters) + +![image](../assets/getting-started/top_counters.png) + +Beside the pollers section, statistics show the number of resources being monitored that have a specific status: + +* For services: number of services with a **Critical**, **Warning**, **Unknown** and **OK** status. +* For hosts: number of hosts with a **Down**, **Unreachable** and **Up** status. + +These numbers include unconfirmed (SOFT) alerts, but do not include resources that are acknowledged or in downtime. Pending resources are shown by a blue dot on the **hosts** or **services** icons. + +Click a circle representing a status: + +* The **Monitoring > Resources status** page opens. +* The page is filtered according to the type of resource and the corresponding status. + +Click the **hosts** or **services** icon to expand the menu and display the details of the hosts and services. + +## Customization features + +You can benefit from [customization features](../monitoring/basic-objects/customization.md) for a better use of Centreon: + +- [Switch to dark mode](../monitoring/basic-objects/customization.md#switch-to-dark-mode) +- [Change the user interface language](../monitoring/basic-objects/customization.md#change-the-user-interface-language) +- [Reset your password](../monitoring/basic-objects/customization.md#reset-your-password) +- [Define a default page after login](../monitoring/basic-objects/customization.md#define-a-default-page-after-login) diff --git a/versioned_docs/version-25.10/getting-started/introduction-tutorials.md b/versioned_docs/version-25.10/getting-started/introduction-tutorials.md new file mode 100644 index 000000000000..b3566f3a7930 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/introduction-tutorials.md @@ -0,0 +1,11 @@ +--- +id: introduction-tutorials +title: Introduction +--- + +Centreon provides tutorials to quickly take advantage of the features of our solution. + +* [Create a custom view](create-custom-view.md) +* [Create a Graphical view](create-graphical-view.md) +* [Model your IT services (Service Mapping)](model-it-services.md) +* [Analyze resources availability (Reporting)](analyze-resources-availability.md) \ No newline at end of file diff --git a/versioned_docs/version-25.10/getting-started/it100.md b/versioned_docs/version-25.10/getting-started/it100.md new file mode 100644 index 000000000000..3e5f42dc2acd --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/it100.md @@ -0,0 +1,46 @@ +--- +id: IT100 +title: Set up your free IT-100 solution +--- + +Centreon offers you the possibility to test all the features of the **Centreon IT edition** for free, with the IT-100 trial formula. + +- You will be able to install up to 3 central servers and monitor up to 100 resources. +- You will be able to use the [autodiscovery feature](../monitoring/discovery/introduction.md) for hosts and services, and the entire [Centreon Monitoring Connector library](/pp/integrations/plugin-packs/getting-started/introduction). + +Your Centreon platform must be able to [access the internet](../administration/licenses.md#check-the-connection-to-internet) for the IT-100 license to work. + +For more information, read our [FAQ on Centreon IT-100](https://www.centreon.com/en/faq/faq-centreon-it-100/). + +## Procedure + +1. To request your free trial license, go to our website on page **[Try Centreon IT Edition](https://www.centreon.com/en/free-trial/)** +and fill in the following form: + + ![image](../assets/getting-started/it_100_free_token_form.png) + + You will receive an email containing your token to try Centreon IT edition. + +2. Install Centreon quickly using a [ready-to-use virtual machine](../installation/installation-of-a-central-server/using-virtual-machines.md). + +3. Log in to the web interface, at the following address: `http://IP_ADDRESS/centreon`. (Replace **IP_ADDRESS** with the IP address or FQDN of your Centreon web server.) + + > The default credentials are `admin`/`centreon`. + +4. Add the Centreon IT Edition token you have received by email. + > If necessary, [configure the proxy](../administration/parameters/centreon-ui.md#proxy-configuration) + > to allow the Centreon server to access the internet. + + 1. Go to **Administration > Extensions > Manager** and click the **Add Token** button: + + ![image](../assets/getting-started/it_100_free_token_add_1.png) + + 2. A window opens. Enter your token and click the **Save** button: + + ![image](../assets/getting-started/it_100_free_token_add_2.png) + +5. Your platform is now ready. You can [monitor your first host](first-supervision.md). + +## Troubleshooting your IT-100 solution + +If you need any help setting up your IT-100 solution, please visit the [dedicated group](https://thewatch.centreon.com/groups/centreon-it-100-users-54) on our community platform The Watch. diff --git a/versioned_docs/version-25.10/getting-started/model-it-services.md b/versioned_docs/version-25.10/getting-started/model-it-services.md new file mode 100644 index 000000000000..edc8c14de073 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/model-it-services.md @@ -0,0 +1,174 @@ +--- +id: model-it-services +title: Model your IT services +description: BAM tutorial +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon Business Activity Monitoring (Centreon-BAM) is an extension for modeling +IT services and applications, ideally, from an end user’s point of view. It reports on the +status of aggregated indicators in real time, tracking any changes, thereby allowing you to +measure results against business-oriented service level agreements (SLAs) with +internal or external users. + +> Centreon BAM is a Centreon **extension** that requires a valid license key. To +> purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +## Concept + +Centreon BAM aggregates raw sets of resource statuses, called indicators, against which to +measure business performance. *These indicators* collected by the Centreon +monitoring system can be either a Centreon service, a logical rule between +multiple services or any another business-centric monitoring indicator, called a +Business Activity (BA). + +You can use a BA as an indicator for another BA to create an impact tree and +model the IT services or applications for analysis. + +The evolution of a BA status will determine the quality of service (QoS) that +reflects how well the application performs for its users. Based on this QoS +rating, you can define the BA's operating levels and the SLA. + +If a BA fails, the malfunction(s) that led to the drop in QoS can be analyzed +and the SLA failure diagnosed. + +Below is an example of a business activity that correspond to a generic Application: + +![image](../assets/service-mapping/example.png) + +## Introduction + +Modeling a service or an application (that becomes a BA in Centreon's world) and +its related indicators should be simple and methodical. Ideally, you should +first include indicators that are directly related to the overall function of +the service/applications and then gradually add other indicators that would have +a potential impact on BA status. + +All indicators added to a BA must initially be monitored one at a time by the +system to determine the operational status of the BA. + +The important thing to understand here is the way the business activity status will be computed. There are +four calculation methods that can be used: + +- **Best status**: When you only need to be warned that ALL indicators are critical at the same time +- **Worst status**: When you immediately want to know that at least 1 indicator is not-ok +- **Ratio**: When you want to model **Cluster** concepts by specifying a number of percentage of critical resources that you don't want to exceed +- **Impact**: When you want to precisely define the weight of each indicator and reflect that on your BA status + +For more information, look at the [calculation method explanations](../service-mapping/ba-management.md#calculation-methods) + +## Implementation method + +The first step when you want to create a business activity is to have a clear view of the IT service, application, component +you want to model. Don't hesitate to first model the Tree on a paper so that you'll just have to replicate the configuration +in Centreon. + +**The way you think** about an application or service IT may be **Top-Down**: you want to view the state of the Application > "A" +.that relies on Network, Backend, Frontend clusters. These in turn rely on servers and network devices whose status relies +on services monitored by Centreon + +**The way you create** a business activity in Centreon is **Bottom-up**: you start by creating the down-level indicators that > represent server or network equipment status, then you aggregate them into Network, Frontend, Backend components and you +finish by creating a Top level component to show the global Application "A" status. + +Now that you know what application you want to model and what indicators this application relies on, +you can sort them into two categories: + + - Indicators known to have a blocking impact + - Indicators whose impact cannot be measured. + +> It's simpler to start by using only the blocking indicators. You'll be able to add more indicators later if you +> need to have BA status impacted more precisely. + +## Example + +If we take a simple example: You have multiple frontend servers (10) and you want at least 20% of your servers to be available. + +This will be done in two steps (bottom-up): + +- First, define what's a frontend server that is OK: create business activities that correspond to frontend servers +- Then, define our cluster: create the business activity that will aggregate my frontend-x servers + +First, we create "Frontend-X" (business activity) corresponding to the frontend servers. +Let's say that a frontend server that performs properly may be defined by: + + - a Load below a critical state + - and a Disk usage below a critical state + - and a Swap usage below a critical state + +So the state of a frontend-X is the Worst status of these 3 indicators. The first step is over; let's create a +Frontend-1 business activity: + + + + +![image](../assets/service-mapping/frontend-1-concept.png) + + + + +![image](../assets/service-mapping/frontend-1-conf.png) + + + + + +Now that we've defined our 10 frontend servers, we'll attach them to a parent business activity called "Frontends Cluster" +so that it tells us whether or not we have 20% of Frontend servers available + + + + +![image](../assets/service-mapping/ratio.png) + + + + +![image](../assets/service-mapping/conf-ratio.png) + + + + + +If we want to be proactive and NEVER go to 20%, we may add a Warning threshold to our Cluster business activity +to be warned when 50% of the frontend servers are not available: just add "50%" to the Warning threshold: + +![image](../assets/service-mapping/conf-ratio-with-warn.png) + +So, finally, we have combined multiple calculation methods, multiple types of resource, and our business activity + will look like this: + + ![image](../assets/service-mapping/final-frontend.png) + +Using the product on a daily basis helps to track the daily evolution of the BA to adjust indicators or rules that +apply. + +## Reporting consideration + +Now that you can proactively manage your IT services and application thanks to real-time BA tracking, +it's time to look at availability and SLA.This is possible with the reporting capabilities +and the **Centreon MBI extension** and the settings applied in the "Reporting" section of the BA. + +**How do we compare availability and SLA?** + +The final value of the SLA is linked to the time spent in *OK*, *Warning* / +*Critical* conditions (downtime/uptime), which are visible in the Reporting +screens. + +Examples: + + - 24/7 monitoring + - Over a 1-day period, the time spent in the status is as follows + - BA in OK status = 23 hours and 30 minutes + - BA in WARNING status = 10 minutes + - BA in CRITICAL status = 20 minutes + +In this example, the following availability will be calculated: + + - % Up and optimum performance \~ 98.61% (OK+Warning) + - % Up but degraded \~ 97.91% (OK) + - % Not available \~ 1.38% (Critical). + +You can use the **Centreon MBI extension** to access advanced reporting capabilities on business activities data. diff --git a/versioned_docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md b/versioned_docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md new file mode 100644 index 000000000000..f9075548e750 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/monitor-cisco-router-with-snmp.md @@ -0,0 +1,107 @@ +--- +id: monitor-cisco-router-with-snmp +title: Monitor your first Cisco router +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Monitoring a Cisco Router with SNMP + + +In this tutorial, we're assuming that your Centreon platform is installed and running well, and that you have at least a [Centreon IT 100 Edition](it100.md) that provides Centreon Monitoring Connectors (your [license](../administration/licenses.md) is already set up). + +Your Cisco router will be monitored using the [Cisco standard Monitoring Connector](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp). (More about Monitoring Connectors [here](../monitoring/pluginpacks.md)). + + +## Prerequisites + +### On the Cisco router you want to monitor + + +The first step is to activate and configure an SNMP service on your Cisco device. +Please refer to the documentation of your Cisco device to find out how to configure the SNMP service. The monitoring procedure for the [Cisco standard Monitoring Connector](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp) includes an example. + + +### Network flow + +The target device must be reachable from the Centreon Poller on the UDP/161 SNMP port. + +### On the poller + +Connect to your poller using SSH and install the Cisco standard plugin (see the [monitoring procedure for the **Cisco standard** Monitoring Connector](/pp/integrations/plugin-packs/procedures/network-cisco-standard-snmp) for more information): + + + + +``` shell +dnf install centreon-plugin-Network-Cisco-Standard-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Network-Cisco-Standard-Snmp +``` + + + + +```shell +apt install centreon-plugin-network-cisco-standard-snmp +``` + + + + + +### On the central server + +In the web interface, go to **Configuration > Monitoring Connector Manager**, search for the **Cisco standard** Monitoring Connector; and install it: + +![image](../assets/getting-started/quick_start_cisco_0.gif) + +## Configure the host and deploy the configuration + +1. Go to **Configuration > Hosts > Hosts** and click **Add**: + + ![image](../assets/getting-started/quick_start_cisco_1.gif) + +2. Input the following information: + + * The name of the router (1) + * A description of the router (2) + * The IP address of the router (3) + * The SNMP version and community (4) + * Select the poller that will monitor the device (keep "Central" if you have no other poller) (5) + +3. Click **+ Add a new entry** in the **Templates** field (6), then select the **Net-Cisco-Standard-SNMP-custom** template (7) from the list: + + ![image](../assets/getting-started/quick_start_cisco_2.png) + +4. Click **Save**(8). Your device has been added to the list of hosts: + + ![image](../assets/getting-started/quick_start_cisco_3.png) + +5. Go to **Configuration > Services > Services by host**. A set of indicators has been created automatically. + + ![image](../assets/getting-started/quick_start_cisco_4a.png) + + You can also use the shortcut beside the host's name to go directly to **Configuration > Services > Services by host**. The list will be filtered by host name: + + ![image](../assets/getting-started/quick_start_cisco_4b.png) + + ![image](../assets/getting-started/quick_start_cisco_5.png) + +6. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Go to **Monitoring > Resources Status** and select **All** from the **Resource status** filter. At first, the resources appear with the status **Pending**, which means that no checks have been executed yet: + + ![image](../assets/getting-started/quick_start_cisco_6.png) + + After a few minutes, the first results of the monitoring appear: + + ![image](../assets/getting-started/quick_start_cisco_7.png) + + If not all services are in an OK state, check what is causing the error and fix the problem. diff --git a/versioned_docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md b/versioned_docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md new file mode 100644 index 000000000000..ea6a269c2263 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/monitor-linux-server-with-snmp.md @@ -0,0 +1,145 @@ +--- +id: monitor-linux-server-with-snmp +title: Monitor your first Linux host +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Monitoring a Linux server with SNMP + +In this tutorial, we're assuming that your Centreon platform is installed and running well, and that you have at least a [Centreon IT 100 Edition](it100.md) that provides Centreon Monitoring Connectors (your [license](../administration/licenses.md) is already set up). + +Your Linux server will be monitored using the [Linux SNMP Monitoring Connector](/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp). (More about Monitoring Connectors [here](../monitoring/pluginpacks.md)). + +## Prerequisites + +### On the Linux server you want to monitor + +The first step is to activate and configure an SNMP agent on your monitored host. +Please refer to the documentation of your Linux distribution to find out how to configure the SNMP agent. + +Find below a minimalist snmpd.conf/net-snmp configuration file: + +- replace the **agentaddress** line with the appropriate address of the interface snmpd listens on +- replace **my-snmp-community** with the correct value for your environment. +- Add the line **view centreon included .1.3.6.1** to have access to all information in the MIB required by the plugin + +```shell +agentaddress 0.0.0.0,[::] + +# sec.name source community +com2sec notConfigUser default my-snmp-community + +#### +# Second, map the security name into a group name: + +# groupName securityModel securityName +group notConfigGroup v1 notConfigUser +group notConfigGroup v2c notConfigUser + +#### +# Third, create a view for us to let the group have rights to: + +# Make at least snmpwalk -v 1 localhost -c public system fast again. +# name incl/excl subtree mask(optional) +view centreon included .1.3.6.1 +view systemview included .1.3.6.1.2.1.1 +view systemview included .1.3.6.1.2.1.25.1.1 + +#### +# Finally, grant the group read-only access to the systemview view. + +# group context sec.model sec.level prefix read write notif +access notConfigGroup "" any noauth exact centreon none none +access notConfigGroup "" any noauth exact systemview none none + +``` + +The SNMP server must be restarted each time the configuration is modified. Also make sure the SNMP server is configured to automatically start on boot. Use the following commands for recent distributions: + +```shell +systemctl restart snmpd +systemctl enable snmpd +``` + +> The target server must be reachable from the Centreon Poller on the UDP/161 SNMP port. + +### On the poller + +Connect to your poller using SSH and install the Linux SNMP plugin (see the [monitoring procedure for the **Linux SNMP** Monitoring Connector](/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp) for more information): + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Linux-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Linux-Snmp +``` + + + + +```shell +apt install centreon-plugin-operatingsystems-linux-snmp +``` + + + + + +### On the central server + +In the web interface, go to **Configuration > Monitoring Connector Manager** and install the **Linux SNMP** Monitoring Connector: + + ![image](../assets/getting-started/quick_start_linux_0.gif) + +## Configure the host and deploy the configuration + +1. Go to **Configuration > Hosts > Hosts** and click **Add**: + + ![image](../assets/getting-started/quick_start_linux_1.gif) + +2. Input the following information: + + * The name of the server (1) + * A description of the server (2) + * Its IP address (3) + * The SNMP version and community (4) + * Select the poller that will monitor your Linux server (keep "Central" if you have no other poller) (5) + +3. Click **+ Add a new entry** in the **Templates** field (6), then select the **OS-Linux-SNMP-custom** template (7) from the list: + + ![image](../assets/getting-started/quick_start_linux_2.png) + +4. Click **Save**(8). Your device has been added to the list of hosts: + + ![image](../assets/getting-started/quick_start_linux_3.png) + +5. Go to **Configuration > Services > Services by host**. A set of indicators has been created automatically. + + ![image](../assets/getting-started/quick_start_linux_4a.png) + + You can also use the shortcut beside the host's name to go directly to **Configuration > Services > Services by host**. The list will be filtered by host name: + + ![image](../assets/getting-started/quick_start_linux_4b.png) + + ![image](../assets/getting-started/quick_start_linux_5.png) + +6. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Go to **Monitoring > Resources Status** and select **All** from the **Resource status** filter. At first, the resources appear with the status **Pending**, which means that no checks have been executed yet: + + ![image](../assets/getting-started/quick_start_linux_6.png) + + After a few minutes, the first results of the monitoring appear: + + ![image](../assets/getting-started/quick_start_linux_7.png) + + If not all services are in an OK state, check what is causing the error and fix the problem. diff --git a/versioned_docs/version-25.10/getting-started/monitor-printer-with-snmp.md b/versioned_docs/version-25.10/getting-started/monitor-printer-with-snmp.md new file mode 100644 index 000000000000..b3dde8fa63a8 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/monitor-printer-with-snmp.md @@ -0,0 +1,39 @@ +--- +id: monitor-printer-snmp +title: Monitor a printer with SNMP +--- + +Go to the **Configuration \> Monitoring Connectors** menu and install the **Printer Standard** Monitoring Connector: + +![image](../assets/getting-started/quick_start_printer_0.gif) + +Go to the **Configuration \> Hosts \> Hosts** menu and click **Add**: + +![image](../assets/getting-started/quick_start_printer_1.png) + +Input the following information: + +* The name of the server +* A description of the server +* The IP address +* The SNMP version and community + +Click the **+ Add a new entry** button in **Templates** field, and then select the **HW-Printer-standard-rfc3805-custom** +template in the list. + +Click **Save**. + +Your device has been added to the monitoring configuration: + +![image](../assets/getting-started/quick_start_printer_2.png) + +Go to **Configuration \> Services \> Services by host**. A set of indicators has been automatically deployed: + +![image](../assets/getting-started/quick_start_printer_3.png) + +It is now time to [deploy the configuration](#deploying-a-configuration). + +Then go to **Monitoring \> Status Details \> Services** and select the value **All** for the **Service Status** +filter. After a few minutes, the first results of the monitoring appear: + +![image](../assets/getting-started/quick_start_printer_4.png) diff --git a/versioned_docs/version-25.10/getting-started/monitor-ups-with-snmp.md b/versioned_docs/version-25.10/getting-started/monitor-ups-with-snmp.md new file mode 100644 index 000000000000..16c6423fdaad --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/monitor-ups-with-snmp.md @@ -0,0 +1,39 @@ +--- +id: monitor-ups-snmp +title: Monitor UPS devices with SNMP +--- + +Go to the **Configuration \> Monitoring Connectors** menu and install the **UPS Standard** Monitoring Connector: + +![image](../assets/getting-started/quick_start_ups_0.gif) + +Go to the **Configuration \> Hosts \> Hosts** menu and click **Add**: + +![image](../assets/getting-started/quick_start_ups_1.png) + +Input the following information: + +* The name of the server +* A description of the server +* The IP address +* The SNMP version and community + +Click on **+ Add a new entry** button in **Templates** field, then select the **HW-UPS-Standard-Rfc1628-SNMP-custom** +template in the list. + +Click **Save**. + +Your device has been added to the monitoring configuration: + +![image](../assets/getting-started/quick_start_ups_2.png) + +Go to the **Configuration \> Services \> Services by host** menu. A set of indicators has been automatically deployed: + +![image](../assets/getting-started/quick_start_ups_3.png) + +It is now time to [deploy the configuration](first-supervision.md#deploying-a-configuration). + +Then go to the **Monitoring \> Status Details \> Services** menu and select the value **All** for the **Service Status** +filter. After a few minutes, the first results of the monitoring appear: + +![image](../assets/getting-started/quick_start_ups_4.png) \ No newline at end of file diff --git a/versioned_docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md b/versioned_docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md new file mode 100644 index 000000000000..195f71cfaaeb --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/monitor-windows-server-with-snmp.md @@ -0,0 +1,188 @@ +--- +id: monitor-windows-server-with-snmp +title: Monitor your first Windows host +description: Monitoring a Windows server with SNMP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Monitoring a Windows server with SNMP + +In this tutorial, we're assuming that your Centreon platform is installed and running well, and that you have at least a [Centreon IT 100 Edition](it100.md) that provides Centreon Monitoring Connectors (your [license](../administration/licenses.md) is already set up). + +Your Windows server will be monitored using the [Windows SNMP Monitoring Connector](/pp/integrations/plugin-packs/procedures/operatingsystems-windows-snmp). (More about Monitoring Connectors [here](../monitoring/pluginpacks.md)). + +## Prerequisites + +### On the Windows server you want to monitor + +The first step is to install and configure the SNMP service on the Windows host you +want to monitor. Please refer to the documentation of your Windows distribution +to find out how to configure the SNMP service. + +Find below some steps to install and configure SNMP on Windows 10. + +#### Installing SNMP on Windows 10 + +There are several ways to enable SNMP: from the **Settings** menu or by using PowerShell. + + + + +1. Go to **Settings > Apps & features > Optional features**. + +2. Click **Add a feature** and search for SNMP: + + ![image](../assets/getting-started/quick_start_windows_snmp_4.png) + +3. Select **Simple Network Management Protocol** (SNMP) and click **Install**. + + + + +1. Check if the SNMP service is installed: + + ```shell + Get-WindowsCapability -Online -Name "SNMP*" + ``` + + ![image](../assets/getting-started/quick_start_windows_snmp_1.png) + +2. To install the SNMP service from Microsoft's servers, run the following command: + + ```shell + Add-WindowsCapability -Online -Name "SNMP.Client~~~~0.0.1.0" + ``` + + ![image](../assets/getting-started/quick_start_windows_snmp_2.png) + +3. Check if the SNMP service has been installed successfully: + + ```shell + Get-WindowsCapability -Online -Name "SNMP*" + ``` + + ![image](../assets/getting-started/quick_start_windows_snmp_3.png) + + + + +#### Configuring SNMP on Windows 10 + +After installing SNMP, you need to configure it. + +1. In the search bar, type **services.msc** and press **Enter** to launch the **Services** panel. + +2. Look for the SNMP service in the list. + + ![image](../assets/getting-started/quick_start_windows_snmp_55.png) + +3. On the **Agent** tab, fill in the **Contact** and **Location** parameters. Then, in the **Service** section, check the boxes for services from which you want to collect data for forwarding to the Centreon Poller that will monitor the host. + + ![image](../assets/getting-started/quick_start_windows_snmp_6.png) + +4. On the **Security** tab, enter the SNMP community in the **Accepted community names** section and choose the **READ ONLY** option. +Then select **Accept SNMP packets from these hosts** and add the IP address of the Centreon poller. + + ![image](../assets/getting-started/quick_start_windows_snmp_8.png) + +5. Restart the SNMP Service: + + ![image](../assets/getting-started/quick_start_windows_snmp_5.png) + +### On the Centreon poller + +Connect to your poller using SSH and install the Windows SNMP plugin (see the [monitoring procedure for the **Windows SNMP** Monitoring Connector](/pp/integrations/plugin-packs/procedures/operatingsystems-windows-snmp) for more information): + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Windows-Snmp +``` + + + + +``` shell +dnf install centreon-plugin-Operatingsystems-Windows-Snmp +``` + + + + +```shell +apt install centreon-plugin-operatingsystems-windows-snmp +``` + + + + + +### On the central server + +In the web interface, go to **Configuration > Monitoring Connector Manager** and install the **Windows SNMP** Monitoring Connector: + +![image](../assets/getting-started/quick_start_windows_snmp_10.gif) + +## Configure the host and deploy the configuration + +1. Go to **Configuration > Hosts > Hosts** and click **Add**: + + ![image](../assets/getting-started/quick_start_windows_snmp_11.gif) + +2. Input the following information: + + * The name of the server (1) + * A description of the server (2) + * The IP address of the server (3) + * The SNMP version and community (4) + * Select the poller that will monitor your Windows server (keep "Central" if you have no other poller) (5) + +3. Click **+ Add a new entry** in the **Templates** field (6), then select the **OS-Windows-SNMP-custom** template (7) from the list. + + ![image](../assets/getting-started/quick_start_windows_snmp_12.png) + +4. Click **Save**. Your device has been added to the list of hosts: + + ![image](../assets/getting-started/quick_start_windows_snmp_13.png) + +5. Go to **Configuration > Services > Services by host**. A set of indicators has been automatically deployed: + + ![image](../assets/getting-started/quick_start_windows_snmp_14.png) + +6. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +7. Go to **Monitoring > Resources Status** and select **All** from the **Resource status** filter. At first, the resources appear with the status **Pending**, which means that no checks have been executed yet: + + ![image](../assets/getting-started/quick_start_windows_snmp_15.png) + + After a few minutes, the first results of the monitoring appear: + + ![image](../assets/getting-started/quick_start_windows_snmp_16.png) + + If not all services are in an OK state, check what is causing the error and [fix the problem](/pp/integrations/plugin-packs/getting-started/how-to-guides/troubleshooting-plugins/). + +### To go further + +The **Windows SNMP** Monitoring Connector provides several monitoring templates. Go to **Configuration > Services > Templates** to see the complete list: + + ![image](../assets/getting-started/quick_start_windows_snmp_18.png) + +With **Centreon IT Edition** you can add the monitoring of your network cards, partitions, processes and services very quickly and very simply using the [Service Discovery](../monitoring/discovery/services-discovery.md) feature. + +1. Go to **Configuration > Services > Scan**. Start entering the name of the host and the web interface automatically completes the name: + + ![image](../assets/getting-started/quick_start_windows_snmp_19.png) + +2. Select the discovery command to run from the list that has just appeared below the **Rule** field. Then click the **Scan** button and wait during the discovery. The result is displayed. Select items to add to the monitoring and click the **Save** button: + + ![image](../assets/getting-started/quick_start_windows_snmp_20.png) + +The item was added. You can select another discovery command below **Rule** and repeat the process. + +3. The services are added and can be displayed in the **Configuration > Services > Services by host** menu: + + ![image](../assets/getting-started/quick_start_windows_snmp_21.png) + +4. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). diff --git a/versioned_docs/version-25.10/getting-started/mysql_tuto.md b/versioned_docs/version-25.10/getting-started/mysql_tuto.md new file mode 100644 index 000000000000..75d61c758671 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/mysql_tuto.md @@ -0,0 +1,106 @@ +--- +id: monitor-mysql-server +title: Monitor a MySQL or MariaDB database +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The objective of this tutorial is to monitor a Mysql/MariaDB database. + +## Prerequisites + +### On the database you want to monitor + +To be able to collect the necessary information from the database, a database user with specific privileges is required. If the database you want to monitor is a Centreon database, a dedicated user already exists and is called **centreon**. Otherwise, start by creating a new user: log in to your database, then run the following command: + +```shell +CREATE USER 'username'@'IP_POLLER' IDENTIFIED BY 'password'; +``` + +Then, whether your database is a Centreon database or not, run the following command: + +```shell +GRANT SELECT ON *.* TO 'username'@'IP_POLLER'; +``` + +> Replace the username, the IP address of the poller and the password with the values you want. + +### On the poller + +Install the following plugin on the poller that will monitor your database: + + + + +``` shell +dnf install centreon-plugin-Applications-Databases-Mysql +``` + + + + +``` shell +dnf install centreon-plugin-Applications-Databases-Mysql +``` + + + + +```shell +apt install centreon-plugin-applications-databases-mysql +``` + + + + + +### On the central server + +The database will be monitored using the [**MySQL/MariaDB** Monitoring Connector](/pp/integrations/plugin-packs/procedures/applications-databases-mysql). +Go to **Configuration > Monitoring Connector Manager** and install the **MySQL/MariaDB** Monitoring Connector: + +![image](../assets/getting-started/quick_start_mysql_0.gif) + +## Set up the host and deploy the configuration + +1. Go to **Configuration > Hosts > Hosts** and click **Add**: + + ![image](../assets/getting-started/quick_start_mysql_1a.gif) + +2. Input the following information: + + * The name of your server + * A description of your server + * Its IP address + * Select the poller that will monitor the database (leave "Central" if you have no other poller) + +3. Click the **+ Add New Entry** button for the **Templates** field and select the **App-DB-MySQL-custom** template: + + ![image](../assets/getting-started/quick_start_mysql_1a.png) + +4. A list of macros matching the template will appear: + + ![image](../assets/getting-started/quick_start_mysql_1b.png) + + Fill in the value of following macros: + + * **MYSQLUSERNAME**: the name of the user that will connect to the database. + * **MySQLPASSWORD**: the password associated with this user. + * **MySQLPORT**: the listening port of the database, by default 3306. + +5. Click **Save**. Your device has been added to the list of hosts: + + ![image](../assets/getting-started/quick_start_mysql_2.png) + +6. Go to **Configuration > Services > Services by host**. A set of indicators has been deployed automatically: + + ![image](../assets/getting-started/quick_start_mysql_3.png) + +7. [Deploy the configuration](first-supervision.md#deploying-a-configuration). + +8. Go to **Monitoring > Status Details > Services** and select **All** +for the **Service Status** filter. At first, the resources appear with the status **Pending**, + which means that no checks have been executed yet. After a few minutes, the first results of the monitoring appear: + + ![image](../assets/getting-started/quick_start_mysql_4.gif) \ No newline at end of file diff --git a/versioned_docs/version-25.10/getting-started/platform.md b/versioned_docs/version-25.10/getting-started/platform.md new file mode 100644 index 000000000000..cdbe0556a273 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/platform.md @@ -0,0 +1,38 @@ +--- +id: platform +title: Elements of a Centreon platform +--- + +According to your needs, your platform can consist of several elements: a [central server](#central-server), one or several [remote servers](#remote-server), and one or several [pollers](#poller). + +- If you are only monitoring a few resources, you will only need a central server. +- If you are monitoring a large number of resources, spread the load across a [distributed architecture](#distributed-architecture). + +## Central server + +In Centreon, the central server is the main console where you monitor resources. The central server allows you to: + +- configure the monitoring of your whole infrastructure, +- monitor resources +- see what all your Centreon servers monitor (central server, [remote servers](#remote-server) and [pollers](#poller)), using its web interface. + +## Remote server + +A remote server is attached to a central server. Pollers can be attached to a remote server. + +- A remote server monitors resources. It has a monitoring engine. +- It has a graphical interface, but no configuration menus. +- The resources it monitors are displayed in its interface, and in the interface of the central server it is attached to. + +## Poller + +A poller can be attached to a [remote server](#remote-server), or directly to a [central server](#central-server). + +- A Centreon poller monitors resources. It has a monitoring engine. +- A poller has no graphical interface: the resources it monitors are displayed in the interface of the central server and of the remote server it is attached to. + +## Distributed architecture + +![image](../assets/getting-started/archi.png) + +See also [**Architectures**](../installation/architectures.md). diff --git a/versioned_docs/version-25.10/getting-started/welcome.md b/versioned_docs/version-25.10/getting-started/welcome.md new file mode 100644 index 000000000000..d4e92d7fb30d --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/welcome.md @@ -0,0 +1,7 @@ +# Getting started with Centreon OnPrem + +Hello and welcome! We are excited to help you begin your Centreon journey. + +import DocCardList from '@theme/DocCardList'; + + diff --git a/versioned_docs/version-25.10/getting-started/which-install.md b/versioned_docs/version-25.10/getting-started/which-install.md new file mode 100644 index 000000000000..720bd626b285 --- /dev/null +++ b/versioned_docs/version-25.10/getting-started/which-install.md @@ -0,0 +1,19 @@ +--- +id: which-install +title: Which installation should I choose? +--- + +There are several ways to install Centreon. Which one suits your needs best? + +## To use Centreon [IT-100](it100.md) or to test the solution + +- Use a [ready-to-use virtual machine](../installation/installation-of-a-central-server/using-virtual-machines.md). + +## To install Centreon in production + +- Use [RPM or DEB packages](../installation/installation-of-a-central-server/using-packages.md): if you already have the + OS and you only want to install Centreon. See the list of [supported operating systems](../installation/compatibility.md#operating-systems). + +## See also + +See also the [installation prerequisites](../installation/prerequisites.md). \ No newline at end of file diff --git a/versioned_docs/version-25.10/graph-views/import-into-map-web.md b/versioned_docs/version-25.10/graph-views/import-into-map-web.md new file mode 100644 index 000000000000..9df127ef25f4 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/import-into-map-web.md @@ -0,0 +1,79 @@ +--- +id: import-into-map-web +title: Switching from MAP (Legacy) to MAP +--- + +This topic describes how to move from Centreon MAP (Legacy) to Centreon MAP by importing your legacy maps into your MAP module. + +> **From Centreon 24.10, MAP Legacy is longer available.** If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Requirements + +- Centreon MAP must be installed in your environment. See the [MAP installation](map-web-install.md) procedure if needed. + +- Before you start the procedure to import legacy maps into MAP, you need to switch from MAP (Legacy) to MAP by [activating the MAP module](./map-web-install.md#step-3-activate-the-map-module). + +- In case you want to install MAP on the same server as MAP (Legacy), you need to make sure that free disk space is at least equal to used space. This is because after migration, the new database will coexist with the legacy one. + +## Importing legacy maps into MAP + +> Migration from MAP Legacy to MAP is final: importing your maps from MAP Legacy to MAP must be done only once, from a blank MAP installation. Do not use MAP Legacy again once you have migrated your legacy maps to MAP. If you migrate your maps from MAP Legacy to MAP more than once, any content created in MAP in the meantime will be deleted and there will be no way of retrieving it. + +### Step 1: Install MAP + +You need first to install Centreon MAP. Go to this [page](map-web-install.md) to perform the installation and switch to the MAP Engine server. + +### Step 2: Update MAP (Legacy) + +For the icons to be displayed properly after you migrate your maps, you need to update your MAP (legacy) by running the following commands: + +```shell +systemctl stop centreon-map +yum update centreon-map-server +systemctl daemon-reload +systemctl start centreon-map +``` + +### Step 3: Migrate maps + +1. If you have custom images on your legacy maps, you need to create a dedicated directory (**/usr/share/centreon/www/img/media/**) on the MAP Legacy server: + + ```shell + mkdir -p /usr/share/centreon/www/img/media/ + chown -R centreon-map:centreon-map /usr/share/centreon/ + chmod -R 775 /usr/share/centreon/* + ``` + +2. To import your legacy maps into MAP, go to the **Monitoring > Map** page, then click the **Migrate** button. The following window appears: + +3. Click **Migrate**. + +4. When the migration has succeeded, you can close the window. + +5. If you have created a dedicated directory as indicated previously, you need now to copy it to **/usr/share/centreon/www/img/media/** on the central server. Assuming you have access rights to the servers involved, enter the following command: + + ```shell + scp -r /usr/share/centreon/www/img/media/* root@:/usr/share/centreon/www/img/media/ + ``` + +Your legacy maps are now displayed on the **Map** page. + +## About images + +The migration process has migrated images from MAP Legacy to Centreon MAP. The following example explains how the name of the image file is set after the migration: + +- In MAP Legacy, your image was located in the **Medias** panel as follows: + + ```shell + countries > france > hardware > hardware_green.png + ``` + +- After the migration, this image will be located in Centreon in **Administration > Parameters > Images**, as follows: + + ```shell + countries_france_hardware > hardware_green.png + ``` + +## After switching from MAP Legacy to MAP in Centreon 24.10 + +Once you have switched to MAP, you need to [uninstall MAP Legacy from your Centreon 24.10 platform](map-legacy-eol.md#how-to-fully-uninstall-map-legacy). diff --git a/versioned_docs/version-25.10/graph-views/introduction-map.md b/versioned_docs/version-25.10/graph-views/introduction-map.md new file mode 100644 index 000000000000..ca285b0d1657 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/introduction-map.md @@ -0,0 +1,43 @@ +--- +id: introduction-map +title: Introduction to Centreon MAP +--- + +Centreon MAP is a solution fully available in the Centreon web interface while offering you the best possible experience in creating, visualizing and sharing graphical representations of your monitored infrastructure. + +> From Centreon 24.10, MAP Legacy is no longer available. Whether you were still using MAP Legacy or not, see [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +> See how to manage views using the Centreon MAP REST API [here](https://docs-api.centreon.com/api/centreon-map/24.10/). + +## Overview + +Create, customize, and view your maps within a single web interface. + +First, you need to create logical views using the MAP editor: + +![image](../assets/graph-views/ng/map-web-editor-view.png) + +Then you can view your map directly in viewing mode: + +![image](../assets/graph-views/ng/map-web-global-view.png) + +Your maps can be displayed in two ways in the interface: +- In the **Monitoring > Map** page, in view mode. +- In the **Home > Custom Views** page, using a dedicated MAP [widget](../alerts-notifications/custom-views.md). + +## Procedures + +Use the following procedures to use and administer Centreon MAP. + +### Administrating MAP + - [Installing MAP](map-web-install.md) describes prerequisites and procedures to install MAP. + - [Installing MAP on a remote server](map-web-install-remote.md) explains how to install MAP on a remote server. + - [Updating MAP](map-web-update.md) describes the update process for MAP. + - [Managing access rights in MAP](map-web-manage.md) describes the different rights and permissions on maps. + +### Using MAP + - [Managing maps in MAP](map-web-manage.md) gives you information about how to manage maps from the Centreon MAP interface. + - [Creating a standard map](map-web-create-standard-map.md) describes how to create standard maps and how to customize them using the MAP editor. + - [Creating a geographic view](map-web-create-geoview.md) explains how to display your resources across a defined geographical area. + - [MAP known issues](map-web-known-issues.md) is a list of issues you may encounter using MAP. + - [MAP troubleshooting](map-web-troubleshooting.md) helps you to solve some issues occurring in MAP. diff --git a/versioned_docs/version-25.10/graph-views/map-legacy-eol.md b/versioned_docs/version-25.10/graph-views/map-legacy-eol.md new file mode 100644 index 000000000000..e5b7e56cd7fb --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-legacy-eol.md @@ -0,0 +1,107 @@ +--- +id: map-legacy-eol +title: MAP Legacy end of life +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> **MAP Legacy is no longer available. Starting from version 24.10, you have to use MAP.** + +This topic describes what to do: + +- if you were still using MAP Legacy and want to upgrade to Centreon 24.10 without losing any data. +- if you were still using MAP Legacy and have already upgraded to Centreon 24.10, and want to switch to MAP without losing any data. +- if you had already migrated from MAP Legacy to MAP in an earlier version (then MAP Legacy files need to be removed). + +If you were still using MAP Legacy, it is likely that you have never installed MAP before. To know whether MAP is installed on your platform, run the following command: + +```shell +rpm -q centreon-map-engine +``` + +If you have installed MAP at some point in the past, then switched back to MAP Legacy, be aware that switching from MAP Legacy to MAP will delete all contents you may have created in MAP when you first installed it. + +## I was still using MAP Legacy and I haven't upgraded to Centreon 24.10 yet + +If you have not upgraded to Centreon 24.10 yet, follow these steps: + +* Make a backup of your MAP legacy data: backup all files in **/etc/centreon-studio** and make a dump of the MAP database. +* [Upgrade your Centreon platform to version 24.10](../../upgrade/introduction). +* If you have never done it in the past, [install MAP](map-web-install.md). If you have installed MAP in the past, [upgrade it to version 24.10](map-web-upgrade.md). +* [Upgrade MAP legacy to version 24.10](upgrading-map-legacy.md). +* [Switch from MAP Legacy to MAP](import-into-map-web.md) in your current version. This includes activating the new MAP module and importing your legacy maps into MAP. +* [Uninstall MAP Legacy from your Centreon platform](#how-to-fully-uninstall-map-legacy). + +## I was still using MAP Legacy and I have already upgraded my platform and MAP legacy and MAP to Centreon 24.10 + +* Make a backup of your MAP legacy data: backup all files in **/etc/centreon-studio** and make a dump of the MAP database. +* [Switch from MAP Legacy to MAP](import-into-map-web.md). This includes activating the new MAP module and importing your legacy maps into MAP. +* [Uninstall MAP Legacy from your Centreon platform](#how-to-fully-uninstall-map-legacy). + +## I wasn't using MAP Legacy anymore but it was still installed on my platform + +If you had already migrated to MAP in an earlier version and weren't using MAP Legacy anymore, [uninstall MAP Legacy from your Centreon 24.10 platform](#how-to-fully-uninstall-map-legacy). This is because some legacy files are still present and need to be removed to avoid all problems when upgrading later. + +## How to fully uninstall MAP Legacy + +> It is mandatory to unistall MAP Legacy from your Centreon 24.10 platform, otherwise you may encounter issues when upgrading to later versions. + +### Remove the legacy package + +Remove the **centreon-map-server** package from the server where MAP Legacy was installed: + + + + +```shell +dnf remove centreon-map-server +``` + + + + +```shell +dnf remove centreon-map-server +``` + + + + +```shell +apt remove centreon-map-server +``` + + + + +### Optional procedures + +> These cleaning procedures will allow you to work in an optimal environment. Make sure you have made a backup of your data. + +- Remove the legacy log files. (If you do not know where to find the log files, look in `/etc/centreon-studio/map-log.xml`. By default, the path is `/var/log/centreon-map/centreon-map.log`.) + + ```shell + rm /var/log/centreon-map/centreon-map.log + ``` + +- Remove the legacy configuration files from the server where MAP Legacy was installed: + + ```shell + rm -rf /etc/centreon-studio + ``` + +- Remove the database that was used by MAP Legacy: + + - Retrieve the credentials to connect to the database from this file `/etc/centreon-studio/studio-database.properties`. + + - Enter this command to remove the database: + + ```shell + mysql --host=$DB_HOST --port=$DB_PORT --user=$DB_USER --password $DB_NAME "DROP DATABASE centreon_studio;" + ``` + +- If you have reused your MAP legacy server to install MAP, remove the images that were stored on the server during the migration process: + +```shell +rm -fr /usr/share/centreon/www/img/media/ +``` diff --git a/versioned_docs/version-25.10/graph-views/map-web-access.md b/versioned_docs/version-25.10/graph-views/map-web-access.md new file mode 100644 index 000000000000..e4f6673efb80 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-access.md @@ -0,0 +1,78 @@ +--- +id: map-web-access +title: Managing access rights in MAP +--- + +This topic explains how users can access the maps according to well-defined privileges. + +Users who can create maps are: + +- Centreon administrators. +- Users belonging to an access group that is granted the creator role. + +Rights to access a map – also called privileges – are not managed at user level, but through access groups. You can access a map because you belong to an access group that has privileges to access that map. Privileges allow you to perform some specific actions on maps. + +## Role of map creator + +### Checking creator status + +Perform the following procedure to check whether you are allowed to create a map. + +1. Go to **Monitoring > Map**. + +2. On the **Map** homepage, the **+** button means that you are allowed to create a map. This means you belong to an access group that is granted the creator role. + +### Granting creator role + +Only Centreon administrators can create maps and allow users to create maps. + +Perform the following procedure to allow users to create maps by granting rights on the access group they belong to. + +1. As an administrator, go to **Monitoring > Map**. + +2. Click on **Edit creators**. +A list of existing access groups is displayed. + +3. Select the access group(s) you want. + +4. Click Save to confirm. +Users belonging to the selected access group are now able to create maps. + +## Privileges on a map + +Ensure users are well organized in access groups. This will facilitate the granting of privileges according to those groups. + +### Managing users in access groups +Users must belong to the right group to get access to specific maps. Use the [Creating an access group](../administration/access-control-lists.md#creating-an-access-group) procedure to manage users in access groups. + +### Granting privileges on a map +Privileges are granted when you perform the action of sharing a map. At map level, you can specify which access group is allowed to access that map, with specific privileges as well. + +Perform the following procedure to grant privileges using the sharing action. + +1. Go to **Monitoring > Map**. +The Map homepage is displayed with the list of available maps. + +2. Click the **share** button corresponding to the map you want to share. +The list of available access groups is displayed. + +3. For the access group you want, select the privilege to grant in the dropdown list. + +4. Click **Save** to confirm. +If a user belongs to several access groups, the privilege with the most permissions will be applied. + +This table describes the types of privileges and related permissions: + +| | None | Viewer | Editor | Owner | +|------------|------|--------|--------|-------| +| Can see | | x | x | x | +| Can edit | | | x | x | +| Can share | | | | x | +| Can delete | | | | x | + +- When you create a map, you and users in your access group have Owner privileges on that map. +- Centreon administrators are creators and have Owner privileges on all maps. +- Users with Owner privileges can also set or change map properties (name and icon). +- Sharing a map allows the recipient to acquire privileges on that map. + +Access control to maps is only enforced at the map level. When you have the “Viewer” privilege, you can view a map and all its included resources, even if you do not have the corresponding ACL. When editing a map, you can only add resources if you have the corresponding ACL. diff --git a/versioned_docs/version-25.10/graph-views/map-web-advanced-configuration.md b/versioned_docs/version-25.10/graph-views/map-web-advanced-configuration.md new file mode 100644 index 000000000000..ba152e042083 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-advanced-configuration.md @@ -0,0 +1,183 @@ +--- +id: map-web-advanced-configuration +title: Advanced configuration in MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes advanced procedures for configuring your Centreon MAP +system. + +## Monitoring your Centreon MAP server after installation + +Centreon provides a [Monitoring Connector and a plugin](/pp/integrations/plugin-packs/procedures/applications-monitoring-centreon-map-engine-actuator) to monitor your Centreon MAP server. + +### Configure your services + +Access your Centreon Web interface. Go to **Configuration > Host > Add**. + +Fill in the basic information about your host and add the following host +templates: + +- OS-Linux-SNMP-custom +- App-Jvm-Centreon-Map-Engine-custom + +To monitor centreon-map JVM, please use following macro values: + +| Name | Value | +| :---------------------- | :------------------------------ | +| ACTUATORCUSTOMMODE | ```centreonmap``` | +| ACTUATORAPIURLPATH | ```/centreon-map/api/beta``` | +| ACTUATORAPIUSERNAME | Api username must be set | +| ACTUATORAPIPASSWORD | Api password must be set | + +> Remember to check the "Create Services linked to the Template too" checkbox. + +You can now export your configuration, and your Centreon MAP server will be +monitored. + +You can also simply check by accessing the following URL, which tells you +whether or not the server is up: + + + + +```shell +http://:8080/centreon-map/api/beta/actuator/health. +``` + + + + +```shell +https://:8443/centreon-map/api/beta/actuator/health. +``` + + + + +## Backup of the Centreon MAP server + +### Saved items + +The saved items are: + +- configuration files (**/etc/centreon-map**) +- the **centreon\_map** database + +### How does it work? + +The backup script is executed on a daily basis (2 AM) with a cron job located in +**/etc/cron.d/centreon-map-server-backup**: + +```text +# +# Cron to backup Centreon MAP server +# +PATH=/sbin:/bin:/usr/sbin:/usr/bin + +# rewrite file with new cron line +CRONTAB_EXEC_USER="" + +0 2 * * * root bash /usr/share/centreon-map-server/bin/centreon-map-server-backup.sh >> /var/log/centreon-map/backup.log 2>&1 +``` + +The backup **centreon-map-server-yyyy-mm-dd.tar.gz** is stored in +**BACKUP\_DIR**, which is defined in the configuration file. + +### Backup parameters + +The backup parameters are stored in **/etc/centreon-map/backup.conf** + +- ENABLE: enable/disable the backup mechanism (default value: 0) +- BACKUP\_DIR: where the backup is stored (default value: /var/backup) +- RETENTION\_AGE: backup retention in days (default value: 8) + +> **We recommend exporting backups to another resource in order to secure them.** + +### Restore data from the Centreon MAP server + +The restoration process is divided into several steps: + +- Extracting the backup +- Restoring configuration files +- Restoring the database + +> **We assume that you have followed the Centreon MAP server installation +> procedure to obtain a fresh install.** + +### Extracting the backup + +Obtain the last **centreon-map-server-yyyy-mm-dd.tar.gz** backup and extract it +into the **/tmp** directory: + +```shell +cd /tmp +tar xzf centreon-map-server-yyyy-mm-dd.tar.gz +``` + +### Restoring configuration files + +To restore configuration files, run the following command: + +```shell +cp -R etc/centreon-map/* /etc/centreon-map/ +``` + +### Restoring the database + +To restore the **centreon\_map** database, run the following command: + +```shell +systemctl stop centreon-map +mysql -h -u -p < centreon-map-server.dump +systemctl start centreon-map +``` + +## Change the Centreon MAP server's port + +> Mistakes when editing configuration files can lead to malfunctions of the software. We recommend that you make a backup of the file before editing it and that you only change the settings advised by Centreon. + +By default, the Centreon MAP server is listening and sending information +through the port 8080. If you set the SSL (see [HTTPS/TLS +Configuration](secure-your-map-platform.md#configure-httpstls-on-the-web-server)), +use port 8443. + +You can change this port (e.g., if you have a firewall on your network +blocking these ports). + +On your Centreon MAP server, stop the centreon-map service: + +```shell +systemctl stop centreon-map +``` + +Edit the map-config.properties settings file located in +/etc/centreon-map: + +```shell +vi /etc/centreon-map/map-config.properties +``` + +Add the following line in the MAP SERVER section: + +```text +centreon-map.port=XXXX +``` + +> Replace *XXXX* with the port you want. + +Then restart the Centreon MAP server: + +```shell +systemctl start centreon-map +``` + +Wait for the Centreon MAP service to start completely (~30 sec to 1 minute). + +Test that your server is up and accessible on the new port you defined by +entering the following URL in your web browser: + +```shell +http://:/centreon-map/api/beta/actuator/health +``` diff --git a/versioned_docs/version-25.10/graph-views/map-web-advanced.md b/versioned_docs/version-25.10/graph-views/map-web-advanced.md new file mode 100644 index 000000000000..359565a3acee --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-advanced.md @@ -0,0 +1,34 @@ +--- +id: map-web-advanced +title: Advanced parameters in MAP +--- + +## Define status computation parameters + +Centreon MAP Engine gives you the possibility to customize how the inherited status is computed and rendered in views. You may use the following parameters to adapt the behavior of inherited status computation to your use case. + +### What's an inherited status? + +An inherited status is a Centreon MAP custom status associated with some objects that is based on the worst status of its children. Here are the rules: + +- A host has two statuses: its own status (up/down/pending) and an inherited status that is based on the worst status of its services. For more readability, the status displayed is the result of calculating the worst status between the two statuses. +- A hostgroup only has an inherited status corresponding to the worst status of its children (hosts, services). +- A servicegroup has only an inherited status: the worst status of its children (services). +- A container has only an inherited status: the worst status of its children (hosts, services, meta-services, hotsgroups, servicegroups, BA, widgets). + +### Status computation parameters + +| Parameter | Possible value | Default value | Description | +| ----------------------------------- | -------------- | ------------- | -------------------------------------------------------------------------------------------- | +| resource.status.use-hard | true or false | false | Only use hard status value for inherited status propagation. If the parameter is set to TRUE, SOFT status changes are not taken into account in the calculation. If the parameter is set to FALSE (default value), SOFT and HARD statuses are taken into account. See more about [status types](../alerts-notifications/concepts.md#status-types). | +| resource.status.ignore-on-downtime | true or false | false | Do not propagate state for resources in downtime. If the parameter is set to TRUE, the status is not taken into account when calculating the inherited status. | +| resource.status.ignore-on-acknowledgement | true or false | false | Do not propagate state for acknowledged resources. If the parameter is set to TRUE, the status is not taken into account when calculating the inherited status. | +| resource.status.ignore-above-severity | integer | max value | Do not propagate state for resources having severity strictly superior to this value. The lower the severity number, the more critical the resource. For instance, if this parameter is set to 1, only resources with a severity equal to 0 or 1 will be taken into account. Severities in Centreon are set between 0 and 127*. | + +*Resources with no configured severity are considered to have the highest severity. This means that if this parameter is set, whatever its value, resources that have no severity in Centreon will never be taken into account in inherited status calculation. + +### Edit parameters + +- You can configure these parameters in the **/etc/centreon-map/map-config.properties** file. + +- If you add, remove or update a parameter, make sure to restart **centreon-map-engine**. diff --git a/versioned_docs/version-25.10/graph-views/map-web-create-geoview.md b/versioned_docs/version-25.10/graph-views/map-web-create-geoview.md new file mode 100644 index 000000000000..10c83e00b9e5 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-create-geoview.md @@ -0,0 +1,68 @@ +--- +id: map-web-create-geoview +title: Creating a geographic view +--- + +This topic provides information about how to create geographic views from the Centreon MAP interface. + +The display of the **Add a new Geographic view** button on the **Map** page means that you are allowed to create a geographic view and that you belong to an access group that is granted the creator role. + +## Requirement + +In order to apply geographic coordinates while configuring a new geographic view, it is necessary to provide them on the **Extended infos** tab corresponding to the resource you want to monitor (a host, a hostgroup or a business activity). + +For example, to fill in geographic coordinates for the **Central** host: + +1. Go to **Configuration > Hosts > Hosts**. Then click the **Central** host. +2. Click the **Host Extended Infos** tab. +3. Fill in the **Geographic coordinates** field with the `Latitude, Longitude` format. Then click **Save**. + +## Create a geographic view + +1. In the **Monitoring > Map** page, click the **Add a new Geographic view** button located in the **Geographic views** section. + +2. Fill in the **Add a new geographic view** property: + - Name: provide a name to the geographic view. + +3. Click **Add**. +The new view is added to the **Geographic views** section. Click it to complete its configuration. + +4. Click the **Edit** button and fill in the **Edit view parameters**. + +5. Click **Edit** to confirm the parameters. + +## Additional information + +### How resources are displayed + +When a resource (host, hostgroup or business activity) is positioned on a geographic view, it is displayed as a circle whose color is defined using the following rules: + +- **Host:** worst state between the host and its services. +- **Hostgroups:** worst state of hosts belonging to the hostgroups. +- **Business activity:** current status. + +Worst state order: Critical (red) \> Down (red) \> Warning(orange) \> +Unknown(gray) \> Unreachable(gray) \> Ok(green) \> Up(green) \> Pending(blue) + +### Clustering + +When multiple resources are geographically close and you are at a "certain" zoom level, then they are grouped into one single circle +displaying two elements: + +- Status of the worst object (displayed as a color between green, orange, red + and gray). +- Number of resources in this state. + +This behavior can be disabled in the global Centreon Map options, by setting the **Clustering mode** option to **No**. + +### Blinking resources + +If a resource is in a "non-ok" state, it blinks. +This behavior can be disabled in the global Centreon Map options by setting the **Blink markers** option to **No**. + +### Datalayers on geographic views + +Centreon MAP allows you to display additional data layers on maps to add context to your real time IT infrastructure status. + +First you need to add data layers in Centreon Map options, in the **Data Layers geographic services** section. +Then, if the data layer is enabled, you can make it visible or not by checking the dedicated layer using the top left icon. diff --git a/versioned_docs/version-25.10/graph-views/map-web-create-standard-map.md b/versioned_docs/version-25.10/graph-views/map-web-create-standard-map.md new file mode 100644 index 000000000000..bc60664cbf6f --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-create-standard-map.md @@ -0,0 +1,146 @@ +--- +id: map-web-create-standard-map +title: Creating a standard map +--- + +This topic describes how to create standard maps and how to customize them using the MAP editing mode. + +The display of the **Add a Map** button in the **Map** page means that you are allowed to create a map and that you belong to an access group that is granted the creator role. + +## Create a standard map + +1. In the **Monitoring > Map** page, click the **Add a Map** button located in the **Standard maps** section. + +2. Fill in the properties of the new map: + - Name: provide a name to the map. + - Image: select an image if you want to customize the map's display in the list of maps. + +3. Click **Add** to confirm the map's creation. + +The new map opens directly in the editor interface. + +## Create a map from an existing container + +You can create a view directly from a [container](#container). This is useful when you want to share the sublevel of a view to a different profile without duplicating its contents or assigning full access to the main view. + +1. Right-click the container and click **Create map from container**. +2. Name the container. +3. Click Add. + +Your map has been created. You can find it in the MAP homepage. + +> Now you can customize your map using the MAP editor features. + +## Use the MAP editor + +Follow this procedure to open your map in editing mode: + +1. Go to **Monitoring > Map** to display the list of existing maps. +2. Select the map you want to edit. +3. Click the **EDIT** button to open it in editing mode. + +> After editing the map, switch to viewing mode by saving your changes with the **SAVE** button. Then click **EXIT**. + +### MAP editor overview + +This is the MAP editor view: + +![image](../assets/graph-views/ng/map-web-editor-description.png) + +**1. Breadcrumb:** allows you to know which elements of the map you have been through to reach the current view. +**2. Toolbar:** allows you to hide / display panels, to undo / redo actions, and to fit / zoom in / zoom out on the drawing canvas space. +**3. IP address:** this is the MAP server address specified in the Centreon Map settings. +**4. Shapes panel:** this panel offers all elements you need to build a map, from the basics to the Centreon resources. +**5. Format panel:** this panel allows you to apply a format to a selected element. +**6. Drawing canvas:** this is the space in the middle of the editor, where you draw your diagram. +**7. Tab:** you can navigate between multiple tabs when your map requires multiple pages. For instance, when your map has several containers, you can navigate between tabs where each tab corresponds to a container. + +### Use graphical elements to build your map + +The **Shapes** panel contains different types of elements to build your map. Options will be displayed depending on the type of element you have selected. + +#### Basic elements + +Use **Basic** shapes to organize your map elements with geometric shapes and text areas. Then use the **Format** panel to customize your shape by applying a style format such as color, opacity, etc. + +#### Widget elements + +Use **Widget** elements to display graphical data about the resources you monitor. Widgets provide information such as health status information or performance metrics. The available widgets are: +- **Pie chart:** displays the status of a resource to monitor in proportional data format. It displays: + - For a host: the number of OK, Warning, Critical, and NA states. + - For a host group: the number of hosts in OK, Warning, Critical, and NA states. +- **Line chart:** displays performance data related to a service, over a period of time. +- **Gauge:** describes the output of a service. You can place a gauge in any direction (left to right, bottom to top, etc.). +- **Output:** describes the output of a service. The background is in the same color as the status. +- **Process:** allows you to trigger an action on any resources based on a command. Here is an example: + - You have an internal website that uses Apache, and sometimes Apache crashes. Your need to investigate the core problem of why this crash occurs, however your priority is to make sure the end users can access the website. + - You can use the process widget by assigning a command such as "services httpd restart" so that when the Apache process crashes, users can immediately restart the Apache service from the view by double-clicking on the widget. + - To create a service dedicated to an "action": create a command (in **Configuration > Command > Checks > Add**) that contains "service httpd restart" (remember to enable shell). Link the command to a passive service. Link the passive service to a host (e.g. the host that hosts the website). Then you can assign that service to the widget. + +#### Media elements + +Use **Media** elements to add: +- **URL:** allows you to add an access to a specified link. +- **Image:** allows you to customize your diagram by adding images. + +1. Drag and drop the element into the drawing canvas. +2. Right-click it and select **Edit data**. +3. Fill in the required setting and click **Submit**. + +#### Link elements + +Use **Link** elements to make connections between items (with anchor points): +- **Link:** is a simple arrow link element to connect two items. +- **Status link:** use this link between two items and configure a resource to monitor from it. Then this link will display the color status of the resource you specified. +- **Metric link:** use this link between two items and configure a service and its metrics from it. Then this link will display the metrics of the service you specified. + +#### Centreon elements + +- **Resources** elements: + - Host group + - Host + - Service + - Service group + - Meta service + +- **MAP** element: + - ### Container + Use containers when you want to create multiple levels of your map. Each level is represented by a container. + - In the view mode, each container becomes a map with its own status. + - In the editor mode, each level becomes a tab. Then you can navigate between containers using the different tabs. + +- **BAM** elements: + - Business activity + +Settings will be displayed depending on the type of element you have selected. + +1. Drag and drop the element into the drawing canvas. +2. Right-click it and select **Edit data**. +3. Fill in the required settings and click **Submit**. + +#### Customize your elements + +The **Format** panel allows you to apply formatting options depending on the type of element you have selected. +- **Style tab:** to customize shapes, links and text. +- **Text tab:** to format all text elements. +- **Arrange tab:** to organize elements on the drawing canvas (size, position, alignment) and place them according to different layers. + +### Add several resources using the bulk mode + +In edition mode, you can add several resources to your view in a single action. + +1. Click in the **Search a resource** bar above the view. +2. In the dropdown list, select the resources you want in **Host groups, Hosts, Service groups, Services, Meta services and Business Activities**. +3. Then click the **Add to map** button. + +The resources you have selected are now added to the view! + +## Save the perspective of your map + +For an optimal user experience, you can save the perspective (zoom and position) of your map. So each time you open your map, you will find it in the position that suits you best. + +- **In edition mode:** the perspective is saved as soon as you click on the **Save** button. + +- **In view mode:** click the **Save perspective** button and a message will confirm the perspective is saved. + +> You are able to add an element and save the map even if this element is not tied to any resource. It will then be displayed in yellow when you switch to view mode. diff --git a/versioned_docs/version-25.10/graph-views/map-web-install-remote.md b/versioned_docs/version-25.10/graph-views/map-web-install-remote.md new file mode 100644 index 000000000000..bc62f177902f --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-install-remote.md @@ -0,0 +1,54 @@ +--- +id: map-web-install-remote +title: Installing MAP on a remote server +--- + +## Centreon MAP installation for a Centreon remote server + +Centreon MAP installation on a Centreon remote server is done exactly like installation on a central server, but the configuration and uninstallation are different. + +If your Centreon remote server has not been installed yet, please refer to the following [documentation](../installation/installation-of-a-remote-server/using-packages.md). + +Then refer to the [installation procedure](map-web-install.md) to install the two main components: + +- The web interface. +- The server. + +After that, you will have to perform the additional steps explained below, to finish +installing Centreon Map on your remote server. + +## Architecture + +The diagram below summarizes the MAP architecture: + +![image](../assets/graph-views/ng/map-web-remote-server-schema.png) + +## Image synchronization + +Add access to the image synchronization page **Administration > Parameters > Images** +```shell +[root@remote ~]# mysql centreon +MariaDB [centreon]> update topology SET topology_show='1' where topology_name='Images' ; +``` + +## Centreon Broker configuration + +In order to display real time statuses, **Centreon MAP** needs to receive this data from the Centreon remote server's Broker. + +To do so, you need to log in to your central server and modify the Centreon Broker Master configuration of the +Centreon remote poller. Go to the **Configuration > Pollers > Broker +configuration** menu and edit the **remote server's** configuration. + +In the **Output** tab, create a new output with the following parameters: + +![image](../assets/graph-views/output_broker.png) + +To complete the installation process, generate and deploy the Centreon remote +server configuration by selecting **Restart**. + +## Uninstalling Centreon MAP + +On a remote poller, you can uninstall the **Centreon MAP** module the same +way as on the Centreon central server. All Centreon Broker configurations for the Centreon remote server linked to the Centreon +MAP module must be removed manually. Look at the [Centreon Broker configuration](#centreon-broker-configuration) section above to +know what output you need to delete for your Centreon remote server(s). diff --git a/versioned_docs/version-25.10/graph-views/map-web-install.md b/versioned_docs/version-25.10/graph-views/map-web-install.md new file mode 100644 index 000000000000..277edd8bc46b --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-install.md @@ -0,0 +1,894 @@ +--- +id: map-web-install +title: Installing MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This topic describes how to install Centreon MAP. We recommend that you install MAP on a dedicated server. However, if you do not have large volumes of data, you can install it on the central server. + +## License + +If you need an additional [license](../administration/licenses.md) for Centreon MAP, please contact the [Centreon support +team](https://support.centreon.com/) to obtain and install your license key. + +## Architecture + +The diagram below summarizes the MAP architecture. + +- You can install Centreon MAP either on a dedicated server or on the central server. +- Centreon MAP does not require any installation on your machine; this solution is fully available in the Centreon web interface. + + +![image](../assets/graph-views/ng/map-web-schema.png) + +**Table of network flows** + +| Application | Source | Destination | Port | Protocol | Purpose | +|----------------|------------|---------------------------|-----------|------------|-----------------------------------------------------| +| Map Server | Map server | Centreon central broker | 5758 | TCP | Get real-time status updates | +| Map Server | Map server | Centreon MariaDB database | 3306 | TCP | Retrieve configuration and other data from Centreon | +| Web | Map server | Centreon central | 80/443 | HTTP/HTTPS | Authentication & data retrieval | +| Web interface | User | Map server | 8081/9443 | HTTP/HTTPS | Retrieve views & content | +| Web interface | User | Internet\* (Mapbox) | 443 | HTTPS | Retrieve Mapbox data | + +\* *With or without a proxy* + +## Prerequisites + +### Centreon MAP Engine server + +#### License + +The server requires the license to be available and valid on Centreon's central +server. To do this, you must contact the [Centreon support +team](https://support.centreon.com/) to obtain and install your license key. + +#### Software + +See the [software requirements](../installation/prerequisites.md#software). + +#### Hardware + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 2 vCPU | +| RAM | 4 GB | + +This is how your MAP server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 5 GB | +| vg_data | | Free space (unallocated) | 2 GB | + + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 4 GB | + +This is how your MAP server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 5 GB | +| vg_data | | Free space (unallocated) | 2 GB | + + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 10 GB | + +This is how your MAP server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 5 GB | +| vg_data | | Free space (unallocated) | 2 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 18 GB | + +This is how your MAP server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 5 GB | +| vg_data | | Free space (unallocated) | 2 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 6 vCPU | +| RAM | 18 GB | + +This is how your MAP server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 5 GB | +| vg_data | | Free space (unallocated) | 2 GB | + + + + +For very large amounts of data, contact your sales representative. + + + + +#### Information required during configuration + +- Centreon web login with administration rights. + +> Even with a correctly sized server, you should bear in mind the best practices and recommendations when creating views so you can avoid performance issues. + +> If the central server is configured in HTTPS, you must apply the SSL configuration on the MAP server. Follow this [procedure](../graph-views/secure-your-map-platform.md) to secure your MAP server. + +### Centreon MAP web client + +#### License + +The web interface requires the license to be available and valid on Centreon's +central server. To do this, you must contact the [Centreon support +team](https://support.centreon.com/) to obtain and install your license key. + +#### Compatibility + +Note that the MAP web interface has the same requirements as the Centreon web interface. See the prerequisites for the compatibility of web browsers [here](../installation/prerequisites.md). + +## Pre-installation + +### Disable SELinux + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** by **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** To enable SELinux again, edit the **/etc/selinux/config** file and change the value with the following options: +> - ``SELINUX=enforcing`` to make SELinux security policy enforced. +> - ``SELINUX=permissive`` to make SELinux print warnings instead of enforce security policy. + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** by **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** To enable SELinux again, edit the **/etc/selinux/config** file and change the value with the following options: +> - ``SELINUX=enforcing`` to make SELinux security policy enforced. +> - ``SELINUX=permissive`` to make SELinux print warnings instead of enforce security policy. + + + + +SELinux is not installed on Debian 12, continue. + + + + +### Configure or disable the firewall + +If your firewall is active, add [firewall rules](../administration/secure-platform.md#enable-firewalld). +You can also disable the firewall during installation by running the following commands: + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +## MAP Engine server installation + +### Step 1: Set authentication parameters + +You must provide the Centreon MAP Engine server with a dedicated user +**who has access to all resources** through the appropriate [access list groups](../administration/access-control-lists.md). +Since the password will be stored in human-readable form in a +configuration file, you should not use a Centreon admin user account. + +- Log into Centreon and go to the **Configuration > Users > Contacts/Users** page. Then click the **Centreon Authentication** tab. +- Set the **Reach API Realtime** parameter to **Yes**. + +![image](../assets/graph-views/reach-api.png) + +Exclude the user from the password expiration policy on the **Administration > Authentication** page: their password will never expire. + +![image](../assets/graph-views/password-expiration-policy.png) + +### Step 2: Create a MySQL user + +From the central server terminal, create a user in the MySQL instance hosting 'centreon' and 'centreon_storage' +databases: + +> We strongly recommend that you set a more secure password. + +```sql +mysql> CREATE USER 'centreon_map'@'IP_MAP_SERVER' IDENTIFIED BY 'centreon_Map2023!'; +GRANT SELECT ON centreon_storage.* TO 'centreon_map'@''; +GRANT SELECT, INSERT ON centreon.* TO 'centreon_map'@''; +``` + +The INSERT privilege will only be used during the installation process +in order to create new Centreon Broker output. It will be revoked later. + +### Step 3: Install MAP Engine server + +#### Package installation + +If you installed your Centreon MAP server from a fresh OS installation +you need to install the Centreon repository: + + + + +First you need to install an EPEL repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +The command should return results as follows: + +```shell +Installed: + epel-release-8-17.el8.noarch + +Complete! +``` + +Then install the Centreon repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +First you need to install an EPEL repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +The command should return results as follows: + +```shell +Installed: + epel-release-9-2.el9.noarch + +Complete! +``` + +Then install the Centreon repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +Install the following dependencies: + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + + + + +> If the URL does not work, you can manually find this package in the folder. + +#### Business repository installation + +Install the Centreon Business repository. You can find this on the +[support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +#### MAP Engine server installation + +You have two possibilities for the installation: + +- on a new server (without existing Centreon MAP packages), +- or on an existing Centreon MAP server legacy. + +Select the right tab below and install the Centreon MAP Engine server: + + + + +#### MariaDB requirement + +> You need to have a MariaDB database to store your Centreon MAP data. + +First you need to add the MariaDB repository: + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + + + + +Then install MariaDB server: + + + + +```shell +dnf install MariaDB-server +``` + + + + +```shell +dnf install MariaDB-server +``` + + + + +```shell +apt update && apt install mariadb-server +``` + +> MariaDB must listen to all interfaces instead of localhost/127.0.0.1, which is the default value. Edit the following file: +> +> ```shell +> /etc/mysql/mariadb.conf.d/50-server.cnf +> ``` +> +> Set the **bind-address** parameter to **0.0.0.0** and restart mariadb. +> +> ```shell +> systemctl restart mariadb +> ``` + + + + +Then enable and restart mariadb + +```shell +systemctl enable mariadb +systemctl restart mariadb +``` + +It is mandatory to secure the database's root access before installing Centreon. If you are using a local database, run the following command on the Map server: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Answer **yes** to all questions except "Disallow root login remotely?". +* It is mandatory to set a password for the **root** user of the database. + +> For more information, please see the [official MariaDB documentation](https://mariadb.com/kb/en/mysql_secure_installation/). + +Now you can install the Centreon MAP Engine. + + + + +```shell +dnf install centreon-map-engine +``` + + + + +```shell +dnf install centreon-map-engine +``` + + + + +```shell +apt update && apt install centreon-map-engine +``` + + + + + + + +> If you already have MAP Legacy and are installing MAP Engine on the same server, you need to perform the following procedure. Otherwise, move to the **New MAP Engine server** tab. + +> You can use the existing MariaDB database of Centreon MAP Legacy for the new MAP Engine server. So it's not necessary to install a new database. + +This procedure is to ensure that the configuration file can be used for both MAP Engine and MAP Legacy. + +1. Make a backup of the **map.cnf** file: + + + + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + + + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + + + + ```shell + cp /etc/mysql/map.cnf /etc/mysql/map.cnf.bk + ``` + + + + +2. Install the centreon-map-engine package + + + + + ```shell + dnf install centreon-map-engine + ``` + + + + + ```shell + dnf install centreon-map-engine + ``` + + + + + ```shell + apt update && apt-get -o Dpkg::Options::="--force-overwrite" install centreon-map-engine + ``` + + + + +3. Retrieve the configuration file backup: + + + + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + + + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + + + + ```shell + cp /etc/mysql/map.cnf.bk /etc/mysql/map.cnf + ``` + + + + +4. Answer **Y** when prompted. Then restart MySQL: + + ```shell + systemctl restart mariadb + ``` + + + + +When installing Centreon MAP Engine server, it will automatically install java +(OpenJDK 17) if needed. + +#### Java requirement + > Ensure a version of Java 17 (or 18) is installed before you start the procedure. + + - If you need to check the Java version, enter the following command: + + ```shell + java -version + ``` + + - If you need to upgrade the Java installation to Java 17 (or 18), go to the [Oracle official download](https://www.oracle.com/java/technologies/downloads/#java17) page. + + - If several Java versions are installed, you need to activate the right version. Display the installed versions using the following command and select the Java 17 (or 18) version: + ```shell + sudo update-alternatives --config java + ``` + + - If you need to use your platform in HTTPS, you will have to generate a keystore file for the Java 17 (or 18) version ([see the procedure](./secure-your-map-platform.md#httpstls-configuration-with-a-recognized-key)). + +### Step 4: Check the database configuration + +Make sure the database that stores Centreon MAP data is optimized +(automatically added by the RPM in **/etc/my.cnf.d/map.cnf** or in **/etc/mysql/map.cnf** for Debian): + +```text +max_allowed_packet = 20M +innodb_log_file_size = 200M +``` + +Then, restart MariaDB: + +```shell +systemctl restart mariadb +``` + +It is mandatory to secure the database's root access before installing Centreon. If you are using a local database, run the following command on the central server: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Answer **yes** to all questions except "Disallow root login remotely?". +* It is mandatory to set a password for the **root** user of the database. You will need this password during the [web installation](../installation/web-and-post-installation.md). + +> For more information, please see the [official MariaDB documentation](https://mariadb.com/kb/en/mysql_secure_installation/). + +### Step 5: Execute the configure.sh script + +Execute the Centreon MAP Engine server configuration script. + +Two modes are available: + - Interactive (no option/default mode): several questions will be asked to interactively fill in the installation variables. + - Automatic (--automatic or -a): the installation will be done automatically from the values set in the file **/etc/centreon-map/vars.sh**. + +If it is your first installation, we advise you to use the standard mode (interactive) and choose **No** when asked for advanced installation mode: + + ```shell + /etc/centreon-map/configure.sh + ``` + +The output should look like this: + + ```shell + Configuration completed, enjoy ! + ``` + +This script generates the **map-config.properties** file. + +#### Custom URI + +If you have customized the URI for your Centreon platform, you need to edit the **map-config.properties** file by adding the following command using the custom URI already defined [here](../administration/secure-platform.md#custom-uri): + +```shell +centreon.path=/your-custom-uri +``` + +#### Java memory optimization + +> JAVA_OPTS is a standard environment variable used to edit Java properties. + +To correctly implement the dedicated memory: + +Edit the *JAVA\_OPTS* parameter in the Centreon Map configuration file `/etc/centreon-map/centreon-map.conf` by adding -Xms and -Xmx parameters: + +```text +JAVA_OPTS="-Xms512m -Xmx4G..." +``` + +> The Xmx value depends on the amount of memory indicated in the tables in the [Hardware](#hardware) section. + +Then restart the **centreon-map-engine** service: + +```shell +systemctl restart centreon-map-engine +``` + +## Step 6: Apply Centreon Broker configuration and restart MAP Engine service + +> Before restarting Broker, you must export the configuration from the Centreon web interface. + +Restart Centreon Broker on the Central server: + +```shell +systemctl restart cbd +``` + +Remove the INSERT privilege from user **centreon_map**: + +```sql +REVOKE INSERT ON centreon.* FROM 'centreon_map'@''; +``` + +Then restart the **centreon-map-engine** service: + +```shell +systemctl restart centreon-map-engine +``` + +Run the following command to check that the **centreon-map-engine** service is properly started: + + ```shell + systemctl status centreon-map-engine + ``` + + This is an example of results: + + ```shell + ● centreon-map-engine.service - Centreon Studio map server + Loaded: loaded (/usr/lib/systemd/system/centreon-map-engine.service; disabled; vendor preset: disabled) + Active: active (running) since Thu 2022-11-24 09:10:58 UTC; 6h ago + Main PID: 39103 (centreon-map-en) + Tasks: 50 (limit: 23465) + Memory: 598.1M + CGroup: /system.slice/centreon-map-engine.service + ├─39103 /bin/bash /usr/share/centreon-map-engine/bin/centreon-map-engine + └─39119 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map + ``` + +### Step 7: Check the configuration + +Check the MAP Engine server configuration by using this command: + +```shell +/etc/centreon-map/diagnostic.sh +``` + +> In case of any error, see the **Run our diagnostic tool** section in the [Troubleshooting MAP](map-web-troubleshooting.md#run-our-diagnostic-tool) topic. + +If the configuration is correct, the **centreon-map-engine** service can be +started from the Centreon MAP server: + +```shell +systemctl restart centreon-map-engine +``` + +Enable the service to start up automatically on server boot: + +```shell +systemctl enable centreon-map-engine +``` + +The Centreon MAP Engine server is now started and enabled, so let's install +the interface part of the extension. + +## MAP web client installation + +### Step 1: Install the business repository + +Install the Centreon Business repository. You can find this on the +[support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Step 2: Install the MAP module + +1. From your terminal, run the following command on the central server: + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo apt install centreon-map-web-client + ``` + + + + +2. Then you need to log on to the Centreon web interface. + +3. Go to **Administration > Extensions > Manager** and install the **Map Web Client** module. + +### Step 3: Activate the MAP module + +By default, the MAP module is not enabled. Perform the following procedure to enable it. + +1. Log on to the Centreon interface and go to **Administration > Extensions > Map > Options**. + ![image](../assets/graph-views/ng/switch-map-engine.png) + +2. In the **Connection information** section, set **Map Engine server** to **Yes**. + +3. Enter the IP address of your MAP server in the **Map Engine server address** field. If you installed MAP on the central server, this is the IP address of the central server. Use its full IP address, not the localhost. The default port is 8081 (for instance: ``http://10.25.xxx:8081``). + +4. Click the **Test connection to server** button to test the connection. This test should return the **Connection test successful** message. + +5. Click **Save**. + +6. Go to the **Configuration > Pollers > Pollers** page. [Export the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) of the central server (using the **Reload** method). + +7. From your terminal, restart the cbd service: + + ```shell + systemctl restart cbd + ``` + +8. Now that the configuration is correct, you can start the server by running this command: + + ```shell + systemctl start centreon-map-engine + ``` + +9. Run the following command to check that the **centreon-map-engine** service is properly started: + + ```shell + systemctl status centreon-map-engine + ``` + + This is an example of results: + + ```shell + ● centreon-map-engine.service - Centreon Studio map server + Loaded: loaded (/usr/lib/systemd/system/centreon-map-engine.service; disabled; vendor preset: disabled) + Active: active (running) since Thu 2022-11-24 09:10:58 UTC; 6h ago + Main PID: 39103 (centreon-map-en) + Tasks: 50 (limit: 23465) + Memory: 598.1M + CGroup: /system.slice/centreon-map-engine.service + ├─39103 /bin/bash /usr/share/centreon-map-engine/bin/centreon-map-engine + └─39119 /usr/bin/java -Dsun.misc.URLClassPath.disableJarChecking=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map + ``` + +You can now use the MAP module by accessing the **Monitoring > Map** page. + +## Secure MAP in HTTPS + +If you want to use MAP in HTTPS, you must secure both your Centreon platform and MAP. + +- Follow this [procedure](../administration/secure-platform.md) to secure your Centreon platform. +- Follow this [procedure](../graph-views/secure-your-map-platform.md) to secure MAP. diff --git a/versioned_docs/version-25.10/graph-views/map-web-known-issues.md b/versioned_docs/version-25.10/graph-views/map-web-known-issues.md new file mode 100644 index 000000000000..8ea5d8c3eb44 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-known-issues.md @@ -0,0 +1,11 @@ +--- +id: map-web-known-issues +title: MAP known issues +--- + +This topic lists known issues the MAP team is currently working on: + +- Anomaly detection services are not yet available for you to use in maps. +- You are not able to customize your elements with font properties. +- When migrating Geo Maps (standard maps with a geographical background using a tile provider such as MapBox), these map objects will be migrated, but tiles will not appear in the background. +- Curve colors for line charts are constantly changing. diff --git a/versioned_docs/version-25.10/graph-views/map-web-manage.md b/versioned_docs/version-25.10/graph-views/map-web-manage.md new file mode 100644 index 000000000000..6c3b71568c43 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-manage.md @@ -0,0 +1,44 @@ +--- +id: map-web-manage +title: Managing maps in MAP +--- + +This topic provides information about how to perform actions on your maps from the Centreon MAP interface. You can create two types of map: + +- **Standard maps:** to view graphical representations of your monitored infrastructure. +- **Geographic views:** to display the resources of your IT environment across a defined geographical area. + +> Options that are available in the MAP interface depend on the permissions assigned to you by your administrator. See the [Manage access rights on MAP](map-web-access.md) topic to know more about rights and permissions. + +The display of the **Add a Map** button or **Add a Geographic view** button means that you are allowed to create a map and that you belong to an access group that is granted the creator role. + +## Map status information + +The homepage displays the list of existing maps and you can visualize for each map, the worst status of all resources or containers included in the map. + +## Performing actions on a map + +You can perform actions on any standard map and geographic view you have access to. Use the following procedures if you need to edit map properties, share or delete a map. + +> The features to share and to copy a map URL are not available on a geographic view. + +### Duplicate a map + +Click the **three vertical dots** menu at the top-right of the map, then click on **Duplicate**. +A new map is automatically created, with "- copy" added to the initial name. + +### Delete a map + +Click the **trash** button and confirm the deletion by clicking the **Delete** button. + +### Edit map properties + +Click the **wrench** button to edit the map properties and confirm the changes by clicking the **Edit** button. + +### Share a map + +Click the **share** button to edit the access group privileges and confirm the changes by clicking the **Save** button. + +### Copy MAP URL + +A **Copy MAP URL** button is available in view mode, allowing you to easily share the map you opened. diff --git a/versioned_docs/version-25.10/graph-views/map-web-migrate.md b/versioned_docs/version-25.10/graph-views/map-web-migrate.md new file mode 100644 index 000000000000..5edf4d67b998 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-migrate.md @@ -0,0 +1,40 @@ +--- +id: map-web-migrate +title: Migrate the extension +--- + +This section explains how to move Centreon MAP server over to another server. + +This task may be useful if you need to migrate your reporting server from +CentOS 6 to CentOS 7. + +### Install the new Centreon MAP server + +Please refer to the installation chapter in this documentation to install +your new Centreon MAP server. + +### Synchronize the data + +Stop the Centreon MAP service on both Centreon MAP servers: + +```shell +systemctl stop centreon-map +``` + +Dump the Centreon MAP data: + +```shell +mysqldump -u XXXXXX -p centreon_studio > /tmp/centreon_studio.sql +``` + +Upload centreon_studio.sql to the new Centreon MAP (in /tmp) server and import it into the database: + +```shell +mysql -u XXXXXX -p centreon_studio < /tmp/centreon_studio.sql +``` + +Start the Centreon Map service on the new Centreon MAP servers: + +```shell +systemctl start centreon-map +``` diff --git a/versioned_docs/version-25.10/graph-views/map-web-troubleshooting.md b/versioned_docs/version-25.10/graph-views/map-web-troubleshooting.md new file mode 100644 index 000000000000..21dff36c1e9b --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-troubleshooting.md @@ -0,0 +1,242 @@ +--- +id: map-web-troubleshooting +title: MAP troubleshooting +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter shows some guidelines on how to troubleshoot your MAP installation. + +## "Failed to authenticate" error when connecting to the MAP homepage + +#### Symptom + +A "Failed to authenticate" error occurs in the MAP homepage when trying to connect to the Centreon MAP service. + +#### Problem + +The credentials used by the **Web interface** user (defined during the installation) to connect to the MAP module are no longer valid because they have been changed, probably due to a password expiration. + +#### Solution + +You can update the password by accessing this file: **/etc/centreon-map/map-config.properties**. + +## MAP configuration is not working in HTTPS + +### Symptom + +The MAP configuration is not working. This issue occurs when the MAP module is installed on the Centreon central server while the MAP platform is secured in HTTPS. + +### Problem + +The MAP configuration is not set in TLS. + +### Solution + +If you are using IPv6, you need to force the MAP server to use IPv4. + +1. Go to the **/etc/centreon-map/centreon-map.conf** file. + +2. Edit the file by adding the following option: + + ```shell + RUN_ARGS="--spring.profiles.active=prod,tls" + JAVA_OPTS="-Djava.net.preferIPv4Stack=true -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/var/log/centreon-map -Dcentreon-map.signing-key=8uT4BM1RsXRmIPQbTEazUAhQHtyM7xZ4nlFMIUqQ7lRkbWz24yemkGs9tS4eOwDfF -Dcentreon-map.access-token-validity-seconds=15552000 -Xms512m -Xmx4G" + ``` + +## Make sure you installed the correct RPMs + +1. Run the following command: + + + + + ```shell + dnf info centreon-map-web-client + dnf info centreon-map-server-engine + ``` + + + + + ```shell + dnf info centreon-map-web-client + dnf info centreon-map-server-engine + ``` + + + + + ```shell + apt info centreon-map-web-client + apt info centreon-map-engine + ``` + + + + +2. In the output, **Repository** should read **centreon-stable-noarch**. If this is not the case, you do not have the correct packages installed. Do the following : + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo dnf install centreon-map-web-client + ``` + + + + + ```shell + sudo apt install centreon-map-web-client + ``` + + + + +## Increase the logs level + +1. To increase the logs level, edit the **/etc/centreon-map/map-log.xml** file by changing the following entries to INFO: + + ```shell + + + + + ``` + +2. Restart your **centreon-map-engine** server: + + ```shell + systemctl restart centreon-map-engine + ``` + +## Run our diagnostic tool + +1. Run the following script: + + ```shell + cd /etc/centreon-map + ./diagnostic.sh + ``` + + All entries should be set to **OK** or **INFO**. + +2. Try to solve any errors using the guidelines below. + +> If you still have an error, send us the complete output of the script (see the [Still stuck?](#still-stuck) section). + + +Here are the main errors that you can encounter: + +- Database connection or authentication: if any of these are not OK, check your credentials, network, and mysql users. + + ```shell + ########## Database connection ########## + + [ok] Connection to centreon + [ok] Connection to centreon_storage + [ok] Connection to centreon_map + ``` + +- Connection to broker output: if this is not OK, check broker output configuration, network, and TLS configuration (if used). + + ```shell + ########## Broker connection ########## + + [ok] Connection to 127.0.0.1 5758 port + ``` + +- Connection or authentication from MAP NG to central server: if this is not OK, check your credentials, network, proxies, and TLS configuration (if used). + + ```shell + ########## Authentication ########## + + [ok] Centreon Central authentication using user admin + ``` + +## Debug problems with the web interface + +1. Make sure the URL specified in **Administration > Extensions > MAP > Options** is reachable (both reachable and resolvable) from the computer accessing the web interface. + +2. Check the status of MAP by opening the following URL in the browser (use the same values for **MAP_IP_ADDRESS** and **MAP_PORT** as the ones defined in **Administration > Extensions > MAP > Options**). + + ```shell + http://[MAP_IP_ADDRESS]:[MAP_PORT]/centreon-map/api/beta/actuator/health + ``` + + Example: + + ```shell + http://10.0.0.2:8081/centreon-map/api/beta/actuator/health + ``` + + The result should be as follows: + + ```shell + { + "status": "UP" + } + ``` + + > If not, send us a screenshot of the error (see the [Still stuck?](#still-stuck) section). + +## Still stuck? + +If you still need help, please contact the [Centreon support team](https://support.centreon.com/) with the basic information about how Centreon MAP is installed. + +Here is an example for a standard installation: + +| | Central | MAP | MAP (Legacy) | +|------------|------|--------|--------| +|Is there a direct connection between this element and the central (are they on the same network?)|n/a|Y|Y| +|Is this element installed on the same server as the central? |n/a|Y|N| +|Is HTTPS enabled? |Y|Y|Y| +|Is it a new installation? |N|Y|N| + +### Output of diagnostic.sh + +See above [Run our diagnostic tool](#run-our-diagnostic-tool) and send us the complete output of the script. + +Provide the following log files (default paths): + + - Centreon MAP server: + + ```shell + /var/log/centreon-map/centreon-map-engine.log + ``` + + - Centreon Central server: + ```shell + /var/log/php-fpm/centreon-error.log + ``` + +### Screenshots from the web interface + +If you encounter issues on the web interface, please provide us with screenshots of the interface with the error, with the browser Dev tool opened on the following tabs: + + - Network tab (F12 key), if possible filtered on failing requests. + - Console tab (F12 key), if possible filtered on errors. + +### Output of `yum list` command + +Run the following commands and send us their output: + + - On the central: + + ```shell + yum list centreon-map-web-client --showduplicates -q + ``` + + - On the server where **centreon-map-engine** is installed: + + ```shell + yum list centreon-map-engine --showduplicates -q + ``` diff --git a/versioned_docs/version-25.10/graph-views/map-web-update.md b/versioned_docs/version-25.10/graph-views/map-web-update.md new file mode 100644 index 000000000000..0003120d16db --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-update.md @@ -0,0 +1,110 @@ +--- +id: map-web-update +title: Updating MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Use the following procedure to update your MAP version: + +1. Stop the **centreon-map-engine** service by running this command on the machine hosting the Centreon MAP service: + + ```shell + sudo systemctl stop centreon-map-engine + ``` + +2. Update the packages by running this command on the machine(s) hosting the central service and the Centreon MAP service: + + + + + - On the central server: + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - On the MAP server: + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - On the central server: + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - On the MAP server: + + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - If MAP only is installed: + + On the central server: + + ``` shell + sudo apt install centreon-map-web-client + ``` + + On the MAP server: + + ``` shell + sudo apt install centreon-map-engine + ``` + + - If MAP and MAP Legacy are installed on the same server: + + - Make a backup of the **map.cnf** file: + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + - Update the centreon-map-engine package + + On the central server: + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-web-client + ``` + + On the MAP server: + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-engine + ``` + + - Retrieve the configuration file backup: + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + - Answer **Y** when prompted. Then restart MySQL: + + ```shell + systemctl restart mariadb + ``` + + + + +3. Clear your browser cache. + +4. Finalize the update of the module and the widget in the Centreon interface **Administration > Extensions > Manager**. + +5. Restart the **centreon-map-engine** service using the following command: + + ```shell + sudo systemctl start centreon-map-engine + ``` diff --git a/versioned_docs/version-25.10/graph-views/map-web-upgrade.md b/versioned_docs/version-25.10/graph-views/map-web-upgrade.md new file mode 100644 index 000000000000..e99b012e1ce9 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/map-web-upgrade.md @@ -0,0 +1,125 @@ +--- +id: map-web-upgrade +title: Upgrading MAP +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> If you're upgrading to a new major version (i.e: A.B.x with A or B that +> changes) you need to install the new Business +> repository. You can find its address on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +> From Centreon 24.10, MAP Legacy is no longer available. Whether you were still using MAP Legacy or not, see [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Update the package + +1. Stop the **centreon-map-engine** service by running this command on the machine hosting the Centreon MAP service: + + ```shell + sudo systemctl stop centreon-map-engine + ``` + +2. In order to update the Centreon MAP module, execute the +following commands: + + + + + - On the central server: + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - On the MAP server: + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - On the central server: + + ``` shell + sudo dnf update centreon-map-web-client + ``` + + - On the MAP server: + ``` shell + sudo dnf update centreon-map-engine + ``` + + + + + - If MAP only is installed: + + On the central server: + + ``` shell + sudo apt install --only-upgrade centreon-map-web-client + ``` + + On the MAP server: + + ``` shell + sudo apt install --only-upgrade centreon-map-engine + ``` + + - If MAP and MAP Legacy are installed on the same server: + + - Make a backup of the **map.cnf** file: + + ```shell + cp /etc/my.cnf.d/map.cnf /etc/my.cnf.d/map.cnf.bk + ``` + + - Update the centreon-map-engine package + + On the central server: + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-web-client + ``` + + On the MAP server: + + ``` shell + sudo apt install -o Dpkg::Options::="--force-overwrite" centreon-map-engine + ``` + + - Retrieve the configuration file backup: + + ```shell + cp /etc/my.cnf.d/map.cnf.bk /etc/my.cnf.d/map.cnf + ``` + + - Answer **Y** when prompted. Then restart MySQL: + + ```shell + systemctl restart mariadb + ``` + + + + +3. Clear your browser cache. + +4. Finalize the update of the module and the widget in the Centreon interface **Administration > Extensions > Manager**. + + > An orange update button is visible, indicating that an update is available. Click on it to update the module, and do the same for the widget. + +5. Restart the **centreon-map-engine** service using the following command: + + ```shell + sudo systemctl start centreon-map-engine + ``` + +6. When upgrading to version 24.04 and above, you have to upgrade MariaDB to version 10.11. See [Upgrading MariaDB](../upgrade/upgrade-mariadb.md). diff --git a/versioned_docs/version-25.10/graph-views/secure-your-map-platform.md b/versioned_docs/version-25.10/graph-views/secure-your-map-platform.md new file mode 100644 index 000000000000..85bc96e4e8c4 --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/secure-your-map-platform.md @@ -0,0 +1,236 @@ +--- +id: secure-your-map-platform +title: Secure your MAP platform +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes advanced procedures to secure your Centreon MAP platform. + +> If you want to use MAP in HTTPS, you must both secure your Centreon platform and MAP. Follow this [procedure](../administration/secure-platform.md#secure-the-web-server-with-https) if you need to secure your Centreon platform. + +> Mistakes when editing configuration files can lead to malfunctions of the software. We recommend that you make a backup of the file before editing it and that you only change the settings advised by Centreon. + +## Configure HTTPS/TLS on the MAP server + +### HTTPS/TLS configuration with a recognized key + +> This section describes how to add a **recognized key** to the Centreon +> MAP server. +> +> If you want to create an auto-signed key and add it to your server, please +> refer to the [following +> section](#httpstls-configuration-with-an-auto-signed-key) + +You will require: + +- A key file, referred to as *key.key*. +- A certificate file, referred to as *certificate.crt*. + +1. Access the Centreon MAP server through SSH and create a PKCS12 file with the following command line: + + ```shell + openssl pkcs12 -inkey key.key -in certificate.crt -export -out keys.pkcs12 + ``` + +2. Import this file into a new keystore (a Java repository of security certificates): + +```shell +keytool -importkeystore -srckeystore keys.pkcs12 -srcstoretype pkcs12 -destkeystore /etc/centreon-map/map.jks +``` + +3. Set below parameters inside **/etc/centreon-map/map-config.properties**: + +```text +centreon-map.keystore=/etc/centreon-map/map.jks +centreon-map.keystore-pass=xxx +``` + +> Replace the keystore-pass value "xxx" with the password you used for +> the keystore and adapt the path (if it was changed) to the keystore. + +### HTTPS/TLS configuration with an auto-signed key + +> Enabling the TLS mode with an auto-signed key will force every user to add an +> exception for the certificate before using the web interface. +> +> Enable it only if your Centreon also uses this protocol. +> +> Users will have to open the URL: +> +> ```shell +>https://:9443/centreon-map/api/beta/actuator/health +> ``` +> +> **The solution we recommend is to use a recognized key method, as explained +> above.** + +1. Move to the the Java installation folder: + +```shell +cd $JAVA_HOME/bin +``` + +2. Generate a keystore file with the following command: + +```shell +keytool -genkey -alias map -keyalg RSA -keystore /etc/centreon-map/map.jks +``` + +The alias value "map" and the keystore file path +**/etc/centreon-map/map.jks** may be changed, but unless there is a +specific reason, we advise keeping the default values. + +Provide the needed information when creating the keystore. + +At the end of the screen form, when the "key password" is requested, use +the same password as the one used for the keystore itself by pressing the +ENTER key. + +3. Set below parameters inside **/etc/centreon-map/map-config.properties**: + +```text +centreon-map.keystore=/etc/centreon-map/map.jks +centreon-map.keystore-pass=xxx +``` + +> Replace the keystore-pass value "xxx" with the password you used for +> the keystore and adapt the path (if it was changed to the keystore). + +### Activate TLS profile of Centreon MAP service + +1. Stop Centreon MAP service: + +```shell +systemctl stop centreon-map-engine +``` + +2. Edit the file **/etc/centreon-map/centreon-map.conf**, adding `,tls` after `prod` profile: + +```text +RUN_ARGS="--spring.profiles.active=prod,tls" +``` + +3. Restart Centreon MAP service: + +```shell +systemctl start centreon-map-engine +``` + +Centreon MAP server is now configured to respond to requests from HTTPS at port 9443. + +To change the default port, refer to the [dedicated +procedure](map-web-advanced-configuration.md#change-centreon-map-server-port). + +> Don't forget to modify the URL on Centreon side in the **MAP server address** +> field in the **Administration > Extensions > Map > Options** menu. + +## Configure TLS on the Broker connection + +An additional Broker output for Centreon Central (centreon-broker-master) has +been created during the installation. + +You can check it in your Centreon web interface, from the **Configuration > Pollers > Broker Configuration**, +by editing the **centreon-broker-master** configuration. + +The output configuration should look like this: + +![image](../assets/graph-views/output_broker.png) + +### Broker configuration + +You can enable TLS output and set up Broker's private key and public +certificate as described below: + +![image](../assets/graph-views/output_broker_tls.png) + +1. Create a self-signed certificate with the following commands: + + ```text + openssl req -new -newkey rsa:2048 -nodes -keyout broker_private.key -out broker.csr + openssl x509 -req -in broker.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out broker_public.crt -days 365 -sha256 + ``` + +2. Copy the private key and the certificate into **/etc/centreon/broker_cert/** directory: + + ```text + mv broker_private.key /etc/centreon/broker_cert/ + mv broker_public.crt /etc/centreon/broker_cert/ + ``` + +> "Trusted CA's certificate" field is optional. If you activate Broker's client +> authentication by setting this "ca\_certificate.crt", then you must setup a +> [keystore for MAP server](#configure-httpstls-on-the-web-server) +> +> You MUST push the new broker configuration and restart the broker after +> configuration. + +### MAP server configuration + +> You must [secure your Centreon platform with HTTPS](../administration/secure-platform.md#secure-the-web-server-with-https). + +Set the **centreon.url** inside **/etc/centreon-map/map-config.properties** to use HTTPS instead of HTTP: + +```shell +centreon.url=https:// +``` + +To enable TLS socket connection with Broker: + +```text +broker.tls=true +``` + +#### Configuration with a self signed certificate + +If the Broker public certificate is self signed, you must create a trust store +containing given certificate or its CA certificate with the following command +line: + +```shell +keytool -import -alias centreon-broker -file broker_public.crt -keystore /etc/centreon-map/truststore.jks +``` + +- "broker\_public.crt" is Broker public certificate or its CA certificate + in PEM format, +- "truststore.jks" is the generated trust store in JKS format, +- a store password is required during generation. + +1. Add truststore parameters in **/etc/centreon-map/map-config.properties**: + +```text +centreon-map.truststore=/etc/centreon-map/truststore.jks +centreon-map.truststore-pass=XXXX +``` + +> Replace the trustStorePassword value "xxx" with the password you used when +> generate the trust store. + +2. Edit the file **/etc/centreon-map/centreon-map.conf**, and replace `,tls` by `,tls_broker` after `prod` profile: + +```text +RUN_ARGS="--spring.profiles.active=prod,tls_broker" +``` + +> "tls_broker" profile implies "tls" profile. So Centreon MAP service +> serves necessarily HTTPS. + +Once you add a truststore, Centreon MAP will use it to validate self-signed certificates. +This means that if you use a self-signed certificate for the central server, you must add it to the truststore. If you don't, the + **Monitoring > Map** page will be blank, and the logs (**/var/log/centreon-map/centreon-map.log**) + will show the following error : + `unable to find valid certification path to requested target`. + +1. Copy the central server's **.crt** certificate to the MAP server. + +2. Add the certificate to the truststore: + +```shell +keytool -import -alias centreon-broker -file central_public.crt -keystore /etc/centreon-map/truststore.jks +``` + +#### Configuration with a recognized CA certificate + +If the broker public certificate is signed with a recognized CA, the JVM +default trust store **cacerts (/etc/pki/java/cacerts)** will be used. Nothing +to configure for Centreon MAP service. diff --git a/versioned_docs/version-25.10/graph-views/upgrading-map-legacy.md b/versioned_docs/version-25.10/graph-views/upgrading-map-legacy.md new file mode 100644 index 000000000000..a3f5bb36a69a --- /dev/null +++ b/versioned_docs/version-25.10/graph-views/upgrading-map-legacy.md @@ -0,0 +1,207 @@ +--- +id: upgrading-map-legacy +title: Upgrading MAP Legacy to version 24.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> **From Centreon 24.10, MAP Legacy is no longer available.** If you are still using MAP Legacy, you will need to migrate to MAP. However, a final upgrade to version 24.10 is necessary before you can uninstall it. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +This chapter describes how to upgrade your Centreon MAP (Legacy) extension. This +is done by upgrading the four main components: + +- Centreon MAP (Legacy) server +- Centreon MAP (Legacy) web interface and its widget +- Desktop client (automatically updated) +- MariaDB database. + +## Prerequisites + +Before upgrading Centreon MAP (Legacy) server, we highly recommend performing a +MariaDB dump (backup) of your **centreon_studio** database. This will +allow you easily to roll back to the previous state if necessary. + +Be sure to read the release notes for an explanation of features, fixes +and custom procedures. + +**When you are upgrading to a new major version (i.e: A.B.x with +A or B that changes), you need to contact our Support service to retrieve +the new repository**. + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation) to remove the old key and install the new one. + +## Step 1: Centreon MAP (Legacy) server + +> If you are still running version **4.0.X**, you **must first install and run the server in version 4.1.X before upgrading to the latest version**. + +### Java version requirement + + > Ensure a version of Java 17 (or 18) is installed before you start the procedure. + + - If you need to check the Java version, enter the following command: + + ```shell + java -version + ``` + + - If you need to upgrade the Java installation to Java 17 (or 18), go to the [Oracle official download](https://www.oracle.com/java/technologies/downloads/#java17) page. + + - If several Java versions are installed, you need to activate the right version. Display the installed versions using the following command and select the Java 17 (or 18) version: + ```shell + sudo update-alternatives --config java + ``` + + Then restart the service: + + ```shell + systemctl restart centreon-map + ``` + + - If you need to use your platform in HTTPS, you will have to generate a keystore file for the Java 17 (or 18) version ([see the procedure](./secure-your-map-platform.md#httpstls-configuration-with-a-recognized-key)). + +### Procedure + +Run the following commands to upgrade your Centreon MAP (Legacy) server: + +1. Update Centreon and Centreon MAP (Legacy) repositories: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> Install the Centreon MAP (Legacy) repository. You can find it on the +> [support portal](https://support.centreon.com/s/repositories). + +2. Update Centreon MAP (Legacy) server: + + ```shell + dnf update centreon-map-server + ``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + +> Install the Centreon Business repository. You can find it on the +> [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +2. Update the Centreon MAP (Legacy) server: + + ```shell + dnf update centreon-map-server + ``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +> Install the Centreon Business repository. You can find it on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +2. Update Centreon MAP (Legacy) server: + + ```shell + apt install --only-upgrade centreon-map-server + ``` + + + + +3. Enable and start the **centreon-map** service: + + ```shell + systemctl enable centreon-map + systemctl start centreon-map + ``` + +4. This point only applies if you customized your **centreon-map.conf** configuration file. When upgrading your MAP (Legacy) module, the **/etc/centreon-studio/centreon-map.conf** file is not upgraded automatically; the new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + + * The old configuration file is renamed **centreon-map.conf.rpmsave** + * The upgrade installs a new **centreon-map.conf** file. + + Run a diff between the old and the new configuration files: + + ```shell + diff -u /etc/centreon-studio/centreon-map.conf /etc/centreon-studio/centreon-map.conf.rpmsave + ``` + + For each difference between the files, assess whether you should copy it from **centreon-map.conf.rpmsave** to **centreon-map.conf**. + +## Step 2: Centreon MAP (Legacy) web interface + + + + +```shell +dnf update centreon-map-web-client +``` + + + +```shell +dnf update centreon-map-web-client +``` + + + + +```shell +apt install --only-upgrade centreon-map-web-client +``` + + + + +Complete the upgrade: +1. Go to **Administration > Extensions > Manager**. +2. Search for **Map web client**. +3. Click the update button (module & widget parts). + +## Step 3: Centreon MAP (Legacy) desktop client + +If the user's computer has an online connection, the desktop client is +automatically upgraded to the latest version that corresponds to the server. + +Alternatively, the client can be downloaded through the `Monitoring > +Map` menu and the **Desktop client** button. + +## Step 4: Update dialects in .properties files + +In the **/etc/centreon-studio/centreon-database.properties** and the **/etc/centreon-studio/studio-database.properties** files, replace **MySQL5Dialect** with **MariaDBDialect**. + +> This configuration also works with a MySQL database. + +## Step 5: MariaDB database + +> Mistakes when editing configuration files can lead to malfunctions of the software. We recommend that you make a backup of the file before editing it and that you only change the settings advised by Centreon. + +1. Stop the **centreon-map** service: + ```shell + systemctl stop centreon-map + ``` + +2. When upgrading to version 24.04 and above, you have to upgrade MariaDB to version 10.11. See [Upgrading MariaDB](../upgrade/upgrade-mariadb.md). + +3. If you have upgraded your Centreon platform from a version earlier than 22.10, the new BBDO v3 protocol is enabled. You need to edit the following file to allow MAP to work properly: **/etc/centreon-studio/studio-config.properties** + + ```text + broker.pb.message.enabled=true + ``` + +4. Start the **centreon-map** service: + ```shell + systemctl start centreon-map + ``` diff --git a/versioned_docs/version-25.10/health/helios.md b/versioned_docs/version-25.10/health/helios.md new file mode 100644 index 000000000000..6d8714e523f3 --- /dev/null +++ b/versioned_docs/version-25.10/health/helios.md @@ -0,0 +1,547 @@ +--- +id: helios +title: Installing Centreon Helios +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> This documentation concerns only MSP customers. + +## Overview + +Centreon Helios is a light piece of software that monitors its host machine and the services that run on it. + +Centreon Helios can be used to monitor servers that operate an On-Premise Centreon service (Central, Remote Server, Poller, Map, etc.). + +The data is sent to the Centreon SaaS platform. No personal data is collected. + +> Although the following procedure and the Helios configuration files in general allow for some customization, we strongly advise you to leave the filenames etc. as shown here. + +## Requirements + +- In order for the metrics to reach the Centreon SaaS platform (where the monitoring of the monitoring is done), Centreon Helios must be able to access our public endpoint at the following URL: + + ```https://api.a.prod.mycentreon.com/v1/observability``` (port 443) + + You can test whether your machine can access our endpoint using the following command: + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability + ``` + + You can also go through a proxy using the following command: + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability \ + --proxy [protocol://]host[:port] --proxy-insecure + ``` + + Example: + + ``` + curl -v https://api.a.prod.mycentreon.com/v1/observability \ + --proxy http://proxy.local.net:3128 --proxy-insecure + ``` + + The following message will be returned in case of success: + + ``` + "Missing Authentication Token" + ``` + + If you receive a different answer or no answer, your machine cannot reach our endpoint, probably because of your network rules (firewall, proxy, etc.). + + > If a proxy access is configured on the host machine, you need to copy the address and port of the proxy to Helios’s configuration file (see section [Network](#network)). + +- If a host machine does not have direct access to the outside, two options that complement each other are provided: [proxy configuration](#proxy-configuration) and [gateway configuration](#gateway-configuration). + +- The RPMs are available in the Centreon official repositories for the currently supported versions. The official Centreon repository must be installed: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +- You must be in possession of your unique token that allows you to send data to our platform. This token is provided to you by our Support team. + +## Installing Helios + +All Centreon components you wish to monitor (Central, Poller, Remote Server, Database, etc.) must each have Helios installed on their host machine. + +### On a Centreon Central Server + +1. Install Helios: + + ``` + dnf install centreon-agent + ``` + +2. If this is the first time you are installing Helios on the server, generate the yaml configuration file with the following Shell command: + + >You need to carry out this step only if Helios has not been previously configured; otherwise you will overwrite your previous configuration. + + ```yaml + /usr/sbin/centreon-agent config \ + --token [your-token] \ + --type central \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Example: + ```yaml + /usr/sbin/centreon-agent config \ + --token aaaa-aaaa-aaaa-aaaa \ + --type central \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Some settings have default values. Edit the file `/etc/centreon-agent/centreon-agent.yml` and check the following values: + + - centreonengine_stats_file: are the name of the file and its path correct (i.e. have you customized them on your platform)? + + - centreonbroker_stats_files: are the name of the file and its path correct (i.e. have you customized them on your platform)? + + - centreonweb: are the database settings ok? This is the correct format: + + ```yaml + collect: + centreonweb: + config_dsn: [user]:[password]@tcp([dbhost])/[centreondbname] + storage_dsn: [user]:[password]@tcp([dbhost])/[centreon_storagedbname] + ``` + + Example: + + ```yaml + collect: + centreonweb: + config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon + storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storage + ``` + + This example is correct only if the database is on the same machine as the central server. If you have a remote database, see [Remote database](#remote-database). + + > The Topology function uses the `centreon-agent.yml` file to gather the information it needs: this is hard-coded. If you change the name of this YAML file, the function will fail. + +3. Add an **environment** [tag](#tags): + + Open the `/etc/centreon-agent/centreon-agent.yml` file generated at installation (cf. `--output` option configured earlier) and add the following instructions under the **collect** section. + + ```yaml + collect: + tags: + environment: [staging|preproduction|production|your-custom-value] + ``` + + Example: + ```yaml + collect: + tags: + environment: production + ``` + + If you have multiple environments of the same kind, you can suffix your type of environment (for instance: "production_client1"). + +4. Enable the **centreon-agent** service: + + ``` + systemctl enable centreon-agent.service + ``` + +5. Start the **centreon-agent** service: + + ``` + systemctl start centreon-agent.service + ``` + +6. Execute the following commands: + + ```shell + mv /etc/centreon-gorgone/config.d/cron.d/43-centreon-helios.yaml.disabled /etc/centreon-gorgone/config.d/cron.d/43-centreon-helios.yaml + systemctl restart gorgoned + ``` + +7. You can now [configure Helios](#configuring-helios) (gateway, proxy etc.) and then [test](#testing-helios) your overall configuration. + +### On other host machines (Remote Server, Poller, MAP, etc.) + +1. Install Helios: + + ``` + dnf install centreon-agent + ``` + +2. If this is the first time you are installing Helios on the machine, configure the `centreon-agent.yml` file: + + > You need to carry out this step only if Helios has not been previously configured; otherwise you will overwrite your previous configuration. + + ```yaml + /usr/sbin/centreon-agent config \ + --token [your-token] \ + --type [system|remote|poller|map] \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + + Example: + + ```yaml + /usr/sbin/centreon-agent config \ + --token aaaa-aaaa-aaaa-aaaa \ + --type poller \ + --output /etc/centreon-agent/centreon-agent.yml + ``` + +3. Add an **environment** [tag](#tags): + + Open the `centreon-agent.yml` file generated at installation (cf. `--output` option configured earlier) and add the following instructions under the **collect** section. + + ```yaml + collect: + tags: + environment: [staging|preproduction|production|your-custom-value] + ``` + + Example: + + ```yaml + collect: + tags: + environment: production + ``` + + If you have multiple environments of the same kind, you can suffix your type of environment, for instance: "production_client1". + +4. Enable the **centreon-agent** service: + + ``` + systemctl enable centreon-agent.service + ``` + +5. Start the **centreon-agent** service: + + ``` + systemctl start centreon-agent.service + ``` + +7. You can now [configure Helios](#configuring-helios) (Gateway, proxy etc.) and then [test](#testing-helios) your overall configuration. + +## Configuring Helios + +### Network + +If Helios does not have direct access to the outside, two options allow you to circumvent this: access through an HTTP proxy and/or access through the Gateway mode. For Gateway mode, a Helios that needs access (called “Gateway Client”) can get through another Helios instance (called “Gateway Server”) that does have access to the outside. + +**Example** + +Your infrastructure is protected within a closed system and you have a proxy Server to manage all outgoing traffic. The Helios installed on the machine hosting the Centreon Central Server is the only one you want to grant access to the outside. In this case, you could configure your network as such: + +- Configure the proxy option on the Central Helios to grant it access to the outside + +- Configure this same Helios as a Gateway Server + +- Configure all other Helios instances (installed next to Pollers, Remote Servers, MAP, etc.) as Gateway Clients + +#### Proxy Configuration + +If you have a proxy access configured on the host machine, copy the proxy settings to the `/etc/centreon-agent/centreon-agent.yml` file under **output**: + +```yaml +output: + token: [your-token] + proxy_url: [your-proxy-address]:[your-desired-port] + proxy_ssl_insecure: [true|false] +``` + +Example: + +```yaml +output: + token: aaaa-aaaa-aaaa-aaaa + proxy_url: http//proxy.local.net:3128 + proxy_ssl_insecure: false +``` + +You then need to restart Helios: + +``` +systemctl restart centreon-agent.service +``` + +#### Gateway Configuration + +- Gateway Server: copy the following code to the `/etc/centreon-agent/centreon-agent.yml` file of the Helios that will act as a Gateway server. To strengthen the security of communications between the gateway client and the gateway server, you can define an authentication token (`auth-token`), i.e. the character string you want (this is not the same token as the one you used to configure the `centreon-agent.yml` file). + + ```yaml + gateway: + enable: true + listen_port: [listening-port] + auth_token: [your-gateway-token] + ``` + + Example: + + ```yaml + gateway: + enable: true + listen_port: 54321 + auth_token: azerty1234 + ``` + + You then need to restart Helios: + + ``` + systemctl restart centreon-agent.service + ``` + +- Gateway Client + + In a Gateway configuration, the Gateway Client delegates the configuration of its main token to the Gateway Server (since only the latter communicates with our platform). + As a consequence, the `token` line needs to be commented with the yaml comment operator “#”. + If you have defined an authentication token (`auth_token`) on the gateway server, you need to add it to the configuration of the gateway client also. + + ```yaml + output: + #token: [your-token] + gateway: + url: http://[gateway-server-ip-address]:[listening-port] + auth_token: [your-gateway-token] + ``` + + Example: + + ```yaml + output: + #token: aaaa-aaaa-aaaa-aaaa + gateway: + url: http://172.28.6.145:54321 + auth_token: azerty1234 + ``` + + You then need to restart Helios: + + ``` + systemctl restart centreon-agent.service + ``` + +### Enabling the Collection of Centreon Logs + +Starting from version 2 and up of Helios, logs generated by the monitored Centreon component can be collected. + +To define which logs should be collected, you need to create yml configuration files in the following folder: `/etc/centreon-agent/conf.d`. +To collect a specific log, the configuration file must contain the following arguments: path, type and pattern of the target log file. Example: + +``` +- path: /var/log/centreon-gorgone/gorgoned.log + pattern: "%{CENTREONGORGONE}" + type: file +``` + +You can have several configuration files. Each file is parsed and its target log files are added to the collection. + +#### Using the Templates + +To make log collection configuration easier, pre-configured templates are provided. Each template covers a specific scope depending on the target Centreon component, its version, etc. + +Templates are located in the following folder: + +``` +/usr/share/centreon-agent/examples +``` + +Based on your monitored Centreon component, you can simply copy/paste the corresponding template to your `/etc/centreon-agent/conf.d` folder. + +#### Finalize template configuration + +> For a Centreon poller, log files are prefixed with the poller’s name, so you need to adapt the poller template: +> open the poller template and replace all `POLLERNAME` placeholders in the “path” section with the actual poller’s name. + +The templates provided will work out of the box with a standard Centreon installation. In case of doubt, you can locate the actual targeted log file and compare its path to the one written in your “path” section of the template. + +In case of errors, you will find detailed explanations of what happened within Helios's own logs in `/var/log/centreon-agent/centreon-agent.log`. + +#### Start log collection + +Once your log collection is properly configured, you need to restart Helios with the following command: + +``` +systemctl restart centreon-agent.service +``` + +### Tags + +Helios can contextualize data collection with your own custom tags to define the perimeter in which it operates. This is used later on to aggregate the monitoring data around your tags and create dashboards or reports in relevant contexts. + +> We strongly advise you to define the “environment” tag before any others, so that we can establish a common baseline between all users. + +Tags can be configured in the YAML `/etc/centreon-agent/centreon-agent.yml` file generated at installation. Tags are case-sensitive (`production` and `Production` are seen as two different tags). + +```yaml +collect: + tags: + environment: [staging|preproduction|production|your-custom-value] + [tag2]: [your-custom-value2] + [tag3]: [your-custom-value3] +``` + +Example: + +```yaml +collect: + tags: + environment: production + City: Paris +``` + +You then need to restart Helios: + +``` +systemctl restart centreon-agent.service +``` + +### Remote Database + +If the Centreon component monitored by Helios is configured with a specific or remote database, you can configure Helios to access the database in the YAML `/etc/centreon-agent/centreon-agent.yml` file generated at installation. + +```yaml +collect: + centreonweb: + config_dsn: [user]:[password]@tcp([dbhost])/[centreondbname] + storage_dsn: [user]:[password]@tcp([dbhost])/[centreon_storagedbname] +``` + +Example: + +```yaml +collect: + centreonweb: + config_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon + storage_dsn: admin:UzG2b5wcMf8EqM2b@tcp(172.28.2.60)/centreon_storage + +``` + +You then need to restart Helios: + +``` +systemctl restart centreon-agent.service +``` + +### Log rotation + +Helios logs all activity (nominal as well as erroneous) in the `/var/log/centreon-agent/centreon-agent.log` file. + +A default `/etc/logrotate.d/centreon-agent` file was created at installation and configured as follows: + +``` +/var/log/centreon-agent/centreon-agent.log { + daily + copytruncate + rotate 7 + compress +} +``` + +You can leave it as such or further adjust the log rotation policy to best fit your needs using the parameters of [logrotate](https://linux.die.net/man/8/logrotate). + +Use the following command to apply the changes immediately: + +``` +logrotate /etc/logrotate.d/centreon-agent +``` + +## Testing Helios + +### Testing the centreon-agent service + +At this stage, the **centreon-agent** service should be running and set to launch at system start. +The following command checks that the service has been correctly configured: + +``` +systemctl status centreon-agent +``` + +If all went well, the command will return results similar to the following example: + +``` +systemctl status centreon-agent +● centreon-agent.service - The Centreon Agent collect metrics and send them to Centreon SaaS Platform + Loaded: loaded (/etc/systemd/system/centreon-agent.service; enabled; vendor preset: disabled) + Active: active (running) since ven. 2019-11-08 14:52:26 CET; 5 days ago + Main PID: 22331 (centreon-agent) + CGroup: /system.slice/centreon-agent.service + └─22331 /usr/sbin/centreon-agent run +``` + +### Testing data collection + +Once installation and configuration are done, the following command can be used to force a collection and return a full sample of collected data: + +``` +centreon-agent sample +``` + +The output should look like this: + +``` +1624977737000000// centreonengine_uptime_seconds{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 693583 +1624977737000000// centreonengine_command_buffers_used{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_command_buffers_high{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_command_buffers_total{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 4096 +1624977737000000// centreonengine_external_command_1m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +1624977737000000// centreonengine_general_external_command_5m{_cmaas=cmco,hostname=val-central.centreon.io,os=linux,osfamily=rhel} 0 +``` + +In case of errors while testing the collection, the logs in the `/var/log/centreon-agent/centreon-agent.log` file can give you further information for troubleshooting purposes. + +### Testing that you can access the Centreon SaaS platform + +Once installation and configuration are done, the following command can be used to test the connection between Helios and the Centreon SaaS platform: + +``` +centreon-agent ping --config [path to your centreon-agent.yml file] +``` + +Helios will then return one of the following: + +- **Unable to reach the Centreon Cloud Platform, check your network configuration** + +- **Centreon Cloud Platform reached successfully but your token is not recognized** + +- **Centreon Cloud Platform reached successfully and authentication was successful**: Helios is properly connected to our platform. + +### Help + +If you want to know more about `usr/sbin/centreon-agent`, enter: + +``` +centreon-agent --help +``` + +## Updating Helios + +To update Helios, enter: + +``` +dnf clean all --enablerepo=* +``` + +``` +dnf update centreon-agent +``` diff --git a/versioned_docs/version-25.10/installation/_database-configuration.mdx b/versioned_docs/version-25.10/installation/_database-configuration.mdx new file mode 100644 index 000000000000..eb63794a18da --- /dev/null +++ b/versioned_docs/version-25.10/installation/_database-configuration.mdx @@ -0,0 +1,207 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> It is mandatory to set a password for the root user of the database. + +Secure your database root access by executing the following command: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +Then, in the remote dabatase, create a user with **root** privileges. You will have to enter this user during the +web installation process (at [step 6](./web-and-post-installation.md#step-6-database-information), +in the **Root user** and **Root password** fields). + +```SQL +CREATE USER ''@'' IDENTIFIED BY ''; +GRANT ALL PRIVILEGES ON *.* TO ''@'' WITH GRANT OPTION; +FLUSH PRIVILEGES; +``` + +Example: + +```shell +CREATE USER 'dbadmin'@'' IDENTIFIED BY ''; +GRANT ALL PRIVILEGES ON *.* TO 'dbadmin'@'' WITH GRANT OPTION; +FLUSH PRIVILEGES; +``` + +> Replace **\** with the Centreon Central IP address that will connect to the database server. +> +> Replace **\** and **\** with the user's credentials. + +This user will only be used for the installation process; once the [web installation](./web-and-post-installation.md) is complete you can delete this user using: + +```SQL +DROP USER ''@''; +``` + +Example: + +```SQL +DROP USER 'dbadmin'@''; +``` + + + + +* The package **centreon-mariadb** installs an optimized MariaDB configuration + to be used with Centreon. + +> If this package is not installed, system limitation **LimitNOFILE** should be +> at least set to **32000** using a dedicated configuration file; for example: +> +> ```shell +> $ cat /etc/systemd/system/mariadb.service.d/centreon.conf +> [Service] +> LimitNOFILE=32000 +> ``` + +* Same for the MariaDB **open_files_limit** directive: + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/mysql/mariadb.conf.d/80-centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` +> +> MariaDB must listen to all interfaces instead of localhost/127.0.0.1, which is the default value. Edit the following file: +> +> ```shell +> /etc/mysql/mariadb.conf.d/50-server.cnf +> ``` +> +> Set the **bind-address** parameter to **0.0.0.0** and restart mariadb. +> +> ```shell +> systemctl restart mariadb +> ``` + + + + + + + +* The package **centreon-mysql** installs an optimized MySQL configuration + to be used with Centreon. + +> If this package is not installed, system limitation **LimitNOFILE** should be +> at least set to **32000** using a dedicated configuration file; for example: +> +> ```shell +> $ cat /etc/systemd/system/mysqld.service.d/centreon.conf +> [Service] +> LimitNOFILE=32000 +> ``` + +* Same for the MySQL **open_files_limit** directive: + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/my.cnf.d/centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` + + + + +> ```shell +> $ cat /etc/mysql/mysql.conf.d/80-centreon.cnf +> [server] +> innodb_file_per_table=1 +> open_files_limit=32000 +> ``` +> +> MySQL must listen to all interfaces instead of localhost/127.0.0.1, which is the default value. Edit the following file: +> +> ```shell +> /etc/mysql/mysql.conf.d/50-server.cnf +> ``` +> +> Set the **bind-address** parameter to **0.0.0.0** and restart mysql. +> +> ```shell +> systemctl restart mysqld +> ``` + + + + + + + +> In addition to the directives above, it is strongly recommended to tune the +> database configuration with the following parameters: +> +> ```shell +> [server] +> key_buffer_size = 256M +> sort_buffer_size = 32M +> join_buffer_size = 4M +> thread_cache_size = 64 +> read_buffer_size = 512K +> read_rnd_buffer_size = 256K +> max_allowed_packet = 128M +> ``` +> +> Optionally, tune the memory and buffer utilization of the InnoDB engine powered +> tables. The example below applies to a database server with 8 GB RAM +> +> ```shell +> innodb_buffer_pool_size=1G +> ``` +> +> Remember to restart database after changing the configuration. diff --git a/versioned_docs/version-25.10/installation/_database-enable-restart.mdx b/versioned_docs/version-25.10/installation/_database-enable-restart.mdx new file mode 100644 index 000000000000..6fa5e6da5c31 --- /dev/null +++ b/versioned_docs/version-25.10/installation/_database-enable-restart.mdx @@ -0,0 +1,43 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + +```shell +systemctl enable mariadb +systemctl restart mariadb +``` + + + + + + + +```shell +systemctl enable mysqld +systemctl restart mysqld +``` + + + + +```shell +systemctl enable mysqld +systemctl restart mysqld +``` + + + + +```shell +systemctl enable mysql +systemctl restart mysql +``` + + + + + + diff --git a/versioned_docs/version-25.10/installation/_database-local-install.mdx b/versioned_docs/version-25.10/installation/_database-local-install.mdx new file mode 100644 index 000000000000..98595f2f182e --- /dev/null +++ b/versioned_docs/version-25.10/installation/_database-local-install.mdx @@ -0,0 +1,83 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + + + + +```shell +dnf install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +dnf install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +apt update +apt install -y centreon-mariadb centreon +systemctl daemon-reload +systemctl restart mariadb +``` + + + + + + + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql centreon +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql centreon +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +apt update +apt install -y centreon-mysql +apt install -y centreon +# Select "Use Legacy Authentication Method" +systemctl daemon-reload +systemctl restart mysql +``` + + + + + + diff --git a/versioned_docs/version-25.10/installation/_database-remote-install.mdx b/versioned_docs/version-25.10/installation/_database-remote-install.mdx new file mode 100644 index 000000000000..7426f8a7dcd4 --- /dev/null +++ b/versioned_docs/version-25.10/installation/_database-remote-install.mdx @@ -0,0 +1,117 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseConfiguration from './_database-configuration.mdx'; + +> If installing the database on a dedicated server, this server should also have +> the prerequisite repositories. + +Run the following command on the Central server: + + + + +```shell +dnf install -y centreon-central +``` + + + + +```shell +dnf install -y centreon-central +``` + + + + +```shell +apt update +apt install -y centreon-central +``` + + + + +Then run the following commands on the dedicated server for your database: + + + + + + + +```shell +dnf install -y centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +dnf install -y centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + +```shell +apt update +apt install -y --no-install-recommends centreon-mariadb +systemctl daemon-reload +systemctl restart mariadb +``` + + + + + + + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +dnf install -y mysql-server mysql +dnf install -y centreon-mysql +systemctl enable --now mysqld +echo "default-authentication-plugin=mysql_native_password" >> /etc/my.cnf.d/mysql-server.cnf +sed -Ei 's/LimitNOFILE\s\=\s[0-9]{1,}/LimitNOFILE = 32000/' /usr/lib/systemd/system/$mysql_service_name.service +systemctl daemon-reload +systemctl restart mysqld +``` + + + + +```shell +apt update +apt install -y --no-install-recommends centreon-mysql +# Select "Use Legacy Authentication Method" +systemctl daemon-reload +systemctl restart mysql +``` + + + + + + + + diff --git a/versioned_docs/version-25.10/installation/_database-repository.mdx b/versioned_docs/version-25.10/installation/_database-repository.mdx new file mode 100644 index 000000000000..2d79e088bb32 --- /dev/null +++ b/versioned_docs/version-25.10/installation/_database-repository.mdx @@ -0,0 +1,61 @@ +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + + + + + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + + + + + + + + + + + +*Nothing to do, MySQL 8.0 is already available in the official repositories.* + + + + +*Nothing to do, MySQL 8.0 is already available in the official repositories.* + + + + +```shell +wget -P /tmp/ https://dev.mysql.com/get/mysql-apt-config_0.8.29-1_all.deb +apt install /tmp/mysql-apt-config_0.8.29-1_all.deb +# Select Ok to validate installation of "MySQL Tools & Connectors" +apt update +``` + + + + + + \ No newline at end of file diff --git a/versioned_docs/version-25.10/installation/architectures.md b/versioned_docs/version-25.10/installation/architectures.md new file mode 100644 index 000000000000..298b6535033f --- /dev/null +++ b/versioned_docs/version-25.10/installation/architectures.md @@ -0,0 +1,54 @@ +--- +id: architectures +title: Architectures +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +If you are monitoring a small number of hosts and services, a central server is enough. However, to monitor a large number of hosts and services, you will need to distribute the load over multiple servers. + +All servers (central, remote and pollers) in your architecture must have the same major version of Centreon. It is also recommended that they have the same minor version. + +> If you do not know what remote servers and pollers are, see [Elements of a Centreon platform](../getting-started/platform.md). + +## Available architectures + +### Standalone central server + +If you are not monitoring many hosts, you may only need one central server. The central server will do all of the monitoring itself. + +### Distributed architecture + +A distributed architecture consists of: + +* A Centreon Central server to configure monitoring and to display and operate on collected data +* One or more remote servers to display and operate on a subset of collected data + +and/or + +* One or more pollers to collect data. + +Example of distributed architecture with 3 remote servers and 6 pollers. Note that you can also attach a poller directly to the central server. + +![image](../assets/getting-started/archi.png) + +### Architecture with remote DBMS + +Your central server can have a remote DBMS. An architecture with a remote DBMS consists of: + +* A Centreon Central server to configure monitoring and display collected data +* A DBMS server to store collected data +* Optionally, one or more remote servers and/or pollers to collect data + +## What kind of architecture do you need? + +![image](../assets/installation/architecture_decision.png) + +When designing your Centreon platform, bear the following considerations in mind: + +* The number of hosts you will monitor is not enough to determine how big your platform should be. You will also need to take into account the number of services per host and the number of metrics per service. +* Another criterion to consider is whether you need to use pollers or remote servers to separate your resources according to geographical or logical criteria. Example: If your monitoring architecture has to monitor a DMZ area, it is easier (and safer) to place a remote server in the DMZ network. +* A central server should only monitor a small number of hosts and services because its CPU should primarily handle the data sent by remote servers and pollers (the same applies to remote servers). The more hosts and services you monitor on your central server, the higher the risk of the interface being slowed down, because the monitoring engine will use more resources. +* The central server should monitor all remote servers and pollers. +* The central server should be monitored by a poller or a remote server. +* Use a remote server instead of a poller if you need to view data on a site other than where the central server is located. diff --git a/versioned_docs/version-25.10/installation/compatibility.md b/versioned_docs/version-25.10/installation/compatibility.md new file mode 100644 index 000000000000..06c28698dbc1 --- /dev/null +++ b/versioned_docs/version-25.10/installation/compatibility.md @@ -0,0 +1,49 @@ +--- +id: compatibility +title: Compatibility +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Centreon web interface + +The Centreon web interface is compatible with the following web browsers: + +* Google Chrome (latest version at the time of Centreon software release and above). Please visit the [Google Chrome FAQ](https://support.google.com/chrome/a/answer/188447?hl=en) for a description of the Chrome support policy. +* Mozilla Firefox (latest version at the time of Centreon software release and above). Please visit the [Mozilla FAQ](https://www.mozilla.org/en-US/firefox/organizations/faq/) for a description of the Firefox support policy. +* Apple Safari (latest version at the time of Centreon software release and above) +* Microsoft Edge Chromium (latest version at the time of Centreon software release and above) + +If an update to those supported browsers were to cause an incompatibility, Centreon would work on a fix in the shortest possible time (for supported Centreon versions). Although other browsers might work, Centreon will not attempt to resolve problems with browsers other than those listed above. + +Your screen resolution must be at least 1280 x 768. + +## Software + +### Operating Systems + +Centreon supports the following operating systems: + +| Version | Installation mode | +|--------------------------------|--------------------------------------------------------| +| RHEL/Oracle Linux 8 | RPM packages, sources | +| Alma Linux 8 | RPM packages, virtual machine, sources | +| RHEL/Oracle Linux/ALma Linux 9 | RPM packages, sources | +| Debian 12 (bookworm) | DEB packages | + +See our knowledge base article [How to install Linux to host Centreon software](https://thewatch.centreon.com/product-how-to-21/how-to-install-linux-to-host-centreon-software-3759). + +Open Source users, without a support contract, can use another GNU/Linux operating system. +This will require installing the platform from source files and will therefore be more complex. +Bear in mind that IT Edition and Business Edition modules do not work yet on unsupported distributions. + +> Only 64-bit operating systems (x86_64) are supported. + +### DBMS + +| Software | Version | +|----------|---------| +| MariaDB | 10.11.x | +| MySQL | 8.0 | + +> You can use another DBMS based on MySQL, but it will only be supported by the community. diff --git a/versioned_docs/version-25.10/installation/download.md b/versioned_docs/version-25.10/installation/download.md new file mode 100644 index 000000000000..80a70e070c28 --- /dev/null +++ b/versioned_docs/version-25.10/installation/download.md @@ -0,0 +1,20 @@ +--- +id: download +title: Download +--- + +Open Source software supplied by Centreon is generally available in [3 formats](../installation/compatibility.md#operating-systems): + +* [RPM and DEB packages](https://download.centreon.com) (recommended), +* [Virtual machine](https://download.centreon.com) in OVA and OVF formats, +* [Archives containing the sources](https://download.centreon.com). + +RPM packages are the best format to obtain our software. They are packaged by Centreon experts and relieve +you of any concern over the installation process. + +> Centreon recommends using the [Centreon RPM packages](installation-of-a-central-server/using-packages.md) version. + +If your platform does not support RPM packages, you should use archives containing the sources of stable versions of +our software and install them manually. Manual compilation of some packages can be complex. + +To download Centreon, please refer to our [download website](https://download.centreon.com) diff --git a/versioned_docs/version-25.10/installation/inside-centreon.md b/versioned_docs/version-25.10/installation/inside-centreon.md new file mode 100644 index 000000000000..e68ea9a72701 --- /dev/null +++ b/versioned_docs/version-25.10/installation/inside-centreon.md @@ -0,0 +1,85 @@ +--- +id: inside-centreon +title: Inside Centreon +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Here are the bricks that make Centreon work. To find out on which port each brick communicates, see the [Tables of network flows](https://docs.centreon.com/docs/installation/technical/#tables-of-network-flows). + +## Schema of a central server + + + + +In this example, we have a central server (without any Business modules installed), and a poller that is directly attached to it. + +![image](../assets/installation/inside_central_poller.png) + + + + +## Elements of a Centreon setup + +### Engine + +* **Engine**, (the monitoring engine, i.e. the **centengine** process) is the heart of Centreon: it plans checks, executes them, and [notifies users](https://docs.centreon.com/docs/alerts-notifications/notif-concept) if an incident occurs. +* Checks and notifications are done according to the configuration made by users. +* Centreon Engine is present on each server in your [architecture](https://docs.centreon.com/docs/installation/architectures): [pollers, remote servers and the central server](https://docs.centreon.com/docs/platform). +* To configure Engine, go to **Configuration > Pollers > Engine configuration**. This is for advanced users only. + +### cbmod + +* Engine’s companion module, **cbmod**, transforms Engine events into Broker events, and sends all the data to Broker. +* Events can be check results, a [downtime](https://docs.centreon.com/docs/alerts-notifications/downtimes), an [acknowledgment](https://docs.centreon.com/docs/alerts-notifications/acknowledge), a change in the configuration. +* **cbmod** is a type of [broker](#broker) and can be configured like any Broker using the **Configuration > Pollers > Broker configuration** page. + +### Broker + +* There are in fact 2 Brokers: 1 **master Broker** and 1 **RRD Broker**. +* Only central servers and remote servers contain Brokers. +* Engine sends data to the master Broker: + * The master Broker writes the data in the [MariaDB/MySQL databases](#a-mariadbmysql-database). + * The master Broker sends a copy of [metrics](https://docs.centreon.com/docs/monitoring/metrics) and [statuses](https://docs.centreon.com/docs/alerts-notifications/concepts) to the RRD Broker so that it can write them to the [RRD database](#a-rrd-databaserrd-files). +* The data is sent in [BBDO format](https://docs.centreon.com/docs/developer/developer-broker-bbdo/). +* Each Broker has inputs and outputs that you can configure. By default, Broker is installed with mostly IPv4 inputs and outputs (in fact, an IPv4 output to the RRD database and a Unified SQL output to the MariaDB/MySQL database). However, it is recommended to set up a BBDO client and server between Engine and the master Broker, as they are easier to configure. +* To configure a Broker, use the **Configuration > Pollers > Broker configuration** page. +* If you decide that your master Broker is going to [receive data in HTTPS](https://docs.centreon.com/docs/monitoring/monitoring-servers/advanced-configuration/#centreon-broker-flow-authentication), then you need to configure each Engine that talks to it in HTTPS too. + +See also: + +* [Centreon Broker in the Developer resources section](https://docs.centreon.com/docs/developer/developer-centreon-broker). +* [Advanced configuration of Centreon Broker](https://docs.centreon.com/docs/monitoring/monitoring-servers/advanced-configuration/#advanced-configuration-of-centreon-broker). + +### Gorgone + +* **Gorgone** is present on the central server, on your remote servers and on your pollers. +* Gorgone allows the interface to talk to the Engine of the central server, and to talk to the Engines of your remote servers and pollers, synchronizing data between them. +* Configuration data is transferred from the central to the engines of the pollers and remote servers in ZMQ format. +* When you [deploy the configuration](https://docs.centreon.com/docs/monitoring/monitoring-servers/deploying-a-configuration), Gorgone takes the files that are generated and copies them to all the engines of the pollers and remote servers, and reloads these. + +See also [Centreon Gorgone in the Developer resources section](https://docs.centreon.com/docs/developer/developer-centreon-gorgone). + +### A MariaDB/MySQL database + +The MariaDB or MySQL database contains 2 databases: + + * **centreon** that contains the configuration (i.e. all the objects users have created: hosts, services, etc). + * **centreon_storage** that contains all the real-time data received by Broker: performance data ([metrics](https://docs.centreon.com/docs/monitoring/metrics)), [statuses](https://docs.centreon.com/docs/alerts-notifications/concepts) and [states](https://docs.centreon.com/docs/alerts-notifications/concepts/#states) and the date and time of any change in them, acknowledgements, downtimes. + +The MariaDB or MySQL database can be included in your central server, or [remote](https://docs.centreon.com/docs/installation/architectures/#architecture-with-remote-dbms). + +### A RRD database/RRD files + +The RRD files contain performance data (metrics) and statuses, and are used to generate graphs (on the following pages: **Monitoring > Resource status**, **Monitoring > Performance > Graphs**, **Administration > Platform status > Engine statistics**). +Metrics and statuses stored there are a copy of those stored in **centreon_storage**, used for performance reasons. If for some reason you have lost your graphs, you can [rebuild your RRD database](https://docs.centreon.com/docs/administration/backup/#graphs-rebuild) from the **centreon_storage** database. + +### A web server + +The web server (**httpd** process) serves the graphical interface to users. It sends events to the MariaDB/MySQL databases, and to Gorgone. + +## Example: what happens when a host is created? + +1. A user creates a host in the interface of the central server (using the **Configuration > Hosts > Hosts** page). +2. **httpd** sends the configuration of the host to the **centreon** database (inside MariaDB or MySQL). +3. The user [deploys the configuration](https://docs.centreon.com/docs/monitoring/monitoring-servers/deploying-a-configuration): Gorgone takes the files that are generated and copies them to all the engines of the pollers and remote servers, and reloads these. diff --git a/versioned_docs/version-25.10/installation/installation-of-a-central-server/unattended.md b/versioned_docs/version-25.10/installation/installation-of-a-central-server/unattended.md new file mode 100644 index 000000000000..88a3af9c36db --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-central-server/unattended.md @@ -0,0 +1,90 @@ +--- +id: unattended-install-central +title: Unattended installation of a central server +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +To install a central server quicker, you can use a script. This will carry out the full installation procedure, including the web installation. + +## Installation procedure + +1. Update your system: + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Replace **my_username** and **my_password** with the credentials of your RedHat account. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Download the script using the following command: + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Run the following command as **root**: + +* To specify the password for the default **admin** account: + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* To get an autogenerated password for the default **admin** account (the script will tell you where the password is stored): + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +In both cases, you will get a full log file with all errors in your **tmp** folder, named **unattended(date).log**. + +> To get help on the script, use the following command: `bash unattended.sh -h` + +4. Configure Centreon + +Log in to the Centreon web interface via the URL `http://[SERVER_IP]/centreon` where [SERVER_IP] is the real IP address of your server. +Once you are logged in, follow the steps described [here](../../web-and-post-installation/#initialization-of-the-monitoring). + +5. Start using Centreon + +Follow our [quick start guide](../../getting-started/welcome.md) to start your monitoring. diff --git a/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-packages.md b/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-packages.md new file mode 100644 index 000000000000..af4de3a7a002 --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-packages.md @@ -0,0 +1,517 @@ +--- +id: using-packages +title: Using packages +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseRepository from '../_database-repository.mdx'; +import DatabaseLocalInstall from '../_database-local-install.mdx'; +import DatabaseRemoteInstall from '../_database-remote-install.mdx'; +import DatabaseEnableRestart from '../_database-enable-restart.mdx'; + +Centreon provides RPM and DEB packages for its products through the Centreon Open +Source version available free of charge in our repository. + +These packages can be installed on Alma/RHEL/Oracle Linux 8 and 9 and on Debian 12. + +You must run the installation procedure as a privileged user. + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +## Prerequisites + +After installing your server, update your operating system using the following +command: + + + + +```shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +> Accept all GPG keys and reboot your server if a kernel update is proposed. + +## Step 1: Pre-installation + +### Disable SELinux + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + +SELinux is not installed on Debian 12, continue. + + + + +### Configure or disable the firewall + +If your firewall is active, add [firewall rules](../../administration/secure-platform.md#enable-firewalld). +You can also disable the firewall during installation by running the following commands: + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +### Install the repositories + + + + + +#### Remi repository + +To install Centreon you will need to install the **remi** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled 'powertools' +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Remi and CodeReady Builder repository + +To install Centreon you will need to install the **remi** and **CodeReady Builder** repositories. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Remi and CodeReady Builder repositories + +To install Centreon you will need to install the **remi** and **CodeReady Builder** repositories. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +#### Install dependencies + +Install the following dependencies: + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +#### Add Sury APT repository for PHP 8.2 + +To install the Sury repository, execute the following command: + +```shell +echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list +``` + +Then import the repository key: + +```shell +wget -O- https://packages.sury.org/php/apt.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/php.gpg > /dev/null 2>&1 +apt update +``` + + + + +#### Database repository + + + +#### Centreon repository + +To install Centreon software, you should first install the Centreon repository. + +Install the Centreon repository using this command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +## Step 2: Installation + +This section describes how to install a Centreon central server. + +You can install this server with a local database on the server or +a remote database on a dedicated server. + + + + + + + + + + +## Step 3: Configuration + +### Server name + +If you want to change the server's hostname, use the following command: + +```shell +hostnamectl set-hostname new-server-name +``` + +Replace **new-server-name** with the name of your choice. Example: + +```shell +hostnamectl set-hostname central +``` + +### Service startup during system bootup + +To make services start automatically during system bootup, run these commands +on the central server: + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php8.2-fpm apache2 centreon cbd centengine gorgoned centreontrapd snmpd snmptrapd +``` + + + + +Then execute the following command (on the central server if you are using a local database, or on your remote database server): + + + +### Secure the database + +It is mandatory to secure the database's root access before installing Centreon. +If you are using a local database, run the following command on the central server: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Answer **yes** to all the questions except "Disallow root login remotely?". +* It is mandatory to set a password for the **root** user of the database. You will need this password during the [web installation](../web-and-post-installation.md). + +> For more information, please see the [official MariaDB documentation](https://mariadb.com/kb/en/mysql_secure_installation/). + +## Step 4: Web installation + +1. Start the Apache server with the +following command: + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start apache2 +``` + + + + +2. To complete the installation, follow the +[web installation](../web-and-post-installation.md#web-installation) procedure. diff --git a/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md b/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md new file mode 100644 index 000000000000..2a6a5067997f --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-central-server/using-virtual-machines.md @@ -0,0 +1,279 @@ +--- +id: using-virtual-machines +title: Using a virtual machine (VM) +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +On its [download page](https://download.centreon.com), Centreon provides ready-to-use virtual machines. These virtual machines are available for VMware environments and for Oracle VirtualBox. They are based on the **Alma Linux 8 and 9** and **Debian 12** operating systems and include a Centreon installation that allows you to easily start your first monitoring. + +> Virtual machines are only suitable to use Centreon IT-100 or to test the solution. + +The VMs use the **Thin Provision** option to save as much free space as possible on the disk (this is best practice). + +## Prerequisites + +The host machine must have the following characteristics: + +- Processor: any recent Intel or AMD processor with at least two vCPUs. +- Memory: depending on your operating system, you will need at least 1 GB of RAM. To fully enjoy the Centreon experience, you need at least 2 GB of free memory. +- Hard disk storage: The virtual machine requires at least 6.5 GB of free space on your hard disk. However, if you want keep using Centreon, it is recommended to have at least 10 GB, because it will grow over time. + +## Step 1: Downloading the virtual machine + +1. Make sure your virtualization tool (VMWare or VirtualBox) is installed on your machine and up to date. + +2. Depending on the type of license you want to use, go to either of the following pages: + + + + +1. Go to the [Centreon download page](https://download.centreon.com). In section 1, **Appliances** is already selected. + +2. In section 2, select which version of Centreon you want to download. + +3. In section 3, **Download your image**, click the **Download** button next to the type of VM you want (be careful not to mix up images for VMWare and VirtualBox). A new page opens. + + - If you want Centreon to contact you, fill in your details, then click **Download**. + + - Otherwise, click **Direct download**. + +4. The file you have downloaded is an archive file. Extract its contents to the folder you want. + + + + +1. Go to the [IT-100 free trial page](https://www.centreon.com/free-trial/). + +2. Fill in the form to request your free IT-100 token, then follow the instructions you have received by email. + +3. Further down the page, in the **Download Centreon** section, download the correct image for the type of VM you want (be careful not to mix up images for VMWare and VirtualBox). + +4. The file you have downloaded is an archive file. Extract its contents to the folder you want. + + + + +## Step 2: Installing the virtual machine + + + + +1. Import the **centreon-central.ova** file into VMWare. A terminal window opens; wait for the server to start. When it is ready, the terminal shows the following message: + + ![image](../../assets/installation/VMW1.png) + +2. According to how your network is set up, in the configuration of your virtual machine, add a network adapter and select the network through which the virtual machine can communicate with the resources it will monitor. Here is a configuration example in VSphere 6: + + ![image](../../assets/installation/VMW_network_adapter.png) + + + + +1. Import the **centreon-central.ova** file into VirtualBox. The VM is added to your list of VMs in VirtualBox. + + ![image](../../assets/installation/VB2.png) + +2. In the right-hand panel, click **Settings**. The **Settings** dialog box opens. + +3. On the **System** tab, check the **Hardware Clock in UTC Time** box. + +4. According to how your network is set up, add a network adapter and select the network through which the virtual machine can communicate with the resources it will monitor. For instance: + + 1. On the **Network** tab, select **Enable Network Adapter**. + + 2. In the **Attached to** list, select **Bridged Adapter**. + + 3. In the **Name** list, select the network card you want. + +5. Click **OK**. + +6. In the right-hand panel, click **Start** to start the VM. A terminal window opens; wait for the server to start. When it is ready, the terminal shows the following message: + + ![image](../../assets/installation/terminal_ready.png) + + + + +## Step 3: Completing the configuration + +1. Log in to the Centreon server using the following credentials: login: `root`, password: `centreon`. + +2. To find out your server's IP address, type `ip addr`. (By default, the VM has a qwerty keyboard. If you have an azerty keyboard, enter `ip qddr`.) The VM is configured to obtain an IP address from the DHCP server automatically. + + ![image](../../assets/installation/ip_addr.png) + +3. Log in to the server from another machine, as user `root`, using the terminal you want and the IP address you obtained in the previous step. + +4. The first time you connect to the server, instructions are displayed to help you complete the configuration. + + + + +Change the following settings: + + - The time zone for the Centreon server. By default, it is set to UTC. This will set the time for the various Centreon logs. + + Use the following command: + + ```shell + timedatectl set-timezone your_timezone + ``` + + For example, to set the time zone to Europe/London, type: + + ```shell + timedatectl set-timezone Europe/London + ``` + + You can obtain a list of all available timezones using this command: + + ```shell + timedatectl list-timezones + ``` + + - The time zone for the PHP server. To avoid errors, this should be the same as the time zone of the server. By default, it is set to Europe/London. + + 1. Open the following file: + + ```shell + /etc/php.d/50-centreon.ini + ``` + + 2. In `date.timezone`, define the time zone you want. + + 3. Restart the PHP server: + + ```shell + systemctl restart php-fpm + ``` + +- The hostname of your server (this is optional). The default name is `centreon-central`. To change it, use the following command: + + ```shell + hostnamectl set-hostname your-hostname + ``` + + For example, if you want your machine to be called `monitoring`, type: + + ```shell + hostnamectl set-hostname monitoring + ``` + + + + +Change the following settings: + + - The time zone for the Centreon server. By default, it is set to UTC. This will set the time for the various Centreon logs. + + Use the following command: + + ```shell + timedatectl set-timezone your_timezone + ``` + + For example, to set the time zone to Europe/London, type: + + ```shell + timedatectl set-timezone Europe/London + ``` + + You can obtain a list of all available timezones using this command: + + ```shell + timedatectl list-timezones + ``` + + - The time zone for the PHP server. To avoid errors, this should be the same as the time zone of the server. By default, it is set to Europe/London. + + 1. Open the following file: + + ```shell + /etc/php/8.2/mods-available/centreon.ini + ``` + + 2. In `date.timezone`, define the time zone you want. + + 3. Restart the PHP server: + + ```shell + systemctl restart php8.2-fpm.service + ``` + +- The hostname of your server (this is optional). The default name is `centreon-central`. To change it, use the following command: + + ```shell + hostnamectl set-hostname your-hostname + ``` + + For example, if you want your machine to be called `monitoring`, type: + + ```shell + hostnamectl set-hostname monitoring + ``` + + + + +5. Add a MariaDB table partition. This step is mandatory. Your Centreon server will not work if this isn't done. + + 1. Connect as user `centreon`: + + ```shell + su - centreon + ``` + + 2. Type the following command: + + ```shell + /bin/php /usr/share/centreon/cron/centreon-partitioning.php + ``` + + The partition is created: + + ![image](../../assets/installation/partition_created.png) + + 3. Connect again as user `root`: + + ```shell + exit + ``` + + 4. Restart the Centreon broker process so that changes are taken into account: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + + Your Centreon server is now ready to use. + + >Once those operations have been carried out, you can get rid of the message that describes them in the terminal. To do so, delete the following file: + > + >`/etc/profile.d/centreon.sh` + +6. To log in to the web interface, go to `http://ip_address/centreon` or `http://FQDN/centreon`. (For example, a valid URL would be `http://192.168.1.44/centreon`.) + +7. Log in using the following credentials: Login: `admin`, password: `Centreon!123`. By default, your server has a predefined configuration to monitor the Centreon server itself. + +8. According to your Centreon edition, you may have to [add a license](../../administration/licenses.md#add-your-license) (for exemple, a free IT-100 token: go to **Administration > Extensions > Manager** and click **Add Token**). + +9. [Update](../../update/update-centreon-platform.md) your Centreon platform. + +10. Change the passwords for the root and admin accounts. This is mandatory as the default passwords are available publicly in this documentation. You must also define a password for the MariaDB database. + +11. [Secure your Centreon platform](../../administration/secure-platform.md). + +12. You can now [monitor your first host](../../getting-started/first-supervision.md). + +## Default credentials + +- To log in to the Centreon web interface, the default credentials are: `admin`/`Centreon!123`. +- The server administration account (using SSH) is: `root`/`centreon`. +- The root password of the DBMS is not initialized. + +> For security reasons, change these passwords after you complete the installation. + +## Troubleshooting + +If your VM will not start, check that you used the correct image for your virtualization tool (OVA format for VMware environments and OVF format for Oracle VirtualBox). You may also want to visit our community platform [The Watch](https://thewatch.centreon.com/). diff --git a/versioned_docs/version-25.10/installation/installation-of-a-poller/unattended.md b/versioned_docs/version-25.10/installation/installation-of-a-poller/unattended.md new file mode 100644 index 000000000000..f03820ac98e1 --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-poller/unattended.md @@ -0,0 +1,81 @@ +--- +id: unattended-install-poller +title: Unattended installation of a poller +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +To install a poller quicker, you can use a script. This will perform all installation steps. You must then register the poller and attach it to the central server or the remote server. + +## Installation procedure + +1. Update your system: + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Replace **my_username** and **my_password** with the credentials of your RedHat account. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Download the script using the following command: + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Run the following command as **root**: + +```shell +bash /tmp/unattended.sh install -t poller -v 24.10 -r stable -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + + You will get a full log file with all errors in your **tmp** folder, named **unattended(date).log**. + +4. Once the script has run, carry out [steps 3 to 5 of the standard installation procedure for a poller](./using-packages.md#step-3-register-the-server). + +## Help + +To get help on the script, use the following command: + +```shell +bash unattended.sh -h +``` diff --git a/versioned_docs/version-25.10/installation/installation-of-a-poller/using-packages.md b/versioned_docs/version-25.10/installation/installation-of-a-poller/using-packages.md new file mode 100644 index 000000000000..a3b5c9c9544d --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-poller/using-packages.md @@ -0,0 +1,481 @@ +--- +id: using-packages +title: Using packages +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon provides RPM and DEB packages for its products through the Centreon Open +Source version available free of charge in our repository. + +These packages can be installed on Alma/RHEL/Oracle Linux 8 and 9 and on Debian 12. + +You must run the installation procedure as a privileged user. + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +## Prerequisites + +After installing your server, update your operating system using the following +command: + + + + +```shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +> Accept all GPG keys and reboot your server if a kernel update is proposed. + +## Step 1: Pre-installation + +### Disable SELinux + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + +SELinux is not installed on Debian 12, continue. + + + + +### Configure or disable the firewall + +If your firewall is active, add [firewall rules](../../administration/secure-platform.md#enable-firewalld). +You can also disable the firewall during installation by running the following commands: + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +### Server name + +If you want to change the server's name, use the following command: +```shell +hostnamectl set-hostname new-server-name +``` + +Replace **new-server-name** with the name of your choice. Example: +```shell +hostnamectl set-hostname poller1 +``` + +### Install the repositories + + + + +#### Redhat PowerTools repository + +To install Centreon, you will need to enable the official PowerTools repository +supported by Redhat. + +Enable the PowerTools repository using these commands: + +```shell +dnf -y install dnf-plugins-core epel-release +dnf config-manager --set-enabled powertools +``` + + + + +#### Redhat CodeReady Builder repository + +To install Centreon, you will need to enable the official CodeReady Builder +supported by Redhat. + +Enable the CodeReady Builder repository using these commands: + +```shell +dnf -y install dnf-plugins-core https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + + + + + +#### Oracle CodeReady Builder repository + +To install Centreon, you will need to enable the official Oracle CodeReady +Builder repository supported by Oracle. + +Enable the repository using these commands: + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +dnf install -y epel-release +``` + + + + +Install the following dependencies: + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + + + + +#### Centreon repository + +To install Centreon software, you should first install the Centreon repository. + +Install the Centreon repository using this command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +To install the Centreon repository, execute the following command line: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +## Step 2: Installation + +To install the monitoring engine, run the command: + + + + +```shell +dnf install -y centreon-poller +``` + + + + +```shell +dnf install -y centreon-poller +``` + + + + +```shell +apt install -y --no-install-recommends centreon-poller +``` + + + + +To make services start automatically during system bootup, run the following +command: +``` shell +systemctl enable centreon centengine centreontrapd snmptrapd gorgoned +``` + +Passive monitoring services can be started: +```shell +systemctl start centreontrapd snmptrapd gorgoned +``` + +Restart Centreon Engine: +```shell +systemctl restart centengine +``` + +## Step 3: Register the server + +To turn the server into a poller and to register it to the Central server or a Remote server, execute the following command on the future poller: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t poller -h -n +``` + +Example: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t poller -h 192.168.0.1 -n poller-1 +``` + +> Replace **** with the IP of the central server or remote server that you want to link the poller to (IP as seen by the poller) + +> The **** must have access to the configuration API. You can use the default **admin** account. + +> If you need to change the HTTP method or the port, you can use the following format for the **-h** option: +> `HTTPS://:PORT` + +Then follow instructions by +1. Entering your password: + + ``` shell + please enter the password for 192.168.0.1: + ``` + +2. Select the IP address if multiple network interfaces exist: + + ```shell + Which IP do you want to use as CURRENT NODE IP? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Then validate the information: + + ``` shell + Summary of the information that will be sent: + + API connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: poller-1 + type: poller + address: 192.168.0.2 + + Do you want to register this server with the previous information? (y/n)y + ``` + +You will receive the validation of the Centreon central or the Remote Server server: + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'poller': 'poller-1@192.168.0.2' linked to TARGET NODE: '192.168.0.1' has been added +``` + +### Main error messages + +``` shell +2023-05-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Your credentials are incorrect for the ****. + +``` shell +2023-05-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> The **** doesn't have access to configuration API. + +``` shell +Couldn't connect to 192.168.0.1:444; Connection refused +``` + +> Unable to access the API. Please check ****, scheme and port. + +``` shell +2023-05-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> The access URL is incomplete or invalid. Use the **--root** option to define the API URL Path. For example: **--root monitoring**. + +``` shell +2023-05-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> Your Centreon target version is invalid. It should be greater than or equal to 24.10. + +## Step 4: Add the Poller to the configuration + +Go to [Attach a poller to a central or a remote server](../../monitoring/monitoring-servers/add-a-poller-to-configuration.md). + +## Step 5: Secure your platform + +Remember to secure your Centreon platform following our +[recommendations](../../administration/secure-platform.md). diff --git a/versioned_docs/version-25.10/installation/installation-of-a-remote-server/unattended.md b/versioned_docs/version-25.10/installation/installation-of-a-remote-server/unattended.md new file mode 100644 index 000000000000..2cd7a85d26d5 --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-remote-server/unattended.md @@ -0,0 +1,89 @@ +--- +id: unattended-install-remote +title: Unattended installation of a remote server +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +To install a remote server quicker, you can use a script. This will perform all installation steps. You must then register the remote server and attach it to the central server. + +## Installation procedure + +1. Update your system: + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +> Replace **my_username** and **my_password** with the credentials of your RedHat account. + + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +subscription-manager register --username my_username --password my_password --auto-attach --force +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update && apt upgrade +``` + + + + +2. Download the script using the following command: + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh --output /tmp/unattended.sh +``` + +3. Run the following command as **root**: + +* To specify the password for the default **admin** account: + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* To get an autogenerated password for the default **admin** account (the script will tell you where the password is stored): + +```shell +bash /tmp/unattended.sh install -t central -v 24.10 -r stable -s -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +In both cases, you will get a full log file with all errors in your **tmp** folder, named **unattended(date).log**. + +4. Once the script has run, carry out [steps 4 to 8 of the standard installation procedure for a remote server](./using-packages.md#step-5-register-the-server). + +## Help + +To get help on the script, use the following command: + +```shell +bash unattended.sh -h +``` diff --git a/versioned_docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md b/versioned_docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md new file mode 100644 index 000000000000..7ff6ee7f5a65 --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-a-remote-server/using-packages.md @@ -0,0 +1,664 @@ +--- +id: using-packages +title: Using packages +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; +import DatabaseRepository from '../_database-repository.mdx'; +import DatabaseLocalInstall from '../_database-local-install.mdx'; +import DatabaseRemoteInstall from '../_database-remote-install.mdx'; +import DatabaseEnableRestart from '../_database-enable-restart.mdx'; + +Centreon provides RPM and DEB packages for its products through the Centreon Open +Source version available free of charge in our repository. + +These packages can be installed on Alma/RHEL/Oracle Linux 8 and 9 and on Debian 12. + +You must run the installation procedure as a privileged user. + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +## Prerequisites + +After installing your server, update your operating system using the following +command: + + + + +``` shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +```shell +dnf update +``` + +### Additional configuration + +If you intend to use Centreon in French, Spanish, Portuguese or German, install the corresponding packages: + +```shell +dnf install glibc-langpack-fr +dnf install glibc-langpack-es +dnf install glibc-langpack-pt +dnf install glibc-langpack-de +``` + +Use the following command to check which languages are installed on your system: + +```shell +locale -a +``` + + + + +``` shell +apt update && apt upgrade +``` + + + + +> Accept all GPG keys and consider rebooting your server if a kernel update is proposed. + +## Step 1: Pre-installation + +### Disable SELinux + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After the system reboot, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + +During installation, SELinux should be disabled. To do this, edit the file **/etc/selinux/config** and replace +**enforcing** with **disabled**. You can also run the following command: + +```shell +sed -i s/^SELINUX=.*$/SELINUX=disabled/ /etc/selinux/config +``` + +Reboot your operating system to apply the change. + +```shell +reboot +``` + +After system startup, perform a quick check of the SELinux status: + +```shell +getenforce +``` + +You should have this result: + +```shell +Disabled +``` + +> **Note that this deactivation should be temporary.** SELinux should be [reenabled after installation](../../administration/secure-platform.md#activate-selinux) for security reasons. + + + + +SELinux is not installed on Debian 12, continue. + + + + +### Configure or disable the firewall + +If your firewall is active, add [firewall rules](../../administration/secure-platform.md#enable-firewalld). +You can also disable the firewall during installation by running the following commands: + +```shell +systemctl stop firewalld +systemctl disable firewalld +``` + +### Install the repositories + + + + +#### Remi repository + +To install Centreon you will need to install the **remi** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled 'powertools' +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Remi and CodeReady Builder repository + +To install Centreon you will need to install the **remi** and **CodeReady Builder** repositories. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-8-rhui-rpms +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +#### Remi and CodeReady Builder repositories + +To install Centreon you will need to install the **remi** and **CodeReady Builder** repositories. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Enable PHP 8.2 using the following commands: +```shell +dnf module reset php +dnf module install php:remi-8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install dnf-plugins-core +dnf install epel-release +dnf config-manager --set-enabled crb +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install -y dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +If your server is a Cloud RHEL instance, you will have to execute the following command: + +```shell +dnf config-manager --set-enabled codeready-builder-for-rhel-9-rhui-rpms +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +To install Centreon you will need to install the **CodeReady Builder** repository. + +Run the following commands: + +```shell +dnf install dnf-plugins-core +dnf install -y http://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Enable PHP 8.2 using the following commands: + +```shell +dnf module reset php +dnf module install php:8.2 +``` + + + + +#### Install dependencies + +Install the following dependencies: + +```shell +apt update && apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 curl +``` + +#### Add Sury APT repository for PHP 8.2 + +To install the Sury repository, execute the following command: + +```shell +echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/sury-php.list +``` + +Then import the repository key: + +```shell +wget -O- https://packages.sury.org/php/apt.gpg | gpg --dearmor | tee /etc/apt/trusted.gpg.d/php.gpg > /dev/null 2>&1 +apt update +``` + + + + +#### Database repository + + + +#### Centreon repository + +To install Centreon software, you should first install the Centreon repository. + +Install the Centreon repository using this command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +## Step 2: Installation + +This section describes how to install a Centreon Remote Server. + +You can install this server with a local database on the server or +a remote database on a dedicated server. + + + + + +You can now move on to the [next step](#step-3-configuration). + + + + + + + +## Step 3: Configuration + +### Server name + +If you want to change the server's name, use the following command: +```shell +hostnamectl set-hostname new-server-name +``` + +Replace **new-server-name** with the name of your choice. Example: +```shell +hostnamectl set-hostname remote1 +``` + +### Service startup during system bootup + +To make services start automatically during system bootup, run these commands +on the central server: + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php-fpm httpd centreon cbd centengine gorgoned snmptrapd centreontrapd snmpd +systemctl enable crond +systemctl start crond +``` + + + + +```shell +systemctl enable php8.2-fpm apache2 centreon cbd centengine gorgoned centreontrapd snmpd snmptrapd +``` + + + + +Then execute the following command (on the remote server if you are using a local database, or on your dedicated database server): + + + +### Secure the database + +If you have installed the Centreon server with a local database, it is mandatory to secure the database's root access before installing Centreon. Run the following command: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +* Answer **yes** to all questions except "Disallow root login remotely?". +* It is mandatory to set a password for the **root** user of the database. You will need this password during the [web installation](../web-and-post-installation.md). + +> For more information, please see the [official MariaDB documentation](https://mariadb.com/kb/en/mysql_secure_installation/). + +## Step 4: Web installation + +1. Start the Apache server with the +following command: + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start httpd +``` + + + + +```shell +systemctl start apache2 +``` + + + + +2. To complete the installation, follow the +[web installation steps](../web-and-post-installation.md#web-installation) procedure. + +> During web installation, it is not necessary to install the Autodiscovery module. + +> In the step **Initialization of the monitoring**, only actions 6 to 8 need to be done. + +## Step 5: Register the server + +To transform the server into a Remote Server and to register it to the Central server or another Remote server, execute the following command on the future remote server: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t remote -h -n +``` + +Example: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1 +``` + +> Replace **** with the IP of the central server, as seen by the remote server. + +> The **** must have access to the configuration API. You can use the default **admin** account. + +> If you need to change the HTTP method or the port, you can use the following format for the **-h** option: +> `HTTPS://:PORT` + +Then follow instructions by +1. Entering your password: + + ``` shell + 192.168.0.1: please enter your password: + ``` + +2. Select the IP address if multiple network interfaces exist: + + ```shell + Which IP do you want to use as CURRENT NODE IP? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Then validate the information: + + ``` shell + Summary of the information that will be sent: + + API connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: remote-1 + type: remote + address: 192.168.0.2 + + Do you want to register this server with the previous information? (y/n)y + ``` + +4. Add additional information to enable future communication between your Remote Server and its Central, +fill in the required information to convert your platform into a Remote server: + + ```shell + : Please enter your username: + admin + : Please enter your password: + + : Protocol [http]: + : Port [80]: + : centreon root folder [centreon]: + ``` + +5. If you use a proxy, please define credentials: + + ```shell + Are you using a proxy? (y/n) + y + enter your proxy Host: + myproxy.example.com + enter your proxy Port [3128]: + Are you using a username/password? (y/n) + y + enter your username: + my_proxy_username + enter your password: + + ``` + +You will receive the validation of the Centreon central server: + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully. +``` + +### Main error messages + +``` shell +2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Your credentials are incorrect for the ****. + +``` shell +2020-10-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> The **** doesn't have access to configuration API. + +``` shell +Couldn't connect to 192.168.0.1:444; Connection refused +``` + +> Unable to access the API. Please check ****, scheme and port. + +``` shell +2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> The access url is incomplete or invalid. Use the **--root** option to define the API URL Path. For example: **--root monitoring**. + +``` shell +2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> Your Centreon target version is invalid. It should be greater than or equal to 24.10. + +## Step 6: Extend local DBMS rights + +Finally, add rights for the **centreon** database user to use **LOAD DATA INFILE** +command: + +```sql +mysql -u root -p +GRANT FILE on *.* to 'centreon'@'localhost'; +SET GLOBAL local_infile=1; +exit +``` + +## Step 7: Add the Remote Server to the configuration + +Go to the +[Add a Remote Server to configuration](../../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md). + +## Step 8: Secure your platform + +Remember to secure your Centreon platform following our +[recommendations](../../administration/secure-platform.md) diff --git a/versioned_docs/version-25.10/installation/installation-of-centreon-ha/overview.md b/versioned_docs/version-25.10/installation/installation-of-centreon-ha/overview.md new file mode 100644 index 000000000000..fc7b42fbfae9 --- /dev/null +++ b/versioned_docs/version-25.10/installation/installation-of-centreon-ha/overview.md @@ -0,0 +1,8 @@ +--- +id: overview +title: Centreon HA +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Centreon HA documentation is being reworked. If you need to set up HA in 24.10, please contact Centreon Professional Services, or your Centreon partner. diff --git a/versioned_docs/version-25.10/installation/introduction.md b/versioned_docs/version-25.10/installation/introduction.md new file mode 100644 index 000000000000..4d5db183bb10 --- /dev/null +++ b/versioned_docs/version-25.10/installation/introduction.md @@ -0,0 +1,25 @@ +--- +id: introduction +title: Introduction +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to install your Centreon monitoring platform. + +The monitoring platform can be installed in several ways. However, **we strongly +recommend using Centreon repositories (packages) to install your +platform**. Enjoy our industrialization work during installation and update steps +of the environment. Also enjoy optimizations installed by default on the system. + +Centreon can be installed from sources (tar.gz) but the work is more +complex. In addition, the installation will only be supported by the community. + +Before installing Centreon: + +1. Check the [compatibility](compatibility.md) (supported OSs, DBMS). +2. Choose [the type of architecture](architectures.md) that best suits your needs. +3. Check the [prerequisites](prerequisites.md) (CPU resources, memory, disks, partitioning, etc...). +4. [Download Centreon](https://download.centreon.com/). +5. Finally, you can install the platform. diff --git a/versioned_docs/version-25.10/installation/offline.md b/versioned_docs/version-25.10/installation/offline.md new file mode 100644 index 000000000000..bf3b6dfad0ef --- /dev/null +++ b/versioned_docs/version-25.10/installation/offline.md @@ -0,0 +1,129 @@ +--- +id: offline +title: Offline installation +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +To be able to install Centreon on servers with no internet access, create a local copy of the Centreon repository on a server that has an internet access, and then make your offline Centreon servers point to it. + +## Creating a local copy of the Centreon repository + +1. Install the repository on your mirror server. + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + +Then retrieve the gpg key for the packages: + +```shell +rpm --import https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + +Then retrieve the gpg key for the packages: + +```shell +rpm --import https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +``` + + + + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +2. Create a directory for the local repository: + + ```shell + mkdir -p /var/www/html/repos/centreon + ``` + +3. Install the required packages: + + ```shell + yum install yum-utils createrepo httpd + ``` + +4. Synchronize the repositories: + + ```shell + reposync -p /var/www/html/repos/centreon/ -r centreon-stable-noarch + reposync -p /var/www/html/repos/centreon/ -r centreon-stable + ``` + +5. Create the repository: + + ```shell + createrepo /var/www/html/repos/centreon/ + ``` + +6. Start the web server: + + ```shell + service httpd start + ``` + +7. On your Centreon server, edit the following file: + + ```shell + vi /etc/yum.repos.d/centreon.repo + ``` + + Add the following lines: + + ```shell + [centreon] + name=centreon + baseurl=http:///repos/centreon + gpgcheck=1 + enabled=1 + ``` + + > Replace `` with the actual address of your local repository. + +## Keeping your local repository up to date + +To synchronize your mirror with the Centreon repository regularly, create a cron file: + +```shell +cd /var/spool/cron +crontab -e +``` + +The following commands will schedule a synchronization every day at 2 for the **centreon-stable-noarch** repository, and every day at 3 for the **centreon-stable** repository: + +```shell +* 2 * * * reposync -p /var/www/html/repos/centreon/ -r centreon-stable-noarch +* 3 * * * reposync -p /var/www/html/repos/centreon/ -r centreon-stable +``` diff --git a/versioned_docs/version-25.10/installation/prerequisites.md b/versioned_docs/version-25.10/installation/prerequisites.md new file mode 100644 index 000000000000..461c4c1efa83 --- /dev/null +++ b/versioned_docs/version-25.10/installation/prerequisites.md @@ -0,0 +1,385 @@ +--- +id: prerequisites +title: Prerequisites +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This topic gives you broad guidelines to determine the size of your platform. + +## Architecture + +First, use the guidelines described on the [Architectures](./architectures.md#what-kind-of-architecture-do-you-need) page to determine the type of architecture you need. + +## Characteristics of the servers + +* The more services you monitor, the more CPU you need. +* The space used to store collected performance data depends on several criteria: + + * Frequency of checks + * Number of checks + * Retention time + * Average number of metrics per service + +* The number of users simultaneously connected to the interface of the central/remote server has an impact on performance. If a large number of users will have to log in to the Centreon interface at the same time, you will need more CPU. + +The following data is meant for: + +* An average of 10 services per host. +* Data is collected every 5 minutes. +* The retention period is 12 months. +* Each service has on average 8 metrics. + +You need to adapt the following figures to your actual values. Bear in mind that you may need to adjust the size of your platform as you add more hosts over time. + + + + +Standalone central server: + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 4 GB | + +This is how your central server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon | contains mostly RRD files | 34 GB | +| vg_data | /var/lib/centreon-broker | contains broker retention files | 5 GB | +| vg_data | /var/lib/centreon-engine | contains engine retention files | 5 GB | +| vg_data | /var/lib/mysql (only if the DBMS is on the central server) | database | 106 GB | +| vg_data | /var/cache/centreon/backup | backup directory | 10 GB

If you perform backups, use the following characteristics:

  • size of the /var/lib/mysql partition * 0,6
  • this size is meant for 1 full backup and 6 partial ones
  • this is only an estimate, size should be checked manually

| +| vg_data | | Free space (unallocated) | 5 GB | + +> Your system must use LVM to manage the file system. + +In some cases, you may want to set up a distributed architecture, even for fewer than 500 hosts. The poller will have the same characteristics as for up to 1,000 hosts. + +
+ + +Distributed architecture: + +* 1 central server +* 1 poller for every 500 hosts + +**Central server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 GB | + +This is how your central server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon | contains mostly RRD files | 68 GB | +| vg_data | /var/lib/centreon-broker | contains retention files | 10 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | +| vg_data | /var/lib/mysql (only if the DBMS is on the central server) | database | 213 GB | +| vg_data | /var/cache/centreon/backup | backup directory | 10 GB

If you perform backups, use the following characteristics:

  • size of the /var/lib/mysql partition * 0,6
  • this size is meant for 1 full backup and 6 partial ones
  • this is only an estimate, size should be checked manually

| +| vg_data | | Free space (unallocated) | 5 GB | + +> Your system must use LVM to manage the file system. + +> At least 1 GB of non-allocated free space must be available for the **volume group** containing **/var/lib/mysql**, +> if you wish to use **snapshot LVM** as a backup method. + +**Pollers** + +* To handle testing or small environments (up to 2000 services with checks every 5 minutes, or up to 500 services with checks every minute): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* To handle production environments (up to 7000 services with checks every 5 minutes): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +This is how the pollers should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | + +> Your system must use LVM to manage the file system. + +> The number of +> vCPU depends of the complexity of the checks. If you use connectors or perform a large number of system/third-party +> binary calls, you should add more vCPU. + +
+ + +Distributed architecture: + +* 1 central server +* 1 poller for every 500 hosts + +**Central server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 GB | + +This is how your central server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon | contains mostly RRD files | 169 GB | +| vg_data | /var/lib/centreon-broker | contains retention files | 25 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | +| vg_data | /var/lib/mysql (only if the DBMS is on the central server) | database | 538 GB | +| vg_data | /var/cache/centreon/backup | backup directory | 10 GB

If you perform backups, use the following characteristics:

  • size of the /var/lib/mysql partition * 0,6
  • this size is meant for 1 full backup and 6 partial ones
  • this is only an estimate, size should be checked manually

| +| vg_data | | Free space (unallocated) | 5 GB | + +> Your system must use LVM to manage the file system. + +> At least 1 GB of non-allocated free space must be available for the **volume group** containing **/var/lib/mysql**, +> if you wish to use **snapshot LVM** as a backup method. + +**Pollers** + +* To handle testing or small environments (up to 2000 services with checks every 5 minutes, or up to 500 services with checks every minute): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* To handle production environments (up to 7000 services with checks every 5 minutes): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +This is how the pollers should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | + +> Your system must use LVM to manage the file system. + +> The number of +> vCPU depends of the complexity of the checks. If you use connectors or perform a large number of system/third-party +> binary calls, you should add more vCPU. + +
+ + +Distributed architecture: + +* 1 central server without a database +* 1 database server +* 1 poller for every 500 hosts + +**Central server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 GB | + +This is how your central server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon | contains mostly RRD files | 339 GB | +| vg_data | /var/lib/centreon-broker | contains retention files | 50 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | +| vg_data | /var/cache/centreon/backup | backup directory | 10 GB

If you perform backups, use the following characteristics:

  • size of the /var/lib/mysql partition * 0,6
  • this size is meant for 1 full backup and 6 partial ones
  • this is only an estimate, size should be checked manually

| + +**Database server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 8 GB | + +This is how the database server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 1094 GB | + +| vg_data | | Free space (unallocated) | 5 GB | + +> Your system must use LVM to manage the file system. + +> At least 1 GB of non-allocated free space must be available for the **volume group** containing **/var/lib/mysql**, +> if you wish to use **snapshot LVM** as a backup method. + +**Pollers** + +* To handle testing or small environments (up to 2000 services with checks every 5 minutes, or up to 500 services with checks every minute): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* To handle production environments (up to 7000 services with checks every 5 minutes): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +This is how the pollers should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | + +> Your system must use LVM to manage the file system. + +> The number of +> vCPU depends of the complexity of the checks. If you use connectors or perform a large number of system/third-party +> binary calls, you should add more vCPU. + +
+ + +Distributed architecture: + +* 1 central server without a database +* 1 database server +* 1 poller for every 500 hosts + +**Central server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 8 vCPU | +| RAM | 8 GB | + +This is how your central server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon | contains mostly RRD files | 677 GB | +| vg_data | /var/lib/centreon-broker | contains retention files | 50 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | +| vg_data | /var/cache/centreon/backup | backup directory | 10 GB

If you perform backups, use the following characteristics:

  • size of the /var/lib/mysql partition * 0,6
  • this size is meant for 1 full backup and 6 partial ones
  • this is only an estimate, size should be checked manually

| + +**Database server** + +| Element | Value | +| ----------------------------| --------- | +| CPU | 8 vCPU | +| RAM | 8 GB | + +This is how the database server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +| - |----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 2257 GB | +| vg_data | | Free space (unallocated) | 5 GB | + +> Your system must use LVM to manage the file system. + +> At least 1 GB of non-allocated free space must be available for the **volume group** containing **/var/lib/mysql**, +> if you wish to use **snapshot LVM** as a backup method. + +**Pollers** + +* To handle testing or small environments (up to 2000 services with checks every 5 minutes, or up to 500 services with checks every minute): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 2 vCPU | +| RAM | 2 GB | +| HDD | 40 GB | + +* To handle production environments (up to 7000 services with checks every 5 minutes): + +| Element | Value | +| ----------------------------| --------- | +| CPU (logical core at 3 GHz) | 4 vCPU | +| RAM | 4 GB | +| HDD | 40 GB | + +This is how the pollers should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/centreon-engine | | 5 GB | + +> Your system must use LVM to manage the file system. + +> The number of +> vCPU depends of the complexity of the checks. If you use connectors or perform a large number of system/third-party +> binary calls, you should add more vCPU. + +
+ + +For very large amounts of data, contact your sales representative. + + +
+ +## Network flows + +If you have firewalls or security resources in place, check the [table of network flows](./technical.md#tables-of-network-flows). diff --git a/versioned_docs/version-25.10/installation/technical.md b/versioned_docs/version-25.10/installation/technical.md new file mode 100644 index 000000000000..c6eeaf28f20f --- /dev/null +++ b/versioned_docs/version-25.10/installation/technical.md @@ -0,0 +1,410 @@ +--- +id: technical +title: Technical information +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Tables of network flows + +### Tables of network flows to integrate monitoring platform to IT + +#### Central server + +| From | To | Protocol | Port | Application | +|----------------|----------------|------------|--------------------|------------------------------------------------------------------------------------| +| Central server | NTP server | NTP | UDP 123 | Synchronization of the system clock | +| Central server | DNS server | DNS | UDP 53 | Domain name resolution | +| Central server | SMTP server | SMTP | TCP 25 | Notification via email | +| Central server | LDAP(s) server | LDAP(s) | TCP 389 (636) | Authentication to access the Centreon web interface | +| Central server | DBMS server | MySQL | TCP 3306 | Access to Centreon databases (if moved to a dedicated server) | +| Central server | HTTP Proxy | HTTP(s) | TCP 80, 8080 (443) | If your platform needs to connect to a web proxy to access the Centreon IT Edition | +| Central server | Repository | HTTP (FTP) | TCP 80 (FTP 20) | Repository for system and application packages | + +#### Poller + +| From | To | Protocol | Port | Application | +|--------|-------------|------------|--------------------|------------------------------------------------| +| Poller | NTP server | NTP | UDP 123 | Synchronization of the system clock | +| Poller | DNS server | DNS | UDP 53 | Domain name resolution | +| Poller | SMTP server | SMTP | TCP 25 | Notification via email | +| Poller | Repository | HTTP (FTP) | TCP 80 (FTP 20,21) | Repository for system and application packages | + +#### Remote Server + +| From | To | Protocol | Port | Application | +|---------------|----------------|------------|-----------------|------------------------------------------------------------------| +| Remote Server | NTP server | NTP | UDP 123 | Synchronization of the system clock | +| Remote Server | DNS server | DNS | UDP 53 | Domain name resolution | +| Remote Server | SMTP server | SMTP | TCP 25 | Notification via email | +| Remote Server | LDAP(s) server | LDAP(s) | TCP 389 (636) | Authentication to access the Centreon web interface | +| Remote Server | DBMS server | MySQL | TCP 3306 | Access to Centreon databases (if moved to a dedicated server) | +| Remote Server | Repository | HTTP (FTP) | TCP 80 (FTP 20) | Repository for system and application packages | + +> Other flows can be necessary for Centreon web authentication (RADIUS, etc.) +> or notification system defined. + +### Tables of platform flows + +#### Poller + +| From | To | Protocol | Port | Application | +|----------------|----------------|--------------|--------------|--------------------------------------------------------------------| +| Central server | Poller | ZMQ | TCP 5556 | Export of Centreon configuration (depending on communication type) | +| Central server | Poller | SSH (legacy) | TCP 22 | Export of Centreon configuration (depending on communication type) | +| Poller | Central server | BBDO | TCP 5669 | Transfer of collected data | +| Poller | Central server | HTTP(S) | TCP 80 (443) | Poller registration | + +#### Remote Server + +| From | To | Protocol | Port | Application | +|----------------|----------------|--------------|--------------|--------------------------------------------------------------------| +| Central server | Remote Server | ZMQ | TCP 5556 | Export of Centreon configuration | +| Remote Server | Central server | BBDO | TCP 5669 | Transfer of collected data | +| Remote Server | Central server | HTTP(S) | TCP 80 (443) | Remote Server registration | +| Remote Server | Poller | ZMQ | TCP 5556 | Export of Centreon configuration (depending on communication type) | +| Remote Server | Poller | SSH (legacy) | TCP 22 | Export of Centreon configuration (depending on communication type) | +| Poller | Remote Server | BBDO | TCP 5669 | Transfer of collected data | +| Poller | Remote Server | HTTP(S) | TCP 80 (443) | Poller registration | + +> If Remote Server is not used as proxy for a Poller, Poller network flows +> apply. + +#### Monitoring + +| From | To | Protocol | Port | Application | +|-------------------|----------------------------------|------------|-----------|-------------| +| Poller | Network equipment, servers, etc. | SNMP | UDP 161 | Monitoring | +| Network equipment | Poller | Trap SNMP | UDP 162 | Monitoring | +| Poller | Servers | NRPE | TCP 5666 | Monitoring | +| Poller | Servers | NSClient++ | TCP 12489 | Monitoring | + +> If the Centreon server is a poller too, remember to open monitoring +> flows. + +> Other flows can be necessary to monitor databases, access to API, or +> application ports. + +## Users and groups + +Description of software and linked users: + + + + +| Software | Service | User | Comment | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | httpd | apache | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + + +| Software | Service | User | Comment | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | httpd | apache | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + + +| Software | Service | User | Comment | +| ----------------- | ---------------- | ---------------- | --------------- | +| Apache | apache2 | www-data | automatic start | +| PHP-FPM | php-fpm | apache | automatic start | +| MariaDB/MySQL | mariadb/mysqld | mysql | automatic start | +| Centreon | centreontrapd | centreon | automatic start | +| Centreon Broker | cbwd | centreon-broker | automatic start | +| Centreon Broker | cbd | centreon-broker | automatic start | +| Centreon Engine | centengine | centreon-engine | automatic start | +| Centreon Gorgone | gorgoned | centreon-gorgone | automatic start | + + + +Description of optional software and linked users: + +| Software | Service | User | Comment | +|-----------------|-----------------|-----------|----------------------------------------------------| +| Centreon VMware | centreon_vmware | centreon | not installed by default | +| RRDtool | rrdcached | rrdcached | not enabled and not defined in Centreon by default | + +Description of groups and linked users for Centreon Open Source and IT Edition: + +| Group | Users | +|------------------|------------------------------------------------------------------| +| apache | nagios,centreon,centreon-gorgone | +| centreon | centreon-engine,centreon-broker,apache,centreon-gorgone | +| centreon-broker | centreon,nagios,centreon-engine,apache,centreon-gorgone | +| centreon-engine | centreon-broker,apache,nagios,centreon,centreon-gorgone | +| centreon-gorgone | centreon,apache,centreon-gorgone,centreon-engine,centreon-broker | +| rrdcached | centreon-broker,apache | + +Description of groups and linked users for Centreon Business Edition: + +| Group | Users | +|----------------- |------------------------------------------------------------------------------| +| apache | nagios,centreonBI,centreon,centreon-gorgone | +| centreon | centreon-engine,centreon-broker,apache,rrdcached,centreonBI,centreon-gorgone | +| centreon-broker | centreon,nagios,centreon-engine,apache,rrdcached,centreon-gorgone | +| centreon-engine | centreon-broker,apache,nagios,centreon,centreon-gorgone | +| centreon-gorgone | centreon,apache,centreon-gorgone,centreon-engine,centreon-broker | +| centreonBI | apache | +| centreon-map | | +| mysql | centreonBI | + +Description of users, umask and home directory for Centreon Open Source and IT Edition: + +| User | umask | home | Shell | +|------------------|-------|---------------------------|---------------| +| root | 0022 | /root | /bin/bash | +| apache | 0022 | /var/www | /sbin/nologin | +| centreon | 0002 | /var/spool/centreon | /bin/bash | +| centreon-broker | 0002 | /var/lib/centreon-broker | /bin/bash | +| centreon-engine | 0002 | /var/lib/centreon-engine | /bin/bash | +| centreon-gorgone | 0002 | /var/lib/centreon-gorgone | /bin/bash | +| mysql | 0002 | /var/lib/mysql | /sbin/nologin | +| rrdcached | 0002 | /var/rrdtool/rrdcached | /bin/bash | + +Description of users, umask and home directory for Centreon Business Edition: + +| User | umask | home | Shell | +|------------------|-------|---------------------------|---------------| +| root | 0022 | /root | /bin/bash | +| apache | 0022 | /var/www | /sbin/nologin | +| centreon | 0002 | /var/spool/centreon | /bin/bash | +| centreonBI | 0002 | /home/centreonBI | /bin/bash | +| centreon-agent | 0002 | /var/lib/centreon-agent | /bin/bash | +| centreon-broker | 0002 | /var/lib/centreon-broker | /bin/bash | +| centreon-engine | 0002 | /var/lib/centreon-engine | /bin/bash | +| centreon-gorgone | 0002 | /var/lib/centreon-gorgone | /bin/bash | +| centreon-map | 0002 | /home/centreon-map | /bin/bash | +| mysql | 0002 | /var/lib/mysql | /sbin/nologin | +| rrdcached | 0002 | /var/rrdtool/rrdcached | /bin/bash | + +## Software dependencies + +For your information, the following table describes the software dependencies. Everything comes prepackaged with Centreon; you do not need to install anything manually. + +| Software | Version | +| -------- | ---------- | +| Apache | 2.4 | +| GnuTLS | \>= 2.0 | +| Net-SNMP | 5.7 | +| openssl | \>= 1.0.1k | +| PHP | 8.2 | +| RRDtools | 1.4.7 | +| zlib | 1.2.3 | + +## Architectures + +### Standalone central server + +If you are not monitoring many hosts, you may only need one central server. + +#### Components + +The following components are used in a central server: + +* Apache web server for the Centreon web interface +* MariaDB or MySQL databases to store Centreon configuration parameters as well as monitoring and performance data +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine +* Centreon Broker SQL stores information in MariaDB/MySQL databases and forwards them to Centreon Broker RRD +* Centreon Broker RRD generates and updates RRD files with data in order to display performance graphs + +#### Architecture + +The diagram below summarizes how a central server works: + +![image](../assets/architectures/Architecture_standalone.png) + +### Distributed architecture + +#### Description (Distributed) + +The distributed architecture has the following elements: + +* A central Centreon server to display information +* One or more remote servers and/or pollers to collect data + +The central Centreon server includes the following items: + +* Centreon web interface +* Databases (MariaDB/MySQL + RRD) +* Monitoring Engine +* Broker + +The Poller includes the following items: + +* Monitoring Engine +* Broker module to forward collected data to a central broker + +This architecture is used for: + +* Enabling load balancing across multiple remote monitoring servers +* Network stream isolation: if your monitoring architecture has to monitor a DMZ area, it is easier (and safe) to place a remote server in the DMZ network + +#### Components + +##### Central Centreon server + +Many components are used to build a central Centreon server: + +* Apache web server for Centreon web interface +* MariaDB/MySQL databases to store Centreon configuration parameters as well as monitoring and performance data +* The Centreon Gorgone process is used to send the monitoring configuration to the remote server and to manage it +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine +* Centreon Broker SQL stores information in MariaDB/MySQL databases and forwards them to Centreon Broker RRD +* Centreon Broker RRD generates and updates RRD files with data in order to display performance graphs + +##### Poller + +Many components are used to build a poller: + +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine + +#### Architecture + +The diagram below summarizes the architecture: + +![image](../assets/architectures/Architecture_distributed.png) + +### Remote DBMS + +The distributed architecture with remote DBMS includes three types of entities: + +* A central Centreon server to display information +* A DBMS server to store collected data +* One or more remote servers to collect data + +The central Centreon server includes the following items: + +* Centreon web interface +* Monitoring Engine +* Broker +* RRD files + +The DBMS server stores information in MariaDB/MySQL databases. + +The poller includes the following items: + +* Monitoring Engine +* Broker module to forward collected data to a central broker + +This architecture is used for: + +* Enabling load balancing across multiple remote monitoring servers +* Network stream isolation: if your monitoring architecture has to monitor a DMZ area, it is easier (and safe) to place a remote server in the DMZ network +* Providing a remote DBMS + +#### Components + +##### DBMS server + +The DBMS server is used only to store Centreon configuration parameters as well as monitoring and performance data in MariaDB/MySQL databases. + +##### Central Centreon server + +Many components are used to build a central Centreon server: + +* Apache web server for Centreon web interface +* The central Centreon server obtains configuration and collected data from the DBMS server +* The Centreon Gorgone process is used to send the monitoring configuration to the remote server and to manage it +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine +* Centreon Broker SQL stores information in MariaDB/MySQL databases and forwards them to Centreon Broker RRD +* Centreon Broker RRD generates and updates RRD files with data in order to display performance graphs + +##### Poller + +Many components are used to build a poller: + +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL by the monitoring engine, using cbmod + +#### Architecture + +The diagram below summarizes the architecture: + +![image](../assets/architectures/Architecture_distributed_dbms.png) + +### Remote Server + +The distributed architecture with Remote server includes three types of entities: + +* A Centreon Central server to configure monitoring and to display and operate on collected data +* One or more Centreon Remote servers to display and operate on a subset of collected data +* One or more pollers to collect data + +The central Centreon server includes the following items: + +* Centreon web interface (configure, display and operate) +* Monitoring Engine +* Broker +* Databases (MariaDB/MySQL + RRD) + +The Remote servers include the following items: + +* Centreon web interface (display & operate a subset of data) +* Monitoring Engine +* Databases (MariaDB/MySQL + RRD) +* Broker module to forward collected data to a central broker + +This architecture is used for: + +* Enabling load balancing across multiple remote monitoring servers +* Network stream isolation: if your monitoring architecture has to monitor a DMZ area, it is easier (and safe) to place a remote server in the DMZ network +* Having a dedicated web interface to display and operate on a subset of data. + +#### Components + +##### Central Centreon server + +Many components are used to build a Centreon server: + +* Apache web server for Centreon web interface +* MariaDB/MySQL databases to store Centreon configuration parameters as well as monitoring and performance data +* The Centreon Gorgone process is used to send the monitoring configuration to the remote server and to manage it +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine +* Centreon Broker SQL stores information in MariaDB/MySQL databases and forwards them to Centreon Broker RRD +* Centreon Broker RRD generates and updates RRD files with data in order to display performance graphs + +##### Remote monitoring server + +Many components are used to build a remote server: + +* Apache web server for Centreon web interface +* MariaDB/MySQL databases to store monitoring and performance data +* The Centreon Gorgone process is used to operate on collected data +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL using cbmod by the monitoring engine +* Centreon Broker SQL stores information in MariaDB/MySQL databases and forwards them to Centreon Broker RRD locally. All information is forwarded to the Centreon central server. +* Centreon Broker RRD generates and updates RRD files with data in order to display performance graphs + +##### Poller + +Many components are used to build a poller: + +* A monitoring engine to collect data +* Collected data are sent to Centreon Broker SQL by the monitoring engine, using cbmod + +#### Architecture + +The diagram below summarizes the architecture: + +![image](../assets/architectures/Architecture_distributed_remote.png) diff --git a/versioned_docs/version-25.10/installation/web-and-post-installation.md b/versioned_docs/version-25.10/installation/web-and-post-installation.md new file mode 100644 index 000000000000..22aaaf46ed8c --- /dev/null +++ b/versioned_docs/version-25.10/installation/web-and-post-installation.md @@ -0,0 +1,152 @@ +--- +id: web-and-post-installation +title: Web And Post Installation +--- + +## Web installation + +Log in to Centreon web interface via the URL `http:///centreon`. + +### Step 1: Welcome to Centreon setup + +The Centreon setup wizard is displayed. Click **Next**. + +![image](../assets/installation/acentreonwelcome.png) + +### Step 2: Dependency check up + +The needed modules and prerequisites are checked. They must be all satisfied. Click **Refresh** +once the necessary corrective actions have been applied. + +![image](../assets/installation/acentreoncheckmodules.png) + +Then click **Next**. + +### Step 3: Monitoring engine information + +Define paths used by the monitoring engine. We recommend using the defaults. + +![image](../assets/installation/amonitoringengine2.png) + +Then click **Next**. + +### Step 4: Broker module information + +Define the paths used by the broker module. We recommend using the defaults. + +![image](../assets/installation/abrokerinfo2.png) + +Then click **Next**. + +### Step 5: Admin information + +Define the information needed to create the default admin account. This is the account you will use to log in to Centreon for the first time. The password must comply with the default password security policy: at least 12 characters, lower and upper case letters, numbers and special characters. You can change this policy later. + +![image](../assets/installation/aadmininfo.png) + +Then click **Next**. + +### Step 6: Database information + +Provide the information needed to connect to the database instance. + +- **Database Host Address**: If you are using a local database, leave the field blank (the default value is **localhost**). Otherwise, enter the IP address of your remote database. +- **Root user/password**: this is the account that will be used to install the databases. + - if this is the default account (**root**), the root password of the database is the password [you have defined](installation-of-a-central-server/using-packages.md#secure-the-database) when executing `mysql_secure_installation`. + - if you have defined a custom user with root privileges on all databases (e.g. during the process of installing a [remote database](../installation/installation-of-a-central-server/using-packages.md#with-a-remote-database)), use this one. This user can be deleted once the web installation process is finished. + +- **Database user name/password**: the credentials of the account that will be used to interact with the Centreon databases. The account will be created when the database is installed. + +![image](../assets/installation/adbinfo.png) + +Then click **Next**. + +### Step 7: Installation + +The Centreon setup wizard creates a configuration file and database structure: + +![image](../assets/installation/adbconf.png) + +When done, click **Next**. + +### Step 8: Installation of the modules + +Select the available modules and widgets to be installed. Then click **Install**. + +![image](../assets/installation/module_installationa.png) + +Once the installation is complete, click **Next**. + +![image](../assets/installation/module_installationb.png) + +### Step 9: Installation finished + +At this point, an advertisement informs you of the latest Centreon news and +products. If your platform is connected to the internet, the information you receive +will be up to date. If you are not online, only information on the current version will be +displayed. + +![image](../assets/installation/aendinstall.png) + +The installation is complete. Click **Finish**. + +You can now log in using the **admin** account and [initialize the monitoring](#initialization-of-the-monitoring). + +![image](../assets/installation/aconnection.png) + +## Initialization of the monitoring + +To start the monitoring processes: + +1. From your web interface, go to **Configuration > Pollers**. +2. Select **Central** from the listing and click +**Export configuration**. +3. Check **Move Export Files** in addition to the default selection and click +**Export**. +4. In your terminal, log on to the Central server. +5. Start/restart collect processes: + + ```shell + systemctl restart cbd centengine + ``` + +6. Restart the task manager: + + ```shell + systemctl restart gorgoned + ``` + +7. Start the passive monitoring services: + + ```shell + systemctl start snmptrapd centreontrapd + ``` + +8. If you want to monitor this server, start the SNMP daemon: + + ```shell + systemctl start snmpd + ``` + +Monitoring is now working. You can start monitoring your IT system. + +## Add a license + +According to your Centreon edition, you may have to [add a license](../administration/licenses.md). + +## Install available extensions + +Go to **Administration > Extensions > Manager** and click +**Install all**: + +![image](../assets/installation/extensions-manager.png) + +## Secure your platform + +Remember to secure your Centreon platform following our +[recommendations](../administration/secure-platform.md). + +## Getting started + +Go to the [Getting Started](../getting-started/welcome.md) +chapter to configure your first monitoring. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/data-analytics-overview.md b/versioned_docs/version-25.10/integrations/data-analytics/data-analytics-overview.md new file mode 100644 index 000000000000..f03393b8456a --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/data-analytics-overview.md @@ -0,0 +1,8 @@ +--- +id: data-analytics-overview +title: Data Analytics +--- + +Send your data to solutions specialized in storing, indexing, or managing vast +and heterogeneous data sources. It also highlights solutions to generate alerts +from log management solutions. \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md new file mode 100644 index 000000000000..268f155839a6 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-canopsis-events.md @@ -0,0 +1,432 @@ +--- +id: sc-canopsis-events +title: Canopsis Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Canopsis Events stream connector allows you to send data from Centreon to Canopsis +using their HTTP REST API. + +## Before starting + +- In most cases, you will want to send data from the central server. It is also possible +to send it from a remote server or a poller (e.g. if you want to avoid the central +server being a SPOF, or if you are an MSP and you install the stream connector on a +poller or a remote server within your customer's infrastructure). +- By default, the Canopsis Events stream connector sends events from +**[host_status](https://docs.centreon.com/docs/developer/developer-broker-mapping/#host-status)**, +**[service_status](https://docs.centreon.com/docs/developer/developer-broker-mapping/#service-status)**, +**[acknowledgement](https://docs.centreon.com/docs/developer/developer-broker-mapping/#acknowledgement)** +and **[downtime](https://docs.centreon.com/docs/developer/developer-broker-mapping/#downtime)**. +Broker events. The event format is shown **[here](#event-format)**. +- These events are sent each time a host or a service is checked. Various parameters let +you [filter out events](#filtering-or-adapting-the-data-you-want-to-send-to-canopsis). + +## Compatibility + +This stream connector is designed to be compatible with Canopsis' API v.4, this include the following versions of **Canopsis** : 22.10, +23.04, 23.10 and 24.04. + +## Installation + +Perform the installation on the server that will send data to Canopsis (central server, +remote server, poller). + +1. Login as `root` on the Centreon central server using your favorite SSH client. + +2. Run the following command: + + + + +```shell +dnf install centreon-stream-connector-canopsis +``` + + + + + +```shell +dnf install centreon-stream-connector-canopsis +``` + + + + + +```shell +apt install centreon-stream-connector-canopsis +``` + + + + +## Configuring Canopsis + +You will need to configure your Canopsis instance to receive data from Centreon. Refer to the +[Canopsis user guide](https://doc.canopsis.net/guide-utilisation/menu-administration/droits/) +, in particular check if creation, reading and deletion rights are activated. See the following documentations: +* [rights administration](https://doc.canopsis.net/guide-utilisation/menu-administration/droits/) +* [planification administration](https://doc.canopsis.net/guide-utilisation/menu-administration/planification/) (in case of downtimes). +For the user associated to the **Authentication key** you must modify the rights matrix on the Canopsis **Administration > Rights** page, **API** tab. +You need to check at least the box listed in this table: + +| Section | Subsection | Boxes to check | +|-----------|-----------------------|-------------------------------------------| +| Global | Event | Check the only available box | +| PBehavior | PBehaviors | Check the create, read, update and delete boxes | +| PBehavior | PBehaviors Exceptions | Check the create and read boxes | +| PBehavior | PBehaviors Reason | Check the create and read boxes | +| PBehavior | PBehaviors Types | Check the read box | + +Make sure Canopsis is able to receive data sent by Centreon: flows must not be blocked +by Canopsis's configuration or by a security equipment. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is +a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then +click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- |------------------------------------------------------------| +| Name | Canopsis events | +| Path | /usr/share/centreon-broker/lua/canopsis2x-events-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Canopsis equipment, fill in the following +mandatory parameters. The fields for the first entry are already present. Click on +the **+Add a new entry** link located below the **Filter category** table to add +another one. + +| Type | Name | Description | Example of value | +| ------ |------------------|---------------------------------------|--------------| +| string | canopsis_authkey | Canopsis API authentication key | `an_authkey` | +| string | canopsis_host | Canopsis host address | `a host` | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link): + +| Type | Name | Description | Default value | +| ------ | ----------------- |--------------------------------------------|----------------------------------------------------| +| string | logfile | File in which logs are written | /var/log/centreon-broker/canopsis-events-apiv2.log | +| number | log_level | Logging level from 1 (errors) to 3 (debug) | 1 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want +Centreon to send to Canopsis](#filtering-or-adapting-the-data-you-want-to-send-to-canopsis). +8. [Deploy the configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Canopsis should now receive data from Centreon. + + +### Filtering or adapting the data you want to send to Canopsis + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters) +, that allow you to filter the data you will send to your Canopsis equipment, to reformat +the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding +documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link +located below the **Filter category** table to add a custom parameter. For example, if +you want to only send to Canopsis the events linked to a hostgroup called "Europe", enter: + + ```text + type = string + name = accepted_hostgroup + value = Europe + ``` + +* For the Canopsis Events stream connector, the following values always override the +default values, you do not need to define them in the interface except if you want to +change their values (for example to remove the downtimes in the **accepted_elements** variable). + +| Type | Name | Value explanation | Default value for the stream connector | Possible values | +|--------|----------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|-----------------------------------------------------|--------------------------------------------------------------| +| string | accepted_categories | Each event is linked to a broker category (neb or bam) that we can use to filter events | neb | neb or bam | +| string | accepted_elements | Centreon element handle by this connector (for more you need to add custom event format input see below), the list of elements needs to be separated by commas without spaces | host_status,service_status,acknowledgement,downtime | host_status or service_status or acknowledgement or downtime | +| string | canopsis_downtime_comment_route | Canopsis route to send downtime comments | /api/v4/pbehavior-comments | /api/v4/pbehavior-comments | +| string | canopsis_downtime_reason_name | Canopsis reason name for downtimes | Centreon_downtime | - | +| string | canopsis_downtime_reason_route | Canopsis route to request "reason" field | /api/v4/pbehavior-reasons | /api/v4/pbehavior-reasons | +| string | canopsis_downtime_route | Canopsis route to send downtime events | /api/v4/pbehaviors | /api/v4/pbehaviors | +| number | canopsis_downtime_send_pbh | Activate (1) the sending of downtimes if all rules to do it are checked (reason and type exists) | 1 | 0 ou 1 | +| string | canopsis_downtime_type_name | Canopsis downtime type category name | Default maintenance | - | +| string | canopsis_downtime_type_route | Canopsis route to request the "type" field (except downtimes) | /api/v4/pbehavior-types | /api/v4/pbehavior-types | +| string | canopsis_event_route | Canopsis route to send events | /api/v4/event | /api/v4/event | +| number | canopsis_port | Canopsis port | 443 | - | +| number | canopsis_sort_list_hostgroups | Activate (1) the sort of hosts groups lists | 0 | 0 ou 1 | +| number | canopsis_sort_list_servicegroups | Activate (1) the sort of services groups lists | 0 | 0 ou 1 | +| string | connector | Connector type shows in Canopsis interface in Alarms > Connector Type | centreon-stream | - | +| string | connector_name | Connector name | centreon-stream-central | - | +| string | connector_name_type | Connector type | poller | - | +| string | sending_method | Sending method (only API is available at this moment) | api | api | +| string | sending_protocol | Sending protocol use (can be https or http) | https | http ou https | +| number | use_severity_as_state | Activate (1) convert the severity as state | 0 | 0 ou 1 | + +## Event bulking + +This stream connector is not compatible with event bulking at this moment. Meaning that it is not able to send +more than one event in each call to the Canopsis REST API. + +## Event format + +This stream connector will send events with the following format. + +### Output example for service_status events + +```json +[ + { + "action_url": "", + "component": "Host-name", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "check", + "host_id": "15", + "hostgroups": [ + "Group 1", + "Group 2" + ], + "long_output": "Plugin's long output", + "notes_url": "", + "output": "Plugin's output", + "resource": "Service-name", + "service_id": "47", + "servicegroups": [], + "source_type": "resource", + "state": 1, + "timestamp": 1708693347 + } +] +``` + +### Output example for host_status events + +```json +[ + { + "action_url": "", + "component": "Host-1", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "check", + "host_id": "15", + "hostgroups": [ + "Group 1", + "Group 2" + ], + "long_output": "OK: Host is OK", + "notes_url": "", + "output": "OK: Host is OK", + "source_type": "component", + "state": 0, + "timestamp": 1708953238 + } +] +``` + +### Output example for acknowledgement events + +```json +[ + { + "author": "admin", + "component": "Host-1", + "connector": "centreon-stream", + "connector_name": "Central", + "event_type": "ack", + "long_output": "Acknowledged by admin", + "output": "Acknowledged by admin", + "resource": "passif", + "source_type": "resource", + "state": 1, + "timestamp": 1709052753 + } +] +``` + +### Output example for downtime events + +```json +[ + { + "_id": "centreon-downtime-8-1715607730", + "author": "admin", + "enabled": true, + "entity_pattern": [ + [ + { + "field": "name", + "cond": { + "type": "eq", + "value": "Test-Service-Demo-Canopsis/Test-Demo-Canopsis" + } + } + ] + ], + "name": "centreon-downtime-8-1715607730", + "reason": "XXXX", + "rrule": "", + "tstart": 1715607718, + "tstop": 1715607958, + "type": "XXXX" + } +] +``` + +* Note: In version 22.10 of Canopsis there is also a "color" field. + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. +It allows you to handle event types that are not handled by default such as +**ba_status** events. + +In order to use this feature you need to configure a json event format file and add +a new stream connector parameter. + +| Type | Name | Value | +| ------ |-------------|-------------------------------------------------| +| string | format_file | /etc/centreon-broker/canopsis-events-format.json| + +> The event format configuration file must be readable by the **centreon-broker** user. + +To learn more about custom event formats and templating files, read +**[this documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands: testing the stream connector + +### Configuration of the stream connector + +If you want to test that the configuration commands are sent to Canopsis correctly, use the following curl commands. + +#### Request pbehavior-reasons route + +This command checks that the **pbehavior-reasons** route is accessible and returns the values for the **Reason** field for the downtimes. This allows you to check that the name of the **Reason** field for Centreon downtimes exists (the default value is **Centreon_downtime**). + +1. Log in to the server that you configured to send events to Canopsis (your central +server, a remote server or a poller). +2. Run the following command (replace with your own values): + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':' +``` + +> Replace the *``* inside the above command with the correct values for authentication to the Canopsis host. +> The default values defined in the connector are **443** for **canopsis_port** and **/api/v4/pbehavior-reasons** for **canopsis_pbehavior_reasons**. + + +3. Check if the command returns a data structure of this form: +```json + "data":[ + { + "_id":"XXXX", + "description":"DESCRIPTION", + "name":"NAME" + } + ] +``` + +#### Request pbehavior-types route + +This command checks that the **pbehavior-types** route is accessible and returns the possible IDs for the **Types** of downtimes. This allows you to check that the name of the **Type** field for Centreon downtimes exists (the default value is **Default maintenance**). + +1. Log in to the server that you configured to send events to Canopsis (your central +server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':' +``` + +> Replace the *``* inside the above command with the correct values for authentication to the Canopsis host. +> The default values defined in the connector are **443** for **canopsis_port** and **/api/v4/pbehavior-types** for **canopsis_pbehavior_types**. + +3. Check if the command returns a data structure of this form: +```json +"data":[ + { + "_id":"ec35c069-1651-4ee1-8944-3e5574e7b516", + "name":"Default active", + "description":"Default active", + "type":"active", + "priority":2, + "icon_name":"", + "color":"#2FAB63" + }, + { + "_id":"470c469c-77bc-402c-910f-30a8b2584343", + "name":"Default inactive", + "description":"Default inactive", + "type":"inactive", + "priority":1, + "icon_name":"brightness_3", + "color":"#979797" + }, + { + "_id":"5ea9d2d8-0f16-4e19-bcca-64b1e96e00fa", + "name":"Default maintenance", + "description":"Default maintenance", + "type":"maintenance", + "priority":3, + "icon_name":"build", + "color":"#BF360C" + }, + { + "_id":"1fb65097-ddaa-4e99-9239-8263095c156c", + "name":"Default pause", + "description":"Default pause", + "type":"pause", + "priority":4, + "icon_name":"pause", + "color":"#5A6D80" + } + ] +``` +> With the default values of the Canopsis connector, downtimes have the "Default maintenance" type. + +#### Request app-info route + +This command checks that the **app-info** route is accessible and returns information about the Canopsis host. + +1. Log in to the server that you configured to send events to Canopsis (your central +server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X GET -H 'accept: application/json' -H 'x-canopsis-authkey: ' ':/api/v4/app-info' +``` + +> Replace all the *``* inside the above command with the correct values for authentication to the Canopsis host. +> The default value defined in the connector for **canopsis_port** is **443**. + +3. This command only allows access to the Canopsis version so no need to inspect all the returned content of it. + +### Sending events + +If you want to test that events are sent to Canopsis correctly: + +1. Log in to the server that you configured to send events to Canopsis (your central +server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X POST -H 'content-length: 400' -H 'content-type: application/json' -H 'x-canopsis-authkey: ' ':' -d '[{"hostgroups":[],"component":"Test-Canopsis","host_id":"8","event_type":"check","resource":"passif","output":"Test_passif_output","servicegroups":[],"connector":"centreon-stream","source_type":"resource","action_url":"","long_output":"Test-curl-command Passif long output","notes_url":"","connector_name":"Central","timestamp":1710843117,"service_id":"10","state":1}]' +``` + +> Replace all the *``* inside the above command with the correct values for authentication to the Canopsis host. +> The default values defined in the connector are **443** for **canopsis_port** and **/api/v4/event** for **canopsis_event_route**. + +3. Check that the event has been received by Canopsis. The status should appear in the **Alarms > In progress** page of Canopsis. + +![image](../../assets/integrations/data-analytics/status.png) \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-clickhouse.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-clickhouse.md new file mode 100644 index 000000000000..aac3d08e51ba --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-clickhouse.md @@ -0,0 +1,273 @@ +--- +id: sc-clickhouse +title: Clickhouse +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- In most cases, you will want to send data from the central server. It is also possible to send it from a remote server or a poller (e.g. if you want to avoid the central server being a SPOF, or if you are an MSP and you install the stream connector on a poller or a remote server within your customer's infrastructure). +- By default, the Clickhouse stream connector sends data from [**host_status**](https://docs.centreon.com/docs/developer/developer-broker-mapping/#host-status) and [**service_status**](https://docs.centreon.com/docs/developer/developer-broker-mapping/#service-status) Broker events. These metrics are contained in the **perf_data** field of the events. The event format is shown **[here](#event-format)**. +- These events are sent each time a host or a service is checked. Various parameters let you [filter out events](#filtering-or-adapting-the-data-you-want-to-send-to-clickhouse). + +## Prerequisites + +- The Clickhouse HTTP interface must be enabled. [(Clickhouse Documentation)](https://clickhouse.com/docs/en/interfaces/http). +- You must have a valid user/password that can **INSERT** data into the desired table. +- You must create a table in Clickhouse to receive Centreon data. Here is the table schema (you can change the database and table name. They are both configurable in the stream connector configuration). + +### Standard table schema + +This is the default schema that should be used. + +```sql +CREATE TABLE centreon_stream.metrics +( + host String, + service String, + metric_id String, + metric_name String, + metric_unit String, + metric_value Decimal, + metric_min Decimal, + metric_max Decimal, + timestamp DateTime, + hostgroups Array(String) +) +ENGINE = MergeTree() +PRIMARY KEY (timestamp, host, service, metric_name, metric_id) +``` + +### Alternative table schema + +> Disclaimer: you should not use this schema unless you absolutely want the internal metric_id of Centreon. This comes with the loss of many possibilities such as having access to metric units, min, max.... +> To use this schema, please refer to the **use_deprecated_metric_system** parameter documentation below. + +```sql +CREATE TABLE centreon_stream.metrics +( + host String, + service String, + metric_id BIGINT, + metric_name String, + metric_value Decimal, + timestamp DateTime, + hostgroups Array(String) +) +ENGINE = MergeTree() +PRIMARY KEY (timestamp, host, service, metric_name, metric_id) +``` + +## Installation + +Perform the installation on the server that will send data to Clickhouse (central server, remote server, poller). + + + + +1. Login as `root` using your favorite SSH client. + +2. Install the **Epel** repository. + +```shell +dnf install epel-release +``` + +3. Install the Centreon lua modules. + +```shell +dnf install centreon-stream-connectors-lib +``` + +4. Download the Clickhouse metrics stream connector: + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + + +1. Login as `root` using your favorite SSH client. + +2. Install the **Epel** repository. + +```shell +dnf install epel-release +``` + +3. Install the Centreon lua modules. + +```shell +dnf install centreon-stream-connectors-lib +``` + +4. Download the Clickhouse metrics stream connector: + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + + +1. Login as `root` using your favorite SSH client. + +2. Install the Centreon lua modules. + +```shell +dnf install centreon-stream-connectors-lib +``` + +3. Download the Clickhouse metrics stream connector: + +```shell +wget -O /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/develop/centreon-certified/clickhouse/clickhouse-metrics-apiv2.lua +chmod 644 /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua +``` + + + + +## Configuring your Clickhouse equipment + +You may need to configure your Clickhouse equipment so that it can receive data from Centreon. Please refer to Clickhouse's documentation. +Make sure Clickhouse is able to receive data sent by Centreon: flows must not be blocked by Clickhouse's configuration or by a security equipment. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- | ----------------------------------------------------------- | +| Name | Clickhouse metrics | +| Path | /usr/share/centreon-broker/lua/clickhouse-metrics-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Clickhouse equipment, fill in the following mandatory parameters. The fields for the first entry are already present. Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ----------------------------------------------------------- | ------------------------------- | +| string | user | Clickhouse user that will be used | centreon | +| string | password | Password for this user | centreon | +| string | http_server_url | Address of the Clickhouse server (include the protocol and the port) | `https://myclickhouse.local:8123` | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link): + +| Type | Name | Value explanation | default value | +| ------ | ---------------------------- | ------------------------------------------------------------- | --------------- | +| string | clickhouse_database | Name of the database in which the desired table is stored | centreon_stream | +| string | clickhouse_table | Table in which metrics are written | metrics | +| number | use_deprecated_metric_system | Allows you to use the alternative table schema when set to 1 | 0 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to Clickhouse](#filtering-or-adapting-the-data-you-want-to-send-to-clickhouse). + +8. [Deploy the configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Clickhouse should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to Clickhouse + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your Clickhouse equipment, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to Clickhouse the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* For the Clickhouse stream connector, the following values always override the default values, you do not need to define them in the interface. + +| Type | Name | Default value for the stream connector | Additional notes | +| ------ | --------------------------- | -------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| string | accepted_categories | neb | | +| string | accepted_elements | host_status,service_status | | +| string | max_buffer_size | 1000 | You should lower this value to about a hundred if you have less than 10 000 services. If you are performing troubleshooting operations with log_curl_commands and/or send_data_test parameters, you can lower this value to less than 10. | +| number | hard_only | 0 | | +| number | enable_host_status_dedup | 0 | | +| number | enable_service_status_dedup | 0 | | + +## Event bulking + +This stream connector is compatible with event bulking: it is able to send more that one event in each call to the Clickhouse REST API. + +To use this feature you must add the **max_buffer_size** parameter in your stream connector configuration. + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```sql +INSERT INTO centreon_stream.metrics (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_1',1702910747,'rtmin',0.005,'Ping',['hg'],'10-8-rtmin','ms',,),('central_1',1702910747,'rta',0.061,'Ping',['hg'],'10-8-rta','ms',0.0,),('central_1',1702910747,'pl',0.0,'Ping',['hg'],'10-8-pl','%',0.0,100.0) +``` + +### host_status event + +```sql +INSERT INTO centreon_stream.metrics (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_3',1702910932,'rtmin',0.0,'Ping',['hg'],'12-10-rtmin','ms',,),('central_3',1702910932,'rta',0.0,'Ping',['hg'],'12-10-rta','ms',0.0,),('central_3',1702910932,'pl',100.0,'Ping',['hg'],'12-10-pl','%',0.0,100.0) +``` + +### Results inside Clickhouse + +```txt +┌─host────┬─service─┬─metric_name─┬─metric_unit─┬─metric_value─┬─metric_min─┬─metric_max─┬───────────timestamp─┬─hostgroups─────────────┐ +│ central │ │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rta │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmax │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmin │ ms │ 0.052 │ 0 │ 0 │ 2023-11-27 14:23:31 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rta │ ms │ 0.013 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rta │ ms │ 0.013 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmax │ ms │ 0.049 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmax │ ms │ 0.049 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmin │ ms │ 0.004 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ Ping │ rtmin │ ms │ 0.004 │ 0 │ 0 │ 2023-11-27 14:26:51 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ pl │ % │ 0 │ 0 │ 100 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rta │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmax │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +│ central │ │ rtmin │ ms │ 0.027 │ 0 │ 0 │ 2023-11-27 14:28:11 │ ['hg_1','hg_2','hg_3'] │ +└─────────┴─────────┴─────────────┴─────────────┴──────────────┴────────────┴────────────┴─────────────────────┴────────────────────────┘ +``` + +### Custom event format + +You can't change the format of the event for metrics oriented stream connectors. This means you cannot send other Broker events that contain performance data. + +## Curl commands: testing the stream connector + +### Sending events + +If you want to test that events are sent to Clickhouse correctly: + +1. Log in to the server that you configured to send events to Clickhouse (your central server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X POST -H 'X-ClickHouse-User: ' -H 'X-ClickHouse-Key: ' '' -d 'INSERT INTO . (host, timestamp, metric_name, metric_value, service, hostgroups, metric_id, metric_unit, metric_min, metric_max) VALUES ('central_2',1702910872,'rtmin',0.0,'Ping',['hg'],'11-9-rtmin','ms',,),('central_2',1702910872,'rta',0.0,'Ping',['hg'],'11-9-rta','ms',0.0,),('central_2',1702910872,'pl',100.0,'Ping',['hg'],'11-9-pl','%',0.0,100.0)' +``` + +> You must replace all the *``* inside the below commands with their appropriate value. For example, *``* may become *centreon_stream*. + +3. Check that the event has been received by Clickhouse. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-events.md new file mode 100644 index 000000000000..ed970f8a81e2 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-events.md @@ -0,0 +1,153 @@ +--- +id: sc-datadog-events +title: Datadog Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **events** from **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +apt install centreon-stream-connector-datadog +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------- | +| Name | Datadog events | +| Path | /usr/share/centreon-broker/lua/datadog-events-apiv2.lua | +| Filter category | Neb | + +### Add Datadog mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------- | ------------- | +| string | api_key | the datadog api key | | + +### Add Datadog optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ----------------------- | -------------------------------------------------- | -------------------------------------------- | +| string | datadog_centreon_url | your centreon server address | `http://yourcentreonaddress.local` | +| string | datadog_event_endpoint | the API endpoint that must be used to send events | /api/v1/events | +| string | http_server_url | The Datadog API hosting server address | https://api.datadoghq.com | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/datadog-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)** + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ---------------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Datadog REST API. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "title": "CRITICAL my_host my_service", + "text": "my service is not working", + "aggregation_key": "service_27_12", + "alert_type": "error", + "host": "my_host", + "date_happened": 1630590530 +} +``` + +### host_status event + +```json +{ + "title": "CRITICAL my_host", + "text": "my host is not working", + "aggregation_key": "host_27", + "alert_type": "error", + "host": "my_host", + "date_happened": 1630590530 +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/elastic-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H "content-type: application/json" -H "DD-API-KEY: " '' -d '{"title":"CRITICAL my_host my_service","text":"my service is not working","aggregation_key":"service_27_12","alert_type":"error","host":"my_host","date_happened":1630590530}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *https://api.datadoghq.com*. \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md new file mode 100644 index 000000000000..fb2ed1078669 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-datadog-metrics.md @@ -0,0 +1,156 @@ +--- +id: sc-datadog-metrics +title: Datadog Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **metrics** from **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +dnf install centreon-stream-connector-datadog +``` + + + + + +```shell +apt install centreon-stream-connector-datadog +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | -------------------------------------------------------- | +| Name | Datadog metrics | +| Path | /usr/share/centreon-broker/lua/datadog-metrics-apiv2.lua | +| Filter category | Neb | + +### Add Datadog mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------- | ------------- | +| string | api_key | the datadog api key | | + +### Add Datadog optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ----------------------- | -------------------------------------------------- | -------------------------------------------- | +| string | datadog_centreon_url | your centreon server address | `http://yourcentreonaddress.local` | +| string | datadog_metric_endpoint | the API endpoint that must be used to send metrics | /api/v1/series | +| string | http_server_url | The Datadog API hosting server address | https://api.datadoghq.com | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/datadog-metrics.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)** + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ---------------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | +| number | max_buffer_size | 30 | +| number | hard_only | 0 | +| number | enable_service_status_dedup | 0 | +| number | enable_host_status_dedup | 0 | +| string | metric_name_regex | `[^a-zA-Z0-9_%.]` | +| string | metric_replacement_character | _ | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Datadog REST API. + +> The default value for this stream connector is 30. A small value is more likely to slow down the Centreon broker thus generating retention. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "host": "my_host", + "metric": "database.used.percent", + "points": [[1630590530, 80]], + "tags": [ + "service:my_service", + "instance:my_instance", + "subinstance:sub_1", + "subinstance:sub_2" + ] +} +``` + +### host_status event + +```json +{ + "host": "my_host", + "metric": "database.used.percent", + "points": [[1630590530, 80]], + "tags": [ + "instance:my_instance", + "subinstance:sub_1", + "subinstance:sub_2" + ] +} +``` + +### Custom event format + +You can"t change the format of the event for metrics oriented stream connectors. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H "content-type: application/json" -H "DD-API-KEY: " '' -d '{"host":"my_host","metric":"database.used.percent","points":[[1630590530,80]],"tags":["service:my_service","instance:my_instance","subinstance:sub_1","subinstance:sub_2"]}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *https://api.datadoghq.com*. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-elastic-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-elastic-events.md new file mode 100644 index 000000000000..19b12ae9f521 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-elastic-events.md @@ -0,0 +1,196 @@ +--- +id: sc-elastic-events +title: Elastic Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Elastic Events stream connector allows you to send data from Centreon to Elasticsearch. It sends data using the Elasticsearch APIs. + +Use the Elastic Events stream connector if you want to retrieve all the data for the events. If you want to retrieve only metrics, use the Elastic Metrics stream connector. + +An appropriate index template is created automatically by the stream connector so that your data is indexed properly in Elasticsearch. (The index template is the description of the format of the data that will be sent.) + +## Installation + +Perform the installation as `root` on the server that will send data to Elasticsearch (central server, remote server, poller). + + + + +```shell +dnf install centreon-stream-connector-elasticsearch +``` + + + + + +```shell +dnf install centreon-stream-connector-elasticsearch +``` + + + + + +```shell +apt install centreon-stream-connector-elasticsearch +``` + + + + +## Configuring your Elasticsearch server + +You may need to configure your Elasticsearch server so that it can receive data from Centreon. Please refer to Elasticsearch's documentation. Make sure Elasticsearch is able to receive data sent by Centreon: flows must not be blocked by Elasticsearch's configuration or by a security equipment. + +On your Elasticsearch server, you will need: + +- An index to store events sent by Centreon. You can create a *centreon_status* index with the following command: + + ```shell + curl --user elastic:centreon-es-passwd -X PUT "://:/centreon_status" -H 'Content-Type: application/json' \ + -d '{"mappings":{"properties":{"host":{"type":"keyword"},"service":{"type":"keyword"}, "output":{"type":"text"},"status":{"type":"keyword"},"state":{"type":"keyword"}, "type":{"type":"keyword"},"timestamp":{"type":"date","format":"epoch_second"}}}}' + ``` + + > If you use a custom **[event format](#event-format)**, you will have to modify the index creation accordingly. + +- A user / password with required privileges to POST data to the index. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- | ------------------------------------------------------- | +| Name | Elastic events | +| Path | /usr/share/centreon-broker/lua/elastic-events-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Elasticsearch server, fill in the following mandatory parameters. The fields for the first entry are already present. Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Value explanation | Value exemple | +| ------ | ----------------------- | --------------------------------------- | ------------------------------------------------------- | +| string | elastic_url | The url of the Elastic stack | `https://elastic-fqdn:9200/` | +| string | elastic_index_status | Elastic target index name | `centreon_status` | +| string | elastic_username | Elastic username | `a_username` | +| string | elastic_password | Elastic password | `a password` | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link). + +| Type | Name | Value explanation | default value | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------------- | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/elastic-events-apiv2.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to Elasticsearch](#filtering-or-adapting-the-data-you-want-to-send-to-Elasticsearch). + +8. [Deploy the configuration](https://docs.centreon.com/docs/monitoring/monitoring-servers/deploying-a-configuration/). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Elasticsearch should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to Elasticsearch + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your Elasticsearch server, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to Elasticsearch the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* For the Elasticsearch Events stream connector, the following values always override the default values, you do not need to define them in the interface. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Elastic REST API. + +To use this feature you must add the following parameter in the configuration of your stream connector. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send events with the following format. + +### service_status event + +```json +{ + "event_type": "host", + "status": "CRITICAL", + "state": "2", + "state_type": 1, + "host": "my_host", + "service": "a_service", + "output": "CRITICAL: Burnin and Lootin" +} +``` + +### host_status event + +```json +{ + "event_type": "host", + "status": "DOWN", + "state": "1", + "state_type": 1, + "host": "my_host", + "output": "CRITICAL: No woman no cry", + "timestamp": 1637229207 +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customizable. It also allows you to handle event types that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/elastic-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event formats and templating files, read this **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands: testing the stream connector + +### Sending events + +If you want to test that events are sent to Elasticsearch correctly: + +1. Log in to the server that you configured to send events to Elasticsearch (your central server, a remote server or a poller). +2. Run the following command: + +```shell +curl -u elastic:centreon-es-passwd --header 'content-type: application/json' -X POST "/_bulk" --data-binary '{"index":{"_index":""}} +{"host":"jamaica","status":"OK","state_type":1,"state":0,"timestamp":,"event_type":"service","service":"kingston","output":"OK: Everything is gonna be alright"} +' +``` + +> Replace all the *``* inside the above command with the appropriate value. + +3. Check that the data has been received by Elasticsearch. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md new file mode 100644 index 000000000000..fbb9ece3ccd1 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-elasticsearch-metrics.md @@ -0,0 +1,332 @@ +--- +id: sc-elastic-metrics +title: Elastic Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Elasticsearch metrics stream connector allows you to send data from Centreon to Elasticsearch. +It sends metrics using the Elasticsearch APIs. + +An appropriate index template is created automatically by the stream connector so that your data is indexed properly in Elasticsearch. (The index template is the description of the format of the data that will be sent.) + +## Prerequisites + +Some dependencies are installed by **luarocks**, which connects to `https://github.com` to retrieve them. If connecting to github is not possible, download the latest version of the Lua libraries for the stream connectors available on [this page](https://github.com/centreon/centreon-stream-connector-scripts/releases): in the archive, copy the **centreon-stream-connectors-lib** directory from the **modules** directory into your server's **/usr/share/lua/5.x/** folder (5.x is the version of Lua that is installed, e.g., 5.4). + +## Installation + +Perform the installation as `root` on the server that will send data to Elasticsearch (central server, remote server, poller). + +1. Install dependencies: + + + + +```shell +dnf install luarocks make gcc lua-curl lua-devel wget +``` + + + + + +```shell +dnf install luarocks make gcc lua-curl lua-devel wget +``` + + + + + +```shell +apt install luarocks make gcc lua-curl lua-devel wget +``` + + + + +2. Install the Centreon Lua libraries for stream connectors: + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + + +```shell +luarocks install centreon-stream-connectors-lib +``` + + + + +3. Install the stream connector: + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + + +```shell +wget -O /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua https://raw.githubusercontent.com/centreon/centreon-stream-connectorscripts/develop/centreon-certified/elasticsearch/elastic-metrics-apiv2.lua +``` + +```shell +chmod 644 /usr/share/centreon-broker/lua/elastic-events-apiv2.lua +``` + + + + + +## Configuring your Elasticsearch server + +You may need to configure your Elasticsearch server so that it can receive data from Centreon. Please refer to Elasticsearch's documentation. Make sure Elasticsearch is able to receive data sent by Centreon: flows must not be blocked by Elasticsearch's configuration or by a security equipment. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- | ------------------------------------------------------- | +| Name | Elasticsearch metrics | +| Path | /usr/share/centreon-broker/lua/elastic-metrics-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Elasticsearch server, fill in the following mandatory parameters. The fields for the first entry are already present. Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Description | Example | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | The address of your Elasticsearch server, including the protocol and port | Example: https://my_elasticsearch.local:9200 | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link). + +| Type | Name | Description | Default value | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------- | +| string | elastic_username | API account to send data to | | +| string | elastic_password | API account password | | +| string | index_name | Name of the Elasticsearch index that should be used | centreon-metrics | +| string | index_template_api_endpoint | Path to the endpoint of the Elasticsearch index template | /_index_template | +| string | index_pattern | By default this takes the name of the index and adds `*`. This is the name of the indexes +for which the index template will apply when the latter is created by the stream connector | centreon-metrics* | +| number | index_priority | Priority of the index when the index template is created by the stream connector | 200 | +| number | create_datastream_index_template | The stream connector will automatically create the index template if it does not find it (1 = automatic creation, 0 = index template is not created) | 1 | +| number | update_datastream_index_template | The stream connector will update the index template if the latter does not correspond +to the data that will be sent. (1 = autoupdate, 0 = does not auto-update). Even if automatic updating is activated, it will only +work if the index template was created by Centreon. (The index template contains metadata that indicates this.) | 0 | +| number | add_hostgroups_dimension | Adds the host groups to the data that is sent. (1 = addition of +host groups, 0 = no host groups added) | 1 | +| number | add_poller_dimension | adds the poller to the data that is sent. (1 = addition of +poller, 0 = no poller added) | 0 | +| number | add_servicegroups_dimension | Adds the service groups to the data that is sent. (1 = addition of +service groups, 0 = no service groups added) | 0 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to Elasticsearch](#filtering-or-adapting-the-data-you-want-to-send-to-Elasticsearch). + +8. [Deploy the configuration](https://docs.centreon.com/docs/monitoring/monitoring-servers/deploying-a-configuration/). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Elasticsearch should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to Elasticsearch + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your Elasticsearch server, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to Elasticsearch the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +| Type | Name | Description | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_pollers | Only metrics handled by the pollers listed here will be sent (separator ,) e.g.: +poller_1,poller_2 | +| string | accepted_hostgroups | Only metrics relating to the host groups listed here will be sent (separator ,) e.g.: +hg_1,hg_2 | +| string | accepted_servicegroups | Only metrics relating to the service groups listed here will be sent (separator ,) e.g.: +sg_1,sg_2 | +| string | accepted_metrics | [Lua pattern](#examples-of-lua-patterns) that the metric's name must match. If the name of the metric doesn't match the pattern, the metric is not sent. Default value: .* | +| string | accepted_hosts | [Lua pattern](#examples-of-lua-patterns) that the host's name must match. If the name of the host doesn't match the pattern, no metrics attached to that host will be sent. | +| string | accepted_services | [Lua pattern](#examples-of-lua-patterns) that the service's name must match. If the name of the service doesn't match the pattern, no metrics attached to this service will be sent. | +| number | accepted_hosts_enable_split_pattern | When this option is enabled, you can filter both on a list of host names, or on a list of [lua patterns](#examples-of-lua-patterns), using the comma as a separator. Example of list: "host_1,host_2", example of lua pattern: "host_%d+,another_host". (0 = disabled, 1 = enabled. Default value: 0.) | +| number | accepted_services_enable_split_pattern | When this option is enabled, you can filter both on a list of service names, or on a list of [lua patterns](#examples-of-lua-patterns), using the comma as a separator. Example of list: "service_1,service_2", example of lua pattern: "service_%d+,another_service" (0 = disabled, 1 = enabled. Default value: 0.) | + +* For the Elasticsearch Metrics stream connector, the following values always override the default values, you do not need to define them in the interface. Apart from **max_buffer_size** which is an important parameter for performance, it's not recommended to change them. + +| Type | Name | Description | Default value for the stream connector | +| ------ | ------------------- | ------------ | -------------------------- | +| string | accepted_elements | Do not modify this parameter | host_status,service_status | +| number | max_buffer_size | Maximum number of metrics sent in a packet to Elasticsearch | 30 | +| number | hard_only | Sends metrics for events according to whether they are in SOFT or HARD states (1 = only HARD, 0 = SOFT and HARD) | 0 | +| number | enable_host_status_dedup | Sends metrics for all host events, not just state changes (0 = all events, 1 = only state changes) | 0 | +| number | enable_service_status_dedup | sends metrics for all service events and not just state changes (0 = all events, 1 = only state changes)| 0 | + +## Examples of Lua patterns + +Examples of Lua patterns for the **accepted_hosts** option: + +* All host names starting with "CENTREON": + +```shell +^CENTREON.* +``` + +* All host names that do not end with a number: + +```shell +.*[^0-9]$ +``` + +* All host names that contain a `.`: + +```shell +.*%..* +``` + +* All host names that only contain lowercase letters: + +```shell +%l+ +``` + +* All host names that do not end with a number, or that start with "CENTREON" (if the **accepted_hosts_enable_split_pattern** option is enabled, you can combine several filters): + + +```shell +^CENTREON.*,.*[^0-9]$ +``` + +## Event format + +Here is an example of data sent by the stream connector: + +```shell +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rtmin","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rta","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.0,"host_name":"127.0.0.1","metric_instance":"","metric_name":"pl","host_groups":["HG"]} +{"index":{}} +{"@timestamp":1700229605,"metric_value":0.045,"host_name":"127.0.0.1","metric_instance":"","metric_name":"rtmax","host_groups":["HG"]} +``` + +## Debug options + +You can add the following options to your configuration to help you with debugging: + +| Type | Name | Description | Default value for the stream connector | +| ------ | ------------------- | ------------ | -------------------------- | +| string | logfile | default log file for the stream connector (when a malfunction occurs, it's also possible to find information in /var/log/centreon-broker/central-broker-master.log) | /var/log/centreonbroker/ +elastic-metrics.log | +| number | log_level | verbosity level, ranging from 1 to 3, (1 = notice and errors, 2 = +warning, notice and errors, 3 = warning, notice, errors, info, debug). It is strongly recommended not to set a value beyond 2 | 1 | +| number | log_curl_commands | displays all curl commands used by the stream connector in the log file (0 = display nothing, 1 = log the commands) | 0 | +| number | send_data_test | simulates the end-to-end operation of the stream connector but sends the data to the log file instead of Elasticsearch (0 = send to Elasticsearch, 1 = send to the log file) | 0 | + +## Curl commands: testing the stream connector + +### Sending metrics + +If you want to test that events are sent to Elasticsearch correctly: + +1. Log in to the server that you configured to send events to Elasticsearch (your central server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X PUT -u ":" -H 'Content-type: application/json' +'://
://_bulk' -d '{"index":{}} +{"poller":"Central","metric.value":0.0,"@timestamp":1690808140,"host.groups": +["HG_1","ALL"],"host.name":"central","metric.name":"rta","metric.instance":""} +{"index":{}} +{"poller":"Central","metric.value":0.0,"@timestamp":1690808140,"host.groups": +["HG_1","ALL"],"host.name":"central","metric.name":"rtmin","metric.instance":""} +' +``` + + > Replace all the *``* inside the above command with the correct value. + +3. Check that the 2 metrics have been received by Elasticsearch. + +### Checking the index template + +If you are not receiving the expected data, check whether your index template is correct. + +```shell +curl -X GET -u ":" -H 'Content-type: application/json' +'://
:/_index_template/' +``` + +### Creating an index template + +You can create your own index template manually. Use the example below: + +```shell +curl -X PUT -u ":" -H 'Content-type: application/json' +'://
:/_index_template/' -d +'{"priority":200,"index_patterns":["my_index*"],"_meta": +{"created_by_centreon":true,"description":"Timeseries index template for Centreon +metrics"},"template":{"mappings":{"properties":{"service.groups": +{"type":"keyword","time_series_dimension":false},"host.name": +{"type":"keyword","time_series_dimension":true},"poller": +{"type":"keyword","time_series_dimension":true},"metric.unit": +{"type":"keyword","time_series_dimension":false},"@timestamp": +{"type":"date","format":"epoch_second"},"metric.value": +{"type":"double"},"service.description": +{"type":"keyword","time_series_dimension":true},"host.groups": +{"type":"keyword","time_series_dimension":false},"metric.subinstances": +{"type":"keyword","time_series_dimension":false},"metric.name": +{"type":"keyword","time_series_dimension":true},"metric.instance": +{"type":"keyword","time_series_dimension":true}}},"settings": +{"index.mode":"time_series","index.routing_path": +["host.name","service.description","metric.name","metric.instance","poller"]}}}' +``` diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md new file mode 100644 index 000000000000..6749c1157ae0 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-influxdb2-metrics.md @@ -0,0 +1,181 @@ +--- +id: sc-influxdb2-metrics +title: InfluxDB 2 Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The InfluxDB 2 Metrics stream connector allows you to send data from Centreon to InfluxDB 2 instances. + +## Before starting + +- In most cases, you will want to send data from the central server. It is also possible to send it from a remote server or a poller +(e.g. if you want to avoid the central server being a SPOF, or if you are an MSP and you install the stream connector on a poller or +a remote server within your customer's infrastructure). +- By default, the InfluxDB 2 Metrics stream connector sends **metrics** from [**host_status**](../../developer/developer-broker-mapping.md#host-status) +and [**service_status**](../../developer/developer-broker-mapping.md#service-status) Broker events. These metrics are contained in the **perf_data** +field of the events. The event format is shown **[here](#event-format)**. +- These events are sent each time a host or a service is checked. Various parameters let you [filter out events](#filtering-or-adapting-the-data-you-want-to-send-to-influxdb2). + +## Installation + +Perform the installation on the server that will send data to InfluxDB 2 (central server, remote server, poller). + +1. Login as `root` using your favorite SSH client. + +2. Run the following command: + + + + +```shell +dnf install centreon-stream-connector-influxdb +``` + + + + + +```shell +dnf install centreon-stream-connector-influxdb +``` + + + + + +```shell +apt install centreon-stream-connector-influxdb +``` + + + + +## Configuring your InfluxDB 2 equipment + +You may need to configure your InfluxDB 2 equipment so that it can receive data from Centreon. Please refer to the documentation of InfluxDB 2. +Make sure InfluxDB 2 is able to receive data sent by Centreon: flows must not be blocked by the configuration of InfluxDB 2 or by a security equipment. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- |------------------------------------------------------------| +| Name | InfluxDB 2 metrics | +| Path | /usr/share/centreon-broker/lua/influxdb2-metrics-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your InfluxDB 2 equipment, fill in the following mandatory parameters. The fields for the first entry are already present. +Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Value explanation | Value exemple | +| ------ |-----------------|-----------------------------------------------|-----------------------------------------------------------------------------------------| +| string | bucket_id | The ID of the bucket where metrics will be sent | `65f5f748e28c92f0` | +| string | bucket_api_key | The API key used to send data to the bucket | `OGwOM8nse3FHjxyGw5ODLWWXS1oEpcPsjLcRl09zmCEbBE0TKgAiJiKOyKOBUZxoo76qe6-PTPq-70ECCwA==` | +| string | org_name | The name of the InfluxDB organization | `centreon` | +| string | http_server_url | The InfluxDB address with the port at the end | `https://myinfluxdb2.local:8086` | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link): + +| Type | Name | Value explanation | default value | +| ------ |------------|--------------------------------------------|------------------------------------------------| +| string | logfile | The file in which logs are written | /var/log/centreon-broker/influxdb2-metrics.log | +| number | log_level | Logging level from 1 (errors) to 3 (debug) | 1 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to InfluxDB 2](#filtering-or-adapting-the-data-you-want-to-send-to-influxdb2). + +8. [Deploy the configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + InfluxDB 2 should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to InfluxDB 2 + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your InfluxDB 2 device, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to InfluxDB 2 the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* For the InfluxDB 2 Metrics stream connector, the following values always override the default values, you do not need to define them in the interface. + +| Type | Name | Default value for the stream connector | +|--------|------------------------------|----------------------------------------| +| string | influxdb2_api_endpoint | `/api/v2/write` | +| string | influxdb2_precision | `s` | +| string | accepted_categories | `neb` | +| string | accepted_elements | `host_status,service_status` | +| number | hard_only | `0` | +| number | enable_host_status_dedup | `0` | +| number | enable_service_status_dedup | `0` | +| string | metric_name_regex | `([, =])` | +| string | metric_replacement_character | `\\%1` | +| number | use_deprecated_metric_system | `0` | + +> For metrics name and replacements see [here](https://docs.influxdata.com/influxdb/cloud/reference/syntax/line-protocol/#special-characters). + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the InfluxDB 2 REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +> According to [best practice](https://docs.influxdata.com/influxdb/cloud/write-data/best-practices/optimize-writes/#batch-writes), `max_buffer_size` is set at 5000 lines by default. But you should lower this value to a few hundred if you have less than 10 000 services. + +## Event format + +This stream connector will send events with the following format. + +### service_status event + +``` +rta,type=service,service.name=my_service,host.name=central,poller=Central,metric.unit=ms value=0.008 1694370951 +pl,type=service,service.name=my_service,host.name=central,poller=Central,metric.unit=% value=0.0 1694370951 +``` + +### host_status event + +``` +rta,type=host,host.name=central,poller=Central,metric.unit=ms value=0.008 1694370951 +pl,type=host,host.name=central,poller=Central,metric.unit=% value=0.0 1694370951 +``` + +### Custom event format + +This stream connector is not compatible with custom event format. + +## Curl commands: testing the stream connector + +### Sending events + +If you want to test that events are sent to InfluxDB 2 correctly: + +1. Log in to the server that you configured to send events to InfluxDB 2 (your central server, a remote server or a poller). +2. Run the following command: + + ```shell + curl -X POST -H 'content-type: text/plain; charset=utf-8' -H 'accept: application/json' -H 'Authorization: Token ' 'http:///api/v2/write?bucket=&org=&precision=s' -d + ``` + + > Replace all the *``* inside the above command with the correct value. For instance, ** may become something like *65f5f748e28c92f0*. + +3. Check that the event has been received by InfluxDB 2. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-kafka-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-kafka-events.md new file mode 100644 index 000000000000..439cadfa64c7 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-kafka-events.md @@ -0,0 +1,175 @@ +--- +id: sc-kafka-events +title: Kafka Event Manager +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status**, **service_status** and **ba_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-kafka +``` + + + + + +```shell +dnf install centreon-stream-connector-kafka +``` + + + + + +```shell +apt install centreon-stream-connector-kafka +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ----------------------------------------------------- | +| Name | Kafka events | +| Path | /usr/share/centreon-broker/lua/kafka-events-apiv2.lua | +| Filter category | Neb,Bam | + +### Add Kafka mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------- | ------------------------------------------------------------- | ------------------------------------------- | +| string | topic | the topic in which events are going to be written | Monitoring | +| string | brokers | Coma separeted list of brokers that are ready to receive data | broker_address1:port1,broker_address2:port2 | + +### Add Kafka optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ------------------------------------------ | --------------------------------------------------- | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/kafka-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +### Librdkafka (library dependency) parameters + +In addition to parameters from stream connectors, there is a handfull of parameters available thanks to the librdkafka library. They are all documented in the librdkafka **[official documentation](https://github.com/edenhill/librdkafka/blob/v0.11.4/CONFIGURATION.md)**. To use them you just need to **add** the **_sc_kafka_ prefix**. + +With that in mind, the parameter **sasl.mechanism** becomes **_sc_kafka_sasl.mechanism** in your broker configuration. + +> El7 and El8 repos grant access to an old librdkafka library version. + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to kafka brokers. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "host": "my_host", + "service": "my_service", + "output": "CRITICAL: the wind broke my umbrella", + "state": "CRITICAL" +} +``` + +### host_status event + +```json +{ + "host": "my_host", + "output": "DOWN: putting gas in my eletric car was not a good idea", + "state": "DOWN" +} +``` + +### ba_status event + +```json +{ + "ba": "my_ba", + "state": "CRITICAL" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **acknowledgement events**. + +In order to use this feature you need to **configure** a json event format file and **add** a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | --------------------------------------------- | +| string | format_file | /etc/centreon-broker/kafka-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user. + +To learn more about custom event format and templating file, **head over** the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Test connexion + +Sending data to Kafka can be quite complicated because of all the involved parameters (either from the stream connector itself or the kafka library). + +To make things easier, a lua connection test script is available. + +To install it you must follow the **[installation procdure](#installation)** and then: + +```shell +wget -O /tmp/kafka_test_connection.lua https://raw.githubusercontent.com/centreon/centreon-stream-connector-scripts/master/modules/tests/kafka_test_connexion.lua +``` + +**Open** the script and **configure** the kafka options that you want to use from the librdkafka **[official documentation](https://github.com/edenhill/librdkafka/blob/v0.11.4/CONFIGURATION.md)** (you do not need to add the *_sc_kafka_* prefix this time, just put the parameter inside the **config[]** brackets). + +There are already configuration set up as examples to guide you. + +If it doesn't work, you should have an error message like below (with the appropriate error message). It is strongly advised to have access to kafka to check if a message is sent from the test script. + +```shell +%3|1622459610.760|FAIL|rdkafka#producer-1| [thrd:sasl_plaintext://cps-kafkan:9093/bootstrap]: sasl_plaintext://cps-kafkan:9093/bootstrap: Failed to resolve 'cps-kafkan:9093': Name or service not known +``` diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-logstash-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-logstash-events.md new file mode 100644 index 000000000000..5593aee1701b --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-logstash-events.md @@ -0,0 +1,154 @@ +--- +id: sc-logstash-events +title: Logstash Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-logstash +``` + + + + + +```shell +dnf install centreon-stream-connector-logstash +``` + + + + + +```shell +apt install centreon-stream-connector-logstash +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | -------------------------------------------------------- | +| Name | Logstash events | +| Path | /usr/share/centreon-broker/lua/logstash-events-apiv2.lua | +| Filter category | Neb | + +### Add Logstash mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------------- | ------------------------ | +| string | http_server_url | the url of the logstash http plugin | `https:/mylogstash.test` | +| number | port | the port of your logstash http plugin | `8443` | + +### Add Logstash optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ---------------------------------------------------------------------------------------------- | -------------------------------------------- | +| string | username | the username if your are using https with basic auth for your logstash http plugin | | +| string | password | the password of your user if you are using https with basic auth for your logstash http plugin | | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/logstash-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Logstash HTTP plugin. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "event_timestamp": 1653434348, + "hostname": "my-host", + "output": "[CRITICAL] low power", + "service": "my-service", + "state": "CRITICAL", + "title": "CRITICAL: my-host, my-service" +} +``` + +### host_status event + +```json +{ + "event_timestamp": 1653434348, + "hostname": "my-host", + "output": "[DOWN] server is down", + "state": "DOWN", + "title": "DOWN: my-host" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------ | +| string | format_file | /etc/centreon-broker/logstash-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X PUT -H "accept: application/json" curl -X PUT 'http://:' -d '{"event_timestamp": 1653434348,"hostname": "my-host","output": "[DOWN] server is down","state": "DOWN","title": "DOWN: my-host"}' +``` + +You must replace all the *``* inside the above command with their appropriate value. ** may become *8080*. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-events.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-events.md new file mode 100644 index 000000000000..4f8521f576a9 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-events.md @@ -0,0 +1,204 @@ +--- +id: sc-splunk-events +title: Splunk Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Splunk Events stream connector allows you to send data from Centreon to Splunk instances. + +## Before starting + +If you want to retrieve all the data for the events, use the Splunk Events stream connector. If you want to retrieve only metrics, use the Splunk Metrics stream connector. + +- In most cases, you will want to send data from the central server. It is also possible to send it from a remote server or a poller (e.g. if you want to avoid the central server being a SPOF, or if you are an MSP and you install the stream connector on a poller or a remote server within your customer's infrastructure). + +- By default, the Splunk Events stream connector sends data from [**host_status**](../../developer/developer-broker-mapping.md#host-status) and [**service_status**](../../developer/developer-broker-mapping.md#service-status) Broker events. The event format is shown **[here](#event-format)**. +- These events are sent each time a host or a service is checked. Various parameters let you [filter out events](#filtering-or-adapting-the-data-you-want-to-send-to-splunk). + +## Installation + +Perform the installation on the server that will send data to Splunk (central server, remote server, poller). + +1. Login as `root` using your favorite SSH client. + +2. Run the following command: + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +apt install centreon-stream-connector-splunk +``` + + + + +## Configuring your Splunk equipment + +You may need to configure your Splunk equipment so that it can receive data from Centreon. Please refer to Splunk's documentation. +Make sure Splunk is able to receive data sent by Centreon: flows must not be blocked by Splunk's configuration or by a security equipment. + +The correct sourcetype for the stream connector is "_json". Other useful information may be for example "source": "http:my_index", "index": "my_index", "host": "Central". You can also add this information to your stream connector's configuration if you need to. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- | ------------------------------------------------------ | +| Name | Splunk events | +| Path | /usr/share/centreon-broker/lua/splunk-events-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Splunk equipment, fill in the following mandatory parameters. The fields for the first entry are already present. Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | the URL of the Splunk service collector | `https://mysplunk.centreon.com:8088/services/collector` | +| string | splunk_token | Token to use the event collector api | | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link): + +| Type | Name | Value explanation | default value | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------ | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/splunk-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to Splunk](#filtering-or-adapting-the-data-you-want-to-send-to-splunk). + +8. [Deploy the configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Splunk should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to Splunk + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your Splunk equipment, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to Splunk the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* For the Splunk Events stream connector, the following values always override the default values, you do not need to define them in the interface. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Splunk REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1630590530, + "event": { + "event_type": "service", + "state": 2, + "state_type": 1, + "hostname": "my_host", + "service_description": "my_service", + "output": "Critical: it is on fire" + } +} +``` + +### host_status event + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1630590530, + "event": { + "event_type": "host", + "state": 1, + "state_type": 1, + "hostname": "my_host", + "output": "Critical: it is on fire" + } +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle event types that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ---------------------------------------------- | +| string | format_file | /etc/centreon-broker/splunk-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user. + +To learn more about custom event formats and templating files, visit **[this page](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands: testing the stream connector + +### Sending events + +If you want to test that events are sent to Splunk correctly: + +1. Log in to the server that you configured to send events to Splunk (your central server, a remote server or a poller). +2. Run the following command: + +```shell +curl -X POST -H "content-type: application/json" -H "authorization: Splunk " '' -d '{"sourcetype": "","source": "","index": "","host": "","time": ,"event": {"event_type": "host","state": 1,"state_type": 1,"hostname":"my_host","output": "Critical: it is on fire"}}' +``` + + > You must replace all the *``* inside the above command with their appropriate value. ** may become *_json*. + +3. Check that the event has been received by Splunk. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md new file mode 100644 index 000000000000..1696a2a2c5b8 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-splunk-metrics.md @@ -0,0 +1,199 @@ +--- +id: sc-splunk-metrics +title: Splunk Metrics +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Splunk Metrics stream connector allows you to send data from Centreon to Splunk instances. + +## Before starting + +If you want to retrieve only metrics, use the Splunk Metrics stream connector. If you want to retrieve all the data for the events, use the Splunk Events stream connector. + +- In most cases, you will want to send data from the central server. It is also possible to send it from a remote server or a poller (e.g. if you want to avoid the central server being a SPOF, or if you are an MSP and you install the stream connector on a poller or a remote server within your customer's infrastructure). +- By default, the Splunk Metrics stream connector sends **metrics** from [**host_status**](../../developer/developer-broker-mapping.md#host-status) and [**service_status**](../../developer/developer-broker-mapping.md#service-status) Broker events. These metrics are contained in the **perf_data** field of the events. The event format is shown **[here](#event-format)**. +- These events are sent each time a host or a service is checked. Various parameters let you [filter out events](#filtering-or-adapting-the-data-you-want-to-send-to-splunk). + +## Installation + +Perform the installation on the server that will send data to Splunk (central server, remote server, poller). + +1. Login as `root` using your favorite SSH client. + +2. Run the following command: + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +dnf install centreon-stream-connector-splunk +``` + + + + + +```shell +apt install centreon-stream-connector-splunk +``` + + + + +## Configuring your Splunk equipment + +You may need to configure your Splunk equipment so that it can receive data from Centreon. Please refer to Splunk's documentation. +Make sure Splunk is able to receive data sent by Centreon: flows must not be blocked by Splunk's configuration or by a security equipment. + +The correct sourcetype for the stream connector is "_json". Other useful information may be for example "source": "http:my_index", "index": "my_index", "host": "Central". You can also add this information to your stream connector's configuration if you need to. + +## Configuring the stream connector in Centreon + +1. On your central server, go to **Configuration > Pollers > Broker configuration**. +2. Click on **central-broker-master** (or the appropriate broker configuration if it is a poller or a remote server that will send events). +3. On the **Output** tab, select **Generic - Stream connector** from the list and then click **Add**. A new output appears in the list. +4. Fill in the fields as follows: + +| Field | Value | +| --------------- | ------------------------------------------------------- | +| Name | Splunk metrics | +| Path | /usr/share/centreon-broker/lua/splunk-metrics-apiv2.lua | +| Filter category | Neb | + +5. To enable Centreon to connect to your Splunk equipment, fill in the following mandatory parameters. The fields for the first entry are already present. Click on the **+Add a new entry** link located below the **Filter category** table to add another one. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | --------------------------------------- | ------------------------------------------------------- | +| string | http_server_url | The URL of the Splunk service collector | `https://mysplunk.centreon.com:8088/services/collector` | +| string | splunk_token | Token to use the event collector API | | + +6. Fill in any optional parameters you want (using the **+Add a new entry** link): + +| Type | Name | Value explanation | default value | +| ------ | ----------------- | --------------------------------------------------------------- | ------------------------------------------- | +| string | logfile | The file in which logs are written | /var/log/centreon-broker/splunk-metrics.log | +| number | log_level | Logging level from 1 (errors) to 3 (debug) | 1 | + +7. Use the stream connector's optional parameters to [filter or adapt the data you want Centreon to send to Splunk](#filtering-or-adapting-the-data-you-want-to-send-to-splunk). + +8. [Deploy the configuration](../../monitoring/monitoring-servers/deploying-a-configuration.md). + +9. Restart **centengine** on all pollers: + + ```shell + systemctl restart centengine + ``` + + Splunk should now receive data from Centreon. To test if it is working, see [Curl commands: testing the stream connector](#curl-commands-testing-the-stream-connector). + +### Filtering or adapting the data you want to send to Splunk + +All stream connectors have a set of [optional parameters](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters), that allow you to filter the data you will send to your Splunk equipment, to reformat the data, to define a proxy... + +Each optional parameter has a default value, that is indicated in the corresponding documentation. + +* To override the default value of a parameter, click on the **+Add a new entry** link located below the **Filter category** table to add a custom parameter. For example, if you want to only send to Splunk the events handled by a poller named "poller-1", enter: + + ```text + type = string + name = accepted_pollers + value = poller-1 + ``` + +* For the Splunk Metrics stream connector, the following values always override the default values, you do not need to define them in the interface. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Splunk REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send events with the following format. + +### service_status event + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1675865364, + "fields": { + "event_type": "service", + "state": 2, + "state_type": 1, + "hostname": "my_host", + "service_description": "my_service", + "ctime": 1675865364, + "metric: pl": 0, + "metric: rta": 10, + "metric: rtmin": 5, + "metric: rtmax": 15 + } +} +``` + +### host_status event + +```json +{ + "sourcetype": "_json", + "source": "http:my_index", + "index": "my_index", + "host": "Central", + "time": 1675865364, + "fields": { + "event_type": "host", + "state": 1, + "state_type": 1, + "hostname": "my_host", + "ctime": 1675865364, + "metric: pl": 0, + "metric: rta": 10, + "metric: rtmin": 5, + "metric: rtmax": 15 + } +} +``` + +### Custom event format + +You can't change the format of the event for metrics oriented stream connectors. This means you cannot send other Broker events that contain performance data. + +## Curl commands: testing the stream connector + +### Sending events + +If you want to test that events are sent to Splunk correctly: + +1. Log in to the server that you configured to send events to Splunk (your central server, a remote server or a poller). +2. Run the following command: + + ```shell + curl -X POST -H "content-type: application/json" -H "authorization: Splunk " '' -d '{"sourcetype": "","source": "","index": "","host": "","time": ,"event": {"event_type": "host","state": 1,"state_type": 1,"hostname":"my_host","ctime": 1675865364,"metric: pl": 0,"metric: rta": 10,"metric: rtmin": 5,"metric: rtmax": 15}}' + ``` + + > Replace all the *``* inside the above command with the correct value. For instance, ** may become *_json*. + +3. Check that the event has been received by Splunk. diff --git a/versioned_docs/version-25.10/integrations/data-analytics/sc-warp10.md b/versioned_docs/version-25.10/integrations/data-analytics/sc-warp10.md new file mode 100644 index 000000000000..96f51e6ea9cc --- /dev/null +++ b/versioned_docs/version-25.10/integrations/data-analytics/sc-warp10.md @@ -0,0 +1,67 @@ +--- +id: sc-warp10 +title: Warp10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## How it works + +Warp10 stream connector sends data to Warp10 using centreon neb events as a +source + +## Compatibility + +**to be determined** + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-warp10 +``` + + + + + +```shell +dnf install centreon-stream-connector-warp10 +``` + + + + + +```shell +apt install centreon-stream-connector-warp10 +``` + + + + +## Requirements and configuration + +This stream connector needs the following configuration: + +| Filter category | +| --------------- | +| Neb | + +| Path | +| ------------------------------------------------ | +| /usr/share/centreon-broker/lua/export-warp10.lua | + +| Parameter | type | Example of value | +| --------- | ------ | ---------------- | +| logfile | string | mylogfile.log | +| ipaddr | string | 192.168.0.6 | +| port | number | yyyyy | +| token | string | xxxxxxxxxxxxxxx | +| max\_size | number | 100 | diff --git a/versioned_docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md new file mode 100644 index 000000000000..b6e43575215d --- /dev/null +++ b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/dem-overview.md @@ -0,0 +1,8 @@ +--- +id: dem-overview +title: Digital Experience Monitoring +--- + +Get measurements from tools dedicated to tracking web and application +performances to correlate it within Centreon by combining it with other +monitoring probes. \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-mip.md b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-mip.md new file mode 100644 index 000000000000..3658ed990dbb --- /dev/null +++ b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-mip.md @@ -0,0 +1,95 @@ +--- +id: monitoring-dem-mip +title: Maltem Insight Performances Rest API +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Overview + +Maltem Insight Performance (MIP) provides solutions to measure performance of web applications and thick clients through custom scenarios. It provides an API to gather metrics and status associated to the end-user experience from various locations. + +## How it works + +The MIP instance exposes a JSON based RestAPI. Centreon connector uses this endpoint to fetch relevant data about Digital Experience Monitoring Scenarios + +![image](../../assets/integrations/external/mip-connector-architecture.png) + +## Compatibility + +The connector has been tested with MIP v 6.4.90 and its API. + +## Requirements + +### MIP + +To be able to get data from MIP API, you must have a valid API key. Contact MIP support or sales representative to get one. + +### Centreon + + + + +1. Install the MIP plugin on each poller monitoring MIP endpoints: + +```bash +yum install -y centreon-plugin-Applications-Monitoring-Mip-Restapi` +``` + +2. Install the Plugin-Pack RPM on your Central Server: + + + + +1. Install the MIP plugin on each poller monitoring MIP endpoints: + +```bash +yum install -y centreon-plugin-Applications-Monitoring-Mip-Restapi` +``` + +2. Install the Plugin-Pack RPM on your Central Server: + +```bash +yum install -y centreon-pack-applications-monitoring-mip-restapi` +``` + +3. Install the Plugin-Pack through "Configuration \> Plugin-Packs \> Manager" menu: + +![install\_epp](../../assets/integrations/external/mip-epp-install.png) + + + + +## Configuration + +### Hosts + +You can now add a new host based on the **App-Monitoring-Mip-Restapi-custom** host template. The host macros marked hereafter as "mandatory" need to be configured: + + +| Mandatory | Name | Description | +| :---------- | :------------------- | :------------------------------------------------------- | +| x | MIPAPIPROTO | Protocol used to connect to MIP API. Default: https | +| x | MIPAPIPORT | Port used to connect to MIP API. Default: 443 | +| x | MIPAPIHOSTNAME | MIP Instance FQDN | +| x | MIPAPIKEY | MIP API Key | +| | MIPAPIEXTRAOPTIONS | Any relevant extraoptions (proxy, http-backend, etc.) | +| x | MIPAPITIMEOUT | Timeout to use during API requests | + +Set the 'Create service linked to template" option to 'No' and save your configuration. + +### Services + +A discovery rule is available to get all your scenarios and quickly configure them as Centreon services. Here is a step-by-step guide: + + +* Go to "Configuration > Services" and click "Scan" in the Discovery sub menu +* Fill the Host box with the hostname configured in the previous section +* Select 'App-Monitoring-Mip-Scenarios' in the rule drop-down list on the left + +* Click Scan to launch the discovery process + +* Check the boxes associated to the scenario you want to monitor + +* Save and then go to the 'Configuration > Pollers' menu to export your configuration diff --git a/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-skylight-pvx.md b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-skylight-pvx.md new file mode 100644 index 000000000000..60d22c97a534 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/digital-experience-monitoring/pack-skylight-pvx.md @@ -0,0 +1,76 @@ +--- +id: accedian-pvx-skylight +title: Accedian PVX Skylight +--- + +## How it works + +Every PVX-Skylight instance provides XML API endpoints allowing Centreon to +perform queries against it. + +![architecture](../../assets/integrations/external/skylight-pvx-connector.png) + +## Compatibility + +The connector has been tested with the following versions: \* PVX version 5.1.1 + +## Requirements + +### PVX + +To query PVX API, you need to generate an access key. This key will never expire +and the procedure below is an extract from the official documentation +. + +Follow these steps to get your API key. In each step replace the value of the +macros enclosed by '\< \>' with yours. + +Command: `curl -k +'https://****/api/login?user=****&password=****'` + +Result: + +``` json +{ + "type": "result", + "result": "**session:91554086-842b-4b73-9028-c51d20d91b94**" +} +``` + +Thanks to the obtained session ID, execute the command below get a secret key + +Command: `curl -k +'https:///api/create-api-key?name=****&_session=session:91554086-842b-4b73-9028-c51d20d91b94'` + +Result: + +``` json +{ + "type": "result", + "result": "**secret:e40b1cc6-f629-43a4-8be6-14a9c9f036e0**" +} +``` + +In this example the API key is "secret:e40b1cc6-f629-43a4-8be6-14a9c9f036e0". + +### Centreon + +On each poller connecting to a PVX host, install the plugin: + +`[root@cps-demo-central ~]# yum install -y +centreon-plugin-Applications-Pvx-Restapi.noarch` + +On your central server, install the plugin-pack through "Configuration \> +Plugin-Packs \> Manager" menu: + +![install\_epp](../../assets/integrations/external/skylight-pvx-epp-install.png) + +> :warning: **If you are using an offline license**: Make sure to install +> the RPM package first with the command below: + +`[root@cps-demo-central ~]# yum install -y +centreon-pack-applications-pvx-restapi.noarch` + +## Getting started + +You can now deploy hosts based upon the **App-Pvx-Application-Restapi-custom**. diff --git a/versioned_docs/version-25.10/integrations/event-management/event-management-overview.md b/versioned_docs/version-25.10/integrations/event-management/event-management-overview.md new file mode 100644 index 000000000000..948591986b99 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/event-management-overview.md @@ -0,0 +1,8 @@ +--- +id: event-management-overview +title: Event Management +--- + +Leverage the power of Stream Connectors to send your logs and alerts to your +incident management solution to externalize incident management, including +escalations or automation. \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-bsm.md b/versioned_docs/version-25.10/integrations/event-management/sc-bsm.md new file mode 100644 index 000000000000..fab1f8668bb8 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-bsm.md @@ -0,0 +1,135 @@ +--- +id: sc-hp-bsm +title: BSM +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## BSM + Centreon Integration Benefits + +BSM Stream Connector sends events related data from **Centreon** to **Micro Focus BSM** (Business Service Management). + +## How it Works + +* Every time a service or a host's state is checked, the event passes through Centreon Broker, which uses the functions defined in the Stream Connector to send state changes to BSM. + +## Requirements + +* Integration with BSM requires the ability to access a **webservice on you BSM platform**. Please contact your BSM expert for this part. +* A Centreon account is required with either **admin privileges** or **Export configuration** and **Broker configuration** menu access in the WUI. +* A **`root` access in command-line interface on Centreon central server** is required as well. + +## Support + +If you need help with this integration, depending on how you are using Centreon, you can: + +* **Commercial Edition customers**: please contact the [Centreon Support team](mailto:support@centreon.com). +* **Open Source Edition users** or **Centreon IT-100 users** (free versions): please visit [our community platform The Watch](https://thewatch.centreon.com/) where our users and staff will try to help you. + +## Integration Walkthrough + +### Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + + +```shell +dnf install centreon-stream-connector-bsm +``` + + + + + +```shell +dnf install centreon-stream-connector-bsm +``` + + + + + +```shell +apt install centreon-stream-connector-bsm +``` + + + + +The BSM StreamConnnector is now installed on your Centreon central server! + +### Broker configuration + +1. Login to the Centreon WUI using an administrator account. +2. Navigate to the **Configuration** > **Pollers** menu and select **Broker configuration**. +3. Click on the **central-broker-master** broker configuration object and navigate to the **Output** tab. +4. Add a new **Generic - Stream connector** output. +5. Name it as you want (eg. **BSM**) and set the right path for the LUA script: `/usr/share/centreon-broker/lua/bsm_connector.lua`. +6. The parameter `http_server_url` has to be set according to your BSM platforms characteristics: + +| Name | Type | Value | +|-------------------|--------|-------------------------------------------------------------------| +| `http_server_url` | String | `https://:30005/bsmc/rest/events//` | + +7. Save your configuration, then navigate to the **Configuration** > **Pollers** menu and select **Pollers**. +8. Select the **Central** poller and click on **Export configuration**. +9. Keep **Generate Configuration Files** and **Run monitoring engine debug (-v)** checked and select **Move Export Files** and then click on the **Export** button. +10. Restart the `cbd` service: + +```bash +systemctl restart cbd +``` + +Now your central server has loaded the BSM Stream Connector and has started to send data! + +> To make sure that everything goes fine, you should have a look at `central-broker-master.log` and `stream-connector-bsm.log`, both located in `/var/log/centreon-broker`. + +#### Advanced configuration + +**Parameters table** + +| Name | Type | Value example | Explanation | +|---------------------|--------|-------------------------------------------------------------------|----------------------------------------------------------------------------------------------| +| `http_server_url` | String | `https://:30005/bsmc/rest/events//` | URL of your BSM platform | +| `http_proxy_string` | String | `http://your.proxy.server:3128` | Proxy string needed to reach the Internet in HTTP/HTTPS | +| `source_ci` | String | `Centreon` (default value) | Name used to identify the transmitter | +| `log_level` | Number | 2 (default value) | Verbosity level for logs 0: errors only 1: +warnings, 2: +verbose, 3: +debug | +| `log_path` | String | `/var/log/centreon-broker/my-custom-logfile.log` | Log file full path and name | +| `max_buffer_size` | Number | 1 (default value) | Number of events to enqueue in buffer before sending | +| `max_buffer_age` | Number | 5 (default value) | Maximum number of seconds before sending an event when `max_buffer_size` hasn't been reached | + +**Remarks** + +* The default value of 2 for `log_level` is fine for initial troubleshooting, but can generate a huge amount of logs if you monitor a lot of hosts. In order to get less log messages, you should tune this parameter. +* The default value of 1 for `max_buffer_size` works fine and ensures the best response times. You might want to tune it (*ie.* increase it) if you have an important amount of data to send to BSM. + +--------------- + +## How to Uninstall + +1. Login to the Centreon WUI using an administrator account. +2. Navigate to the **Configuration** > **Pollers** menu and select **Broker configuration**. +3. Click on the **central-broker-master** broker configuration object and navigate to the **Output** tab. +4. Delete the **Generic - Stream connector** output by clicking on the red circled cross at the end of the line. +5. Save your configuration, then navigate to the **Configuration** > **Pollers** menu and select **Pollers**. +6. Select the **Central** poller and click on **Export configuration**. +7. Keep **Generate Configuration Files** and **Run monitoring engine debug (-v)** checked and select **Move Export Files** and then click on the **Export** button. +8. Restart the `cbd` service: + +```bash +systemctl restart cbd +``` + +The Stream Connector is not loaded anymore! + +9. Optionally, you can even delete the script file: + +```bash +rm -f /usr/share/centreon-broker/lua/bsm_connector.lua +``` + diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-hp-omi.md b/versioned_docs/version-25.10/integrations/event-management/sc-hp-omi.md new file mode 100644 index 000000000000..234d72a7536a --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-hp-omi.md @@ -0,0 +1,67 @@ +--- +id: sc-hp-omi +title: HP OMI +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## How it works + +HP OMI stream connector sends events related data to HP OMI + +## Compatibility + +**to be determined** + +### Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-omi +``` + + + + + +```shell +dnf install centreon-stream-connector-omi +``` + + + + + +```shell +apt install centreon-stream-connector-omi +``` + + + + +## Requirements and configuration + +This stream connector needs the following configuration: + +| Filter category | +| --------------- | +| Neb | + +| Path | +| ------------------------------------------------- | +| /usr/share/centreon-broker/lua/omi\_connector.lua | + +| Parameter | type | Example of value | +| --------- | ------ | ------------------------------------------- | +| logfile | string | /var/log/centreon-broker/omi\_connector.log | +| ipaddr | string | 192.168.0.6 | +| loglevel | number | 2 | +| port | number | 30005 | +| max\_size | number | 5 | +| max\_age | number | 60 | diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-opsgenie.md b/versioned_docs/version-25.10/integrations/event-management/sc-opsgenie.md new file mode 100644 index 000000000000..90f21529eabe --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-opsgenie.md @@ -0,0 +1,215 @@ +--- +id: sc-opsgenie +title: Opsgenie integration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Opsgenie + Centreon Integration Benefits + +* Manage your notifications when an alert is detected by Centreon. +* Deduplicate your alerts from Centreon +* Distinguish alerts from incidents using Centreon BAM and Opsgenie +* Create reporting based on your notifications from Centreon + +## How it Works + +* Every time a service, a host or a BA state is checked, the event passes through Centreon Broker, which loads the Stream Connector to send state changes. +* State changes can occur in case of an anomaly detection. +* An alias is generated for each alert to make use of Opsgenie deduplication: + +## Requirements + +* Opsgenie integration requires two different API key. The first one is an integration API key coming from the **Rest API HTTPS over JSON** integration. This integration must have the **Create and Update Access**. The second access is an API key coming from the **APP Settings**. This key must have the **Create and Update** access right. +* It is also necessary to use a Centreon account with either **admin privileges** or **Export configuration** and **Broker configuration** menu access in the WUI, as well as a **`root` access in command-line interface**. + +## Support + +If you need help with this integration, depending on how you are using Centreon, you can: + +* **Commercial Edition customers**: please contact the [Centreon Support team](mailto:support@centreon.com). +* **Open Source Edition users** or **Centreon IT-100 users** (free versions): please visit [our community platform The Watch](https://thewatch.centreon.com/) where our users and staff will try to help you. + +## Integration Walkthrough + +### In Opsgenie + +> Warning, this documentation was written in February 2021, it is possible that certain elements described below became obsoletes due to changes on Opsgenie. + +#### Opsgenie integration: alerts + +1. From the **Settings** menu, select **Integration list**. +2. In the integration list, add an **API** integration (Rest API HTTPS over JSON). +3. Head over the **Configured integrations** menu and edit your **API** integration to enable it if it is not. You also must to give it a **Create and Update Access**. Save your configuration and the **API Key** that is mandatory to send alerts from Centreon to Opsgenie. This **API key** is referred as **integration_api_token** in the Centreon configuration. + +#### Opsgenie integration: incidents + +1. Before starting, this integration will only work if you are using the Centreon BAM module. +2. From the **Settings** menu, select **API key management** in the subcategory **APP SETTINGS**. +3. In the **API key management** menu, add a new API key with **Create and Update** access +4. Save your configuration and your **Api key** that is mandatory to send incidents from Centreon to Opsgenie. This **API key** is referred as **app_api_token** in the Centreon configuration. + +### In Centreon + +#### Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-opsgenie +``` + + + + + +```shell +dnf install centreon-stream-connector-opsgenie +``` + + + + + +```shell +apt install centreon-stream-connector-opsgenie +``` + + + + +The Opsgenie Stream Connnector is now installed on your Centreon central server! + +#### Broker configuration + +1. Login to the Centreon WUI using an administrator account. +2. Navigate to the **Configuration** > **Pollers** menu and select **Broker configuration**. +3. Click on the **central-broker-master** broker configuration object and navigate to the **Output** tab. +4. Add a new **Generic - Stream connector** output. +5. Name it as you want (eg. **Opsgenie**) and set the right path for the LUA script: `/usr/share/centreon-broker/lua/opsgenie.lua`. +6. Add at least one string parameter. That parameter is a key that must be configured. The parameter name *must be* `app_api_token` (for the alerts) or `integration_api_token` (for the incidents, requires the Centreon BAM module). If you want to use both aspects then you need to add both parameters in your configuration + +| Name | Type | Value | +| ------------------------- | ------ | ----------------------- | +| `app_api_token` | String | `` | +| `integration_api_token` | String | `` | + +7. Save your configuration, then navigate to the **Configuration** > **Pollers** menu and select **Pollers**. +8. Select the **Central** poller and click on **Export configuration**. +9. Keep **Generate Configuration Files** and **Run monitoring engine debug (-v)** checked and select **Move Export Files** and then click on the **Export** button. +10. Restart the `cbd` service: + +```bash +systemctl restart cbd +``` + +Now your central server has loaded the Opsgenie Stream Connector and has started to send data! + +To make sure that everything goes fine, you should have a look at `central-broker-master.log` and `connector-opsgenie.log`, both located in `/var/log/centreon-broker`. + +#### Advanced configuration + +**Parameters table** + +| Name | Type | Default value | Description | +| --------------------------- | ------ | ----------------------------------------------------------------------- | ---------------------------------------------- | +| `api_url` | String | `https://api.opsgenie.com` | Opsgenie api address. Use https://api.eu.opsgenie.com if your instance is in Europe | +| `proxy_address` | String | | If needed, the address of the proxy server (requires proxy_port option) | +| `proxy_port` | String | | The port of the proxy server | +| `proxy_username` | String | | If needed, the proxy user (requires proxy_password option) | +| `proxy_password` | String | | the proxy user password | +| `logfile` | String | `/var/log/centreon-broker/connector-opsgenie.log` | logfile for the stream connector | +| `host_status` | String | `0,1,2` | send event for up, down and unreachable hosts | +| `service_status` | String | `0,1,2,3` | send event for ok, warning, critical, unknown services | +| `ba_status` | String | `0,1,2` | send event for ok, warning, critical business activities | +| `hard_only` | Number | `1` | Only send events in hard state | +| `acknowledged` | Number | `0` | Only send events that are not acknowledged | +| `element_type` | String | `host_status,service_status,ba_status` | Send host, service, BA centreon status event | +| `category_type` | String | `neb,bam` | Filter out non neb or bam events | +| `in_downtime` | Number | `0` | Only send events that are not in downtime | +| `max_buffer_size` | Number | `1` | Send events one at a time | +| `max_buffer_age` | Number | `5` | Store events for 5 second before sending them unless max_buffer_size is reached before | +| `max_stored_events` | Number | `10` | Keep event in cache to avoid sending duplicated events, change with caution | +| `skip_anon_events` | Number | `1` | Do not send events from hosts or services that are not found in the broker cache | +| `skip_nil_id` | Number | `1` | Do not send events from objects that do not have an ID (meta services most of the time) | +| `accepted_hostgroups` | String | | List of hostgroups in which the host must be (coma separeted eg: grp1,grp2,grp3) | +| `date_format` | String | `%Y-%m-%d %H:%M:%S` | The default date format for converted timestamps (https://www.lua.org/pil/22.1) | +| `host_alert_message` | String | `{last_update_date} {hostname} is {state}` | The default message for host alerts. See [host event macros](sc-opsgenie.md#host-event-macros) for more details about macros | +| `host_alert_description` | String | | The default description of a host alert. See [host event macros](sc-opsgenie.md#host-event-macros) for more details about macros | +| `host_alert_alias` | String | `{hostname}_{state}` | The default alias for a host alert, useful for alert deduplication. See [host event macros](sc-opsgenie.md#host-event-macros) for more details about macros | +| `service_alert_message` | String | `{last_update_date} {hostname} // {serviceDescription} is {state}` | The default message for service alerts. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `service_alert_description` | String | | The default description of a service alert. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `service_alert_alias` | String | `{hostname}_{serviceDescription}_{state}` | The default alias for a service alert, useful for alert deduplication. See [service event macros](sc-opsgenie.md#service-event-macros) for more details about macros | +| `ba_incident_message` | String | `{baName} is {state}, health level reached {level_nominal}` | The default message for a ba incident. See [BA event macros](sc-opsgenie.md#ba-event-macros) for more details about macros | +| `ba_incident_description` | String | | The default description of a ba incident. See [BA event macros](sc-opsgenie.md#ba-event-macros) for more details about macros | +| `enable_incident_tags` | Number | `1` | Add tags to incidents | +| `get_bv` | Number | `1` | Add BV names as tags if `enable_incident_tags` is set to `1` +| `ba_incident_tags` | String | `centreon,applications` | List of tags for an incident. must be coma separeted. It will automatically add all the BV related to the BA as tags | +| `enable_severity` | Number | `0` | If set to 1, tries to match a Centreon severity value to an Opsgenie priority. | +| `priority_must_be_set` | Number | `0` | Will drop the alert if set to 1 and it can't match the severity with a priority according to the relation set in the `priority_matching` parameter | +| `priority_matching` | String | `P1=1,P2=2,P3=3,P4=4,P5=5` | Links priorities to severities with the following syntax: priority_name=severity_value,priority_name=severity_value. | +| `opsgenie_priorities` | String | `P1,P2,P3,P4,P5` | Coma separeted list of Opsgenie priorities | + +**Remarks** + +* A value of 2 for `log_level` is fine for initial troubleshooting, but can generate a huge amount of logs if you monitor a lot of hosts. In order to get less log messages, you should keep it a 1. + +--------------- + +## How to Uninstall + +1. Login to the Centreon WUI using an administrator account. +2. Navigate to the **Configuration** > **Pollers** menu and select **Broker configuration**. +3. Click on the **central-broker-master** broker configuration object and navigate to the **Output** tab. +4. Delete the **Generic - Stream connector** output by clicking on the red circled cross at the end of the line. +5. Save your configuration, then navigate to the **Configuration** > **Pollers** menu and select **Pollers**. +6. Select the **Central** poller and click on **Export configuration**. +7. Keep **Generate Configuration Files** and **Run monitoring engine debug (-v)** checked and select **Move Export Files** and then click on the **Export** button. +8. Restart the `cbd` service: + +```bash +systemctl restart cbd +``` + +The Stream Connector is not loaded anymore! + +9. Optionally, you can even delete the script file: + +```bash +rm -f /usr/share/centreon-broker/lua/opsgenie.lua +``` + +## Macros + +Macros are a tool to create dynamic messages depending on the event you want to send. They must be enclosed by {} (eg: {hostname}). If a macro is a time type macro then you will be able to use **\_date suffix** to convert it to a human readable format. You can Change this format using the string parameter `date_format` (eg: {last_update} is a timestamp macro. You can use {last_update_date} to have it converted) + +#### Host event macros + +| Macro name | +| ---------- | +| hostname | + +All the Properties in the [Host status](../../developer/developer-broker-mapping.md#host-status) table are also usable + +#### Service event macros + +| Macro name | +| -------------------- | +| hostname | +| serviceDescription | + +All the Properties in the [Service status](../../developer/developer-broker-mapping.md#service-status) table are also usable + +#### BA event macros + +| Macro name | +| ------------- | +| baName | +| baDescription | + +All the Properties in the [Ba status event](../../developer/developer-broker-mapping.md#ba-status-event) table are also usable diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-pagerduty-events.md b/versioned_docs/version-25.10/integrations/event-management/sc-pagerduty-events.md new file mode 100644 index 000000000000..9c4a2b35e234 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-pagerduty-events.md @@ -0,0 +1,202 @@ +--- +id: sc-pagerduty-events +title: PagerDuty Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## PagerDuty + Centreon Integration Benefits + +* Notify on-call system or application administrators when an alert is detected by Centreon. +* Incidents will automatically resolve in PagerDuty when Centreon detects that the check point is back to normal. +* Create high and low urgency incidents based on the state of the alert. +* Send metrics when available to give more insight about the alert. + +## How it Works + +* Every time a service or a host's state is checked, the event passes through Centreon Broker, which loads the Stream Connector to send state changes. +* State changes can occur in case of an anomaly detection or metrics falling out of range. +* Once the check point is back to normal, a resolve event will be sent to the PagerDuty service to resolve the alert. +* You can choose from where the stream connector is sending data. Pick the implementation which best meets your needs: + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-pagerduty +``` + + + + + +```shell +dnf install centreon-stream-connector-pagerduty +``` + + + + + +```shell +apt install centreon-stream-connector-pagerduty +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | --------------------------------------------------------- | +| Name | PagerDuty events | +| Path | /usr/share/centreon-broker/lua/pagerduty-events-apiv2.lua | +| Filter category | Neb | + +### Add PagerDuty mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------- | ------------- | +| string | pdy_routing_key | the event api key for pagerduty | | + +### Add PagerDuty optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ---------------- | ------------------------------------------ | --------------------------------------------- | +| string | pdy_centreon_url | url of your Centreon server | `http://set.pdy_centreon_url.parameter` | +| string | http_server_url | url of the PagerDuty event endpoint | `https://events.pagerduty.com/v2/enqueue` | +| string | client | the PagerDuty client | Centreon Stream Connector | +| string | pdy_source | source of the event | `nil` | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/pagerduty-events.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "payload": { + "summary": "my_host/my_service: it is on fire", + "timestamp": "2021-09-24T14:37:22.000", + "severity": "critical", + "source": "my_host", + "component": "my_service", + "group": "hg_1, hg_2", + "class": "service", + "custom_details": { + "Hostseverity": 5, + "Serviceseverity": 3, + "Hosgroups": "hg_1, hg_2", + "Servicegroups": "sg_1, sg_2" + }, + "routing_key": "dzajzd321dzad412", + "event_action": "trigger", + "dedup_key": "my_host_my_service", + "client": "Centreon Stream Connector", + "client_url": "https://my_super_centreon.bzh", + "links": [ + { + "href": "https://my_super_centreon.bzh/centreon/main.php?p=20202&o=h&host_name=my_host", + "text": "Link to Centreon host summary" + } + ] + } +} +``` + +### host_status event + +```json +{ + "payload": { + "summary": "my_host: it is on fire", + "timestamp": "2021-09-24T14:37:22.000", + "severity": "critical", + "source": "my_host", + "component": "my_host", + "group": "hg_1, hg_2", + "class": "host", + "custom_details": { + "Hostseverity": 5, + "Hosgroups": "hg_1, hg_2", + }, + "routing_key": "dzajzd321dzad412", + "event_action": "trigger", + "dedup_key": "my_host_H", + "client": "Centreon Stream Connector", + "client_url": "https://my_super_centreon.bzh", + "links": [ + { + "href": "https://my_super_centreon.bzh/centreon/main.php?p=20202&o=h&host_name=my_host", + "text": "Link to Centreon host summary" + } + ] + } +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------- | +| string | format_file | /etc/centreon-broker/pagerduty-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' 'https://events.pagerduty.com/v2/enqueue' -d '{"dedup_key":"_H","payload":{"component":"","group":"","summary":"winter is coming","class":"host","severity":"info","timestamp":"2021-09-24T14:37:22.000","custom_details":{"Hostgroups":"","Hostseverity":2},"source":""},"event_action":"trigger","client":"Centreon Stream Connector","routing_key":"dzada32193dzbe1fz51xz","links":[{"href":"","text":"Link to Centreon host summary"}]}' +``` + + You must replace all the *``* inside the above command with their appropriate value. ** may become *linuxServerA*. diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-service-now-em-events.md b/versioned_docs/version-25.10/integrations/event-management/sc-service-now-em-events.md new file mode 100644 index 000000000000..c06ca47e9510 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-service-now-em-events.md @@ -0,0 +1,178 @@ +--- +id: sc-service-now-em-events +title: ServiceNow Event Manager +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +apt install centreon-stream-connector-servicenow +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------------- | +| Name | Servicenow events | +| Path | /usr/share/centreon-broker/lua/servicenow-em-events-apiv2.lua | +| Filter category | Neb | + +### Add Service Now mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------------- | ------------------------------------ | ------------- | +| string | instance | the name of the service now instance | MyCompany | +| string | client_id | The Oauth client_id | | +| string | client_secret | The Oauth client_secret | | +| string | username | The Oauth user | | +| string | password | The Oauth pasword | | + +### Add Service Now optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------- | ------------------------------------------ | ----------------------------------------------------------- | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/servicenow-em-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Service Now REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "records": [{ + "source": "centreon", + "event_class": "centreon", + "severity": 5, + "node": "my_host", + "resource": "my_service", + "time_of_event": "2022-09-06 11:52:12", + "description": "CRITICAL: USB cable behaving like a water hose" + }] +} +``` + +### host_status event + +```json +{ + "records": [{ + "source": "centreon", + "event_class": "centreon", + "severity": 5, + "node": "my_host", + "resource": "my_host", + "time_of_event": "2022-09-06 11:52:12", + "description": "DOWN: someone plugged an UPS on another UPS to create infinite energy" + }] +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **records** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | -------------------------------------------------- | +| string | format_file | /etc/centreon-broker/servicenow-em-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +You must replace all the *``* inside the below commands with their appropriate value. *``* may become *MyCompany*. + +### Get OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=password&client_id=&client_secret=&username=&password=' +``` + +### Refresh OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=refresh_token&client_id=&client_secret=&username=&password=&refresh_token=' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer ' 'https://.service-now.com/api/global/em/jsonv2' -d '{"records":[{"source": "centreon","event_class": "centreon","severity": 5,"node": "my_host","resource": "my_service","time_of_event": "2022-09-06 11:52:12","description": "CRITICAL: USB cable behaving like a water hose"}]}' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md b/versioned_docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md new file mode 100644 index 000000000000..9244844de3c8 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-service-now-incident-events.md @@ -0,0 +1,173 @@ +--- +id: sc-service-now-incident-events +title: ServiceNow Incident +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +dnf install centreon-stream-connector-servicenow +``` + + + + + +```shell +apt install centreon-stream-connector-servicenow +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------------------- | +| Name | Servicenow events | +| Path | /usr/share/centreon-broker/lua/servicenow-incident-events-apiv2.lua | +| Filter category | Neb | + +### Add Service Now mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | ------------- | ------------------------------------ | ------------- | +| string | instance | the name of the service now instance | MyCompany | +| string | client_id | The Oauth client_id | | +| string | client_secret | The Oauth client_secret | | +| string | username | The Oauth user | | +| string | password | The Oauth pasword | | + +### Add Service Now optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | --------------- | ------------------------------------------ | ----------------------------------------------------------------- | +| string | http_server_url | service-now.com | the address of the service-now server | +| string | incident_table | incident | the name of the incident table | +| string | source | centreon | the source name of the incident | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/servicenow-incident-stream-connector.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | +| string | host_status | 1,2 | +| string | service_status | 1,2,3 | + +## Event bulking + +This stream connector is compatible with event bulking. Meaning that it is able to send more that one event in each call to the Service Now REST API. + +To use this feature you must add the following parameter in your stream connector configuration. + +| Type | Name | Value | +| ------ | --------------- | --------------- | +| number | max_buffer_size | `more than one` | + +## Event format + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +### service_status event + +```json +{ + "source": "centreon", + "short_description": "CRITICAL my_host my_service is not doing well", + "cmdb_ci": "my_host", + "comments": "HOST: my_host\n SERVICE: my_service\n OUTPUT: is not doing well" +} +``` + +### host_status event + +```json +{ + "source": "centreon", + "short_description": "CRITICAL my_host is not doing well", + "cmdb_ci": "my_host", + "comments": "HOST: my_host\n OUTPUT: is not doing well" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **records** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | -------------------------------------------------- | +| string | format_file | /etc/centreon-broker/servicenow-incident-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +You must replace all the *``* inside the below commands with their appropriate value. *``* may become *MyCompany*. + +### Get OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=password&client_id=&client_secret=&username=&password=' +``` + +### Refresh OAuth tokens + +```shell +curl -X POST -H "Content-Type: application/x-www-form-urlencoded" 'https://.service-now.com/oauth_token.do' -d 'grant_type=refresh_token&client_id=&client_secret=&username=&password=&refresh_token=' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. + +### Send events + +```shell +curl -X POST -H 'content-type: application/json' -H 'Accept: application/json' -H 'Authorization: Bearer ' 'https://.service-now.com/api/now/table/incident' -d '{"source":"centreon","short_description":"CRITICAL my_host my_service is not doing well","cmdb_ci":"my_host","comments":"HOST: my_host\n SERVICE: my_service\n OUTPUT: is not doing well"}' +``` + +The *``* is obtained thanks to **[this curl](#get-oauth-tokens)**. diff --git a/versioned_docs/version-25.10/integrations/event-management/sc-signl4-events.md b/versioned_docs/version-25.10/integrations/event-management/sc-signl4-events.md new file mode 100644 index 000000000000..545fb7c525b8 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/event-management/sc-signl4-events.md @@ -0,0 +1,174 @@ +--- +id: sc-signl4-events +title: Signl4 Events +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Before starting + +- You can send events from a central server, a remote server or a poller. +- By default, this stream connector sends **host_status** and **service_status** events. The event format is shown **[there](#event-format)**. +- Aformentioned events are fired each time a host or a service is checked. Various parameters let you filter out events. + +## Installation + +Login as `root` on the Centreon central server using your favorite SSH client. + +Run the command according on your system: + + + + +```shell +dnf install centreon-stream-connector-signl4 +``` + + + + + +```shell +dnf install centreon-stream-connector-signl4 +``` + + + + + +```shell +apt install centreon-stream-connector-signl4 +``` + + + + +## Configuration + +To configure your stream connector, you must **head over** the **Configuration --> Poller --> Broker configuration** menu. **Select** the **central-broker-master** configuration (or the appropriate broker configuration if it is a poller or a remote server that will send events) and **click** the **Output tab** when the broker form is displayed. + +**Add** a new **generic - stream connector** output and **set** the following fields as follow: + +| Field | Value | +| --------------- | ------------------------------------------------------ | +| Name | Signl4 events | +| Path | /usr/share/centreon-broker/lua/signl4-events-apiv2.lua | +| Filter category | Neb | + +### Add Signl4 mandatory parameters + +Each stream connector has a set of mandatory parameters. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | Value exemple | +| ------ | --------------- | ------------------------------- | ------------- | +| string | team_secret | Team secret | x3x[..]2c | + +### Add Signl4 optional parameters + +Some stream connectors have a set of optional parameters dedicated to the Software that they are associated with. To add them you must **click** on the **+Add a new entry** button located **below** the **filter category** input. + +| Type | Name | Value explanation | default value | +| ------ | ------------------ | ------------------------------------------ | ------------------------------------------------ | +| string | server_address | url of your Centreon serversignl4 instance | `https://connect.signl4.com` | +| string | x_s4_source_system | source system to display in Signl4 | Centreon | +| string | logfile | the file in which logs are written | /var/log/centreon-broker/signl4-events-apiv2.log | +| number | log_level | logging level from 1 (errors) to 3 (debug) | 1 | + +### Proxy configuration + +When using a proxy to connect to the Signl4 endpoint, you can use additional parameters to configure it: + +| Type | Name | Value explanation | +| -------- | ------------------ | ----------------------------------------------------- | +| string | proxy_address | Proxy address | +| number | proxy_port | Proxy port (mandatory when proxy_address is set) | +| string | proxy_username | Proxy username the file in which logs are written | +| password | proxy_password | Proxy password (mandatory when proxy_username is set) | + +### Standard parameters + +All stream connectors can use a set of optional parameters that are made available through Centreon stream connectors lua modules. + +All those parameters are documented **[here](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/sc_param.md#default-parameters)**. + +Some of them are overridden by this stream connector. + +| Type | Name | Default value for the stream connector | +| ------ | ------------------- | -------------------------------------- | +| string | accepted_categories | neb | +| string | accepted_elements | host_status,service_status | + +## Event bulking + +This stream connector is not compatible with event bulking. Meaning that the option `max_buffer_size` can't be higher than 1 + +## Event format + +This stream connector will send event with the following format. + +### service_status event + +```json +{ + "EventType": "SERVICE", + "Date": "Fri Nov 26 11:54:29 CET 2021", + "Host": "Highway", + "Service": "to hell!", + "Message": "acdc song", + "Status": "CRITICAL", + "Title": "Highway/to hell! is CRITICAL", + "X-S4-SourceSystem": "Centreon", + "X-S4-ExternalID": "HOSTALERT_666", + "X-S4-Status": "new" +} +``` + +### host_status event + +```json +{ + "EventType": "HOST", + "Date": "Fri Nov 26 11:54:29 CET 2021", + "Host": "Highway", + "Message": "to hell!", + "Status": "DOWN", + "Title": "Highway is DOWN", + "X-S4-SourceSystem": "Centreon", + "X-S4-ExternalID": "HOSTALERT_666", + "X-S4-Status": "new" +} +``` + +### Custom event format + +This stream connector allows you to change the format of the event to suit your needs. Only the **event** part of the json is customisable. It also allows you to handle events type that are not handled by default such as **ba_status events**. + +In order to use this feature you need to configure a json event format file and add a new stream connector parameter. + +| Type | Name | Value | +| ------ | ----------- | ------------------------------------------------------- | +| string | format_file | /etc/centreon-broker/lua-conf/signl4-events-format.json | + +> The event format configuration file must be readable by the centreon-broker user + +To learn more about custom event format and templating file, head over the following **[documentation](https://github.com/centreon/centreon-stream-connector-scripts/blob/master/modules/docs/templating.md#templating-documentation)**. + +## Curl commands + +Here is the list of all the curl commands that are used by the stream connector. + +### Send events + +You can trigger a signal with the following command: + +```shell +curl -X POST -H 'content-type: application/json' 'https://connect.signl4.com/webhook/' -d '{"EventType": "HOST","Date": "Fri Nov 26 11:54:29 CET 2021","Host": "Highway","Message": "to hell!","Status": "DOWN", "Title": "Highway is DOWN", "X-S4-SourceSystem": "Centreon","X-S4-ExternalID": "HOSTALERT_666","X-S4-Status": "new"}' +``` + +You can then close this signal with the following command: + +```shell +curl -X POST -H 'content-type: application/json' 'https://connect.signl4.com/webhook/' -d '{"EventType": "HOST","Date": "Fri Nov 26 12:00:00 CET 2021","Host": "Highway","Message": "to hell!","Status": "OK", "Title": "Highway is UP", "X-S4-SourceSystem": "Centreon","X-S4-ExternalID": "HOSTALERT_666","X-S4-Status": "resolved"}' +``` + +You must replace the `` inside the URL with yours. diff --git a/versioned_docs/version-25.10/integrations/introduction-integrations.md b/versioned_docs/version-25.10/integrations/introduction-integrations.md new file mode 100644 index 000000000000..e1fafceb305e --- /dev/null +++ b/versioned_docs/version-25.10/integrations/introduction-integrations.md @@ -0,0 +1,33 @@ +--- +id: introduction-integrations +title: Integrations +--- + +## Introduction to third-party integrations + +Centreon provides numerous ways to cooperate with third-party tools to guarantee +a perfect integration within your IT ecosystem. + +Integrations rely on various modules and features to make Centreon compliant with +your data, alerts, events, or metrics management processes: + +- [Centreon Stream Connector](https://github.com/centreon/centreon-stream-connector-scripts), +get the capability to send event and metrics to a third-party tool. They help you to get maximum +insights from your monitoring data while seamlessly integrating with your existing processes thanks +to advanced filtering and formatting capabilities. + +- [Centreon Open Ticket](../alerts-notifications/ticketing.md) +extension introduces additional UI actions and backend boiler-plates to create +cases within your favorite ticketing system. + +This documentation is organized to guide you to the right integration depending upon the +feature or value-proposition you want to obtain by connecting Centreon with a third-party +solution. Here is a list of integrations domains: + +import DocCardList from '@theme/DocCardList'; + + + +Can't find the integration you're expecting? Just let us know by reaching +us on [our community platform The Watch](https://thewatch.centreon.com/) or contacting us through our contact +form on our [website](https://www.centreon.com/en/contact/). diff --git a/versioned_docs/version-25.10/integrations/itsm/itsm-overview.md b/versioned_docs/version-25.10/integrations/itsm/itsm-overview.md new file mode 100644 index 000000000000..403a3715e4d9 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/itsm-overview.md @@ -0,0 +1,14 @@ +--- +id: itsm-overview +title: ITSM +--- + +Transform one or several alerts into case(s) in your favorite ITSM tool. +Doing so allows for advanced incident management in a dedicated tool, and to seamlessly +integrate Centreon monitoring alerts in your existing processes. + +Available providers: + +import DocCardList from '@theme/DocCardList'; + + \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-bmc-footprints.md b/versioned_docs/version-25.10/integrations/itsm/ot-bmc-footprints.md new file mode 100644 index 000000000000..e48a59673353 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-bmc-footprints.md @@ -0,0 +1,39 @@ +--- +id: ot-bmc-footprints +title: BMC Footprints +--- + +## How it works + +BMC Footprints open-tickets provider uses the BMC Footprints SOAP API to open +incidents about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-bmc-footprint-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following BMC Footprints +versions: + + - 11.x + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ----------------------- | +| Address | 10.11.12.13 | +| Webservice Path | /MRcgi/MRWebServices.pl | +| Action | /MRWebServices | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-bmc-remedy.md b/versioned_docs/version-25.10/integrations/itsm/ot-bmc-remedy.md new file mode 100644 index 000000000000..5f3575f52783 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-bmc-remedy.md @@ -0,0 +1,45 @@ +--- +id: ot-bmc-remedy +title: BMC Remedy +--- + +## How it works + +BMC Remedy open-tickets provider uses the BMC Remedy SOAP API to open incidents +about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-bmc-remedy-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following BMC Remedy +versions: + +**To be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ----------------------------------------------------------------------------------------------------- | +| Endpoint | | +| Namespace | IncidentInterface\_Create\_WS | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket with the following parameters + + - Urgency + - Impact + - Last Name + - First Name + - Dataset ID + - Assigned Group diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md b/versioned_docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md new file mode 100644 index 000000000000..3d26f0da7df0 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-easyvista-rest-api.md @@ -0,0 +1,149 @@ +--- +id: ot-easyvista-rest-api +title: EasyVista RestAPI +--- + +The EasyVista Open Tickets provider uses the EasyVista Rest API to open incidents about your monitoring alerts. + +## Requirements + +- Before going any further, make sure that you have correctly set up [Centreon Open Tickets](https://docs.centreon.com/docs/alerts-notifications/ticketing-install/) on your Centreon instance. + +- Then you need to [configure Open Tickets](../../alerts-notifications/ticketing.md#hosts--services) in order for resources (hosts and services) to receive a ticket number. + +## Installing the EasyVistaRest provider + +1. [Download](https://share.centreon.com/s/qypnoTgYfxHejaS) the **EasyVistaRest** folder into **/usr/share/centreon/www/modules/centreon-open-tickets/providers** on the central server, or a remote server. + +2. Edit the **/usr/share/centreon/www/modules/centreon-open-tickets/providers/register.php** file by adding a line for EasyVistaRest at the end, as follows: + + ```shell + $register_providers['RequestTracker2'] = 12; + $register_providers['Itop'] = 13; + $register_providers['EasyVistaRest'] = 14; + ``` + +## Configuring your EasyVista server + +You may need to configure your EasyVista server so that it can receive data from Centreon. Please refer to EasyVista's documentation. Make sure EasyVista is able to receive data sent by Centreon: flows must not be blocked by EasyVista's configuration or by a security equipment. + +## Configuring the connector in Centreon + +1. In Centreon, go to **Configuration > Notification > Rules** to configure Centreon Open Tickets. This opens the **Rules** form. + +2. Click **Add** and enter a new **Rule name** for EasyVistaRest. + +3. Select **EasyVistaRest** in the **Provider** list. + +### Set mandatory parameters + +You must enter the following parameters in the **Easyvista Rest Api** section: + +- **Address**: IP address of the EasyVista server you want to open tickets on. +- **API path** +- **Account**: user account to access the API. +- **Bearer token or account password**: the use of an API token (Bearer token) is recommended but you still can set a standard authentication. If you set a **Bearer token**, refer to the [EasyVista documentation](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/?language=en#HProcedures). +- **Use token**: enter **0** if you set a standard authentication. + +### Add EasyVista custom fields + +> If you have created custom fields in EasyVista, you must create them in Centreon too. + +Your custom fields will appear in the pop up that will allow you to open a ticket. You must use EasyVista's specific syntax: the name of a custom field must begin with ``e_``. + +In this procedure, we will add the **e_city** field. + +#### Add the field to the form template + +1. In the **Easyvista Rest Api** section, click **+Add a new entry**. +2. In the **Argument** list, select **Custom Field**. +3. Fill in the **Value** using the following format: ``{$select.e_city.value}`` (with **e_city** in this example). + > The element **e_city** must be identical to the EasyVista ID. + + > The element **.value** can be replaced with **.placeholder**, see this [step](#define-possible-values). +4. Add as many entries as you need. + +#### Define the type of the field + +Now you need to define the type of the argument you previously added. As you have added custom fields, the argument should have the **custom** type. + +1. In the **Common** section, click **+Add a new entry** in the **Lists** parameter. +2. Following our example, enter: + - **e_city** in the **Id** field, + - **City** in the **Label** field (this will be the label for the dropdown list in the ticket creation pop-up), + - **Custom** in the **Type** field. + > Ensure the **Id** is identical to what you entered in the custom field above: **e_city** in this case. + +#### Define possible values + +Now the custom field is configured, you need to associate possible values to it. This is the list of values users will see in Centreon when opening a ticket. In this case, you will define the possible values for **e_city**. + +> For the value you set previously in the **Argument** field: +- if you specified ``{$select.e_city.value}``: the name of the **value** parameter will be sent to EasyVista, +- if you specified ``{$select.e_city.placeholder}``: the name of the **label** parameter will be sent to EasyVista. The **Label** field will be the one users will see in the value selection list when opening the ticket. + +1. In the **Custom list definition**, click **+Add a new entry**. +2. Fill in the **Value** (for instance the zip code of the city) and **Label** (for instance the name of the city) parameters. +3. Add as many new entries as you need. In this case, this would be several cities with their zip code and name. + +### Set filters for assets + +All information sent from Centreon to EasyVista comes from Centreon. The only exception may be assets (equipments, configuration items and monitored resources) that can be retrieved from EasyVista APIs. + +> The filter field will have the following format (this is an example): ``search=field:value1,field:value2`` (see the [EasyVista documentation](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/REST%20API%20-%20See%20a%20list%20of%20assets/?language=en)). + +Follow this procedure if you need to import assets from EasyVista: + +1. In the **Common** section, click **+Add a new entry** in the **Lists** parameter. +2. Fill in the parameters as follows (this is an example): + - **Id** + - **Label:** Asset + - **Type:** Asset + - **Filter:** search=field:value + +## Testing the connector + +To help you analyze problems, use the following curl commands to test the stream connector. + +Note that you must adapt the following commands with your own values. For instance, ```` should be replaced with the address of your EasyVista server. + +The commands below assume that you are using the Bearer token authentication method. +If you use the standard authentication method (user and password), you need to replace ``-H 'Authorization: Bearer`` with ``-u ':'``. + +> The commands below are given as examples. + +### Test the opening of a ticket + +```shell +curl -X POST -k 'https:///api/v1/requests' -H 'Content-Type: +application/json' -H 'Authorization: Bearer ' -d '{"requests": +[{"catalog_guid:"1234","catalog_code":"1234"}]}' +``` + +> This is an example. See the [EasyVista documentation](https://wiki.easyvista.com/xwiki/bin/view/Documentation/Integration/WebService%20REST/REST%20API%20-%20Create%20an%20incident-request/). + + +### Test the closing of a ticket + +```shell +curl -X PUT -k 'https:///api/v1/requests/' -H +'Content-Type: application/json' -H 'Authorization: Bearer ' -d '{"closed": +{}} +``` + +### Retrieve assets + +- With filter: + + ```shell + curl -X GET -k 'https:///api/v1/assets/?fields=asset_tag,HREF' + -H 'Content-Type: application/json' -H 'Authorization: Bearer ' + ``` + +- Without filter: + + ```shell + curl -X GET -k 'https:///api/v1/assets/? + fields=asset_tag,HREF&search=field:value' -H 'Content-Type: application/json' -H + 'Authorization: Bearer ' + ``` diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-easyvista.md b/versioned_docs/version-25.10/integrations/itsm/ot-easyvista.md new file mode 100644 index 000000000000..881c62920b88 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-easyvista.md @@ -0,0 +1,50 @@ +--- +id: ot-easyvista +title: EasyVista API SOAP +--- + +> **SOAP** Service Manager web services are no longer maintained, so we recommend that you use the [**Rest API** version](./ot-easyvista-rest-api.md) to benefit from the latest enhancements and features. + +## How it works + +EasyVista open-tickets provider uses the EasyVista SOAP API to open incidents +about your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-easyvista-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following EasyVista +versions: + +**To be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ------------------------- | +| Address | 192.168.0.27 | +| Webservice Path | /WebService/SmoBridge.php | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket with the following parameters + + - Requestor + - Urgency + - Severity + - Asset + - External reference + - Phone + - Recipient + - Origin + - CI diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-glpi.md b/versioned_docs/version-25.10/integrations/itsm/ot-glpi.md new file mode 100644 index 000000000000..61dc842de672 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-glpi.md @@ -0,0 +1,48 @@ +--- +id: ot-glpi +title: GLPI +--- + +## How it works + +The Glpi provider uses the webservice plugin of Glpi to retrieve data in order +to open a ticket. + +![architecture](../../assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png) + +## Compatibility + +This connector is (at least) compatible with the following Glpi versions: + + - between 8.5 and 9.0 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ------------------------------------ | +| Address | 192.168.0.6 | +| Username | centreon | +| Password | MyPassword | +| Path | /glpi/plugins/webservices/xmlrpc.php | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Glpi: + + - Entities + - Itil categories + - Groups + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#advanced-configuration). + + - Urgency + - Impact diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-glpirestapi.md b/versioned_docs/version-25.10/integrations/itsm/ot-glpirestapi.md new file mode 100644 index 000000000000..e8a2b57940fd --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-glpirestapi.md @@ -0,0 +1,70 @@ +--- +id: ot-glpi-restapi +title: GLPI RestAPI +--- + +## How it works + +The GlpiRestApi provider uses the REST API of Glpi to retrieve data in order to +open a ticket. Since it gathers a lot of configurations objects from Glpi, it +puts them in cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-glpi-rest-api-architecture.png) + +## Compatibility + +This connector is (at least) compatible with the following Glpi versions: + + - 9.4 + - 9.3 + - 9.2 + - 9.1 (Glpi REST API birth) + +You can’t use this provider with Glpi < 9.1. From the 8.5 to 9.0 version, you +should use the old Glpi provider that uses the Glpi plugin called “webservice” + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------ | ---------------------------------------- | +| Address | 10.30.2.46 | +| User token | cYpJTf0SAPHHGP561chJJxoGV2kivhDv3nFYxQbl | +| App token | f5Rm9t5ozAyhcHDpHoMhFoPapi49TAVsXBZwulMR | +| REST API url | /glpi/apirest.php | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Glpi: + + - Entities + - Itil categories + - Requesters + - Users + - Groups + - Suppliers + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#advanced-configuration). + + - User role + - Group role + - Urgency + - Impact + - Priority + +## Configuration + +You'll find the required **app token** in the following menu: +![app\_token](../../assets/integrations/open-tickets/ot-glpi-rest-api-app-token.png) + +You'll find the **user token** in the following menu: +![user\_token](../../assets/integrations/open-tickets/ot-glpi-rest-api-user-token.png) diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-itop.md b/versioned_docs/version-25.10/integrations/itsm/ot-itop.md new file mode 100644 index 000000000000..a98971f48f88 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-itop.md @@ -0,0 +1,54 @@ +--- +id: ot-itop +title: iTop +--- + +## How it works + +The Itop provider connects to your Itop server and retrieve data through the +itop REST API. The data is refreshed dynamically depending on your choices. +Since it gathers a lot of configurations objects from Itop, it puts them in +cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-itop-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Itop versions: + + - 1.4 + - 1.3 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ----------- | ------------------- | +| Address | 10.30.2.22/itop/web | +| API version | 1.4 | +| Username | admin | +| Password | itop | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Itop: + + - Organizations + - Callers + - Services + - Service subcategories + - Origin + +It will also fill the following parameters from a predefined list in Centreon. +You can extend those lists inside the provider configuration since they are +[custom lists](../../alerts-notifications/ticketing.md#advanced-configuration). + + - Impact + - Urgency diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-iws-isilog.md b/versioned_docs/version-25.10/integrations/itsm/ot-iws-isilog.md new file mode 100644 index 000000000000..5ebd0ec8ed26 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-iws-isilog.md @@ -0,0 +1,53 @@ +--- +id: ot-iws-isilog +title: IWS Isilog +--- + +## How it works + +The IWS Isilog provider uses the SOAP API of Isilog to retrieve data in order to +open a ticket. Since it gathers a lot of configurations objects from Isilog, it +puts them in cache. Loging out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-iws-isilog-architecture.png) + +## Compatibility + +This connector is compatibile with at least the following versions of Isilog: + +| Component | Version | +| ----------- | ------------------- | +| Product | IWS Infinity V4.1.0 | +| Referential | 3.0.0 | +| Framework | 4.0.0.0 | + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------- | -------------------------------- | +| Address | demo.iws-saas.fr/isilogwebsystem | +| Username | MyAccount | +| Password | MyPassword | +| Database name | MyDatabase | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now you'll only be able to open a ticket and close it from Centreon. In +the near future you'll be able to fill the following parameters when opening a +ticket + + - Origin + - Impact + - Urgency + - Service + - Category + - Team + - Element diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-jira.md b/versioned_docs/version-25.10/integrations/itsm/ot-jira.md new file mode 100644 index 000000000000..0ba1b6ad0952 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-jira.md @@ -0,0 +1,40 @@ +--- +id: ot-jira +title: Jira +--- + +## How it works + +The Jira provider connects to your Itop server and retrieve data through the +Jira REST API. + +![architecture](../../assets/integrations/open-tickets/ot-jira-architecture.png) + +## Compatibility + +This integration is (at least) compatible with Jira cloud + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing-install.md) +into your Centreon instance. + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ----------------- | ------------------- | +| Address | xxxxx.atlassian.net | +| Rest Api Resource | /rest/api/latest/ | +| Username | MyUser | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Jira: + + - Project + - Priority + - Assignee + - Issue type diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-mail.md b/versioned_docs/version-25.10/integrations/itsm/ot-mail.md new file mode 100644 index 000000000000..c1cebed25eb4 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-mail.md @@ -0,0 +1,33 @@ +--- +id: ot-mail +title: Mail +--- + +## How it works + +The Mail provider sends a mail to a mailbox that an ITSM software will read and +create a ticket based upon it + +![architecture](../../assets/integrations/open-tickets/ot-mail-architecture.png) + +## Compatibility + +This integration is compatible with any ITSM software that is able to create a +ticket from a mail. + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ---------------- | +| From | {$user.email} | +| To | | + +## Possibilities + +You can add custom headers when sending your email diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-otrs.md b/versioned_docs/version-25.10/integrations/itsm/ot-otrs.md new file mode 100644 index 000000000000..dc42de936969 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-otrs.md @@ -0,0 +1,100 @@ +--- +id: ot-otrs-restapi +title: OTRS RestAPI +--- + +## How it works + +The OTRS provider uses the REST API of OTRS to retrieve data in order to open a +ticket. + +![architecture](../../assets/integrations/open-tickets/ot-otrs-architecture.png) + +## Compatibility + +This connector is at least compatible with the following versions of OTRS: + + - OTRS 5 + - OTRS 4 + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------------- | ---------------------------------- | +| Address | 192.168.0.8 | +| Rest link | nph-genericinterface.pl/Webservice | +| Path | /otrs | +| Webservice name | centreon | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from OTRS: + + - Queues + - Priorities + - States + - Types + - Customer users + +## Configuration + +Sadly, some extra configuration is required in order to gather this data from +OTRS. + +1. copying custom webservice files + +copy the content of `extra/Custom` and `extra/Kernal` in `/opt/otrs/` on your +OTRS server. + +2. Edit the configuration file + +Add the following lines in the `/opt/otrs/Kernel/Config.pm` file + +``` perl +# ---------------------------------------------------- # +# insert your own config settings "here" # +# config settings taken from Kernel/Config/Defaults.pm # +# ---------------------------------------------------- # +# $Self->{SessionUseCookie} = 0; +# $Self->{CheckMXRecord} = 0; +$Self->{'GenericInterface::Operation::Module'}->{'Priority::PriorityGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Priority', + 'Name' => 'PriorityGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'Queue::QueueGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Queue', + 'Name' => 'QueueGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'State::StateGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'State', + 'Name' => 'StateGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'Type::TypeGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'Type', + 'Name' => 'TypeGet' +}; +$Self->{'GenericInterface::Operation::Module'}->{'CustomerUser::CustomerUserGet'} = { + 'ConfigDialog' => 'AdminGenericInterfaceOperationDefault', + 'Controller' => 'CustomerUser', + 'Name' => 'CustomerUserGet' +}; +``` + +3. Import the webservice + +On your OTRS web interface, use the import web service button and select the +appropriate yaml file wich is `extra/export/otrs4/centreon.yml` or +`extra/export/otrs5/centreon.yml` diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-request-tracker2.md b/versioned_docs/version-25.10/integrations/itsm/ot-request-tracker2.md new file mode 100644 index 000000000000..6de4ecd21342 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-request-tracker2.md @@ -0,0 +1,38 @@ +--- +id: ot-request-tracker-restapi +title: Request Tracker RestAPI +--- + +## How it works + +The Request Tracker provider uses the REST API of Request Tracker to retrieve +data in order to open a ticket. + +![architecture](../../assets/integrations/open-tickets/ot-request-tracker2-architecture.png) + +## Compatibility + +This connector requires at least the version 2.0 of the REST API of Request +Tracker + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ---------------------------- | +| Address | 192.168.0.7 | +| token | xxxxxxxxxxxxxxxxxxxxxxxxxxxx | +| Path | /REST/2.0/ | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from Request +Tracker: + + - Queues diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-serena.md b/versioned_docs/version-25.10/integrations/itsm/ot-serena.md new file mode 100644 index 000000000000..c8baea432be2 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-serena.md @@ -0,0 +1,37 @@ +--- +id: ot-serena +title: Serena +--- + +## How it works + +Serena open-tickets provider uses the Serena SOAP API to open incidents about +your monitoring alerts. + +![architecture](../../assets/integrations/open-tickets/ot-serena-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following Serena versions: + +**to be determined** + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| --------- | ----------------------------------------------- | +| Endpoint | | +| Namespace | xxxxxxx | +| Username | centreon | +| Password | MyPassword | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to open a ticket diff --git a/versioned_docs/version-25.10/integrations/itsm/ot-service-now.md b/versioned_docs/version-25.10/integrations/itsm/ot-service-now.md new file mode 100644 index 000000000000..5261b0dd62ff --- /dev/null +++ b/versioned_docs/version-25.10/integrations/itsm/ot-service-now.md @@ -0,0 +1,52 @@ +--- +id: ot-servicenow +title: ServiceNow +--- + +## How it works + +ServiceNow open-tickets provider uses the ServiceNow REST API to get +configuration data and open incidents about your monitoring alerts. Since it +gathers a lot of configurations objects from ServiceNow, it puts them in cache. Loging +out or waiting 10 hours will flush the cache. + +![architecture](../../assets/integrations/open-tickets/ot-service-now-architecture.png) + +## Compatibility + +This integration is (at least) compatible with the following ServiceNow +versions: + + - Madrid + - London + - New York + +## Requirements + +Before going any further, make sure that you correctly setup +[centreon-open-ticket](../../alerts-notifications/ticketing.md#advanced-configuration) +into your Centreon instance + +Our provider requires the following parameters: + +| Parameter | Example of value | +| ------------------- | ---------------- | +| Instance Name | MyCompany | +| OAuth Client ID | xxxxxxxxx | +| OAuth Client Secret | yyyyyyyy | +| Username | centreon | +| Password | MyPassword | +| Protocol | https | +| Timeout | 60 | + +## Possibilities + +As of now, the provider is able to retrieve the following objects from ServiceNow: + + - Categories + - Subcategories + - Impact + - Urgency + - Severity + - Assignment Group + - Assignment diff --git a/versioned_docs/version-25.10/integrations/notifications/notifications-overview.md b/versioned_docs/version-25.10/integrations/notifications/notifications-overview.md new file mode 100644 index 000000000000..90d59f495a02 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/notifications/notifications-overview.md @@ -0,0 +1,7 @@ +--- +id: notifications-overview +title: Notifications +--- + +Use the Centreon Engine scheduler notification system to send alerts efficiently +to the right person using multiple communication media (SMS, Instant Messaging, SNMP Traps...). \ No newline at end of file diff --git a/versioned_docs/version-25.10/integrations/notifications/plugin-telegram.md b/versioned_docs/version-25.10/integrations/notifications/plugin-telegram.md new file mode 100644 index 000000000000..d218e24bd569 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/notifications/plugin-telegram.md @@ -0,0 +1,154 @@ +--- +id: plugin-telegram +title: Notify with Telegram bot +--- + +## Introduction + +This documentation is a community contribution from YPSI: + +![logo](../../assets/integrations/notifications/telegram/logo-YPSI.png) + +## How it works + +Telegram notifications connector uses the perl Centreon plugin to send notification through Telegram using their REST API + +![architecture](../../assets/integrations/notifications/telegram/architecture-telegram.png) + +## Installation + +### centreon plugin with telegram + +First of all, you need the Centreon Telegram plugin to be installed on your Centreon server. +First, install Git, then execute the following commands: + +```bash +mkdir /usr/lib/centreon/git-plugins +cd /usr/lib/centreon/git-plugins +git clone https://github.com/centreon/centreon-plugins.git +chown -R centreon-engine. /usr/lib/centreon/git-plugins +``` + +### Telegram configuration + +First of all, reach https://web.telegram.org and sign in + +![login](../../assets/integrations/notifications/telegram/login-telegram.png) + +Then, proceed to talk to the BotFather and tell him the following command + +```/newbot``` + +![newbot](../../assets/integrations/notifications/telegram/newbot-telegram.png) + +As asked by the BotFather, you need to give your bot a name and a username for your bot. This one must end with **_bot**. +To avoid confusion, you can use the same name for both like shown in the picture below. + +![token](../../assets/integrations/notifications/telegram/token-telegram.png) + +Like said by the BotFather, it is very important that you **save your token**. We are going to need it to send notifications later on. + +Now we need to create a new group. To do so, use the telegram menu as follow + +![newgroup](../../assets/integrations/notifications/telegram/newgroup-telegram.gif) + +When creating your group, add your bot to it + +![groupcreation](../../assets/integrations/notifications/telegram/groupcreation-telegram.gif) + +## Configuration + +### Get your chat-id from telegram + +On the telegram webapp page, click on the group previously created to obtain a chat-id from URL + +![chatid](../../assets/integrations/notifications/telegram/chatid-telegram.png) + +for example, if the url is as follow: **https://web.telegram.org/#/im?p=g123456** then, your chat-id is **123456**. + +> Note that while 123456 is your chat-id, you'll need to use **-123456** in your configuration otherwise it won't work + +### Command creation in Centreon + +#### Service notification command + +![service command](../../assets/integrations/notifications/telegram/service-command-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' --bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxxxxx' --host-name='$HOSTNAME$' --service-description='$SERVICEDESC$' --service-state=$SERVICESTATE$ \ +--service-output='$SERVICEOUTPUT$' +``` + +#### Host notification command + +![host command](../../assets/integrations/notifications/telegram/host-command-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxx' \ +--host-name='$HOSTNAME$' \ +--host-state=$HOSTSTATE$ \ +--host-output='$HOSTOUTPUT$' +``` + +## Example + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxxx' \ +--host-name='nirvana' \ +--service-description='yellow-submarine' \ +--service-state=CRITICAL +--service-output='highway to hell' +``` + +![service notification](../../assets/integrations/notifications/telegram/service-notification-telegram.png) + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--http-peer-addr='api.telegram.org' \ +--bot-token='xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \ +--chat-id='-xxxxxxx' \ +--host-name='REM' \ +--host-state=DOWN \ +--host-output='let the sky fall' +``` + +![host notification](../../assets/integrations/notifications/telegram/host-notification-telegram.png) + +## Message options + +When sending your notification you can add various options that you can list using the `--help` option of the Centreon plugin. + +Below are some of the available options: + +| Options | Explanation | Example | +| ----------------- | ------------------------------------------------------ | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | +| \--centreon-token | an autologin token from centreon | | +| \--centreon-url | the centreon url | | +| \--graph-url | graph url. You can use the above options as macro here | **%{centreon\_url}**/include/views/graphs/generateGraphs/generateImage.php?username=myuser&token=**%{centreon\_token}**&hostname=**%{host\_name}**&service=**%{service\_description}** | +| \--link-url | a link url | **%{centreon\_url}**/main.php?p=20201&o=svc&host\_search=**%{host\_name}**&svc\_search=**%{service\_description}** | +| \--proxyurl | the url to your proxy if needed | | + +All options can be displayed with the following command: + +```bash +/usr/lib/centreon/git-plugins/centreon-plugins/src/centreon_plugins.pl \ +--plugin=notification::telegram::plugin \ +--mode=alert \ +--help +``` diff --git a/versioned_docs/version-25.10/integrations/npm/ntopng.md b/versioned_docs/version-25.10/integrations/npm/ntopng.md new file mode 100644 index 000000000000..78aa3330af52 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/npm/ntopng.md @@ -0,0 +1,107 @@ +--- +id: ntopng +title: Widget NtopNG +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Use the NtopNG widget in [custom views](../../alerts-notifications/custom-views.md) to view data about network usage collected by an NtopNG server. + +The widget can display the following views (see [**Examples**](#examples) below): + +* **Top N Local address** : Display the n local hosts that receive/emit the most traffic +* **Top N Remote address** : Display the n remote hosts that receive/emit the most traffic +* **Top N Flows** : Display the top n flows by network usage (local/remote hosts and ports) +* **Top N Applications** : Display the n applications that emit/receive the most traffic (group flows by application) + +## Install the widget + +1. Install the following package on the central server: + + + + +```shell +dnf install centreon-widget-ntopng-listing +``` + + + + +```shell +dnf install centreon-widget-ntopng-listing +``` + + + + +```shell +apt update && apt install centreon-widget-ntopng-listing +``` + + + + + +2. On page **Administration > Extensions > Manager**, install the **NtopNG** widget. + +## Configure the widget + +To configure the widget, click on the wrench icon in its top right corner. A window opens: + +![Parameters](../../assets/integrations/npm/Widget_NtopNG_Options.png) + +### NtopNG Probe + +* **Login**: Account used to access NtopNG (we recommend not to use an admin account) +* **Password**: Password for this account +* **Probe**: IP address of your NtopNG server +* **Protocol**: Protocol to use to connect to NtopNG (https by default) +* **Port**: Network port to connect to NtopNG (TCP/3000 by default) +* **Interface**: ID of the interface. You can find it in the NtopNG interface, on page **Interface**: + +![Interface ID](../../assets/integrations/npm/NtopNG_Interface_ID.png) + +### View + +* **Mode**: Select the data you want to display +* **Top**: Define how many lines should be displayed + +### Filters + +Those filters only work for the **Top N Flows** view. You can filter on an IP address, on a port, or on both. + +* **IP Address**: Display only the traffic related to a specific IP Address (do not use a hostname) +* **Port**: Display only the traffic on this particular port. + +### Misc + +* **Refresh interval (seconds)**: Define how often the data should be refreshed. + +## Examples + +### Top N Local address + +![Top N Local address](../../assets/integrations/npm/Widget_NtopNG_Top_N_Local.png) + +### Top N Remote address + +![Top N Remote address](../../assets/integrations/npm/Widget_NtopNG_Top_N_Remote.png) + +### Top N Flows + +Widget without a filter: + +![Top N Flows](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows.png) + +Widget with a filter on an IP address: + +![Top N Flows Address Filter](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Filter.png) + +Widget with a filter on a port and an IP address: + +![Top N Flows Address Port Filters](../../assets/integrations/npm/Widget_NtopNG_Top_N_Flows_Address_Port_Filters.png) + +### Top N Applications + +![Top N Applications](../../assets/integrations/npm/Widget_NtopNG_Top_N_Applications.png) diff --git a/versioned_docs/version-25.10/integrations/stream-connectors.md b/versioned_docs/version-25.10/integrations/stream-connectors.md new file mode 100644 index 000000000000..dbdcb134d250 --- /dev/null +++ b/versioned_docs/version-25.10/integrations/stream-connectors.md @@ -0,0 +1,169 @@ +--- +id: stream-connectors +title: Stream connectors +--- + +Stream connectors transfer in real time the flow of monitoring data coming from the Centreon platform to a third-party tool. This flow can contain events or metrics. + +## Release notes + +## 2024 + +### September + + + + +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - fixed return code when payload is empty. + + + + +### August + + + + +- [**Splunk Metrics**](data-analytics/sc-splunk-metrics.md) - Fixed an issue with **max_buffer_size** parameter in Splunk stream connector. +- [**Clickhouse**](data-analytics/sc-clickhouse.md) - Added a protection on metric names containing spaces. +- [**InfluxDB 2 Metrics**](data-analytics/sc-influxdb2-metrics.md) - Added a protection on metric names containing spaces. +- [**Centreon library: sc_macro**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_macro.lua) - Fixed an issue with **_scshort flag** leading to the macro name of an event being displayed instead of its value. + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **enable_bam_host** parameter to send BAM "services". +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - Enhanced error report when using **send_data** method in stream connector log files. + + + + +### May + + + + +- [**Canopsis Events**](data-analytics/sc-canopsis-events.md) - Enhanced a lot of functionalities to catch up with the new version of Canopsis (24.04). +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Added a new parameter allowing a delta between timestamps, to fix an issue with the notification of a host status change. +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Removed the **allow_insecure_connection** parameter to convert it to **verify_certificate** (working the opposite way). +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **verify_certificate** parameter (and deprecated **allow_insecure_connection**). + + + + +### April + + + + +- [**All stream connectors**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/docs/README.md) - Added additional debug information when an issue occurs while sending data. +- [**InfluxDB 2 Metrics**](data-analytics/sc-influxdb2-metrics.md) - Added the possibility to send **metric_id**. + + + + +### February + + + + +- [**Clickhouse Metrics**](data-analytics/sc-clickhouse.md) - Initial release of Clickhouse Metrics. + + + + +### January + + + + +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Made elastic username and password optional. +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Added min/max property with thresholds (warning/critical) in the template. +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added method to validate Lua patterns and build a table of patterns to compensate the lack of alternation operator (commonly known as | in POSIX regex). + + + + +## 2023 + +### November + + + + +- [**Centreon library: sc_common**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_common.lua) - Adapted some event types (downtime, acknowledgement and ba_status) to the new bbdo3 protocol (introduced with the Centreon 23.10 release). + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Added a "rejected" filter for hostgroups, servicegroups, bvs, pollers and authors. + + + + +### October + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a way to handle deprecated parameters like **max_buffer_age**. + + + + +### September + + + + +- **InfluxDB2 Metrics** - Initial release of InfluxDB2 Metrics. + + + + +### July + + + + +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **accepted_metrics** parameter to filter metrics that will be sent to metric-oriented stream connectors. +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Added a new **basic_auth** parameter to handle HTTP basic authentication. +- [**Centreon library: sc_metrics**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_metrics.lua) - Added a way to filter out metrics based on their name and the **accepted_metrics** parameter. + + + + +- [**Elastic Metrics**](data-analytics/sc-elasticsearch-metrics.md) - Initial release of Elastic Metrics. + + + + +### February + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Fixed an issue occuring when checking if an event was monitored by an accepted poller. + + + + +### January + + + + +- [**Centreon library: sc_logger**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_logger.lua) - Allowed the possibility to log curl commands with a new method called **log_curl_command**. +- [**sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **log_curl_commands** parameter to enable logging curl commands. +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Handled event flapping with a new method (**is_valid_event_flapping_state**). +- [**Centreon library: sc_params**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_params.lua) - Added a new **flapping** parameter to filter flapping events. +- [**Centreon library: sc_flush**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_flush.lua) - Added a new **add_queue_metadata** method to properly add metadata to a queue. + + + + +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - The long output of the stream connector was incorrectly using the standard output, leading to loss of data. +- [**Centreon library: sc_event**](https://github.com/centreon/centreon-stream-connector-scripts/blob/develop/modules/centreon-stream-connectors-lib/sc_event.lua) - Used the correct cache entry when checking the state of a service in a downtime event. + + + diff --git a/versioned_docs/version-25.10/metrology/chart-management.md b/versioned_docs/version-25.10/metrology/chart-management.md new file mode 100644 index 000000000000..2670945614f7 --- /dev/null +++ b/versioned_docs/version-25.10/metrology/chart-management.md @@ -0,0 +1,77 @@ +--- +id: chart-management +title: Chart management +--- + +Centreon can be used to generate graphs from monitoring information. There are two types of graph: + +* Performance graphs serve to view the evolution of services intuitively. Example: filling level of a hard disk, network + traffic, etc. +* History graphs (or status graphs) are used to view the evolution of the statuses of a service. + +Performance graphs always have a time period for the x-axis and a unit as the y-axis (volts, bytes, etc.). History +graphs always have a time period for the x-axis, and their y-axes do not vary. Only the color of the graph can be used to +view the status of the object: + +* Green for OK status +* Orange for WARNING status +* Red for CRITICAL status +* Gray for UNKNOWN status + +Example of performance graph: + +![image](../assets/metrology/01perf_graph.png) + +## Performance graphs + +There are several ways to view performance graphs: + +* Viewing the graph in the list of services, from **Monitoring \> Status Details \> Services** menu, by mouseover on the + icon ![image](../assets/common/column-chart.png) +* Viewing the graphs from the host' detail page by clicking **View graphs for host** +* Viewing the graph from the service details page +* From the **Monitoring \> Performances \> Graphs** menu to view multiple graphs + +## Status graphs + +In the same way as for the performance graphs, there are several ways of accessing status history graphs: + +* From the service' details page +* From the **Monitoring \> Performances \> Graphs** menu, by first selecting a specific service. + +## Viewing multiple graphs + +To view all graphs, go to the **Monitoring \> Performances \> Graphs** menu. + +![image](../assets/metrology/01graph_list.png) + +This page offers several selection options as well as filtering options: + +* The **Chart** option lets you select the chart you want to display +* The **Period** option lets you select a predefined the time window to display the data +* The **From** and **To** fields let you select a manual time window to display the data +* The **Filter by Host** option lets you filter the **Chart** list by presenting only the graphics linked to the + selected resources +* The **Filter by Hostgroup** option lets you filter the **Chart** list by presenting only the graphics linked to the + selected resources +* The **Filter by Servicegroup** option lets you filter the **Chart** list by presenting only the graphics linked to + the selected resources + +Several actions are possible on the page: + +* To refresh the data manually by clicking the icon ![image](../assets/common/refresh.png) +* To automatically refresh the data by clicking the icon ![image](../assets/common/timer-gray.png) and by selecting a + predefined period +* To display charts on 1, 2 or 3 columns by clicking the associated icon ![image](../assets/metrology/columns_selection.png) + +Several actions are possible on each graph: + +* **Split chart**: separates multiple curves of a graph into multiple graphs, each containing one curve +* **Display multiple periods**: displays the graph over a period of 1 day, 1 week, 1 month, 1 year +* To export the graph in a CSV format by clicking the icon ![image](../assets/common/csv.png) or in PNG by clicking the + icon ![image](../assets/common/png.png) +* To move forward in time by clicking the icon ![image](../assets/metrology/right_arrow.png) or backward by clicking the + icon ![image](../assets/metrology/left_arrow.png) +* It is also possible to zoom in on a time period by clicking the graph and then selecting a time window: + +![image](../assets/metrology/chart_zoom.gif) diff --git a/versioned_docs/version-25.10/metrology/chart_curves.md b/versioned_docs/version-25.10/metrology/chart_curves.md new file mode 100644 index 000000000000..0db24c534f9b --- /dev/null +++ b/versioned_docs/version-25.10/metrology/chart_curves.md @@ -0,0 +1,61 @@ +--- +id: chart-curves +title: Curves +--- + +## Definition + +A curve is the representation of the evolution of performance data (metrics produced from the collection of data) visible +via performance graphs. A graph may contain multiple curves. It is possible to customize the curves by changing certain +settings: curve profile, position of the curves on the graph, legend and additional information (average, total value, etc.). + +## Configuration + +Go to the **Monitoring \> Performances \> Curves** menu + +![image](../assets/metrology/02addcurve.png) + +* The **Template Name** field defines the name of the model. +* The **Hosts/Service Data Source** lists defines the host/service for which this curve will be used. If this information + is not filled in, this curve definition will be applied to all services in which this metric appears. +* The **Data Source Name** field can be used to select the metric which will use this definition. The **List of known metrics** + list can be used to choose the existing metrics already used by the services. +* If the **Stack** box is checked, this curve will be stacked on the others (useful to see the proportion of one metric in + relation to another). +* If the **Stack** box is checked, the **Order** list can be used to define the order display / stacking of the curve (the + smaller the number, the closer it will be to the x-axis). +* If the **Invert** box is checked, the curve is reversed (opposite to the absolute value) in relation to the y-axis (useful + for seeing the proportion of incoming traffic compared to outgoing traffic). +* The **Thickness** list expresses the thickness of the line of the curve (expressed in pixels). +* The **Line color** field defines the color of the curve. +* The **Area color** field concerns the filling color of the curve if the Filling option is checked, (see below). It contains + three fields that correspond to the colors of the OK, WARNING and CRITICAL statuses, respectively. +* The **Transparency** field defines the level of transparency of the contour color. +* If the **Filling** box is checked, the entire curve is filled with the color of the area defined according to the status. + +The attributes below concern the information situated under the graph: + +* The **Legend** field defines the legend of the curve. +* If the **Display only the legend** box is checked, the curve will be masked but the legend will be visible. +* The **Empty lines after this legend** list can be used to define a certain number of empty lines after the legend. +* If the **Print max value** box is checked, the maximum value reached by the curve will be displayed. +* If the **Print min value** box is checked, the minimum value reached by the curve will be displayed. +* If the **Round the min and max** box is checked, the minimum and maximum values will be rounded. +* If the **Print Average** box is checked, the average of the points of the curve will be displayed. +* If the **Print last value** box is checked, the last value collected from the curve will be displayed. +* If the **Print total value** box is checked, the total value is displayed (sum of all the values of the curve in the selected period). +* The **Comment** field can be used to comment on the curve. + +## Examples of curves + +Stacked curves: + +![image](../assets/metrology/02graphempile.png) + +Reversed curves: + +![image](../assets/metrology/02graphinverse.png) + +Curves with filling: + +![image](../assets/metrology/02graphremplissage.png) diff --git a/versioned_docs/version-25.10/metrology/chart_template.md b/versioned_docs/version-25.10/metrology/chart_template.md new file mode 100644 index 000000000000..0d4a992576cf --- /dev/null +++ b/versioned_docs/version-25.10/metrology/chart_template.md @@ -0,0 +1,43 @@ +--- +id: chart-template +title: Graph template +--- + +## Definition + +Graph models are models that can be used to shape graph layouts. Graph models can be used to configure multiple +presentation settings, including the y-axis measurement, the width and height of the graph, or colors, etc. + +## Configuration + +Go to the **Monitoring \> Performances \> Templates** menu + +![image](../assets/metrology/02addgraph_template.png) + +* The **Template name** field represents the name for the graph model +* The **Vertical label** field contains the legend for the y-axis (type of data measured). +* The **Width** and **Height** fields are expressed in pixels and express the width and the height of the model, respectively. +* The **Lower limit** field defines the minimum limit of the y-axis. +* The **Upper limit** field defines the maximum limit of the y-axis. +* The **Base** list defines the calculation base for the data during the scaling of the graph y-axis. Use 1024 for + measurements like bytes (1 KB = 1024 Bytes) and 1000 for measurements like the volt (1 kV = 1000 volts). + > Regardless of the selected value, base 1024 will be used for the following metric units: + > * B + > * bytes + > * bytespersecond + > * B/s + > * B/sec + > * o + > * octets +* The **Scale Graph Values** checkbox enables auto scaling of the graph, and bypasses previous options +* The **Default Centreon Graph Template** lets you display all charts without a predefined template using these values + +> If the **Size to max** box is checked, the graph will automatically be scaled to the scale of the maximum value +> ordinates shown on the given period. + +## Using a graph template + +You can add this layout model when editing a service (or a service template) by going into the **Service Extended Info** +tab in configuration form: + +![image](../assets/metrology/02linkgraph_template.png) diff --git a/versioned_docs/version-25.10/metrology/chart_virtual_metrics.md b/versioned_docs/version-25.10/metrology/chart_virtual_metrics.md new file mode 100644 index 000000000000..c117a7444f5b --- /dev/null +++ b/versioned_docs/version-25.10/metrology/chart_virtual_metrics.md @@ -0,0 +1,54 @@ +--- +id: chart-virtual-metrics +title: Virtual metrics +--- + +## Definition + +"Virtual metrics" means the display of curves resulting from the processing / aggregation of data from a set of data. +The set of data corresponds to various values of curves in the period covered by the graph. +The creation of virtual metrics is based on the RPN (Reverse Polish Notation) language. + +Two types of data set are available: + +* CDEF: this command creates a new set of points starting from one or more series of data. The aggregation is performed + on each point (data). +* VDEF: the result of each aggregation is a value and a time component. This result can also be used in the miscellaneous + graph and printing elements. + +### CDEF vs VDEF + +The CDEF type works on a set of points (data table). The result of the processing (e.g.: division by 8 to convert +bits into bytes) will be a set of points. The VDEF type enables us to extract the maximum from a set of points. + +> For more information on RPN-type notation, refer to the [official RRD documentation](https://oss.oetiker.ch/rrdtool/doc/rrdgraph_rpn.en.html). + +## Configuration + +Go to the **Monitoring \> Performances \> Virtual Metrics** menu + +![image](../assets/metrology/02addvmetric.png) + +* The **Metric name** field defines the name of the metric. +* The **Host/Service Data Source** list can be used to define the service from which to work on the metrics. +* The **DEF Type** field defines the type of data set used to calculate the virtual curve. +* The **RPN (Reverse Polish Notation) Function** field defines the formula to be used to calculate the virtual metric. + +> It is not possible to add together the metrics of different services. However, it is possible to add virtual metrics +> for the calculation of a new metric. + +* The **Metric Unit** field defines the units of the metric. +* The **Warning threshold** field defines the alert threshold to be displayed on the graph. +* The **Critical threshold** field defines the critical threshold to be displayed on the graph. +* If the **Hidden Graph and Legend** box is checked, the curve and the legend are hidden. +* The **Comment** field can be used comment on the metric. + +## Example + +Configuration: + +![image](../assets/metrology/02virtualmetric_conf.png) + +Result: + +![image](../assets/metrology/02virtualmetric_example.png) diff --git a/versioned_docs/version-25.10/metrology/grafana.md b/versioned_docs/version-25.10/metrology/grafana.md new file mode 100644 index 000000000000..d50dc5bdb5c6 --- /dev/null +++ b/versioned_docs/version-25.10/metrology/grafana.md @@ -0,0 +1,90 @@ +--- +id: grafana +title: Centreon plugin for Grafana +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Centreon plugin for Grafana allows you to view data from Centreon platforms in Grafana. If you are already using Grafana to retrieve data from other monitoring platforms, you will be able to view this data side by side with data from Centreon. + +## Prerequisites + +To be able to use the Centreon plugin for Grafana, you must have a valid [MBI](../reporting/introduction.md) license, and the module must be installed on your platform. + +## Available data + +A Centreon Data source allows you to view performance data from Centreon in your Grafana dashboards. +To select the performance data to display, you can combine filters on various types of resources available on your Centreon platform. You can display metrics, virtual metrics and meta services by building filters on the following types of resources: + +- Hosts +- Host groups +- Service Groups +- Services +- Business Activities (if BAM is installed and you have a license for it) +- Anomaly Detection (if the module is installed and you have a license for it) + +Performance data are available, but not data such as the status of hosts and services, or acknowledgments and downtimes. + +## Where do I find the plugin? + +The Centreon plugin for Grafana is available on [Centreon's download page](https://download.centreon.com/). + +## How do I set up the plugin? + +You can use the Centreon data source for Grafana as an unsigned plugin in your private Grafana installation. (This is not possible with a Cloud instance.) + +To use the Centreon data source as an unsigned plugin: + +1. Make sure you have administration privileges on the machine where Grafana runs. + +2. Download the zip file containing the data source from [Centreon's download page](https://download.centreon.com/). The data source is located in the **Grafana** subsection of the **Custom platform** section. + +3. If you do not have a custom init file, create a copy of the **grafana/conf/default.ini** file and name it **custom.ini**. + +4. Extract the data source and put it in the **plugins** directory of your Grafana installation. (The location of this directory is defined in the **plugins** variable of your **grafana/conf/custom.ini** file.) + +5. Edit the **custom.ini** file and add the Centreon data source to the list of allowed unsigned plugins: + + ```text + allow_loading_unsigned_plugins = centreon2-centreon-datasource + ``` + +6. Restart the Grafana service. + + + + +```shell +systemctl restart grafana-server +``` + + + + +On the **Services** tab of the tasks manager, right-click the Grafana service and then click **Restart**. + + + + +The Centreon data source now appears in the list of available plugins, on the **Configuration > Plugins** page of the Grafana interface. + +## Comparing data within a graph + +Using the Centreon plugin for Grafana means that all of your performance data is available in Grafana and you can filter it according to specific data groups. For instance, within the same graph, you can compare the evolution of a metric common to several hosts or to the various hosts of a given host group. + +![image](../assets/metrology/grafana_compare.png) + +You can use the ***** wildcard to filter on several hosts at once. Using [variables](https://grafana.com/docs/grafana/latest/variables/) inside filters allows you to create dynamic contexts. + +## Filtering using variables + +A Grafana dashboard can contain a number of panels. Each panel can display data from a specific source. In that way, you can compare data relating to the same host but from different sources, e.g. if you are monitoring different data on the same device using several tools. + +Use [variables](https://grafana.com/docs/grafana/latest/variables/) to select a list of resources that match filters (e.g. all hosts in the **Linux** host group). In the dashboard, filters will automatically display the corresponding variables. + +![image](../assets/metrology/grafana_variables.png) + +You can customize how the labels for the curves are displayed: go to **Time Series > Standard options**, then use [the **Display name** field](https://grafana.com/docs/grafana/latest/panels-visualizations/configure-standard-options/#display-name). + +* For instance, if you enter **${__field.labels}**, the label includes all possible label customizations (host, service, metric_name). +* If you enter **${__field.labels.host}: ${__field.labels.metric_name}**, the label for a curve will be displayed like this: **10.11.12.13: total_cpu_avg**. diff --git a/versioned_docs/version-25.10/migrate/introduction.md b/versioned_docs/version-25.10/migrate/introduction.md new file mode 100644 index 000000000000..e0206c21635a --- /dev/null +++ b/versioned_docs/version-25.10/migrate/introduction.md @@ -0,0 +1,8 @@ +--- +id: introduction +title: Introduction to the migration process +--- + +Migration procedures apply when you wish to install your Centreon on a different server (typically, to change from an unsupported OS to a [supported OS](../installation/compatibility.md#operating-systems)). You need to install a new OS and a new Centreon platform, then migrate your old data to the new platform. You may need to upgrade your version of Centreon at the same time, if yours is no longer supported. + +If you just want to switch to a newer version of Centreon and your current platform is already installed on a supported OS, use the [upgrade procedures](../upgrade/introduction.md) instead. diff --git a/versioned_docs/version-25.10/migrate/migrate-from-3-4.md b/versioned_docs/version-25.10/migrate/migrate-from-3-4.md new file mode 100644 index 000000000000..473fa8423127 --- /dev/null +++ b/versioned_docs/version-25.10/migrate/migrate-from-3-4.md @@ -0,0 +1,241 @@ +--- +id: migrate-from-3-4 +title: Migrate from a Centreon 3.4 platform +--- + +## Prerequisites + +The following procedure only applies to migration from a Centreon 3.4 platform +installed on a 64-bit GNU/Linux distribution other than Oracle Linux / RHEL 8. +Here are the system requirements: + +| Components | Version | +| --------------- | ------- | +| Centreon Web | 2.8.x | +| Centreon Broker | 3.0.x | +| Centreon Engine | 1.8.x | + +## Migrate + +All servers (central, remote and pollers) in your architecture must have the same major version of Centreon. It is also recommended that they have the same minor version. + +> If your Centreon platform includes a Centreon redundancy system, please +> contact [Centreon support](https://support.centreon.com). + +> If you try to migrate a platform using the **Centreon Poller Display 1.6.x**, +> please refer to the following [migration +> procedure](poller-display-to-remote-server.md). + +### Install the new central server + +Perform the following actions: + +1. You will need to install a new Centreon Central server from +[packages](../installation/installation-of-a-central-server/using-packages.md), until you +complete the installation process by connecting to the Centreon Web +interface. + +2. Perform software and system updates: + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +``` + + + + +```shell +apt update +``` + + + + +> It is advisable to set the same password for the *centreon* user during the web +> installation process. + +### Synchronize the data + +Connect to your old Centreon server and synchronize the following directories: + +```shell +rsync -avz /etc/centreon root@:/etc +rsync -avz /etc/centreon-broker root@:/etc +rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine +rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib +rsync -avz /var/spool/centreon/.ssh root@:/var/spool/centreon +rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img +``` + +> Replace **** with the IP of the new Centreon server. + +### Retrieve databases + +1. Dump source databases: + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. Stop source MariaDB servers: + + ```shell + service mysqld stop + ``` + +3. Export the dumps to the new Centreon 24.10 database server (make sure you +have enough space for large databases dumps): + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. On the Centreon 24.10 database server, drop the original databases and +create them again: + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + ``` + +5. Import the previously transferred dumps: + + ```shell + mysql -u root centreon -p -p + ``` + + Example: if your database_admin_user is `root`, enter: + + ``` + mysql_upgrade -u root -p + ``` + +7. Start the MariaDB process on the new server: + + ```shell + systemctl start mariadb + ``` + +> Replace **** with the IP of the new Centreon server. + +### Synchronize the plugins + +Synchronizing the monitoring plugins is more complex and depends on your +installation. The main directories to synchronize are: + +1. /usr/lib/nagios/plugins/ +2. /usr/lib/centreon/plugins/ + +> To run the plugins, you must first install the required dependencies. + +> If you still have remote Centreon Engine 1.8.1 Pollers whose +> upgrade to 24.10 you want to postpone, be aware that Centreon Web 24.10 resource +> $USER1$ now points to /usr/lib64/nagios/plugins +> +> This is how to mitigate the issue on the 1.8.1 Pollers: +> +> ```shell +> mv /usr/lib64/nagios/plugins/* /usr/lib/nagios/plugins/ +> rmdir /usr/lib64/nagios/plugins/ +> ln -s -t /usr/lib64/nagios/ /usr/lib/nagios/plugins/ +> ``` +> +> You now have a symbolic link like this: +> +> ```shell +> $ ls -alt /usr/lib64/nagios/ +> lrwxrwxrwx 1 root root 24 1 nov. 17:59 plugins -> /usr/lib/nagios/plugins/ +> -rwxr-xr-x 1 root root 1711288 6 avril 2018 cbmod.so +> ``` + +The credentials of the newly created **centreon-gorgone** user need to be updated to match those of the **centreon-gorgone** user on the old server. Edit `etc/centreon-gorgone/config.d/31-centreon-api.yaml` and enter the credentials of the old user. Example: + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +You can now push the poller's configuration from Centreon 24.10 whether the remote +Poller is Centreon Engine 24.10 or 1.8.1. + +### Upgrade Centreon + +On the new server, force the update by moving the contents of the +**/var/lib/centreon/installs/install-24.10.0-YYYYMMDD\_HHMMSS** directory to +the **/usr/share/centreon/www/install** directory: + +```shell +cd /var/lib/centreon/installs/ +mv install-24.10.0-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ +``` + +> If you use the same IP address or same DNS name for the old Centreon webserver +> and the new one, do a full cache cleanup of your browser to avoid JS issues + +Go to `http:///centreon` URL and perform the upgrade. + +> If you changed the *centreon* password during the installation process, you must +> follow these steps: +> +> 1. Edit the /etc/centreon/centreon.conf.php file, +> 2. Edit the /etc/centreon/conf.pm file, +> 3. Edit the Centreon Broker central configuration using Centreon web interface +> and change the password for the **Perfdata generator** and **Broker SQL +> database** output, +> 4. Edit the file /etc/centreon/config.d/10-database.yaml. + +If the IP of your Centreon server has changed, edit the configuration for all +the Centreon Broker modules of your Pollers and change the IP to connect to +the Centreon Central server (output IPv4). See the [Advanced +configuration](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) +chapter for more information. + +Then [generate](../monitoring/monitoring-servers/deploying-a-configuration.md) the +configuration of all your pollers and export it. + +### Upgrade the modules + +Please refer to the documentation of each module to verify compatibility with +Centreon 24.10 and perform the upgrade. + +### Migrate your other servers + +Make sure all servers (central, remote and pollers) in your architecture have the same major version of Centreon. diff --git a/versioned_docs/version-25.10/migrate/migrate-from-el-to-debian.md b/versioned_docs/version-25.10/migrate/migrate-from-el-to-debian.md new file mode 100644 index 000000000000..f22e319b86d4 --- /dev/null +++ b/versioned_docs/version-25.10/migrate/migrate-from-el-to-debian.md @@ -0,0 +1,259 @@ +--- +id: migrate-from-el-to-debian +title: Migrate from an EL-type OS to Debian +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prerequisites + +This procedure only applies if the following conditions are met: + +- You wish to migrate from a 64-bit EL-type OS to Debian. For instance, if you want to migrate from CentOS 7 to Debian 12. +- Your version of Centreon is 18.10 or newer and you wish to upgrade to the latest version of Centreon. If you wish to migrate from an older version, [contact the Centreon support team](https://support.centreon.com). + +All servers (central, remote and pollers) in your architecture must have the same major version of Centreon. It is also recommended that they have the same minor version. + +> If your Centreon platform includes a Centreon redundancy system, please +> contact [Centreon support](https://support.centreon.com). + +## Migrating a platform + +### Step 1: Install the new central server + +1. Install your new OS: check the [supported operating systems](../installation/compatibility.md#operating-systems). + +2. Install a new Centreon central server from [packages](../installation/installation-of-a-central-server/using-packages.md), until you +complete the installation process by connecting to the Centreon web interface. + + > Use the same password for the **centreon** user as for the old platform during the web + > installation process. + +3. Perform software and system updates: + + ```shell + apt update && apt upgrade + ``` + +### Step 2: Synchronize the data + +1. Connect to your old Centreon server. + +2. Generate a pair of ssh keys for **root**: + + ```shell + ssh-keygen -t rsa + ``` + + By default, the key pair generated will be saved to **/root/.ssh/id_rsa.pub** and **/root/.ssh/id_rsa**. + +3. Copy **root**'s public key (**/root/.ssh/id_rsa.pub**) into the **/root/.ssh/authorized_keys** file of the new server. If you are not using **root** for the synchronization, make sure that the user you use has writing rights on the target directory. + +4. From the old server, synchronize the following directories to the new server: + + ```shell + rsync -avz /etc/centreon root@:/etc + rsync -avz /etc/centreon-broker root@:/etc + rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine + rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib + rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img + ``` + + If you have given a custom name to your private key file, use the following format (just replace **id_rsa_custom** with your file name, and `` with the commands above): + + ```shell + rsync -avz -e "ssh -i /root/.ssh/id_rsa_custom" + ``` + + > Replace **** by the IP address of the new Centreon server. + +5. On the new server, change the following user rights: + + ```shell + chown www-data: /etc/centreon-broker/* + chown www-data: /etc/centreon-engine/* + chown centreon: /etc/centreon/* + chown centreon: /var/lib/centreon/* + chown centreon-broker: /var/lib/centreon/metrics/* + chown centreon-broker: /var/lib/centreon/status/* + chown centreon-gorgone: /var/lib/centreon/nagios-perf/perfmon-* -R + chown centreon-engine: /var/lib/centreon/centplugins/* + ``` + +### Step 3: Retrieve the databases + +1. On the old server, create a dump of the databases: + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. On the old server, stop MariaDB: + + ```shell + systemctl stop mariadb + ``` + +3. On the old server, export the dumps to the new Centreon database server (make sure you +have enough space for large database dumps): + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. On the new database server, drop the original databases and +create them again:: + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + exit + ``` + +5. On the new database server, import the previously transferred dumps into the database: + + ```shell + mysql -u root centreon -p -p + ``` + + Example: if your database_admin_user is `root`, enter: + + ```shell + mysql_upgrade -u root -p + ``` + +7. Start the MariaDB process on the new server: + + ```shell + systemctl start mariadb + ``` + +> Replace **** by the IP address of the new Centreon server. + +### Step 4: Synchronize the plugins + +If you only use Centreon plugins, reinstall them on the new server. + +1. Install the Monitoring Connectors repository (you can find its address on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories)). + +2. Run the following commands: + +```shell +apt update +apt install centreon-pack* +apt install centreon-plugin-\* +``` + +On Debian, the Nagios plugins directory (plugins that run commands like **check_icmp**) is **/usr/lib/nagios/plugins/**. Go to **Configuration > Pollers > Resources** and check that the path to the **$USER1$** macro is **/usr/lib/nagios/plugins/**. + +If you are using custom plugins, synchronize the directories that contain your custom plugins, including any necessary dependencies. + +### Step 5: Upgrade Centreon + +1. On the new server, force the update by moving the contents of the +**/var/lib/centreon/installs/install-24.10.x-YYYYMMDD\_HHMMSS** directory to +the **/usr/share/centreon/www/install** directory (**x** is the target version number for your migrated machine): + + ```shell + cd /var/lib/centreon/installs/ + mv install-24.10.x-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ + ``` + +2. If you use the same IP address or same DNS name on the old Centreon webserver and the new one, do a full cache cleanup of your browser to avoid JS issues. + +3. Go to `http:///centreon` and perform the upgrade. + +4. If the password for user **centreon** that you specified when installing the new server is different from the password on the old server, you must follow these steps: + + 1. Edit the **/etc/centreon/centreon.conf.php** file, + 2. Edit the **/etc/centreon/conf.pm** file, + 3. Edit the Centreon Broker central configuration using the Centreon web interface and change the password for the **unfied-sql** output, + 4. Edit the **/etc/centreon/config.d/10-database.yaml** file. + +5. If the IP address of your Centreon server has changed: + - Edit the configuration for all the Centreon Broker modules of your Pollers and change the IP to connect to +the Centreon Central server (output IPv4). See the [Advanced +configuration](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) +chapter for more information. + - The fingerprint of your platform has changed too: [contact Centreon](mailto:support@centreon.com) to obtain a new license. + +6. The credentials of the newly created **centreon-gorgone** user need to be updated to match those of the **centreon-gorgone** user on the old server. Edit `etc/centreon-gorgone/config.d/31-centreon-api.yaml` and enter the credentials of the old user. Example: + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +7. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for all your monitoring servers (including the central). + +8. Restart the following processes: + + ```shell + systemctl restart cbd centengine + systemctl restart gorgoned + systemctl start snmptrapd centreontrapd + systemctl start snmpd + ``` + +9. If your old Centreon server was monitoring itself, and you have changed the username/password for the database during the migration, update the configuration of all related resources (host, services attached to that host). + +10. Go to **Configuration > Monitoring Connector Manager**, then [update all the Monitoring Connectors](../monitoring/pluginpacks.md#updating-one-packall-packs). + +### Step 6 (older versions only): Migrate to Gorgone + +If you are migrating from a Centreon version 18.10, 19.04 or 19.10, [migrate from Centcore to Gorgone](../developer/developer-gorgone-migrate-from-centcore.md). + +### Step 7: Upgrade the modules + +To upgrade the modules, go to **Administration > Extensions > Manager** and click **Update all**. +If you have a MAP server or an MBI server, follow the corresponding migration procedures: + +- Migration procedure for [MAP](../graph-views/map-web-migrate.md), +- Migration procedure for [MBI](../reporting/migrate.md). + +### Step 8: Migrating your other servers (distributed architecture) + +#### Migrating a remote server + +To migrate a remote server: + +1. Follow the same procedure as for a central server. +2. [Attach the new remote server](../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md) to your central server. + +#### Migrating a poller + +To migrate a poller: + +1. [Install a new poller](../installation/installation-of-a-poller/using-packages.md). +2. Synchronize the plugins, as described in [step 4 of the migration procedure for a central server](#step-4-synchronize-the-plugins). +3. On the central server, go to **Configuration > Pollers**. Select the poller that was migrated and update its IP address (if it has changed). +4. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). +5. If your poller does not work after migrating it (e.g. you cannot deploy the configuration or execute monitoring actions), update the poller's fingerprint, as described in this [knowledge base article](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177). diff --git a/versioned_docs/version-25.10/migrate/migrate-from-el-to-el.md b/versioned_docs/version-25.10/migrate/migrate-from-el-to-el.md new file mode 100644 index 000000000000..f3a9160d8c1d --- /dev/null +++ b/versioned_docs/version-25.10/migrate/migrate-from-el-to-el.md @@ -0,0 +1,271 @@ +--- +id: migrate-from-el-to-el +title: Migrate from an EL-type OS to another EL-type OS (from a Centreon 18.10 or newer) +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prerequisites + +This procedure only applies if the following conditions are met: + +- You wish to migrate from a 64-bit EL-type OS to another supported 64-bit EL-type OS. For instance, if you want to migrate from a CentOS 7 to an Alma 8 or 9. +- Your version of Centreon is 18.10 or newer. + +All servers (central, remote and pollers) in your architecture must have the same major version of Centreon. It is also recommended that they have the same minor version. + +> If your Centreon platform includes a Centreon redundancy system, please +> contact [Centreon support](https://support.centreon.com). + +## Migrating a platform + +### Step 1: Install the new central server + +1. Install your new OS: check the [supported operating systems](../installation/compatibility.md#operating-systems). + +2. Install a new Centreon central server from [packages](../installation/installation-of-a-central-server/using-packages.md), until you +complete the installation process by connecting to the Centreon web interface. + + > Use the same password for the **centreon** user as for the old platform during the web + > installation process. + +3. Perform software and system updates: + + + + +```shell +dnf update +``` + + + + +```shell +dnf update +``` + + + + +### Step 2: Synchronize the data + +1. Connect to your old Centreon server. + +2. Generate a pair of ssh keys for **root**: + + ```shell + ssh-keygen -t rsa + ``` + + By default, the key pair generated will be saved to **/root/.ssh/id_rsa.pub** and **/root/.ssh/id_rsa**. + +3. Copy **root**'s public key (**/root/.ssh/id_rsa.pub**) into the **/root/.ssh/authorized_keys** file of the new server. If you are not using **root** for the synchronization, make sure that the user you use has writing rights on the target directory. + +4. From the old server, synchronize the following directories to the new server: + + ```shell + rsync -avz /etc/centreon root@:/etc + rsync -avz /etc/centreon-broker root@:/etc + rsync -avz /var/log/centreon-engine/archives/ root@:/var/log/centreon-engine + rsync -avz --exclude centcore/ --exclude log/ /var/lib/centreon root@:/var/lib + rsync -avz /usr/share/centreon/www/img/media root@:/usr/share/centreon/www/img + ``` + + If you have given a custom name to your private key file, use the following format (just replace **id_rsa_custom** with your file name, and `` with the commands above): + + ```shell + rsync -avz -e "ssh -i /root/.ssh/id_rsa_custom" + ``` + + > Replace **** by the IP address of the new Centreon server. + +### Step 3: Retrieve the databases + +1. On the old server, create a dump of the databases: + + ```shell + mysqldump -u root -p centreon > /tmp/centreon.sql + mysqldump -u root -p centreon_storage > /tmp/centreon_storage.sql + ``` + +2. On the old server, stop MariaDB: + + ```shell + systemctl stop mariadb + ``` + +3. On the old server, export the dumps to the new Centreon database server (make sure you +have enough space for large database dumps): + + ```shell + rsync -avz /tmp/centreon.sql root@:/tmp/ + rsync -avz /tmp/centreon_storage.sql root@:/tmp/ + ``` + +4. On the new database server, drop the original databases and +create them again: + + ```shell + mysql -u root -p + ``` + + ```SQL + DROP DATABASE centreon; + DROP DATABASE centreon_storage; + CREATE DATABASE centreon; + CREATE DATABASE centreon_storage; + exit + ``` + +5. On the new database server, import the previously transferred dumps into the database: + + ```shell + mysql -u root centreon -p -p + ``` + + Example: if your database_admin_user is `root`, enter: + + ```shell + mysql_upgrade -u root -p + ``` + +7. Start the MariaDB process on the new server: + + ```shell + systemctl start mariadb + ``` + +> Replace **** by the IP address of the new Centreon server. + +### Step 4: Synchronize the plugins + +If you only use Centreon plugins, reinstall them on the new server: + + + + +```shell +dnf install centreon-plugin-\* +``` + + + + +```shell +dnf install centreon-plugin-\* +``` + + + + +```shell +apt install centreon-plugin-\* +``` + + + + +If you are using custom plugins, synchronize the directories that contain your custom plugins, including any necessary dependencies. + +### Step 5: Upgrade Centreon + +1. On the new server, force the update by moving the contents of the +**/var/lib/centreon/installs/install-24.10.x-YYYYMMDD\_HHMMSS** directory to +the **/usr/share/centreon/www/install** directory (**x** is the target version number for your migrated machine): + + ```shell + cd /var/lib/centreon/installs/ + mv install-24.10.x-YYYYMMDD_HHMMSS/ /usr/share/centreon/www/install/ + ``` + +2. If you use the same IP address or same DNS name on the old Centreon webserver and the new one, do a full cache cleanup of your browser to avoid JS issues. + +3. Go to `http:///centreon` and perform the upgrade. + +4. If the password for user **centreon** that you specified when installing the new server is different from the password on the old server, you must follow these steps: + + 1. Edit the **/etc/centreon/centreon.conf.php** file, + 2. Edit the **/etc/centreon/conf.pm** file, + 3. Edit the Centreon Broker central configuration using the Centreon web interface and change the password for the **unfied-sql** output, + 4. Edit the **/etc/centreon/config.d/10-database.yaml** file. + +5. If the IP address of your Centreon server has changed: + - Edit the configuration for all the Centreon Broker modules of your Pollers and change the IP to connect to +the Centreon Central server (output IPv4). See the [Advanced +configuration](../monitoring/monitoring-servers/advanced-configuration.md#tcp-outputs) +chapter for more information. + - The fingerprint of your platform has changed too: [contact Centreon](mailto:support@centreon.com) to obtain a new license. + +6. The credentials of the newly created **centreon-gorgone** user need to be updated to match those of the **centreon-gorgone** user on the old server. Edit `etc/centreon-gorgone/config.d/31-centreon-api.yaml` and enter the credentials of the old user. Example: + + ```shell + gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + - name: clapi + username: "@GORGONE_USER@" + password: "@GORGONE_PASSWORD@" + ``` + +7. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for all your monitoring servers (including the central). + +8. Restart the following processes: + + ```shell + systemctl restart cbd centengine + systemctl restart gorgoned + systemctl start snmptrapd centreontrapd + systemctl start snmpd + ``` + +9. If your old Centreon server was monitoring itself, and you have changed the username/password for the database during the migration, update the configuration of all related resources (host, services attached to that host). + +10. Go to **Configuration > Monitoring Connector Manager**, then [update all the Monitoring Connectors](../monitoring/pluginpacks.md#updating-one-packall-packs). + +### Step 6 (older versions only): Migrate to Gorgone + +If you are migrating from a Centreon version 18.10, 19.04 or 19.10, [migrate from Centcore to Gorgone](../developer/developer-gorgone-migrate-from-centcore.md). + +### Step 7: Upgrade the modules + +To upgrade the modules, go to **Administration > Extensions > Manager** and click **Update all**. +If you have a MAP server or an MBI server, follow the corresponding migration procedures: + +- Migration procedure for [MAP](../graph-views/map-web-migrate.md), +- Migration procedure for [MBI](../reporting/migrate.md). + +### Step 8: Migrating your other servers (distributed architecture) + +#### Migrating a remote server + +To migrate a remote server: + +1. Follow the same procedure as for a central server. +2. [Attach the new remote server](../monitoring/monitoring-servers/add-a-remote-server-to-configuration.md) to your central server. + +#### Migrating a poller + +To migrate a poller: + +1. [Install a new poller](../installation/installation-of-a-poller/using-packages.md). +2. Synchronize the plugins, as described in [step 4 of the migration procedure for a central server](#step-4-synchronize-the-plugins). +3. On the central server, go to **Configuration > Pollers**. Select the poller that was migrated and update its IP address (if it has changed). +4. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). +5. If your poller does not work after migrating it (e.g. you cannot deploy the configuration or execute monitoring actions), update the poller's fingerprint, as described in this [knowledge base article](https://thewatch.centreon.com/troubleshooting-41/poller-does-not-work-after-migration-or-reinstallation-fingerprint-changed-for-target-1177). diff --git a/versioned_docs/version-25.10/migrate/nagios-to-centreon.md b/versioned_docs/version-25.10/migrate/nagios-to-centreon.md new file mode 100644 index 000000000000..64238133e10b --- /dev/null +++ b/versioned_docs/version-25.10/migrate/nagios-to-centreon.md @@ -0,0 +1,108 @@ +--- +id: nagios-to-centreon +title: Nagios Reader to Centreon CLAPI +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +**Nagios Reader to Centreon CLAPI** is a free and open source project to analyze +Nagios CFG configuration files and to transform a monitoring configuration to +a Centreon CLAPI command in order to import a configuration into the Centreon web +interface. + +## Prerequisites + +First of all, you need a Centreon server installed and ready to use. Please see +the documentation [to install a Centreon server](../installation/installation-of-a-central-server/using-packages.md). + +## Installation + +This script uses the Perl-Nagios-Object library to read CFG files. To install it, +please follow these steps on your Nagios(R) server: + + + + +```shell +dnf install perl-Module-Build +``` + + + + +```shell +dnf install perl-Module-Build +``` + + + + +```shell +apt-get install libmodule-build-perl +``` + + + + +```shell +cd /tmp +wget http://search.cpan.org/CPAN/authors/id/D/DU/DUNCS/Nagios-Object-0.21.20.tar.gz +tar xzf Nagios-Object-0.21.20.tar.gz +cd Nagios-Object-0.21.20 +perl Build.PL +./Build +./Build test +./Build install +``` + +Download script from GitHub on your Nagios(R) server: + +```shell +cd /tmp +git clone https://github.com/centreon/nagiosToCentreon.git +cd nagiosToCentreon +``` + +## Usage + +On a fresh Centreon server,the default poller is named "Central". If you rename +it or if you want to link this Nagios configuration to a predefined poller, you +must change the poller name on line 65: + +```perl +my $default_poller = "Central"; +``` + +To display help use the following command: + +```shell +$ perl nagios_reader_to_centreon_clapi.pl --help +###################################################### +# Copyright (c) 2005-2015 Centreon # +# Bugs to http://github.com/nagiosToCentreon # +###################################################### + +Usage: nagios_reader_to_centreon_clapi.pl + -V (--version) Show script version + -h (--help) Usage help + -C (--config) Path to nagios.cfg file +``` + +To run the script, please use the following command: + +```shell +perl nagios_reader_to_centreon_clapi.pl --config /usr/local/nagios/etc/ > /tmp/centreon_clapi_import_commands.txt +``` + +Export the file /tmp/centreon\_clapi\_import\_commands.txt on your Centreon +server. + +Run the following command to import the configuration into Centreon on your Centreon +server: + +```shell +/usr/share/centreon/bin/centreon -u admin -p -i /tmp/centreon_clapi_import_commands.txt +``` + +Replace **** with the password of the **admin** Centreon web user. diff --git a/versioned_docs/version-25.10/migrate/poller-display-to-remote-server.md b/versioned_docs/version-25.10/migrate/poller-display-to-remote-server.md new file mode 100644 index 000000000000..17c2e70d4655 --- /dev/null +++ b/versioned_docs/version-25.10/migrate/poller-display-to-remote-server.md @@ -0,0 +1,183 @@ +--- +id: poller-display-to-remote-server +title: Migrate a platform with Poller Display module +--- + +## Migrate your Centreon Central server + +If the module **centreon-poller-display-central-1.6.x** is installed: + +1. Go to **Administration > Extensions > Modules** and uninstall +**centreon-poller-display-central**. + +2. Remove the associated package: + + ```shell + yum remove centreon-poller-display-central + ``` + +Refer to the [migration procedure](../migrate/migrate-from-3-4.md). + +> If you use the Centreon EMS modules, you must update these repositories. Be sure +> to contact Centreon support and request new licenses. + +## Migrate a Poller from Poller Display module to Remote Server + +1. Go to **Administration > Extensions > Modules** and uninstall the +**Centreon Poller Display** module. + +2. If you installed the module using an RPM package, remove it with the +following command: + + ```shell + yum remove centreon-poller-display + ``` + +Refer to the [migration procedure](../migrate/migrate-from-3-4.md). + + > If you use Centreon EMS modules, you must update the repositories. Be sure to + > contact your Centreon support team and request new licenses. + +4. Go to **Administration > Extensions > Modules** and install the +**centreon-license-manager** module. + +5. ## Register the server + +To transform the server into a Remote Server and register it to the Centreon Central server, execute the following command: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u \ +-t remote -h -n +``` + +Example: + +``` shell +/usr/share/centreon/bin/registerServerTopology.sh -u admin -t remote -h 192.168.0.1 -n remote-1 +``` + +> Replace **** with the IP of the Centreon server seen by the Remote Server. + +> The **** must have access to the configuration API. You can use the default **admin** account. + +> If you need to change the HTTP method or the port, you can use the following format for the **-h** option: +> HTTPS://:PORT + +Then follow instructions by +1. Entering your password: + + ``` shell + 192.168.0.1: please enter your password: + ``` + +2. Select the IP address if multiple network interfaces exist: + + ```shell + Which IP do you want to use as CURRENT NODE IP? + 1) 192.168.0.2 + 2) 192.168.0.3 + 1 + ``` + +3. Then validate the information: + + ``` shell + Summary of the informations that will be send: + + Api connection: + username: admin + password: ****** + target server: 192.168.0.1 + + Pending Registration Server: + name: remote-1 + type: remote + address: 192.168.0.2 + + Do you want to register this server with those informations? (y/n)y + ``` + +4. Add additional information to enable future communication between your Remote Server and its Central. +Provide the required information to convert your platform to a remote server: + + ```shell + : Please enter your username: + admin + : Please enter your password: + + : Protocol [http]: + : Port [80]: + : centreon root folder [centreon]: + ``` + +5. If you use a proxy, please define credentials: + + ```shell + Are you using a proxy? (y/n) + y + enter your proxy Host: + myproxy.example.com + enter your proxy Port [3128]: + Are you using a username/password? (y/n) + y + enter your username: + my_proxy_username + enter your password: + + ``` + +You will receive the validation of the Centreon central server: + +``` shell +2020-10-16T17:19:37+02:00 [INFO]: The CURRENT NODE 'remote: 'remote-1@192.168.0.2' has been converted and registered successfully. +``` + +### Main error messages + +``` shell +2020-10-20T10:23:15+02:00 [ERROR]: Invalid credentials +``` + +> Your credentials are incorrect for the ****. + +``` shell +2020-10-20T10:24:59+02:00 [ERROR]: Access Denied. +``` + +> The **** doesn't have access to configuration API. + +``` shell +Failed to connect to 192.168.0.1:444; Connection refused +``` + +> Unable to access the API. Please check ****, scheme and port. + +``` shell +2020-10-20T10:39:30+02:00 [ERROR]: Can’t connect to the API using: https://192.168.0.1:443/centreon/api/latest/login +``` + +> The access url is not complete or is invalid. Use the **--root** option to define the API URL Path. For example: **--root monitoring**. + +``` shell +2020-10-20T10:42:23+02:00 [ERROR]: No route found for “POST /centreon/api/latest/platform/topology” +``` + +> Your Centreon target version is invalid. It should be greater than or equal to 21.04. + +6. Add rights for the centreon database user to use the **LOAD DATA INFILE** command: + + ``` SQL + GRANT FILE on *.* to 'centreon'@'localhost'; + ``` + +7. **On the Centreon Central server**, edit all pollers and attach them to the +**Remote Server** using the selection list. + +> Remember to [generate the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for your +> **Remote Server**. + +> A Centreon Remote Server is self-administered. +> +> Thus, the configuration of the +> LDAP directory, users and ACLs are specific to this server and must be +> configured through the **Administration** menu. diff --git a/versioned_docs/version-25.10/mobile/introduction.md b/versioned_docs/version-25.10/mobile/introduction.md new file mode 100644 index 000000000000..31f00844f433 --- /dev/null +++ b/versioned_docs/version-25.10/mobile/introduction.md @@ -0,0 +1,50 @@ +--- +id: introduction +title: Introduction +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon comes with a mobile version to let you access the status of resources from a phone or tablet. + + ![image](../assets/mobile/mobile-app-screens.png) + +The main capabilities of Centreon mobile are: + +- See the current status of your resources: hosts and services +- Filter the resource list +- Take actions: acknowledge or set planned downtime +- See detailed information on a host or service +- Access metrics history via charts + + + +## Prerequisites + +To be able to connect Centreon mobile to your Centreon platform, you need to: + +- Have a Centreon platform >= 20.04 +- Have a “Direct” connection between your smartphone and the Centreon platform you want to connect to. You may also use a VPN +- Have a valid SSL certificate on your Centreon platform issued from a trusted certificate authority known by your device + +## How to access Centreon mobile + +Go to [mobile.centreon.com](https://mobile.centreon.com/). + +## How to connect + +When logging in for the first time, you need to input the following parameters: + +- URL: URL to connect to your Centreon platform. Remember the /centreon if this your current Centreon URL. Example: `https://yourcentreon.int.com:PORT/centreon` +- User: Type your username to connect to Centreon +- Password: Type the password to connect to Centreon + +![image](../assets/mobile/mobile-login.png) + +Delegated authentication is also supported. + +If you have problems connecting: + +- Make sure your Centreon platform is accessible from your device +- Make sure you give realtime API access to the user. Go to **Configuration > Users > Contacts / Users**: +on the **Centreon Authentication** tab, **Reach API Realtime** must be enabled. diff --git a/versioned_docs/version-25.10/monitoring/about.md b/versioned_docs/version-25.10/monitoring/about.md new file mode 100644 index 000000000000..62a32065f133 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/about.md @@ -0,0 +1,30 @@ +--- +id: about +title: Basic principles of monitoring +--- + +Here are a few basic Centreon concepts: + +* A [**host**](basic-objects/hosts-create.md) is any device that has an IP address and that one wishes to monitor. For example, this could be a physical server, a + virtual machine, a temperature probe, an IP camera, a printer or a storage space. +* A [**service**](basic-objects/services-create.md) is a check point, or indicator, to be monitored on a host. This can be the CPU usage rate, temperature, + motion detection, bandwidth usage rate, disk I/O, and so on. A service can consist of one or several [metrics](metrics.md). +* In order to collect each indicator value, monitoring **plugins** are used. These are periodically executed by a + collection engine called **Centreon Engine**. +* To be executed, a plugin needs a set of arguments that define, for example, which host to connect to, or through which protocol. + The plugin and its associated arguments form a [**command**](basic-objects/commands.md). + +For example, to monitor a host with Centreon is to configure all the commands needed to measure the desired indicators, +and then [deploy that configuration](monitoring-servers/deploying-a-configuration.md) to the collection engine so that these commands are run periodically. + +Once hosts and services are monitored, they have a [status](../alerts-notifications/concepts.md) in Centreon (e.g. **OK**, **Warning**, **Critical**, etc.). You can keep track of any changes using the [Resources Status](../alerts-notifications/resources-status.md) page. + +If an alert occurs (not-OK/not-UP status), [contacts](basic-objects/contacts.md) will be able to receive [notifications](../alerts-notifications/notif-configuration.md) within set [time periods](basic-objects/timeperiods.md). + +In Centreon, monitoring is made easy by the following elements: + +- [Host templates](basic-objects/hosts-templates.md) and [service templates](basic-objects/services-templates.md) that allow you to define default values to speed up the creation of these objects. + +- [Monitoring Connectors](pluginpacks.md) that provide ready-to-use host and service templates. These greatly simplify the configuration of hosts and services; for instance, all you have to do is to apply Monitoring Connector templates to a host for it to be monitored. + +- The [autodiscovery feature for hosts and services](discovery/introduction.md), which allows you to obtain a list of new hosts and services and add them automatically to the list of monitored resources. diff --git a/versioned_docs/version-25.10/monitoring/anomaly-detection.md b/versioned_docs/version-25.10/monitoring/anomaly-detection.md new file mode 100644 index 000000000000..016861cc4df2 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/anomaly-detection.md @@ -0,0 +1,348 @@ +--- +id: anomaly-detection +title: Anomaly detection +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Centreon Anomaly Detection is a Centreon extension that requires a valid [license](../administration/licenses.md). To purchase one and obtain the necessary repositories and access token, contact [Centreon](mailto:sales@centreon.com). + +## Description + +The **Centreon Anomaly Detection** module detects deviations from the regular behavior of a +service. It uses dynamic thresholds to trigger alerts. + +With "classic" monitoring, alerts are triggered from static thresholds. For instance, users are alerted when the ping +on a server exceeds 700 ms. However, for some services, "normal" values change over time, which means that static thresholds are +not that relevant. You can use Anomaly Detection when the behavior of a service is repetitive and predictable: + +![image](../assets/monitoring/anomaly/simple_scheme.png) + +Anomaly Detection determines how the normal values evolve over time; predictions calculate a lower threshold and an upper threshold. +When the behavior of the service deviates from the expected model, these thresholds are passed (i.e. the metric goes below the lower threshold or goes over the upper threshold). The service goes into a CRITICAL state and a notification is sent. Example: a server usually has little traffic at night. One night, Centreon detects network flows that are higher than normal and triggers an alert. This makes the company aware that the server has been hacked. + +## How it works + +1. Collected data is sent to the Centreon SaaS platform. + +2. Centreon computes a regular behavior model using the history of this data. + +3. Once the model has been calculated, predictions are then generated and retrieved +by your Centreon platform. + +4. The predictions act as floating thresholds, which will then be used by +the monitoring engine to compare the collected value with the predicted +thresholds to highlight deviations and generate alerts. Data received during downtimes is not taken into account when computing predictions, to avoid distorting the analysis. + +5. Models are recomputed regularly and improve over time. + +## Prerequisites + +To use Anomaly Detection, you will need: + +- A token provided by Centreon to access the Centreon SaaS platform, +- An internet connection from the Centreon central server. The central server must be able to reach `api.a.prod.mycentreon.com` on port 443. +- The SHELL environment variable [LC_ALL](https://www.gnu.org/software/gettext/manual/html_node/Locale-Environment-Variables) must not be set, or be set to `C`. To check the value of this variable, enter: + + ``` + echo $LC_ALL + ``` + +## Installation + +### Step 1: Installing packages + +Run the following command: + + + + +```shell +dnf install centreon-anomaly-detection +``` + + + + +```shell +dnf install centreon-anomaly-detection +``` + + + + +``` shell +apt update && apt install centreon-anomaly-detection +``` + + + + +### Step 2: UI installation + +1. Go to **Administration > Extensions > Manager**. An **Anomaly Detection** tile appears in the **Modules** section. + +2. Click the installation button in the **Anomaly Detection** tile. The module is now installed (the version number appears on a green background with a white check mark next to it). + +3. Run the following command as a privileged user: + + ```shell + systemctl restart gorgoned + ``` + +### Step 3: Add your token + +1. Go to **Configuration > Services > Anomaly Detection** and click +**Add Centreon Cloud Token**. + +2. Enter your token and click **Save**. + +> If your Centreon central server needs a proxy configuration to access the +> Internet, check the **Use proxy** box. + +Your Centreon platform is now ready to use Centreon Anomaly Detection. + +## Configuration + +To have a fully functional Anomaly Detection service, you need to complete four steps: + +1. [Create an Anomaly Detection service](#step-1-create-an-anomaly-detection-service). This will activate the sending of the collected data to the Centreon SaaS platform, in order to start modeling regular behavior. +2. Assess the relevance of the computed predictions. +3. Once the model seems right, [activate status changes for the service](#activate-the-generation-of-alerts). +4. When all changes in status seem relevant, [activate the notification process](#activate-the-notification-process). + +### Step 1: Create an Anomaly Detection service + +You can create an Anomaly Detection service manually, or [use the creation wizard](#use-the-creation-wizard). To create an Anomaly Detection service manually: + +1. Go to **Configuration > Services > Anomaly Detection** and click +**Create manually**: + +2. Fill in the following fields: + + - **Description**: the name of the service. The following characters are not authorized: `~!$%^&|'"<>?,()=*{}` and spaces. + - **Status**: enable or disable the service. If you disable the service, after you deploy the configuration, the service will no longer be monitored (for instance, it will no longer appear on the **Resources Status** page ). + - **Select host - service**: choose the host/service pair on which the Anomaly Detection service will be based. + - **Select metric**: select the metric on which to apply anomaly detection. + - For the time being, leave the **Enable change of status** and **Enable notifications** fields set to **Disabled** (they will be enabled in Steps 3 and 4). + - In the **Categories and groups** section, you can set a [severity level](../monitoring/categories.md#severities). + +3. Click **Save**. + +4. [Deploy the configuration](monitoring-servers/deploying-a-configuration.md). + + - The service appears on the **Monitoring > Resources Status** page. To display only Anomaly Detection services, use the **Type** filter in the **Filter options** window. + + - The behavior model calculation starts. However, until calculations have been made and predictions sent to your platform, the status of the service is UNKNOWN. For predictions to be computed, you need to have at least 4 hours' worth of data. + + - The first predictions will appear in up to 36 hours. The service will then be in OK status, until status changes are enabled (Step 3). + + > If the data to which you apply the anomaly detection has been monitored for a + > certain time, you can [transfer the data + > history](#forward-history-of-data) to obtain a reliable model more quickly. + +## Step 2: Assess the relevance of the predictions + +At first, the predictions you receive will not be very relevant: Anomaly Detection needs to identify several repetitions of data patterns before it can compute a correct model. This means that the length of time needed to compute the model varies according to how often your data repeats (daily, weekly, etc.). In general, you will need to wait for about 6 weeks to obtain a stable model. + +To assess the relevance of the predictions, look at the service's graph on the **Monitoring > Performances > Graphs** page, or on the **Graphs** tab of the details panel, find the service on the **Monitoring > Resources Status** page. + +You can manually adjust the distance between the curve and the thresholds, if you think this is necessary (e.g if you see too many false positives, or on the contrary if the predictions do not detect enough incidents). + +1. On the **Monitoring > Resources Status** page, click the Anomaly Detection service you want, and then click the **Graph** tab in the details panel. +2. Click the **Edit anomaly detection data** icon (wrench) at the top right of the tab. The graph opens in a pop-up window. +3. Use the slider in the **Manage envelope size** section to change the range of the predictions. In the preview, checks outside the envelope are shown by red dots. +4. Click **Save**. The new envelope size is applied from that moment on. The envelope that was already calculated stays the same (this means that the changes are not visible immediately on the graph). + +### Step 3: Activate status changes + +If, by regularly checking the generated model and the data from the +**Monitoring > Performances > Graphs** menu, you think that your model is +stable, you can activate status changes. Once you enable this option, the status of the service will switch to CRITICAL [SOFT](../alerts-notifications/concepts.md#status-types) as soon as the metric goes below the lower threshold or above the upper threshold. + +1. Go to the **Configuration > Services > Anomaly Detection** menu and click the Anomaly Detection service you want. + +2. In the **Alerting options** section, enable the **Enable change of status** option. + +3. In the **Detect anomalies after** field, enter the number of deviations before the service switches to a CRITICAL [HARD](../alerts-notifications/concepts.md#status-types) state. (When enabled, notifications are only sent when the service switches from SOFT to HARD.) + +4. Click **Save**. + +5. [Deploy the configuration](monitoring-servers/deploying-a-configuration.md). + +### Activate the notification process + +When you are satisfied that the status changes you see are relevant (they do happen when an incident starts or finishes), then your Anomaly Detection service is fully operational. You can then activate the notifications. + +1. Go to **Configuration > Services > Anomaly Detection** and click the Anomaly Detection service you want. + +2. Complete the following fields: + + - **Enable notification**: select **Enabled**. + - **Implied Contacts**: select who will receive notifications for this service. + - **Implied Contact Groups**: select the contact groups that will receive notifications for this service. + - **Notification Interval**: define how frequently notifications should be sent once the service has entered a CRITICAL HARD state and has not been acknowledged yet. The default value is **0**, which means only one notification will be sent per status change. + - **Notification Period**: select the [time period](../monitoring/basic-objects/timeperiods.md) during which these users may receive notifications. + - **Notification Type**: select the types of notifications you want to receive (when the service enters a CRITICAL state and/or when it goes back to normal). + +3. Click **Save**. + +4. [Deploy the configuration](./monitoring-servers/deploying-a-configuration.md). + +### Use the creation wizard + +The creation wizard lets you highlight the services that follow patterns or have a regular stability (for which values are consistently included between two thresholds). + +Go to **Configuration > Services > Anomaly Detection** and click +**Create from analysis**. + +The list of existing services on your Centreon platform is displayed, as well as a +score in number of stars: from 5 stars to 0, 5 stars representing high potential +services: + +![image](../assets/monitoring/anomaly/configure_analysis_01.png) + +After selecting a service of interest, click the **ADD** button to the left +of the row. You arrive on the pre-filled creation form: + +![image](../assets/monitoring/anomaly/configure_analysis_02.png) + +Modify the name of the service and then click the **Save** button. + +> If the list is empty, it means that the calculation to determine which services +> are of interest has not yet started. +> +> This is done every six hours via a cron launched by the **gorgoned** process +> (defined in the **/etc/centreon-gorgone/config.d/cron.d/42-anomalydetection.yaml** file). +> +>You can launch the first calculation manually via the following +> command from the central Centreon server: +> +> ```shell +> su - centreon +> perl /usr/share/centreon/bin/anomaly_detection --seasonality +> ``` + +## View the anomalies detected + +Once you have created an Anomaly Detection service, you can see it in the following places: + +- The **Monitoring > Resources Status** menu. +- The **Monitoring > Status Details > Services** menu. +- The **Monitoring > Performances > Graphs** menu. +- The **Monitoring > Event Logs > Event Logs** menu. +- The **service-monitoring** widget in the **Home > Custom Views** menu. +- You can use an Anomaly Detection service as an indicator in [Centreon BAM](../service-mapping/ba-management.md). +- And all menus where you can operate on services. + +## Forward history of data + +> Sending data history is a very CPU-intensive process. Depending on the number +> of services monitored, the extraction of data from the **centreon\_storage** +> database can take several tens of minutes. This will strongly impact the +> performance of the database and may slow down the monitoring platform as a whole. + +To be able to send data from an Anomaly Detection service, a first check must have been made. You can [run a check on the service from the Resources Status page](../alerts-notifications/resources-status.md#refresh-a-status). + +To send the data history of an anomaly service to our SaaS platform, connect to your Centreon +Central server and access the **centreon** user: + +```shell +su - centreon +``` + +Select the anomaly service using the following command: + +```shell +/usr/share/centreon/bin/anomaly_detection --list-services +``` + +You will see the list of services with their ID: + +```shell +List of available anomaly detection services: + +- id: 14, hostname: fw-beijing, servicename: anomaly-nbr-connect, metric name: connection +- id: 15, hostname: fw-brasilia, servicename: anomaly-nbr-connect, metric name: connection +- id: 17, hostname: fw-mexico, servicename: anomaly-nbr-connect, metric name: connection +- id: 18, hostname: fw-berlin, servicename: anomaly-nbr-connect, metric name: connection +- id: 22, hostname: fw-brasilia, servicename: anomaly-traffic-in, metric name: traffic_in +``` + +To send the data history of the anomaly service with ID 14 for the last 4 weeks, +execute the following command: + +```shell +/usr/share/centreon/bin/anomaly_detection --send-history 14 --history-period 4w +``` + +Wait until the end of the process: + +```shell +Sending data from 2020-03-09T09:32:31 to 2020-03-10T00:00:00 +Sending data from 2020-03-10T00:00:00 to 2020-03-11T00:00:00 +Sending data from 2020-03-11T00:00:00 to 2020-03-12T00:00:00 +Sending data from 2020-03-12T00:00:00 to 2020-03-13T00:00:00 +Sending data from 2020-03-13T00:00:00 to 2020-03-14T00:00:00 +Sending data from 2020-03-14T00:00:00 to 2020-03-15T00:00:00 +Sending data from 2020-03-15T00:00:00 to 2020-03-16T00:00:00 +Sending data from 2020-03-16T00:00:00 to 2020-03-17T00:00:00 +Sending data from 2020-03-17T00:00:00 to 2020-03-18T00:00:00 +Sending data from 2020-03-18T00:00:00 to 2020-03-19T00:00:00 +Sending data from 2020-03-19T00:00:00 to 2020-03-20T00:00:00 +Sending data from 2020-03-20T00:00:00 to 2020-03-21T00:00:00 +Sending data from 2020-03-21T00:00:00 to 2020-03-22T00:00:00 +Sending data from 2020-03-22T00:00:00 to 2020-03-23T00:00:00 +Sending data from 2020-03-23T00:00:00 to 2020-03-24T00:00:00 +Sending data from 2020-03-24T00:00:00 to 2020-03-25T00:00:00 +Sending data from 2020-03-25T00:00:00 to 2020-03-26T00:00:00 +Sending data from 2020-03-26T00:00:00 to 2020-03-27T00:00:00 +Sending data from 2020-03-27T00:00:00 to 2020-03-28T00:00:00 +Sending data from 2020-03-28T00:00:00 to 2020-03-29T00:00:00 +Sending data from 2020-03-29T00:00:00 to 2020-03-30T00:00:00 +Sending data from 2020-03-30T00:00:00 to 2020-03-31T00:00:00 +Sending data from 2020-03-31T00:00:00 to 2020-04-01T00:00:00 +Sending data from 2020-04-01T00:00:00 to 2020-04-02T00:00:00 +Sending data from 2020-04-02T00:00:00 to 2020-04-03T00:00:00 +Sending data from 2020-04-03T00:00:00 to 2020-04-04T00:00:00 +Sending data from 2020-04-04T00:00:00 to 2020-04-05T00:00:00 +Sending data from 2020-04-05T00:00:00 to 2020-04-06T00:00:00 +``` + +## FAQ + +### How long is the data stored? + +The data is kept for the entire validity of the license. This will allow the recalculation of models if necessary. An +additional period of 3 months will be added at the end of the validity of the license before deletion. + +### What data is hosted by the service? + +The data hosted by the anomaly detection service only concerns data linked to the services created by the user. It +includes the date and time of the check, the identifier of the monitored resource, the identifier of the associated +indicator, the name of the performance data on which the computations will be performed, and the value of the +performance data. + +### How is the sending and storage of my data protected? + +Sending data to our Cloud infrastructure is risk-free. Data is sent using end-to-end encryption. +Collected data consists only in metrics and some Centreon identifiers (host name, service name). Our environment is protected by AWS Web +Application Firewall and AWS Shields to prevent DDoS attacks. Our architecture has been reviewed by AWS architects +(AWS Foundational Technical Review) and we are an AWS Qualified Partner. + +### What is the data used for? + +The data is used to compute behavior models. These models will generate predictions used as floating +thresholds by the Centreon platform. + +### Who has access to the data hosted by the service? + +The data is associated with the access token of the anomaly detection offer. It is hosted on the Centreon SaaS +Platform and partitioned by platform. Users with a token can only access their own data. + +### How can I request the deletion of data? + +The deletion of data may be requested at any time. However, the history of the data is used to create a model to +calculate the floating thresholds. Therefore, participation in the program or subscription to the subsequent offer +will be impossible. +A request must be made via the Centreon professional support interface. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/commands.md b/versioned_docs/version-25.10/monitoring/basic-objects/commands.md new file mode 100644 index 000000000000..9fa19ea4e019 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/commands.md @@ -0,0 +1,142 @@ +--- +id: commands +title: Commands +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Definition + +A command is the definition of a command line that uses a script or an application to perform an action. It is +possible to execute this command by specifying arguments. + +There are four types of command: + +* **Verification** commands are used by the schedulers to verify the status of a host or service. +* **Notification** commands are used by the schedulers to alert the contacts (via mail, SMS, etc.). +* **Discovery** commands are used by the schedulers to discover. +* **Miscellaneous** commands are used by the additional modules (to perform certain actions), by the scheduler for + data processing, etc. + +All the commands can be configured in the following menu: **Configuration > Commands**. + +![image](../../assets/configuration/04commandlist.png) + +> By default, locked commands are hidden. Check the "Locked elements" box to list all commands. + +## Adding a command + +1. Go to the **Configuration > Commands** menu +2. Click **Add** + +![image](../../assets/configuration/04command.png) + +> The configuration fields of a command are the same regardless of the type of command chosen. + +## Configuration fields + +* The **Command Name** field defines the name of the command. +* The **Command Type** field allows us to choose the type of command. +* The **Command Line** field indicates the application or script used with the command. +* The **Enable shell** box allows us to enable functions that are specific to a shell, such as the pipe, etc. +* The **Argument Example** field defines examples of arguments (each argument starts with a ”!”) +* The **Describe arguments** button is used to add a description to “$ARGn$”-type arguments. This description + will be visible when using the command in a host or service form. +* The **Clear arguments** button deletes the description of arguments defined +* The **Describe macros** button is used to add a description to all macros. This description will be visible when + using the command in a host or service form. +* The **Connectors** selectlist is used to link a Connector to the command. For more information on Connectors, refer to the + chapters entitled *[Perl Connector](#perl-connector)* and *[SSH Connector](#ssh-connector)*. +* The **Graph template** field is used to link the command to a graph template. +* The **Comment** field can be used to make a comment on the command. + +## Arguments and macros + +In the **Command Line** field, it is possible to use *[macros](macros.md)* and arguments. + +The macros are used to pass various settings to the scripts called up by the commands. During execution +of the command by the scheduler, all of the arguments and macros are replaced by their respective values. +Each macro appears in the form **$value$**: + +```shell +$CENTREONPLUGINS$/centreon_linux_snmp.pl --plugin=os::linux::snmp::plugin --mode=cpu \ +--hostname=$HOSTADDRESS$ --snmp-version='$_HOSTSNMPVERSION$' \ +--snmp-community='$_HOSTSNMPCOMMUNITY$' $_HOSTSNMPEXTRAOPTIONS$ \ +--warning-average='$_SERVICEWARNING$' \ +--critical-average='$_SERVICECRITICAL$' $_SERVICEEXTRAOPTIONS$ +``` + +> Good practice requires replacing the arguments by *[custom macros](macros.md#custom-macros)*. + +## Connectors + +### SSH connector + +Centreon SSH Connector is free software from Centreon available under the Apache Software License version 2 (ASL 2.0). +It speeds up execution checks over SSH when used with Centreon Engine. + +#### Installation + +Centreon recommends using its official packages. Most of Centreon’s endorsed software is available as RPM packages. + +Run the following commands as a privileged user: + + + + +``` shell +dnf install centreon-connector-ssh +``` + + + + +``` shell +dnf install centreon-connector-ssh +``` + + + + +``` shell +apt install centreon-connector-ssh +``` + + + + +### Perl connector + +Centreon Perl Connector is free software from Centreon available under the Apache Software License version 2 (ASL 2.0). +It speeds up execution of Perl scripts when used with Centreon Engine. + +#### Installation + +Centreon recommends using its official packages. Most of Centreon’ endorsed software are available as RPM packages. + +Run the following commands as a privileged user: + + + + +``` shell +dnf install centreon-connector-perl +``` + + + + +``` shell +dnf install centreon-connector-perl +``` + + + + +``` shell +apt install centreon-connector-perl +``` + + + diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/contacts-create.md b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-create.md new file mode 100644 index 000000000000..5786af0cdb80 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-create.md @@ -0,0 +1,49 @@ +--- +id: contacts-create +title: Creating contacts/users manually +--- + +To create a user, go to **Configuration > Users > Contacts/Users**, then click **Add**. + +![image](../../assets/configuration/06useradd.png) + +To display the matrix of notifications for a user, click **View contact notifications** next to the **Add** menu). + +## General information + +* The **Alias/Login** field defines the login to access the web interface. +* The **Full Name** field contains the last name and first name of the user. +* The **Email** and **Pager** fields contain the e-mail address and the telephone number of the user, respectively (in + case of a notification by SMS or call, for instance). +* The **Contact template used** field allows us to link the contact to a contact template. +* The **Linked to Contact Groups** list associates the contact with one or more groups of contacts. +* The **Enable Notifications** field allows us to enable the sending of notifications to the user. +* The **Host / Service Notification Options** field is used to define the statuses to which notifications are sent. +* The **Host / Service Notification Period** field is used to choose the time period in which notifications are sent. +* The **Host / Service Notification Command** field is used to choose the notification command to a host or a service. + +## Centreon authentication + +* The **Reach Centreon Front-end** field is used to authorize the user to access the Centreon web interface. +* The **Password** and **Confirm Password** fields contain the user password. +* The **Default Language** field is used to define the language of the Centreon interface for this user. +* The **Admin** field defines whether or not this user is the administrator of the monitoring platform. +* The **Autologin key** is used to define a connection key for the user. The user will no longer need to enter his / her + login and password, but will use this key to log in directly. Connection syntax: + +```url +http://[IP_DU_SERVER_CENTRAL]/centreon/main.php?autologin=1&useralias=[login_user]&token=[value_autologin] +``` + +> The Possibility of automatic connection (auto login) should be enabled in the menu: **Administration \> Options**. + +* The **Authentication Source** field specifies if the connection information comes from an LDAP directory or information + stored locally on the server. +* The **Access list groups** field is used to define an access group for a user (group use for access control (ACL)). + +> An Administrative user is never concerned by access control, even if linked to an access group. + +## Additional information + +* The **Address** fields allow us to specify the data of additional contacts (other e-mails, other telephone numbers, etc.). +* The **Status** and **Comment** fields are used to enable or disable the contact and to make comments on it. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/contacts-groups.md b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-groups.md new file mode 100644 index 000000000000..348c019380db --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-groups.md @@ -0,0 +1,27 @@ +--- +id: contacts-groups +title: Using contact groups +--- + +### Contact Groups + +Contact Groups are used to notify contacts: + +* In the definition of a host or a service +* In the definition of an escalation of notifications + +In addition, the groups of contacts are also used during the definition of an [access group](../../administration/access-control-lists.md#creating-an-access-group). + +Consequently, it is necessary to group contacts together in a logical way. Most of the time, they are grouped together +according to their roles in the information systems. e.g.: DSI, Windows Administrators, Linux Administrators, Person +in charge of the Salary Management application, etc. + +## Creating a contact group + +Go to the **Configuration > Users > Contact Groups** menu and click **Add** + +![image](../../assets/configuration/07contactgroup.png) + +* The **Contact Group Name** and **Alias** fields define the name and the description of the contact group. +* The **Linked Contacts** list allows us to add contacts to the contact group. +* The **Status** and **Comment** fields are used to enable or disable the group of contacts and to make comments on it. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/contacts-templates.md b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-templates.md new file mode 100644 index 000000000000..d4013c27bfc4 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/contacts-templates.md @@ -0,0 +1,22 @@ +--- +id: contacts-templates +title: Using contact templates +--- + +## Contact Templates + +A contact or a contact template can only inherit one contact template. + +![image](../../assets/configuration/09contactmodel.png) + +### Configuration + +To add a contact template: + +Go to **Configuration > Users > Contact Templates** and click +**Add** + +> Refer to the chapter covering configuration of +> [contacts](contacts-create.md). In addition, the contact +> templates are used for automatic import of profiles via +> [LDAP](../../administration/parameters/ldap.md). diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/contacts.md b/versioned_docs/version-25.10/monitoring/basic-objects/contacts.md new file mode 100644 index 000000000000..5f71b5597274 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/contacts.md @@ -0,0 +1,28 @@ +--- +id: contacts +title: Contacts/Users +--- + +In Centreon, users can: + +- Receive [notifications](../../alerts-notifications/notif-configuration.md). +- Log in to the Centreon web interface: each user has their own [rights](../../administration/access-control-lists.md) to connect to the web interface. +- [Customize the use of Centreon](./customization.md): + - Switch to dark mode. + - Change the user interface language. + - Reset the password. + - Define a default page after login. + - Display the page in full screen mode (F). + +Use these procedures to manage users: +- [Create users manually](contacts-create.md). +- [Connect your Centreon to an LDAP directory](../../administration/parameters/ldap.md). + +## Unblock users + +The access to Centreon is blocked for a user failing several times to log in (the number of attempts is set by the administrator). As soon as a user is blocked, a new column named **Unblock** appears in the **Configuration > Users > Contacts / Users** page, and you can see a red padlock at the blocked user's level. + +1. Click on the red padlock. +2. Confirm you action. + +The user is now unblocked and can connect to Centreon again. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/customization.md b/versioned_docs/version-25.10/monitoring/basic-objects/customization.md new file mode 100644 index 000000000000..7ac09d4b3a34 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/customization.md @@ -0,0 +1,147 @@ +--- +id: customization +title: Changing your Centreon account's settings +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +You can optimize the use of Centreon by using the following customization features: + +## Switch to dark mode + +When you first connect to the interface, Centreon is displayed in light mode by default. + +On the banner, click the profile icon and use the switch button to turn on dark mode. +Next time you connect to the interface, the mode you previously selected remains on. + +- Light mode: + +![image](../../assets/getting-started/menu_light_mode.png) + +- Dark mode: + +![image](../../assets/getting-started/menu_dark_mode.png) + +## Change the user interface language + +On the banner, click the profile icon, then click **Edit profile**: + +![image](../../assets/getting-started/menu_edit_profile.png) + +In the language selection box, choose your language: + +![image](../../assets/getting-started/change_language.png) + +Then click **Save**. Your interface is now translated. + +> If your language doesn't appear in the available language list, you can help the Centreon community to translate +> the web interface. For more details go to [How to translate Centreon](../../developer/developer-translate-centreon.md). + +## Reset your password + +Only local accounts can change their password via the Centreon interface. If you connect using an identity provider, your password is the one you defined with your identity provider. + +### Reset your password before expiration + +When your password is going to expire in the next 7 days, an orange dot appears in the banner on the right +next to the profile icon: + +![image](../../assets/administration/password_will_expire.png) + +Click **Edit profile**, then change your password: + +![image](../../assets/administration/password_expiration.png) + +### Reset your password when expired + +If you have not changed your password before it expires, you will be redirected after login +to a dedicated page where you can update it: + +![image](../../assets/administration/password_expired.png) + +Input your current password, define a new one, and then click **Reset Password**. + +## Define a default page after login + +You can configure the page that will be displayed by default when you connect to the interface, at the user level or at the contact template level. You can perform this procedure either from the interface or with CLAPI commands. + +### Using the interface + +Follow this procedure to set a default page: + + + + + 1. Go to the **Configuration > Users > Contacts/Users** page. + + 2. Select the user you want and click the **Centreon Authentication** tab. + + 3. In the **Default page** field, select the page name in the dropdown list. Then save your changes. + + + + + 1. Go to the **Configuration > Users > Contact Templates** page. + + 2. Select an existing template or click the **Add** button to fill in the **Add a User Template** form. + + 3. In the **Default page** field, select the page name in the dropdown list. Then save your changes. + + Users created from this template will see this default page when they log in. + + + + +### Using CLAPI commands + +> First, you need the "topology page" number associated with the default page in the interface. In this example, we need the number associated with the Resource Status page. + +1. From your terminal, connect to **MariaDB/MySQL** and run the following command: + + ```shell + use centreon; + ``` + +2. Obtain the "topology page" number for the Resource Status page: + + ```shell + SELECT topology_page FROM topology WHERE topology_name = "Resources Status"; + ``` + + You should receive the following output: + + ```shell + +---------------+ + | topology_page | + +---------------+ + | 200 | + ``` + +3. Then follow this procedure to set a default page. Execute these commands with your customized credentials: + + + + +- By editing an existing user (where `200` is the number associated with the Resource Status page): + +```shell +centreon -u admin -p 'centreon' -o contact -a setparam -v "contact alias;default_page;200" +``` + +- By adding a new user (where `200` is the number associated with the Resource Status page): + +```shell +centreon -u admin -p 'centreon' -o CONTACT -a ADD -v "user;user;user@mail.com;mypassword;1;1;en_US;local;200" +``` + + + + +Where `200` is the number associated with the Resource Status page: + +```shell +centreon -u Admin -p 'centreon' -o CONTACTTPL -a ADD -v "new_template;new_template;user@mail.com;mypassword;1;1;en_US;local;200" +``` + + + diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md new file mode 100644 index 000000000000..3db8b7f083f1 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create-disco.md @@ -0,0 +1,10 @@ +--- +id: hosts-create-disco +title: Creating hosts automatically +--- + +Use the [hosts dicovery feature](../discovery/hosts-discovery.md) to detect hosts and create them automatically in Centreon. + +Autodiscovery is done using [Monitoring Connectors](../pluginpacks.md). + +The autodiscovery feature requires a valid [license](../../administration/licenses.md). \ No newline at end of file diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create.md b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create.md new file mode 100644 index 000000000000..2f41ed6ee508 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-create.md @@ -0,0 +1,29 @@ +--- +id: hosts-create +title: Monitoring a host +--- + +A host is any entity that has an IP address corresponding to a resource of the information system. e.g.: A server, network printer, NAS server, temperature sensor, IP camera, etc. + +The list of hosts is shown on the **Configuration > Hosts > Hosts** page. + +You can: +- [create hosts manually](hosts.md), using [host templates](hosts-templates.md) +- use the [hosts discovery feature](../discovery/introduction.md) + +## Monitoring a host + +The easiest way to monitor a host is to assign it a [template](hosts-templates.md) from a [Monitoring Connector](../pluginpacks.md): + +1. To find out the name of the template for a specific Monitoring Connector, go to **Configuration > Monitoring Connector Manager**. Search for the Monitoring Connector you want, and then click the "i" icon at the bottom left of the pack. + + ![image](../../assets/configuration/pluginpacks/doc.png) + + The documentation for the Monitoring Connector opens: it will give you the exact name of the template for this Monitoring Connector. + +2. Create the host: + - [manually](hosts.md): in the **Templates** field, select the template for the Monitoring Connector you want. + - using the [autodiscovery](../discovery/hosts-discovery.md) module: the Monitoring Connector will be filled in automatically. + +3. [Deploy](../monitoring-servers/deploying-a-configuration.md) the configuration. The host and its services are now monitored: they are +displayed on the [Resources status](../../alerts-notifications/resources-status.md) page. \ No newline at end of file diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md new file mode 100644 index 000000000000..416bcbeca96d --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-switch-poller.md @@ -0,0 +1,26 @@ +--- +id: hosts-switch-poller +title: Change the monitoring server for a host +--- + +If you want to change the monitoring server that is monitoring a host, you need to edit the host's configuration and deploy the configuration for both the new poller and the one it used to be monitored by. + +## Switch for one host + +1. On the page **Configuration > Hosts > Hosts**, click the host you want to make changes to. + +2. On the tab **Host configuration**, in the **Host basic information** section, update the **Monitoring server** field. + +3. [Deploy the configuration](../monitoring-servers/deploying-a-configuration.md) for both the former monitoring server and the new one. + +## Switch for multiple hosts + +If you want to define the same new monitoring server for several hosts: + +1. On the page **Configuration > Hosts**, select all the hosts you want to change. + +2. In the **More actions** menu, select **Mass change**. + +3. On the tab **Host configuration**, in the **Host basic information** section, update the **Monitoring server** field. + +4. [Deploy the configuration](../monitoring-servers/deploying-a-configuration.md) for both the former monitoring server and the new one. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/hosts-templates.md b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-templates.md new file mode 100644 index 000000000000..f05a1a5a2396 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/hosts-templates.md @@ -0,0 +1,56 @@ +--- +id: hosts-templates +title: Using host templates +--- + +## Definition + +A Template is a pre-configuration of settings of an object that can be used to +configure it. The main advantage is to be able to define default values for +certain objects to speed up the creation of similar objects. + +A template can inherit properties from another template. + +Templates from Monitoring Connectors make monitoring hosts easy, because they provide ready-to-use check [commands](commands.md). + +## Inheritance + +A host or a host template can inherit from one or more host templates. This +heritage may be: + + - associative (addition of multiple host templates) + - parent-child type + +### Parent-child type inheritance + +This is a predefinition of settings at “n” levels. The object inherits from its +Template which can itself inherit from its Template. If the child redefines a +setting, this setting overwrites the one defined in the higher-level templates. +Otherwise it is added to the settings. + +### Associative type inheritance + +This consists of adding together several templates within the same object in +order to add together all the settings available. If a host inherits from +several host templates and if the same setting is defined on several templates, +the host template situated above the other templates has priority over +its ancestors. + +![image](../../assets/configuration/09hostmodels.png) + +The diagram below shows a host inheriting from multiple host templates. + +![image](../../assets/configuration/09hostmodelsheritage.png) + +### Configuration + +To add a host template: + +Go into the **Configuration > Hosts > Templates** menu and click **Add** + +> Refer to the chapter covering configuration of +> [hosts](hosts-create.md) to configure a template because the form +> is identical. + +> By default, locked host templates are hidden. Check the "Locked elements" box +> to list all templates. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/hosts.md b/versioned_docs/version-25.10/monitoring/basic-objects/hosts.md new file mode 100644 index 000000000000..ada38caa91d0 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/hosts.md @@ -0,0 +1,133 @@ +--- +id: hosts +title: Creating hosts manually +--- + +To create a host manually: + +1. Go to **Configuration \> Hosts \> Hosts** and then click **Add**. +2. Fill in the fields (see [below](#host-configuration-tab)), and then click **Save**. +3. [Deploy the configuration](../monitoring-servers/deploying-a-configuration.md). + +## Host configuration tab + +### Host basic information + +* The **Name** field defines the host name that will be used by the Monitoring Engine. The following characters are not authorized: `~!$%^&|'"<>?,()=*{}` and spaces. +* The **Alias** field shows the alias of the host. +* The **Address** field defines the IP address or DNS name of the host. The **Resolve** button enables us to + resolve the domain name by questioning the DNS server configured on the central server. +* The **SNMP Community & Version** fields contain the name of the community and the SNMP version. +* The **Monitoring server** field indicates which poller server is charged with monitoring this host. +* The **Timezone** field indicates the time zone location of the monitored hosts. +* The **Templates** field enables us to associate one or more host templates with this object. + +In case of conflicts between settings present on multiple templates, the host template above overwrites the identical properties +defined in the host templates below. + +This button enables us to change the order of host templates ![image](../../assets/configuration/common/move.png#thumbnail1) +This button is used to delete the host template ![image](../../assets/configuration/common/delete.png#thumbnail1) + +* If the **Create Services linked to the Template too** field is defined as **Yes**, Centreon automatically generates + the services based in turn on the service templates linked to the host templates defined above + (see the *[templates chapter](../templates.md#definition)*). + +### Host check options + +* The **Check Command** field indicates the command use to check the availability of the host. +* The **Args** field defines the arguments given to the check command (each argument starts with ”!”). + +* **Custom macros**: + + * The **Name** and **Value** field enable us to define the name and value of the macro. + * The **Password** box is used to hide the value of the macro. + + To reinitialize to the default value (defined in the template), click ![image](../../assets/configuration/common/undo.png#thumbnail1) + + To view the description of the macro, click ![image](../../assets/configuration/common/description.png#thumbnail1) + + To delete the macro, click ![image](../../assets/configuration/common/delete.png#thumbnail1) + + To change the order of the macros, click ![image](../../assets/configuration/common/move.png#thumbnail1) + +### Scheduling options + +* The **Check Period** field defines the time period during which the scheduler checks the status of the object. +* The **Max Check Attempts** field defines the number of checks to be performed before confirming the status of the + host. When the status is confirmed, the notification process is triggered. +* The **Normal Check Interval** is expressed in minutes. It defines the interval between checks when the host status is OK. +* The **Retry Check Interval** is expressed in minutes. It defines the check interval of the Not-OK status of the host. +* The **Active Checks Enabled** and **Passive Checks Enabled** fields enable / disable the active and passive checks. + +## Notification tab + +* The **Notification Enabled** field is used to enable or disable notifications concerning the object. +* The list of **Linked contacts** indicates the contacts that will receive the notifications. +* The list of **Linked contacts Groups** indicates the groups of contacts that will receive the notifications. + + If the **Vertical inheritance only** option is enabled on the **Administration > Parameters > Centreon UI** page, two extra checkboxes appear: + + * If the **Contact additive inheritance** box is checked, Centreon does not overwrite the configuration of the parent host template, but adds the contacts in addition to the contacts defined in the parent template. + * If the **Contact group additive inheritance** box is checked, Centreon does not overwrite the configuration of the parent host template, but adds the contact groups in addition to the contact groups defined in the parent template. + +* The **Notification Options** define the statuses for which a notification will be sent. +* The **Notification Interval** is expressed in minutes. It indicates the time between sending notifications when + the status is Not-OK. If the value is defined as 0, the scheduler sends a single notification per status change. +* The **Notification Period** field indicates the time period during which the notifications will be enabled. +* The **First notification delay** is expressed in minutes. It refers to the time delay to be respected before sending + the first notification when a Not-OK status is validated. +* The **Recovery notification delay** is the time that must pass before a recovery notification is sent (when the host goes back to an UP state). + +## Relations tab + +* The **Host Groups** list defines the host groups to which the host belongs. +* The **Host Categories** list defines the categories to which the host belongs. +* The **Parent Hosts** list enables us to define the physical family relationships between objects. +* The **Child Hosts** list enables us to define the physical family relationships between objects. + +## Data processing tab + +* If **Obsess Over Host** is enabled, the host check feedback command will be enabled. +* The **Check Freshness** field allows us to enable or disable the result freshness check. +* The **Freshness Threshold** is expressed in seconds. If, during this period, no host status change request (passive + command) is received, the active check command is executed. +* The **Flap Detection Enabled** field allows us to enable or disable the detection flapping in the statuses (status + value changing too often in a given period). +* The **Low Flap Threshold** and **High Flap Threshold** fields define the high and low thresholds for the detection of + flapping as a percentage of status change. +* The **Retain Status Information** and **Retain Non Status Information** fields indicate if the information concerning + the status is saved after each time the check command is repeated. +* The **Stalking Options** field defines the options to be recorded if retention is enabled. +* The **Event Handler Enabled** field allows us to enable or disable the event handler. +* The **Event Handler** field defines the command to be executed if the event handler is enabled. +* The **Args** field defines the arguments of the events handler command. + +## Host Extended Infos tab + +### Monitoring engine + +* The **Note URL** field defines a URL that can be used to give more information on the host. +* The **Note** field permits us to add optional notes concerning the host. +* The **Action URL** field defines a URL normally used for giving information on actions on the host (maintenance, etc.). +* The **Icon** field indicates the icon used for the host. +* The **Alt Icon** field is the text used if the icon cannot be displayed. +* The **Host severity** field indicates the severity level of the host. +* The **Status Map Image** field defines the logo for the Centreon Map module. +* The **Geographic coordinates** field defines the geographical coordinates used by the Centreon MAP module to position the resource on a map. + Define "Latitude,Longitude"; for example, the set of coordinates for Paris is "48.51,2.20" +* **Enable/disable resource**: This setting determines whether or not the host and its services must be monitored. If the host is disabled, it does not appear on the **Resources Status** page. + +The fields presented below are obsolete: + +* **2d Coords** +* **3d Coords** + +### Access groups + +* The **ACL Resource Groups** (only displayed for a non-administrator) is used to link this host to a hostgroup in order + to view it (see the *[Access Control Lists](../../administration/access-control-lists.md)* chapter). + +### Additional Information + +* The **Status** field allows us to enable or disable the host. +* The **Comments** field can be used to add a comment concerning the host. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/macros.md b/versioned_docs/version-25.10/monitoring/basic-objects/macros.md new file mode 100644 index 000000000000..3dfbbdf80b6e --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/macros.md @@ -0,0 +1,98 @@ +--- +id: macros +title: Macros +--- + +A macro is a variable used to retrieve certain values. +A macro always starts and finishes with the “$” sign. + +## Standard macros + +Standard macros are macros predefined in the source code of the monitoring engines. These macros allow us to +retrieve the value of various objects from commands. + +e.g.: + +* The macro called **$HOSTADDRESS$** enables us to retrieve the IP address of a host +* The macro called **$CONTACTEMAIL$** enables us to retrieve the e-mail address of the contact + +> A complete list of macros is available at the following *[address](https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macrolist.html)*. + +## Custom macros + +### Definition + +Customized macros are macros defined by the user at the creation of a host or a service. They are used in check +commands. Customized macros start with $_HOST for customized macros of hosts and $_SERVICE for customized macros of +services. + +There are several advantages to using customized macros instead of arguments: + +* The function of the macro is defined in its name. The macro $_HOSTMOTDEPASSEINTRANET$ is easier to read than $ARG1$ +* Macros inherit models of hosts and services; hence it is possible to modify a single macro for a host or a + service. On the other hand, the arguments all need to be redefined if a single argument is changed +* The number of arguments is limited to 32, unlike customized macros, which are unlimited + +A macro of a host is used to define a variable that is specific to the host and that will not change regardless of the +service questioned: host connection identifiers, a port of connection to a particular service, an SNMP community, etc. +A macro of a service is used more to define settings specific to a service: a WARNING / CRITICAL threshold, a partition +to be questioned, etc. + +### Example + +When a host is defined, the following macros are created: + +![image](../../assets/configuration/01hostmacros.png) + +To retrieve these macros in a check command, you need to call it using the following variables: $_HOSTUSERLOGIN$, +$_HOSTUSERPASSWORD$. + +When a service is defined, the following macros are created: + +![image](../../assets/configuration/01servicemacros.png) + +To retrieve these macros in a check command, you need to invoke them using the following variables: $_SERVICEPARTITION$, +$_SERVICEWARNING$, $_SERVICECRITICAL$. + +### A special case + +The **Community SNMP & Version** fields in a host form automatically generate the following customized macros: +$_HOSTSNMPCOMMUNITY$ and $_HOSTSNMPVERSION$. + +## Resource macros + +Macros of resources are global macros that are used by the monitoring engine. These macros can be invoked by any type +of command. They come in the form: $USERn$ where ‘n’ lies between 1 and 256. + +In general, these macros are used to refer to paths containing monitoring probes. By default the $USER1$ +macro is created, and its value is the following: /usr/lib/nagios/plugins. + +To add a resource macro: + +* Go into the **Configuration \> Pollers \> Resources** menu +* Click **Add** + +![image](../../assets/configuration/01macrosressources.png) + +* The **Resource Name** field defines the name of the resource macro, e.g.: $USER3$ +* The **MACRO Expression** field defines the value of the macro. +* The **Linked Instances** list allows us to define which monitoring poller will be able to access this macro. +* The **Status** and **Comment** fields are used to enable / disable the macro and to comment on it. + +## Environment macros + +Environment macros (also called “on demand”) are used to retrieve information from all +the objects obtained from the monitoring. They are used to retrieve the value of an object at any given moment. + +They are complementary to standard macros, e.g.: + +* The standard macro $CONTACTEMAIL$ refers to the e-mail address of the contact who uses the + notification command +* The environment macro $CONTACTEMAIL:centreon$ returns the e-mail address of the user: “centreon” + +The complete documentation on “on demand” macros is available at this *[address](https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/macros.html)*. + +> The use of these macros is not recommended, because the search for a value of a setting of an object from another +object consumes resources. + +> The enabling of the setting **Use large installation tweaks** makes it impossible to use environment macros. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/meta-services.md b/versioned_docs/version-25.10/monitoring/basic-objects/meta-services.md new file mode 100644 index 000000000000..1d7bba0fb6ca --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/meta-services.md @@ -0,0 +1,107 @@ +--- +id: meta-services +title: Creating Meta Services +--- + +## Definition + +A meta-service is a virtual service providing the aggregation of metrics from different services via a mathematical +operation. Meta-services are managed in the same way as a service, i.e. they have thresholds, a notification process, +generate a performance graph, etc. + +Example: It is possible to determine the total consumption of WAN traffic by adding together, within a meta-service, all +the services monitoring the WAN traffic individually. + +### Types of computing + +Several types of calculation are possible on the metrics retrieved: + +* **Average**: calculate the average of the performance data +* **Sum**: calculate the sum of the performance data +* **Min**: retrieve the minimum of all the performance data +* **Max**: retrieve the maximum of all the performance data + +### Types of data source + +The result of the calculation is an item of performance data (metric), which generates a performance graph. To trace the +result most effectively, it is necessary to select the type of data source (GAUGE by default). + +The types of data source available are as follows: + +* The **GAUGE** type records an instantaneous value (temperature, humidity, processor, etc.) +* The **COUNTER** type records an incremental value in relation to the previous result +* The **DRIFT** type stores the derivative of the line from the last to the current value of the data. This can be useful + for capacities, for example to measure the rate of people entering or leaving a room. +* The **ABSOLUTE** type is for counters which reset on reading. It is used for fast counters that have a tendency to overrun. + +> More information on the *[RRDTools website](http://oss.oetiker.ch/rrdtool/doc/rrdcreate.en)*. + +## Configuration + +To add a meta-service: + +Go to **Configuration \> Services \> Meta Services** and click **Add**: + +![image](../../assets/configuration/02addmetaservice.png) + +### General information + +* The **Meta Service Name** field corresponds to the name of the meta-service displayed in the interface. The following characters are not authorized: `~!$%^&|'"<>?,()=*{}` and spaces. +* The **Output format string (printf-style)** field corresponds to the output message (‘output’) visible in Centreon. + The “%d” value corresponds to the value calculated by the meta-service +* The **Warning level** and **Critical level** correspond to the “WARNING” and “CRITICAL” thresholds of the meta-service + respectively. +* The **Calculation Type** and **Data source Type** fields correspond to the calculations and the description of the + data source, respectively +* The **Selection Mode** field is used to select the services containing the metrics that will be used in the meta-service calculation. + +If the **Service list** selection mode is selected, the metrics chosen will be obtained from services selected manually. + +If the **SQL matching** selection mode is selected, the services used will be selected automatically by Centreon via a search +based on the LIKE type SQL expression to be searched field. The metric to be used in this case will be selected from the +Metric dropdown list. + +> More information on *[PRINTF formatting](http://en.wikipedia.org/wiki/Printf_format_string)*. + +### Meta Service status + +* The **Check Period** field defines the time period during which the scheduler checks the status of the meta-service. +* The **Max Check Attempts** field defines the number of checks to be made before confirming the status of the meta-service: + when the status is valid, a notification is sent. +* The **Normal Check Interval** field is expressed in minutes. It defines the interval between checks when the status of + the meta-service is OK. +* The **Retry Check Interval** field is expressed in minutes. It defines the checking interval of the Not-OK status of + the meta-service. + +### Notification + +* The **Notification Enabled** field is used to enable the notifications. +* The **Linked Contacts Groups** list is used to define the groups of contacts that will be alerted. +* The **Notification Interval** field is expressed in minutes and can be used to define the time interval between the + sending of two notifications. +* The **Notification Period** field can be used define the notification period. +* The **Notification Type** field defines the types of notification sent. + +### Additional information + +* The **Graphic Template** list defines the graphic model used by this meta-service. +* The **Status** and **Comments** fields are used to enable / disable or comment on the meta-service. + +## Select services manually + +If you have chosen the **Service list** option, in the screen containing all the meta-services: + +1. Click the following icon to select the metrics entering into the calculation of the meta-service. These + metrics are called indicators. ![image](../../assets/configuration/common/flechedirection.png) +2. Click **Add** + +![image](../../assets/configuration/02metaservicesindicators.png) + +* The **Host** field is used to select the host to which the service to be selected belongs. +* The **Service** field is used to choose the service (first list) as well as the metric in this service (second list). +* The **Status** and **Comment** fields are used to enable / disable or comment on the indicator. + +3. Repeat the operation until you have added all the indicators necessary for the calculation of the meta-service. + +> A meta-service should be considered as a regular service. It is necessary to generate the configuration of the central +> scheduler to export it and then restart the scheduler. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/services-create-disco.md b/versioned_docs/version-25.10/monitoring/basic-objects/services-create-disco.md new file mode 100644 index 000000000000..2be6b9336c53 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/services-create-disco.md @@ -0,0 +1,14 @@ +--- +id: services-create-disco +title: Creating services automatically +--- + +Services can be created automatically in several ways: + +- When you [create a host manually](hosts.md) using a [Monitoring Connector](../pluginpacks.md), and select **Create Services linked to the Template too**, the services for the host will be created automatically. + +- Using the [services discovery feature](../discovery/services-discovery.md) to detect services and create them automatically in Centreon. + + - Autodiscovery is done using [Monitoring Connectors](../pluginpacks.md). + + - The autodiscovery feature requires a valid [license](../../administration/licenses.md). \ No newline at end of file diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/services-create.md b/versioned_docs/version-25.10/monitoring/basic-objects/services-create.md new file mode 100644 index 000000000000..0d1f291ec31b --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/services-create.md @@ -0,0 +1,31 @@ +--- +id: services-create +title: Monitoring a service +--- + +A service is a check point, or indicator, to be monitored on a host, e.g.: percentage of partition used on a server, ink level in a printer. + +To see the list of monitored services, go to **Configuration > Services > Services by host**. + +You can: + +- [create a service manually](services.md) +- [discover services automatically](../discovery/services-discovery.md). + +## Monitoring a service + +1. Create a service: + + - Use the [host autodiscovery feature](../discovery/hosts-discovery.md): the corresponding services will be created automatically. + + - [Create a host manually](hosts.md) using a [Monitoring Connector](../pluginpacks.md), and select **Create Services linked to the Template too**: the services for the host will be created automatically. + + - Use the [service discovery feature](../discovery/services-discovery.md). + + - Create the [service manually](services.md) and, in the **Template** field, select a [service template](services-templates.md) (coming from a Monitoring Connector or not). + + - Create a check [command](commands.md) or use an existing one, and link it to a service you have [created manually](services.md). + + - Create a service using [the API](../../api/introduction.md). + +2. [Deploy the configuration](../monitoring-servers/deploying-a-configuration.md). \ No newline at end of file diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/services-templates.md b/versioned_docs/version-25.10/monitoring/basic-objects/services-templates.md new file mode 100644 index 000000000000..4d5473b63ef7 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/services-templates.md @@ -0,0 +1,79 @@ +--- +id: services-templates +title: Using service templates +--- + +## Definition + +A Template is a pre-configuration of settings of an object that could be used to +configure it. The main advantage is to be able to define default values for +certain objects to speed up the creation of similar objects. + +The advantages are: + + - Simplified element definition + - No duplication of data + - Easy addition of new resources + - Predefined configurations equivalent to a “catalog of indicators” + - Templates can inherit from other templates. + +## Services Templates + +### Inheritance + +A service or a service template can only inherit from a single service template +(parent-child type inheritance). + +![image](../../assets/configuration/09heritageservice.png) + +### Configuration + +To add a Service Template: + +Go into the **Configuration > Services > Templates** menu and click **Add**. + +> Refer to the chapter covering configuration of +> *[services](services.md)* to configure a template, because the +> form is identical. + +> By default, locked service templates are hidden. Check the "Locked elements" +> box to list all templates. + +## Best practice + +### Explanations + +Good practice requires that services templates be associated with a host's +templates: on creation of a host, the services are generated automatically from +the host's templates. There are two advantages in linking service templates to +host templates: + + - The services generated automatically retain their granularity, i.e., it is + possible to change the Attributes of a service without affecting the other + services obtained from this template + - The creation of new hosts is speeded up greatly: simply define + the host and the host's templates associated with it + +e.g.: We create the srvi-web-01 host according to the template below: + +![image](../../assets/configuration/09hostexemple.png) + +The host srvi-web-01 will automatically possess the following services: + + - Load, CPU, Memory, disk-/ from service templates linked to the host + template “Linux-Server-RedHat-5” + - Broken-jobs, hit-ratio, tablespaces, listener from service templates linked + to the host template “DB-MySQL” + - Process and connection from service templates linked to the host template + “Web-Server-Apache” + +When the services of a host are generated from host templates, it is possible +that certain services generated are not checked by the monitoring tool. In this +case, it is necessary to disable the services that are not used (but not to +delete them). In case of deletion of services, regeneration of services of the +host from host templates will re-create the deleted services. + +### Configuration + +The linking of service templates with host templates takes place in the +**Relations** tab of the service templates or host templates. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/services.md b/versioned_docs/version-25.10/monitoring/basic-objects/services.md new file mode 100644 index 000000000000..4d5735430e29 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/services.md @@ -0,0 +1,126 @@ +--- +id: services +title: Creating services manually +--- + +To create a service manually, go to **Configuration \> Services > Services by host** and then click **Add**. + +## Configuration of the service + +### General information tab + +#### Service Basic Information + +* **Name**: define the name of the service. The following characters are not authorized: `~!$%^&|'"<>?,()=*{}` and spaces. +* **Hosts**: Host(s) to which the service is attached. We recommend that you link a service to only one host. +* **Template**: indicates the service template to which the service is linked. + +#### Service Check Options + +* The **Check Command** field indicates the command used to check the availability of the service. + +* **Custom Macros**: add customized macros. + + - The **macro name** and **macro value** fields allow us to define the name and value of the macro. The **Password** box +can be used to hide the value of the macro. + + - To reinitialize to the default value (defined in template) click ![image](../../assets/configuration/common/undo.png#thumbnail1) + + - To view the description of the macro, click ![image](../../assets/configuration/common/description.png#thumbnail1) + + - To delete the macro, click ![image](../../assets/configuration/common/delete.png#thumbnail1) + + - To change the order of the macros, click ![image](../../assets/configuration/common/move.png#thumbnail1) + +* The **Args** table defines the arguments given for the check command (the number of arguments varies according to the + check command chosen). + +#### Service Scheduling Options + +* The **Check Period** field defines the time period during which the scheduler checks the status of the service. +* The **Max Check Attempts** of the status field defines the number of checks to be carried out to confirm the status of + the service. When the status is validated, the notification process is engaged +* The **Normal Check Interval** field is expressed in minutes. It defines the interval between checks when the service status is OK. +* The **Retry Check Interval** field is expressed in minutes. It defines the confirmation interval for the Not-OK service status +* The **Active Checks Enabled** and **Passive Checks Enabled** fields enable / disable the type of check on the service. +* The **Is Volatile** field indicates if the service is volatile or not (normally only passive services are volatile). + +### Notifications tab + +* The **Notification Enabled** field allows us to enable or disable the notifications for the object. +* If the **Inherit only contacts/contact group from host** box is checked, then when generating the configuration, contact + and/or host groups of contacts (or those inherited from templates) will overwrite the service or its service + templates. This function disables entering contacts and contact groups for this service. +* The **Implied Contacts** indicates the contacts that will receive the notifications. +* In the **Implied Contact Groups** list, all the contacts belonging to the contact groups defined will receive the notifications. + + If the **Vertical inheritance only** option is enabled on the page **Administration > Parameters > Centreon UI**, two extra checkboxes appear: + + * If the **Contact additive inheritance** box is checked, Centreon does not overwrite the configuration of the parent host template, but adds the contacts in addition to the contacts defined in the parent template. + * If the **Contact group additive inheritance** box is checked, Centreon does not overwrite the configuration of the parent host template, but adds the contact groups in addition to the contact groups defined in the parent template. + +* The **Notification Interval** field is expressed in minutes. It indicates the time between the sending of notifications + when the status is Not-OK. If the value is defined as 0, the scheduler sends a single notification per status change. +* The **Notification Period** field defines the [time period](../basic-objects/timeperiods.md) during which notifications will be sent. No notifications will be sent outside this time period. +* The **Notification Type** defines the statuses for which a notification will be sent. +* The **First notification delay** time is expressed in minutes. It refers to the time delay to be respected before + sending the first notification when a Not-OK status is validated. +* The **Recovery notification delay** is the time that must pass before a recovery notification is sent (when the service goes back to an OK state). + +### Relations tab + +* The **Servicegroups** list allows us to link the service to one or more service groups. +* The **Service Trap Relation** field allows us to define the SNMP traps that will be able to change the behavior of the service. + +### Data processing tab + +* If the **Obsess over service** field is enabled, the monitoring feedback command of the host will be enabled. +* The **Check freshness** field allows us to enable or disable the check on the freshness of the result. +* The **Freshness threshold** field is expressed in seconds. If no request for a change in the status + of the service (passive command) is received during this period, the check command is executed. +* The **Flap Detection Enabled** field allows us to enable or disable the detection of disruption in the statuses (status + value changing too often in a given period). +* The **Low flap threshold** and **High flap threshold** fields define the high and low thresholds for the detection of + disruption in percentage of status change. +* The **Performance data processing** field allows us to enable or disable performance data processing (and hence the + generation of performance graphics). This option is not necessary when Centreon Broker is used. +* The **Retain status information** and **Retention non status information** fields indicate if the information concerning + or not concerning the status is saved after every time the check command is repeated. +* The **Stalking Options** field defines the options to be recorded if retention is enabled. +* The **Event handler enabled** field allows us to enable or disable the events manager. +* The **Event handler** field defines the command to be executed if the event manager is enabled. +* The **Args** field defines the arguments of the events handler command. + +### Extended Info tab + +#### Centreon + +* **Graph template**: Defines the graphics model to be use to present the performance data linked to the service. +* **Service Categories**: Defines the category or categories to which the service belongs. + +#### Monitoring engine + +* The **Note URL** field defines a URL that can be used to give more information on the service. +* The **Note** field can be used to add optional notes concerning the service. +* The **Action URL** field defines a URL normally used for giving information on actions on the service (maintenance, etc.). +* The **Icon** field indicates the icon used for the service. +* The **Alt icon** field is the text used if the icon cannot be displayed. +* The **Host severity** field indicates the severity level of the host. +* The **Geographic coordinates** field defines the geographical coordinates used by the Centreon MAP module to position the resource on a map. + Define "Latitude,Longitude"; for example, the set of coordinates for Paris is "48.51,2.20" + +#### Additional information + +* The **Enable/disable resource** field allows us to enable or disable the service. +* The **Comments** field can be used to add a comment concerning the service. + +## Detachment of a service + +If a service is linked to several hosts, it will be identical for each one of them. Hence it will not be possible to +modify the service of one host individually to change a property. This why it is possible to convert this service linked +to multiple hosts into a single service for each host: + +1. In the list of services, select the service linked to multiple hosts (this service is usually highlighted in orange). +2. In the **More actions...** menu, click **Detach** and confirm. + +There is now a single service per host. diff --git a/versioned_docs/version-25.10/monitoring/basic-objects/timeperiods.md b/versioned_docs/version-25.10/monitoring/basic-objects/timeperiods.md new file mode 100644 index 000000000000..6fba32d975a9 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/basic-objects/timeperiods.md @@ -0,0 +1,76 @@ +--- +id: timeperiods +title: Time periods +--- + +## Definition + +Time periods define a time interval for each day of the week. They enable the functionality of the scheduler over a given period of time. They apply to two types of actions: + +* The execution of check commands +* The sending of notifications. + +## Configuration + +To configure a time period, go to **Configuration \> Users \> Time periods**. + +1. In the **Time Period Name** and **Alias** fields, enter a name and a description. + +2. In the **Basic settings** section, for each day of the week, define the time periods during which the checks and notifications will be enabled. (Use the [syntax described below](#syntax-of-a-time-period).) + + - These definitions are applied every week, indefinitely. + - If you leave the field blank for a specific day, there will be no monitoring on that day for actions to which this time period is applied. + +3. Use the [**Time Range Exceptions** tab](#time-range-exceptions-tab) to include days that would not normally belong to the time period. + +4. Once you have created your time period, you can use it: + - In the **Check Period** field for hosts, host templates, services and service templates. + - In the **Notification Period** field for notifications defined for hosts, host templates, services, service templates, contacts, or in the **Escalation Period** field for an escalation of notifications. + +### Syntax of a time period + +Use the following characters to define time periods: + +* The character “:” separates the hours from the minutes, e.g.: HH:MM +* The character “-” indicates continuity between two time periods +* The character ”,” separates two time periods + +Here are a few examples: + +* 24 hours a day and 7 days a week: 00:00-24:00 (to be applied to every day of the week). +* From 8 AM to noon and from 2 PM to 6:45 PM on weekdays: 08:00-12:00,14:00-18:45 (to be applied to weekdays only). +* To not monitor during a whole day, leave the corresponding field blank. + +![image](../../assets/configuration/05timeperiod.png) + +### Time Range Exceptions tab + +The **Time Range Exceptions** tab allows you to include exceptional days in the time period. The periods you define here override the definition of regular days defined in **Basic Settings**. + +Example: An administrator wants to define a time period which covers the times when the offices are closed, i.e.: + +* From 6 PM to 7:59 AM on weekdays +* Around the clock on weekends +* National holidays and exceptional closure days. + +To be able to define the national holiday days and the exceptional closure days, it is necessary to use exceptions. + +To add an exception, in the **Exceptions** field, click **Add new entry**. For each exceptional day, you will need to define a time period. + +> Use the following syntax to exclude whole days from the monitoring: 00:00-00:00. + +The table below shows some possible examples: + +| Day(s) | Time period | Meaning | +| ----------------- | ----------------------- | --------------------------------------------------------- | +| january 1 | 00:00-24:00 | All day on the 1st of January, every year. | +| 2014-02-10 | 00:00-24:00 | All day on 10 February 2014 | +| july 1 - august 1 | 00:00-24:00 | All day, every day from July 1 to August 1, every year | +| november 30 | 08:00-19:00 | From 08h00 to 19h00 every November 30, every year | +| day 1 - 20 | 00:00-24:00 | All day from the 1st to the 20th of every month | +| saturday -1 | 08:00-12:00,14:00-18:45 | Every last Saturday of the month during opening hours | +| monday -2 | 00:00-24:00 | All day every second to last Monday of the month | +| june 6 - june 21 | 00:00-00:00 | Do not monitor all day, every day from June 6th to the 21st | +| june 12 | 00:00-08:00,18:00-24:00 | Monitor every June 12th, except between 08h00 and 18h00 | + +> Exceptions are not taken into account in [BAM](../../service-mapping/introduction.md), and in reports concerning BAM in [MBI](../../reporting/introduction.md). diff --git a/versioned_docs/version-25.10/monitoring/categories.md b/versioned_docs/version-25.10/monitoring/categories.md new file mode 100644 index 000000000000..64f3b1a97c51 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/categories.md @@ -0,0 +1,62 @@ +--- +id: categories +title: Categories and severities +--- + +Categories allow you to: + +- organize hosts or services so as to define user rights on them using [ACLs](../administration/access-control-lists.md) +- [filter the view](../alerts-notifications/resources-status.md#filtering-events) in the **Resources status** page +- classify the hosts and services within sub-groups in [MBI reports](../reporting/concepts.md). +- define types of objects in the Centreon [MAP module](../graph-views/introduction-map.md). + +A special type of category is called severity. Severities can be used to achieve all of the above, but also to: + +- sort the view on the **Resources Status** page by severity level, e.g., to show the most important alerts first. (Severities are shown in the **S** column in the **Resources Status** page.) + +- filter data in the **Host monitoring**, **Service monitoring** and **Open Tickets** widgets in [custom views](../alerts-notifications/custom-views.md). + +## Hosts category + +Go to the **Configuration > Hosts > Categories** menu and click **Add**. + +![image](../assets/configuration/08hostcategory.png) + +* The **Host Category Name** and **Alias** fields contain the name and the alias of the category of host, respectively. +* The **Linked hosts** list allows us to add hosts to the category. +* If a host template is added to the **Linked host template** list, all the hosts that inherit from this Model belong to + this category. +* The **Severity type** box signifies that the category of hosts has a criticality level. +* The **Level** and **Icon** fields define a criticality level and an associated icon, respectively. +* The **Status** and **Comment** fields allow us to enable or disable the category of host and to comment on it. + +## Services category + +Go to the **Configuration > Services > Categories** menu and click **Add**. + +![image](../assets/configuration/08servicecategory.png) + +* The **Name** and **Description** fields define the name and the description of the category of service. +* If a service template is added to the **Service Template Descriptions** list, all the services that inherit from this + template belong to this category. +* The **Severity type** box signifies that the category of service has a criticality level. +* The **Level** and **Icon** fields define a criticality level and an associated icon, respectively. +* The **Status** field allows us to enable or disable the category of services. + +## Severities + +### Creating a severity + +To create a severity: + +1. Go to **Configuration > Hosts > Categories** or **Configuration > Services > Categories**, and then click **Add**. +2. Fill in the **Name** and **Alias** fields, and then check **Severity type**. +3. Define a level for the severity (a number that will be used to sort hosts or services in the **Resources Status** page) and an icon that will appear in the **S** column in the **Resources Status** page. +4. Click **Save**. The severity appears in the list of severities. + +### Applying the severity to a host or service + +1. Edit the host or service (go to **Configuration > Hosts > Hosts** or **Configuration > Services > Services by host**, and then click the host or service). +2. On the **Extended Info** tab, in the **Monitoring Engine** section, select the severity you want from the **Severity level** list. +3. Click **Save**. +4. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). On the **Resources Status** page, the icon for the severity appears in the **S** column. A tooltip shows the level and name of the severity. If you click the column header, the view is sorted by severity level. diff --git a/versioned_docs/version-25.10/monitoring/discovery/administration.md b/versioned_docs/version-25.10/monitoring/discovery/administration.md new file mode 100644 index 000000000000..4a2ba612bf6a --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/administration.md @@ -0,0 +1,208 @@ +--- +id: administration +title: Administration +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Update + +1. To update the module, run the following command: + + + + +``` shell +dnf update -y centreon-auto-discovery-server +``` + + + + +``` shell +dnf update -y centreon-auto-discovery-server +``` + + + + +``` shell +apt update && apt update centreon-auto-discovery-server +``` + + + + +2. Connect to the Centreon web interface using an account allowed to install +products and go to the **Administration > Extensions > Manager** page. + +3. Make sure the **License Manager** and **Monitoring Connector Manager** modules are + up to date before updating the **Auto Discovery** module. + +4. Click the update icon corresponding to the **Auto Discovery** +module: + + ![image](../../assets/monitoring/discovery/update.png) + + The module is now updated: + + ![image](../../assets/monitoring/discovery/install-after.png) + +## Uninstallation + +> Uninstalling the module will also remove all the associated data. Data won't +> be restorable unless a database backup has been made. + +1. Connect to the Centreon web interface using an account allowed to install +products and go to the **Administration > Extensions > Manager** page. + +2. Click the delete icon corresponding to the **Auto Discovery** +module: + + ![image](../../assets/monitoring/discovery/install-after.png) + +3. A confirmation popup will appear. Confirm the action: + + ![image](../../assets/monitoring/discovery/uninstall-popin.png) + + The module is now uninstalled: + + ![image](../../assets/monitoring/discovery/install-before.png) + +## Gorgone module configuration + +The **Auto Discovery** module brings a specific configuration for the Gorgone +service on the Central server. The default configuration is +`/etc/centreon-gorgone/config.d/41-autodiscovery.yaml`. + +A maximum duration for host discovery jobs is set globally. If it is necessary to +change it (large subnet SNMP discovery, for example), edit the configuration and +add the *global_timeout* directive. + +If mail notifications are enabled in service discovery rules, mail parameters +can be defined to choose the sender, subject or mail command. + +Example configuration: + +```yaml +gorgone: + modules: + - name: autodiscovery + package: "gorgone::modules::centreon::autodiscovery::hooks" + enable: true + # Host Discovery + check_interval: 15 + global_timeout: 300 + # Service Discovery + mail_subject: Centreon Auto Discovery + mail_from: centreon-autodisco + mail_command: /bin/mail +``` + +> Be sure to restart the Gorgone service after any configuration modification: +> +> ```shell +> systemctl restart gorgoned +> ``` + +### Distributed architecture + +The host and service discoveries both rely on Gorgone to perform discoveries +on both Central and Remote Servers or Pollers. + +> It is necessary to have a ZMQ communication between the Central server and a +> Remote Server to perform a discovery on a Poller attached to this Remote +> Server. +> +> Look at the section presenting the different [communication +> types](../monitoring-servers/communications.md) to know more. + +### Service Discovery scheduled job + +All the active discovery rules are periodically executed through a scheduled job +managed by Gorgone's cron module. The **Auto Discovery** module brings a cron +definition in the following file: +`/etc/centreon-gorgone/config.d/cron.d/41-service-discovery.yaml`. + +```yaml +- id: service_discovery + timespec: "30 22 * * *" + action: LAUNCHSERVICEDISCOVERY +``` + +The default configuration runs the discovery every day at 10:30 PM. + +> If you have changed the legacy *crond* configuration file to adapt the schedule, +> you must apply changes to the new configuration file. + +It is also possible to run multiple service discoveries with different +parameters: + +```yaml +- id: service_discovery_poller_1 + timespec: "15 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-1 +- id: service_discovery_poller_2_linux + timespec: "30 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-2 + filter_rules: + - OS-Linux-SNMP-Disk-Name + - OS-Linux-SNMP-Traffic-Name +- id: service_discovery_poller_2_windows + timespec: "45 9 * * *" + action: LAUNCHSERVICEDISCOVERY + parameters: + filter_pollers: + - Poller-2 + filter_rules: + - OS-Windows-SNMP-Disk-Name + - OS-Windows-SNMP-Traffic-Name +``` + +Here is the list of all available parameters: + +| Key | Value | +|----------------------|----------------------------------------------------------------------------------------------------| +| filter\_rules | Array of rules to use for discovery (empty means all) | +| force\_rule | Run disabled rules ('0': not forced, '1': forced) | +| filter\_hosts | Array of hosts which will run the discovery (empty means all) | +| filter\_pollers | Array of pollers for which linked hosts will undergo discovery (empty means all) | +| dry\_run | Run discovery without configuration changes ('0': changes, '1': dry run) | +| no\_generate\_config | No configuration generation (even if there are some changes) ('0': generation, '1': no generation) | + +### API accesses + +When installing Gorgone, a default configuration to access the Centreon APIs is +located at `/etc/centreon-gorgone/config.d/31-centreon-api.yaml`. + +It defines accesses to both Centreon CLAPI and RestAPI to allow discovery to +communicate with Centreon. + +Example configuration: + +```yaml +gorgone: + tpapi: + - name: centreonv2 + base_url: "http://127.0.0.1/centreon/api/latest/" + username: api + password: bpltc4aY + - name: clapi + username: cli + password: PYNM5kcc +``` + +Access to RestAPI, represented by *centreonv2*, requires credentials of a +user with *Reach API Configuration* access. It is used for Host Discovery. + +Access to CLAPI requires the credentials of an *Admin* user. It is used for +Service Discovery. + +> One user can be used for both accesses. Furthermore, users don't need +> access to the Centreon UI. diff --git a/versioned_docs/version-25.10/monitoring/discovery/hosts-discovery.md b/versioned_docs/version-25.10/monitoring/discovery/hosts-discovery.md new file mode 100644 index 000000000000..6847e6766b46 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/hosts-discovery.md @@ -0,0 +1,517 @@ +--- +id: hosts-discovery +title: Discovering hosts automatically +--- + +See also our tutorial on [how to detect AWS EC2 instances](../../getting-started/autodisco-aws.md). + +## Create a discovery job + +1. [Install](installation.md) the Auto Discovery module. + +2. Install the Monitoring Connector for the resources you want to discover. + > The discovery providers are included in Monitoring Connectors (Azure, + > Amazon AWS, VMware, etc.). To see the complete list, please go to + > the [Monitoring Connectors](/pp/integrations/plugin-packs/getting-started/introduction) + > catalog. + > + > If you have set **Automatic installation of plugins** to **ON** on the **Configuration > Monitoring Connector Manager** page, the discovery plugin will be installed automatically when you run the discovery job. + +3. Create a discovery job for each type of resource you want to discover: go to **Configuration > Hosts > Discovery** and click **+ADD**. A wizard opens. + +You can duplicate discovery jobs: hover over the job and then click **Duplicate**. + +## Job discovery wizard + +### Step 1: Choose a provider + +1. Enter a name for the job (if you don't, the provider's name will be used). + +2. Click the correct provider for the resources you want to discover. + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-1-1.png) + + The search bar allows you to search for a specific provider: + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-1-2.png) + +3. Click **Next**. + +### Step 2: Define access and discovery parameters + +Define the monitoring server from which the discovery will be made. + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-2.png) + +Some providers ask for other parameters, such as a proxy if the discovery is made +on an online service, and/or credentials. + +### Step 3: Define additional parameters + +Some additional parameters might be needed to define the scope of the +discovery: + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-3.png) + +### Step 4: Set mappers + +Mappers define how the discovery results will be processed to create +hosts in the configuration. They can also be used to include/exclude hosts from the list of results. See section +[How to use mappers](#how-to-use-mappers). + +In the wizard, a real-time simulation on a set of example data (the table on the right) gives a preview of what the +discovery results could look like: + +![image](../../assets/monitoring/discovery/host-discovery-wizard-step-4.png) + +### Step 5: Define analysis and update policies + +- **Manual analysis**: Once the discovery job is executed, you will have to choose manually which hosts should be added to the list of monitored hosts (on the **Configuration > Hosts > Hosts** page). See [Analyze the results of a discovery job](#analyze-the-results-of-a-discovery-job). + +- **Automatic analysis**: The results will be processed automatically according to the selected policy (you must choose at least one): + + - **Add hosts to configuration when they are discovered for the first time**: all hosts that are detected for the first time are automatically created in the **Configuration > Hosts > Hosts** page. + - **Disable hosts already added to configuration if the mapping rule excludes them**: resources that are already being monitored will be disabled if they match a new **Exclude** mapper when you run the job again. + > Note: not discovered hosts (or no longer discovered hosts) will not be + > disabled in the Centreon configuration. Only hosts that are discovered and at the same + > time excluded can be disabled in the configuration (see + > [exclusion](#exclusion) mapper). + - **Enable hosts already added to configuration if they are discovered but disabled**: hosts that have already been added to the configuration but are in a disabled state will be enabled again. + - **Export and reload pollers configuration**: once the hosts have been created or updated, the [configuration will be deployed](../monitoring-servers/deploying-a-configuration.md) automatically, which means that the hosts will be monitored or updated immediately, without any need for manual action. + - **Update existing hosts**: if you modify the mappers and run the job again, existing hosts will be updated (see [Edit a discovery job](#edit-a-discovery-job)). + - **Do not discover hosts for which mappers apply no template**: if mappers don't apply any template to some hosts, these hosts will not be included in the discovery results. If the box is unchecked, the default template will be applied to these hosts and they will be discovered. + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-5-2.png) + + Read the [example](#dynamically-update-your-configuration) below to better +understand the scope of the first 3 policies. + +### Step 6: Plan execution + +- **Execute immediately**: the discovery will be launched right after the job is created. + +- **Schedule execution**: you can schedule the execution of the job in different ways: + + - Every year at defined days of defined months at a defined time + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-year.png) + + - Every month at defined days of the month at a defined time + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-month.png) + + - Every week at defined days of the week at a defined time + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-week.png) + + - Every day at a defined time + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-day.png) + + - Every x hours (at defined minutes) + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-hour.png) + + - Every x minutes + + ![image](../../assets/monitoring/discovery/host-discovery-wizard-step-6-minute.png) + +Click **FINISH** to create the discovery job and to execute or schedule it. The job appears in the list of discovery jobs. +See section [Analyze the results of a discovery job](#analyze-the-results-of-a-discovery-job). + +## Manage discovery jobs + +Go to the **Configuration > Hosts > Discovery** page to access the list of +discovery jobs. + +![image](../../assets/monitoring/discovery/host-discovery-job-listing.png) + +The status of a job can be: + +| Icon | State | +|--------------------------------------------------------------------------|-------------------------------| +| ![image](../../assets/monitoring/discovery/host-discovery-scheduled.png) | **Scheduled** | +| ![image](../../assets/monitoring/discovery/host-discovery-running.png) | **Running** | +| ![image](../../assets/monitoring/discovery/host-discovery-saving.png) | **Saving** | +| ![image](../../assets/monitoring/discovery/host-discovery-finished.png) | **Finished** | +| ![image](../../assets/monitoring/discovery/host-discovery-failed.png) | **Failed** | + +- If a job is in a **Failed** status, hover over the icon to know the reason. + +- If a job is in a **Finished** status, click on the arrow next to its status to analyze the result. See +[Analyze the results of a discovery job](#analyze-the-results-of-a-discovery-job) to know more. + +Several actions can be performed on jobs: + +| Icon | Action | +|---------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------| +| ![image](../../assets/monitoring/discovery/host-discovery-force-execution.png) | **Force execution**: re-execute a job | +| ![image](../../assets/monitoring/discovery/host-discovery-delete.png) | Delete a job. Only the job will be deleted: the hosts you have added to the configuration will still exist. | +| ![image](../../assets/monitoring/discovery/host-discovery-pause.png) | Pause a scheduled job | +| ![image](../../assets/monitoring/discovery/host-discovery-resume.png) | Resume a paused job | +| ![image](../../assets/monitoring/discovery/host-discovery-goto-results.png) | Access the results of the discovery task | + +## Analyze the results of a discovery job + +1. On the **Configuration > Hosts > Discovery** page, click the arrow ![image](../../assets/monitoring/discovery/host-discovery-goto-results.png#thumbnail1) +next to the status of a **Finished** job to view the results. + + ![image](../../assets/monitoring/discovery/host-discovery-hosts-listing.png) + + The results show the discovered hosts. Icons allow you to identify the action that will be performed on the host: + + - The **plus** icon means the host does not exist yet and will be created. + - The **arrow** icon means the host already exists and its configuration will be updated. + > Note that the **Property** mappers are not taken into account during the update process. + +2. Select the hosts you want to add to the list of monitored hosts and click the **Save** button. Then click the **Back** button to return to the **Discovery** page. + +3. If you want, you can edit the mappers linked to this job. Click the job to display its settings. In the **Mappers** section, edit the mapper with its **Edit** icon: ![image](../../assets/monitoring/discovery/host-discovery-edit.png#thumbnail1) + + The results will be updated automatically in the preview once you click the **Save** icon at the top right of the panel. + + If the job was set to **Automatic analysis** at step 5 of the wizard and **Update existing hosts** was selected, the hosts will be updated when you re-run the job (see [Edit a discovery job](#edit-a-discovery-job)). + +4. If your job was set to **Manual analysis** at step 5 of the wizard, select the hosts you want to add or update in the configuration and click the **Save** +button: ![image](../../assets/monitoring/discovery/host-discovery-hosts-save.png#thumbnail1) + + The hosts are created as well as the services linked to their host templates. + +5. Go to the **Configuration > Hosts** page: the newly created hosts appear in the list. + + ![image](../../assets/monitoring/discovery/host-discovery-configuration-hosts.png) + + If the hosts you selected are not visible in the configuration, go back to the +list of jobs and see if an error occurred during the saving task. + +6. In the following cases, [deploy](../monitoring-servers/deploying-a-configuration.md) the configuration: + + - if your job was set to **Manual analysis** at step 5 of the wizard + - if your job was set to **Automatic analysis** at step 5 of the wizard, but **Export and reload pollers configuration** was not selected. + + The new hosts are now monitored. + +## Edit a discovery job + +Some discovery jobs can be edited: + +- if you have set the job to **Automatic analysis** and you have selected **Update existing hosts** at step 5 of the wizard, you can edit and rerun the job: the hosts discovered by the job will be updated. To rerun the job, go to page **Configuration > Hosts > Discovery**, hover over the job, and then click **Force execution**. +- If a job is set to **Manual analysis** and its hosts are already monitored, then editing and running the job again will have no effect. + +1. On the **Configuration > Hosts > Discovery** page, click the discovery job you want. A panel appears on the right. + + ![image](../../assets/monitoring/discovery/host-discovery-edit-job.png) + +2. In this panel, edit the job settings. + + If your job is set to **Automatic analysis**, you can update some host properties using mappers. You can: + + - add templates, hostgroups or host categories + - update or define the severity (there can be only one severity) + - update or define the value of a macro (there can be only one value for a macro) + - update the monitoring server (there can be only one monitoring server) + + To preserve the consistency of data and the traceability of actions, the name, alias and IP address of the host cannot be updated (i.e. data brought by **Property** mappers). + + When you edit mappers, if you selected **Update existing hosts** at step 5 of the wizard, the hosts will be updated. If you did not select this option, running the job again will only add new hosts to the monitoring; existing hosts will not be updated. + + If the autodiscovery module discovers hosts whose names are already used by hosts that have previously been created manually on the **Configuration > Hosts > Hosts** page or with the API or CLAPI, those existing hosts will also be updated by the autodiscovery module. + +3. Click the **Save** icon at the top right of the panel: ![image](../../assets/monitoring/discovery/host-discovery-save.png#thumbnail2) + +## How to use mappers + +Mappers allow you to: + +- Define how the future hosts will be configured, by mapping a value discovered on the host (an attribute) to a field in Centreon. The list of attributes depends on the discovery provider. + +- Include/exclude hosts from the list of results. + +There are nine types of mapper: + +| Mapper | Action | +|---------------|---------------------------------------------------------------------------------------------------------------------------| +| Property | Define a label (name, alias, IP address) | +| Macro | Define a custom macro for the host | +| Template | Add host templates (the template from the Monitoring Connector is added automatically) | +| Host group | Link hosts to a host group | +| Host category | Link a host to a category | +| Host severity | Prioritize the host according to a severity | +| Monitoring | Choose from which monitoring server the host will be monitored | +| Exclusion | Exclude a subset of hosts based on their attributes (see the [example](#dynamically-update-your-configuration) below) | +| Inclusion | Include a subset of hosts that have been excluded by an exclusion mapper | + +For all those mappers, conditions can be applied to choose whether or not the +mapping will actually occur. Operators can be: *is equal to*, *is different from*, *contains* and *does not +contain*. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-condition.png) + +If you include several conditions inside a mapper, all the conditions must be fulfilled in +order for the mapper to apply. + +From version 21.04, the mappers **Property**, **Macro**, **Host group** and **Host category** + support concatenating either discovery attributes or custom strings. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-concatenation.gif) + +When you define several mappers of the same type and the conditions apply for several of them, the last mapper will prevail over the others (the one at the bottom of the list). This applies to the following mappers: monitoring, severity, property, macros. + +### Add a mapper + +1. In the job wizard at step four, or on the editing panel in the **Mappers** +section, click **+ADD MAPPER**. + +2. Select the type of mapper from the dropdown list, and fill every required +field. + +3. Click **SAVE** to add the mapper. + +### Edit a mapper + +1. In the job wizard at step four, or on the editing panel in the **Mappers** +section, click the **More actions** icon, and then click **Edit**. + +2. Edit the fields you want, or even the type of mapper. See [Edit a discovery job](#edit-a-discovery-job). + +3. Click **SAVE** to save the mapper. + +### Delete a mapper + +1. In the job wizard at step four, or on the editing panel in the **Mappers** +section, click the **More actions** icon, and then click **Delete**. + + A popin window will ask you to confirm the action. + +2. Click **DELETE** to delete the mapper. + +### Duplicate a mapper + +1. In the job wizard at step four, or on the editing panel in the **Mappers** +section, click the **More actions** icon, and then click **Duplicate**. + +2. Enter the number of copies of the mapper you want to make, and then click **Duplicate**. + +## Types of mappers + +### Property + +The **Property** mapper is used to set common properties of a host, such as +its name, alias, or IP address. Those three properties are mandatory. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-property.png) + +The **Source** list allows you to choose between credentials, parameters, or +discovery result attributes. + +The **Destination** list allows you to define to which property the value will be +mapped. + +### Macro + +The **Macro** mapper is used to create custom macros to be defined on the +host. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-macro.png) + +The **Source** list allows you to choose between credentials, parameters, or +discovery result attributes. + +The **Destination** is a user-defined text field. + +The **Password** checkbox defines whether the macro will be created as a password +macro or not. + +### Template + +The **Template** mapper is used to add a template to the host. You can add as many +**Template** mappers as you want (one template per mapper). + +As in the example below, you can define a template according to conditions +(here, the OS-Linux-SNMP-custom template is applied to Linux hosts). + +![image](../../assets/monitoring/discovery/host-discovery-mappers-template.png) + +The **Host template** list allows you to choose from among all host templates defined +in the configuration. + +### Host group + +From version 21.04, the discovered hosts can be linked to host groups. There +are two ways of doing this. + +- Select an existing host group from the dropdown list. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostgroup-select.png) + +- Create host groups on the fly: both custom strings and +discovery attributes can be used and concatenated to compose the host group's +name. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostgroup-create.png) + + In this example, when discovering Linux servers, the `os-linux` host group will +be created. + + If a host group already exists with the same name, it won't be +created again; the host will simply be linked to it. + +### Host category + +From version 21.04, the discovered hosts can also be categorized using host +categories. Again, there are two ways of doing this. + +- Select an existing host category from the dropdown list. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostcategory-select.png) + +- Create host categories on the fly: both custom strings +and discovery attributes can be used and concatenated to compose the + name of the category. + + ![image](../../assets/monitoring/discovery/host-discovery-mappers-hostcategory-create.png) + + If a host category already exists with the same name, it won't be +created again; the host will simply be linked to it. + +### Host severity + +From version 21.04, discovered hosts can also be prioritized using host +severities. Since severities are not just a simple label, but also have a +numeric level, they can't be created on the fly, and can only be selected from the +dropdown list. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-hostseverity-select.png) + +### Monitoring + +The **Monitoring** mapper is used to choose the monitoring server from which the host will +be monitored. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-monitoring.png) + +The **Monitoring instance selector** radio buttons allow you to choose between the +monitoring server defined in the job and the ones available on the +Centreon platform. + +This mapper is mandatory. + +If no Monitoring mapper applies to the host (because you have defined excessively strict conditions), the monitoring server on which the job runs will be selected by default. + +### Exclusion + +The **Exclusion** mapper is used to exclude a subset of hosts from the results +list. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-exclusion.png) + +The mapper uses the attributes of hosts as conditions to exclude them. In the example above, Windows hosts +will be excluded from the results list. + +### Inclusion + +The **Inclusion** mapper is used to include hosts that would have been excluded by an **Exclusion** mapper. +This means that **Inclusion** and **Exclusion** mappers must be defined in the right order. + +In the example below, let's say that all hosts have been excluded from the results list (with an + **Exclusion** *is different from 1* mapper, for example). This **Inclusion** mapper will include all Linux hosts in the results list. + +![image](../../assets/monitoring/discovery/host-discovery-mappers-inclusion.png) + +The mapper uses the attributes of hosts as conditions to include them. + + +## Advanced attributes + +Some attributes retrieved by discovery jobs, called advanced attributes, consist of a list of objects that contain pairs of properties. +You can use them as a source for **Macro**, **Host group** and **Host category** mappers, and in conditions for any type of mapper. In **Inclusion** and **Exclusion** mappers in particular, you can filter the results of the discovery according to a specific pair of values. + +Example of advanced attribute describing a host: **cloud tags**. Your hosts are hosted in the cloud. They have an advanced attribute named **tags**. For an instance with the tags **os: windows** and **environment: production**, the discovery job will receive the data in the following way: + +```json +"tags": [{"key": "os", "value": "windows"}, {"key": "environment", "value": "production"}] +``` + +**Examples of use with mappers:** + +- In the **tags** attribute, the **environment** key can have the following values: **production**, **preprod** or **test**. You only want to monitor production instances, i.e. those for which the value **production** matches the key **environment**. Use an **Exclusion** mapper and configure it as follows: + + ![image](../../assets/monitoring/discovery/advanced_attributes1.png) + +- You want to sort hosts into host groups. In the example below, machines will be sorted into hostgroups according to their OS, e.g. all machines whose property **os** equals **Windows** will belong to the hostgroup **Windows**. + + First add a **Hostgroup** mapper and select **Create a host group**. Then select the advanced attribute (in this example: **tags**) as the source for the mapper, and configure it as shown below: + + ![image](../../assets/monitoring/discovery/advanced_attributes3.png) + + The value of the property is displayed in a tooltip. Use **Shift+click** on the advanced attribute to edit its properties: + + ![image](../../assets/monitoring/discovery/advanced_attributes2.png) + +## Examples + +### Dynamically update your configuration + +**Situation** + +Having a VMware vCenter with virtual machines dynamically added, started and +stopped. + +**Objective** + +Update the Centreon configuration according to the states of the virtual +machines. + +**Create the right job** + +From the Host Discovery main page, add a job starting by selecting the VMware VM +provider. + +Define the monitoring instance from which you want to do the discovery. For this +particular provider, it has to work with the discovery parameters on which you +define the information related to the Centreon VMware Connector access +(hostname/ip and port). + +In most cases, you will install the Connector on the monitoring instance, so the +access will be *localhost* and default port *5700*. + +Let's now define the mappers and the update policies to match our needs: + + - First needs: + - Add new (or not yet added) virtual machines, (1) + - Exclude virtual machines that are not started. (2) + + - Second needs: + - Disable the virtual machines that are stopped, (3) + - Re-enable the virtual machines that are started (after being stopped). (4) + +This will first result in an **Exclusion** mapper with the following +configuration: + +![image](../../assets/monitoring/discovery/host-discovery-exclude-powered-off.png) + +This way, all powered-off virtual machines will not be part of the processed +result. Those will not be added (2). + +In addition to this mapper, choose the automatic analysis with all the update +policies as below: + +![image](../../assets/monitoring/discovery/host-discovery-automatic-analysis-all-options.png) + +With the first policy, the virtual machines part of the processed result will be +added (1). + +With the second one, virtual machines that were added at some point (because +in a powered-on state) will be disabled in the Centreon configuration if they +happen to be powered off (3). + +The last one will enable the virtual machines that are once again in a powered-on +state (4). + +Of course, the last two policies work better if the job is scheduled to run more +than one time. + +> Note: if a virtual machine happens to be deleted, it will not be deleted (or +> even disabled) from the Centreon configuration. Only hosts that are discovered and +> excluded at the same time can be disabled in the configuration (if the policy +> is chosen). diff --git a/versioned_docs/version-25.10/monitoring/discovery/installation.md b/versioned_docs/version-25.10/monitoring/discovery/installation.md new file mode 100644 index 000000000000..e79a6a513309 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/installation.md @@ -0,0 +1,49 @@ +--- +id: installation +title: Installation +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Installing the Autodiscovery module + +1. To install packages, execute the following command on the Central server: + + + + +``` shell +dnf install -y centreon-auto-discovery-server +``` + + + + +``` shell +dnf install -y centreon-auto-discovery-server +``` + + + + +``` shell +apt update && apt install centreon-auto-discovery-server +``` + + + + +2. Connect to the Centreon web interface using an account allowed to install +products and go to the **Administration > Extensions > Manager** menu. + +3. Make sure the **License Manager** and **Monitoring Connector Manager** modules are + up to date before installing the **Auto Discovery** module. + +4. Click the Installation icon corresponding to the **Auto Discovery** module. + The module is now installed: + + ![image](../../assets/monitoring/discovery/install-after.png) + +5. To get ready-to-use discovery rules, go to the **Configuration > Plugin +Packs** page and [install the Monitoring Connectors](../pluginpacks.md#pack-installation) for the +discovery providers you want. diff --git a/versioned_docs/version-25.10/monitoring/discovery/introduction.md b/versioned_docs/version-25.10/monitoring/discovery/introduction.md new file mode 100644 index 000000000000..3eb782e92e40 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/introduction.md @@ -0,0 +1,31 @@ +--- +id: introduction +title: Introduction +--- + +> Centreon Auto Discovery is a Centreon **extension** that requires a valid +> [license](../../administration/licenses.md) key. To purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +The Auto Discovery module allows you to obtain a list of new hosts and services and to create them +automatically in your Centreon platform. The discovery is done by discovery providers, which are included +in [Monitoring Connectors](../pluginpacks.md). + +- This discovery mechanism can also be scheduled and executed automatically. Hosts can be added and monitored without manual action. + +- You can also detect that resources are no longer available and automatically disable them in the configuration. + +- You can link contacts to a service discovery rule, to notify them when any change in the configuration occurs. + +## How it works + +1. Create a discovery job for each type of resource, using the corresponding [Monitoring Connector](../pluginpacks.md). +For instance, one job to discover ESX nodes and one job to discover virtual machines in a VMWare cluster. + + For services, create discovery rules: for instance, one rule to discover network interfaces and one rule +to discover disk volumes in a Linux server. + +2. The discovery job or rule is performed: you get a list of all new hosts or services that match the Monitoring Connector. + +3. According to how you have configured the job, you either choose from the list which resources you want +to add to your Centreon platform, or they are added automatically. diff --git a/versioned_docs/version-25.10/monitoring/discovery/services-discovery.md b/versioned_docs/version-25.10/monitoring/discovery/services-discovery.md new file mode 100644 index 000000000000..36db8c49796b --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/services-discovery.md @@ -0,0 +1,386 @@ +--- +id: services-discovery +title: Discovering services automatically +--- + +## Launch a manual scan + +After the discovery rules are programmed, it is possible to run them from the +Centreon web interface. + +Go to the **Configuration > Services > Scan** menu. + +Start to write the name of the host and the web interface automatically completes the +name: + +![image](../../assets/configuration/autodisco/manual_scan_select_host.png) + +Select the discovery command to run from the list that has just appeared: + +![image](../../assets/configuration/autodisco/manual_scan_select_command.png) + +> If the list is empty, it means that your host doesn't use a host template +> linked to a discovery rule. + +Click the **Scan** button and wait during the discovery: + +![image](../../assets/configuration/autodisco/manual_scan_wait.png) + +The result is displayed. Select items to add to the monitoring and click the +**Save** button: + +![image](../../assets/configuration/autodisco/manual_scan_result.png) + +The items were added and it is no longer possible to select them: + +![image](../../assets/configuration/autodisco/manual_scan_added.png) + +> It is possible that some items in the list of results cannot be selected. This +> indicates that they are already part of the configuration. + +The services were added and can be displayed in the menu `Configuration > +Services > Services by host`: + +![image](../../assets/configuration/autodisco/manual_scan_services.png) + +## Discovery rules + +### General options + +A discovery rule lets you create services dynamically and link them to a +host, based on the elements discovered by the probes. The created unit services +will be attached to a service template so that Centreon's functionality can be +used (inheritance, overloading and more). + +To create a rule, go to **Configuration > Services > Rules** and click the +**Add** button: + +![image](../../assets/configuration/autodisco/create_rule_1.png) + +Fill the first fields: + +![image](../../assets/configuration/autodisco/create_rule_2.png) + +Here is the description of the firsts fields located inside the *General* tab: + + - **Rule name**: the rule's name + - **Command Macro**: discovery command used to list available XML + attributes + - **Command Discover**: discovery command which will be executed to enumerate + the elements + - **Service template**: the service template used to dynamically create new + services based on the discovery + +Go to the second **Inclusions / Exclusions & Macros** tab. You should see +available XML attributes: + +![image](../../assets/configuration/autodisco/create_rule_3.png) + +Come back to the first **General** tab, define the **Service display name** and +select values for the other fields: + +![image](../../assets/configuration/autodisco/create_rule_4.png) + +Define the name of the service that will be created. + +> The service name can contain a macro corresponding to an XML stream's +> attribute. For example: when looking for network interfaces, the interface +> name will be given by the **name** attribute. **Traffic-$name$** will be +> replaced by **Traffic-eth0** if the interface's name is **eth0**. The XML +> attribute's name must be described between two **$** characters. You can use +> many XML attributes to build the service name. + +Here is the description of the other fields located inside the *General* tab: + + - **Hosts templates**: the templates used to retrieve the list of hosts for + which a discovery rule should be run + - **Linked Instances**: execute only the rule for host attached to selected + instances. + +> Keep empty to execute rule for any instance. + + - **Contacts**: contacts that will be notified about creation or deactivation + during a discovery + - **Contact groups**: contact groups that will be notified about creation or + deactivation during a discovery + - **Disable elements not found**: lets the module deactivate services + associated to elements that cannot be found anymore + - **Update existing services**: update created service property if enable + (custom macro, etc.). + - **Activate**: activate or deactivate the rule (will be ignored by the + discovery process if deactivated) + +Click the **Save** button to save the discovery rule. + +### Inclusions / Exclusions & Macros + +The **Inclusions / Exclusions & Macros** tab works as follows: + +![image](../../assets/configuration/autodisco/create_rule_5.png) + +The **Inclusions / Exclusions** part allows elements to be included or excluded +during the discovery. This inclusion/exclusion is relative to an XML attribute. + +The inclusion/exclusion rules are defined using the following algorithm: + + - If only exclusion rules are present, every element will be considered, + except the ones corresponding to an exclusion. + - If both types are present, the process checks if the element corresponds to + an inclusion and then checks if it is not listed in the exclusion list. The order in which you list the rules is important. + +The second part, **Macros**, is used to define matches between an XML attribute and +a service's template macro. For all created services, the macros' values will be +replaced by the attributes' values. + +![image](../../assets/configuration/autodisco/create_rule_6.png) + +> In the image above, all macros will be created for the service because the +> checkbox **Empty** is selected. To avoid creating them, do not check the +> **Empty** checkbox. The **$\_SERVICEINTERFACEID** macro created on the service +> will contain the value of **$interfaceid** from the value of the XML element. + +### Advanced options + +On the last **Advanced** tab, you can apply a regexp on the **Service display +name**. Click the **Add a new entry** button and define the pattern and expression +result: + +![image](../../assets/configuration/autodisco/create_rule_7.png) + +The regexp can be applied on the **String** field for: + + - **@SERVICENAME@**: The service name will be created + - All XML attributes defined by **$attribute\_name$** + +The second part, **Customize code**, lets you use Perl code. + +**Custom display scan** gives you the capability to change the display of a +manual scan. By default, a manual scan displays the service name. Here is an example +to add the size of the disk: + +``` perl +my ($value, $unit) = change_bytes(value => $total$); +$description = "@SERVICENAME@ [size = $value $unit]"; +``` + +**Custom variables** gives you the capability to create some custom macros. Here +is an example to have a dynamic threshold according to disk size: + +``` perl +my $total_gb = $total$ / 1000 / 1000 / 1000; +if ($total_gb < 100) { + $warning$ = 80; + $critical$ = 90; +} elsif ($total_gb < 500) { + $warning$ = 90; + $critical$ = 95; +} else { + $warning$ = 95; + $critical$ = 98; +} +``` + +Now, you could use **$warning$** and **$critical$** macro in **Macros** part. + +## Discovery commands + +A **discovery commands** is a command line to execute a *[discovery +plugin](#discovery-plugins)*. + +For each discovery plugin, you need to define two commands: + + - The first one to get the list of available XML attributes + - The second one to discover items on a host + +![image](../../assets/configuration/autodisco/commands_list.png) + +### Command to list available XML attributes + +Go to the **Configuration > Commands > Discovery** menu and click the **Add** button to +create the first command. + +Fill in the fields: + + - **Command Name**: Name of your command + - **Command type**: check **Discovery** option + - **Command Line**: Define the command to get the list of XML attributes + +> All commands using a Centreon Plugin project need to set the **hostname** option, +> so add **--hostname=127.0.0.1** in your command line + +![image](../../assets/configuration/autodisco/command_attributes.png) + +This is an example of the command line executed in a shell: + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=127.0.0.1 --disco-format +``` + +And the result: + +``` xml + + + name + total + status + interfaceid + +``` + +Save the command. + +### Command to get the list of items on a host + +Go to the **Configuration > Commands > Discovery** menu and click the **Add** button to +create the first command. + +Fill in the fields: + + - **Command Name**: Name of your command + - **Command type**: check **Discovery** option + - **Command Line**: Define the command to get the list of items. + +![image](../../assets/configuration/autodisco/command_disco.png) + +This is an example of the command line executed in a shell: + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=192.168.220.129 --snmp-version=2 --snmp-community=public --disco-show +``` + +And the result: + +``` xml + + + +``` + +Save the command. + +## Discovery plugins + +A **discovery plugin** (also called **plugin**) is a script that lists a set of +similar elements such as file systems or network interfaces on a given +resource. + +This plugin must be executable from the command line (shell) by the +**centreon** user (or the user running the monitoring engine). It can be run +locally or remotely using protocols such as SSH or NRPE. + +The result must be a valid XML stream where each element must be described as an +attribute of an XML node. This execution must be available using an option. The +Centreon Plugins use '--mode=xxx --disco-show'. + +For example: + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=192.168.220.129 --snmp-version=2 --snmp-community=public --disco-show +``` + +``` xml + + + +``` + +In the previous example, the `name` attribute corresponds to the network +interface. The `status` describes the IFOPERSTATUS, `total` describes the +IFSPEED of the interface and `interfaceid` describes the IFINDEX. + +The discovery plugin should also list (XML output) the available XML attributes +using an option. The Centreon Plugins use '--mode=xxx --disco-format'. + +For example: + +``` shell +/usr/lib/centreon/plugins/centreon_linux_snmp.pl --mode=list-interfaces --hostname=127.0.0.1 --disco-format +``` + +``` xml + + + name + total + status + interfaceid + +``` + +Here, four attributes are available: `name`, `total`, `status` and +`interfaceid`. + +## Manually test a rule + +You can run discovery manually using the following options: + +| Directive | Type | Description | +|-----------------|---------|-------------------------------------------------------------------------------| +| filter\_rules | array | Run the selected rules | +| filter\_hosts | array | Run all discovery rules linked to all templates of host used by selected host | +| filter\_pollers | array | Run all discovery rules linked to all poller linked with rule | +| dry\_run | boolean | Run discovery without configuration change (as a test) | + +### Examples + +Run all rules: + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{}' +``` + +Test all rules: + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "dry_run": 1 +}' +``` + +Test a specific rule: + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_rules": ["OS-Linux-SNMP-Network-Interfaces-Discovery"], + "dry_run": 1 +}' +``` + +Test all rules linked to host templates used by a defined host: + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_hosts": ["centreon-server"], + "dry_run": 1 +}' +``` + +Test a specific rule on a defined host: + +``` shell +curl --request POST "http://localhost:8085/api/centreon/autodiscovery/services" \ + --header "Accept: application/json" \ + --header "Content-Type: application/json" \ + --data '{ + "filter_rules": ["OS-Linux-SNMP-Network-Interfaces-Discovery"], + "filter_hosts": ["centreon-server"], + "dry_run": 1 +}' +``` diff --git a/versioned_docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md b/versioned_docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md new file mode 100644 index 000000000000..c0cab656d535 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/discovery/troubleshooting-hosts-discovery.md @@ -0,0 +1,54 @@ +--- +id: troubleshooting-hosts-discovery +title: Troubleshooting host discovery issues +--- + +## No more host discovery jobs appear in the Discovery page + +The **Configuration > Hosts > Discovery** page is blank and no longer displays the host discovery jobs. + +### Problem + +The following error occurs in the **gorgoned.log** file: + +``` shell +ERROR - [autodiscovery] -class- host discovery - cannot get host discovery jobs - request error [code: '500'] [message: 'Call to a member function getUuidAttributes() on null'] +``` + +### Solution + +> Do not remove the Monitoring Connector then install it again! + +You need to reinstall the corresponding Monitoring Connector using the **reinstall** button: ![image](../../assets/monitoring/discovery/reinstall-complete.png). + +## Host scan remains stuck in a scheduled state + +When a host scan is initiated, it remains blocked in a scheduled state. + +### Problem + +The following error occurs in the **gorgoned.log** file: + +``` shell +ERROR - [autodiscovery] -class- host discovery - cannot get platform versions - Login error [code: '401'] [message: 'Unauthorized'] +``` + +### Solution + +In the **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** file, replace the **base_url** value with **http://127.0.0.1/centreon/api/latest/** + +### Additional checks + +- Check that the user and password are correct in the **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** file. + +- Check that the user specified in the **/etc/centreon-gorgone/config.d/31-centreon-api.yaml** file is accessing the API configuration. In the Centreon interface, go to the **Configuration > Users > Contacts / Users** page. Then, in the **Centreon Authentication** tab, check that the **Reach API Configuration** field is set to **Yes**. + +## "No provider found" message appears when creating a host discovery task + +When clicking the **ADD** button in the **Configuration > Hosts > Discovery** page, a "No provider found" message is displayed in the wizard. + +### Checks + +- Check that the Auto Discovery module is up to date in the **Administration > Extensions > Manager** page. + +- Reinstall the corresponding Monitoring Connector using the **reinstall** button: ![image](../../assets/monitoring/discovery/reinstall-complete.png). diff --git a/versioned_docs/version-25.10/monitoring/event-handler.md b/versioned_docs/version-25.10/monitoring/event-handler.md new file mode 100644 index 000000000000..eda25c2ec96b --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/event-handler.md @@ -0,0 +1,205 @@ +--- +id: event-handler +title: Auto Remediation +--- + +## Introduction + +Event handlers or auto remediation are optional system commands (scripts or executables) that are run whenever a host +or service state change occurs. + +An obvious use for event handlers is the ability for Centreon to proactively fix problems before anyone is notified. + +### When Are Event Handlers Executed? + +Event handlers are executed when a service or host: + +* Is in a SOFT problem state +* Initially goes into a HARD problem state +* Initially recovers from a SOFT or HARD problem state +* SOFT and HARD states are described [here](../alerts-notifications/concepts.md#status-confirmation) + +### Event Handler Types + +There are different types of optional event handlers that you can define to handle host and state changes: + +* Global host event handler +* Global service event handler +* Host-specific event handlers +* Service-specific event handlers + +Global host and service event handlers are run for every host or service state change that occurs, immediately prior to +any host- or service-specific event handler that may be run. + +### Enabling Event Handlers + +Event handlers can be enabled or disabled on a poller. + +Host- and service-specific event handlers can be enabled or disabled in your host and service definitions. Host- and +service-specific event handlers will not be executed if the global option is disabled on your poller. + +### Event Handler Execution Order + +As already mentioned, global host and service event handlers are executed immediately before host- or service-specific +event handlers. + +Event handlers are executed for HARD problem and recovery states immediately after notifications are sent out. + +## Configuration + +### Create a command + +Event handler commands will likely be shell or perl scripts, but they can be any type of executable that can run from a +command prompt. As a minimum, the scripts should take the following macros as arguments: + +* For Services: $SERVICESTATE$, $SERVICESTATETYPE$, $SERVICEATTEMPT$ +* For Hosts: $HOSTSTATE$, $HOSTSTATETYPE$, $HOSTATTEMPT$ + +The scripts should examine the values of the arguments passed to it and take any necessary action based upon those values. + +Event handler commands will normally execute with the same permissions as the user under which Centreon Engine +(centreon-engine user) is running on your machine. This can present a problem if you want to write an event handler that +restarts system services, as root privileges are generally required to perform tasks of that kind. + +Ideally you should evaluate the types of event handlers you will be implementing and grant just enough permissions to +the Centreon Engine user to execute the necessary system commands. You might want to try using sudo to accomplish this. + +Follow [this procedure to create a command](./basic-objects/commands.md#adding-a-command). + +> Use **Misc** for the command type to classify your commands. + +### Enable Event Handlers on your platform + +Go to the **Configuration > Pollers > Engine configuration** menu and edit all the Centreon Engine configurations on +which you want to enable auto remediation. + +In the **Check Options** tab, enable the **Event Handler Option** option: + +![image](../assets/configuration/enableeventhnadleronpoller.png) + +### Configure Event Handlers + +#### Globally + +To configure auto remediation globally for all resources of a poller, go to the **Configuration > Pollers > Engine +configuration** menu and edit all the Centreon Engine configurations on which you want to enable global auto remediation. + +In the **Check Options** tab, select a command for the hosts and/or services event handler: + +![image](../assets/configuration/enableglobaleventhnadleronpoller.png) + +Click **Save**. + +#### On selected resources + +**For hosts** + +Go to the **Configuration > Hosts > Hosts** menu and edit your hosts. In the **Data Processing** tab, select the command: + +![image](../assets/configuration/enableeventhnadleronresources.png) + +Click **Save**. + +> You can configure this command on templates. + +**For services** + +Go to the **Configuration > Services > Services by host** menu and edit your services. In the **Data Processing** tab, +select the command: + +![image](../assets/configuration/enableeventhnadleronresources.png) + +Click **Save**. + +> You can configure this command on templates. + +### Example + +The example below assumes that you are monitoring the HTTP server on the local machine. We will assume that the Max +Check Attempts option for the service is a value of 4 or greater (i.e., the service is checked 4 times before it is +considered to have a real problem). An abbreviated example service definition might look like this... + +The event handler script (this is the /usr/lib/centreon/plugins/eventhandlers/restart-httpd script). + +```Shell +#!/bin/sh +# +# Event handler script for restarting the web server on the local machine +# +# Note: This script will only restart the web server if the service is +# retried 3 times (in a "soft" state) or if the web service somehow +# manages to fall into a "hard" error state. +# + +# What state is the HTTP service in? +case "$1" in +OK) + # The service just came back up, so don't do anything... + ;; +WARNING) + # We don't really care about warning states, since the service is probably still running... + ;; +UNKNOWN) + # We don't know what might be causing an unknown error, so don't do anything... + ;; +CRITICAL) + # Aha! The HTTP service appears to have a problem - perhaps we should restart the server... + # Is this a "soft" or a "hard" state? + case "$2" in + + # We're in a "soft" state, meaning that Centreon is in the middle of retrying the + # check before it turns into a "hard" state and contacts get notified... + SOFT) + + # What check attempt are we on? We don't want to restart the web server on the first + # check, because it may just be a fluke! + case "$3" in + + # Wait until the check has been tried 3 times before restarting the web server. + # If the check fails on the 4th time (after we restart the web server), the state + # type will turn to "hard" and contacts will be notified of the problem. + # Hopefully this will restart the web server successfully, so the 4th check will + # result in a "soft" recovery. If that happens no one gets notified because we + # fixed the problem! + 3) + echo -n "Restarting HTTP service (3rd soft critical state)..." + # Call the init script to restart the HTTPD server + /etc/rc.d/init.d/httpd restart + ;; + esac + ;; + + # The HTTP service somehow managed to turn into a hard error without getting fixed. + # It should have been restarted by the code above, but for some reason it didn't. + # Let's give it one last try, shall we? + # Note: Contacts have already been notified of a problem with the service at this + # point (unless you disabled notifications for this service) + HARD) + echo -n "Restarting HTTP service..." + # Call the init script to restart the HTTPD server + /etc/rc.d/init.d/httpd restart + ;; + esac + ;; +esac +exit 0 +``` + +The sample script provided above will attempt to restart the web server on the local machine in two different cases: + +* After the service has been rechecked for the 3rd time and is in a SOFT CRITICAL state +* After the service first goes into a HARD CRITICAL state + +The script should theoretically restart the web server and fix the problem before the service goes into a HARD problem +state, but we include a fallback case in the event that it doesn't work the first time. Note that the event +handler will only be executed the first time the service falls into a HARD problem state. This prevents Centreon +from continuously executing the script to restart the web server if the service remains in a HARD problem state. You +don't want that. + +Then create a command like: + +* Command Name: restart-httpd +* Command Type: Misc +* Command Line: $CENTREONPLUGINS$/eventhandlers/restart-httpd $SERVICESTATE$ $SERVICESTATETYPE$ $SERVICEATTEMPT$ + +Now, in your service definition, select the **restart-httpd** command for your event handler definition. diff --git a/versioned_docs/version-25.10/monitoring/generic-actions.md b/versioned_docs/version-25.10/monitoring/generic-actions.md new file mode 100644 index 000000000000..92006f1a9fc3 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/generic-actions.md @@ -0,0 +1,144 @@ +--- +id: generic-actions +title: Generic actions +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +In the **Configuration** menu it is possible to perform certain “generic” actions on the various objects. + +## Adding objects + +To create a new object, click the **Add** button next to the **More actions** menu/above the list of objects. + +![image](../assets/configuration/common/add.png) + +## Duplicating objects + +Duplicate an object to re-use its properties for the creation of a new +object. Example: You need to monitor 10 identical web servers: + +1. Add the first web server with all the necessary properties. +2. Duplicate this host 9 times. +3. All you have to do now is to change the host names and the IP addresses of each duplication to adapt them to the 9 other web servers to be monitored. + +Thanks to this method, it is no longer necessary to create each host individually. + +To duplicate an object: + + + + +For example, to duplicate a Business Activity: + +1. Select the Business Activity that you want to duplicate by checking the associated box. +2. Click on the duplicate icon: ![image](../assets/configuration/common/duplicate_new.png#thumbnail1) +3. Enter the number of extra copies you want to obtain: + + ![image](../assets/configuration/common/duplicate_objects_new.png) + +4. Click **OK**. + + + + +For example, to duplicate a host: + +1. Select the host that you want to duplicate. +2. In the **Options** column, enter the number of extra copies you want to obtain: + + ![image](../assets/configuration/common/01duplicate.png) + +3. In the **More actions** menu, click **Duplicate**: + + ![image](../assets/configuration/common/01duplicateobjects.png) + + + + +## Mass change + +Mass change enables you to apply a change to multiple objects. + +Example: All the web servers previously created change SNMP communities. A mass change enables us to change this +community without it being necessary to change each sheet of each host individually. + +To perform a mass change: + + + + +1. Select the objects that you want to change. +2. Click the **Mass change** icon above the list of objects: ![image](../assets/configuration/common/mass_change.png) +3. Confirm the changes. + + + + +1. Select the objects you want to change. +2. In the **More actions** menu, click **Mass Change**. +3. The form for the type of object opens, with 2 options next to each field: + + * **Incremental**: means that the change will be added to the existing options + * **Replacement**: means that the change will overwrite the existing options. + + + + +## Enabling/disabling objects + +The enabling and disabling of objects allows you to take objects into account or not during configuration generation. +The main advantage is to be able to keep the configuration of an object without applying it. + +To enable/disable an object: + + + + +1. Select the objects you want to enable/disable. +2. Click the icon you want in line with the object, or above the list: + + * **Enable**: ![image](../assets/configuration/common/enabled_new.png#thumbnail1) + * **Disable**: ![image](../assets/configuration/common/disabled_new.png#thumbnail1) + + + + +1. Select the objects you want to change. +2. In the **More actions** menu, click **Enable/Disable**. + +You can also use the following buttons at the end of the line: + +* **Enable**: ![image](../assets/configuration/common/enabled.png#thumbnail1) +* **Disable**: ![image](../assets/configuration/common/disabled.png#thumbnail1) + +![image](../assets/configuration/common/enable_disable.png) + + + + +## Deleting objects + +> Deleting an object is final. If you delete an object by accident, you will need to re-create it. In the same way, +> deleting an object automatically deletes all the objects that are linked to it and that cannot exist without it. Example: +> Deleting a host results in all the services associated with that host being deleted too. + +To delete an object: + + + + +1. Select the objects you want to delete. +2. Click the **Delete** icon: ![image](../assets/configuration/common/delete_new.png#thumbnail1) +3. Confirm the action. + + + + +1. Select the objects you want to delete. +2. In the **More actions** menu, click **Delete**. +3. Confirm the action. + + + diff --git a/versioned_docs/version-25.10/monitoring/groups.md b/versioned_docs/version-25.10/monitoring/groups.md new file mode 100644 index 000000000000..e5edcfdf6ccf --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/groups.md @@ -0,0 +1,60 @@ +--- +id: groups +title: Groups +--- + +## Description + +In Centreon, it is possible to group together hosts and services within groups: + +Generally speaking, groups are containers in which sets of objects having a common property can be grouped together: + +* Same hardware identity (Dell, HP, IBM, etc., servers), logical identity (network equipment) or geographical identity + (Europe, Asia, Africa, North America, etc.) +* Belonging to the same application (CMS application, etc.) or to a same sector of activity (Salary management, etc.) +* etc. + +Host groups and service groups are used to group together objects by logical entities. They are used to: + +* Configure ACLs to link a set of resources to a type of profile +* Allow viewing of availability reports by group. Generate a “Paris Agency” availability report for resources. +* Enable viewing of the status of a set of objects by selecting a group of objects in the search filters +* Search several performance graphs quickly by browsing the object tree structure by group and then by resource + +Generally speaking, we try to group together hosts by functional level. Example: DELL and HP hosts or Linux, Windows, +etc., hosts. +We also try to group services by application jobs. Example: Salary management application, ERP Application, etc. + +> For the hosts belonging to a host group, the retention of RRD files can be defined in the host group. This definition +> overrides the global definition. In the event that the same host belongs to several groups, each possessing a +> retention definition, the highest value will be selected for the host. + +## Creating a host group + +Go to the **Configuration > Hosts > Host Groups** menu and click **Add** + +* The **Name** and **Alias** defines the name and the alias of the host group. +* The **Members** list allows us to add hosts in the hostgroup. +* The **Notes** field allows us to add optional notes concerning the host group. +* The **Notes URL** field defines a URL that can be used to give more information on the hostgroup. +* The **Action URL** field defines a URL normally used to give information on actions on the hostgroup (maintenance, etc.). +* The **Icon** field indicates the icon to be used for the host group. +* The **Map Icon** is the icon used for mapping. +* The **Geographic coordinates** field defines geographical coordinates used by the Centreon MAP module to position the resource on a map +* The **RRD retention** field is expressed in days. It is used to define the duration of retention of the services + belonging to this hostgroup in the RRD database. It will be the default duration defined in the + **Administration > Options > CentStorage** menu if this value is not defined. +* The **Enable/disable resource** and **Comments** fields are used to enable or disable the host group and to make comments on it. + +## Creating a service group + +Go to the **Configuration > Services > Service Groups** menu and click **Add** + +* The **Name** and **Description** fields describe the name and description of the service group. +* The **Linked Host Services** list allows us to choose the various services that will be included in this group. +* The **Linked Host Group Services** list allows us to choose the services linked to a host group that will be part + of this group. +* The **Linked Service Templates** list allows us to deploy a service based on this template on all hosts linked to this group. +* The **Geo coordinates** field defines geographical coordinates used by the Centreon MAP module to position the resource on a map. + Define "Latitude,Longitude"; for example, the set of coordinates for Paris is "48.51,2.20" +* The **Status** and **Comments** fields allow us to enable or disable the service group and to comment on it. diff --git a/versioned_docs/version-25.10/monitoring/metrics.md b/versioned_docs/version-25.10/monitoring/metrics.md new file mode 100644 index 000000000000..a0e3b7fc67b9 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/metrics.md @@ -0,0 +1,207 @@ +--- +id: metrics +title: Understanding metrics +--- + +## What is a metric? + +A metric, or "performance data", is part of a service. A service can have several metrics, or none. + +Metrics allow you to display graphs and to define thresholds according to which you will receive notifications. + +### Status of a metric and status of a service + +When a service has several metrics, the status of the service is the worst among all metric status. The order of priority is as follows: OK, UNKNOWN, WARNING, CRITICAL. + +If a metric cannot be retrieved, its status is considered as UNKNOWN and will impact the associated service. + +### Services without metrics + +Some services have no associated metrics: they check statuses rather than metrics with numerical values. Typically, checks on hardware. The status the service takes is directly defined in the plugin's code, according to the device's response. + +## Where can I see the metrics for a service in Centreon? + +On the **Resource status** page, in the **Details** panel for a service, the **Performance data** section gives you the detailed values for all metrics for this service. The values are that of the last check. + +Example: We are monitoring a Centreon poller (for this service, via the [Linux SNMP](https://docs.centreon.com/pp/integrations/plugin-packs/procedures/operatingsystems-linux-snmp/#collected-metrics--status) connector). In the following picture, we can see that the **Memory** service returns 6 metrics: **used**, **free**, **used_prct**, **buffer**, **cached** and **shared**. + +![image](../assets/monitoring/metrics.png) + +You can also: + +* See the evolution of all the metrics for a service in the **Graph** tab of the details panel for the service. +* Display the last value for a metric in a [dashboard](../alerts-notifications/dashboards.md), using the **Single metric** widget. + +## What is the format of a metric? + +In all cases, the format of the metrics as returned by the plugins is as follows: + +```text +'name_of_the_metric'= value[unit];warning;critical;min;max +``` + +* **value**: the value that is displayed in the details panel of the service is the value returned by the last performed check. + +* **warning/critical**: [thresholds](#syntax-of-metric-thresholds) for which the status of the metric will be WARNING or CRITICAL. If no threshold is defined, the status of the metrics will always be OK. The value of these thresholds is defined [in a macro specific to the service, or in its EXTRAOPTIONS macro](#how-do-i-define-a-threshold-for-a-specific-metric). + + > You can choose to define only a CRITICAL threshold and no WARNING threshold, and vice versa. + +* **min/max**: This is not the minimum/maximum value seen in the data, but the minimum/maximum possible value that the metric can have. For instance, the maximum CPU usage will always be 100%. For some plugins or modes, these values can be redefined [EXTRAOPTIONS macro](#how-do-i-define-a-threshold-for-a-specific-metric). + + * The min and max values will be the minimum/maximum values on the Y axis of the graph. If no min or max are defined, the graph will adapt its height to the smallest and biggest seen value. Redefining the min/max values help make graphs as relevant as possible: if several graphs that represent the same service for several hosts are displayed together, defining the same min and max for all metrics allows you to display them with the same scale. + * The min/max values also make it possible to assess the usage of a resource compared to its capacity: redefining them may be relevant in certain cases. For instance, if you are checking the network traffic on an interface, this interface provides its theoretical minimum speed to the plugin, but you can change it manually if the actual speed is limited by another device. This impacts the data exploited by capacity reports in [MBI](../reporting/introduction.md). + * Min/max values can also be used to display data as a gauge in [MAP](../graph-views/introduction-map.md). + +### Syntax of metric thresholds + +* **x** : we are alerted if the value of the metric is strictly higher than **x** (**80** means higher than 80). +* **x:** : we are alerted if the value of the metric is strictly lower than **x** (**50:** means lower than 50). +* **x:y**: we are alerted if the value of the metric is outside this range (**0:10** means below 0 or above 10). For example, we can determine that the temperature of a datacenter will be CRITICAL if it is below 18 or above 24: we will input **18:24**. +* **@x:y**: we are alerted if the value of the metric is inside the range (**@0:10** means that we are alerted if the value of the metric is between 0 and 10). +* **x:x**: the value of the metric must be equal to **x** for its status to be OK. + +## How do I define a threshold for a specific metric? + +To define a threshold for a specific metric, you must add an option in the EXTRAOPTIONS macro of the service (if a macro specific to the metric doesn't already exist). For each connector, the documentation includes le table of options, in the **Available options > Mode options** section. + +**Example**: An [**HWg-STE Sensor**](/pp/integrations/plugin-packs/procedures/hardware-sensors-hwgste-snmp) connector brings a **Sensors-Global** service, that includes 2 metrics: **hardware.sensor.temperature** and **hardware.sensor.humidity.percentage**. We want to define WARNING and CRITICAL thresholds for the temperature and the humidity. The documentation explains: + +| Option | Description | +| ------ | ----------- | +| --warning | Set warning threshold for 'temperature', 'humidity' (syntax: type,regexp,threshold) Example: --warning='temperature,.*,30' | +| --critical | Set critical threshold for 'temperature', 'humidity' (syntax: type,regexp,threshold) Example: --warning='temperature,.*,50' | + +(Here, **regexp** allows you to filter on a specific sensor if there are several. To include all sensors, use `.*`) + +In the EXTRAOPTIONS macro of the service, we will input: + +```text +--warning='temperature,.*,30' --warning='humidity,.*,60' --critical='temperature,.*,50' --critical='humidity,.*,80' +``` + +## Examples of commands and their returned metrics + +### HTTP-Response-Time service + +**Command** + +```bash +/usr/lib/centreon/plugins//centreon_protocol_http.pl \ +--plugin=apps::protocols::http::plugin \ +--mode=response \ +--hostname=xxx.xxx.xxx.xxx \ +--proto='http' \ +--port='80' \ +--urlpath='/' \ +--warning='' \ +--critical='' +``` + +**Returned metrics** + +```text +'time'=0.224s;;;0; 'size'=579B;;;0; +``` + +### CPU service + +**Command** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=cpu \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning-average='80' \ +--critical-average='90' \ +--critical-core='85' +``` + +**Returned metrics** + +```text +'total_cpu_avg'=17.00%;0:80;0:90;0;100 'cpu_0'=16.00%;;0:85;0;100 'cpu_1'=18.00%;;0:85;0;100 +``` + +### Ping service + +**Command** + +```bash +/usr/lib64/nagios/plugins/check_icmp \ +-H xxx.xxx.xxx.xxx \ +-w 200.000,20% \ +-c 400.000,50% -p 1 +``` + +**Returned metrics** + +```text +rta=0,984ms;200,000;400,000;0; pl=0%;20;50;0;100 rtmax=4,721ms;;;; rtmin=0,032ms;;;; +``` + +### Swap service + +**Command** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=swap \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning-usage-prct='10' \ +--critical-usage-prct='30' +``` + +**Returned metrics** + +```text +'used'=270487552B;;;0;1719660544 'free'=1449172992B;;;0;1719660544 'used_prct'=15.73%;0:10;0:30;0;100 +``` + +### Load service + +**Command** + +```bash +/usr/lib/centreon/plugins//centreon_linux_snmp.pl \ +--plugin=os::linux::snmp::plugin \ +--mode=load \ +--hostname=xxx.xxx.xxx.xxx \ +--snmp-version='2c' \ +--snmp-community='public' \ +--warning='4,3,2' \ +--critical='6,5,4' +``` + +Here, warning and critical thresholds are defined for rolling periods of 1, 5 and 15 minutes. + +**Returned metrics** + +```text +'load1'=0.30;0:4;0:6;0; 'load5'=0.16;0:3;0:5;0; 'load15'=0.29;0:2;0:4;0; +``` + +### Chronyd service + +**Command** + +```bash +/usr/lib/centreon/plugins/centreon_linux_snmp.pl \ +--plugin os::linux::snmp::plugin \ +--hostname 127.0.0.1 \ +--snmp-community public \ +--mode processcount \ +--process-name chronyd \ +--critical 2:2 +``` + +**Command output** + +```text +CRITICAL: Number of current processes running: 1 | 'nbproc'=1;;2:2;0; +``` diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md new file mode 100644 index 000000000000..54dbd6e4ad5f --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration.md @@ -0,0 +1,249 @@ +--- +id: add-a-poller-to-configuration +title: Attach a poller to a central or a remote server +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Prerequisites + +Install the poller [using packages](../../installation/installation-of-a-poller/using-packages.md). + +## Step 1: Configure a new Poller + +As of Centreon version 18.10, a new wizard has been added for adding a new +poller to the Centreon platform. + +1. Go to the **Configuration > Pollers > Pollers** menu and click **Add** to configure a new poller. + +2. Select **Add a Centreon Poller** and click **Next**: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-1.png) + +3. Select the option you want: + - **Create new Poller** if you haven't registered the poller yet on the central or remote server + - **Select a Poller** if you have already registered the poller on the central or remote server. + +4. Type in the name, the IP address of the new poller, and the IP address of the Central +Server. Click **Next**: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-2.png) + + > The IP address of the Poller is the IP address or the FQDN used to access this + > poller from the Central server. + > + > The IP address of the Central server is the IP address or the FQDN used to + > access the Central server from the Poller. + +5. Link the poller to the central server or to a remote server: + + - If you want to link the poller to the Central Server, click **Apply**: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-poller-3.png) + + - If you want to link the poller to an existing Remote Server, select one from the list, then click **Apply**. + + > If you want to change the direction of the flow between the Central Server + > (or the Remote Server) and the Poller, check the **Advanced: reverse Centreon + > Broker communication flow** checkbox. In this case, it will be necessary to + > export the configuration of the poller as well as the server to which it + > will be attached. + + In a few seconds the wizard will configure your new poller. + + ![image](../../assets/monitoring/monitoring-servers/poller-list-zmq.png) + +## Step 2: Enable communication + +The communication between the Central server and a Poller is ensured by Gorgone and can +be done using ZMQ (with a Gorgone running on the Poller, recommended) or using +SSH protocol. + + + + +1. Select the communication type: + + Edit the newly created Poller configuration, and select **ZMQ** as **Gorgone + connection protocol**. Define the suitable **port** (port **5556** is + recommended). + + ![image](../../assets/monitoring/monitoring-servers/poller-edit-zmq.png) + + Click **Save**. + + > Note that the *SSH Legacy port* is no longer used, and will be removed. + > + > If you were using it in custom scripts, consider changing to the + > Gorgone communication system. + +2. Copy the Gorgone configuration: + + From the poller list, click the **Display Gorgone configuration** action + icon on the line corresponding to your Poller ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail1) + + A popin will show the configuration to copy into the **Poller terminal**. + Click **Copy to clipboard**. + + ![image](../../assets/monitoring/monitoring-servers/poller-gorgone-display-config.png) + + Paste the content of the clipboard directly into the **Poller terminal** as it + contains the following content, and will fill the right file: + + ``` shell + cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml + name: gorgoned-My Poller + description: Configuration for poller My Poller + gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + EOF + ``` + + Hit the *Enter* key for the command to be applied. + + > You can copy the configuration in a custom file by copying the content from + > the popin. + +3. Restart the Gorgone daemon: + + From the Poller, run the following command to restart the Gorgone service: + + ``` shell + systemctl restart gorgoned + ``` + + Make sure it is started by running the following command: + + ``` shell + systemctl status gorgoned + ``` + + It should result as follows: + + ``` shell + ● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2020-03-24 19:45:00 CET; 20h ago + Main PID: 28583 (perl) + CGroup: /system.slice/gorgoned.service + ├─28583 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─28596 gorgone-dbcleaner + ├─28597 gorgone-engine + └─28598 gorgone-action + + Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. + ``` + +4. **To force the Central's Gorgone daemon to connect to the Poller**, restart it with +the following command from the **Central server**: + + ```shell + systemctl restart gorgoned + ``` + + + + +1. Select the communication type: + + Edit the newly created Poller configuration, and select **SSH** as **Gorgone + connection protocol**. Define the suitable **port**. + + ![image](../../assets/monitoring/monitoring-servers/poller-edit-ssh.png) + +2. Click **Save**. + + > Note that the *SSH Legacy port* is no longer used, and will be removed. + > + > If you were using it in custom scripts, consider changing to the + > Gorgone communication system. + +3. Exchange SSH keys: + + If you do not have any private SSH keys on the **Central server** for the + **centreon-gorgone** user, create one with the following commands: + + ``` shell + su - centreon-gorgone + ssh-keygen -t rsa + ``` + + > Hit enter when it prompts for a file to save the key to use the default + > location, or create one in a specified directory. **Leave the passphrase + > blank**. You will receive a key fingerprint and a randomart image. + + Generate a password for the **centreon** user on the **new Poller**: + + ``` shell + passwd centreon + ``` + + Then, copy this key on to the **new Poller** with the following commands: + + ``` shell + su - centreon-gorgone + ssh-copy-id -i .ssh/id_rsa.pub centreon@ + ``` + +4. **To force the Central's Gorgone daemon to connect to the Poller**, restart it with +the following command from the **Central server**: + + ```shell + systemctl restart gorgoned + ``` + + + + +## Step 3: Export the configuration of the remote + +This step only applies if you are attaching a poller to a remote server (not to a central server). + +1. On the central server, deploy the configuration of the remote server to which the poller will be attached: + + - Go to **Configuration > Pollers > Pollers** and select the remote server. + - Click **Export configuration**. + - Select the first four boxes, select the **Restart** method, and then click **Export**. + +2. Restart gorgone on the remote server: + + ```shell + systemctl restart gorgoned + ``` + +## Step 4: Export the configuration of the poller + +1. From the poller list, select the poller and click **Export +configuration**. + +2. Then check the first four boxes, select the **Restart** method, and click +**Export**: + + ![image](../../assets/monitoring/monitoring-servers/poller-generate-config.png) + + The poller's engine will then start and connect to the Broker service of the central server or remote server (according to which one you have attached the poller to). + + ![image](../../assets/monitoring/monitoring-servers/poller-list-zmq-started.png) + +## Getting started + +Go to the [Getting Started](../../getting-started/welcome.md) +chapter to configure your first monitoring. diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md new file mode 100644 index 000000000000..46015124a51b --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration.md @@ -0,0 +1,264 @@ +--- +id: add-a-remote-server-to-configuration +title: Attach a remote server to a central server +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Prerequisites + +Install the remote server [using packages](../../installation/installation-of-a-remote-server/using-packages.md). + +## Step 1: Configure a new Remote Server + +As of Centreon version 18.10, a new wizard has been added for defining a new +Remote Server on the Centreon platform. + +1. Go to the **Configuration > Pollers > Pollers** menu and click **Add** to configure a new Remote Server. + +2. Select **Add a Centreon Remote Server** and click **Next**: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-1.png) + +3. Select the option you want: + + - If you enabled the **Remote Server** option when installing your server, select + the option **Select a Remote Server**, then select your server and fill in the + form: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-2a.png) + + - Otherwise, select the **Create new Remote Server** option and fill in the form: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-2b.png) + + The **Database username** and **Database password** are the credentials defined + during the installation of the Remote Server. + + The **Server IP address** field has the following form: + [(http|https)://]@IP[:(port)]. If your Remote Server is only available on + HTTPS, it is mandatory to define the HTTP method and the TCP port if it is + not the default one. + + The **Do not check SSL certificate validation** option allows you to connect to the + Remote Server using a self-signed SSL certificate. + + The **Do not use configured proxy to connect to this server** allows you to connect + to the Remote Server without using the proxy configuration of the Centreon + Central server. + +4. Click **Next**. + +5. Select the poller(s) to be linked to this Remote Server, then click +**Apply**: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-3.png) + + The wizard will configure your new server: + + ![image](../../assets/monitoring/monitoring-servers/wizard-add-remote-4.png) + + The Remote Server is now configured: + + ![image](../../assets/monitoring/monitoring-servers/remote-list-zmq.png) + +6. If you have customized the names of the databases at step 6 of the [web installation wizard](../../installation/web-and-post-installation.md), carry out the following steps: + + 1. Go to **Configuration > Pollers > Broker configuration**. + 2. Select the broker service for the remote server you want. + 3. On the **Output** tab, in section **Output 1 - Unified SQL**, update the name of the database in the **DB name** field (the default name is **centreon_storage**), then click **Save**. + 4. [Export the configuration](deploying-a-configuration.md) of the remote server. + 5. Restart cbd: + + ```shell + systemctl restart cbd + ``` + + If needed, check **/var/log/centreon-broker/.log** for issues/errors. (In the example above, the file would be **/var/log/centreon-broker/remote-server.log**.) + +## Step 2: Enable communication + +The communication between the Central server and a Remote Server is ensured by Gorgone +and can be done using ZMQ (with a Gorgone running on the Remote Server, +recommended) or using SSH protocol. + + + + +1. Select the communication type: + + Edit the newly created Remote Server configuration, and select **ZMQ** as + **Gorgone connection protocol**. Define the suitable **port** (port **5556** + is recommended). + + ![image](../../assets/monitoring/monitoring-servers/remote-edit-zmq.png) + + Click **Save**. + + > Note that the *SSH Legacy port* is no longer used, and will be removed. + > + > If you were using it in custom scripts, consider changing to the + > Gorgone communication system. + +2. Copy the Gorgone configuration: + + From the poller list, click the **Display Gorgone configuration** action + icon on the line corresponding to your Remote Server ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail1) + + A popin will show the configuration to copy into the **Remote Server + terminal**. + Click **Copy to clipboard**. + + ![image](../../assets/monitoring/monitoring-servers/remote-gorgone-display-config.png) + + Paste the content of the clipboard directly into the **Remote Server terminal** + as it contains the following content, and will fill the right file: + + ```shell + cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml + name: gorgoned-My Remote Server + description: Configuration for remote server My Remote Server + gorgone: + gorgonecore: + id: 3 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: "gorgone::modules::core::cron::hooks" + enable: true + cron: !include cron.d/*.yaml + + - name: nodes + package: gorgone::modules::centreon::nodes::hooks + enable: true + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/cache/centreon/config/remote-data/" + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: statistics + package: "gorgone::modules::centreon::statistics::hooks" + enable: true + broker_cache_dir: "/var/cache/centreon/broker-stats/" + cron: + - id: broker_stats + timespec: "*/5 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 + - id: engine_stats + timespec: "*/5 * * * *" + action: ENGINESTATS + parameters: + timeout: 10 + + EOF + ``` + + Hit the *Enter* key for the command to be applied. + + > You can copy the configuration in a custom file by copying the content from + > the popin. + +3. Restart the Gorgone daemon: + + From the Remote Server, run the following command to restart the Gorgone service: + + ```shell + systemctl restart gorgoned + ``` + + Make sure it is started by running the following command: + + ```shell + systemctl status gorgoned + ``` + + It should result as follows: + + ```shell + ● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Wed 2020-03-24 19:45:00 CET; 6s ago + Main PID: 30902 (perl) + CGroup: /system.slice/gorgoned.service + ├─30902 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─30916 gorgone-nodes + ├─30917 gorgone-dbcleaner + ├─30924 gorgone-proxy + ├─30925 gorgone-proxy + ├─30938 gorgone-proxy + ├─30944 gorgone-proxy + ├─30946 gorgone-proxy + ├─30959 gorgone-engine + ├─30966 gorgone-action + └─30967 gorgone-legacycmd + + Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. + ``` + +4. **To force the Central's Gorgone daemon to connect to the Remote Server**, restart +it with the following command from the **Central server**: + + ```shell + systemctl restart gorgoned + ``` + + + + +> **Deprecated** +> +> This mode should no longer be used because it does not allow data +> synchronization between the central and the remote server UI. + + + + +## Step 3: Export the configuration + +1. From the poller list, select the remote server and click **Export +configuration**. + +2. Then check the first three boxes and click **Export**: + + ![image](../../assets/monitoring/monitoring-servers/remote-generate-config.png) + +3. Finally, from the Remote Server, start/restart the collect processes: + + ```shell + systemctl restart cbd centengine + ``` + + The Remote Server's Broker and Engine will then start and connect to the + Central Broker. + + ![image](../../assets/monitoring/monitoring-servers/remote-list-zmq-started.png) + +## Getting started + +Go to the [Getting Started](../../getting-started/welcome.md) +chapter to configure your first monitoring. diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md new file mode 100644 index 000000000000..b2fcf182eca3 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/advanced-configuration.md @@ -0,0 +1,938 @@ +--- +id: advanced-configuration +title: Advanced configuration +--- + +## Centreon Broker and the firewall + +In certain cases you may not be able to initialize the Centreon Broker data flow +from the poller (or the Remote Server) to the Central Server or the Remote +Server. + +Centreon has, however, developed a solution for initializing the flow from the +Centreon Central Server, or from the Remote Server, to the poller. + +Go to the **Configuration > Pollers > Broker configuration** menu and click +**Centreon Broker SQL** configuration on the Central Server or Remote Server. + +Go to the **Input** tab panel and add a new **TCP - IPv4** entry. + +Enter the **Name** of the configuration, the TCP **Connection port** for +connecting to the poller, and the **Host to connect to**. Then **Save** your +configuration. + +![image](../../assets/monitoring/monitoring-servers/on-peer-configuration-1.png) + +Go to the **Configuration > Pollers > Broker configuration** menu and click +the **Broker module** of your poller. + +On the **Output** tab panel, modify the **Output 1 - IPv4** form: + +1. Remove the entry for **Host to connect to**. +2. Check the **Connection port**. +3. Set **Yes** for the **One peer retention** option. + +![image](../../assets/monitoring/monitoring-servers/on-peer-configuration-2.png) + +Click **Save** and generate the configuration of the affected servers. + +## Centreon Broker flow authentication + +If you need to authenticate pollers that are sending data to the monitoring +system, you can use the Centreon Broker authentication mechanism, which is based +on X.509 certificates. + +First generate a Certificate Authority (CA) certificate with OpenSSL. *ca.key* +will be the private key (stored securely), while *ca.crt* will be the public +certificate for authenticating incoming connections: + +```shell +openssl req -x509 -newkey rsa:2048 -nodes -keyout ca.key -out ca.crt -days 365 +``` + +Now generate the certificates using the CA key: + +```shell +openssl req -new -newkey rsa:2048 -nodes -keyout central.key -out central.csr -days 365 +openssl req -new -newkey rsa:2048 -nodes -keyout poller.key -out poller.csr -days 365 +openssl x509 -req -in central.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out central.crt -days 365 -sha256 +openssl x509 -req -in poller.csr -CA ca.crt -CAkey ca.key -CAcreateserial -out poller.crt -days 365 -sha256 +``` + +Put *central.key*, *central.crt* and *ca.crt* on the Centreon central server +(e.g., in **/etc/centreon-broker**) and *poller.key*, *poller.crt* and *ca.crt* +on your poller. + +You must now configure the Centreon Broker in order to use these files. Go to +`Configuration > Pollers > Broker configuration`. For the +*central-broker-master*, under the **Input** tab, set the following parameters +for *central-broker-master-input*: + + - Enable TLS encryption = Yes + - Private key file = /etc/centreon-broker/central.key + - Public certificate = /etc/centreon-broker/central.crt + - Trusted CA's certificate = /etc/centreon-broker/ca.crt + +![image](../../assets/monitoring/monitoring-servers/broker-certificates.png) + +As with the poller, you will have to modify the TCP output under the Output tab +with the following parameters: + + - Enable TLS encryption = Yes + - Private key file = /etc/centreon-broker/poller.key + - Public certificate = /etc/centreon-broker/poller.crt + - Trusted CA's certificate = /etc/centreon-broker/ca.crt + +Regenerate the configuration of the affected pollers (`Configuration > +Pollers > Pollers`) and the authentication will be complete. + +## Advanced configuration of Centreon Broker + +This section will help you understand how Centreon Broker works and how it +should be configured according to Centreon's best practices. The various options +used by Centreon Broker are described. + +### General Overview + +Centreon Broker is at its core a simple multiplexing engine. It takes events from +*Inputs* and send them to various *Outputs*. *Inputs* are typically other +instances of Centreon Broker over TCP/IP, while *Outputs* can be a SQL database, +other brokers, a BI/BAM engine, Centreon Map, etc. + +Each *Input* or *Output* has a *type* that describe what it does and several +parameters, some of them mandatory and other optional. Additionally, an *Output* +can have a *Failover* that will start when the *Output* is in an error state to +allow retention of data. + +An important distinction to make is the standalone Centreon Broker versus a +Centreon Broker installed as Centreon Engine's module. Both have the exact same +capabilities and support the same *Inputs* and *Outputs*. The difference is that +Centreon Broker configured as a module will be automatically started when +Centreon Engine starts and automatically generates the events associated to this +Centreon Engine. Often, those modules only have one *Output* to an instance of +Centreon Broker acting as a concentrator. + +### Main Configuration Page + +This section lists all the instances of Centreon Broker configured in your park, +either in standalone or module mode. Each instance has a name, is associated +with a poller, has a number of *Inputs*, *Outputs*, and *Loggers*, and can be +'enabled' or 'disabled'. + +A poller of type 'Central' will have three instances of Centreon Broker by +default. One Centreon Broker installed as a module for Centreon Engine (here +called *central-module-master*), one Centreon Broker acting as a stand-alone +concentrator (here called *central-broker-master*) and one Centreon Broker +specialized in generating the RRD data used by the graphs (here called +*central-rrd-master*). A best practice is to always use a separate instance of +Centreon Broker to generate RRD data. This way, an issue in the RRD stack will +not cause any issue in your main monitoring. + +As expected, *central-module-master* has only one *Output* and zero *Input*. +Configured as a module to Centreon Engine, it generates events on its own and +forward them to the standalone instance of Centreon Broker. + +A poller generally only have an instance of Centreon Broker, configured as a +module for Centreon Engine. + +### Broker General Configuration Page + +This section lists all the general options associated with an instance of +Centreon Broker. + +Main options: + + - Poller + The poller where this instance lives. + + - Name + The name of this instance. + + - Config file name + The name of the configuration file used by this instance. + + - Retention path + When an *Output* is in an error state, a *Failover* is launched. *Failovers* + save data in files called retention files. Those in turn are saved in the + directory specified here. Best practice is **/var/lib/centreon-broker/** + For security reasons, you can use these directories: + + - **/var/lib/centreon-broker/** + - **/var/lib/centreon-engine/** + - **/var/cache/centreon/** + + - Status + This is used to enable or disable this instance. + +Log options: + + - Log directory + Path where the log file will be created. + + - Log filename + Name of the log file. Default is ``.log + + - Maximum files size (in bytes) + A value different from zero will cause the creation of a new numbered log + file as soon as the maximum size is reached. Recommended value is `0`. + + - core + Log level for `core` log messages, the main logs of centreon-broker. + + - config + Log level for `config` log messages. + Useful to troubleshoot configuration handling issues. + + - sql + Log level for `sql` log messages. + Useful to troubleshoot database queries issues. + + - processing + Log level for `processing` log messages. You shouldn't change it unless + you know what you are looking for. + + - perfdata + Log level for `perfdata` log messages. + Useful to troubleshoot performance data processing issues. + + - bbdo + Log level for `bbdo` log messages. + Useful to troubleshoot [broker binary data objects](../../developer/developer-broker-bbdo.md) issues. + + - tcp + Log level for `tcp` log messages. + Useful to troubleshoot network related issues. + + - tls + Log level for `tls` log messages. + Useful to troubleshoot TLS encryption issues. + + - lua + Log level for `lua` log messages. + Useful to troubleshoot [Lua Stream Connectors](../../developer/developer-broker-stream-connector.md) issues. + + - bam + Log level for `bam` log messages. + Useful to troubleshoot [Business Activity Monitoring](../../service-mapping/introduction.md) issues. + + - Write timestamp (applies to the [deprecated loggger options](#broker-logger-configuration-page-deprecated)) + If activated, each log entry is preceded by the timestamp of the time it was + written. This is useful to know when an error has occured. Best practice is + *Yes*. + + - Write thread id + If activated, each log entry is preceded by the ID of the thread being + executed at that instant. This is only used for advanced debugging purposes. + Best practice is *No*. + +Advanced Options: + + - Statistics + Centreon Broker has an on-demand status reporting mechanism that can be + enabled here. This is used by Centreon Web to check the status of the + instance at any time and determine which inputs and outputs are in an error + state and to generate various statistics on event processing. Best practice + is *Yes*. + + - Correlation + Centreon Broker has a top-level correlation mechanism. This should only be + activated if top-level correlation has been properly configured in Centreon + Web. In all other cases, default is *No*. + + - Event queue max size + The maximum size of the in-memory queue in events. If the number of events + in memory exceeds this number, Centreon Broker will start to use temporary + files to prevent the broker from using too much memory. This, however, + causes additional disk I/O. The exact number can be adjusted to use more or + less memory. A suggested default is 50000. + +If *Statistics* is enabled, on-demand status can be queried manually through a +file in */var/lib/centreon-broker/name.stats*. + +### Broker input configuration page + +This section lists all the inputs activated for this instance of Centreon +Broker. Centreon Broker can have as many inputs as needed. + +#### TCP - IPV4 + +This type of input is deprecated. Inputs read events from a TCP connection. All inputs have the following +parameters: + + - Name + The name of the input. Must be unique. + + - Serialization protocol + The protocol that was used to serialize the data. Can be either 'BBDO' or + 'NDO'. NDO is an old textual protocol that suffers from very poor + performance, poor density of data, and poor security. BBDO is a next-gen + binary protocol that is performant and secure. NDO is deprecated. It should + never be used in new installation. Best practice is 'BBDO'. + + - Compression + If compression was used to serialize the data. Can be 'auto', 'yes', or + 'no'. If left on 'auto' Centreon Broker will detect if compression was used + while doing a TCP handshake (or assume no compression was used for files). + Default to 'auto' for TCP, 'no' for files. + + - Filter category + The categories of events accepted by this *Input*. If empty, no restriction + on events accepted. If filled, only events of the given type will be + processed. *Input* that accept data from Centreon Engines' Broker module + should be set to accept only 'Neb' events. + + - Connection Port + Which port will be used for the connection. Mandatory. + + - Host to connect to + This important parameter will decide if this input will listen or attempt to + initiate a connection. Left empty, this input will listen on its given port. + If filled, this input will attempt to initiate a connection to the given + host/port. + + - Enable TLS encryption + Enable the encryption of the flux. For the encryption to work, the private + key file, the public certificate and the trusted CA's certificate need to be + set on both end. Default to 'auto', i.e 'no' unless TCP negociation has been + activated and the remote endpoint has activated encryption. + + - Private Key File + The private key file used for the encryption. + + - Public certificate + The public certificate used for the encryption. + + - Trusted CA's certificate + The trused CA certificate used for the encryption. + + - Enable negociation + Enable negociation. If 'yes', this *Intput* will try to negociate encryption + and compression with the remote endpoint. + + - One peer retention mode + By default, a listening input will accept any number of incoming + connections. In 'one peer retention' mode only one connection is accepted at + the same time, on a first-come first-serve basis. Default to 'no'. + +To reiterate, TCP *Input* can either listen on a given port or can attempt to +initiate a connection if a host is given. This allow flexible network topology. + +#### BBDO Server + +BBDO Server inputs receive events from a remote endpoint. They listen on a given port for a connection by a BBDO Client. + +*BBDO Server*-type inputs have the following parameters: + + - Listening address + Only with TCP transport protocol, if empty or if 0.0.0.0 the server listens for every connection. + Otherwise, the server only listens on the interface behind the given address. + + - Listening port + Port used for the connection. Mandatory. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private key path + The private key file used for the encryption. + + - Certificate path + The public certificate used for the encryption. + +#### BBDO Client + +BBDO Client inputs receive events from a remote endpoint. They establish a connection on a given port to a BBDO Server. + +*BBDO Client*-type inputs have the following parameters: + + - Server address + The address to connect to. + + - Server port + The server port. + + - Retry interval + On failure, the client waits for this value (given in seconds) before retrying to connect. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Trusted CA's certificate path + The Trusted CA's certificate file. + + - Certificate Common Name + The certificate Common Name. + +### Broker Output Configuration Page + +This section lists all the *Outputs* activated for this instance of Centreon +Broker. Centreon Broker can have as many *Outputs* as needed. + +For each *Outputs*, the parameters are: + + - Type + There are several types of outputs managed by the Centreon Broker: + + 1. **TCP - IPV4** and **TCP - IPV6**: This output forwards data to another + server, another Centreon Broker or Centreon Map. Currently, it doesn't work + with IPV6. This output is also deprecated because we now have two outputs to + replace it that are **BBDO Server** and **BBDO Client**. + 2. **BBDO Server**: This output forwards data to a BBDO client, another Centreon Broker or Centreon Map. + 3. **BBDO Client**: This output forwards data to a BBDO server, another Centreon Broker or Centreon Map. + 4. **File**: Writes data into a file. This output is deprecated. + 5. **RRD**: Generates RRD data from performance data. + 6. **Storage**: Writes metrics into the database and generates performance + data (deprecated). + 7. **SQL**: Writes the real-time status into Centreon's database + (deprecated). + 8. **unified-sql**: Writes the real-time status into Centreon's database. + One such output replaces **Storage** and **SQL** outputs at the same + time. + 9. **Dumper Reader**: Reads from a database when Broker is asked to synchronize + databases (obsolete). + 10. **Dumper Writer**: Writes into a database when Broker is asked to + synchronize databases (obsolete). + 11. **BAM Monitoring**: Generates BAM data from raw events and updates real-time + BAM status. + 12. **BAM Reporting**: Writes long-term BAM logs that can then be used by MBI. + 13. **Generic - Stream connector**: This is a generic output. You need to + write a Lua script to explain what you want. + + - Failover + A *failover* is an output that will be started when in an error state. + Examples are TCP connections "gone haywire" or a MySQL server suddenly + disconnecting, etc. By default, each output has an automatic failover that + will always store data in retention files and replay it when the primary + output recovers from its error state. This is desirable 99% of the time. + Alternatively, you can specify another output that will act as a failover if + needed. + + - Retry interval + When the output is in an error state, this parameter controls the amount of + time the output will wait before retrying. Default is one attempt every 30 + seconds. + + - Buffering timeout + When this output is in an error state, Centreon Broker will wait a specified + time before launching the failover. This is mainly useful if Centreon Broker + should wait for another software to initialize before activating its + failover. In all other cases, this parameter should not be used. Default is + 0 seconds. + + - Filter category + The categories of events accepted by this output. If left empty, no + restriction on events accepted. If filled, only events of the given type + will be processed. The exact best practices are output specific: + + 1. *BAM Reporting* should only accept *BAM* events. + 2. *Dump Writer* should only accept *dumper* events. + 3. *RRD* should only accept *storage* events. + + In all other cases, no restriction should be configured. + +Events generated by an output are reinjected into Centreon Broker's event queue. + +Some outputs only work when consuming data generated by another output. An RRD +output consumes data from a storage output, a *dumper writer* output consumes +data from a *dumper reader*, and a *BAM reporting* output consumes data from a +*BAM monitoring* output. + +Centreon Web needs at least an active output *SQL* ouput to activate its +real-time monitoring capabilities. The storage and RRD outputs are needed to +activate Centreon Web metric plotting. The BAM monitoring output is needed for +real-time BAM data and the BAM reporting output for BI reports. + +Due to the fully distributed nature of Centreon Broker, producer and consumer +outputs can be located on logically or physically different instances as long as +they are connected to each other. + +**Important**: Centreon Web 2.x features two databases, the configuration +database and the real-time database. Those are respectively called *centreon* +and *centreon-storage*. Different outputs expect may different databases in +their configuration. + +| Output Type | Expected database | +| -------------- | ----------------- | +| SQL | centreon-storage | +| Storage | centreon-storage | +| Unified SQL | centreon-storage | +| Dumper Reader | centreon | +| Dumper Writer | centreon | +| BAM Monitoring | centreon | +| BAM Reporting | centreon-storage | + +#### TCP outputs + +TCP outputs forward events to a remote endpoint. As with TCP inputs, TCP outputs +can either listen on a given port or attempt to initiate a connection if a host +parameter is given. This allows for flexible network topology. + +*TCP*-type outputs have the following parameters: + + - Serialization protocol + The protocol used to serialize the data. Can be either *BBDO* or *NDO*. NDO + is an legacy textual protocol with inferior performance, data density and + security. BBDO is a next-generation binary protocol that is effective and + secure. NDO is deprecated. It should never be used for new installations. + Best practice is *BBDO*. + + - Enable negotiation + If *yes*, this output will try to negotiate encryption and compression with + the remote endpoint. + + - Connection Port + Port used for the connection. Mandatory. + + - Host to connect to + This key parameter decides whether the input will listen or attempt to + initiate a connection. If left empty, the input will listen on its given + port. If specified, it will attempt to initiate a connection to the given + host/port. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private Key File + The private key file used for the encryption. + + - Public certificate + The public certificate used for the encryption. + + - Trusted CA's certificate + The trusted CA certificate used for the encryption. + + - One peer retention mode + By default, a listening input will accept any number of incoming + connections. In *one peer retention* mode only one connection at a time is + accepted, on a first-come first-serve basis. Default is *no*. + + - Compression + If compression should be used to serialize the data. Can be *auto*, *yes*, + or *no*. If left on *auto* Centreon Broker will detect if compression is + supported by the endpoint during a TCP negotiation. Default is *auto* for + TCP. + + - Compression Level + The level of compression that should be used, from 1 to 9. Default (or if + not filled) is 6. The higher the compression level is, the higher the + compression will be at the expense of processing power. + + - Compression Buffer + The size of the compression buffer that should be used. Best practice is *0* + or nothing. + +#### BBDO Server + +BBDO Server outputs forward events to a remote endpoint. They listen on a given port for a connection by a BBDO Client. + +*BBDO Server*-type outputs have the following parameters: + + - Listening address + Only with TCP transport protocol, if empty or if 0.0.0.0 the server listens for every connection. + Otherwise, the server only listens on the interface behind the given address. + + - Listening port + Port used for the connection. Mandatory. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Private key path + The private key file used for the encryption. + + - Certificate path + The public certificate used for the encryption. + + - Compression + With this option, data is compressed. + + - Enable retention + With this option, data cannot be lost. If the peer doesn't read sent data, the data is stacked until the peer succeeds to read it. + +BBDO Client outputs forward events to a remote endpoint. They establish a connection on a given port to a BBDO Server. + +*BBDO Client*-type outputs have the following parameters: + + - Server address + The address to connect to. + + - Server port + The server port. + + - Retry interval + On failure, the client waits for this value (given in seconds) before retrying to connect. + + - Transport protocol + Two choices are available: gRPC (based on http2) or TCP (a little faster). + + - Authorization token + Only used with the gRPC transport protocol. This can be used to filter the BBDO flow. + A BBDO client will be able to send data to this server only if their authorization tokens match. + + - Enable TLS encryption + Enables the encryption of the flow. For the encryption to work, the private + key file, *Public certificate* and *Trusted CA's certificate* need to be set + on both ends. Default is *auto*, i.e., *no* unless TCP negotiation has been + activated and the remote endpoint has activated encryption. + + - Trusted CA's certificate path + The Trusted CA's certificate file. + + - Certificate Common Name + The certificate Common Name. + + - Compression + With this option, data is compressed. + +#### File outputs + +File *outputs* send events into a file on the disk. Additionally, they have the +capability of replaying the data of this file if used as a failover output. Most +file outputs will be used as failovers. + +*File* type outputs have the following parameters: + + - Serialization protocol + The protocol that was used to serialize the data. Can be either *BBDO* or + *NDO*. NDO is a legacy textual protocol with inferior performance, data + density and security. BBDO is a next-generation binary protocol that is + effective and secure. NDO is deprecated. It should never be used for new + installations. Best practice is *BBDO*. + + - File path + The path of the file being written to. + + - Compression + If compression should be used to serialize the data. Can be *auto*, *yes*, + or *no*. *auto* is equal to *no* for files. + + - Compression Level + The level of compression to be used, from 1 to 9. Default (or if not filled) + is 6. The higher the compression level is, the higher the compression will + be at the expense of processing power. + + - Compression Buffer + The size of the compression buffer to be used. Best practice is *0*. + +#### RRD outputs + +*RRD* outputs generate RRD data (used by Centreon Web to generate graphs) from +metrics data generated by a storage output. The best practice is to isolate this +output on its own Centreon Broker instance to ensure that an issue in the RRD +stack will not have any impact on the main Centreon Broker instance. + +*RRD*-type outputs have the following parameters: + + - RRD file directory for metrics + The directory where the RRD files of the metrics will be written. A + recommended default is */var/lib/centreon/metrics/*. + + - RRD file directory for status + The directory where the RRD files of the status will be written. A + recommended default is */var/lib/centreon/status/* + + - TCP port + The port used by RRDCached, if RRDCached has been configured on this server. + If not, leave empty. + + - Unix socket + The Unix socket used by RRDCached, if RRDCached has been configured on this + server. If not, leave empty. + + - Write metrics + Should RRD metric files be written? Default is *yes*. + + - Write status + Should RRD status files be written? Default is *yes*. + +#### Storage Outputs + +Perfdata storage outputs save metric data into a database and generate RRD data +used by the RRD output. This output usually generates multiple queries and is +very performance intensive. If Centreon Broker is slow, try adjusting the +*maximum queries per transaction* parameter to optimize processing speed. + +This output can be tasked to rebuild RRD data from a database of stored metric +data. This is usually a slow, costly process, though you can simultaneously +process new metric data at a reduced speed. + +*Storage*-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising it. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Rebuild check interval in seconds + The number of seconds between each rebuild check. Default 300 seconds. + + - Store in performance data in data\_bin + Should this output save the metric data in the database? Default is *yes*. + If *no*, this output will generate RRD data without saving them into the + database, making a rebuild impossible. + + - Insert in index data + Should new index data be inserted into the database? Default is *no*. This + should never be modified unless prompted by Centreon Support or explicitly + advised in the documentation. + +#### SQL outputs + +*SQL* outputs save real-time status data into the real-time database used by +Centreon Web. This is the most important output for the operation of Centreon +Web. + +Moreover, this output has a *garbage collector* that will clean old data from +the database occasionally. This is an optional process, as old data is marked +*disabled*, and can actually be useful to keep for debugging purpose. + +*SQL*-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising this number. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Cleanup check interval + Number of seconds between each run of the garbage collector "cleaning" out + old data in the database. Default is never. + + - Instance timeout + Number of seconds before an instance is marked as *unresponding* and all of + its hosts and services marked as *unknown*. Default is 300 seconds. + +#### Unified SQL outputs + +Unified SQL outputs are the union of **Storage** outputs and **SQL** outputs. +They save metric data into a database and generate RRD data used by the RRD +output. + +This output usually generates multiple queries and is very performance intensive. +If Centreon Broker is slow, try adjusting the +**maximum queries per transaction** parameter to optimize processing speed. + +This output can be tasked to rebuild RRD data from a database of stored metric +data. This is usually a slow, costly process, though you can simultaneously +process new metric data at a reduced speed. + +**Unified SQL** outputs also save real-time status data into the real-time +database used by Centreon Web. This is the most important output for the +operation of Centreon Web. + +Moreover, this output has a **garbage collector** that will clean old data from +the database occasionally. This is an optional process, as old data is marked +**disabled**, and can actually be useful to keep for debugging purposes. + +Since **bbdo 3**, this output is the preferred one instead of the **storage** and +**sql** outputs. That way, you just need one output to the database, +configurations have to be filled once and there are less conflicts between +outputs. + +**unified-sql**-type outputs have the following parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user account for connecting to this database. + + - DB Name + The name of the database. In Centreon terms, this is the database containing + the real-time monitoring data, generally called *centreon-storage*. + + - DB Password + The password used by the output to connect to this database. + + - Maximum queries per transaction + This parameter is used to batch several queries in large transactions. This + allows for improved performance but can generate latency if an insufficient + number of queries are generated to fill those batches. The default is 20000 + queries per transaction. If you have a low load and unexpectedly high + latency, try lowering this number. If you have a high load and high latency, + try raising it. + + - Transaction commit timeout + Number of seconds allowed before a forced commit is made. Default is + infinite. If you have a low load and unexpectedly high latency, try 5 + seconds. + + - Replication enabled + Should Centreon Broker check that the replication status of this database is + complete before trying to insert data? Only useful if replication is enabled + for this database. + + - Rebuild check interval in seconds + The number of seconds between each rebuild check. Default 300 seconds. + + - Store performance data in data\_bin + Should this output save the metric data in the database? Default is *yes*. + If *no*, this output will generate RRD data without saving them into the + database, making a rebuild impossible. + + - Insert in index data + Should new index data be inserted into the database? Default is *no*. This + should never be modified unless prompted by Centreon Support or explicitly + advised in the documentation. + + - Cleanup check interval + Number of seconds between each run of the garbage collector "cleaning" out + old data in the database. Default is never. + + - Instance timeout + Number of seconds before an instance is marked as *unresponding* and all of + its hosts and services marked as *unknown*. Default is 300 seconds. + + - Connections count + Number of connections to the database maintained by this output. This allows broker to write data in parallel using up to 3 connections: + + * 1: all the database traffic goes through only one connection. It is fine for small platforms. + * 2: one connection is dedicated to the traffic (BULK INSERT statements) towards the **data_bin** and **logs** tables and the second one handles the rest. + * 3: two connections are dedicated to the traffic (BULK INSERT statements) towards the **data_bin** and **logs** tables and the third one handles the rest. We recommend this setting for large platforms. + +#### Lua outputs + +*Lua* outputs send metrics information into a script by a key-value system. The +Lua script should reside on your server. + + - Path + The path of the Lua script in your server. + + - Filter category + The categories of events accepted by this output. If empty, no restriction + on events is accepted. If specified, only events of the given type will be + processed. Outputs that accept data from Centreon Engine's Broker module + should be set to only accept *Neb* events. + +**Lua parameter** + + - Type + Type of metric value. + + - Name/Key + Name of metric value. + + - Value + Value of metric. + +#### Dumper reader/writer + +A Dumper Reader/Writer pair is used to synchronize part of a database between +two instances of Centreon Broker. In the future there will be an extensive +synchronization mechanism, but today it is mainly used to synchronize BA for the +BAM Poller Display mechanism. + +The BAM Poller Display configuration documentation explains how to properly +configure those *Outputs*. + +*Outputs* of type 'Dumper Reader' and 'Dumper Writer' have the following +parameters: + + - DB Type + The type of the database being accessed. + + - DB Port + The port of the database being accessed. + + - DB User + The user used by this *Output* to connect to this database. + + - DB Name + The name of this database. In Centreon terms, this is the database containing + the configuration data, generally called 'centreon'. + + - DB Password + The password used by this *Output* to connect to this database. diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/communications.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/communications.md new file mode 100644 index 000000000000..e1ba4b5cba69 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/communications.md @@ -0,0 +1,338 @@ +--- +id: communications +title: Communications +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Communication modes + +Even though Gorgone is being installed on Pollers and Remote Servers, it is +allowed to communicate with them (from the Central server, or between a Remote +Server and a Poller) using the SSH protocol. + +Although SSH-type communication is allowed, it must be used for +transitioning from older platforms that were using Centcore to a full-ZMQ +platform. + +> Pollers or Remote Servers not using ZMQ as the communication protocol +> between Central's Gorgone and theirs will not benefit from all the features +> of Centreon and its extensions. + +Communication modes are listed below: + +### Without Remote Server + + + + +| Communications | Allowed actions | +| -------------------------------------- | ------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Poller** | Monitoring actions\*, Engine/Broker statistics collection, Host Discovery | + + + + +| Communications | Allowed actions | +| -------------------------------------- | ------------------------------------------------------------------------- | +| **Central** <-- *SSH* --\> **Poller** | Monitoring actions\*, Engine/Broker statistics collection, Host Discovery | + + + + +\* Monitoring actions are all actions provided by Centreon UI, like downtime, +acknowledgements, etc., and configuration export. + +### With Remote Server + + + + +| Communications | Allowed actions | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Remote** <-- *ZMQ* --\> **Poller** | Monitoring actions\*, Engine/Broker statistics collection, Host Discovery | + + + + +| Communications | Allowed actions | +| ----------------------------------------------------------------- | ------------------------------------------------------------------------- | +| **Central** <-- *ZMQ* --\> **Remote** <-- *SSH* --\> **Poller** | Monitoring actions\*, Engine/Broker statistics collection, Host Discovery | + + + + +| Communications | Allowed actions | +| ----------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------- | +| **Central** <-- *SSH* --\> **Remote** <-- *SSH* --\> **Poller** | Monitoring actions\*, Engine/Broker statistics collection (Remote only), Host Discovery (Remote only) | + + + + +| Communications | Allowed actions | +| ----------------------------------------------------------------- | -------------------- | +| **Central** <-- *SSH* --\> **Remote** <-- *ZMQ* --\> **Poller** | Monitoring actions\* | + +> This mode does not allow retrieval of the remote's thumbprint, therefore it is +> not possible to display the poller's Gorgone configuration from the Centreon UI. + + + + +\* Monitoring actions are all actions provided by Centreon UI, like downtime, +acknowledgements, etc., and configuration export. + +## Change communication from SSH to ZMQ + + + + +#### Select communication type + +From **Configuration > Pollers** menu, edit the Poller configuration, and select +**ZMQ** as **Gorgone connection protocol**. + +Define the suitable **port** (port **5556** is recommended). + +![image](../../assets/monitoring/monitoring-servers/poller-edit-zmq.png) + +Click **Save**. + +#### Display Gorgone configuration + +From the poller list, click the **Display Gorgone configuration** action +icon on the line corresponding to your Poller ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail1) + +A popin will show the configuration to copy into the **Poller terminal**. +Click **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/poller-gorgone-display-config.png) + +Paste the content of the clipboard directly into the **Poller terminal** as it +contains the following content, and will fill the right file: + +``` shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Poller +description: Configuration for poller My Poller +gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + +EOF +``` + +Hit the enter key for the command to be applied. + +> You can copy the configuration in a custom file by copying the content from +> the popin. + +#### Start Gorgone daemon + +From the Poller, run the following command to start the Gorgone service: + +``` shell +systemctl start gorgoned +``` + +Make sure it is started by running the following command: + +``` shell +systemctl status gorgoned +``` + +The result should be as follows: + +``` shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; disabled; vendor preset: disabled) + Active: active (running) since Mon 2020-03-24 19:45:00 CET; 20h ago + Main PID: 28583 (perl) + CGroup: /system.slice/gorgoned.service + ├─28583 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─28596 gorgone-dbcleaner + ├─28597 gorgone-engine + └─28598 gorgone-action + +Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. +``` + +Finally, enable the automatic startup of the service with the command: + +```shell +systemctl enable gorgoned +``` + +> If there is a Remote Server between the Central and this Poller, make sure to +> export the configuration of the Remote Server. +> +> From the poller list, select the remote server and click **Export +> configuration**. +> +> Then check the first three boxes and click **Export**. +> +> Finally, restart the Gorgone daemon of this Remote Server by running the +> following command: +> +> ```shell +> systemctl restart gorgoned +> ``` + + + + +#### Select communication type + +From the **Configuration > Pollers** menu, edit the Remote Server configuration, and +select **ZMQ** as **Gorgone connection protocol**. + +Define the suitable **port** (port **5556** is recommended). + +![image](../../assets/monitoring/monitoring-servers/remote-edit-zmq.png) + +Click **Save**. + +#### Display Gorgone configuration + +From the poller list, click the **Display Gorgone configuration** action +icon on the line corresponding to your Remote Server ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail1) + +A popin will show the configuration to copy into the **Remote Server +terminal**. +Click **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/remote-gorgone-display-config.png) + +Paste the content of the clipboard directly into the **Remote Server terminal** +as it contains the following content, and will fill the right file: + +```shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Remote Server +description: Configuration for remote server My Remote Server +gorgone: + gorgonecore: + id: 3 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: cron + package: "gorgone::modules::core::cron::hooks" + enable: true + cron: !include cron.d/*.yaml + + - name: nodes + package: gorgone::modules::centreon::nodes::hooks + enable: true + + - name: proxy + package: gorgone::modules::core::proxy::hooks + enable: true + + - name: legacycmd + package: gorgone::modules::centreon::legacycmd::hooks + enable: true + cmd_file: "/var/lib/centreon/centcore.cmd" + cache_dir: "/var/cache/centreon/" + cache_dir_trap: "/etc/snmp/centreon_traps/" + remote_dir: "/var/cache/centreon/config/remote-data/" + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + + - name: statistics + package: "gorgone::modules::centreon::statistics::hooks" + enable: true + broker_cache_dir: "/var/cache/centreon/broker-stats/" + cron: + - id: broker_stats + timespec: "*/5 * * * *" + action: BROKERSTATS + parameters: + timeout: 10 + - id: engine_stats + timespec: "*/5 * * * *" + action: ENGINESTATS + parameters: + timeout: 10 + +EOF +``` + +Hit the enter key for the command to be applied. + +> You can copy the configuration in a custom file by copying the content from +> the popin. + +#### Restart Gorgone daemon + +From the Remote Server, run the following command to restart the Gorgone service: + +```shell +systemctl restart gorgoned +``` + +Make sure it is started by running the following command: + +```shell +systemctl status gorgoned +``` + +The result should be as follows: + +```shell +● gorgoned.service - Centreon Gorgone + Loaded: loaded (/etc/systemd/system/gorgoned.service; enabled; vendor preset: disabled) + Active: active (running) since Wed 2020-03-24 19:45:00 CET; 6s ago + Main PID: 30902 (perl) + CGroup: /system.slice/gorgoned.service + ├─30902 /usr/bin/perl /usr/bin/gorgoned --config=/etc/centreon-gorgone/config.yaml --logfile=/var/log/centreon-gorgone/gorgoned.log --severity=info + ├─30916 gorgone-nodes + ├─30917 gorgone-dbcleaner + ├─30924 gorgone-proxy + ├─30925 gorgone-proxy + ├─30938 gorgone-proxy + ├─30944 gorgone-proxy + ├─30946 gorgone-proxy + ├─30959 gorgone-engine + ├─30966 gorgone-action + └─30967 gorgone-legacycmd + +Mar 24 19:45:00 localhost.localdomain systemd[1]: Started Centreon Gorgone. +``` + + + + +**To force the Central's Gorgone daemon to change the communication type**, +restart it with the following command from the **Central server**: + +```shell +systemctl restart gorgoned +``` diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md new file mode 100644 index 000000000000..475ea075a53c --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/deploying-a-configuration.md @@ -0,0 +1,73 @@ +--- +id: deploying-a-configuration +title: Deploying a configuration +--- + +When you create, delete or edit objects in the **Configuration** menu, changes are not applied automatically (either on the central server on which you have made the change or on any remote server or poller linked to it). For the changes to be taken into account, you must export the configuration. + +Any change in configuration must be done and exported from the central server's interface or API, regardless of which poller is affected by the change (central server, remote server, poller). + +## Exporting the configuration + +1. Go to the **Configuration > Pollers > Pollers** page. The page shows the state of your central +server and of all pollers and remote servers linked to it: changes are shown in the **Conf changed** column. + +2. Select the central server, the remote server or the poller whose configuration has changed. + + ![image](../../assets/monitoring/monitoring-servers/export_conf.png) + +3. Click on **Export configuration**. + +4. Check the following boxes (see section [**Export options**](#export-options)): + + - **Generate Configuration Files** + - **Run monitoring engine debug (-v)** + - **Move Export Files** + - **Restart Monitoring Engine**. Use the most appropriate method: + - **Reload**: when you have created, deleted or edited monitored objects + - **Restart**: when you have made changes to the way a poller and the central server communicate together, or + to the configuration of the engine. Restarting takes more time than reloading. + +5. Click **Export**. A log of the export is displayed. + + ![image](../../assets/monitoring/monitoring-servers/export_conf_done.png) + +6. Read the log to check that the export has worked normally and that no errors were returned. + +## Export options + +The options work in the following ways: + +- **Generate Configuration Files**: Generates the monitoring engine's configuration + files in a temporary directory. This configuration is generated from objects + configured via the web interface +- **Run monitoring engine debug (-v)**: Performs a sanity check of the monitoring engine's configuration files +- **Move Export Files**: Moves the configuration files from the temporary + directory to the monitoring engine's configuration directory. +- **Restart Monitoring Engine**: Restarts the monitoring engine to apply the new + configuration. +- **Post generation command**: Executes the post-generation command set in the + poller's configuration. + +## Quick export + +Administrators and users with the [appropriate rights](#activating-the-feature) can activate a quick export button that allows them to export the configurations of ALL pollers at once (i.e. the configuration of the central server, remote servers and pollers). + +### When to use this feature + +> Do NOT use this feature if you have a large number of pollers. This feature is not appropriate either if you are an MSP and each poller belongs to a different customer. + +### Activating the feature + +* For administrator users, the feature is automatically enabled. +* To make the feature available to a non-administrator user, make sure they have the [**Deploy configuration**](../../administration/access-control-lists.md#poller-configuration-actions--poller-management) right, and the [**Display Top Counter pollers statistics**](../../administration/access-control-lists.md#global-functionalities-access) right. + +### Exporting all configurations + +To quickly export the configuration for all pollers: + +1. Click the **Pollers** menu at the top left of the screen, then click **Export configuration**. + + ![image](../../assets/monitoring/monitoring-servers/export_all_pollers_button.png) + +2. Confirm the export in the pop-up that appears. diff --git a/versioned_docs/version-25.10/monitoring/monitoring-servers/move-poller.md b/versioned_docs/version-25.10/monitoring/monitoring-servers/move-poller.md new file mode 100644 index 000000000000..9d2a6f97afe5 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/monitoring-servers/move-poller.md @@ -0,0 +1,85 @@ +--- +id: move-poller +title: Attach a poller to a different remote server +--- + +Here is the procedure for attaching a poller from the Centreon Central server to a Remote Server, or from one Remote Server +to another. + +## Update the Centreon Poller configuration + +Go to the **Configuration > Pollers > Pollers** menu and edit your poller. + +Select the Remote Server from the **Attach to Master Remote Server** field: + +![image](../../assets/monitoring/monitoring-servers/move_poller_conf_1.png) + +Click **Save**. + +## Update the Centreon Gorgone configuration + +From the poller list, click the **Display Gorgone configuration** action +icon on the line corresponding to your Poller ![image](../../assets/monitoring/monitoring-servers/gorgone-configuration.png#thumbnail1) + +A popin will show the configuration to copy into the **Poller terminal**. +Click **Copy to clipboard**. + +![image](../../assets/monitoring/monitoring-servers/poller-gorgone-display-config.png) + +Paste the content of the clipboard directly into the **Poller terminal** as it +contains the following content, and will fill the right file: + +``` shell +cat < /etc/centreon-gorgone/config.d/40-gorgoned.yaml +name: gorgoned-My Poller +description: Configuration for poller My Poller +gorgone: + gorgonecore: + id: 2 + external_com_type: tcp + external_com_path: "*:5556" + authorized_clients: + - key: Np1wWwpbFD2I0MdeHWRlFx51FmlYkDRZy9JTFxkrDPI + privkey: "/var/lib/centreon-gorgone/.keys/rsakey.priv.pem" + pubkey: "/var/lib/centreon-gorgone/.keys/rsakey.pub.pem" + modules: + - name: action + package: gorgone::modules::core::action::hooks + enable: true + + - name: engine + package: gorgone::modules::centreon::engine::hooks + enable: true + command_file: "/var/lib/centreon-engine/rw/centengine.cmd" + +EOF +``` + +Hit the *Enter* key for the command to be applied. + +> You can copy the configuration in a custom file by copying the content from +> the popin. + +Restart Centreon Gorgone: +```shell +systemctl restart gorgoned +``` + +## Update the Centreon Broker configuration + +Go to the **Configuration > Pollers > Pollers** menu and edit the broker configuration of the poller. + +In the **Output** tab, add or edit the previous **TCP - IPv4** entry to connect to the new server: + +![image](../../assets/monitoring/monitoring-servers/move_poller_conf_2.png) + +Click **Save** + +## Deploy the new configuration + +Go to **Configuration > Pollers > Pollers** and deploy the configuration of the poller. + +On the server to which you have attached your server, restart Centreon Gorgone: +```shell +systemctl restart gorgoned +``` diff --git a/versioned_docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md b/versioned_docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md new file mode 100644 index 000000000000..45254a509b20 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions.md @@ -0,0 +1,201 @@ +--- +id: create-snmp-traps-definitions +title: Create SNMP Traps definitions +--- + +## Add a manufacturer + +Within centreon, the root OIDs of the SNMP traps is filed by manufacturer. To add a manufacturer: + +Go to **Configuration > SNMP traps > Manufacturer** and click **Add** + +![image](../../assets/configuration/06constructors.png) + +* The **Name** and **Alias** fields define the name and the alias of the manufacturer +* The **Description** field provides an indication about the manufacturer + +## Import SNMP traps from a MIB file + +Go into the **Configuration > SNMP traps > MIBs** menu + +![image](../../assets/configuration/06importmibssuccess.png) + +* The **Manufacturer** list can be used to choose the manufacturer to which the MIB that you are importing belongs +* The **File (.mib)** field can be used to load the MIB + +Prior to importing a certain MIB file, it may happen that a number of dependencies need to be met. +In order to find the dependencies of your MIB, open your MIB file using a standard text editor, and then: + +1. Locate the line that starts with **IMPORTS** +2. Verify all the required dependencies to import your MIB file after the keyword **FROM** + +![image](../../assets/configuration/kdependances.png) + +In the MIB file shown above, there are four dependencies required to import the MIB: SNMPv2-SMI, SNMPv2-TC, SNMPv2-CONF, +SNMP-FRAMEWORK-MIB. + +> The dependencies of the MIBS that you import must be present in the folder **/usr/share/snmp/mibs**. Once the import +> is completed, delete the dependencies previously copied. + +## Manual configuration of traps + +### Basic configuration + +It is also possible to create definitions of SNMP traps manually: + +Go to **Configuration > SNMP traps > SNMP traps** and click **Add** + +![image](../../assets/configuration/06addsnmptrap.png) + +* The field **Trap name** defines the name of the trap. +* The field **Mode** defines how to check the trap **OID** received. +* The field **OID** defines the Root OID to be received for this trap to be considered as received. +* The field **Vendor name** defines the name of the manufacturer to which the trap to be selected in the dropdown + list belongs. +* The field **Output message** contains the message to be displayed in the event of reception of a trap containing + the OID configured above. + +> By default, the MIB contains the definition of this variable (e.g.: “Link up on interface $2. State: $4.”, here $2 +> will be replaced by the 2nd argument received in the event.) In the opposite situation, the variable **$*** can be +> used to display all the arguments contained in the trap. + +> It is possible to construct the output message yourself. To do this, use the MIB to find out the arguments that will be +> present in the body of the event and retrieve the arguments with the variables **$n**. As each argument is identified +> by an OID, it is possible to use this OID directly to place it in the output message without knowing its position via +> the variable **@{OID}**. + +* The **Default status** field defines the “monitoring” status of the service in case of reception of the trap. +* If the **Submit result** box is checked, the result is submitted to the Network supervisor engine. +* By default, the **Comments** field (last field) contains the comment by the manufacturer of the SNMP trap. Most of the + time, this comment indicates the list of variables contained in the SNMP trap (see the next chapter on advanced configuration). + +### Advanced configuration of the traps + +It is possible to determine the status of a service from the value of a setting of the SNMP trap rather than from the +Root OID. Previously, the manufacturer defined an SNMP trap (Root OID) by type of event to be sent (linkUp / linkDown). +Today, the tendency is to define a Root OID by category of events and then to define the event via a set of settings. + +To do this, it is possible of define **Advanced Matching mode** by clicking **Add a new entry** and by creating as +many rules as necessary. +For each rule, define the settings: + +* **String** defines the element on which the search will be applied (@OUTPUT@ defines all the **Output messages** + translated). +* **Regexp** defines the REGEXP type search to be applied. +* **Status** defines the status of the service in the event of concordance. + +> The order is important in the rules of correspondence because the process will stop at the first rule of which the +correspondence is assured. + +* The **Disable submit result if no matched rules** field disables the sending of information to the scheduling engine + if no correspondence with a rule is confirmed. +* If the **Reschedule associated services** box is checked, the next check on the service, which should be ‘active’, + should be reprogrammed as soon as possible after reception of the trap. +* If the **Execute special command** box is checked, the command defined in **Special command** is executed. + +### Advanced tab + +The **Advanced** tab is used to configure the behavior of the handling process of the SNMP traps on receiving the traps. + +![image](../../assets/configuration/06advancedconfiguration.png) + +* **Enable routing** is used to enable the routing of information. +* **Route definition** is used to define the command to be used for routing. + +Before performing the processing of the event (translation of the **Output message**), it is possible to execute a +command called PREEXEC. To do this, you can define the **PREEXEC command (SNMPTT type)** by clicking +**Add a new entry** and then create as many rules as necessary. + +* **PREEXEC command** defines the command to be executed. + +Here is an example of use with the linkUP trap: + +For a Cisco resource, $2 == ifDescr contains the port number of the interface (GigabitEthernet0/1 for instance). +The best description of the interface is in the SNMP if Alias field. + +The following command can be used to retrieve this value: + +``` shell +snmpget -v 2c -Ovq -c ifAlias.$1 +``` + +To use the result of the PREEXEC command in the **Output message**, it is necessary to use the variable $p{n} where ‘n’ +corresponds to the order of definition of the command. + +Example: + +``` shell +"Interface $2 ( $p1 ) linkUP. State: $4." "$CA" +``` + +The result will have the form: Interface GigabitEthernet0/1 ( NAS Server ) linkUP. State: up + +* The **Insert trap's information into database** box, if checked, records the SNMP trap information in the database. This + field can be used to define whether or not to classify the traps by day in the database. +* The **Timeout** field expressed in seconds is used to define the maximum processing time of the event including the + pre-processing commands (PREEXEC) and post-processing commands (special command). +* The **Execution interval** field expressed in seconds is used to define the maximum waiting time between two + processing operations of an event. +* The **Execution Type** field is used to enable the Execution interval by defining the conditions by Root OID, by the + Root OID and host combination or, to disable this restriction, None. +* The **Execution Method** field is used to define if, on reception of multiple same events (Root OID), the execution is + either **Sequential** or **Parallel**. + +### Custom code + +The field **custom code** allows custom Perl processing. To enable this feature, you must set **secure_mode** to 0 in the +**/etc/centreon/centreontrapd.pm** file as follows: + +```perl +our %centreontrapd_config = ( + ... + secure_mode => 0, + .... +); + +1; +``` + +For example, to decode the 4 arguments from hexadecimal, the custom code will be: + +```perl +if ($self->{trap_data}->{entvar}->[3] =~ /[[:xdigit:]]+/) { + my $hexa_value = $self->{trap_data}->{entvar}->[3]; + $hexa_value =~ s/ //g; + $self->{trap_data}->{entvar}->[3] = pack('H*', $hexa_value); +} +``` + +> Beware: the argument table starts at 0 for argument 1 of the SNMP trap. + +### Variables + +When adding a rule of correspondence or executing a special command, it is possible to transmit arguments to the **String** +or **Special command** fields. These arguments are listed in the table below: + +| Macro name | Description | +|--------------------------|---------------------------------------------------------------------------------------------------------------------------| +| @{NUMERIC_OID} | Retrieval of the value of an argument via its OID, e.g.: @{.1.3.6.1.4.1.9.9.43.1.1.1} | +| $1, $2... | Retrieval of the value of an argument via its order of appearance | +| $p1, $p2,... | Value of the command: PREEXEC ($p1 = at the first command, $p2 at the second, ...) | +| $* | All the arguments separated by a space | +| @HOSTNAME@ | Host name (in centreon) to which the service is attached | +| @HOSTADDRESS@ | IP address of the host sending the trap | +| @HOSTADDRESS2@ | DNS name of the host sending the trap (if the server fails to effect a reverse DNS resolution we retrieve the IP address) | +| @SERVICEDESC@ | Service name | +| @TRAPOUTPUT@ ou @OUTPUT@ | Output of the traps | +| @STATUS@ | Service state | +| @SEVERITYNAME@ | Criticality name | +| @SEVERITYLEVEL@ | Criticality level | +| @TIME@ | Trap reception timestamp | +| @POLLERID@ | ID of the poller having received the trap | +| @POLLERADDRESS@ | IP address of the poller having received the trap | +| @CMDFILE@ | Path to the command file of central or of centreon Engine (collector) | + +In addition, there are special variables that can be used in the **Routing settings** section at the level of the +**Routing command** if the option Enable routing is selected: + +| Macro name | Description | +|---------------------|---------------------------------------------------------------------------------------------------| +| @GETHOSTBYADDR($1)@ | Reverse DNS resolution used to find the DNS name DNS from the IP address (127.0.0.1 -> localhost) | +| @GETHOSTBYNAME($1)@ | DNS resolution used to find the IP address from the DNS name (localhost -> 127.0.0.1) | diff --git a/versioned_docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md b/versioned_docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md new file mode 100644 index 000000000000..de9a2aa0d3f3 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management.md @@ -0,0 +1,138 @@ +--- +id: debug-snmp-traps-management +title: Debug SNMP Traps management +--- + +## Debug SNMP Traps + +Several elements are involved in the management of SNMP traps. In case of a problem, it is necessary to check the proper +functioning of its architecture. There are several things to check. + +### Sender settings + +The first point is to check the configuration of the equipment or application that issued the trap that you should +have received. Check the IP address or DNS name, the SNMP community and version. + +### Firewall, routing + +The second point is to check the network firewalls and software permissions and the implementation of a specific routing. +If one or more network firewalls are present or if a port translation and/or IP address is in place, make sure the +connection between the emitter and the poller is possible. The use of network probes, debug network devices (firewalls +and routers) or software tcpdump/wireshark on the poller may help you to confirm receipt of data on UDP port 162. + +### Snmptrapd + +After validation of the connection, check the operating status of snmptrapd process (which must be running) and its +configuration options. It is possible to enable logging of the process. To do this, change the +**/etc/sysconfig/snmptrapd** file and replace the "OPTIONS" line: + +``` shell +# snmptrapd command line options +# OPTIONS="-On -d -t -n -p /var/run/snmptrapd.pid" +OPTIONS="-On -Lf /var/log/snmptrapd.log -p /var/run/snmptrapd.pid" +``` + +Restart the process to take the changes into account. Thus, for any receiving SNMP traps, these events will be listed +in the **/var/log/snmptrapd.log** log. + +In case you filter by SNMP community, check the allowed communities in the configuration file **/etc/snmp/snmptrapd.conf**. +If after all these checks, SNMP traps are not included in the log, verify that the process is listening on UDP port 162 +for remote equipment using the command: + +``` shell +netstat -ano | grep 162 +``` + +You must have a result like: + +``` shell +udp 0 0 0.0.0.0:162 0.0.0.0:* off (0.00/0/0) +``` + +If not, change the listening port of the process. + +> Don't forget to deactivate the logs after your check. Otherwise, the volume of the logs can be very large. + +### Centreontrapdforward + +Once the snmptrapd process is validated, check the centreontrapdforward process. The first step is to check the access +parameters of this process, snmptrapd, in the file **/etc/snmp/snmptrapd.conf** + +* Check that the snmptrapd service executes centreontrapdforward. To do this, edit the file **/etc/snmp/snmptrapd.conf** + and verify that its contains: + +``` shell +traphandle default su -l centreon -c "/usr/share/centreon/bin/centreontrapdforward" +``` + +If the path to the file is incorrect, change it and restart the snmptrapd process. +You can check the proper functioning of binary centreontrapdforward by checking the configuration part of +*[centreontrapdforward](enable-snmp-traps.md#centreontrapdforward)*. + +### Centreontrapd + +The next process to check is Centreontrapd. This daemon is used to connect an SNMP trap to a passive service linked to a +host in Centreon using an IP address or DNS from a remote resource. +To check its operation, check the centreontrapd configuration settings. + +You can check the proper functioning of binary centreontrapd by checking the configuration part of +*[centreontrapd](enable-snmp-traps.md#centreontrapd)*. + +You can set up debug mode for the **centreontrapd** service. Edit the following file: + +```shell +vi /etc/sysconfig/centreontrapd +``` + +Then modify the option **severity** to **debug**: + +```shell +OPTIONS="--logfile=/var/log/centreon/centreontrapd.log --severity=debug --config=/etc/centreon/conf.pm --config-extra=/etc/centreon/centreontrapd.pm" +``` + +Then restart **centreontrapd**: + +```shell +systemctl restart centreontrapd +``` + +### Centreon Gorgone + +Gorgoned daemon must be running to forward information from Centreontrapd to the monitoring engine as an external command. +Enable the debug mode via **Administration > Parameters > Debug** menu and restart the process. + +> You can change the logging level via the **Administration > Parameters > Debug** menu. + +If any external commands are sent to the monitoring engine, please check the path to "$cmdFile"" in the **/etc/centreon/conf.pm** +configuration file. The path should be **/var/lib/centreon/centcore.cmd** for a central Centreon server. + +### Centreon Engine + +The monitoring engine must receive external commands from the Centreon Gorgone process in order to change the status and output of the +passive service. Please check the event log. For Centreon Engine, the path is **/var/log/centreon-engine/centengine.log**. +You should find lines such as: + +``` shell +[1352838428] EXTERNAL COMMAND: PROCESS_SERVICE_CHECK_RESULT;Centreon-Server;Traps-SNMP;2;Critical problem +[1352838433] PASSIVE SERVICE CHECK: Centreon-Server;Traps-SNMP;2;Critical problem +``` + +If only the external command appears, but not its acknowledgement by the scheduler ("PASSIVE SERVICE CHECK"), there may be a system clock synchronizing issue. +Either the server is late and the command will be processed later, or it is ahead and the command will not be taken into account. + +### Centreon UI + +To display the result in Centreon, the monitoring engine must forward information to the broker using the NEB module to +store it in the database. Centreon will display a result from the "centreon_storage" database. If you can reach the Centreon web +interface, you should see the changed output and possibly the status of the passive service. If any change appears, a +connection failure between the monitoring engine and the broker can be the root cause of this issue. Possible problems could be: + +* The monitoring engine doesn't load the NEB module to connect to the remote broker. +* The NEB module settings are not appropriate for connecting to the remote broker. +* A firewall stops the connection. + +### Detailed diagram + +Below is a detailed diagram of all the processes used and/or present at the reception of an SNMP trap: + +![image](../../assets/configuration/kcentreontrapd_schema.png) diff --git a/versioned_docs/version-25.10/monitoring/passive-monitoring/dsm.md b/versioned_docs/version-25.10/monitoring/passive-monitoring/dsm.md new file mode 100644 index 000000000000..4849f8523395 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/passive-monitoring/dsm.md @@ -0,0 +1,245 @@ +--- +id: dsm +title: Dynamic Service Management +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Centreon Dynamic Service Management module (Centreon-DSM) is an extension to manage alarms with an eventlogs system. +With DSM, Centreon can receive events such as SNMP traps resulting from the detection of a problem and assign events +dynamically to a slot defined in Centreon, like a trap event. + +A resource has a set number of "slots" (containers) on which alerts will be assigned (stored). Until this event has +been taken into account by a human action, it will remain visible in the Centreon interface. When the event is +acknowledged, the slot becomes available for new events. + +The purpose of this module is to improve Centreon’s basic trap management system. + +## Installation + +### On a central server + +This section describes how to install **Centreon DSM** on a central server. The Centreon DSM server and client will be installed on the +main server. + +Run the command: + + + + +``` shell +dnf install centreon-dsm-server centreon-dsm-client +``` + + + + +``` shell +dnf install centreon-dsm-server centreon-dsm-client +``` + + + + +``` shell +apt install centreon-dsm-server centreon-dsm-client +``` + + + + +After installing the rpm, you must finish installing the module through the web frontend. Go to +**Administration > Extensions > Manager** and search for **dsm**. Click **Install selection**. +Your Centreon DSM Module is now installed. + +You can now start and enable the daemon on your server: + +```shell +systemctl enable dsmd +systemctl start dsmd +``` + +### On a poller + +This part is to install **Centreon DSM** on a poller. Only the client will be installed. + +Run the command: + + + + +``` shell +dnf install centreon-dsm-client +``` + + + + +``` shell +dnf install centreon-dsm-client +``` + + + + +``` shell +apt install centreon-dsm-client +``` + + + + +You must now create an access from the poller to the DBMS server on the **centreon_storage** database. + +## Architecture + +The event must be transmitted to the server via an SNMP trap. The SNMP trap is thus collected by the +**snmptrapd daemon**. If the reception parameters are not valid (authorized community), the event is deleted. + +Once the SNMP trap has been received, it is sent to the **centreontrapdforward** script, which writes the information +received in a buffer folder (by default: **/var/spool/centreontrapd/**). + +The **centreontrapd** service reads the information received in the buffer folder and interprets the traps received +checking, in the centreon database, the actions necessary to process these events. In Centreon DSM we execute a **special command**. + +This special command is executing binary **dsmclient.pl** with arguments. This client will store the new trap in a slot +queue that the daemon reads every 5 seconds. + +The daemon **dsmd.pl** will search in the "centreon" database for name slots (pool service liabilities) associated with the host. +If no slot is created, the event is deleted. Otherwise, the process will search to find out if there is at least one free slot. If at +least one slot is free, then it will transmit external commands to the monitoring engine to change the state of the slot. +Otherwise, the data will wait for a slot to be released. To be releasable, a slot must be created by a +passive service template. + +## Configuration + +### Configure Slots + +Go to **Administration > Modules > Dynamic Services** and click **Add** + +![image](../../assets/configuration/dsm/form-slot.png) + +Please use the table below understand the roles of all the parameters: + +* **Name**: This is the name of the slot group. +* **Description**: This is the description of the group. +* **Host Name**: The name which hosts the slots. +* **Service template based**: The base service template used to create service slots on the host. This template must + have been a passive template. This template must be 100% passive and a custom macro must be created on it. The + macro is named **ALARM_ID** and the default value must be **empty**. +* **Number of slots**: The number of slots that Centreon will create on the selected host when the form is validated. +* **Slot name prefix**: The prefix is used to name the slots. The name will be followed by a number incremented + from 0 to the number of slots. +* **Check command**: This check command is used when the service has to be forced in order to free a slot. The check + command must send an ok return code. +* **Status**: The status of the slot. + +An example of a passive service template is available below: + +![image](../../assets/configuration/dsm/form-passive-service.png) + +> The macro **ALARM_ID** is mandatory. The default **empty** value is also necessary. + +When you validate the form, Centreon will create or update all slots. If you have not changed any value, you do not +need to perform any other action. Otherwise, you must *[deploy the configuration](../monitoring-servers/deploying-a-configuration.md)*. + +### Configure traps + +The last step is to configure the traps that you want to redirect to your slots. + +Edit an SNMP trap that you want to redirect to slot systems. Go to **Configuration > SNMP traps > SNMP traps** +and edit an SNMP trap definition. + +In order to redirect alarms to slots, enable **Execute special command** in the form and add the following +command to the **special command** field: + +```shell +/usr/share/centreon/bin/dsmclient.pl -H @HOSTADDRESS@ -o 'Example output : $*' -i 'linkdown' -s 1 -t @TIME@ +``` + +Each trap receives this command in order to redirect alarms to dsmd daemon. + +This command takes some parameters. You can find the list and the description of each parameter in the following table: + +* **-H**: Host address (ip or name) in which you want to redirect the alarm. You can enter the value @HOSTADDRESS@ in + order to keep the same host, or you can use whatever you want in order to centralize all alarms on the same virtual + host, for example, that hosts all alarms. +* **-o**: This is the output that dsm will provide when the command submits the result in the correct slot. This output + can be built with all $* values and with a specific string that you set as a parameter. +* **-i**: This is the id of the alarm. The alarm id can be built by concatenating some variables such as “$1-$4”. + The id enables the possibility to use the option of auto-acknowledgement of an alarm when you have the possibility to + create the same id during the opening and closing treatment of the alarm. +* **-s**: This is the status that you want to enter as a parameter to the alarm. You can use @STATUS@ in order to use the + inherited status build from the matching rule system. +* **-t**: This is the time that you want to set to dsm in order to keep the real trap reception time. +* **-m**: This is the list of macros and its values that you want to update during the treatment of the alarm. Please + use the following syntax: macro1=value1|macro2=value2|macro3=value3 This function is used to update some parameters in + live on the Centreon-Engine core memory without a restart. + +Your form should now be like this: + +![image](../../assets/configuration/dsm/trap-form-2.png) + +After saving the form, please generate the +*[SNMP traps database definition](monitoring-with-snmp-traps.md#Applying-the-changes)*. + +### Configure Trap links + +One thing that is different compared to the Centreon Trap system is that you cannot directly link the service template of the +slot to the trap in order to not receive the trap x times (here, x represents the number of slots). + +You must link traps to an active service of the resource, for example the **Ping** service. + +## Administration + +### Advanced configuration + +It is possible to overwrite the default configuration of the module by creating/editing the +**/etc/centreon/centreon_dsmd.pm** file: + +```shell +%centreon_dsmd_config = ( + # which user will send action + centreon_user => 'centreon', + # timeout to send command + submit_command_timeout => 5, + # custom macro used to keep alarm ID + macro_config => 'ALARM_ID', + # number of alarms retrieved from the cache for analysis + sql_fetch => 1000, + # interval in seconds to clean locks + clean_locks_time => 3600, + # duration in seconds to keep locks + clean_locks_keep_stored => 3600, +); + +1; +``` + +### Purging cache + +All actions performed by the DSMD engine are logged in the database +**centreon_storage**. A cron is provided to delete the data based on retention. + +To modify the retention period, by default **180 days**, you can create/edit the +**/etc/centreon/centreon_dsmd.pm** file: + +```shell +%centreon_dsm_purge_config = ( + # period in days + history_time => 180, +); + +1; +``` + +To modify the hour of the cron job, you can edit the **/etc/cron.d/centreon-dsm** file: + +```shell +##################################### +# Centreon DSM +# + +30 22 * * * root /usr/share/centreon/www/modules/centreon-dsm//cron/centreon_dsm_purge.pl --config='/etc/centreon/conf.pm' --severity=error >> /var/log/centreon/centreon_dsm_purge.log 2>&1 +``` diff --git a/versioned_docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md b/versioned_docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md new file mode 100644 index 000000000000..8d5902d03502 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/passive-monitoring/enable-snmp-traps.md @@ -0,0 +1,205 @@ +--- +id: enable-snmp-traps +title: Enable SNMP Traps +--- + +## Description + +SNMP traps are information sent using the SNMP protocol from monitored resources to a poller server. This information +contains multiple attributes, including: + +* Address of the resource sending the information. +* The root OID (Object Identifier) corresponding to the identifier of the message received. +* The message sent via the SNMP trap which corresponds to a set of settings (1 to N). + +In order to be able to interpret the event received, the Network supervisor server needs to possess in its configuration +the necessary elements to translate the event. For this, it must have a database containing the OID and the +descriptions, known as MIB files. There are two types of MIB: + +* Standard MIBs that use standardized OIDs and are implemented by numerous manufacturers on their equipment. +* MIB manufacturers who are specific to each one and often to each equipment model. + +MIB manufacturers can be retrieved from the equipment. Centreon allows us to store the definition of SNMP traps in its +MariaDB/MySQL database. The traps can subsequently be linked to passive services via the **Relations** tab of the definition +of a service. + +## Architecture + +### SNMP trap processing by the central server + +The processing of an SNMP trap is as follows: + +1. snmptrapd is the service enabling the retrieval of SNMP traps sent by the equipment (by default it listens on port + **UDP 162**). +2. Once the SNMP trap has been received, it is sent to the ‘centreontrapdforward’ script, which writes the information + received in a buffer folder (by default **/var/spool/centreontrapd/**). +3. The ‘centreontrapd’ service reads the information received in the buffer folder and interprets the traps received, + checking, in the centreon database, the actions necessary to process these events. +4. The ‘centreontrapd’ service transmits the information to the scheduler or the ‘gorgoned’ service (to send the + information to a remote scheduler), which changes the status and the information associated with the service to which the + SNMP trap is linked. + +![image](../../assets/configuration/06_trap_centreon.png) + +### SNMP trap processing by a poller server + +To keep a copy of the configuration of the SNMP traps on each satellite server, an SQLite database is charged with +keeping the information of the traps contained in the MariaDB/MySQL database cached. This SQLite database is automatically +generated by the central server. + +The processing of an SNMP trap is as follows: + +1. snmptrapd is the service used to retrieve the SNMP traps sent by the equipment (by default it listens on port + **UDP 162**). +2. Once the SNMP trap has been received, it is sent to the ‘centreontrapdforward’ script, which writes the information + received in a buffer folder (by default **/var/spool/centreontrapd/**). +3. The ‘centreontrapd’ service reads the information received in the buffer folder and interprets the various traps + received, checking in the SQLite database for the actions to be taken to process the traps received. +4. The ‘centreontrapd’ service transmits the information to the scheduler, which changes the status and the information + associated with the service to which the SNMP trap is linked. + +![image](../../assets/configuration/06_trap_poller.png) + +> The Centreon Gorgone process is responsible for copying the SQLite base on the remote poller. + +### Successive actions by the centreontrapd process + +Successive actions by the centreontrapd process are: + +![image](../../assets/configuration/SNMP_Traps_management_general_view.png) + +## Configuring services + +### Snmptrapd + +To call the ‘centreontrapdfoward’ script, the file **/etc/snmp/snmptrapd.conf** must contain the following lines: + +``` shell +disableAuthorization yes +traphandle default su -l centreon -c "/usr/share/centreon/bin/centreontrapdforward" +``` + +You can optimize the performance of snmptrapd by using the following options: + +* **-On** don’t try to convert the OIDs +* **-t** don’t log the traps to the syslog server +* **-n** don’t try to convert the IP addresses into host names + +These options can be changed in the file **/etc/sysconfig/snmptrapd**: + +``` shell +OPTIONS="-On -d -t -n -p /var/run/snmptrapd.pid" +``` + +### centreontrapdforward + +To change the buffer folder to which the information will be written, change the configuration file +**/etc/centreon/centreontrapd.pm**: + +```perl +our %centreontrapd_config = ( + spool_directory => '/var/spool/centreontrapd/', +); + +1; +``` + +You can also map the folder in the RAM, by adding the following line in the file **/etc/fstab**: + +``` shell +tmpfs /var/spool/centreontrapd tmpfs defaults,size=512m 0 0 +``` + +### centreontrapd + +Two configuration files exist in centreontrapd: + +* **/etc/centreon/conf.pm** contains the connection information to the MariaDB/MySQL database +* **/etc/centreon/centreontrapd.pm** contains the configuration of the centreontrapd service + +#### Configuration of the service + +In the file **/etc/centreon/centreontrapd.pm** we advise changing three settings only (if necessary): + +* If the **mode** option is defined in 1 centreontrapd functions on a satellite server, otherwise it functions on a + central server (centreon). +* The **centreon_user** option can be used to change the user executing the actions. +* The **spool_directory** option can be used to change the buffer folder to be read (if you have changed it in the + ‘centreontrapdforward’ configuration file). + +Here is an example of possible configuration of the file **/etc/centreon/centreontrapd.pm** (the configuration file can +be changed with ‘-config-extra = xxx’): + +```perl +our %centreontrapd_config = ( + # Time in seconds before killing not gently sub process + timeout_end => 30, + spool_directory => "/var/spool/centreontrapd/", + # Delay between spool directory check new files + sleep => 2, + # 1 = use the time that the trap was processed by centreontrapdforward + use_trap_time => 1, + net_snmp_perl_enable => 1, + mibs_environment => '', + remove_backslash_from_quotes => 1, + dns_enable => 0, + # Separator for arguments substitution + separator => ' ', + strip_domain => 0, + strip_domain_list => [], + duplicate_trap_window => 1, + date_format => "", + time_format => "", + date_time_format => "", + # Time in seconds before cache reload + cache_unknown_traps_retention => 600, + # 0 = central, 1 = poller + mode => 0, + cmd_timeout => 10, + centreon_user => "centreon", + # 0 => skip if MariaDB error | 1 => don't skip (block) if MariaDB error (and keep order) + policy_trap => 1, + # Log DB + log_trap_db => 0, + log_transaction_request_max => 500, + log_transaction_timeout => 10, + log_purge_time => 600 +); + +1; +``` + +#### Configuring the database connection + +On Centreon Central server, edit the **/etc/centreon/conf.pm** file: + +```perl +$centreon_config = { + VarLib => "/var/lib/centreon", + CentreonDir => "/usr/share/centreon/", + "centreon_db" => "centreon", + "centstorage_db" => "centreon_storage", + "db_host" => "localhost:3306", + "db_user" => "centreon", + "db_passwd" => "centreon" +}; + +1; +``` + +On a poller, edit the **/etc/centreon/centreontrapd.pm** file: + +```perl +our %centreontrapd_config = ( + ... + "centreon_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", + "centstorage_db" => "dbname=/etc/snmp/centreon_traps/centreontrapd.sdb", + "db_host" => "", + "db_user" => "", + "db_passwd" => "", + "db_type" => 'SQLite', + ... +); + +1; +``` diff --git a/versioned_docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md b/versioned_docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md new file mode 100644 index 000000000000..53237f2b0278 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps.md @@ -0,0 +1,188 @@ +--- +id: monitoring-with-snmp-traps +title: Monitoring with SNMP Traps +--- + +## Monitoring configuration + +Go to the **Configuration > Services > Services by host** menu and click **Add**. + +* Set a description of the service +* Select the host to which to attach this service +* Select the **generic-passive-service-custom** template + +![image](../../assets/configuration/06createpassiveservice.png) + +* Go to the **Relation** tab and select the SNMP traps + +![image](../../assets/configuration/06servicetrapsrelation.png) + +* Click **Save**. + +## Applying the changes + +To be able to export the OID present in the database in the configuration file to centreontrapd, apply the following procedure: + +1. Go to the **Configuration > SNMP traps > Generate** menu +2. Select the poller to which you want to export the configuration files +3. Check **Generate traps database** and **Apply configurations** +4. In the dropdown list, choose **Send signal** (the **Reload** option is preferable) +5. Click on the **Generate** button +6. *[Export the monitoring configuration](../monitoring-servers/deploying-a-configuration.md)* + +## To go further + +### Modify the output + +#### Use all the arguments + +For an SNMP trap, when configuring the output message, the argument **$\*** will display all the information (the value of +arguments) contained within the SNMP trap. However, it is possible to display only certain information contained in the +SNMP trap by calling unitary arguments. + +For example: +![image](../../assets/configuration/06servicetrapsrelation.png) + +The output message **Link down on interface $2. State: $4.** will display only the name of the interface and its status +($2 and $4 argument). + +Where can I find the arguments? + +The arguments are in the documentation of the MIB manufacturer or in the **Comments** field of the SNMP trap. + +![image](../../assets/configuration/klinkcomment.png) + +To show: + +* The index link, use the $1 argument +* The interface name , use the $2 argument +* The administrative state of the interface, use the $3 argument +* The state interface, use the $4 argument + +For example, the following output message displays all the arguments: + +``` shell +Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3 +``` + +#### Active checks after trap reception + +The **Reschedule associated services** option allows you to actively check the service after trap reception. + +The active service linked in the service configuration is executed. + +#### Execute special command + +With Centreontrapd, it is possible to execute a special command after the reception of a SNMP trap. Just use the option +**Execute special command** followed by the description of this command. + +#### Use all the arguments (via OID) + +It is also possible to specify an argument value directly without knowing the order of the arguments ($1, $2, $3, etc.). To do this, +use the complete OID number of the arguments you need. + +For example: + +``` shell +Link down on interface: @{.1.3.6.1.2.1.2.2.1.2} (index: @{.1.3.6.1.2.1.2.2.1.1}). Operational state: @{.1.3.6.1.2.1.2.2.1.8}, Administration state: @{.1.3.6.1.2.1.2.2.1.7} +``` + +#### Use an external variable + +It is also possible to modify the output message by retrieving information via scripts or external commands and get the +result to insert it in the output. +To do this, within the definition of your SNMP trap, go to the **Advanced** tab and add one (or more) preexec commands. + +For example: +![image](../../assets/configuration/kpreexec.png) + +The first command is **snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifAlias.$1** and allows you to retrieve the alias +interface. The "$1" variable is for the argument 1 associated value of linkUp/linkDown traps. + +The second command is **snmpget -v 2c -Ovq -c public @HOSTADDRESS@ ifSpeed.$1** and allows you to retrieve interface speed. +The "$1" variable is for the argument 1 associated value of linkUp/linkDown traps. + +In order to exploit the result of the first command in the output, use the argument $p1. To exploit the +result of the second command in the output, use the argument $p2 . + +We can then deduce the following output message: + +``` shell +Link down on interface: $2 (index: $1). Operational state: $4, Administration state: $3, Alias : $p1, Speed : $p2 +``` + +#### Use a Regular expression + +It is also possible to modify the output by using a regular expression with the **Output Transform** option. Simply +define the regexp and it will be executed at trap reception. + +For example: + +``` shell +s/\|/-/g +``` + +Will replace **|** in the output to **-**. + +### Route/Transfer SNMP traps + +It is possible to have an SNMP trap concentrator. Example: Oracle GRID. +Oracle GRID is responsible for federating information for all Oracle servers. If necessary, the Oracle GRID server sends the SNMP trap to the monitoring server. + +However, from an SNMP trap sent from Oracle GRID, we want to extract the IP address of the host and display the message in the service trap not belonging to Oracle Grid but to the correct host. + +To do this, perform the following steps: + +1. Create a generic trap, with the following parameters: + +* On the **Main** tab: + +| Attributes | Description | +| -------------- | --------------------- | +| Trap Name | Trap name | +| Mode | Unique | +| OID | OID of the trap | +| Default Status | Trap default status | +| Output Message | Custom output message | + +* In the **Advanced** Tab: + +| Attributes | Description | +| ---------------- | -------------------------------------------------------------- | +| Enable routing | Checked | +| Route definition | $2 (In this example $2 argument is for IP address of the host) | + +2. Create a second trap definition: + +* In the **Main** Tab: + +| Attributes | Description | +| -------------- | ------------------------------------ | +| Trap Name | Trap name (not the same as previous) | +| OID | OID of the trap (same as previous) | +| Default Status | Trap default status | +| Output Message | Custom output message | + +3. Associate the first definition to a service (e.g. PING) of the Oracle GRID server +4. Associate the second definition to a passive service of the host. +5. Generate SNMP trap definitions and restart centreontrapd + +In the **Route definition** field you can use the following arguments: + +| Variable name | Description | +| ------------------- | ------------------------------------------------------------------------------------- | +| @GETHOSTBYADDR($2)@ | Reverse DNS resolution to know the DNS name from IP address (127.0.0.1 -\> localhost) | +| @GETHOSTBYNAME($2)@ | DNS resolution to know the Ip address from the DNS (localhost -\> 127.0.0.1) | + +### Ignore SNMP Trap when resource is on downtime + +**Check Downtime** allow centreontrapd to check if the service is not in Downtime status at trap reception. The +submission can be canceled. + +> This is only possible with Centreon Broker and on central monitoring. + +There are three ways to configure this: + +* None: nothing to do; the trap is sent as normal; +* Real-Time: with this option, a trap sent with a current downtime, the service state is not updated; +* History: option used to not acknowledge an snmp trap concerning a past event during a downtime. diff --git a/versioned_docs/version-25.10/monitoring/pluginpacks.md b/versioned_docs/version-25.10/monitoring/pluginpacks.md new file mode 100644 index 000000000000..7172adea91fc --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/pluginpacks.md @@ -0,0 +1,365 @@ +--- +id: pluginpacks +title: Monitoring Connectors +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> As of April 2023, we're changing the names of some Centreon objects and attributes. "Monitoring Connectors" becomes the new name for Plugin Packs. We're making this change because users were often confused between two similar terms: Plugins and Plugin Packs, sometimes using one for the other. We're only changing the name! The functionality and capabilities stay the same. + +A Monitoring Connector is a downloadable package containing a set of configuration +templates that make it fast and easy to monitor your IT infrastructure. +Applying a template from a Monitoring Connector is the easiest way to monitor a host. + +Monitoring Connectors consist of 2 elements, which are installed separately: + +- A plugin that executes the monitoring commands from a poller. Plugins can be +installed using the command line interface, or automatically. + +- A pack that contains commands, host templates and service templates. +Packs are installed via the Centreon interface. For each type of equipment, + the templates determine which indicators will be +monitored and set default warning and critical thresholds (these may be +fine-tuned later on). + + Some packs also contain [discovery rules](discovery/introduction.md). + +To get an up-to-date list of all Monitoring Connectors with their respective monitoring +procedures, please refer to the section on [Monitoring Connectors](/pp/integrations/plugin-packs/getting-started/introduction). + +## Prerequisites + +### Centreon Monitoring Connector Manager + +The **Centreon Monitoring Connector Manager** module can install, update or remove Plugin +Packs. It is installed by default. We recommend that you keep this module regularly updated. + +To update this module, run the following command: + + + + +```shell +dnf update centreon-pp-manager +``` + + + + +```shell +dnf update centreon-pp-manager +``` + + + + +```shell +apt install --only-upgrade centreon-pp-manager +``` + + + + +### License + +A [license](../administration/licenses.md) is required to access the full Monitoring Connectors catalog. Contact the +[Centreon support team](https://support.centreon.com) to get your license. + +### Connectors + +Some Monitoring Connectors also require a Connector (e.g. AS400, VMWare) or an agent +(e.g. Windows NRPE). In that case, it is explained in the monitoring procedure for the Monitoring Connector. The connectors are included in the Monitoring Connectors license. + +| Connector | Description | +| ---------- | ------------------------------------------------------------------------------------- | +| NRPE | NRPE server, packaged by Centreon, with patches required to comply with Plugins Packs | +| NSClient++ | NSClient++, packaged by Centreon, ready to use with embedded Centreon Plugins | +| VMWare | Perl daemon using VMware SDK to monitor VMware platforms | +| AS400 | Java-based connector allowing you to execute checks on an AS400 | + +## Installing a Monitoring Connector + +Installing a Monitoring Connector is a 4-step process: + +1. Accessing the Monitoring Connectors catalog. +2. Installing the pack. +3. Checking the monitoring procedure. +4. Installing the plugin. + +### Accessing the Monitoring Connectors catalog + +* If you have an online [license](../administration/licenses.md), the Monitoring Connectors catalog is already available on your platform, on the **Configuration > Monitoring Connector Manager** page. + +* If you have an offline license: + - install the Monitoring Connectors repository (go to the [Centreon support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) for its address) + - install or update the Monitoring Connectors catalog from your Centreon Central server: + + + + +```shell +dnf install centreon-pack-* +``` + +or: + +```shell +dnf update centreon-pack-* +``` + + + +```shell +dnf install centreon-pack-* +``` + +or: + +```shell +dnf update centreon-pack-* +``` + + + + +```shell +apt install centreon-pack-* +``` + +or: + +```shell +apt install --only-upgrade centreon-pack-\* +``` + + + + +> Please note that although this command is called `install`, it only makes Monitoring Connectors available in the Centreon interface. It will not install the Monitoring Connectors themselves. Please follow the rest of the procedure. + +### Installing the pack + +You now have access to the Monitoring Connectors catalog, on page **Configuration > Monitoring Connector Manager**: + +![image](../assets/configuration/pluginpacks/pp_list.png) + +To install a pack, hover over the icon with the mouse and click the ``+`` + +![image](../assets/configuration/pluginpacks/install_pp.png) + +You can also click the Monitoring Connector to display more details and click the ``+`` + +![image](../assets/configuration/pluginpacks/install_pp_2.png) + +Once the pack is installed, it has a green outline and a green check mark. + +| **Before installation** | **After installation** | +| ---------------------------------------------------------------- | --------------------------------------------------------------- | +| ![image](../assets/configuration/pluginpacks/before_install.png) | ![image](../assets/configuration/pluginpacks/after_install.png) | + +### Managing dependencies + +During installation, some objects in the pack may not be installed. These objects are often additional configuration +objects and are not required to deploy the configuration templates provided by the pack. + +Most of the time, it is necessary to update your Centreon platform and then reinstall your pack. + +In the following example, the "autodiscover" object is a discovery rule for the "Centreon Auto Discovery" module, but +this one is only available for Centreon in version 18.10.x: + +![image](../assets/configuration/pluginpacks/objects_not_installed.png) + +### Checking the monitoring procedure + +Some Monitoring Connectors require extra configuration steps. Read the monitoring procedure for each installed pack +to understand the contents of the pack and to find out about any prerequisites. Click the ``i`` icon of each pack to access its documentation: + +![image](../assets/configuration/pluginpacks/doc.png) + +### Installing the plugin + +Plugins can be installed from the command line or automatically. + +#### Automatic installation + +1. [Install the pack](#installing-the-pack). +2. [Check the monitoring procedure](#checking-the-monitoring-procedure) for extra configuration steps. +3. On the **Configuration > Monitoring Connector Manager** page, set **Automatic installation of plugins** to **ON**. +4. Use a template provided by the pack to monitor a host or a service. +5. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md) for the pollers that monitor these hosts or services: the corresponding plugins will be automatically installed on these pollers. + +#### Manual installation + +The monitoring procedure contains an **Installation** section that explains how to install the plugin +(with an online or an offline license). Install the plugin on each poller that will execute the plugin checks. + +The installation command looks like this: + + + + +```shell +dnf install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +```shell +dnf install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +```shell +apt install centreon-plugin-$PLUGIN-PACK$ +``` + + + + +Where ``$PLUGIN-PACK$`` is the name of the pack. Example: + + + + + +```shell +dnf install centreon-plugin-Cloud-Aws-Ec2-Api +``` + + + + +```shell +dnf install centreon-plugin-Cloud-Aws-Ec2-Api +``` + + + + +```shell +apt install centreon-plugin-cloud-aws-ec2-api +``` + + + + +## Using Monitoring Connectors + +Apply a template from a Monitoring Connector to a host or service to start monitoring it: + +1. Create the host/the service, and in the **Template(s)** field, choose the template for the Monitoring Connector you want. + +2. [Deploy](monitoring-servers/deploying-a-configuration.md) the configuration. + +## Updating Monitoring Connectors + +> You need to update both the plugin and the pack. + +### Updating one pack/all packs + +**To update one pack:** + +If an arrow appears on a Monitoring Connector, it means that an update is available. + +![image](../assets/configuration/pluginpacks/update.png) + +Hover over the Monitoring Connector and click the arrow, + +![image](../assets/configuration/pluginpacks/update2.png) + +or click the Monitoring Connector to display more details, and then click the arrow. + +![image](../assets/configuration/pluginpacks/update3.png) + +Confirm the update. + +![image](../assets/configuration/pluginpacks/update_confirm.png) + +Your pack is up to date. You can now [update the plugin](#updating-the-plugins). + +![image](../assets/configuration/pluginpacks/update_finish.png) + +**To update all packs:** + +You can also update all the packs at the same time: when pack updates are available, an **Update all** button appears. +Note that you will still have to [update the plugins](#updating-the-plugins). + +![image](../assets/configuration/pluginpacks/update_all.png) + +### Updating the plugins + +On the **Configuration > Monitoring Connector Manager** page, if **Automatic installation of plugins** is set to **ON**, plugins will be updated automatically when you deploy the configuration for a poller that monitors a host that uses these plugins. + +If **Automatic installation of plugins** is set to **OFF**, use the following command to update the plugins: + +1. Execute the following command on all pollers: + + + + +```shell +dnf update centreon-plugin\* +``` + + + + +```shell +dnf update centreon-plugin\* +``` + + + + +```shell +apt-get --only-upgrade install centreon-plugin\* +``` + + + + +2. [Deploy the configuration](monitoring-servers/deploying-a-configuration.md) for all pollers. The **Restart Monitoring Engine** +option must be set to **Restart**. + +3. Check that you do not have new errors while executing new plugins. + +> It is your choice whether to install all the plugins on every poller, or just the required plugins. Keep in mind that +> you may encounter errors if you migrate a monitored host to a poller that happens to be missing the necessary plugins. +> If you update the plugins on the Centreon central server, be sure to update them on each poller also. + +## Uninstalling Monitoring Connectors + +As with installation, you can remove a pack either by hovering over the desired pack in the UI and clicking on the red +cross: + +![image](../assets/configuration/pluginpacks/uninstall.png) + +or by clicking first the pack and then the red cross: + +![image](../assets/configuration/pluginpacks/uninstall_2.png) + +Confirm the uninstallation. + +![image](../assets/configuration/pluginpacks/uninstall_confirm.png) + +Your Monitoring Connector is now uninstalled. + +![image](../assets/configuration/pluginpacks/uninstall_3.png) + +#### Managing dependencies + +You will not be able remove a pack if host and service templates created by the Monitoring Connector are being used by any +monitored hosts and services. + +![image](../assets/configuration/pluginpacks/uninstall_pp_used.png) + +To uninstall the pack you will need to either: + +* delete the hosts and services linked to the templates provided by the Monitoring Connector, +* or unlink the hosts and services from the corresponding templates. + +Attempting to uninstall a pack that is a dependency of another pack will cause the uninstallation process to stop if +the pack or its dependency is used by any hosts and services. Otherwise, the pack and its dependencies can be removed. diff --git a/versioned_docs/version-25.10/monitoring/templates.md b/versioned_docs/version-25.10/monitoring/templates.md new file mode 100644 index 000000000000..bfbfb0b3dd43 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/templates.md @@ -0,0 +1,150 @@ +--- +id: templates +title: Templates +--- + +## Definition + +A Template is a pre-configuration of settings of an object that could be used to +configure it. The main advantage is to be able to define default values for +certain objects to speed up the creation of similar objects. + +On creation of a Template, only the template name is mandatory. The other +attributes are optional. + +There are 3 types of template: + + - Host Templates + - Service Templates + - Contact Templates + +The advantages are: + + - Simplified element definition + - No duplication of data + - Easy addition of new resources + - Predefined configurations equivalent to a “catalog of indicators” + - Templates can inherit from other templates. + +## Host Templates + +### Inheritance + +A host or a host template can inherit from one or more host templates. This +heritage may be: + + - associative (addition of multiple host templates) + - parent-child type + +#### Parent-child type inheritance + +This is a predefinition of settings at “n” levels. The object inherits from its +Template which can itself inherit from its Template. If the child redefines a +setting, this setting overwrites the one defined in the higher-level templates. +Otherwise it is added to the settings. + +#### Associative type inheritance + +This consists of adding together several templates within the same object in +order to add together all the settings available. If a host inherits from +several host templates and if the same setting is defined on several templates, +the host template situated above the other templates has priority over +its ancestors. + +![image](../assets/configuration/09hostmodels.png) + +The diagram below shows a host inheriting from multiple host templates. + +![image](../assets/configuration/09hostmodelsheritage.png) + +### Configuration + +To add a host template: + +Go into the **Configuration > Hosts > Templates** menu and click **Add** + +> Refer to the chapter covering configuration of +> *[hosts](basic-objects/hosts.md)* to configure a template, because the form +> is identical. + +> By default, locked host templates are hidden. Check the "Locked elements" box +> to list all templates. + +## Services Templates + +### Inheritance + +A service or a service template can only inherit from a single service template +(parent-child type inheritance). + +![image](../assets/configuration/09heritageservice.png) + +### Configuration + +To add a Service Template: + +Go to **Configuration > Services > Templates** and click **Add**. + +> Refer to the chapter covering configuration of +> *[services](basic-objects/services.md)* to configure a template, because the +> form is identical. + +> By default, locked service templates are hidden. Check the "Locked elements" +> box to list all templates. + +## Best practice + +### Explanations + +Good practice requires that service templates be associated with a host +template: on creation of a host, the services are generated automatically from +the host's templates. There are two advantages in linking service templates to +host templates: + + - The services generated automatically retain their granularity, i.e., it is + possible to change the attributes of a service without affecting the other + services obtained from this template + - The creation of new hosts is speeded up greatly: simply define + the host and the host's templates associated with it. + +Example: We create the srvi-web-01 host according to the template below: + +![image](../assets/configuration/09hostexemple.png) + +The host srvi-web-01 will automatically possess the following services: + + - Load, CPU, Memory, disk-/ from service templates linked to the host + template “Linux-Server-RedHat-5” + - Broken-jobs, hit-ratio, tablespaces, listener from service templates linked + to the host template “DB-MySQL” + - Process and connection from service templates linked to the host template + “Web-Server-Apache” + +When the services of a host are generated from host templates, it is possible +that certain services generated are not checked by the monitoring tool. In this +case, it is necessary to disable the services that are not used (but not to +delete them). In case of deletion of services, regeneration of services of the +host from host templates will re-create the deleted services. + +### Configuration + +The linking of service templates with host templates takes place in the +**Relations** tab of the service templates or host templates. + +## Contact Templates + +A contact or a contact template can only inherit one contact template. + +![image](../assets/configuration/09contactmodel.png) + +### Configuration + +To add a contact template: + +Go to **Configuration > Users > Contact Templates**, and click +**Add** + +> Refer to the chapter covering configuration of +> [contacts](basic-objects/contacts.md). In addition, the contact +> templates are used for automatic import of profiles via +> [LDAP](../administration/parameters/ldap.md) diff --git a/versioned_docs/version-25.10/monitoring/web-import-export.md b/versioned_docs/version-25.10/monitoring/web-import-export.md new file mode 100644 index 000000000000..f2a46c891b31 --- /dev/null +++ b/versioned_docs/version-25.10/monitoring/web-import-export.md @@ -0,0 +1,237 @@ +--- +id: web-import-export +title: Import/Export +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +The Centreon Web Import/Export module is designed to help users configure +several Centreon Web platforms in a faster and easier way, thanks to its +import/export mechanism. + +From a properly configured source environment, you can use the AWIE module to +export chosen objects toward a target environment. Those objects will be +replicated. + +Centreon AWIE is based on CLAPI commands, but its added value is to allow the use of +the Centreon Web UI instead of command lines. + +## Installation + +### Installing packages + +Run the following commands as a privileged user: + + + + +``` shell +dnf install centreon-awie +``` + + + + +``` shell +dnf install centreon-awie +``` + + + + +``` shell +apt install centreon-awie +``` + + + + +### UI installation + +Go to **Administration > Extensions > Manager** and search **awie**. Click +**Install selection**: + +![imaage](../assets/configuration/awie/install_01.png) + +Your module is now installed: + +![imaage](../assets/configuration/awie/install_02.png) + +## Export configuration + +Once you have properly configured all Centreon Web objects you need (Poller, +Hosts, Services, Contacts, Time Periods... ) then you can export them to +another Centreon Web platform by going to the **Configuration > Import/Export** +menu. + +The default page is the Export one. + +![imaage](../assets/configuration/awie/exportdefault.png) + +### Exported Archive Name + +Be aware that if you change the name of the created archive, you will not be +able to import it unless the name of the archive is identical to the name of the +file contained in the archive. + +### Poller Export + +![imaage](../assets/configuration/awie/poller.png) + +If you set the **All** checkbox to yes (default value is no), then all +configured pollers will be exported with their configuration files (for engine, +Broker, etc.) after you have clicked the **Export** button. + +If you want to export only one poller, type its **exact** name in the **Filter** +field (one single value is accepted; this field has no list of suggested items). + +### Hosts Export + +![imaage](../assets/configuration/awie/hostsetc.png) + +#### Hosts + +![imaage](../assets/configuration/awie/hosts.png) + +Same principle as poller export, but: + +If you choose to export all hosts, then host configurations, linked host +templates and linked service templates will be exported, but hosts will be +created in the target environment without their services. However, you will be able +to create services by selecting the value "Yes" for the **Create Services linked to +the Template too** radio button in the **Configuration > Hosts** page, for each +host. Save the host configuration and export the configuration. + +If you export a specific host by using the *Filter* field (only one host at a +time), the host will be created in the new platform with all of its +services. + +#### Host templates + +![imaage](../assets/configuration/awie/hoststemplates.png) + +Check the *Host templates* checkbox if you want to export all host templates. + +Use the *Filter* field for one single value if you want to export one specific +host template. + +#### Host groups + +![imaage](../assets/configuration/awie/hostgroups.png) + +Check the **Host groups** checkbox if you want to export all host groups. + +Use the **Filter** field for one single value if you want to export one specific +host group. + +#### Host categories + +![imaage](../assets/configuration/awie/hostscat.png) + +Check the **Host categories** checkbox if you want to export all host +categories. There is no **Filter** field for this object. + +### Services Export + +![imaage](../assets/configuration/awie/servicesetc.png) + +#### Services + +![imaage](../assets/configuration/awie/services.png) + +Same principle as poller export, but: + +If you use the **Filter** field for a specific service, the Import/Export process +will create ALL services linked to the first host linked to the filtered +service. + +#### Service templates + +![imaage](../assets/configuration/awie/servicestemplates.png) + +Check the **Service templates** checkbox if you want to export all service +templates. + +Use the **Filter** field for one single value if you want to export one specific +service template. + +#### Service groups + +![imaage](../assets/configuration/awie/servicegroups.png) + +Check the **Service groups** checkbox if you want to export all service groups. + +Use the **Filter** field for one single value if you want to export one specific +service group. + +#### Service categories + +![imaage](../assets/configuration/awie/servicescat.png) + +Check the **Service categories** checkbox if you want to export all service +categories. There is no **Filter** field for this object. + +### Contacts Export + +![imaage](../assets/configuration/awie/contacts.png) + +You can export all Contacts (without linked contact groups) or all Contact +groups (with linked users). No **Filter**. + +### Commands Export + +![imaage](../assets/configuration/awie/commands.png) + +Check the checkbox corresponding to the type of command you want to export +(Check, Notification, Miscellaneous or Discovery). No **Filter**. + +> Command line notification commands are not exported entirely (known issue). + +### Resources Export + +![imaage](../assets/configuration/awie/resources.png) + +### ACL + +Check the **ACL** checkbox if you want to export ACL objects (Access groups, +Menu Access, Resource Access, Action Access). No **Filter**. + +> Relations between ACL objects are exported, but links between those +> objects are not created once they are imported. + +### LDAP + +Check the **LDAP** checkbox if you want to export your LDAP configuration(s). +No **Filter**. + +### Time periods + +Check the **Timeperiods** checkbox if you want to export all time periods. No +**Filter**. + +## Import configuration + +In the Export page, each time the Export button is pressed, a zip archive +file is created and downloaded. + +This is the file that you will upload in the Import Page of another Centreon Web +platform. + +Go to **Configuration > Import/Export > Import**: + +![imaage](../assets/configuration/awie/Import.png) + +Select the centreon-clapi-export zip file you want to import, and then click the +**Import** button: + +![imaage](../assets/configuration/awie/zipfileuploaded.png) + +You should get an **Import successful** message at the end of the process: + +![imaage](../assets/configuration/awie/success.png) + +To check that objects have been properly imported, go to the Configuration pages as +usual. + +> It is necessary to generate, test, and export a configuration. diff --git a/versioned_docs/version-25.10/releases/centreon-commercial-extensions.mdx b/versioned_docs/version-25.10/releases/centreon-commercial-extensions.mdx new file mode 100644 index 000000000000..8397b57a3df7 --- /dev/null +++ b/versioned_docs/version-25.10/releases/centreon-commercial-extensions.mdx @@ -0,0 +1,178 @@ +--- +id: centreon-commercial-extensions +title: Commercial extensions +--- + +import ExpandCollapseAll from '@site/src/components/ExpandCollapseAll'; + +## Introduction + +You can find in this chapter all changelogs concerning **Centreon Commercial Extension**. + +> It is very important when you update your system to refer to this section in order to learn about behavior changes or +> major changes that have been made on this version. This will let you know the impact of the installation of these +> versions on the features you use or the specific developments that you have built on your platform (modules, +> widgets, plugins). + +If you have feature requests or want to report a bug, please contact support. + +Read more about version 24.10 in our [blog post](https://www.centreon.com/centreon-announces-its-latest-software-release-centreon-24-10/). + + + +## Centreon MAP + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Map Legacy retirement + +> **MAP Legacy is no longer available.** +- If you have used MAP Legacy in the past, or are still using Map Legacy and want to know more about how to migrate to MAP, read [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +
+ +
+ Enhancements + +**Server** +- Optimized the way the global map status is calculated. +- Adapted Protobuf to handle the new "AdaptiveHostStatus", "AdaptiveServiceStatus" and "pb_instance_configuration" events from Broker. +- Improved logs related to Broker event processing and made event queue size configurable. +- Improved the parsing of Broker events on creation and deletion of resources. +- Increased the default log level to INFO for map-engine. +- Fixed access control for some v2 API endpoints. +- Packaged SELinux rules for centreon-map and centreon-mbi. + +**Editor** +- You can now hide container labels. +- Increased the number of available fonts and made Roboto the default one. + +**Viewer** +- You can now display a host name for a service. +- You can now display the status as background color for a resource in weather style. + +**GeoViews** +- Redesigned the edit window. + +
+ +
+ Bug fixes + +- Fixed a synchronization issue that could cause resources to disappear from a map. +- Fixed concurrent access issues causing exceptions in the viewer. +- When using Service Templates or Hostgroup Services, the status of Service groups is now displayed correctly. + +
+ +## Centreon BAM + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Dashboards** +- A new "Business Activity Diagram" widget is now available. +- Business Activities and Business Views can now be displayed in the Status Grid widget. + +
+ +## Centreon MBI + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- The CBIS service is now started using systemd's configuration. +- Packaged SELinux rules for centreon-map and centreon-mbi. + +
+ +## Centreon Auto Discovery + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- [API] Fixed access control for some v2 API endpoints. + +
+ +## Centreon License Manager + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Anomaly Detection + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- Improved ergonomics by displaying the entire window with a default screen resolution, making all buttons visible. + +
+ +## Centreon IT Edition Extensions + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Dashboard playlists** +- Added unauthenticated playlists for TV projection. +- A new PATCH endpoint has been added for updating playlists. + +
+ +## Centreon IT & Business Extensions + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Monitoring Connectors Manager (formerly Plugin Packs Manager) + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- Updated the links from the Monitoring Connector manager to the Monitoring Connectors documentation. + +
diff --git a/versioned_docs/version-25.10/releases/centreon-os.mdx b/versioned_docs/version-25.10/releases/centreon-os.mdx new file mode 100644 index 000000000000..de36985b076d --- /dev/null +++ b/versioned_docs/version-25.10/releases/centreon-os.mdx @@ -0,0 +1,201 @@ +--- +id: centreon-os +title: Centreon Open Source +--- + +import ExpandCollapseAll from '@site/src/components/ExpandCollapseAll'; + +## Introduction + +In this chapter, you can find all the changelogs concerning **Centreon Open Source**. + +> It is very important when you update your system to refer to this section in order to learn about behavior changes or +> major changes that have been made on this version. This will inform you about the impact of installing these +> versions on the features you use or the specific developments that you have built on your platform (modules, +> widgets, plugins). + +If you have feature requests or want to report a bug, please go to our +[Github](https://github.com/centreon/centreon/issues/new/choose). + +Read more about version 24.10 in our [blog post](https://www.centreon.com/centreon-announces-its-latest-software-release-centreon-24-10/). + + + +## Centreon Web + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**ACL** + +- Non-admin users can now see freshly-created host groups and service groups in the list of host/service groups immediately. + +**Additional Connector Configurations** + +- The **Additional connector configurations** menu allows you to define the credentials to access a monitored resource through the Centreon interface rather than having to connect to your pollers manually. + +**API** + +- Added an endpoint that automatically deploys the services brought by the host template. +- Added an endpoint to list Pollers. +- Added an endpoint to create Broker inputs. +- Added endpoints to create, delete, update and list/get Additional Connector Configurations. +- Added API endpoints to return the complete hierarchy for a given BA. +- Added configuration change logs for hostgroup endpoints. +- Added missing configuration change logs for host configuration. +- CLAPI now manages multiline values. + +**Authentication** + +- Expired tokens are now deleted faster. +- You can now enable/disable API Tokens. + +**Configuration** + +- You can now duplicate a locked command. +- Added an option that allows users to disable checks for a service whose host is down. +- You can now configure several more Broker loggers from the interface. + +**Dashboards and widgets** + +- Added last update time to widgets and enabled refresh directly from inside widgets. +- Allowed smaller dimensions for widgets through more responsive behavior. +- Optimized data payload required by widgets to retrieve resource data. +- When users select a resource, only the data that is linked to this resource is displayed in the lists for the other types of data. Irrelevant entries are filtered out. +- **New widgets**: + - The "Web Page" widget displays a web page using its URL. + - The "Clock / Timer" widget displays the time according to the selected time zone, or a timer. +- **Metrics Graph widget**: + - Curves can now have a linear, smooth or step style. + - Added multiple options to customize graphs. + - Colors are now automatically adjusted to distinguish curves for the same metric name. + - Enabled visualization using bar charts and stacked bar charts. +- **Resource Table widget**: + - Added ticketing feature, by third-party provider. + - Added the same action buttons as in Resource Status (Acknowledge, Downtime, Forced check). + - Added filtering options by severity and by status type. + - The "display view" options are now available inside the widget itself. + - Added meta-services. +- **Status Grid widget** + - Pictograms now show the type of the resource and its state (acknowledged, in downtime). + - A colored banner now shows the resource's state. +- **Status Grid and Status Chart widgets** + - When users filter by service / service group / service category and choose to display the data by host, the tiles corresponding to the hosts are displayed correctly instead of displaying "no host found". + +**Resource Status** +- In the filter window, you can now filter by resource type. +- Users can now filter by host name in "view by host" mode. + +**UX** +- Removed autocomplete for credentials fields in administration pages. + +
+ +
+ Bug fixes + +**API** +- Fixed access control for meta-service endpoint. +- Fixed access control for monitoring servers configuration endpoints. +- Fixed access control for notification configuration endpoints. +- Fixed access control for some v2 API endpoints. +- Fixed access control for some v2 API service configuration endpoints. +- Fixed an issue on ACL checks for Administration endpoints. +- Fixed an issue on ACL checks for Platform endpoints. + +**Other** +- [ACL] Fixed access rights for dashboard configuration endpoints. +- [API] Fixed access control for hosts configuration endpoints. +- [Graphs] Fixed an issue with MySQL 8 that occurred when users edited a curve definition. +- [Packaging] Fixed an issue that prevented centreontrapd from starting properly due to conflicting perl dependencies. + +
+ +## Centreon Collect + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +**Engine** +- Engine can now handle extra configuration files to complement/overload the centengine.cfg file so that custom configurations remain unchanged when the standard configuration is exported. +- Added a new centengine parameter (`send_recovery_notifications_anyways`) to force sending a recovery notification even when the resource is outside of its notification period. This aims at keeping third-party tools up-to-date at any time when they are fed notifications. +- The whitelist now works with all the commands executed by Engine, including notifications and event handlers. + +**Other** + +- [Broker]The spdlog logger library has been mutualized for Engine and Broker, as well as the log files. This change will not impact Broker's logs, but Engine will log all its messages (including broker-module's messages) in centengine.log. +- [gRPC API] The GetHost function has been improved to return more information. +- [Packaging] Collect packages are now also available for Debian 12 (bookworm) ARM64 (for pollers on Raspberry Pi). + +
+ +## Centreon Monitoring Agent + +
+ Enhancements + +- [CMA] The Centreon Monitoring Agent is now available with a Windows installer, which installs the service and deploys Centreon plugins on the host. +- [CMA] Added a silent mode (CLI) to the agent's Windows installer. +- [CMA] Made Telegraf and Centreon Monitoring Agent commands compliant with Engine whitelists. + +
+ +## Centreon Gorgone + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Enhancements + +- [Gorgone] Whitelist errors now have an ERROR level in Gorgone logs. + +
+ +## Centreon High Availability + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon DSM + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Compatibility + +- Compatibility with other 24.10 components. + +
+ +## Centreon Open Tickets + +### 24.10.0 + +Release date: `October 31, 2024` + +
+ Bug fixes + +- [Open Tickets widget] Fixed redirection to monitoring pages according to the value of the "use deprecated pages" option. + +
diff --git a/versioned_docs/version-25.10/releases/introduction.md b/versioned_docs/version-25.10/releases/introduction.md new file mode 100644 index 000000000000..1cc5e379d416 --- /dev/null +++ b/versioned_docs/version-25.10/releases/introduction.md @@ -0,0 +1,11 @@ +--- +id: introduction +title: Centreon Platform 24.10 +--- + +In this chapter, you will find the global **Centreon Platform 24.10** release note. + +To access detailed release notes by component, use the following sections: + +- [Centreon Open Source](centreon-os.mdx) +- [Commercial extensions](centreon-commercial-extensions.mdx) diff --git a/versioned_docs/version-25.10/releases/lifecycle.md b/versioned_docs/version-25.10/releases/lifecycle.md new file mode 100644 index 000000000000..4404474b4d49 --- /dev/null +++ b/versioned_docs/version-25.10/releases/lifecycle.md @@ -0,0 +1,151 @@ +--- +id: lifecycle +title: Product lifecycle policy +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon has been publishing new releases of the +Centreon solution at regular intervals since version 18.10, enabling the community, businesses and +developers to plan their roadmaps with the guarantee of upstream visibility on the +latest open source capabilities. + + + + +## Version numbers + +Releases of Centreon are named according to the year and period of delivery. +For example, Centreon 22.10 was released in October 2022. All modules and +components of the Centreon software suite use the same version numbers. + +## Release frequency + +Starting with Centreon 24.10, Centreon will release **one major version per year**. + +Minor versions, with bug fixes and minor improvements will be released on a monthly basis. A Service Pack version, cumulating all minor versions changes, will typically be delivered after six months. + +## Maintenance and security updates + +- All Open Source major versions are supported for 18 months. +- Commercial major versions released in 2024, 2026 and any even years are LTS versions (supported for 3 years). +- Commercial major versions released in 2025, 2027 and any odd years are supported for 18 months. + +## Lifecycle + +The lifecycle of a version is divided into three phases: + +1. First phase: Bugs of all severity levels (minor, major, critical, blocker) + and security issues are fixed according to their priority. Functional enhancements are added. +2. Second phase: Major, critical bugs and blockers, or security issues are + fixed according to their priority. +3. Third phase: Blockers or security issues are fixed according to their priority. + +> The prioritization is determined by Centreon’s Product team. + +The first phase of the lifecycle begins on the day of a version release. + +The second phase of a version begins when the next major version is available. For example, the release of Centreon 25.10 triggers the second phase of Centreon 24.10. + +The third phase of a version begins when the second next major version is available. For example, the release of Centreon 26.10 triggers the third phase of Centreon 24.10 and the second phase of Centreon 25.10. + +### Version lifecycle diagram + +This diagram outlines the Centreon version lifecycle policy from version 24.10: + +![image](../assets/releases/lifecycle-from-24.10.png) + +## Maintenance table for Centreon versions + +> Any other products not described in the following tables are no longer supported +> by Centreon. + +| Product | Release | End of support| State | +|----------------|--------------|---------------|---------------------| +| Centreon 24.04 | 04/2024 | 04/2026 | Supported | +| Centreon 23.10 | 10/2023 | 10/2025 | Supported | +| Centreon 23.04 | 04/2023 | 04/2025 | Supported | +| Centreon 22.10 | 10/2022 | 10/2024 | No longer supported | +| Centreon 22.04 | 05/2022 | 05/2024 | No longer supported | +| Centreon 21.10 | 11/2021 | 11/2023 | No longer supported | +| Centreon 21.04 | 04/2021 | 10/2022 | No longer supported | +| Centreon 20.10 | 10/2020 | 05/2022 | No longer supported | +| Centreon 20.04 | 04/2020 | 10/2021 | No longer supported | + + + + +## Version numbers + +Releases of Centreon are named according to the year and period of delivery: +XX.04 for the spring release, and XX.10 for the fall release. +For example, Centreon 21.04 was released in spring 2021. All modules and +components of the Centreon software suite use the same version numbers. + +## Release frequency + +Centreon delivers two releases per year. The first will occur in the spring and will be major (including new products or features as well as larger architecture changes), while the second will be in the fall and will be minor (including primarily enhancements and fixes to existing features). Between these two, Centreon will regularly deliver minor updates (versioned YY.MM.NN), including security/vulnerability fixes, bug fixes and enhancements to the software. + +## Maintenance and security updates + +### Until version 21.04 + +Version 21.04 and prior versions were supported for 18 months. The lifecycle of a version is divided into three phases: + +1. First phase: Bugs of all severity levels (minor, major, critical, blocker) + and security issues are fixed according to their priority. +2. Second phase: Major, critical bugs and blockers, or security issues are + fixed according to their priority. +3. Third phase: Blockers or security issues are fixed according to their priority. + +> The prioritization is determined by Centreon’s Product team. + +The first phase of the lifecycle begins on the day of a version release. + +The second phase of a version begins when the next major version is available. +For example, the release of Centreon 21.04 triggers the second phase of Centreon +20.10. + +The third phase of a version begins when the second next major version is +available. For example, the release of Centreon 21.04 triggers the third phase of +Centreon 20.04 and the second phase of Centreon 20.10. + +### From version 21.10 + +Since version 21.10, versions are supported for two years. The lifecycle of a version is divided into two phases of 12 months each. + +1. First phase: Bugs of all severity levels (minor, major, critical, blocker) + and security issues are fixed according to their priority. +2. Second phase: Major, critical bugs and blockers, or security issues are + fixed according to their priority. + +> The prioritization is determined by Centreon’s Product team. + +### Version lifecycle diagram + +This diagram outlines the Centreon version lifecycle policy until version 24.04: + +![image](../assets/releases/lifecycle.png) + +## Maintenance table for Centreon versions + +> Any other products not described in the following tables are no longer supported +> by Centreon. + +| Product | Release | End of support| State | +|----------------|--------------|---------------|---------------------| +| Centreon 24.04 | 04/2024 | 04/2026 | Supported | +| Centreon 23.10 | 10/2023 | 10/2025 | Supported | +| Centreon 23.04 | 04/2023 | 04/2025 | Supported | +| Centreon 22.10 | 10/2022 | 10/2024 | No longer supported | +| Centreon 22.04 | 05/2022 | 05/2024 | No longer supported | +| Centreon 21.10 | 11/2021 | 11/2023 | No longer supported | +| Centreon 21.04 | 04/2021 | 10/2022 | No longer supported | +| Centreon 20.10 | 10/2020 | 05/2022 | No longer supported | +| Centreon 20.04 | 04/2020 | 10/2021 | No longer supported | +| Centreon 19.10 | 10/2019 | 04/2021 | No longer supported | +| Centreon 19.04 | 04/2019 | 10/2020 | No longer supported | +| Centreon 18.10 | 10/2018 | 04/2020 | No longer supported | + + + diff --git a/versioned_docs/version-25.10/reporting/available-reports.md b/versioned_docs/version-25.10/reporting/available-reports.md new file mode 100644 index 000000000000..49d5a89db420 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/available-reports.md @@ -0,0 +1,2449 @@ +--- +id: reports +title: Available reports +--- + +We have included a set of generic reports that you can reconfigure for your +environment based on Centreon concepts (e.g., business activities, host groups +and categories, service categories, metrics). + +> You can have a look at our [Reports +> book](../assets/reporting/Centreon-MBI-Sample-Reports.pdf) to find the +> report you need before consulting this report guide. + +Most of these reports have been designed to be perfectly rendered in +PDF. The space reserved for object names (host, services, groups, +categories) in tables or graph legends may sometimes be limited, so +please remember to define object names accordingly. + +Directly access the area you want to have a look at: + +- [Business activity monitoring](#business-activity-monitoring) +- [Availability & Events](#availability--events) +- [Performance](#performance) +- [Storage](#storage) +- [Network](#network) +- [Virtualization](#virtualization) +- [Electric consumption](#electric-consumption) +- [Profiling](#profiling) +- [Inventory & Configuration](#inventory--configuration) +- [Centreon/Reporting Database diagnostic](#centreon-database-diagnostics) + +To incorporate your own logos into reports (when adequate space is provided), +upload them to Centreon MBI using the interface. All images, regardless of their +size, must have a 4:4 ratio to fit perfectly into the image areas. + +## Business Activity Monitoring + +### BV-BA-Availabilities-1 + +#### Description + +This report displays statistics about application availability and +events for a business view. It is generated using the default reporting +time period for each business activity configured in the Centreon BAM +module. + +#### How to interpret the report + +The first page presents a focus on the following attributes: + +- Availability + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-1.png) + +- Unavailability + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-2.png) + +The weather icons change according to the SLAs defined in each business +activity, in terms of minutes. + +- Reliability and Maintainability + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page1-3.png) + +The following pages display additional statistics for each business activity in +the business view: + +- Availability, unavailability, downtime, service performance index + and number of events that occurred. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png) + +The weather icons change according to the SLAs defined in each business +activity, in terms of percentages and minutes. + +- Change in availability, performance and number of events. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png) + +- An availability calendar displays only days when availability was below 100%. +- For days with 100% availability, the cell background color appears in a light + gray with no values displayed. +- If data are not present on a specific day, the cell background color appears + in white with no values displayed. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png) + +- As an option, the list of events appears with their respective key performance + indicators (KPIs). + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png) + +#### Parameters + +Parameters required for the report: + +- Start date representing the month in which you want to generate the report + (matching the start date in the Centreon MBI interface) +- The following Centreon objects: + +| Parameter | Type | Description | +|----------------|---------------|------------------------------------------------------| +| logo | Dropdown list | Select logo to display in header. | +| Business View | Dropdown list | Select a Business View for generating the report. | +| hide event | Radio button | Hide events list in the Business activity. | +| calendar color | Radio button | Color the calendar in green/orange/red based on SLA. | +| title | Text field | Specify report title. | +| time period | Dropdown list | Specify reporting time period.\* | + +\* *If different from "Default", be sure that the selected time period +is defined as a Default or Extra reporting time period in the BA +configuration or it will not appear in the report.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +#### Prerequisites + +- Monitoring of at least one business activity to be linked to one business view +- One month minimum of data from Centreon BAM module. + +### BA-Availability-1 + +This report displays statistics about business activity availability and +events. + +#### How to interpret the report + +The following information is displayed on the report for the selected +business activity: + +- Availability, unavailability, downtime, service performance index and number + of events. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-1.png) + +The weather icons change according to the SLAs defined in each business +activity, in terms of percentages and minutes. + +- Change in the availability, performance and number of events + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-2.png) + +- An availability calendar displays only the days when availability was below + SLA in terms of percentage defined in the business activity configuration. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-3.png) + +- As an option, the list of events appears with their respective key performance + indicators (KPIs). + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-1_page2-4.png) + +#### Parameters + +Parameters required for the report: + +- Start date representing the month in which you want to generate the report + (matching the start date in the Centreon MBI interface) +- The following Centreon objects: + +| Parameter | Type | Description | +|------------------------|----------------------------------|-------------------------------------------------------| +| logo | Dropdown list | Select logo to display in header. | +| Business Activity | Dropdown list | Select a Business Activity for generating the report. | +| hide event | Radio button | Hide events list in the business activity. | +| calendar color | Radio button | Color the calendar in green/orange/red based on SLA. | +| title | text field | Specify report title. | +| time period - Dropdown | Specify reporting time period.\* | | + +\* *If different from "Default", be sure that the selected time period is +defined as a Default or Extra reporting time period in the BA configuration.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +### BV-BA-Availabilities-List + +#### Description + +For a business view, this report lists statistics showing availability, +unavailability, degraded service time and business activity alarms. + +#### How to interpret the report + +The weather icons change according to the SLA percentage defined in each +business activity. If no SLA is defined, 100% availability will be +represented by a sun icon, and all values below 100% by a cloud. + +Changes are calculated in relation to the previous period: + +- If the reporting period is a full month, the previous period is + the previous full month. +- In all other cases, the change is calculated by the number of days + preceding the number of days of the reporting period. + +![image](../assets/reporting/guide/available-reports/bv-ba-availabilities-list.png) + +Parameters required for the report: + +> - Start date representing the month in which you want to generate +> the report (matching the start date in the Centreon MBI interface) +> - The following Centreon objects: + +| Parameter | Type | Description | +|----------------|---------------|------------------------------------------------------| +| logo | Dropdown list | Select logo to display in header. | +| Business View | Dropdown list | Select a Business View for generating the report. | +| hide event | Radio button | Hide events list in the Business activity. | +| calendar color | Radio button | Color the calendar in green/orange/red based on SLA. | +| title | Text field | Specify report title. | +| time period | Dropdown list | Specify reporting time period.\* | + +\* *If different from "Default", be sure that the selected time period +is defined as a Default or Extra reporting time period in the BA +configuration or it will not appear in the report.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +#### Prerequisites + +- Monitoring of at least one business activity to be linked to one business view + +### BA-Event-List + +This report displays a list of events that occurred for a business activity. + +#### How to interpret the report + +The report displays a list of events for a business activity during a given period and the related KPIs. The time period applied is the default value set in the configuration BA menu. + +![image](../assets/reporting/guide/available-reports/ba-event-list.png) + +#### Parameters + +| Parameter | Type | Description | +|-------------------|---------------|-------------------------------------------------------| +| logo | Dropdown list | Select logo to display in header. | +| Business Activity | Dropdown list | Select a Business Activity for generating the report. | +| hide event | Radio button | Hide events list in the business activity. | +| calendar color | Radio button | Color the calendar in green/orange/red based on SLA. | +| title | text field | Specify report title. | +| time period | Dropdown | Specify reporting time period.\* | + +\* *If different from "Default", be sure that the selected time period is +defined as a Default or Extra reporting time period in the BA configuration.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +### BV-BA-Current-Health-VS-Past + +#### Description + +This report displays the current health of business activities at the time the +report is generated. It also displays availability for a defined period. + +#### How to interpret the report + +For a given business view, the report displays the real-time health state of +each business application, the hour of latest state change and duration of the +current state. The report also indicates whether the application has been +acknowledged or in downtime. Depending on the parameter selected, the report +displays availability and failures for each application. + +![image](../assets/reporting/guide/available-reports/BV-BA-Current-Health-VS-Past.png) + +#### Parameters + +Parameters required for the report: + +| Parameters | Type | Description | +|-------------------------------|---------------|------------------------------------------------------------------------| +| logo | List box | Select logo to display in header. | +| title | Text field | Specify report title. | +| Business View | List box | Select a Business View for generating the report. | +| compare\_with | Radio button | Display historical data according to specified period. | +| show the reporting timeperiod | Radio botton | Show or hide the default time period related to the business activity. | +| title | Text field | Specify report title. | +| time period | Dropdown list | Specify reporting time period or other.\* | + +\* *If different from "Default", be sure that the selected time period is +defined as a Default or Extra reporting time period in the BA configuration or +it will not appear in the report.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +#### Prerequisites + +- Monitoring of at least one business activity to be linked to one + business view. + +### BV-BA-Availabilities-Calendars + +#### Description + +This report displays statistics about business activity availability and +events. The statistics appear in calendars, by month and by day. This +report is generated using the default reporting time period configured +in the Centreon BAM module for each business activity. + +#### How to interpret the report + +The first calendar displays the availability of your business activities +by month. Cells are colored according to the SLA defined for each +business activity in percentages (in the Extended Information tab menu). +If the SLAs are not defined in the BA configuration, values are +displayed in cells if availability is below 100% or if unavailability > +0 seconds. The time period that applies is the "Default reporting +period" selected for each business activity (in the Configuration tab +menu). + +The second calendar displays the unavailability and number of events for +your business activities by month. Cells are colored according to the +SLA defined for each business activity in minutes. If the SLAs are not +defined in the BA configuration, values are displayed in cells if +availability is below 100% or if unavailability > 0 seconds. The time +period that applies is the "Default reporting period" selected for +each business activity. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-first-page.png) + +The third calendar displays availability for each business activity by +day. Cells are colored according to time frames (in minutes) of +unavailability, configured for the report. If unavailability is below +100%, availability is displayed for that day. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-detailed.png) + +#### Parameters + +Parameters required for the report: + +> - A start date corresponding to the month for which you want to generate the +> report (corresponding to the start date in the Centreon MBI interface) +> - The following objects: + +| Parameter | Type | Description | +|---------------|---------------|------------------------------------------------------------------------------------------------| +| logo | Dropdown list | Select logo to display in header. | +| business View | Dropdown list | Select a Business View for generating the report. | +| sla 1\* | Text field | Time in minutes corresponding to the high threshold of the first interval [0 min, **sla1**] | +| sla 2\* | Text field | Time in minutes corresponding to the high threshold of the second interval [sla1, **sla2**] | +| sla 3\* | Text field | Time in minutes corresponding to the high threshold of the third interval [sla2, **sla3**] | +| sla 4\* | Text field | Time in minutes corresponding to the high threshold of the fourth interval [sla3, **sla4**] | +| title | Text field | Specify report title. | +| time period | Dropdown list | Specify reporting time period or a specific one.\*\* | + +\* SLA thresholds appear above the calendar displaying availability by day. + +![image](../assets/reporting/guide/available-reports/bv-ba-calendar-legende.png) + +\* *If different from "Default", be sure that the selected time period is +defined as a Default or Extra reporting time period in the BA configuration or +it will not appear in the report.* + +> In the **Time period** field, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +#### Prerequisites + +- Monitoring of at least one business activity to be linked to one + business view +- One month minimum of data from Centreon BAM extension. + +## Availability & Events + +### Hostgroups-Incidents-1 + +#### Description + +This report provides an overview of host exception events and +unavailability. + +#### How to interpret the report + +On the cover sheet, two pie charts show the number of hosts by host +groups and host categories. + +On the first page, the graphs show the evolution of exception events by +day and by month. A radar graph provides the exception event +distribution by host groups. + +On the second page, the graph shows the maintainability and reliability +of the host groups, as determined by an index based on MTRS and MTBF +times. + +Afterwards, a series of bar charts present information by host group, +showing the evolution of exception events by host type. Finally, there +is a comparison of the least maintainable and reliable host for each +host group. + +#### Cover sheet + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_1.png) + +#### First page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_2.png) + +#### Second page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_3.png) + +#### For each host group + +![image](../assets/reporting/guide/available-reports/Hostgroups-Incidents-1_4.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period. +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|-----------------|-----------------|----------------------------------------| +| Hostgroups | Multi selection | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Time period | Dropdown list | Specify time period. | +| Interval | Text field | Specify no. of months in trend graphs. | + +### Hostgroups-Availability-1 + +#### Description + +This report shows availability, exception-type events for hosts and +services of multiple host groups. It also shows the evolution of the +hosts for each host group, the evolution of availability and number of +exception events for hosts and services. + +#### How to interpret the report + +On the first page, the report displays a graph of the host and service +availability for hostgroups, exception-events distribution, evolution of +the number of resources, and a cross table detailing the statistics for +all the previous information. + +On the following pages, evolution of the unavailability and exception +events is detailed for each host group, sorted by host categories and +service categories. + +Finally, host and service statistics are displayed with the top-most +unavailability and exception events. + +#### First page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_1.png) + +#### For each host group + +##### First page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_2.png) + +##### Second page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Availability-1_3.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------------------| +| Hostgroups | Multi selection | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Time period | Dropdown list | Specify time period. | +| Interval | Text field | Specify no. of months in trend graphs. | + +### Hostgroup-Availability-2 + +#### Description + +This report displays information about availability and exception events +for a host group. + +#### How to interpret the report + +On the first page, the evolution of availability and exception events is +displayed for hosts and services. The evolution of host group resources +is also shown. + +On the second page, statistics are shown for detailed availability and +exception events on a host according to category. A table lists the +hosts that were least available and that created the largest number of +exception events. + +On the two last pages, detailed statistics for indicators on +availability and exception events are shown. The information is +organized by host and service category. The top 15 hosts are listed in +terms of service unavailability and exception events. + +#### First page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_1.png) + +#### Second page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_2.png) + +#### Third & Fourth pages + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_3.png) + +and + +![image](../assets/reporting/guide/available-reports/Hostgroup-Availability-2_4.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|---------------------|----------------|--------------------------------------------------------------------------------------| +| Host group | Drop-downlist | Select host group. | +| Host Categories | Multi select | Select host categories. | +| Services Categories | Multi select | Select host categories. | +| Time period | Dropdown list | Time period to report. Note: Only use the time period from the ETL month properties. | +| Evolution interval | Text field | Specify no. of months of history for the evolution graph | + +### Hostgroup-Service-Incident-Resolution-2 + +#### Description + +This report displays the rate of acknowledged and resolved events, the +longest-lasting events, the least reliable indicators, and hosts +generating the most events for a given host group. + +#### How to interpret the report + +The first graph displays the rate of acknowledged and resolved events +within a specific time frame. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_1.png) + +The second graph displays the top 10 longest events with the start, end and +resolution time. + +Indicators in a critical-state appear in red, in a warning-state in orange, and +an unknown state in gray. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_2.png) + +The third graph in the report displays the top 10 the least reliable +indicators. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_3.png) + +Finally, the top 10 hosts generating the most events. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Incident-Resolution-2_4.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- SLA of acknowledgment in minutes +- SLA of resolution in minutes +- The number of rows to display in top objects +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroups | Multi selection | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Time period | Dropdown list | Specify time period. | + +### Hostgroup-Host-Availability-List + +#### Description + +This report displays information on availability and exception events for hosts +within a hostgroup. + +#### How to interpret the report + +For each host, the table lists the percentage of availability, +unavailability and number of exception events and trends. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Availability-List.png) + +This report is optimized for generating XLS files. + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|------------------|----------------|-------------------------| +| Host group | Drop-down list | Select host group. | +| Hosts Categories | Multi select | Select host categories | +| Time period | Drop-down list | Specify time period | + +### Hostgroup-Host-Event-List + +#### Description + +This report provides a list of exception events for hosts. + +#### How to interpret the report + +The table contains detailed statistics on critical or warning-type +exception events on hosts indicating start, acknowledgment and end +dates. The report also calculates the real and the effective MTRS for +each event. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Event-List.png) + +This report is optimized for generating XLS files. + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|------------------|----------------|-------------------------| +| Host group | Drop-down list | Select host group. | +| Hosts Categories | Multi select | Select host categories. | +| Time period | Drop-down list | Specifiy time period | + +### Hostgroup-Service-Availability-List + +#### Description + +This report displays events and the availability of services for a host group. + +#### How to interpret the report + +For each service, detailed statistics are provided: availability (in +percentage), unavailability, exception and warning events, as well as the trends +for these various indicators. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Availability-List.png) + +This report is optimized for generating XLS files. + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroup | Drop-down list | Select host group. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Time period | Dropdown list | Specify time period. | + +### Hostgroup-Service-Event-List + +#### Description + +This report displays a table listing critical or warning-type events for +services in a hostgroup. + +#### How to interpret the report + +The report also calculates the real and the effective MTRS for each alarm. A +table contains detailed statistics on events occurring on hosts indicating start, +acknowledgment and end dates. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Event-List.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroup | Drop-down list | Select host group. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Time period | Dropdown list | Specify time period. | + +### Hostgroup-Host-Pareto + +#### Description + +This report allows you to identify hosts responsible for the largest +number of exception events in a host group. The data is represented in a +Pareto chart. + +#### How to interpret the report + +Hosts responsible for 80% of events are highlighted. Hosts are sorted in +descending order in terms of number of generated events. The ratio of +cumulative events is also shown. + +This report helps you to focus on the most problematic hosts by applying +the Pareto principle (or 80-20 rule): approximately 80% of the effects +come from 20% of the causes. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Host-Pareto.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|-----------------|-----------------|-------------------------| +| Hostgroup | Drop-down list | Select host group. | +| Host Categories | Multi selection | Select host categories. | +| Time period | Dropdown list | Specify time period. | + +### Hostgroups-Host-Current-Events + +#### Description + +This report displays the events occurring on hosts at the time it is +generated. + +#### How to interpret the report + +The report consists of four parts. On each part, you can use a filter to +select a restricted perimeter for host groups and host categories. Data +is displayed with real-time results when the report is generated. In +addition: + +- Events can be sorted by state, duration or hostname. +- You can display and/or filter acknowledged hosts or hosts in downtime. +- Only confirmed events (hard state) are taken in account. +- A report can have fewer than four parts by specifying the value -1 in its + title. + +![image](../assets/reporting/guide/available-reports/Hostgroups-Host-Current-Events.png) + +#### Parameters + +Parameters required for the report: + +| Parameters | Type | Description | +|-------------------|--------------|-------------------------------------------------| +| Title | Text field | Specify the title for part 1 of report. | +| Hostgroups | Multi select | Select host groups for part 1 of report. | +| Host category | Multi select | Select host categories for part 2 of report. | +| Title | Text field | Specify title for part 2 of report. | +| Hostgroups | Multi select | Select host groups for part 2 of report. | +| Host category | Multi select | Specify host categories for part 2 of report. | +| Title | Text field | Specify title for part 3 of report. | +| Hostgroups | Multi Select | Select host groups to use for part 3 of report. | +| Host category | Multi select | Select host categories for part 3 of report. | +| Title | Text field | Specify title for part 4 of report. | +| Hostgroups | Multi select | Specify host groups for part 4 of report. | +| Host category | Multi select | Select host categories for part 4 of report. | +| sort\_by | Radio button | Sort results by state, duration or host name. | +| display\_ack | Radio button | Display or filter acknowledged hosts. | +| display\_downtime | Radio button | Display or filter hosts in downtime. | + +### Hostgroups-Service-Current-Events + +#### Description + +This report displays the events occurring with services at the time it is +generated. + +#### How to interpret the report + +This report consists of four parts. On each part, you can use a filter +to select a restricted perimeter for host groups, host categories and +service categories. Data is displayed with real-time results when the +report is generated. In addition: + +- Events can be sorted by state, duration or hostname. +- You can display and/or filter acknowledged hosts or hosts in downtime. +- Only confirmed events (hard state) are taken in account. +- A report can have fewer than four parts by specifying the value -1 in its + title. + +![image](../assets/reporting/guide/available-reports/Hostgroups-Service-Current-Events.png) + +#### Parameters + +Parameters required by the report: + +| Parameters | Type | Description | +|-------------------------|--------------|-------------------------------------------------| +| title | Text field | Specify title for part 1 of report. | +| Hostgroups | Multi select | Select host groups for part 1 of report. | +| Host category | Multi select | Select host categories for part 2 of report. | +| Service category | Multi select | Select service categories for part 1 of report. | +| title | Text field | Specify title for part 2 of report. | +| Hostgroups | Multi select | Select host groups for part 2 of report. | +| Host category | Multi select | Select host categories for part 2 of report. | +| Service category | Multi select | Select service categories for part 2 of report. | +| title | Text field | Specify title for part 3 of report. | +| Hostgroups | Multi Select | Select host groups for part 3 of report. | +| Host category | Multi select | Select host categories for part 3 of report. | +| Service category | Multi select | Select service categories for part 3 of report. | +| title | Text field | Specify title for part 4 of report. | +| Hostgroups | Multi select | Select host groups for part 4 of report. | +| Host category | Multi select | Select host categories for part 4 of report. | +| Service category | Multi select | Select service categories for part 4 of report. | +| sort\_by | Radio button | Sort results by state, duration or hostname. | +| display\_ack | Radio button | Display or filter acknowledged hosts. | +| display\_downtimes | Radio button | Display or filter hosts in downtime. | +| display\_only\_critical | Radio button | Display only services in critical state. | + +## Performance + +### Host-Graphs-V2 + +#### Description + +This report presents round-robin database (RRD) graphs for the evolution +and performance of Centreon services over a defined period. + +![image](../assets/reporting/guide/available-reports/Host-Graphs-V2_png.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|---------------------|----------------|------------------------------------------------------------------------------------------------------------| +| Host | Selection | Select host. | +| Service Categories | Multi select | Select service category. | +| Metrics | Multi select | Metrics to use. If no metric is selected, graphs by metric will not displayed. | +| Graphs display rule | Check box | Sets whether you want to see all the metrics on one graph for each service, one graph per metric, or both. | + +#### Prerequisites + +Go to **Reporting > Business Intelligence > General Options > Scheduler Options** +and configure the following field: + +![image](../assets/reporting/guide/available-reports/graph_url.png) + +In order to export RRD graphs using the Centreon API, the reporting +server needs to access it using HTTP or HTTPS protocol. A curl command +sent to the URL of the API should generate an image file. + +``` shell +curl http://$CENTREON-IP-OR-DNS$/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=$AUTH_KEY$&username=$USER$&hostname=$HOSTNAME$&service=$SERVICENAME$&start=$TIMESTAMPSTART$&end=$TIMESTAMPEND$ +``` + +Replace the values between $ signs with real values. + +Example: + +``` shell +curl http://centreon.enterprise.com/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=af9c583c5f31bd2459c07&username=myUser&hostname=host-1&service=cpu&start=1490997600&end=1493157600 +``` + +> If you are using SSL/TLS on your Central server, and if the certificate is +> self-signed or signed by an unknown authority, you must add it to the trusted +> certificates database: +> +> - Install *ca-certificates* package: +> +> ``` shell +> yum install -y ca-certificates +> ``` +> +> - Retrieve and store certificate: +> +> ``` shell +> echo quit | openssl s_client -showcerts -servername -connect : > /etc/pki/ca-trust/source/anchors/.pem +> ``` +> +> The *servername* option value must be the exact hostname defined in the +> certificate. It must also be the hostname defined in Centreon Web +> configuration, and used by the reports scheduler to contact the Central +> server. +> +> - Reload the trusted certificates database: +> +> ```shell +> update-ca-trust +> ``` +> +> CBIS must be restarted after these actions. + +### Hostgroup-Graphs-v2 + +#### Description + +This report presents round-robin database (RRD) graphs for the evolution and +performance of Centreon services for a given host group over a defined period. + +![image](../assets/reporting/guide/available-reports/Host-Graphs-V2_png.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|---------------------|----------------|------------------------------------------------------------------------------------------------------------| +| Report title | Text | Select title on cover page and report header. | +| Host group | Drop-down list | Select host group. | +| Service Categories | Multi select | Select service category. | +| Hosts Categories | Multi select | Select host categories. | +| Metrics | Multi select | Select metrics. If no metric is selected, graphs by metric will not be displayed. | +| Graphs display rule | Check box | Specify whether you want to see all the metrics on one graph for each service, a graph by metric, or both. | + +#### Prerequisites + +Go to **Reporting > Business Intelligence > General Options > Scheduler Options** +and configure the following field: + +![image](../assets/reporting/guide/available-reports/graph_url.png) + +In order to export RRD graphs using the Centreon API, the reporting +server needs to access it using HTTP or HTTPS protocol. A curl command +sent to the URL of the API should generate an image file. + +``` shell +curl http://$CENTREON-IP-OR-DNS$/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=$AUTH_KEY$&username=$USER$&hostname=$HOSTNAME$&service=$SERVICENAME$&start=$TIMESTAMPSTART$&end=$TIMESTAMPEND$ +``` + +Replace the values between $ signs with real values. + +Example: + +``` shell +curl http://centreon.enterprise.com/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=af9c583c5f31bd2459c07&username=myUser&hostname=host-1&service=cpu&start=1490997600&end=1493157600 +``` + +> If you are using SSL/TLS on your Central server, and if the certificate is +> self-signed or signed by an unknown authority, you must add it to the trusted +> certificates database: +> +> - Install *ca-certificates* package: +> +> ``` shell +> yum install -y ca-certificates +> ``` +> +> - Retrieve and store certificate: +> +> ``` shell +> echo quit | openssl s_client -showcerts -servername -connect : > /etc/pki/ca-trust/source/anchors/.pem +> ``` +> +> The *servername* option value must be the exact hostname defined in the +> certificate. It must also be the hostname defined in Centreon Web +> configuration, and used by the reports scheduler to contact the Central +> server. +> +> - Reload the trusted certificates database: +> +> ```shell +> update-ca-trust +> ``` +> +> CBIS must be restarted after these actions. + +### Hostgroup-Capacity-Planning-Linear-Regression + +#### Description + +This report shows the evolution and performance forecasting metrics for +a host group. + +#### How to interpret the report + +The evolution of the value of the metric is represented on a graph and in a table. +Forecasts are calculated from the value of the metric during the reporting period and projected +into the future. An additional table provides information about critical +threshold and days before saturation. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Capacity-Planning-Linear-Regression.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|---------------------------------------------------------------|----------------|-------------------------------------------------------------------------------| +| Host groups | Multi select | Select host groups for filter. | +| Host Categories | Multi select | Select host categories for filter. | +| Services Categories | Multi select | Select service categories for filter. | +| Time period | Dropdown list | Specify time period. | +| Metrics | Multi select | Select metric to **include** in report. | +| Historical period in days in addition to the reporting period | Number | Specify days used to calculate the linear regression before reporting period. | +| Forecast period in days | Number | Specify forecast days calculated by linear regression. | + +#### Prerequisites + +Metrics must return a maximum value on their performance data. Using warning +and critical thresholds on performance data is highly recommended. + +Performance data returned by a plugin must be formatted as follows, preceded by +a pipe (|): + +``` text +output-plugin | metric1=valeur(unité);seuil_warning;seuil_critique;minimum;maximum metric2=valeur ... +``` + +### Hostgroups-Rationalization-Of-Resources-1 + +#### Description + +This report provides an overview of resource usage by host groups and +displays hosts and host groups that are overloaded or underused. + +On the first page, this information is displayed for all host groups. + +Then, for each host group a separate page is generated showing load +distribution. + +#### Summary page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_1.png) + +#### For each host group + +![image](../assets/reporting/guide/available-reports/Hostgroups-Rationalization-Of-Resources-1_2.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|------------------------------------------------------------------------------------------------------------| +| Host groups | Multi select | Select host group. | +| Service Categories | Multi select | Select service category. | +| Hosts Categories | Multi select | Select host categories. | +| Metrics | Multi select | Select metrics. If no metric is selected, graphs by metric will not be displayed. | +| Time period | Dropdown list | Specify whether you want to see all the metrics on one graph for each service, a graph by metric, or both. | +| Interval | Text field | Specify no. of months to show in trend graphs. | +| overloaded | number | Specify threshold determining resource is overloaded. *Unit : see prerequisites*. | +| underused | number | Specify threshold determining resource is underused. *Unit : see prerequisites*. | + +#### Prerequisites + +This report can be generated using indicators that return a maximum value or not. + +- If the metric has a maximum value, the threshold must be filled with a + **percent** value (between 0 and 100). +- If the metric does not have a maximum value (e.g., counter for visitors on a + website), the thresholds must be expressed in the same unit as the indicator + (the counter for visitors). + +### Hostgroup-Service-Metric-Performance-List + +#### Description + +This report displays the average performance data for a list of +services. It also shows the minimum and maximum values reached over +the time period, the maximum potential value, and warning and critical +thresholds for all service metrics selected. + +- If the maximum value is returned by the plugin, the Average, Max and Min + columns are displayed in percentage (%). + The calculation is: value / maximum value. +- If the maximum value not returned by the plugin, the Average, Max and Min + columns are displayed in the metric's units. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Service-Metric-Performance-List.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroup | Drop-down list | Select host group. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Metrics | Multi select | Specify metric to INCLUDE. | +| Time period | Dropdown list | Specify time period. | + +### Hostgroups-Categories-Performance-List + +#### Description + +This report displays the average performance data for a list of host +groups, host categories and service categories. It also shows the +minimum and maximum value reached over the time period. + +- If the maximum value is returned by the plugin, the Average, Max and + Min columns are displayed in percentage (%). The calculation is: + value / maximum value. +- If the maximum value is not returned by the plugin, the Average, Max + and Min columns are displayed in the metric's units. + +![image](../assets/reporting/guide/available-reports/Hostgroups-Categories-Performance-List.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroups | Multi selection | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Metrics | Mutli select | Specify metric to INCLUDE. | +| Time period | Dropdown list | Specify time period. | + +## Storage + +### Hostgroups-Storage-Capacity-1 + +#### Description + +This report displays statistics on allocated and used storage space for +multiple host groups. + +#### How to interpret the report + +On the first page, statistics are summarized by host group. + +On the second page, statistics are displayed by host category and service +category. + +On the following pages, overall statistics are detailed for each host group, +displayed by host categories and service categories. + +#### First page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_1.png) + +#### Second page + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_2.png) + +#### For each host group + +![image](../assets/reporting/guide/available-reports/Hostgroups-Storage-Capacity-1_3.png) + +> Statistics displayed in evolution tables and graphs by month +> correspond to values of indicators measured on the last day of the +> month. "Snapshot" statistics (versus evolution statistics by month) +> correspond to values of indicators measured the last day of the +> reporting period. Evolution calculations are based on a comparison of +> the values of indicators the last day of the reporting period with the +> values of indicators the day before the first day of the reporting +> period. + +##### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|-----------------------------------------------------------------| +| Hostgroups | Multi selection | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Metrics | Mutli select | Specify metric to INCLUDE. | +| Time period | Dropdown list | Specify time period. | +| Evolution interval | Text field | Specify number of historical months for the evolution graphics. | + +##### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the storage plugins. This data must be formatted as +follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the plugins return the maximum value, which is required in order +to calculate statistics. The unit must be expressed in bytes. + +> **Warning** +> +> - The ETL configuration must include service categories for storage, +> otherwise the evolution graphics remain empty. +> - This report is compatible with the 24x7 time period only. This time +> period must be configured on the menu "General options | Capacity +> statistic aggregated by month | Live services for capacity statistics +> calculation". + +### Hostgroup-Storage-Capacity-2 + +#### Description + +This report provides detailed storage statistics and shows the evolution of the +storage space of your IT infrastructure. + +#### How to interpret the report + +The first page displays overall information about allocated and used +space for host groups. A graph traces the past evolution of these two +parameters. Two tables list the most critical information for hosts in +terms of storage space. + +On the second and third pages, statistics for allocated and used space +are organized by service category and host category. + +The fourth page shows storage space per host group, with the allocated +and used space for each partition, the evolution over the last month, +and estimated time before saturation. + +#### First page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_1.png) + +##### Second & third pages + +##### By service categories + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_2.png) + +##### By host categories + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_3.png) + +#### Fourth page + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-2_4.png) + +> Statistics displayed in evolution tables and graphs by month +> correspond to values of indicators measured on the last day of the +> month. "Snapshot" statistics (versus evolution statistics by month) +> correspond to values of indicators measured the last day of the +> reporting period. Evolution calculations are based on comparing the +> values of indicators the last day of the reporting period with the +> values of indicators the day before the first day of the reporting +> period. + +#### Parameters + +Parameters required for this report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|-----------------------------------------------------------------| +| Hostgroup | Dropdown list | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Metrics | Multi select | Specify metric to INCLUDE. | +| Time period | Dropdown list | Specify time period. | +| Evolution interval | Text field | Specify number of historical months for the evolution graphics. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the storage plugins. This data must be +formatted as follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the plugins return the maximum value, which is required +in order to calculate statistics. The unit must be expressed in bytes. + +> **Warning** +> +> - The ETL configuration must include service categories for storage, +> otherwise the evolution graphics remain empty. +> - This report is compatible with the 24x7 time period only. This time +> period must be configured via the "General options | Capacity +> statistic aggregated by month | Live services for capacity statistics +> calculation" menu. + +### Hostgroup-Storage-Capacity-List + +#### Description + +This report displays storage space usage on hosts within a host group. + +#### How to interpret the report + +The report presents a table with all available partitions for +a hostgroup's resources. Detailed information is provided on the +allocated and used space, the change since the last month, and +estimated time before saturation. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Storage-Capacity-List.png) + +> Statistics displayed in evolution tables and graphs by month +> correspond to values of indicators measured on the last day of the +> month. "Snapshot" statistics (versus evolution statistics by month) +> correspond to values of indicators measured the last day of the +> reporting period. Evolution calculations are based on comparing the +> values of indicators the last day of the reporting period with the +> values of indicators the day before the first day of the reporting +> period. + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|-----------------|----------------------------| +| Hostgroup | Dropdown list | Select host groups. | +| Host Categories | Multi selection | Select host categories. | +| Service Categories | Multi selection | Select service categories. | +| Metrics | Multi select | Specify metric to INCLUDE. | +| Time period | Dropdown list | Specify time period. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the storage plugins. This data must be +formatted as follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the plugins return the maximum value, which is required +in order to calculate statistics. The unit must be expressed in bytes. + +## Network + +### Hostgroup-Traffic-By-Interface-And-Bandwith-Ranges + +#### Description + +This report shows the average inbound and outbound bandwidth usage of network +interfaces for a given host group. + +#### How to interpret the report** + +#### First page + +The first page displays the bandwidth usage ranges in percentage by interval. + +Intervals are: + +- Null usage +- Low usage +- Average usage +- High usage +- Very high usage. + +These intervals are configurable. + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_1.png) + +#### Following pages + +The following pages are automatically generated for all interfaces of +the selected host group (one page per interface). Each page displays the +bandwidth usage by interval with distribution by: + +- Hour of the day +- Day of the week +- Day of the month. + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_2.png) + +![image](../assets/reporting/guide/available-reports/HG-Traffic-By-Interface-And-Bandwith-Ranges_3.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|-----------------------------|----------------|---------------------------------------------------------------| +| Host Group | Dropdown list | Select host group. | +| Host Categories | Multi select | Select host categories. | +| Service Categories | Multi select | Select service categories. | +| Low-level threshold (%) | Number | Specify low threshold of bandwidth usage (between 0 and 100). | +| Average-level threshold (%) | Number | Average threshold of bandwidth usage (between 0 and 100) | +| High-level threshold (%) | Number | Specify high threshold of bandwidth usage (between 0 and 100) | +| Inbound traffic metric | Dropdown list | Specify metric of inbound traffic. | +| Outbound traffic metric | Dropdown list | Specify metric of outbound traffic. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the storage plugins. This data must be +formatted as follows, preceded by a pipe (|): + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +Make sure the plugins return the maximum value, which is required in +order to calculate statistics. The storage plugins must return one +metric for **traffic in** and one for **traffic out**. Units must be in +**Bits**/**sec**. + +### Hostgroup-Traffic-average-By-Interface + +#### Description + +This report shows the average inbound and outbound bandwidth usage of +network interfaces for a given host group. + +#### How to interpret the report + +#### First page + +On the first page, we can see the distribution of bandwidth usage in +percent per interval. + +Intervals are: + +- Null usage +- Low usage +- Average usage +- High usage +- Very high usage. + +These intervals are configurable. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_1.png) + +#### Following pages + +The following pages are automatically generated for all interfaces of +the selected host group (one page per interface). Each page dispays the +bandwidth distribution by: + +**Hour of the day** displaying: + +- The average usage by hour of the day of incoming and outgoing + traffic for the selected reporting period. +- The maximum reached of incoming and outgoing traffic per hour of + the day for the reporting period. + +**Day of the week** displaying + +- The average usage by day of the week of incoming and outgoing + traffic for the selected reporting period. +- The maximum reached of incoming and outgoing traffic per day of + the week for the reporting period. + +**Day of the month** displaying + +- The average usage by day of the month of incoming and outgoing + traffic for the selected reporting period. +- The maximum reached of incoming and outgoing traffic per day of + the month for the reporting period. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Traffic-average-By-Interface_2.png) + +#### Parameters + +Parameters required for the report: + +- Reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|----------------------------|----------------|----------------------------------------------------------------| +| Hostgroup | Dropdown list | Select host group. | +| Host Categories | Multi select | Select host categories. | +| Service Categories | Multi select | Select service categories. | +| Low level threshold (%) | Number | Specify low threshold of bandwidth usage (between 0 and 100) | +| Average level threshold (%) | Number | Average threshold of bandwidth usage (between 0 and 100). | +| High level threshold (%) | Number | Specify high threshold of bandwidth usage (between 0 and 100). | +| Inbound traffic metric | Dropdown list | Specify metric of inbound traffic. | +| Outbound traffic metric | Dropdown list | Specify metric of outbound traffic. | + +> It is important to make sure that plugins return the maximum value +> because many statistics are based on a percentage, calculated using +> this maximum value. Be sure that the traffic plugins return one +> metric for traffic in and one for traffic out. The unit must be +> **Bits**/**sec**. + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the storage plugins. This data must be +formatted as follows, preceded by a pipe (|): + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +Make sure the plugins return the maximum value, which is required in +order to calculate statistics. The storage plugins must return one +metric for **traffic in** and one for **traffic out**. Units must be in +**Bits**/**sec**. + +### Hostgroup-monthly-network-percentile + +#### Description + +This report provides statistics on inbound and outbound traffic by +interface in terms of average and percentile values. This report applies +only to one month. + +#### How to interpret the report + +The first page displays three types of information: + +- Two graphs representing the 10 interfaces having the maximum centile + for inbound and outbound traffic +- 10 interfaces having the maximum average inbound traffic in percentage +- 10 interfaces having the maximum average outbound traffic in percentage. + +![image](../assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_1.png) + +On the following page(s), all interfaces are listed, sorted by host and +service name, each with the corresponding inbound and outbound traffic +statistics. + +![image](../assets/reporting/guide/available-reports/Hostgroup_Monthly_Network_Centile_2.png) + +#### Parameters + +Parameters required for the reports: + +- A start date corresponding to the month for generating the report + (corresponding to the start date on the Centreon MBI interface). +- The following Centreon objects: + +| Parameters | Parameter type | Description | +|-------------------------------|----------------|---------------------------------------------| +| Host group | Dropdown list | Select host group. | +| Host Categories | Multi select | Select host categories. | +| Traffic service categories | Dropdown list | Select service category. | +| Time period for average usage | Dropdown list | Specify low threshold of bandwidth usage. | +| Centile/Time period | Dropdown list | Specify combination for centile statistics. | +| Inbound traffic metric | Dropdown list | Specify metric name of inbound traffic. | +| Outbound traffic metric | Dropdown list | Specify metric name of outbound traffic. | + +#### Prerequisites + +- Percentile should be correctly configured in the General Options > ETL tab + menu. +- For consistency in graphs and statistics, certain prerequisites apply to + performance data returned by the storage plugins. This data must be formatted + as follows, preceded by a pipe (|): + +``` text +output-plugin | traffic_in=valueunit;warning_treshold;critical_treshold;minimum;maximum traffic_out=value +``` + +Make sure the plugins return the maximum value, which is required in +order to calculate statistics. The storage plugins must return one +metric for **traffic in** and one for **traffic out**. Units must be in +**Bits**/**sec**. + +## Virtualization + +### VMWare-Cluster-Performances-1 + +#### Description + +This report displays CPU and memory performance for an ESX cluster +including the use of hosted virtual machines and datastores. + +#### How to interpret the report + +For a given ESX cluster and a specific reporting period as input, the +report displays the following information: + +On the first page, the report shows the total number of datastores +available on the cluster. Included are average usage of space, expressed +in percentage and bytes, the last usage value for the selected period +and allocated space for all datastores. The evolution of these three +values is shown in comparison to the previous period. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_1.png) + +Next, the top five and a bottom five datastores used are presented. For +each datastore, you can see the percentage of usage, the maximum value +reached and allocated space. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_2.png) + +The report then displays the top five and bottom five datastores +generating read and write IOPS (input/output per second). + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page1_3.png) + +The second page shows average CPU consumption for all ESX clusters and +the evolution from the previous period. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_1.png) + +ESXs using the most and the least CPU are highlighted, with the average +consumption and the maximum value reached for each ESX. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_1_2.png) + +The report shows the average memory usage on all ESX clusters and the +total memory allocated. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_1.png) + +The top and bottom five memory-consuming ESXs are highlighted along with +average usage over time, the total memory available and the maximum +value reached for each ESX. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_2_2.png) + +Finally, an overview of the average number of virtual machines on the +cluster that have been powered on and powered off. + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_1.png) + +The report provides details on the ESXs hosting the greatest and fewest +number of virtual machines powered on and powered off: + +![image](../assets/reporting/guide/available-reports/VMWare-Cluster-Performances-1-page2_3_2.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Type | Description | +|----------------------------|-----------------|---------------------------------------------------------------| +| Time period | Dropdown list | Select time period. | +| Host group | Dropdown list | Select cluster. | +| Host category | Multi selection | Select host categories for filtering on cluster. | +| Datastore Service category | Multi selection | Select service categories with datastore usage. | +| IOPs Service category | Multi selection | Select service categories with datastore IOPS. | +| CPU Service category | Multi selection | Select service categories with the ESX CPU usage. | +| Memory Service category | Multi selection | Select service categories with the ESX Memory usage. | +| VM Count Service category | Multi selection | Select service categories with the VM count services on ESXs. | +| Datastore usage (filter) | Text field | Type common part for filter and replacement (% to keep all). | +| Datastore iops (filter) | Text field | Type common part for filter and replacement (% to keep all). | + +#### Prerequisites + +This report is developed for full compatibility with the Monitoring Connector +Virt-VMware2-ESX and the Centreon-VMWare-2.0 connector. The following +prerequisites for the proper generation of the report shall apply. + +Implement monitoring of the following indicators: + +- CPU service, a memory service and a VM Count service for each ESX. +- Datastore-usage service for each datastore, or for all datastores, + linked to the vCenter or to only one ESX of the cluster. By + default, the service will have the following nomenclature: + Datastore-Usage-xxxx (xxxx is the datastore name). +- Datastore-IOPS service for each datastore or for all datastores, + linked to the vCenter or to only on ESX of the cluster. By + default, the service will have the following nomenclature: + Datastore-Iops-xxxx (xxxx is the datastore name). + +Create host groups that correspond to the clusters. A cluster (host +group) contains: + +- Several ESXs (hosts). +- The vCenter, only if Datastore-usage and Datastore-IOPS services are linked to + the vCenter and not to one cluster's ESX. + +Create at least one host category containing the whole cluster (vCenter + ESXs). +If there are multiple ESX clusters, you can split them into several host +categories to filter the report on a single cluster. + +Create the following service categories: + +- CPU-ESX: combines all CPU indicators on ESXs. +- Memory-ESX: combines all memory indicators on ESXs. +- VMcount-ESX: combines all VM Count indicators on ESXs. +- Datastore-usage: combines all datastore usage indicators. +- Datastore-IOPS: combines all datastore IOPS indicators. + +> If a datastore or an ESX host name contains more than 16 characters, only the +> first 16 will be shown, supplemented by 3 dots. + +### VMWare-VM-Performances-List + +#### Description + +This report displays statistics on usage of the vCPU, memory and IOPS on +virtual machines. + +It has been optimized for generating XLSX files to create the desired filters +and perform sorting. + +#### How to interpret the report + +The first tab shows information on the reporting period, the live-service period +selected and the report generation day and time. + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_1.png) + +The second tab lists the virtual machines with vCPU usage (average, average +formatted, max, max formatted) and memory usage (average, average formatted, +max, max formatted, % of usage, % of usage formatted). + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_2.png) + +The last tab lists the virtual machines by datastore and their read/write IOPS +usage showing the average and the maximum reached. + +![image](../assets/reporting/guide/available-reports/VMWare-VM-Performances-List_3.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameters | Type | Description | +|------------------|-----------------|--------------------------------------------------------------| +| Time period | Dropdown list | Specify the reporting live service. | +| Host to report | Dropdown list | Select the vCenter for report. | +| Host category | Multi selection | Select host category for filter. | +| Service category | Multi selection | Select service category containing the global VM statistics. | + +#### Prerequisites + +This report is developed for full compatibility with the +Virt-VMware2-ESX Monitoring Connector and Centreon-VMWare-2.0 connector. Certain +prerequisites apply to ensure proper report creation: + +Monitoring of the following indicators: + +- Vm-Cpu-Global service +- Vm-Memory-Global service +- Vm-Datastore-Iops-Global service. + +Creation of the following service category: + +- VM-Statistics with these indicators: Vm-Cpu-Global, Vm-Memory-Global and + Vm-Datastore-Iops-Global. + +## Electric consumption + +### Hostgroup-Electricity-Consumption-1 + +#### Description + +This report displays statistics on the energy consumption of the hosts +connected to an uninterrupted power supply (UPS). + +#### How to interpret the report + +For a given host group, reporting period and price per kilowatt-hour, +the first table displays the cost, consumption, average power and +maximum power reached for month N. A reminder of these values for the +previous month is provided along with the evolution over time. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part1.png) + +The next two graphs display the average power used per day of the month +and per hour of the day. A comparison with the previous month also +appears. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part2.png) + +Then, the top five most energy-consuming UPSs are displayed, along with +consumption distribution by UPS, average consumption and cost by UPS. + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part3.png) + +> If the host group contains more than five UPSs, only the four most +> energy-consuming ones will be displayed. A fifth category will include +> the remaining UPSs. + +Finally, a graph is shown of the monthly cost year over year (YOY). + +![image](../assets/reporting/guide/available-reports/Hostgroup-Electricity-Consumption-1-part4.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameters | type | Description | +| ------------------------- | ------------- | ---------------------------------------------------------- | +| Time period | Dropdown list | Select time period. | +| Host group | Dropdown list | Select the host group. | +| Host category | Multi select | Select host categories. | +| Service category | Multi select | Select service categories containing the power indicators. | +| Select metrics to include | Multi select | Select the metric name of the output power. | +| Price KWh | Text | Enter price of the kilowatt-hour. | + +#### Prerequisites + +The prerequisites for the report are: + +- Monitoring of the output power of the UPSs. +- Creation of a service category containing all the power-output + indicators. +- Sufficient historical data for the evolution graphs. + +> UPS consumption corresponds to the consumption by all hosts connected to the +> UPS. + +## Profiling + +### Host-Detail-2 + +#### Description + +This report provides detailed statistics on availability, alarms, storage usage, +memory and CPU for a given host. + +#### How to interpret the report + +The first page displays detailed statistics on a host's availability. +The second page shows statistics on the host's performance (CPU and +Memory). On the third page, statistics describe storage capacity by +partition. + +The final page is an appendix displaying the alarms that occurred on the host. + +#### First page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_2_png.png) + +#### Second page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Third page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Storage statistics on the last day of the reporting period + +2 - Storage statistics on the last day of the reporting period + +3 - Storage statistics on the last day of each month + +4 - Storage statistics on the last day of the reporting period versus +the last day of the previous period. + +#### Appendix + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_5_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_6_png.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------------|----------------|----------------------------------------------------------------------| +| Time period | Dropdown list | Select time period. | +| Interval | Text field | Specify number of months to display in evolution graphs. | +| Host | Dropdown list | Select host. | +| CPU service category | Dropdown list | Select service category containing CPU service(s). | +| CPU metric(s) | Multi Select | Select metric(s) for CPU statistics. | +| Storage service category | Multi Select | Select storage service categories containing the storage service(s). | +| Storage Metric(s) | Multi Select | Specify metric to exclude from the storage statistics. | +| Memory service category | Dropdown list | Select service category containing memory service(s). | +| Memory metric(s) | Multi select | Specify metric(s) to use for memory statistics. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the plugins. This data must be formatted as +follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the storage and memory plugins return a maximum value, +which is required in order to calculate statistics. The unit must be +expressed in bytes for storage and memory plugins. + +> **Warning** +> +> This report is compatible with the 24x7 time period only. This time +> period must be configured via the menu "General options | Capacity +> statistic aggregated by month | Live services for capacity statistics +> calculation". + +### Host-Detail-3 + +#### Description + +This report provides detailed statistics on availability, alarms, +storage usage, memory, CPU and traffic for a given host. + +#### How to interpret the report + +The first page displays detailed statistics on a host's availability. + +The second page shows statistics on the host's performance (CPU and +memory). + +The third page shows statistics on storage capacity by partition. + +The fourth page displays performance statistics for inbound and outbound +traffic. + +Finally, an appendix lists all the alarms occurring on the host. + +#### First page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_2_png.png) + +#### Second page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Third page + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Storage statistics on the last day of the reporting period + +2 - Storage statistics on the last day of the reporting period + +3 - Storage statistics on the last day of each month + +4 - Storage statistics on the last day of the reporting period versus +the last day of the previous period. + +#### Fourth page + +![image](../assets/reporting/guide/available-reports/Host-Detail-3_traffic.png) + +#### Appendix + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_5_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_6_png.png) + +#### Parameters + +Parameters needed by report are: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------------|-----------------|----------------------------------------------------------------------| +| Time period | Dropdown list | Select time period. | +| Interval | Text field | Specify number of months to display in evolution graphs. | +| Host | Dropdown list | Select host. | +| CPU service category | Dropdown list | Select service category containing CPU service(s). | +| CPU metric(s) | Multi Select | Select metric(s) for CPU statistics. | +| Storage service category | Multi Select | Select storage service categories containing the storage service(s). | +| Storage Metric(s) | Multi Select | Specify metric to exclude from the storage statistics. | +| Memory service category | Dropdown list | Select service category containing memory service(s). | +| Memory metric(s) | Multi select | Specify metric(s) to use for memory statistics. | +| Traffic service category | Multi selection | Select service category containing traffic service(s). | +| Traffic In metric | Dropdown list | Select inbound traffic metric. | +| Traffic out metric | Dropdown list | Select outbound traffic metric. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the plugins. This data must be formatted as +follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the storage, memory and traffic plugins return a maximum +value, which is required in order to calculate statistics. The unit must +be expressed in bytes for storage and memory plugins and in Kbps for +traffic plugins. + +> **Warning** +> +> This report is compatible with the 24x7 time period only. This time +> period must be configured via the "General options > Capacity +> statistics aggregated by month > Live services for capacity statistics +> calculation" menu. + +### Hostgroup-Host-Details-1 + +#### Description + +The report provides detailed statistics on availability, alarms, storage +usage, memory and CPU for all hosts within a host group. + +#### How to interpret the report + +For each host, the report is divided into four parts: + +The first part displays detailed statistics on a host's availability. + +The second part provides statistics on host performance (CPU and memory). + +The third part shows statistics on storage capacity by partition. + +The final part displays the distribution of inbound and outbound traffic +of all interfaces of the host. + +#### First part + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_1_png.png) + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_2_png.png) + +#### Second part + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_3_png.png) + +#### Third part + +![image](../assets/reporting/guide/available-reports/Host-Detail-2_4_png.png) + +1 - Storage statistics on the last day of the reporting period + +2 - Storage statistics on the last day of the reporting period + +3 - Storage statistics on the last day of each month + +4 - Storage statistics on the last day of the reporting period versus +the last day of the previous period. + +#### Fourth part + +![image](../assets/reporting/guide/available-reports/Host-Detail-3_traffic.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------------|----------------|----------------------------------------------------------------------| +| Time period | Dropdown list | Select time period. | +| Interval | Text field | Select number of months to display in evolution graphs. | +| Hostgroup | Dropdown list | Select host group. | +| Host Category | Multi Select | Select host category. | +| CPU service category | Dropdown list | Select service category containing CPU service(s). | +| CPU metric(s) | Multi Select | Select metric(s) to use for CPU statistics. | +| Storage service category | Multi Select | Select storage service categories containing the storage service(s). | +| Storage Metric(s) | Multi Select | Specify metric to exclude from the storage statistics. | +| Memory service category | Dropdown list | Select service category containing memory service(s). | +| Memory metric(s) | Multi select | Select metric(s) for memory statistics. | +| Traffic service category | Dropdown list | Select service category containing traffic service(s). | +| Traffic In metric | Dropdown list | Select inbound traffic metric. | +| Traffic Out metric | Dropdown list | Select outbound traffic metric. | + +#### Prerequisites + +For consistency in graphs and statistics, certain prerequisites apply to +performance data returned by the plugins. This data must be formatted as +follows, preceded by a pipe (|): + +``` text +output-plugin | metric1=valueunit;warning_treshold;critical_treshold;minimum;maximum metric2=value... +``` + +Make sure that the storage, memory and traffic plugins return a maximum +value, which is required in order to calculate statistics. The unit must +be expressed in bytes for storage and memory plugins and in Kbps for +traffic plugins. + +> **Warning** +> +> This report is compatible with the 24x7 time period only. This time +> period must be configured via the **General options > Capacity +> statistics aggregated by month > Live services for capacity statistics +> calculation** menu. + +## Inventory & Configuration + +### Hostgroups-Host-Templates + +#### Description + +This report displays information on the hosts in the reporting +datawarehouse, their parent template, relation to groups and categories +and creation date. You can filter on host groups and categories. + +![image](../assets/reporting/guide/available-reports/host_information.png) + +The table below shows the links between host templates: + +![image](../assets/reporting/guide/available-reports/link_between_host_templates.png) + +The following table shows the link between service and host templates: + +![image](../assets/reporting/guide/available-reports/relation_between_service_and_host_templates.png) + +The following table presents an overview of the host templates and their +check and notification properties: + +![image](../assets/reporting/guide/available-reports/host_templates_info.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|-----------------|----------------|-------------------------| +| Hostgroups | Multi select | Select host groups. | +| Host Categories | Multi select | Select host categories. | + +### Hostgroups-Service-Templates + +#### Description + +This report displays information on the services in the reporting +datawarehouse, their parent template, their relationship with groups and +categories, and creation date. You can filter on host groups, host +categories and service categories. + +![image](../assets/reporting/guide/available-reports/service_information.png) + +The table below shows the links between host templates: + +![image](../assets/reporting/guide/available-reports/link_between_templates.png) + +The following table shows the link between host and service templates: + +![image](../assets/reporting/guide/available-reports/relation_netween_host_and_service.png) + +The following table presents an overview of the service templates and +their check and notification properties: + +![image](../assets/reporting/guide/available-reports/templates_info.png) + +#### Parameters + +Parameters expected by the report are: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|----------------------------| +| Hostgroups | Multi select | Select host groups. | +| Host Categories | Multi select | Select host categories. | +| Service Categories | Multi select | Select service categories. | + +### Poller-Performances + +#### Description + +This report displays information on the configuration and performance of +the Centreon Engine running on a poller. + +#### How to interpret the report + +The poller name, IP address, version number and state of the engine, and +date of the last restart are displayed in the first part of the report. + +![image](../assets/reporting/guide/available-reports/Poller-Performances_1.png) + +The report then shows the status of the hosts and services monitored by +the poller. + +Statistics on latencies and execution times are presented along with the +hosts and services that exceed tolerated thresholds. + +![image](../assets/reporting/guide/available-reports/Poller-Performances_2.png) + +Finally, the report displays the current configuration of the Centreon +Engine and offers tips to optimize it (in case of performance issues). + +![image](../assets/reporting/guide/available-reports/Poller-Performances_3.png) + +#### Parameters + +The data appearing in the report is real-time data. + +Parameters required for the report: + +- The following Centreon objects: + +| Parameter | Type | Description | +|---------------------------------|--------------|----------------------------------------------------------------------------------------| +| Select poller(s) for the report | Radio button | Generate the report on the central poller, the remote pollers, or all pollers. | +| Limit latency (sec) | Text field | Specify latency threshold. Hosts / services exceeding the threshold are listed. | +| Limit execution time (sec) | Text field | Specify execution time threshold. Hosts / services exceeding the threshold are listed. | + +#### Prerequisites + +The prerequisites for this report are: + +- Monitoring of the load average on the pollers (metric names should + be: load1, load5 and load15) +- Monitoring of the CPU on the poller (metric names should contain + *cpu* string with the core number. Example: for a 4 core CPU, + metrics can be cpu0,cpu1... or cpu\_0,cpu\_1... + +### Hosts-not-classified + +#### Description + +This report displays all unclassified hosts. Information is represented +in two tables: + +- One displays all hosts without a host group. +- The second displays all hosts without a host category. + +A host without either a host group or a host category will appear in +both tables. + +Any changes to host classification will appear the day after the +change is made. + +![image](../assets/reporting/guide/available-reports/Hosts-not-classified.png) + +#### Parameters + +This report requires no parameters. + +#### Prerequisites + +None. + +### Services-not-classified + +#### Description + +This report displays all unclassified services. Information is +presented in a table. + +Any changes to service classification will be appear the day after the +change is made. + +![image](../assets/reporting/guide/available-reports/Services-not-classified.png) + +#### Parameters + +This report requires no parameters. + +#### Prerequisites + +None. + +## Database diagnostics + +### Content-diagnostic + +#### Description + +This report enables you to check whether availability and performance +data aggregated by days and months are present in the database. + +Color coding is used to display data by host group, host category and +time period. + +- Green = a value is available +- Red = no value is available + +> This report does not describe data quality, only data availability. + +![image](../assets/reporting/guide/available-reports/Content-diagnostic_png.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|--------------------------------| +| Host group | Multi select | Select host group. | +| Service Categories | Multi select | Select service category. | +| Host Categories | Multi select | Select host category. | +| Metrics | Multi select | Specify metrics for filtering. | + +### Content-diagnostic-availability + +#### Description + +This report provides a calendar view of host availability, displaying +the following information: availability of each host by day, +unavailability and unreachability. This data is shown for each time +period and organized by group and category. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-availability.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|------------------|----------------|-------------------------| +| Host group | Drop-down list | Select host group. | +| Hosts Categories | Multi select | Select host categories. | + +### Content-diagnostic-service-availability + +#### Description + +This report provides a calendar view of service availability, +displaying the following information: availability for each service by +day, warning time and critical time. This data is shown for each time +period and organized by group, host category and service category. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-service-availability.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|----------------------------| +| Host group | Drop-down list | Select host group. | +| Hosts Categories | Multi select | Select host categories. | +| Service Categories | Multi select | Select service categories. | + +### Content-diagnostic-performance + +#### Description + +This report provides a calendar view of average values by metrics and +time periods. It also indicates the maximum value reachable for each +metric. Data is organized by group, host and service categories. + +![image](../assets/reporting/guide/available-reports/content-diagnostic-performance.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|----------------------------| +| Host group | Drop-down list | Select host group. | +| Hosts Categories | Multi select | Select host categories. | +| Service Categories | Multi select | Select service categories. | +| Metrics | Multi select | Select metrics to include | + +### Metric-integrity-check + +#### Description + +This report checks the compatibility between the plugins/metrics and the +MBI performance reports. It allows you to quickly identify incompatible +services and to update the plugins. + +#### How to interpret the report + +If a warning is displayed on a line: + +- Warning and Critical thresholds are not set. +- The maximum value was not returned by the plugin. + +![image](../assets/reporting/guide/available-reports/Metric-integrity-check.png) + +#### Parameters + +Parameters required for the report: + +- The reporting period +- The following Centreon objects: + +| Parameter | Parameter type | Description | +|--------------------|----------------|----------------------------| +| Service Categories | Multi select | Select service categories. | +| Metrics | Multi select | Select metrics to include | + +## Report translation + +Centreon MBI can generate reports in two languages: English and French. +Other target languages are possible if you create the appropriate +translation files. + +Translation files require a .properties extension. They are stored in +the */usr/share/centreon-bi/Resources/translation* directory and +classified by type in subdirectories. + +The English-language files are named *xxx.properties* and the French, +*xxx\_fr\_FR.properties*. + +If you need to generate reports in a language other than English or +French, you should make a copy of all *xxx.properties*, giving the files +a suffix corresponding to the locale of your target language. + +For example, a German translation requires the file with the suffix +*xxx\_de\_DE.properties*; for a Spanish translation it would be +*xxx\_es\_ES.properties*. + +Then, translate all the English content in these new files into the +appropriate target language. + +> Even if you want to translate only a few reports, you must still +> translate the global translation files using the method described above. +> These files are: +> +> - units.properties +> - calendar.properties +> - common.properties +> - master-page.properties + +Then translate the file or files for the report family you require. +These files are stored in +`/usr/share/centreon-bi/Resources/translation/component/`. + +When the new *xxx.properties* files have been translated, go to your Centreon +MBI interface, edit a job, and then click the refresh button next to the language +selection. The new language should appear in the list. + +Select the desired language and generate the report. + +> **Warning** +> +> Because certain languages are more verbose than others, translated text +> strings that are excessively long may affect the formatting (design) of +> the report. diff --git a/versioned_docs/version-25.10/reporting/backup-restore.md b/versioned_docs/version-25.10/reporting/backup-restore.md new file mode 100644 index 000000000000..1d1d4dfa8258 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/backup-restore.md @@ -0,0 +1,327 @@ +--- +id: backup-restore +title: Backup & restore +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Centreon MBI backup + +### Backup: Configuration data on the Centreon server + +#### Items to back up + +- Custom report designs and their settings +- Generated reports. + +#### How the backup script works + +The backup script is executed on a daily basis using a cron job located +in **/etc/cron.d/centreon-bi-backup-web**: + + # + # Cron to backup Centreon MBI Engine frontend module + # + PATH=/sbin:/bin:/usr/sbin:/usr/bin + + # rewrite file with new cron line + CRONTAB_EXEC_USER="" + + 0 12 * * * root bash /usr/share/centreon-bi-backup/centreon-bi-backup-web.sh >> /var/log/centreon-bi/centreon-bi-backup-web.log 2>&1 + +By default, backups are saved to **/var/backup**. + +To modify this folder, update the **BACKUP_DIR** value in the backup +script (line **63**) located here: +**/usr/share/centreon-bi-backup/centreon-bi-backup-web.sh** + +On a Centreon server, only generated reports and report designs need to +be backed up. The backup format is +centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz + +#### Backup frequency + +- Daily +- Rotation: 8 days. + +To modify this value, update **RETENTION_AGE** in the backup script +(line **67**) located here: +**/usr/share/centreon-bi-backup/centreon-bi-backup-web.sh** + +> We advise you to export backups to another resource in order to secure them. + +### Backing up the reporting server + +> It is important to have at least 5 GB of free space on the **Volume Group** +> hosting the **data** storage MariaDB/MySQL DBMS. To check your free +> space, run the following command by entering the name of the **Volume Group** +> +> vgdisplay vg_data | grep -i free + +#### Items to back up + +- Configuration files +- Aggregated data +- Reports & resources. + +#### How the backup script works on the central server + +The backup script is executed on a daily basis with a cron job located +in **/etc/cron.d/centreon-bi-backup-reporting-server**: + + # + # Cron to backup Centreon MBI Engine server + # + PATH=/sbin:/bin:/usr/sbin:/usr/bin + + # rewrite file with new cron line + CRONTAB_EXEC_USER="" + + 30 12 * * 0 root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --total >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-db.log 2>&1 + 30 12 * * 1-6 root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --totalincr >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-db.log 2>&1 + 0 12 * * * root bash /usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh --centreonbifiles >> /var/log/centreon-bi/centreon-bi-backup-reporting-server-files.log 2>&1 + +By default, backups are saved to **/var/backup**. + +To modify this folder, update the **BACKUP_DIR** value in the backup +script (line **83**) located here: +**/usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh** + +Three types of backup are executed during the week: + +- Daily backup of configuration files for the report generation + engine. Format: centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz +- Every Sunday, full ETL backup. Format: + mysql-centreon_storage-bi-aaaa-mm-jj.tar.gz +- From Monday to Saturday an incremental ETL backup (all tables and + only the last partition of partitioned tables). Format: + mysql-centreon_storage-bi-aaaa-mm-jj.tar.gz + +> **Warning** +> +> During backup of the reporting server, ensure that no ETL scripts are +> running. No job reports should be running either + +#### Backup frequency + +- Daily +- Rotation: 8 days. + +To modify this value, update **RETENTION_AGE** in the backup script +(line **88**) located here: +**/usr/share/centreon-bi-backup/centreon-bi-backup-reporting-server.sh** + +> We advise exporting backups to another server for even better security. + +## Restore Centreon MBI + +The restore process is divided into several steps: + +- Reinstalling the centreon-bi-server module in the same version as + the one saved +- Integrating generated reports +- Integrating custom report settings +- Integrating Centreon MBI configuration data +- Integrating MariaDB/MySQL data +- Deleting data extracted from the backup +- Reinstalling the backup. + +### Restore configuration data + +#### Re-install centreon-bi-server module in the same version as the one saved + +On the main Centreon server, run the following commands: + + + + +```shell +dnf install centreon-bi-server-x.y.z +``` + + + + +```shell +dnf install centreon-bi-server-x.y.z +``` + + + + +Install **gpg**: + +```shell +apt install gpg +``` + +Import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Add the following external repository (for Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +apt update +``` + +Then install Centreon MBI: + +```shell +apt update && apt install centreon-bi-server-x.y.z +``` + + + + +#### Integrate generated reports + +Take the latest +**centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz** backup +and extract it to the **/tmp** directory: + + cd /tmp + tar xzf centreon-bi-front-reports-and-custom-conf-YYYY-MM-DD.tar.gz + +Then copy the backed up reports: + + /bin/cp -rf /tmp/var/lib/centreon/centreon-bi-server/archives/* /var/lib/centreon/centreon-bi-server/archives + + +> If the directory is different than expected, the user has changed the +> default settings. Just specify the right path. + +Change the rights for the files: + + chown -R centreonBI:centreonBI /var/lib/centreon/centreon-bi-server/archives + +#### Integrate custom report settings + +Take the latest backup in the format +**centreon-bi-front-reports-and-custom-conf-aaaa-mm-jj.tar.gz** and +extract it to the **/tmp** directory: + + cd /tmp + tar xzf centreon-bi-front-reports-and-custom-conf-YYYY-MM-DD.tar.gz + +Then copy the saved settings: + + /bin/cp -rf /tmp/usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl/* /usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl + +and + + /bin/cp -rf /tmp/var/lib/centreon/centreon-bi-server/reports/infos/* /var/lib/centreon/centreon-bi-server/reports/infos + +Change the rights for the files: + + chown -R apache:apache /usr/share/centreon/www/modules/centreon-bi-server/configuration/generation/xsl + + +#### Integrate Centreon MBI configuration data + +Import the SQL backup using the command: + + mysql -u root -p centreon_storage < /tmp/var/backup/dump_centreon_storage.sql + +#### Delete the data from the extracted backup + +Delete the extracted data from the backup: + + cd /tmp + rm -Rf /tmp/usr + rm -Rf /tmp/var + +### Restore Centreon MBI Reporting Server settings + +The restore process is divided into several steps: + +- Reinstalling centreon-bi-reporting-server module in the same version + as the one saved +- Integrating the CBIS configuration +- Integrating the custom report designs +- Restarting the CBIS engine +- Deleting the data from the extracted backup +- Reinstalling the backup. + +#### Reinstall the centreon-bi-reporting-server module in the same version as the one saved + +On the main Centreon server run the following command: + + yum install centreon-bi-engine-x.y.z + +#### Integrating the CBIS configuration + +Take the latest **centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz** +backup and extract it to **/tmp** directory: + + cd /tmp + tar xzf centreon-bin-reports-and-conf-YYYY-MM-DD.tar.gz + +Then copy the settings: + + /bin/cp -rf /tmp/etc/centreon-bi/* /etc/centreon-bi + +#### Integrating the custom reports settings + +Take the latest **centreon-bin-reports-and-conf-aaaa-mm-jj.tar.gz** +backup and extract it to **/tmp** directory: + + cd /tmp + tar xzf centreon-bin-reports-and-conf-YYYY-MM-DD.tar.gz + +Then copy the report designs: + + /bin/cp -rf /tmp/usr/share/centreon-bi/reports/* /usr/share/centreon-bi/reports + chown -R centreonBI:centreonBI /usr/share/centreon-bi/reports + /bin/cp -rf /tmp/usr/share/centreon-bi/Resources/* /usr/share/centreon-bi/Resources + chown -R centreonBI:centreonBI /usr/share/centreon-bi/Resources + +### Integrating MariaDB/MySQL data + +Stop the MariaDB/MySQL service: + + systemctl stop mysql + +Remove the directory */var/lib/mysql* from the reporting server: + + rm -rf /var/lib/mysql + +Extract the latest complete backup(created by default on Sunday): + + tar -xzf /var/backup/mysql-centreon_storage-bi-xxxx-xx-xx.tar.gz -C / + +Extract all incremental backups created between the latest complete +backup and the current date **from the oldest to the most recent** via +the command: + + tar -xzf /var/backup/mysql-centreon_storage-bi-xxxx-xx-xx.tar.gz -C / + +Change the rights on the directory */var/lib/mysql*: + + chown -R mysql:root /var/lib/mysql + +Start the MariaDB/MySQL service: + + systemctl start mysql + +#### Restarting the CBIS engine + +Restart CBIS using the command: + + systemctl restart cbis + Stopping Centreon MBI scheduler : cbis + Waiting for cbis to exit .. done. + Starting Centreon MBI scheduler : cbis + Service started... + +#### Delete the data from the extracted backup + +Delete data extracted from the backup: + + cd /tmp + rm -Rf /tmp/usr + rm -Rf /tmp/var diff --git a/versioned_docs/version-25.10/reporting/concepts.md b/versioned_docs/version-25.10/reporting/concepts.md new file mode 100644 index 000000000000..6cdc1103bd97 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/concepts.md @@ -0,0 +1,690 @@ +--- +id: concepts +title: Concepts +--- + +## Availability & events + +Availability and event data relate to changes in the state of hosts and +services. These data are used in report designs and by the event and +availability widgets included in Centreon MBI. + +There are no special system prerequisites for creating the reports that +use this information, other than a plugin that returns the state. This +section describes basic concepts and calculations needed for using and +analyzing Centreon MBI reports. + +### Availability + +#### Hosts + +A host is considered available when its state is "Up". + +The formula for calculating the availability rate is: "Up" duration / +("Up" + "Down" durations) + +Additional rules: + +- Time spent in the "Unreachable" state is not considered in the + calculation of availability. +- Time spent in "Planned Downtime" is not considered in the + calculation of availability. + +Example: For a report covering one day, if a host is available 23 hours +and unavailable 1 hour out of a 24 hour-period, its availability will be +23 hours / (23 + 1) ~ 95.8%. + +#### Services + +A service is considered available when its state is "OK" or +"Warning" + +The formula for calculating the availability rate is: ("OK" + "Warning" +durations) / ("OK" + "Warning" + "Critical" durations) + +Additional rules: + +- Time spent in the "Unknown" state is not considered in the + calculation of the availability. +- Time spent in "Planned Downtime" is not considered in the + calculation of availability. + +### Events + +Only **validated** events are considered in the calculation of events. +This corresponds to the "HARD" state in Centreon. + +In the reports, several message types correspond to different states: + +- Exception: Denotes a "Down" state for a host and a "Critical" + state for a service. +- Warning: Denotes a "Warning" state for the services, but there is + no equivalent for hosts. +- Information: Any other state. + +An event on a host or service is characterized by three values: + +- A start date +- An end date +- A state. + +### Additional indicators + +- MTRS (Mean Time To Restore Service) pertains to maintainability: + Average duration of the failure. This indicator should be as low as + possible. +- MTBF (Mean Time Between Failures) pertains to reliability: Average + time between the end of an incident and the beginning of the next. + This indicator should be as high as possible. +- MTBSI (Mean Time Between Service Incidents): Average time between the + beginning of two incidents. This indicator should be as high as + possible. + +The diagram below shows the scope of these indicators: + +![image](../assets/reporting/guide/mtbf_mtbsi_mtrs_explanation.png) + +## Best practices + +### Best practices for monitoring + +#### Quality of plugins, performance and capacity data + +To obtain reporting on performance data using default Centreon MBI +reports, you should monitor at least some basic performance indicators +(metrics): + +- CPU -- Should return a percentage value, using one or more metrics + (cpu_total, cpu_sys, cpu_1, etc.), with 100 as the maximum value. +- Memory should return at least one metric with this information: + + - Memory usage: the value expressed in bytes only + - Memory usage warning threshold + - Memory usage critical threshold + - Total allocated memory in Bytes. + +The plugin for monitoring this indicator must return the following output: + + status information | metric_name=valueunit;warning_threshold;critical_threshold;min_value;max_value + +- Storage usage -- Two possible kinds of service: + + - Monitoring one partition by service (metrics are often designated as "used" and "size") + - Monitoring multiple partitions by service and each metric corresponds to a partition name. + + In these two cases, the performance data returned by storage plugins must correspond to this format: + + status information | metric_name=valueunit;warning_threshold;critical_threshold;min_value;max_value metric_name_2=value... + +- Traffic -- Standard traffic reports use two metrics in parameters, + one for the inbound traffic and one for the outbound. For + compatibility, your plugins must return two metrics, although their + names do not matter. For each metric, the maximum possible value + must be specified. This is the recommended plugin format: + + + any status information | $inboundTrafic=$value$unit;$warning_threshold;$critical_threshold;$min_value;$max_value $outBoundTrafic=... + + +> Using the Centreon Monitoring Connectors guarantees the quality of your data. + +#### Default units + +Be sure that the data sent by the plugins is expressed in the same units +as similar data used with other services. We strongly recommend +verifying that the plugins use these units: + +- Time: seconds +- Traffic: bits/sec +- Storage: bytes +- Memory/Swap: bytes + + +> Using the Centreon Monitoring Connectors guarantees the quality of your data. + +### Best practices for configuring Centreon objects + +In Centreon MBI, each report design has several parameters that allow +you to generate customized documents according to your business +requirements. + +Parameter types can be: + +- A main object on which the report will be generated, such as: + - A host + - A host group: functional group defined in Centreon to classify + hosts by customer, application, business unit, country, etc. + - Several host groups. + +- A time period (or "Business hours" also called "Live service") + for which statistics will be calculated. +- Filters that take into account only specific types of hardware, + services and metrics from selected host groups: + + - Host categories: Classifies hosts into technical groups for determining the type or technical function + of a host (e.g., Linux servers, Windows servers, Cisco routers, printers). + - Service categories: Defines the type of service (e.g., CPU, physical memory, storage). + - Metrics: Indicates performance data collected by the services + (monitoring indicators). One monitoring service can collect + several metrics. However metric names and units are not + standardized. For instance, one CPU-type service can collect only + a metric called "cpu_average" defined in percentages, and + another CPU-type service can collect a metric by CPU core + configured in the hardware. Therefore, when generating a report, + it is essential to select the metrics used in calculating the statistics. + +### Host groups and categories + +The definitions of host groups and categories listed in the previous +chapter comply with the best practices established by Centreon. + +However, the groups and categories that you create should correspond to +your business requirements. + +Example: + +If you need to report the number of alerts generated by IT field, with a +detailed distribution by type of hardware, you will have to define the +host groups and categories using this method: + +- Host groups: **Databases**, Applications, Security, Network, Mail, + etc. +- Host categories: DB2-Servers, MySQL-Servers, Oracle-Servers, + SQL-Servers, etc. + +Here is an example of statistics that you can obtain using those groups +and categories: + +![image](../assets/reporting/installation/pie_charts.png) + +The host group is the first analysis axis. The host category allows you +to analyze the statistics in subsets. + +In the same way, we can analyze the statistics using the following +dimensions: + +- By country (host group) with a data distribution by type of network + hardware (host category) +- By country (host group) with a data distribution by customer (host + category) +- By customer (host group) with a data distribution by country (host + category) +- By customer (host group) with a data distribution by application + server (host category) + +There is no standard set of rules for defining host groups and +categories. They must correspond to your reporting needs. + +**Creating categories and groups** + +- You associate hosts to host groups in the *Configuration > Hosts > + Host groups* menu on the Centreon interface. You can also use the + *Relations* tab in the host add/modification form. +- You associate hosts and host categories in the + **Configuration > Hosts > Categories** menu. You can also use the + **Relations** tab in the host add/modification form. + +### Service categories + +Service categories allow you to organize services (monitoring +indicators) into subsets. The most common usage of service categories is +for defining categories based on service types, e.g., CPU, physical +memory, storage, Process-Oracle, DNS, Process-WebSphere. + +This type of configuration lets you: + +- Compare the number of alerts generated by each type of service. +- Select the service category that indicates storage usage information + when you need to generate a capacity report. + +**Like the host groups and categories, service categories must be +defined according to your reporting needs.** + +For instance, if you need to analyze the storage space allocated and +used by DBMS or an application type, you may need to create several +service categories. Instead of using only one service category named +"Storage" or "Disk", you could create these service categories: + +- "Operating system" +- "Oracle" +- "SQL Server" + +Here is an example of statistics that you can obtain using these service +categories: + +![image](../assets/reporting/installation/storage_example.png) + +You associate services and service categories in the *Configuration > Services > Categories* menu in +the Centreon Interface. You can also use the *Relation* tab in the add/modification form of a given service. + +> For managing service categories, we highly recommend that you only use the service templates. + +## Extract, Transform, Load (ETL) + +### Change history + +Centreon MBI logs every change affecting the relationships between +hosts, services, groups and categories. + +Example: + +- Host "H1" is related to host group "G1" in January. +- Host "H1" no longer belongs to group "G1" as of February 1. +- After this change, if a report is generated for group "G1" over + the reporting period of January, the statistics of host "H1" will + be considered in the statistics of group "G1". +- The statistics of host "H1" will not be considered for group + "G1" if the reporting period selected is February. +- If the reporting period starts on January 15 and ends on February + 15, the statistics of host "H1" will be considered for the + statistics of group "G1" only from January 15 to January 31. + +**The initial Centreon setup and the relationship between objects must +be clearly defined before installing Centreon MBI on a production +platform. Any change to the configuration of a host, group or category +is considered to be a normal part of their lifecycle.** + +### Execution modes + +The Centreon MBI reporting database or "data warehouse" is updated every +day with aggregated data calculated by the ETL, processing potentially +millions of lines of data on your platform. For this reason the ETL and +data warehouse play a critical role that should be understood. + +The ETL operates in **two modes**: + +- **Daily mode**: When up and running, Centreon MBI reporting platform + normally functions in this mode. Centreon data is imported daily + into the reporting database, but incrementally. More specifically: + + - data_bin is imported incrementally and aggregations are + calculated only for the previous day. + - the entire hoststatevents and servicestatevents tables are + imported but events are calculated incrementally. + + The update process can take a matter of seconds up to several minutes + depending on the size of your monitored environment. + The daily mode is configured in a crontab file located in + `/etc/cron.d/centreon-bi-engine`: + + 30 4 * * * root /usr/share/centreon-bi/bin/centreonBIETL --daily >> /var/log/centreon-bi/centreonBIETL.log 2>&1 + + +> **Warning** +> +> Executing this script multiple times on the same day will cause +> duplication problems. + +- **Rebuild mode**: After installation of the Centreon MBI platform, + this mode if often used in case of data corruption. You can import + and calculate statistics over a defined period, or by using the + **retention parameters**. + + Example: + + /usr/share/centreon-bi/bin/centreonBIETL -r + + To obtain acceptable execution times and manage all the data generated + by your Centreon platform, the hardware configuration, storage + capacity and MariaDB/MySQL optimizations are three important points to + consider when installing Centreon MBI. For recommendations, consult + the online documentation in the Architecture & Pre-requisites + chapters. + + +> We advise you to monitor the reporting database using the dedicated Monitoring Connector. If the ETL does +> not work for several days or the raw data is not up to date, you +> must perform a rebuild for the missing days. The ETL **does not +> automatically** reimport and calculate the missing days. Do not hesitate +> to contact the Centreon support team for assistance. + + +#### Execution Options + +Various parameter options can be passed to the script to execute +specific actions: + + -c Create the reporting database model. + -d Daily execution to calculate statistics on yesterday. + -r Rebuild mode to calculate statistics on a historical period. Can be used with: + Extra arguments for options -d and -r (if none of the following is specified, these ones are selected by default: -IDEP): + -I Extract data from the monitoring server. + Extra arguments for option -I: + -C Extract Centreon configuration database only. Works with option -I. + -i Ignore perfdata extraction from monitoring server. + -o Extract only perfdata from monitoring server. + + -D Calculate dimensions. + -E Calculate event and availability statistics. + -P Calculate perfdata statistics. + Common options for -rIDEP: + -s Start date in format YYYY-MM-DD. + By default, the program uses the data retention period from Centreon MBI configuration. + -e End date in format YYYY-MM-DD. + By default, the program uses the data retention period from Centreon MBI configuration. + -p Do not empty statistic tables; delete only entries for the processed period. + Does not work on raw data tables, only on Centreon MBI statistics tables. + +If no "start" or "end" date is given to the ETL script, the start +and end date are automatically calculated using the retention parameters +configured on the interface in General Option > Data retention +Parameter. + +#### Performance + +If ETL processing seems too long in daily or rebuild mode, you should +consider optimizing your reporting server by: + +- Optimizing the MariaDB/MySQL configuration. +- Storing the database on a high-performance disk (e.g., with no i/o + wait time). +- Adding more physical memory (+ optimize configuration). +- Not sharing storage or the database with other applications. + +### Purge + +Data purging can be activated in Centreon MBI General Options to ensure +that the database complies with the retention configuration. You +activate this function through the interface AND in the following cron +on the reporting server: `/etc/cron.d/centreon-bi-purge`. + +Reporting dimensions (combination of groups/host +categories/services/metrics) with no relating data are automatically +deleted from the reporting database. + +### How to apply a new configuration to historical data + +> This procedure deletes all previously calculated data (and links between +> objects) and recalculates data based on the retention period in the +> latest Centreon configuration. + +When implementing Centreon reporting, you may expect to re-execute your +statistical calculations a number of times if the Centreon configuration +changes. When you have finished making changes to groups and categories, +you can run the commands below on the REPORTING server, preferably in +the morning (due to several hours of potential processing time). This +procedure does not include the importing of logs or raw data. Make sure +all data imported from Centreon is up to date on your reporting server +by running the following command: + +```shell +/usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content +``` + +And make sure "ETL OK - Database is up to date" appears OR that the +following tables are not listed: + +- data_bin +- hoststatevents +- servicestateevents + +If you run the following set of ETL commands without any start and end +parameters, the calculations will be based on the retention parameter +defined in the Centreon MBI > General Option > Data retention tab +menu. If you are currently installing or testing the product, you may +consider reducing the retention time BEFORE processing and restore the +default value (365 days) AFTER processing. This will help speed up +calculation time. + +![image](../assets/reporting/guide/etl_dataRetention.png) + +#### Import the latest Centreon configuration + +```shell +/usr/share/centreon-bi/etl/importData.pl -r --centreon-only +``` + +#### Calculate reporting dimensions + +This command will erase all previous changes tracked by the reporting +mechanism and include only the latest. If you want to include former +changes, replace the **-r** by **-d**:: + +```shell +/usr/share/centreon-bi/etl/dimensionsBuilder.pl -r +``` + +#### Aggregate events and availability + +```shell +nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllEvents.log & +``` + +#### Aggregate performance data (storage, traffic, etc.) + +```shell +nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r > /var/log/centreon-bi/rebuildAllPerf.log & +``` + +### How to rebuild missing reporting data + +You may require this procedure when the monitoring plugin of your +reporting server returns a state other than "OK". This may appear +during daily processing (e.g., data is not up to date, there is +insufficient space on the reporting server, or processing was manually +interrupted). + +The plugin may return a message that your database is not up to date, as +in the following example: : + +```shell +/usr/share/centreon-bi/etl/centreonbiMonitoring.pl --db-content +``` + +```shell +[Table mod_bam_reporting, last entry: 2020-07-01 00:00:00] [Table mod_bi_ba_incidents, last entry: 2020-07-01 00:00:00] [Table hoststateevents, last entry: 2020-07-01 00:00:00] +[Table servicestateevents, last entry: 2020-07-01 00:00:00] [Table mod_bi_hoststateevents, last entry: 2020-07-01 00:00:00] +[Table mod_bi_servicestateevents, last entry: 2020-07-01 00:00:00] [Table mod_bi_hostavailability, last entry: 2020-07-01 00:00:00] +[Table mod_bi_serviceavailability, last entry: 2020-07-01 00:00:00] [Table data_bin, last entry: 2020-08-01 00:00:00] [Table mod_bi_metricdailyvalue, last entry: 2020-08-01 00:00:00] +[Table mod_bi_metrichourlyvalue, last entry: 2020-08-01 23:00:00] +``` + +- When only the `mod_bi` tables appear, there is an incident + with aggregated data and not the Centreon data. + + In this case, **skip the "Import Missing data" section** below. + +- If the following tables appear, a problem has occurred with the raw + data imported from Centreon: + +- hoststatevents +- servicestateevents +- All the mod_bam_reporting* tables +- data_bin. + +First resolve any incidents on the Centreon side before executing the +procedure below. + +#### Prerequisites + +Before running the commands in the procedure below, check that: + +- The Centreon platform is up and running, and data is up to date. +- The daily cron centreonBIETL is not enabled (it should be commented + out) on the reporting server in the file + /etc/cron.d/centreon-bi-engine. It must be enabled at the end of the + procedure. +- The script dataRetentionManager.pl is not enabled (also commented + out) on the reporting server in the file + /etc/cron.d/centreon-bi-purge. It must be enabled at the end of the + procedure. +- Retention is enabled on the interface. +- Retention is configured for no more than 1024 days. +- The scripts in `/etc/cron.d/centreon-bi-backup-reporting-server` are not enabled + (commented out). They must be enabled at the end of the procedure. + + +> For the following commands, we advise you to use "screen" or "nohup" to +> prevent disconnection due to timeout. And you must manually replace the following elements: +> +> - $date_start$ should be replaced according to the data you want to retrieve (based on retention or starting point of missing data) +> - $date_end$ most of the time corresponds to the "today" date + +#### Import the missing data + +- Import the data, without the performance data (data_bin table), + from a specific date according to the Availability retention period + you defined in `Centreon MBI > Generation Option > Data Retention + Parameters`: + +```shell +nohup /usr/share/centreon-bi/etl/importData.pl -r -s $date_start$-e $date_end$ --ignore-databin > /var/log/centreon-bi/rebuild_importDataEvents.log & +``` + + *Execution time: fast (minutes)* + +- Import the data from data_bin, starting from the date the last data + was present in the database. You will find that date next to the + data_bin table, returned by the plugin: : + +```shell +nohup /usr/share/centreon-bi/etl/importData.pl -r --no-purge --databin-only -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_importDataBin.log & +``` + + *Execution time: fast (minutes), depending on the number of days imported.* + +#### Update reporting dimensions + +- Update the dimensions. Using the **"-d"** option keeps the history + of changes made in the configuration. Avoid using the "-r" option + or you will have to rebuild all statistics: : + +```shell +nohup /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d > /var/log/centreon-bi/rebuild_dimensions.log & +``` + + *Execution time: fast (seconds or minutes)* + +#### Rebuild missing events and availability data + +- Rebuild events from a specific date according to the retention + period defined in Centreon MBI > Generation Option > Data + Retention Parameters: : + +```shell +nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --events-only > /var/log/centreon-bi/rebuild_events.log & +``` + + *Execution time: Depending on the monitoring perimeter and the + number of events: several hours but normally not longer than 24 + hours. In excess of this limit, please contact the Centreon support + team.* + +- Rebuild the availability tables, starting from the day where the + last data was present. Check the mod_bi_hostavailability and + mod_bi_serviceavailability date returned by the plugin for the + latest build data: + +```shell +nohup /usr/share/centreon-bi/etl/eventStatisticsBuilder.pl -r --no-purge --availability-only -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_availability.log & +``` + + *Execution time: From a few minutes to several hours, depending on + the number of days of rebuild*. + +#### Rebuild the missing performance data + +- Rebuild the missing performance statistics. Check the earliest date + next to the mod_bi_metrichourlyvalue and mod_bi_metricdailyvalue + tables returned by the plugin for the last data calculated: : + +```shell +nohup /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --no-purge -s $date_start$ -e $date_end$ > /var/log/centreon-bi/rebuild_perfData.log & +``` + + *Execution time: From a few minutes to several hours, depending on + the number of days to calculate. If the number of days of rebuild is + greater than the hourly retention setting, the amount of data + generated may be voluminous and the rebuild time long.* + +#### What to do after executing the scripts + +- Case 1: **The rebuild is performed on the same day** + + Uncomment the lines in `/etc/cron.d/centreon-bi-engine` and + `/etc/cron.d/centreon-bi-purge` and restart the cron service: + + systemctl restart crond restart + +- Case 2 : **The rebuild finishes the next day** + + - Uncomment the lines in `/etc/cron.d/centreon-bi-engine` and + `/etc/cron.d/centreon-bi-purge` and restart the cron service: + + systemctl restart crond restart + + - Manually execute the daily script: + + /usr/share/centreon-bi/bin/centreonBIETL -d + +- Case 3: **In other cases**: Follow the procedure of partial rebuild for the missing days. + + Example: + The rebuild took 4 days, from January 1 to January 4: You need to follow the procedure from the beginning and use date_start = 01-01 and date_end = 04/01 + The procedure is over, the output of the BI monitoring plugin should be “ETL execution OK, database is up-to-date”. + +### Centreon BAM statistics + +- Follow this procedure if you rebuilt the Centreon BAM statistics. + + - Reimport the BAM data from the central server to the reporting server by running the following command: + + ```shell + /usr/share/centreon-bi/etl/importData.pl -r --bam-only + ``` + This will import all Centreon BAM reporting tables. + +- If statistics are not up to date, follow this procedure: + + 1. You need first to execute the following command to rebuild statistics on the central server: + ```shell + /usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --all + ``` + 2. Then import them using this command on the reporting server: + ```shell + /usr/share/centreon-bi/etl/importData.pl -r --bam-only + ``` + +### How to rebuild only Centile statistics + +To use the "Monthly Network Percentile" report you must activate +centile calculation and storage. Go to the *Reporting > Business +Intelligence > General Options | ETL Tab* page and configure the +subsection "Centile parameters" as described below to create a +relevant centile/timeperiod combination(s). If this report is not +required, simply leave the default values. + + Parameter | Value + ---------------------------------------------------------|-------------------------- + Calculate centile aggregation | Monthly (minimum) + Select service categories to aggregate centile on | Select at least one traffic service category + Set first day of the week | Monday (default) + Create the required centile-time period combination(s) | Create at least one combination, e.g. 99.0000 - 24x7 + +See example in the screenshot below: + +![image](../assets/reporting/guide/centileParameters.png) + +Only service categories selected in "Reporting perimeter selection" +will appear in the list of service categories available for centile +statistics. + +You can create as many centile-time period combinations as you like, but +be advised that this may increase calculation time. Start with a small +number of parameter combinations to determine the impact on calculation +time. + +On the **reporting** server, run the following command to import the +configuration data: + + /usr/share/centreon-bi/bin/centreonBIETL -rIC + +Then, run the following command to update the centile configuration in +the datawarehouse: + + /usr/share/centreon-bi/etl/dimensionsBuilder.pl -d + +Finally, run the following command to calculate only the centile +statistics: + + /usr/share/centreon-bi/etl/perfdataStatisticsBuilder.pl -r --centile-only diff --git a/versioned_docs/version-25.10/reporting/configure.md b/versioned_docs/version-25.10/reporting/configure.md new file mode 100644 index 000000000000..b10ec9cd857f --- /dev/null +++ b/versioned_docs/version-25.10/reporting/configure.md @@ -0,0 +1,300 @@ +--- +id: configure +title: Configure +--- + +## Jobs & reports access restrictions (ACL) + +You can restrict access for generating or viewing reports to specific +groups by configuring the Access Control List (ACL). + +The report design filter enables you to: + +- Allow access to report design templates when creating a new job. + +The job filter lets you enable a user to: + +- View generated reports ("Report View" page). +- View jobs, and create and modify them ("Jobs" page). +- Receive generated reports by e-mail. + +To manage Centreon MBI rules, go to the following page: `Administration > ACL > Centreon MBI > ACL Rules + +![image](../assets/reporting/guide/AclRules.png) + +To modify or add a new rule, use this menu, which has three menu tabs: + +The "General information" menu shows the pre-defined access groups +that can be linked to a rule. + +![image](../assets/reporting/guide/AclRulesGeneralInformation.png) + +The "report designs" menu shows the report designs and report design +groups that can be linked to a rule. + +![image](../assets/reporting/guide/AclRulesReportDesign.png) + +The final menu under the "Jobs" tab shows the scheduled jobs that can +be linked to a rule. If no report design has been selected in the +previous menu, no scheduled task will appear here. + +![image](../assets/reporting/guide/AclRulesReportJob.png) + +> **Important** +> +> Non-administrator users cannot receive notifications for +> reports they are not authorized to view even if they are associated with +> a contact group eligible for notification. +> +> You can assign read-only access to users on the ACL for viewing the +> content of other Centreon menus. These include: +> +> - Job groups +> - Report designs +> - Report design groups +> - Logos +> - Publication rules. + +We strongly advise against giving a limited user access to the "General +options" page, which would allow him or her to modify the +configuration. + +## General Options + +Centreon MBI general options are used to configure: + +- Scheduling options for jobs that generate reports +- Communication between Centreon & the reporting server +- Notification parameters for Centreon MBI administrators +- Data to aggregate and retention (ETL) + +### Notification options + +The reporting engine can notify Centreon MBI administrators by e-mail +after each report generation. The e-mail includes: + +- The direct download links to the reports +- Log file pertaining to the job that generated the reports. + +Centreon MBI administrators can thus be informed if any job fails. This +notification, however, is different from publication by e-mail of the +actual reports sent to specific users. The notification option sends an +e-mail to Centreon MBI administrators containing only the logs of the +job that generated the report. + +The notification option parameters can be modified in the following menu: +**Reporting > Business Intelligence > General Options | Notification Options** + +Description: + + Row | Description + ----------------------------------------------|------------------------------------------------- + Enable job notification for administrators | Enables the default notification system. This option can be disabled for scheduled jobs. + E-mail from | E-mail sender + SMTP server | SMTP server address (IP/DNS) + SMTP port | SMTP port + Use credential | Uses an authentication (yes/no) + Use SSL | Uses an SSL authentication (yes/no) + SMTP user | SMTP user account + SMTP password | Password for SMTP user (*Set this parameter only if you need to update the password*) + E-mail default title | Default subject line for notification e-mail, if no other is specified + Default E-mail body | Default body of notification e-mail, if no other is specified + Default E-mail footer | Default footer of notification e-mail, if no other is specified + Centreon main server web protocol | The protocol used by Centreon web interface (http / https) + Centreon web URL extension | The Centreon server URL extension (e.g.: /centreon) + Centreon main server | Centreon server address + Contact groups | Centreon MBI administrators contact groups. Leave empty if you do not want to receive a notification after each report is generated. + Testing notification | Enter an e-mail address into this field, then click "test" to send an e-mail validating your configuration. + +### Scheduler options + +The following menu allows you to modify the scheduling options for the +reporting engine: + +`Reporting > Business Intelligence > General Options | Scheduler options` + +#### CBIS properties + +The Centreon MBI interface can instantly communicate with the CBIS +reporting engine. It opens a connection on the CBIS listening port to: + +- Alert about the modification or creation of a job. +- Update the available languages for translation of the reports. +- Test publication rule configurations. +- Test the configuration of notifications. + +Description of parameters: + + Option | Description + --------------------------|-------------------------------------------------------- + CBIS host | IP address of server hosting the reporting engine + CBIS port | TCP listening port for CBIS engine + CBIS connection timeout | Time limit (in seconds) for connection to the reporting engine + +Any modification of these parameters requires restarting the CBIS daemon + + systemctl restart cbis + +#### Report generation scheduling properties + +> Description of parameters: + + Option | Description + --------------------------------------------------------------|---------------------------------- + All cyclic reports generation hour | Hour for generating daily/weekly/monthly reports + Day of month for the generation of monthly reports | Day of month for generating monthly reports + Day of week for the generation of weekly reports | Day of week for generating weekly reports + Maximum load allowed to the scheduler for the jobs execution | Maximum load authorized for running simultaneous jobs + +#### Custom report properties + +Two reports require access to the Centreon main server to generate RRD +graphs. These reports are: + +- Host-graph-v2 +- Hostgroup-graph-v2. + +Fill in the following field specifying the server address: + +![image](../assets/reporting/guide/centreon_url.png) + +Any modification of these parameters requires restarting the CBIS +daemon. + +The default theme can also be defined in this menu, using the option +"Default report color theme". + +### ETL options + +*ETL stands for **E**xtract **T**ransform **L**oad* + +The ETL integrated in Centreon is used to + +- Synchronize monitoring raw data with the reporting server +- Calculate availability and performance statistics on the reporting + server +- Manage data retention on the reporting server. + +It is configured at installation and will probably not need any modification later. + +Before proceeding, you should read [the best practice parts](installation.md#best-practices-for-monitoring) to ensure +that the objects (e.g., groups, categories) are configured according to Centreon MBI requirements. + +In the Centreon menu **Reporting > Business Intelligence > General Options > ETL options**, +specify the following options: + +| **Options** | **Values** +|-------------------------------------------------------------------------------------------|---------------------------------------- +| **General options** | | + Reporting engine uses a dedicated dedicated MariaDB/MySQL server | Yes. You **must** use a reporting server + Compatibility mode to use report templates from version of Centreon MBI prior to 1.5.0 | No (deprecated) + Temporary file storage directory on reporting server | Folder where dumps will be stored on the reporting server + Type of statistics to build |
  • Select “Availability only” if you only use availability reports.
  • Select “Performance and capacity only” if you only want to use capacity and performance reports.
  • Select “All” to calculate the statistics for both types of reports.
| + Use large memory tweaks (store MariaDB/MySQL temporary tables in memory) | Activated only if your MariaDB/MySQL configuration and allocated physical memory on the server permit. +| **Reporting perimeter selection** | | + Hostgroups | Select only host groups for which you want to aggregate data. + Hostcategories | Select only host categories for which you want to aggregate data. + Service categories | Select only service categories for which you want to aggregate data. +|**Availability statistic calculation** | | + Live services for availability statistics calculation | Select required time periods. +| **Performance and capacity statistic calculation** | | + Granularity required for performance data statistics | Select level of granularity required to run the desired performance reports (1). + Live services for performance data statistics calculation | Select required time periods. +| **Capacity statistic aggregated by month** | | + Live services for capacity statistics calculation | Select the “24x7” time period. + Service categories related to capacity data monitoring | Select the service categories that have been associated with capacity-type services. + Exclude metrics from service categories that do not return capacity USAGE information | Concerns the metrics linked to services which return capacity data. Select the metrics that do not return capacity usage information. but a maximum or total value. (e.g., the metric “size”). +| **Centile parameters (2)** | | + Calculating centile aggregation by | Select the desired aggregation level. The standard percentile report provided with BI 2.1 uses Month data. + Select service categories to aggregate centile on | Filter on relevant service categories for centile statistics (e.g., Traffic). + First day of the week | Select the first day of the week for Week aggregation. + Centile / Timeperiod combination | Create a new centile/timeperiod combination on which to perform the calculation. + +**(1)** Reports requiring a precise value per hour of performance data +are listed below. If you do not use the following reports, disable the +statistics calculation per hour: + +- Hostgroup-Host-details-1 +- Host-detail-v2 +- Hostgroup-traffic-Average-Usage-By-Interface +- Hostgroup-traffic-by-Interface-And-Bandwith-Ranges. + +**(2)** Centile statistics: To use the "Monthly Network Percentile" report you must activate +centile calculation. Here is an example: + +![image](../assets/reporting/guide/centileParameters.png) + +Only service categories selected in "Reporting perimeter selection" +will appear in the list of service categories available for centile +statistics. + +You can create as many centile-time period combinations as you like, **but +we strongly recommend** not having more than two or three combinations* on a small number of metrics +contained in the category. + + +### Data retention options + +The reporting server contains statistics tables specific to Centreon MBI +in the database "centreon_storage". The storage space used by these +tables increases every day. It is possible to control the size of these +tables by setting data retention rules. + +Under *Reporting > Monitoring Business Intelligence > General options > Data retention*, +data retention can be managed by: + +- Type of data (availability, performance). +- Precision of data (raw data, hourly, daily or monthly values). + + +> Before enabling the data retention options, check that the **Reporting +> engine uses a dedicated MariaDB server** option is correctly set to +> "Yes" in the *Reporting > Business Intelligence > General options ETL options* menu. + +Enable data retention management by selecting "Yes", then set the +options in the configuration (example below). + +![image](../assets/reporting/installation/bi_retention.png) + +To activate automatic purge of old data, edit the cron file +`/etc/cron.d/centreon-bi-purge` on the reporting server, then uncomment the following line: + + #0 20 * * * root @CENTREON_BI_HOME@/*etl*/dataRetentionManager.pl >> @CENTREON_BI_LOG@/dataRetentionManager.log 2>&1 + +Avoid periods scheduled for statistical calculations with Centreon MBI +ETL and report generations. + +You can run this cron daily or weekly, depending on the execution time of the batch and the load generated on the server. + +Then restart the service cron: + + systemctl restart crond + +**BEST PRACTICE**: Select different retention periods according to the +granularity of the statistical data: + +- Hourly aggregated values are used to analyze a metric over a short period. They take a + lot of space on the disk. You may not need to keep these statistics more that two or three months. +- Beyond five or six months, you may only need to view the trend for + availability or performance statistics. You could then keep the + daily aggregated data for a maximum of six months, for example, and + configure the retention of monthly aggregated data for a period of + several dozen months. + +Please go to the next chapter to continue the installation. + +### Report Parameter + +This tab enables you to display the dimensions available for a given +user based on ACL restrictions and what was calculated in the data +warehouse. + +When updating the groups and categories configuration, make sure to +update the ACL by clicking "Update ACL resources". This will update +available objects when configuring jobs. + +### Reporting Widgets + +This menu is used to verify the connection to the reporting database and +edit the connection parameters, which are used to populate the widgets +with data. diff --git a/versioned_docs/version-25.10/reporting/generate-reports.md b/versioned_docs/version-25.10/reporting/generate-reports.md new file mode 100644 index 000000000000..9c5147098741 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/generate-reports.md @@ -0,0 +1,477 @@ +--- +id: manage-reports +title: Generate reports +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +This chapter describes features you need to manipulate to be able to generate & manage reports. + +![image](../assets/reporting/first_page.png) + +## Jobs + +A job is an entity that you configure to be able to generate a report and should be configured in terms of: + +- A report design to use +- Centreon objects (hosts, services, host groups, service groups, business activities, etc.) +- A specific period (last month, current month, yesterday etc.. ) + +### Job list + +The following menu lists jobs according to their state: running, +scheduled, failed, stopped or finished: +`Reporting > Business Intelligence > Configuration > Jobs` + +![image](../assets/reporting/guide/jobsList.png) + +Description of columns: + + Column | Description + ----------------|-------------------------------------------------------------- + Name | Name of scheduled job + Report design | Design to be used for report + Period | Period covered for generated report + Output format | Export formats of generated report (PDF, Excel, Powerpoint,CSV, DOC) + Execution time | Execution date and time of scheduled job + Options | Number of job duplications if the duplication option is selected in the menu "More Actions" + +In the "Name" column on the table, an icon is displayed according to +the job state: + + Icon | Status + ------------------------------------------------------|------------------------------------ + ![image](../assets/reporting/guide/clock_stopped.png) | Job stopped + ![image](../assets/reporting/guide/clock.png) | Job scheduled + ![image](../assets/reporting/guide/clock_running.png) | Job being executed + ![image](../assets/reporting/guide/enabled.png) | Job ended (only for a single-use job) + ![image](../assets/reporting/guide/failed.png) | Job failed or canceled + +#### Search filters + +Search filters are available for quick access to jobs: + +![image](../assets/reporting/guide/searchJobs.png) + +The "Search" field allows to filter by job name and "Job state" filters by job state. + +Description of the different states: + + State | Description + ------------|------------------------------------------------------------------ + Scheduled | Job planned, will be executed + Running | Job running, the report is being generated + Failed | Job failed + Stopped | Job stopped, will not be executed + Finished | Job is completed, report has been generated. This state appears only for single jobs. Cyclic jobs return to the "Scheduled" state once the report is generated + All | All states displayed + +#### Refreshing the job list + +The following icons allow you to dynamically update the job list: + + Icon | Description +---------------------------------------------------------------------------------------------------------------|----------------------------------------------------- + ![image](../assets/reporting/guide/refresh.png) | Manually refresh the list and state of each job. + ![image](../assets/reporting/guide/media_play_gray.png) ![image](../assets/reporting/guide/media_pause.png) | Start or stop the automatic refresh of the page + +#### More action menu + +The action menu allows you to perform a variety of tasks on one or more +jobs in the list. + +![image](../assets/reporting/guide/moreActionJobs.png) + +The following table describes the different options: + + Action | Description + ------------|------------------------------------------------------------- + Trash | Sends the selected jobs to the trash. + Stop | Stops the selected jobs. + Reschedule | Schedules/Runs the selected jobs. + Duplicate | Duplicates the selected jobs. All settings and relations will also be duplicated. + +### Adding / Editing a job + +To generate a report, you need to create a job by clicking "Add" in the job listing page. Configuring a job +is done in two main steps (tabs): + +- Select the report design you want to use (see all the designs available [here](../assets/reporting/Centreon-MBI-Sample-Reports.pdf)) +- Select the perimeter on which to generate the report + +Two optional steps (tabs) can be done to: + +- Publish the report +- Tune the job + +The following menu is used for adding a new scheduled job: + +![image](../assets/reporting/guide/addJob.png) + + + + +A report generation job *must* be linked to a report design ("Report design"). + +Several report output formats are available: + + - Acrobat PDF + - Microsoft Excel + - Microsoft Word + - Microsoft Powerpoint + - CSV: Only the first BIRT Data Set of the report can be exported in CSV format. Usually, + this format requires a specially designed BIRT report. + +Reports can be generated in other languages. Currently available +languages are: + + - French + - US English + +The icon on the right of the selection menu allows you to refresh the +list of available report languages in the case you want to add a translation yourself + +#### Scheduling + +A job can be executed in three different ways: immediately, scheduled for later, or in a cyclic way. + +**Immediate execution** + +The job will start when saving the form. + +![image](../assets/reporting/guide/scheduleImmediate.png) + +**SCHEDULED > One shot** + +![image](../assets/reporting/guide/scheduleOS.png) + +**CYCLIC** + +This parameter causes the job to run on a daily, weekly or monthly +basis. + +![image](../assets/reporting/guide/scheduleRegular.png) + +For cyclic jobs, the period is calculated automatically according to job +frequency: + + - Daily reports cover the previous day. + - Weekly reports cover the previous week. + - Monthly reports cover the previous month. + + + + +The "Report Parameters" menu is used to set the specific parameters for the report design. + +![image](../assets/reporting/guide/jobParameter.png) + +This part of the menu changes according to the report design selected +under the "Configuration" tab of the scheduled job. + +There are three types of field in this form: + +- Text fields +- Radio buttons +- Selection and multi-selection menus for the following resources: + + - Hosts + - Metrics + - Host groups + - Service groups + - Service categories + - Time periods + - Business groups (Centreon BAM module is required) + - Business activities (Centreon BAM module is required) + - Images that will be inserted in the reports (logo for example). + +> In the **Time period** field for reports concerning [BAM](../service-mapping/introduction.md), do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +**Note**: A value must be specified for each field in this menu except for the multi-selection +parameter when metrics are excluded. + +By default, all metrics will be applied. + + + + + Once a report is generated, it can be automatically published using pre-defined rules. When creating + a job, you can create several rules under the "Publication" tab. + +![image](../assets/reporting/guide/jobPublication.png) + + + + +The "Tuning" menu contains three parameters: + +- **Report color theme:** Color theme management has been implemented, + allowing you to choose a color palette. Seven default themes are + available: Maroon, Orange, Blue, Ice, Green, Multicolor-1 and + Multicolor-2. + + > Theme color does not apply to business activity reports + + The available color palettes are: + + ![image](../assets/reporting/guide/theme.png) + + The default color theme can be changed through the Centreon MBI General + options menu. For more information, see the General options chapter + [General options](configure.md#general-options) + +- **Multiplier coefficient of the scheduled task**: Each report design + has a weight. A scheduled task can multiply this weight according to + the parameters used to run the report design. The sum of the weight + of the running tasks cannot exceed the maximum load the reporting + engine can handle (defined in General Options). +- **Administrator e-mail notification**: Enable or disable + notification when scheduled job is generated. + + + + +## Accessing generated reports + +After a scheduled job is executed, a new report is generated and then +stored on the **Centreon** server. You can then view or download it +using the following menu **Reporting > Monitoring Business Intelligence > Report view** + +The following table lists the reports generated: + +![image](../assets/reporting/guide/reportList.png) + + Column | Description + ----------------------|---------------------------------------------------- + Name | Name of the report + Period | Period in which data was selected to build the statistics + Date of generation | Date the report was generated + Download | Link for downloading the file + + +#### Search filters + +You can search in any of these criteria: + +- Period: chosen period on which to generate the report +- Date of generation: when was the report generated +- Frequency (daily, monthly, etc.) +- Search by job name (applies to the "Name" column) +- Search by report design + +![image](../assets/reporting/guide/reportViewFilter.png) + +#### Action menu + +Use the action menu to move reports that are no longer needed to the +trash: + +![image](../assets/reporting/guide/moreActions.png) + + +## Job groups + +Job groups are used to manage user access to reports and mail publication + +### Job group list + +The following menu lists all job groups available on Centreon MBI: +`Reporting > Monitoring Business Intelligence > Configuration | Job +groups` + +![image](../assets/reporting/guide/list_job_groups.png) + +#### More action menu + +![image](../assets/reporting/guide/action_duplicationDelete.png) + + Action | Description + --------------|--------------- + - Delete | Delete group + - Duplicate | Duplicate group + + +### Add / Edit + +A job group can be added or modified through the following menu: + +![image](../assets/reporting/guide/add_job_groups.png) + +Description of menu fields: + + Column | Description + ------------|------------------------- + Name | Job group name + Description | Job group description + Linked job | Jobs linked to group + + +## Report design + +The design of the reports you generate with **Centreon MBI** originates +from ".rptdesign" files, which are created with the open-source tool +Business Intelligence Reporting Tool (BIRT). + +To generate a report, a report design should be configured in terms +of: + +- **Centreon** objects (hosts, services, host groups, service groups, + business activities, etc.) +- A specific period (monthly report, weekly report, etc.). + +Each report design can have a several parameters, which must be defined +in the **Centreon** interface. + +### Report design list + +The following menu lists the report designs available in Centreon MBI +`Reporting > Monitoring Business Intelligence > Configuration > Report Design` + +![image](../assets/reporting/guide/reportDesignList.png) + +Description of the above table: + + Column | Description + --------------|--------------------------------------------------------- + Name | Name of report design + Description | Short description of report design + State | Status of report design (Enabled/Disabled) + Weight | Report weight: report generation workload index. + + +### Add / edit + +A report design can be edited or a new one can be added if you develop your own reports (using BIRT) + +![image](../assets/reporting/guide/addReportTemplate.png) + +Description of the menu fields: + + Fields | Description + ----------------------|-------------------------------------------------------------- + Name | Name of report design + Report Source file | Name of the ". rptdesign" BIRT file corresponding to the report design. This file is stored in the "reports/" directory of "Centreon MBI" installation directory. + Description | Short description of report design. + XML parameters file | Each report can have several specific parameters. This .xml file defines those parameters. + Weight | Report weight: report generation workload index. + Report design groups | Report design group linked to report design for ACL management. + + +> Only Centreon administrators are authorized to edit report designs or +> add a new one. Users without privileges only have read-only access to +> existing report designs. + +#### Action menu + +The "More actions" menu allows you to perform certain actions on +report designs: + +![image](../assets/reporting/guide/moreActions.png) + + Action | Description + --------------|--------------------------------------------------------- + Trash | Move file to trash. + Activate | Enable a report design for report generation. + Deactivate | Disable a report design for report generation. + +## Report design groups + +### Report design group list + +The following menu lists all report design groups available on Centreon +MBI **Reporting > Monitoring Business Intelligence > Configuration > Report design groups** + +![image](../assets/reporting/guide/list_report_design_groups.png) + +### Add / Edit + +The following menu is used for adding or editing a report design group: + +![image](../assets/reporting/guide/add_report_design_groups.png) + + Column | Description + -----------------------|------------------------------------------------ + Name | Name of report design group + Description | Short description of report design group + Linked report designs | Report designs linked to the group + +## Logo + +You can store images in the Centreon MBI configuration for reuse in +future reports to be generated. Use the selection menu to incorporate an +image (or logo) into the desired report design. + +Regardless of the size of the image (or logo), it must have an aspect +ratio of 4:4 to fit into the required space. + +### Image list + +The following menu lists all the images available: + +Reporting > Business Intelligence > Configuration > Logo + +![image](../assets/reporting/guide/logo_list.png) + +Description of columns: + + Column | Description + ------------|------------------------------------------------- + Name | Image name + Preview | Display loaded image + Type | Image format: PNG, JPEG or GIF + Size | Image size (width x height) + +### Add/Edit images + +To add a new image, click "Add" and then fill in the following menu +fields: + +![image](../assets/reporting/guide/logo_add.png) + +Description of fields: + + Column | Description + -------|---------------------------------------------------- + Name | Name of image. No special characters allowed + Image | Image source file + +#### Action menu + +Use the following menu to delete images from the list. You cannot, +however, delete images already linked to jobs generating reports. + +![image](../assets/reporting/guide/action_Delete.png) + + +## Trash + +All deleted report designs or scheduled jobs are first sent to the +trash, as a security measure, before being permanently deleted. Use the +following menu to access the trash: + +`Reporting > Monitoring Business Intelligence > Administration > Trash` + +![image](../assets/reporting/guide/TrashList.png) + +Properties of the trash: + +- Once in the trash, an element will not appear in any other menu. +- Scheduling is stopped for all jobs in the trash. +- Deleting a report design or scheduled job does not cause any linked + PDF reports to be deleted. + +Items can be restored or permanently deleted through this menu: + +![image](../assets/reporting/guide/TrashActions.png) + +#### Search filters + +The following search filters allow you to search for an item in the +trash: + +- "Search", filter by element name +- "Object type", filter by element type + +![image](../assets/reporting/guide/TrashFilter.png) + diff --git a/versioned_docs/version-25.10/reporting/installation.md b/versioned_docs/version-25.10/reporting/installation.md new file mode 100644 index 000000000000..4fe2cb3c9826 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/installation.md @@ -0,0 +1,1169 @@ +--- +id: installation +title: Install the Centreon MBI extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +This chapter presents the software architecture of the **Centreon MBI** extension +and provides an overview of the integration of the extension with Centreon monitoring software. + +This document is intended for administrators who will install or configure Centreon MBI. + +Four main steps are required to install Centreon MBI: + +- Check the system requirements. +- Install the Centreon MBI interface in the Centreon application (Centreon MBI Server). +- Install the reporting server (Centreon MBI Reporting Server). +- Configure the extraction, transformation and loading (ETL) in the Centreon MBI interface. + +## Architecture + +### A dedicated reporting server + +The architecture and these requirements apply to: + +- test +- pre-production +- production environments. + +The diagram below highlights the main components of Centreon MBI: + +![image](../assets/reporting/installation/architecture.png) + +*The monitoring database is not necessarily on the same server as the Centreon server*. + +- **ETL**: Process that extracts, transforms and loads data into the reporting database. +- **CBIS**: The scheduler that manages the execution and publication of reports. +- **Reporting Database**: The MariaDB/MySQL database that contains the reporting data and some raw data extracted from the monitoring database. + +### Network Flow Tables + +The table below shows the different types of flows, by default, +between the dedicated BI server, the Centreon server and the databases: + +| **Application** | **Source** | **Destination** | **Port** | **Protocol** | +|-----------------|--------------------------|--------------------------------------|----------|--------------| +| ETL/CBIS | Reporting server | Centreon database server | 3306 | TCP | +| SSH | Reporting server | Centreon Server | 22 | TCP | +| CBIS | Reporting server | Centreon Server | 80 | HTTP* | +| CBIS | Centreon | Reporting server | 1234 | TCP | +| Widgets | Centreon central server | Reporting server | 3306 | TCP | + +*Only required for Host-Graph-v2 and Hostgroup-Graph-v2 reports that use the Centreon API to generate graphs.* + +### Information about the packages + +The Centreon MBI installation is based on two RPM packages: + +- **Centreon-bi-server:** Installs the MBI interface integrated with the Centreon interface. The package is installed on the Centreon central server. +- **Centreon-bi-reporting-server**: Contains all the components needed to run the reporting server + (report scheduler, ETL, standard reports). It must be installed on a server dedicated to reporting processes. + +The installation of the database must be done at the same time. We strongly recommend installing the MariaDB/MySQL database on the +reporting server, for performance and isolation reasons. + +## Prerequisites + +### Central Centreon server + + +#### Software requirements + +See the [software requirements](../installation/prerequisites.md#software). + +You should install the MariaDB/MySQL database at the same time. We highly recommend +installing the database on the same server, due to performance and isolation +considerations. + + + + + +- Centreon Web 24.10 +- Check that `date.timezone` is correctly configured in the `/etc/php.d/50-centreon.ini` or `/etc/php.d/20-timezone.ini` + file (same as the one returned by the `timedatectl status` command). +- Avoid using the following variables in the configuration file `/etc/my.cnf`. They interrupt the + execution of long queries and can stop ETL or report generation jobs: + - wait_timeout + - interactive_timeout + +#### Users and groups + +| User | Group | +|----------------------|----------------------------| +| centreonBI (new) | apache,centreon,centreonBI | +| apache (existing) | centreonBI | + + + + +- Centreon Web 24.10 +- Check that `date.timezone` is correctly configured in the `/etc/php.d/50-centreon.ini` or `/etc/php.d/20-timezone.ini` + file (same as the one returned by the `timedatectl status` command). +- Avoid using the following variables in the configuration file `/etc/my.cnf`. They interrupt the + execution of long queries and can stop ETL or report generation jobs: + - wait_timeout + - interactive_timeout + +#### Users and groups + +| User | Group | +|----------------------|----------------------------| +| centreonBI (new) | apache,centreon,centreonBI | +| apache (existing) | centreonBI | + + + + +- Centreon Web 24.10 +- Check that `date.timezone` is correctly configured in the `/etc/php/8.2/mods-available/centreon.ini` or `/etc/php/8.2/mods-available/timezone.ini` file + (same as the one returned by the `timedatectl status` command). +- Avoid using the following variables in the configuration file `/etc/mysql/mariadb.cnf`. They interrupt the + execution of long queries and can stop ETL or report generation jobs: + - wait_timeout + - interactive_timeout + +#### Users and groups + +| User | Group | +|----------------------|------------------------------| +| centreonBI (new) | www-data,centreon,centreonBI | +| apache (existing) | centreonBI | + + + + +#### Description of users, umask and home directory + +| User | umask | home | +|-------------|-------|------------------| +| centreonBI | 0002 | /home/centreonBI | + +### Dedicated reporting server + +#### Hardware layer + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 16 GB | + +This is how your MBI server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 233 GB | +| vg_data | /var/backup | backup directory | 10 GB | +| vg_data | | Free space (unallocated) | 5 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 16 GB | + +This is how your MBI server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 465 GB | +| vg_data | /var/backup | backup directory | 10 GB | +| vg_data | | Free space (unallocated) | 5 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 4 vCPU | +| RAM | 24 GB | + +This is how your MBI server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 1163 GB | +| vg_data | /var/backup | backup directory | 10 GB | +| vg_data | | Free space (unallocated) | 5 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 8 vCPU | +| RAM | 24 GB | + +This is how your MBI server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 2326 GB | +| vg_data | /var/backup | backup directory | 10 GB | +| vg_data | | Free space (unallocated) | 5 GB | + + + + +| Element | Value | +| ----------------------------| --------- | +| CPU | 12 vCPU | +| RAM | 32 GB | + +This is how your MBI server should be partitioned: + +| Volume group (LVM) | File system | Description | Size | +|-| ----------------------------|-------------|----------------------------------------------------------| +| | /boot | boot images | 1 GB | +| vg_root | / | system root | 20 GB | +| vg_root | swap | swap | 4 GB | +| vg_root | /var/log | contains all log files | 10 GB | +| vg_data | /var/lib/mysql | database | 4651 GB | +| vg_data | /var/backup | backup directory | 10 GB | +| vg_data | | Free space (unallocated) | 5 GB | + + + + +For very large amounts of data, contact your sales representative. + + + + +To check the free space, use the following command by replacing **vg_data** with the name of the group volume: + +```shell +vgdisplay vg_data | grep -i free* +``` + +#### Firmware and software layer + +- OS: see [compatibility info here](../installation/compatibility.md#operating-systems) +- SGBD: see [compatibility info here](../installation/compatibility.md#dbms) +- Firewalld: Disabled ([look here](../installation/installation-of-a-central-server/using-packages.md#configure-or-disable-the-firewall)) +- SELinux: Disabled ([look here](../installation/installation-of-a-central-server/using-packages.md#disable-selinux)) + +> Make sure that the reporting server and the central server have the same time zone; otherwise report publications will fail (link to download missing). +> The same time zone must be displayed with the `timedatectl` command. +> You can change the time zone with this command: +> +>```shell +>timedatectl set-timezone Europe/Paris +>``` + +Be sure to optimize MariaDB/MySQL on your reporting server. +You will need at least 12 GB of RAM in order to use the [next file](../assets/reporting/installation/centreon.cnf). + +Make sure you have a **tmp** folder in **/var/lib/mysql**. + +> Do not set these MariaDB optimizations on your monitoring server. + +Users and groups: + +| User | Group | +|-------------|------------| +| centreonBI | centreonBI | + +Description of users, umask and user directory: + +| User | umask | home | +|-------------|-------|------------------| +| centreonBI | 0002 | /home/centreonBI | + +## Install the extension on Centreon + +The actions listed in this chapter must be performed on the **Centreon Central Server**. + +1. Install the Business repository. You can find it on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +2. Then run the following commands: + + + + +```shell +dnf install centreon-bi-server +``` + + + + +```shell +dnf install centreon-bi-server +``` + + + + +Install **gpg**: + +```shell +apt install gpg +``` + +Import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Add the following external repository (for Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +apt update +``` + +Then install Centreon MBI: + +```shell +apt install centreon-bi-server +``` + + + + +### Enable the extension + +The **Administration > Extension > Manager** menu allows you to install the extensions detected by Centreon. Click the **Centreon MBI** tile to install. + +Then, download the license sent by the Centreon team to start configuring the general options. + +### Configure the extension + +Enter the following values in the Centreon MBI general options +menu, *Reports > Monitoring Business Intelligence > General Options*: + + +| Tabs | Option | Value | +|----------------------------------------------------------------------------------------|----------------------------|--------------------------------------------------------------------------------------| +| Scheduler options | CBIS Host | IP address of the reporting server | +| ETL options | Reporting engine uses a dedicated MySQL server | Yes | | +| Reporting widgets | Reporting MariaDB database | IP address of the reporting base (default = IP address of the reporting server) | + +\**The connection test will not work at this point in the installation*. + +### Access to the Central database + +Download the license sent by the Centreon team to start configuring the general options. + + + + +The MariaDB monitoring database is hosted on the central monitoring server. + +Run the command below to allow the reporting server to connect to the databases on the monitoring server. + +Use the following option: + +```shell +perl /usr/share/centreon/www/modules/centreon-bi-server/tools/centreonMysqlRights.pl --root-password=@ROOTPWD@ +``` + +**@ROOTPWD@**: Root password of the MariaDB monitoring database. +If there is no password for the "root" user, do not specify the **root-password** option. + + + + +The MariaDB monitoring database is hosted on a dedicated server. + +Connect via SSH to the database server, and run the following commands: + +```SQL +CREATE USER 'centreonbi'@'$BI_ENGINE_IP$' IDENTIFIED BY 'centreonbi'; +GRANT ALL PRIVILEGES ON centreon.* TO 'centreonbi'@'$BI_ENGINE_IP$'; +GRANT ALL PRIVILEGES ON centreon_storage.* TO 'centreonbi'@'$BI_ENGINE_IP$'; +``` + +**$BI_ENGINE_IP$**: IP address of the reporting server. + + + + +If you use MariaDB replication for your **monitoring databases**, some views +are created during the installation of Centreon MBI. +You must exclude them from replication by adding the following line to the **my.cnf** +file of the slave server or mariadb.cnf on Debian 12. + +```shell +replicate-wild-ignore-table=centreon.mod_bi_%v01,centreon.mod_bi_%V01 +``` + +Then, create the views manually on the slave server: + +1. Download [the following file](../assets/reporting/installation/view_creation.sql) to a temporary folder (in our example, **/tmp**), for instance using **wget**. + +2. Run the following command (change the name of your temporary folder if necessary): + +```bash +mysql centreon < /tmp/view_creation.sql +``` + +#### Debian 12 specific configuration + +MariaDB must listen on all interfaces instead of listening on localhost/127.0.0.1 (default value). Edit the following file: + +```shell +/etc/mysql/mariadb.conf.d/50-server.cnf +``` + +Set **bind-address** to **0.0.0.0** and restart **mariadb**. + +```shell +systemctl restart mariadb +``` + +### Give rights to the cbis user + +When you install Centreon MBI, a [user](../monitoring/basic-objects/contacts.md) named **cbis** is automatically created. +It allows the report generation engine to extract data from Centreon (using the APIs) in order to insert them in the report. +This user must [have access to all resources monitored by Centreon](../administration/access-control-lists.md) in order to extract the performance graphs for the following reports: + +- Host-Graph-v2 +- Hostgroup-Graph-v2. + +To test the connection between the MBI reporting server and the Centreon API, use the following command to download a graph. Replace the graph parameters and timestamps, and replace XXXXXXXXX with the user's autologin token **cbis**: + +```bash +curl -XGET 'https://IP_CENTRAL/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=XXXXXXXXX&username=CBIS&hostname=&service=&start=&end=' --output /tmp/image.png + +``` + +Example: + +```bash +curl -XGET 'https://10.1.1.1/centreon/include/views/graphs/generateGraphs/generateImage.php?akey=otmw3n1hu03bvt9e0caphuf50ph8sdthcsk8ofdk&username=CBIS&hostname=my-poller&service=Cpu&start=1623016800&end=1623621600' --output /tmp/image.png +``` + +The result should look like the code below, and the desired graph image must have been uploaded to the `/tmp` directory: + +```text + % Total % Received % Xferd Average Speed Time Time Time Current + Dload Upload Total Spent Left Speed +100 18311 100 18311 0 0 30569 0 --:--:-- --:--:-- --:--:-- 30569 +``` + +## Install the reporting server + +### Install the packages + +You must have the following information before proceeding with the installation process: + +- IP/DNS of the monitoring database +- IP/DNS of the Centreon web interface +- IP/DNS of the reporting database (localhost strongly recommended) + +- Access (user/password) to the reporting database +- Define and retrieve the ssh password of the centreonBI user on the Central server (for the availability of reports generated on the interface) + +#### Procedure + +1. Install the Centreon repository: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +dnf clean all --enablerepo=* +dnf update +``` + + + + +To install the Centreon repository, execute the following command: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +2. Install the Business repository. You can find it on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +3. Ensure a version of Java 17 (or 18) is installed before you start the procedure. + + - If you need to check the Java version, enter the following command: + + ```shell + java -version + ``` + + - If you need to upgrade the Java installation to Java 17 (or 18), go to the [Oracle official download](https://www.oracle.com/java/technologies/downloads/#java17) page. + + - If several Java versions are installed, you need to activate the right version. Display the installed versions using the following command and select the Java 17 (or 18) version: + + ```shell + sudo update-alternatives --config java + ``` + +4. Install the MariaDB repository: + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=9 --mariadb-server-version="mariadb-10.11" +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + + + + +5. Then run the following command: + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Enable the **codeready-builder** repository: + +```shell +subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Enable codeready-builder repositories: + +```shell +dnf config-manager --set-enabled ol8_codeready_builder +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +``` + +Enable powertools repositories: + +```shell +dnf config-manager --set-enabled 'powertools' +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Enable the **codeready-builder** repository: + +```shell +subscription-manager repos --enable codeready-builder-for-rhel-9-x86_64-rpms +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Enable codeready-builder repositories: + +```shell +dnf config-manager --set-enabled ol9_codeready_builder +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server MariaDB-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the **epel** repository: + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +``` + +Run the following command: + +```shell +dnf config-manager --set-enabled 'crb' +``` + +Then launch the installation: + +```shell +dnf install centreon-bi-reporting-server mariadb-server MariaDB-client +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +cd /etc/pki/rpm-gpg/ +wget https://yum-gpg.centreon.com/RPM-GPG-KEY-CES + +``` + + + + +Install the Centreon repository: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +``` + +Install the prerequisite packages: + +```shell +apt install lsb-release ca-certificates apt-transport-https software-properties-common wget gnupg2 +``` + +Add the following external repository (for Java 8): + +```shell +wget -qO - https://adoptopenjdk.jfrog.io/adoptopenjdk/api/gpg/key/public | apt-key add - +add-apt-repository --yes https://adoptopenjdk.jfrog.io/adoptopenjdk/deb/ +``` + +For an installation based on a blank distribution, install the GPG key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +``` + +Then launch the installation: + +```shell +apt update +apt install centreon-bi-reporting-server mariadb-server mariadb-client +``` + + + + +Enable the **cbis** service: + +```shell +systemctl enable cbis +``` + +Start and enable **gorgoned**: + +```shell +systemctl start gorgoned && systemctl enable gorgoned +``` + +### Configure the reporting server + +#### MariaDB Optimizations + + + + +Make sure that the optimized configuration [file](../assets/reporting/installation/centreon.cnf) provided +in the prerequisites is present in `/etc/my.cnf.d/`, then restart the MariaDB service: + +```shell +systemctl restart mariadb +``` + +It is necessary to change the **LimitNOFILE** limitation. Changing this +option in `/etc/my.cnf` will NOT work. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +If the MariaDB service fails to start, remove the *ib_logfile* files +(MariaDB must absolutely be stopped) and then restart MariaDB again: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +If you are using a specific socket file for MariaDB, modify the file `/etc/my.cnf` and +in the [client] section, add : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +Make sure that the optimized configuration [file](../assets/reporting/installation/centreon.cnf) provided +in the prerequisites is present in `/etc/my.cnf.d/`, then restart the MariaDB service: + +```shell +systemctl restart mariadb +``` + +It is necessary to change the **LimitNOFILE** limitation. Changing this +option in `/etc/my.cnf` will NOT work. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +If the MariaDB service fails to start, remove the *ib_logfile* files +(MariaDB must absolutely be stopped) and then restart MariaDB again: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +If you are using a specific socket file for MariaDB, modify the file `/etc/my.cnf` and +in the [client] section, add : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +Make sure that the optimized configuration [file](../assets/reporting/installation/centreon.cnf) +provided in the requirements is present in `/etc/mysql/mariadb.conf.d/`. + +Rename the file to `80-centreon.cnf`: + +```shell +mv centreon.cnf 80-centreon.cnf +``` + +MariaDB should listen to all interfaces instead of localhost/127.0.0.1, which is the default. +Edit the following file: + +```shell +/etc/mysql/mariadb.conf.d/50-server.cnf +``` + +Set the **bind-address** parameter to **0.0.0.0** and restart MariaDB. + +```shell +systemctl restart mariadb +``` + +It is necessary to change the **LimitNOFILE** limitation. Changing this option in `/etc/mysql/mariadb.cnf` will not work. + +```shell +mkdir -p /etc/systemd/system/mariadb.service.d/ +echo -ne "[Service]\nLimitNOFILE=32000\n" | tee /etc/systemd/system/mariadb.service.d/limits.conf +systemctl daemon-reload +systemctl restart mariadb +``` + +If the MariaDB service fails at the time of starting, remove the files *ib_logfile* +(MariaDB must absolutely be stopped) and then restart MariaDB again: + +```shell +rm -f /var/lib/mysql/ib_logfile* +systemctl start mariadb +``` + +If you are using a specific socket file for MariaDB, edit the +file `/etc/mysql/mariadb.cnf` and in the [client] section, add : + +```shell +socket=$PATH_TO_SOCKET$ +``` + + + + +### Secure the database + +It is mandatory to secure the root access of the database before installing Centreon. +If you use a local database, execute the following command on the central server, otherwise on the database server: + + + + +```shell +mariadb-secure-installation +``` + + + + +```shell +mysql_secure_installation +``` + + + + +- Answer **yes** to all questions except "Disallow root login remotely?" +- It is mandatory to define a password for the **root** user of the database. You will need this password during the [web-installation](../installation/web-and-post-installation.md). + +> For more information, please see the [official MariaDB documentation](https://mariadb.com/kb/en/mysql_secure_installation/). + +#### Start configuring + +Make sure the MariaDB reporting system is started and then run the commands below and answer the questions: + +```shell +/usr/share/centreon-bi/config/install.sh +``` + +The script manages the exchange of SSH keys between the monitoring server and the reporting server, and configures the default SFTP publishing rule +in order to publish the reports on the Centreon web interface. Finally, it enables the backup and starts the CBIS service. + +Once the installation is complete, continue to the next chapter to configure the ETL. + +#### Problem with the SSH exchange key + +In some cases, SSH key exchange fails. +To solve the problem, do the following manually: + +Switch to the `centreonBI` user: + +```bash +su - centreonBI +``` + +Generate the SSH key: + +```bash +ssh-keygen -t ed25519 -a 100 -f ~/.ssh/id_ed25519 -P "" -q +``` + +And print the `centreonBI` public key (in order to authorize it then on Centreon): + +```bash +su - centreonBI +cat /home/centreonBI/.ssh/id_ed25519.pub +``` + +Now, **on the monitoring server**: + +Create a `.ssh` folder that `centreonBI` will own, restrict permissions on this folder and paste into the `authorized_keys` file the contents of its public key on the reporting server (shown earlier): + +```bash +mkdir -p /home/centreonBI/.ssh/ && chown centreonBI: /home/centreonBI/.ssh/ && chmod 700 /home/centreonBI/.ssh/ && echo "@reporting pub key content@" > /home/centreonBI/.ssh/authorized_keys +``` + +The key exchange must then be validated by a first connection that will accept the SSH server signature. +As the `centreonBI` user **from the reporting server**: + +```bash +ssh centreonBI@@MONITORING_SERVER@ +``` + +Then exit the `centreonBI` session with `exit` or `Ctrl-D` on both servers. + +To continue, run the installation script (`/usr/share/centreon-bi/config/install.sh`) as above and answer **Yes** when asked to proceed with the SSH key exchange. +You will get an error when creating the USER, because it already exists. This is not a blocking step. + +### ETL: Configuration + +Centreon MBI integrates an ETL that allows you to: + +- Synchronize the raw data from the monitoring to the reporting server +- Feed statistical data to the reporting server databases +- Control the retention of data on the reporting server + +Before proceeding to the next steps, read the +chapter on [best practices](concepts.md#best-practices-for-monitoring) to make sure that the configuration of +the objects in Centreon (groups, categories, etc.) is in accordance with the expectations of Centreon MBI. + +In the `Reporting > Monitoring Business Intelligence > General Options > ETL Options` tab, specify the following options: + +| **Options** | **Values** | +|----------------------------------------------------------------------------------------|---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| **General options** | | +| Reporting engine uses a dedicated dedicated MariaDB server | Yes. You **must** use a reporting server | +| Temporary file storage directory on reporting server | Folder where dumps will be stored on the reporting server | +| Type of statistics to build | Select “Availability only” if you only use availability reports. Select “Performance and capacity only” if you only want to use capacity and performance reports. Select “All” to calculate the statistics for both types of report. | +| Use large memory tweaks (store MariaDB temporary tables in memory) | Activated only if your MariaDB configuration and allocated physical memory on the server permit. | +| **Reporting perimeter selection** | | +| Hostgroups | Select only host groups for which you want to aggregate data. | +| Hostcategories | Select only host categories for which you want to aggregate data. | +| Service categories | Select only service categories for which you want to aggregate data. | +| **Availability statistic calculation** | | +| Live services for availability statistics calculation | Select required time periods. | +| **Performance and capacity statistic calculation** | | +| Granularity required for performance data statistics | Select the level of granularity required to run the desired performance reports (1). | +| Live services for performance data statistics calculation | Select the required time periods. | +| **Capacity statistic aggregated by month** | | +| Live services for capacity statistics calculation | Select the “24x7” time period. | +| Service categories related to capacity data monitoring | Select the service categories that have been associated with capacity-type services. | +| Exclude metrics from service categories that do not return capacity USAGE information | Concerns the metrics linked to services which return capacity data. Select the metrics that do not return capacity usage information. but a maximum or total value. (e.g., the metric “size”). | +| **Centile parameters** | | +| Calculating centile aggregation by | Select the desired aggregation level. The standard percentile report provided with BI 2.1 uses Month data. | +| Select service categories to aggregate centile on | Filter on relevant service categories for centile statistics (e.g., Traffic). | +| First day of the week | Select the first day of the week for Week aggregation. | +| Centile / Timeperiod combination | Create a new centile/timeperiod combination on which to perform the calculation. | + +**(1)** Reports requiring data granularity by the hour are listed below. +If you do not wish to use these reports, disable the calculation of hourly statistics: + +- Hostgroup-Host-details-1 + +- Host-detail-v2 +- Hostgroup-traffic-Average-Usage-By-Interface +- Hostgroup-traffic-by-Interface-And-Bandwith-Ranges + +### ETL: Data retention + +The reporting server contains tables of statistics specific to Centreon MBI in the "centreon_storage" database. +The storage space used by these tables is increasing every day. +It is possible to control the size of these tables by defining data retention rules. + +Under **Reports > Monitoring Business Intelligence > General Options > Data Retention Options** menu, +data retention can be managed by: + +- Type of data (availability, performance). +- Data granularity (raw data, hourly, daily or monthly values) + +> Before enabling the data retention options, make sure that the reporting engine +> uses a dedicated MariaDB server, and the corresponding option is set to +> **Yes** in the **Reporting > Business Intelligence > General Options ETL Options** menu. + +Enable data retention management by selecting **Yes**, then set the configuration options (example below). + +![image](../assets/reporting/installation/bi_retention.png) + +To enable automatic purging of old data, edit the cron file **/etc/cron.d/centreon-bi-purge** +on the reporting server, then uncomment the following line: + +```shell +#0 20 * * * root @CENTREON_BI_HOME@/*etl*/dataRetentionManager.pl >> @CENTREON_BI_LOG@/dataRetentionManager.log 2>&1 +``` + +Avoid scheduled periods for statistical calculations with Centreon MBI ETL and report generation. +You can run this cron daily or weekly, depending on the batch execution time and the load generated on the server. + + + + +Restart the cron service: + +```shell +systemctl restart crond +``` + + + + +Restart the cron service: + +```shell +systemctl restart cron +``` + + + + +**BEST PRACTICES**: Select different retention periods depending on the granularity of the statistical data: + +- Aggregated values per hour are used to analyze a metric over a short period of time. They take up a lot of disk space. You may not + need to keep these statistics for more than two or three months. + +- Beyond five or six months, you may only need to view the trend for availability or performance statistics. + You could then retain daily aggregate data for up to six months, for example, and set up retention of monthly aggregate data for a period of several dozen months. + +Please proceed to the next section to continue the installation. + +### ETL: Execution + +> Before continuing, make sure you have installed the MariaDB configuration file as described above in the prerequisites. Configure +> and enable data retention so that only the required data is imported and calculated. + +#### Reconstruction of statistics from historical data + +Run the following command on the reporting server. This will: + +- Delete all existing data from the reporting server. +- Import raw monitoring data from the monitoring server to the reporting server (depending on retention settings). +- Fill tables containing availability statistics for hosts and services. +- Fill tables containing performance and capacity statistics for hosts and services. + +```shell +/usr/share/centreon-bi/bin/centreonBIETL -r +``` + +#### Enable daily script execution + +Once the data rebuilding process is complete, you can enable the calculation of statistics. +On the reporting server, edit the file **/etc/cron.d/centreon-bi-engine** and uncomment the following line: + +```shell +#30 4 * * * root /usr/share/centreon-bi/bin/centreonBIETL -d >> /var/log/centreon-bi/centreonBIETL.log 2>&1 +``` + + + + +Restart the cron service on the reporting server: + +```shell +systemctl restart crond +``` + + + + +Restart the cron service on the reporting server: + +```shell +systemctl restart cron +``` + + + + +> Make sure that the **centreonBIETL** batch only starts after the **eventReportBuilder** +> batch has finished on the monitoring server (check the **/etc/cron.d/centreon** cron file on the monitoring server). + +The installation of Centreon MBI is now complete. See [the tutorial](../getting-started/analyze-resources-availability.md). diff --git a/versioned_docs/version-25.10/reporting/introduction.md b/versioned_docs/version-25.10/reporting/introduction.md new file mode 100644 index 000000000000..23d7c44386a3 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/introduction.md @@ -0,0 +1,86 @@ +--- +id: introduction +title: Introduction to Centreon MBI +--- + +## Complete reporting with Centreon MBI + +The reporting capabilities in Centreon rely on the **Centreon Monitoring Business Intelligence (MBI)** extension. +You also have simple reporting capabilities described below. + +> Centreon MBI is a Centreon **extension** that requires a valid [license](../administration/licenses.md). To +> purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +Centreon Monitoring Business Intelligence (MBI) is a software tool +designed to help business users make critical decisions and to +facilitate management of an IT environment. Centreon MBI analyzes data +from monitored events, performance counters and capacity accessed from +the Centreon Enterprise Monitoring Solution (EMS), providing you with +full visibility of your infrastructures and application activities +through *ITIL compliant* reporting. + + +Generate insightful statistics using our 30+ reports designs\... + +![image](../assets/reporting/first_page.png) + +Centreon MBI provides a full package of standard reports that address: + +- Capacity planning and management +- Availability management +- SLA (Service Level Agreement) management +- Performance management. + +**Here are some examples of reports available in Centreon MBI**: [Reports examples](../assets/reporting/Centreon-MBI-Sample-Reports.pdf) + +or simply create your own reporting dashboard using our widgets. + +![image](../assets/reporting/dashboard.png) + +Main features: + +- Scheduling and generation of standalone reports in PDF, Excel, Word + and Powerpoint formats +- Visualization of web & interactive statistics using reporting + widgets that are Centreon-compatible +- Publication of reports by e-mail and other standard protocols (FTP, + CIFS, etc.) +- Access control to reports +- Administration and user interface integrated into Centreon +- Report development libraries + +## Simple reporting + +The availability reports concerning objects monitored via the Centreon Web interface +can display the availability rates of hosts, a hostgroup, or a servicegroup over a selected period. + +To access the availability reports: + +- Go to **Reporting > Dashboard**. +- In the left menu, click **Host**. +- Select a host from the **Host** list. + +![image](../assets/reporting/os-reporting/os-host-reporting.png) + +- The **Reporting Period** lets you select a predefined period or define it manually using **From** to **to** fields. +- The **Host state** table displays the availability rates of objects. +- The **State Breakdowns For Host Services** table displays the availability of linked objects. +- The timeline provides a quick and intuitive overview of the status of the object. + +![image](../assets/reporting/os-reporting/os-host-timeline.png) + +Click a day in the timeline to obtain the report for that day: + +![image](../assets/reporting/os-reporting/os-host-tooltip.png) + +It is also possible to view web reports: + +* The groups of hosts: Click **Host Groups** in the left menu +* The groups of services: Click **Service Groups** in the left menu + +The CSV icon is used to export data to a CSV file. + +![image](../assets/reporting/os-reporting/os-csv.png) + +> You can also see the availability of a service by clicking the service name in the host or servicegroup report. \ No newline at end of file diff --git a/versioned_docs/version-25.10/reporting/migrate.md b/versioned_docs/version-25.10/reporting/migrate.md new file mode 100644 index 000000000000..59fb1995e4ac --- /dev/null +++ b/versioned_docs/version-25.10/reporting/migrate.md @@ -0,0 +1,59 @@ +--- +id: migrate +title: Migrate the extension +--- + +This chapter explains how to move your reporting server to another +one (e.g. if you want to switch to another supported OS). + +The migration of the interface extension is done at the same time as the migration of the central server. + +## Install the new reporting server + +Install your new reporting server based on the Centreon Business +repository using the [standard documentation](installation.md). + +## Synchronizing files & data + +Stop mysqld on **both** Reporting servers + + service mysql stop + +Copy data from the old reporting server to the new one: + + rsync -avz /var/lib/mysql/* root@IP_New_Reporting_Server:/var/lib/mysql/ + +Execute the following command to ensure compatibility of the database files: + + mysql_upgrade + +- If no error is visible, restart MariaDB/MySQL and continue to the section + "Move generated reports" +- If you see errors, especially on the following tables mysql + innodb_index_stats, innodb_table_stats, gtid_slave_pos, it + might be caused by an incompatibility between MySQL/MariaDB 5.5 and + MariaDB 10.11. In that case, follow the procedure below: + + service mysql stop + cp -a /var/lib/mysql/ /var/lib/mysql.bak + cd /var/lib/mysql/mysql/ + rm innodb_index_stats.frm innodb_index_stats.ibd innodb_table_stats.frm innodb_table_stats.ibd gtid_slave_pos.frm gtid_slave_pos.ibd + service mysql start + + Then manually recreate the tables: + + mysql mysql < repair_mysql_upgrade.sql + + Download the following file: [repair_mysql_upgrade.sql](../assets/reporting/administrate/repair_mysql_upgrade.sql) + + +> Be sure to copy the the custom report & resources you designed to your +> new reporting server in the same folders. + +## Move generated reports + +In case you also move your Centreon central server, you need to +synchronize the folders containing generated reports on your new +Centreon server to be able to have them on the interface: + + rsync -avz /var/lib/centreon/centreon-bi-server/archives/ root@IP_New_Centreon_Server:/var/lib/centreon/centreon-bi-server/archives/ diff --git a/versioned_docs/version-25.10/reporting/report-development.md b/versioned_docs/version-25.10/reporting/report-development.md new file mode 100644 index 000000000000..74fe6b3a0f91 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/report-development.md @@ -0,0 +1,659 @@ +--- +id: report-development +title: Report development +--- + +Compatibility: BIRT 4.4.2 + +This quick start guide presents the best practices for developing +reports using Business Intelligence and Reporting Tools (BIRT). It is +intended for developers who wish to create reports using BIRT and +Centreon MBI. Knowledge of the SQL language is a prerequisite. + +This documentation does not describe how to reuse Centreon MBI +development libraries. + +This guide introduces: + +- The main concepts of BIRT. +- The different steps in creating a BIRT report project. + +BIRT is a report design tool. It allows you to: + +- Use multiple data sources. +- Extract relevant data for your report from these sources. +- Format (graphically design) the report. + +BIRT enables you to visualize your business data as statistics in the +form of tables or graphs. Although BIRT allows you to manipulate +different data sources within the same report, we advise against it when +performing heavy calculations or aggregations. Extract Transform Load +(ETL) software is more suitable for that purpose. + +![1000000000000454000001517ADB9749.png](../assets/reporting/dev-guide/1000000000000454000001517ADB9749.png) + +This guide will only describe basic BIRT concepts and methods for +designing reports (blue box in the above diagram). + +## BIRT Concepts + +### Data sources + +When designing a report, you may require several data sources from a +number of storage systems accessible through different protocols: + +- Delimited flat files (CSV). +- JDBC data sources (MariaDB, etc.). +- XML files. +- Web services. + +BIRT also allows you to script your own data sources accessed by Java or +Javascript objects. + +We highly recommend collecting and consolidating report data into a +single type of data source, and storing it as such (e.g., a MariaDB data source). +Multiplying your data sources in a report might have an impact on +performance and maintenance. You are advised not to use more than two +types of data source in the same report project (e.g., JDBC and CSV). + +Configuration of a data source: + +![10000000000003DE000001E25067D84F_png](../assets/reporting/dev-guide/10000000000003DE000001E25067D84F.png) + +### Data sets + +You may want to extract a data sample from an application database or a +large CSV file. The BIRT "data set" allows you to write queries or +select specific data from simple or complex data sources. + +The different data sets defined in a report will contain all the +available data to build the visuals in the report (e.g., tables and +charts). + +![100000000000053D00000175C278E199_png](../assets/reporting/dev-guide/100000000000053D00000175C278E199.png){width="18.401cm" +height="5.117cm"} + +### Data binding + +Once the data set is created, the selected data must be formatted in the +report. To populate a graph or a table with data, you will need to +perform a "data binding" operation between a data set and a graphic +component, such as a table or chart. + +Data binding will copy the structure of the data set into the +configuration of the graphical component. The complete structure +(columns) of a data set does not need to be copied to the layout, only +the required columns. + +Data binding is performed when you create a table or chart: + +![100000000000010E00000111F1CD232C_png](../assets/reporting/dev-guide/100000000000010E00000111F1CD232C.png) +![1000000000000226000001CF01C06F25_png](../assets/reporting/dev-guide/1000000000000226000001CF01C06F25.png) + +If you modify the structure of the data set, you will need to manually +edit the graphical component and apply this change (e.g., when +extracting a new column from the data set to be used in a previously +created chart): + +![1000000000000350000001F5878A240B_png](../assets/reporting/dev-guide/1000000000000350000001F5878A240B.png) + +### Report parameters + +Report parameters are global variables that are specific to each report. +Declared before generating the report, they are used instead of static +values to create dynamic content. For example, a report can be generated +for: + +- A specific time period defined using two parameters (types "Date" + and "Time") identifying the period start and end dates. +- A specific host group specified by a report parameter. + +Therefore, using report parameters will allow you to use the same report +design to display different statistics depending on the parameters +(e.g., the same Centreon Availability report used for different host +groups and different reporting periods). + +### Report layout + + +#### Grid + +The grid component is mainly used to organize graphical components on +the report. + +![10000000000003560000017FAF18FEC1_png](../assets/reporting/dev-guide/10000000000003560000017FAF18FEC1.png) + +Best practice: Insert each report component (e.g., chart, table, label, +text) into a grid cell. + +#### Table + +The table is used to display dynamic content in a row-and-column format. +The values of a table vary according to the data set used for the data +binding. + +##### Table structure + +> ![10000000000002D9000000636D5BE18A_png](../assets/reporting/dev-guide/10000000000002D9000000636D5BE18A.png) + +- **Header:** Displays the column title or dynamic summary information + calculated according to the listed values in the detail rows. The + header row can be repeated at the beginning of each section if the + table is displayed over several pages. +- **Detail row:** A new detail row will be created to display each row + of the data set (to which the table is bound). +- **Footer:** Summary information, such as total or average values + from the detail rows, can be displayed once in the last line of the + table. + +##### Grouping & aggregating data + +A data set can return a large number of rows. You can sort and organize +these rows using the table's grouping function. Each group will add two +rows to the table: + +- **Group header:** Initializes and identifies each entry. Allows + statistics to be calculated using this data group. + +- **Group footer:** Delimits the end of each entry. Also allows the + data group to be used for calculations. + + ![10000000000005F2000001A26D1A36C8_png](../assets/reporting/dev-guide/10000000000005F2000001A26D1A36C8.png) + +#### Charts + +A chart can be created in three steps: + +##### Selecting the graph type + +![10000000000004390000025A137B95A5_png](../assets/reporting/dev-guide/10000000000004390000025A137B95A5.png) + +##### Binding the data + +There are two ways to "bind" data to a chart: + +- Link the data set directly to the chart. +- Insert the chart into a table cell. This will allow the chart to + "inherit" the data from the table, thus binding it. + +Data inheritance from a parent component is required if you decide +to reuse data groups and aggregated data in a chart. + +![10000000000003CF00000251408B7FE1_png](../assets/reporting/dev-guide/10000000000003CF00000251408B7FE1.png) + +##### Formatting the chart + +![10000000000004190000025ABC2D698F_png](../assets/reporting/dev-guide/10000000000004190000025ABC2D698F.png) + +### BIRT Libraries + +A report can contain a large number of components (data sources, data +sets, charts, tables). When stored in a shared library, components +developed for one report can be used in others. + +BIRT libraries (.rptlibrary files) store shared components. Libraries +are useful for: + +- Saving time when developing a report. +- Easy maintenance of reports. A bug fix or modification of a + component in the library will be applied to every report sharing + this component. +- A component from a library can be "overloaded" in a report as an + override in order to change its appearance or variable parameters. + +Operating principle: + +- Each report project has a specific folder that stores all the shared + resources (e.g., images, BIRT rptlibrary files, CSS files) to be + accessed in the report through a relative path. +- You can navigate using the "resource explorer" panel in Eclipse + BIRT in the resource (rptlibrary) and drag-and-drop the component + you need to import into the report. +- Each component imported from a library is marked by a specific icon + in the report. + +![10000000000003340000018F33DF4032_png](../assets/reporting/dev-guide/10000000000003340000018F33DF4032.png) + +### BIRT Templates + +The report templates (.rpttemplate) serve a different function than the +report libraries. The purpose of a report template is to provide a +starting point for a new report. A report template can contain the +following: + +- The layout for a new report +- Master pages (headers and footers) +- Data sources +- Data sets +- Graphical components +- Scripting. + +When you start to develop a new report, you can borrow every reusable +component from a template. Components can also be imported from BIRT +libraries. + +A new report has no relationship with the original template whose +content has been borrowed. Therefore, any change made to that template +cannot affect the reports that use it. + +## Preparing the development environment + +### Creating a workspace + +When you first launch Eclipse BIRT, you will need to create a workspace +to hold your BIRT reporting projects. We recommend that you create a +workspace directory that is separate from the Eclipse BIRT installation +(system) directory. This type of configuration will allow you to change +the BIRT version easily without affecting your project folders. + +After creating the workspace and before starting to design any report, +you must create a BIRT project containing two main directories: + +- / reports: Contains all your reports (.rptdesign files). +- /Resources: Contains any files or components that will be made + accessible to your reports through relative paths. + +### Creating a new project + +To create a BIRT report project, select "File > New > Other +projects", and then, in the wizard window, select "Report project": + +![image](../assets/reporting/dev-guide/100000000000030C0000029D554D9D2B.png) + +After creating the project, add your two main folders with a right-click +on the project displayed in the "Navigator" tab panel: + +![image](../assets/reporting/dev-guide/1000000000000565000001F097833544.png) + +Now, copy the contents of the reports *(/usr/share/centreon-bi/reports)* +and resources *(/usr/share/centreon-bi/Resources)* directories on the +reporting server into the two folders you created in your project. + +#### The resources folder + +For each BIRT project created in this workspace, you will need to +define, in project properties, the location of the corresponding +Resources folder. + +This will allow the shared components (e.g., datasources, data sets, +report parameters and layout components from BIRT libraries, as well as +BIRT report templates and image or flat files) to be referenced in +reports through the "Resource Explorer" panel: + +![image](../assets/reporting/dev-guide/10000000000003340000018F33DF4032.png) + +Each component imported from "Shared resources" into the report +(.rptdesign file) will be referenced through a relative path. This will +enable you to migrate your project into another workspace or Centreon +MBI reporting server without indicating the full path of your installed +workspace. + +For example, if your workspace is located in +C:DocumentsusernameCentreon-Bi-WorkspaceMyFirstProject, only +the subfolders and files in your project "MyFirstProject" need to be +set. + +To define the shared-resource folder in the project environment, +right-click your project in the Navigator panel, and then select +Properties. Set the resource folder as "`/Resources/`". +Because the pattern "``" +is a variable that will be set automatically by Eclipse, there is no +need to write the project path explicitly. + +![image](../assets/reporting/dev-guide/10000000000003600000025556C97DB4.png) + +> You will have to repeat this procedure every time: +> +> - You export and import the project into another workspace. +> - You create a new project. + +### Connecting to databases + +#### Introduction + +Information for connecting to databases is defined in the following two +files: + +- /etc/centreon-bi/cbis-profile.xml +- /etc/centreon-bi/reports-profile.xml + +Copy both of these files to your workstation. + +In each of these .xml files, you must update the IP addresses for both +the Centreon database ("Centreon") and for the Centreon storage +database ("Censtorage"). + +- cbis-profile.xml file should contain the addresses of the monitoring + database server. +- reports-profile.xml should contain the addresses of the reporting + database server. + +Update the username and the password of these files, if necessary. + +From your workstation, grant the appropriate privileges for the defined +users to connect to the above servers. + +#### Configuring the L2_datasources library + +> **Warning** +> +> Never upload the L2_Datasource.rptlibrary file to your reporting +> server. This will delete the configuration for connection to the MariaDB/MySQL +> server and cause Centreon MBI (for ETL & report generation) to crash. + +All standard reports use the library L2_datasources to connect to data. +Therefore, this library must point to the appropriate servers +(monitoring DB and the reporting DB servers). + +You must then link the L2_datasource library to the updated profile +files on your workstation. + +To do so, double-click the library L2_datasource. The library opens +in your workspace. + +![image](../assets/reporting/dev-guide/db_conn_1.png) + +![image](../assets/reporting/dev-guide/db_conn_2.png) + +Click "Outline" and expand the "Datasources". + +![image](../assets/reporting/dev-guide/db_conn_3.png) + +The datasources used in Centreon MBI standard reports are listed.* + +Double-click the "Datasource" in Centreon, and the following pop-up opens: + +![image](../assets/reporting/dev-guide/db_conn_4.png) + +In "Connection Profile Store" select the path to the +report-profile.xml file on your workstation, and validate. + +The following pop-up opens: + +![image](../assets/reporting/dev-guide/db_conn_5.png) + +All the datasources present in the file are listed. + +In this example, two datasources are listed: - Censtorage - Centreon + +Select Centreon, and then click the "BIRT JDBC Datasource". + +![image](../assets/reporting/dev-guide/db_conn_6.png) + +The information defined in the XML file is read. + +Click "Test Connection". A pop-up appears, displaying the message +"Connection successful". + +![image](../assets/reporting/dev-guide/db_conn_7.png) + + +> In case of an error message indicating a missing driver, add the MariaDB/MySQL +> driver ( .jar) from the "Manage drivers" menu. +> +> ![image](../assets/reporting/dev-guide/db_conn_8.png) +> +> ![image](../assets/reporting/dev-guide/db_conn_9.png) + +This operation should only be performed once for the project. +::: + +**Repeat the same procedure for these datasources: centreon_storage, +centreon_live et centreon_storage_live**. + + Datasource | Profile file | Profile to use +--------------------|-----------------------|---------------- +| Censtorage | creports-profile.xml | Censtorage +| Centreon_Live | cbis-profile.xml | Centreon +| Censtorage_Live | cbis-profile.xml | Censtorage + +### Generating a standard report + +To generate a standard report from the interactive development +environment, double-click the report to open it. + +![image](../assets/reporting/dev-guide/gen_report_1.png) + +Once the report is open, click "View report" to select the output +format: + +![image](../assets/reporting/dev-guide/gen_report_2.png) + +A pop-up opens, asking for the report parameters to be filled in. + +![image](../assets/reporting/dev-guide/gen_report_3.png) + +The report will be generated according to the parameter criteria +selected, in the desired output format. + +![image](../assets/reporting/dev-guide/gen_report_4.png) + +## Developing your own reports + +### Using Centreon report templates + +To make sure the reports you develop with BIRT are compatible with +Centreon MBI, you must use the template provided by Merethis as a +starting point. This template, called +"generic_component_script.rpttemplate", is stored in +/usr/share/centreon-bi/Resources/templates (default template directory). +Using this template is mandatory because it adds certain scripting to +your report that is required for it to function on our platform. + +To use this template in your BIRT report: + +- Download the file from the reporting server to the "Resources" + folder of your BIRT project: + /Resources/templates/generic_component_script.rpttemplate +- Right-click the template and select "Register Template with New + Report Wizard". + +![image](../assets/reporting/dev-guide/registerTemplate.png) + +- For each new report you create, select the name and click *Next* + to access the template window. +- Select the template called "Component template" and click + "Finish". + +![image](../assets/reporting/dev-guide/componentTemplate.png) + +### Define the project structure + +We highly recommend defining and applying standard conventions for: + +- Creating a directory tree for reports and resources. +- Naming directories and files. +- Naming components in BIRT libraries, templates and reports. + +**Naming and organizing files in a consistent and descriptive way will +help you to maintain and update your projects.** + +The following information in this chapter discusses the standards +defined by Centreon. + +### Report designs (RPTDESIGN) + +- Each report is stored in a folder or subfolder of the main + "reports" folder. The name of a folder should be defined according + to the type of statistics processed in the report: + - Capacity + - Availability + - Performance. +- Reports whose parent folder is the main folder "reports" have been + deprecated since Centreon MBI version 1.5. +- All components of a report (e.g., layout, dataset) are imported from + a BIRT library. +- Each report must be created from a BIRT report template, which uses + scripting to manage the multi-select parameters and Cascading Style + Sheets (CSS). + +### Resources + +The Centreon MBI shared resource directory (/Resources) contains four +subdirectories: + +- /images: Contains images used in reports. +- /templates: Contains the BIRT templates used as a starting point for + any report. +- /translations: Contains the localization (foreign language + translation) files. +- /components: Contains all the BIRT libraries (.rptlibrary) organized + into subdirectories named meaningfully according to the reports + (e.g., capacity, performance). + +### Libraries + +Some libraries are stored directly under the "/components" directory, +without any classification into subdirectories. These libraries contain +components that may be reused in other libraries, but also in reports: + +- /datasources: Contains all the datasources that will be used for the + entire report project. Avoid defining datasources in multiple files + in order to simplify the maintenance of your project (in case you + change development or production environments). +- /parameters: Contains all the report parameters that will be + required in the reports. +- /masterpages: Stores the different masters (headers and footers) + that will be reused in the reports. + +The potentially large number of components in the libraries can make +navigating for a specific component complicated. To simplify the way +components are organized, ask yourself the following questions: + +- What kind of statistic are you looking for? + - Capacity? Performance? Availability? Open the subfolder named + according to your requirement. +- What type of object do you need when designing your report? + - A host? A single host group? Several host groups? You will find + this information in the descriptive name of the ".rptlibrary" + file. +- Do you require a data set? With what kind of parameters? + - All the data sets are listed in the "Data explorer" panel. + - The name of each data set is prefixed by a code. Each digit in + this code signifies an object (e.g., hostgroup, host, service + category, host category, metric, timeperiod) and can vary from 0 + to 2: + - 0: The object is not used as a parameter. + - 1: A single value is expected. + - 2: A list of multiple values is expected. +- Do you require a graphical component? With which parameters? + - All graphical components are listed in the "Outline" panel in + the menu "Report Items". + - The name of each component is prefixed by a code using the same + naming convention as the data set (see above). + - The name of the component is suffixed with the component type + (e.g., graph, text, table) + +**Warning** +> +> Do NOT modify any of the original standard report templates or +> libraries. + +## Deploying a report on Centreon MBI + +Centreon MBI provides scheduling and publishing functionality for BIRT +reports. Once you have designed your report, you will not need to use +Eclipse BIRT to generate your reports. Non-technical users will be able +to run the reports in a few clicks from the Centreon graphical user +interface (GUI) without having to resort to Eclipse BIRT. + +Steps for deploying a report on Centreon MBI: + +### Create the XML file describing the required parameters + +Each RPTDESIGN file that you create contains different report +parameters. To display them in the Centreon MBI GUI and be able to use +them, you must define an XML file that will dynamically generate a +parameter tab. + +When creating a new report design on the interface, you must associate +it with the XML parameter file. Three types of object can be defined in +this XML file: + +> - Text tags to allow users to type in their own text: +> +> - Selection tags: +> - Multi-select tags: . + +Each of these sets of markup tags has several possible attributes: + + Attribute | Description | text | select | multiselect + --------------|-----------------------------------------------------------|-------|--------|----------------- + id | Name of the parameter in the report (report parameter) | X | X | X + title | Description field displayed next to the parameter | X | X | X + data | Data to display in the parameter | X | X + size | Size of the text field | X + +Below are the possible values for the **data** attribute: + + **Value** + +- host +- hostgroup +- hostcategory +- servicegroup +- servicecategory +- metric +- businessview +- businessactivity +- liveservice* +- timeperiodBA + +\**liveservice corresponds to the business time period (i.e: 24x7)* + + +> Single- and multiple-selection lists are restricted through Centreon +> ACLs. Users with restrictions on Centreon resources will also be +> restricted on the Centreon MBI interface. + +> **Warning** +> +> If you want to use our default date picker and use the date parameter +> (cyclical or on-demand) in your report, you must use the two "known" +> parameters, "dateStart" and "dateEnd". + +Below is an example of an XML file (Host-detail-2): + +``` XML + + + + + + + + + +``` + +### Deploy the report + +#### On the reporting server + +Copy your report design to the reporting server. The "reports" and +"Resources" folders are found in the main Centreon MBI folder. The +directory tree for your reports and resources must be same as in your +Eclipse BIRT project. + +#### On the monitoring server + +In the "Reporting > Business Intelligence > Report designs" menu on +Centreon, add the new report design, and define the following +properties: + +- A name for the report design +- The report location on the reporting server (relative path under /usr/share/centreon-bi/reports) +- An XML source file that will describe the report parameters of the previously created report design. + +### Running the report job + +In the **Reporting > Business Intelligence > Jobs** menu, define a job +to run your report design, and fill in all the specific report +parameters. diff --git a/versioned_docs/version-25.10/reporting/reports-publication-rule.md b/versioned_docs/version-25.10/reporting/reports-publication-rule.md new file mode 100644 index 000000000000..c1d6ec23a15c --- /dev/null +++ b/versioned_docs/version-25.10/reporting/reports-publication-rule.md @@ -0,0 +1,94 @@ +Report publication rules {#publication_rules} +========================= + +The \"Reporting \> Business Intelligence \> Publication rules\” menu +allows you to publish the reports generated by CBIS on different +platforms using different protocols. + +In order to publish all the generated reports on the monitoring server, +a default rule must be defined using SFTP. + +On the monitoring server +------------------------ + +A system user \"centreonBI\" user has been created. Set a password for +this user for future SSH communications between the two servers: + + passwd centreonBI + +On the reporting server +----------------------- + +Generate SSH keys for the system user \"centreonBI\" in order to avoid +using the password when CBIS copies the generated reports onto the +monitoring server.: + + su - centreonBI + ssh-keygen + Enter file in which to save the key (/home/centreonBI/.ssh/id_rsa): + > Created directory '/usr/local/centreon-bi/.ssh'. + > Enter passphrase (empty for no passphrase): + > Enter same passphrase again: + > Your identification has been saved in /home/centreonBI/.ssh/id_rsa. + +::: {.note} +::: {.title} +Note +::: + +At the \"Enter passphrase\" request, confirm without entering a +passphrase. +::: + +Transfer the key to the **Centreon** server. The **centreonBI** user +must be configured with a password on the monitoring server): + + ssh-copy-id -i ~/.ssh/id_rsa.pub centreonBI@{MONITORING_IP_ADDRESS} + +Test the SSH connection from the reporting server: + + ssh centreonBI@{MONITORING_IP_ADDRESS} + +You should be able to connect without entering any password. + +On the interface Centreon +------------------------- + +In the \"Reporting \> Business Intelligence \> Publication rules\" menu of +Centreon, edit the \"default\" publication rule and specify the +following configuration: + + -------------------------------------------------------------------------------- + **Field** **Value** + -------------------------------- ----------------------------------------------- + Name Default + + Publication protocol SFTP + + Global \(x\) Yes + + Description Default publication rule + + Host **\** + + Port 22 + + Authentication type User/Key + + User centreonBI + + Path to the SSH key /home/centreonBI/.ssh/id\_rsa + + Passphrase for SSH key + + Confirm passphrase for SSH key + + Root directory /var/lib/centreon/centreon-bi-server/archives + + Subdirectory \@JOBNAME@ + -------------------------------------------------------------------------------- + +Click the \"Test\" button to validate the configuration and save the +form. + +Go to the next chapter to continue the installation. diff --git a/versioned_docs/version-25.10/reporting/update.md b/versioned_docs/version-25.10/reporting/update.md new file mode 100644 index 000000000000..54df47e8fbb6 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/update.md @@ -0,0 +1,93 @@ +--- +id: update +title: Update the extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +Centreon MBI is updated in two steps: + +- Updating the extension interface +- Updating the reporting server + +## Update the extension interface + +1. Update the package, run the following commands: + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +apt clean +apt --only-upgrade install centreon-bi\* +``` + + + + +2. Update through the interface: Log on to the Centreon web interface, go to +the **Administration > Extension > Manager** page and click the +Update button to update the extension and the widgets. + +## Update the reporting server + +Connect to your reporting server and stop the scheduler service (CBIS): + +```shell +systemctl stop cbis +``` + +Then run the following commands: : + + + + +```shell +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +apt clean +apt --only-upgrade install centreon-bi\* +``` + + + + +Start the scheduler service: + +```shell +systemctl start cbis +``` + +MBI is now updated. + +> Follow this procedure if [you get an error due to a column update issue](../resources/known-issues.md#you-get-some-errors-during-daily-import-and-statistic-calculation) in the database. diff --git a/versioned_docs/version-25.10/reporting/upgrade.md b/versioned_docs/version-25.10/reporting/upgrade.md new file mode 100644 index 000000000000..140ce6141923 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/upgrade.md @@ -0,0 +1,166 @@ +--- +id: upgrade +title: Upgrade the extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> When updating from version < 18.10 to a version >= 18.10, you need to +> +> - Retrieve a new license from Centreon support +> - Make sure your Centreon MBI server is based on CentOS/RH 7. You may use the +> following procedure to migrate your server: [Migrate your +> reporting server](migrate.md) + +The upgrade of Centreon MBI consists of four steps: + +- Updating the repository +- Updating the extension interface +- Updating the reporting server +- Updating the MariaDB database + +## Prerequisites + +### Upgrade your central server + +See [Introduction to upgrade](../upgrade/introduction.md). + +### Update the RPM signing key + +On EL8, for security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation) to remove the old key and install the new one. + +## Step 1: Update the repository + +When you upgrade from a previous major version to 24.10.x, you first need to update the repository on your Central & Reporting servers. + +You will find the new "Business" repository on the "Repositories" page in your [Centreon Support account](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +## Step 2: Upgrade the extension interface + +1. Update the package, run the following commands: + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +dnf clean all +dnf update centreon-bi-server +``` + + + + +```shell +apt clean +apt install --only-upgrade centreon-bi-server +``` + + + + +2. Update through the interface: Log on to the Centreon web interface, go to +**Administration > Extension > Manager** and click the +Update button to update the extension and the widgets. + +## Step 3: Upgrade the reporting server + +### Java version requirement + + > Ensure a version of Java 17 (or 18) is installed before you start the procedure. + + - If you need to check the Java version, enter the following command: + + ```shell + java -version + ``` + + - If you need to upgrade the Java installation to Java 17 (or 18), go to the [Oracle official download](https://www.oracle.com/java/technologies/downloads/#java17) page. + + - If several Java versions are installed, you need to activate the right version. Display the installed versions using the following command and select the Java 17 (or 18) version: + + ```shell + sudo update-alternatives --config java + ``` + + Then restart the service: + + ```shell + systemctl restart cbis + ``` + +### Upgrade procedure + +Now you can start the upgrade process: + +1. Connect to your reporting server and stop the scheduler service (CBIS): + + ```shell + systemctl stop cbis + ``` + +2. Then run the following commands: + + + + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-9.noarch.rpm +dnf clean all +dnf update centreon-bi\* +``` + + + + +```shell +apt clean +apt install --only-upgrade centreon-bi-reporting-server +``` + + + + +3. Start the scheduler service: + + ```shell + systemctl start cbis + ``` + +4. Start and enable **gorgoned**: + + ```shell + systemctl start gorgoned && systemctl enable gorgoned + ``` + +## Step 4: Upgrade the MariaDB database + +1. Stop the **cbis** service: + + ```shell + systemctl stop cbis + ``` + +2. See [Upgrading MariaDB](../upgrade/upgrade-mariadb.md). + +3. Start the **cbis** service: + + ```shell + systemctl start cbis + ``` diff --git a/versioned_docs/version-25.10/reporting/widgets.md b/versioned_docs/version-25.10/reporting/widgets.md new file mode 100644 index 000000000000..71dd7dfa6748 --- /dev/null +++ b/versioned_docs/version-25.10/reporting/widgets.md @@ -0,0 +1,536 @@ +--- +id: widgets +title: Widgets +--- + +Centreon MBI widgets are used in Centreon [custom views](../getting-started/create-custom-view.md). This means you can now use dashboards to create real-time AND +reporting statistics (e.g., for availability, applications, and +performance). + +![image](../assets/reporting/guide/dashboard.png) + +A list of available widgets appears below. + +> To update ACLs, click "Update ACL Resources" in the "Report +> Parameters" menu under the Centreon MBI general options. + +## Availability & events + +### Hostgroups availability by hostgroups by month + +#### Description + +This widget displays the availability of hosts belonging to a host +group, by month. + +![image](../assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month.png) + +#### Parameters + +**Menu description** + +- Select the group: Specify host group for displaying statistics. +- Type the name of host categories to filter on: Indicate one or more + host categories. Separate multiple entries by a comma. +- Type the name of the reporting period you want to use (must be + calculated by Centreon BI): Make sure the reporting period is + preconfigured in MBI. +- Chart type: Indicate type of graph. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hgs-availability-by-hg-graph-month_param.png) + + + +### Hostgroup availability by host by day + +#### Description + +This widget displays the availability of hosts belonging to a host +group, by day. + +![image](../assets/reporting/guide/mbi-hg-availability-by-host-graph-day.png) + +#### Parameters + +**Menu description** + +- Select the group: Specify host group for displaying statistics. +- Type the name of host categories to filter on: Indicate one or more + host categories. Separate multiple entries by a comma. +- Type the name of the reporting period you want to use (must be + calculated by Centreon MBI): Make sure the reporting period must be + preconfigured in MBI. +- Select the reporting period. +- Chart type: Indicate type of graph. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hg-availability-by-host-graph-day_param.png) + +### Hostgroup availability by host categories by month + +#### Description + +This widget displays the availability of hosts belonging to a host +group, segmenting the hosts by category and by month. + +![image](../assets/reporting/guide/mbi-hg-availability-by-hc-graph-month.png) + +#### Parameters + +**Menu description** + +- Select the group: Specify host group for displaying statistics. +- Type the name of host categories to filter on: Indicate one or more + host categories. Separate multiple entries by a comma. +- Type the name of the reporting period you want to use (must be + calculated by Centreon BI): Make sure the reporting period is + preconfigured in MBI. +- Chart type: Indicate type of graph. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hg-availability-by-hc-graph-month_param.png) + +### MTBF and MTRS by service {#mbi-hgs-hc-by-service-mtbf-mtrs} + +#### Description + +This widget provides information on the reliability (MTBF) and +maintainability (MTRS) of your services as well as the level of your +team's efficiency when managing downtime (MTTA). Data is shown as a top +N aggregate statistic. Additional information such as current status, +availability, number of events and last state change are also provided to +help in decision-making. + +- MTBF (mean time between failures) represents the average duration + between two DOWN states. The longer the duration, the more reliable + the service. +- MTRS (mean time to restore service) is the average duration between + two failures. Services with good maintainability have a short MTRS. +- MTTA (mean time to acknowledge) is the average duration for + acknowledging DOWN states. The average is calculated only on + acknowledged events. + +![image](../assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs.png) + +#### Parameters + +**Menu description** + +- Type name of group(s) (separate with ,): Indicate host group for + displaying statistics. +- Type the name of host categories to filter on (separate with ,): + Indicate one or more host categories. +- Type the name of service categories to filter on (separate with ,): + Specify one or more service categories. +- Number of host-services to display. +- Select the reporting period. +- Order By MTBF, MTRS or MTTA. +- Type the name of the reporting period you want to use (has to be + calculated by Centreon MBI): Make sure the reporting period must be + preconfigured in MBI. +- Display severities/availability/MTBF/MTRS/MTTA/critical + events/warning events/last change: Shows or hides these columns. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hgs-hc-by-service-mtbf-mtrs_param.png) + + +### MTBF and MTRS by Host + +#### Description + +This widget provides information on the reliability (MTBF) and +maintainability (MTRS) of your hosts as well as the level of your team's +efficiency when managing downtime (MTTA). Data is shown as a top N +aggregate statistic. Additional information such as current status, +availability, number of events and last state change are also provided to +help in decision-making. + +- MTBF (mean time between failures) represents the average duration + between two DOWN states. The longer the duration, the more reliable + the host. +- MTRS (mean time to restore service) is the average duration between + two failures. Hosts with good maintainability have a short MTRS. +- MTTA (mean time to acknowledge) is the average duration for + acknowledging DOWN states. The average is calculated only on + acknowledged events. + +![image](../assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs.png) + +#### Parameters + +**Menu description** + +- Select the group: Specify host group for displaying statistics: + Separate multiple entries by a comma. +- Type the name of host categories to filter on: Indicate one or more + host categories. Separate multiple entries by a comma. +- Number of hosts to display: Maximum number of hosts displayed. +- Select the reporting period. +- Order By MTBF, MTRS or MTTA. +- Type the name of the reporting period you want to use (has to be + calculated by Centreon MBI): Make sure the reporting period must be + preconfigured in MBI. +- Display severities/availability/MTBF/MTRS/MTTA/down events/last + change: Shows or hides these columns. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hgs-hc-by-host-mtbf-mtrs_param.png) + +## Capacity & Performance + +> Services that you want to use in the following widgets need to be categorized at least in one +> service category, for at least one day. + +### Typical metric performance day + +#### Description + +This widget displays a typical 24-hour day of activity for a particular +metric. + +![image](../assets/reporting/guide/mbi-typical-performance-day.png) + +#### Parameters + +**Menu description** + +- Select the service: Select the host followed by the service. +- Type the name of the metric (one metric only): Enter metric + pertaining to a service. +- Base: Base for division (1000 or 1024). +- Chart type: Indicate type of graph. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-typical-performance-day_param.png) + + +### Storage list near saturation + +#### Description + +This widget displays storage space approaching saturation. It also shows +the real-time value and the evolution since the previous day. The +calculation compares the storage values J-X and J. Only used +storage space that increases is shown in this widget. + +![image](../assets/reporting/guide/mbi-storage-list-near-saturation.png) + +#### Parameters + +**Description** + +- Select a hostgroup: Select a host group containing storage services. +- Type the name of a host category to filter on (separate with ,). +- Type the name of a service category to filter on (separate with ,). +- What metric should be used (you can use %): Example: `[used]`()% +- Number of hosts to display: Specify for number of lines in table. +- Display a warning when number of days remaining is less than N: + Estimate the number of days before saturation. A warning icon + appears before reaching this "security" threshold. +- Base the speed calculation on the (Days -x) with X =: Specify day to + compare to current day for calculating the evolution of speed and + saturation. +- Type the name of the time period corresponding to 24x7: Indicate + time period in hours/days. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-storage-list-near-saturation_param.png) + + +### Metric capacity planning + +#### Description + +This widget displays the future evolution of a metric in relation to its +history using linear regression. + +![image](../assets/reporting/guide/mbi-metric-capacity-planning.png) + +#### Parameters + +**Menu description** + +- Select the service: Select the host followed by the service. +- Type the name of the metric (one metric only): Enter metric + pertaining to a service. +- How many historical days should we use to calculate the projection: + This period should show the evolution of the metric. +- Type the name of the reporting period you want to use (must be + calculated by Centreon BI). +- Base: Base for division (1000 or 1024). +- Chart type: Indicate type of graph for availability and performance. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-metric-capacity-planning_param.png) + + + +### Hostgroups performance metric - TOP X + +#### Description + +This widget displays a rating of top performance data by metric (i.e., +current value, average, minimum, maximum, thresholds) for groups and +categories. + +![image](../assets/reporting/guide/mbi-hgs-performances-Top-X.png) + +#### Parameters + +**Menu description** + +- Type the names of groups (separate with ,). +- Type the name of a host category to filter on (separate with ,). +- Type the name of a service category to filter on (separate with + ,). +- Metric name (for multiple metrics, separate them with a comma). +- Type the name of the reporting period you want to use (must be + calculated by Centreon MBI): Make sure the reporting period is + preconfigured in MBI. +- Select the reporting period. +- Order values by: average, minimum or maximum, ascending or + descending. +- Number of metrics to display: Top N to display in terms of metrics. +- Display Current value: Show / hide the column. +- Display Average: Display / hide the column. +- Display Minimum: Display / hide the column. +- Display Maximum: Show / hide the column. +- Display warning threshold: Show / hide the column. +- Display critical threshold: Show / hide the column. +- Display Hostgroups: Show / hide the column. +- Display Hostcategories: Show / hide the column. +- Display ServiceCategories: Show / hide the column. +- Refresh Interval in seconds: Sets automatic refresh time for + widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hgs-performances-Top-X_param.png) + + + +### Hostgroups, categories performance analysis by day + +#### Description + +This widget displays performance data (minimum, average or maximum) by +day over a defined period for groups and categories. + +![image](../assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day.png) + +#### Parameters + +**Menu description** + +- Type name of groups: Separate multiple entries by a comma. +- Type the name of a host category to filter on: Separate multiple + entries by a comma. +- Type the name of a service category to filter on: Separate multiple + entries by a comma. +- Retrieve data with metric name LIKE or IN?: Use this method to + filter on metric name. +- Metric name (for multiple metrics, separate them with a comma): Type + the name of the metric (if filter mode = like) or multiple metrics + (if mode = IN). +- Type the name of the reporting period you want to use (has to be + calculated by Centreon MBI): Make sure the reporting period is + preconfigured in MBI. +- Select the reporting period. +- What value to display in the graph: Use minimum, average or maximum + value. +- Graph height: Graph might need to be resized to include caption. +- Base: Controls conversion to display G, M, K, etc. +- Show subchart?: Show or hide the subchart for zooming in. +- Show legend?: Show or hide the caption. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-hgs-hcs-scs-metric-performance-day_param.png) + + +## Business activity monitoring + +### Business View Availability,Performance and Alerts by month + +*This widget only works with Centreon BAM data.* + +#### Description + +This widget presents a graph showing the availability, performance and +alerts of one Business View (logical grouping of BAs) by month over the +last 12 months. + +![image](../assets/reporting/guide/mbi-bv-availability-graph-month.png) + +#### Parameters + +**Menu description** + +- Select a business view from Centreon BAM. +- Select the reporting period. +- Chart type: Indicate type of graph. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-bv-availability-graph-month_param.png) + + + +### Business Application MTBF & MTRS + +*This widget only works with Centreon BAM data.* + +#### Description + +This widget provides information on the reliability (MTBF) and +maintainability (MTRS) of your critical IT services and applications, +represented in Centreon BAM. Additional information such as current +status, availability, number of events or last state change are also +provided to help in decision-making. Data is shown as a top N aggregate +statistic. + +- MTBF (mean time between failures) represents the average duration + between two DOWN states. The longer the duration, the more reliable + the host. +- MTRS (mean time to restore service) is the average duration between + two failures. Hosts with good maintainability have a short MTRS. + +![image](../assets/reporting/guide/mbi-ba-mtbf-mtrs.png) + +#### Parameters + +**Menu description** + +- Select an application: Select a business view. If left empty, this + field retrieves all BAs (filtered by the ACLs). +- Number of business activities to display. +- Select the reporting period. +- Order By: Sort the result by MTBF or MTRS. +- Type the name of the reporting period you want to use (must be + calculated by Centreon MBI): Make sure the reporting period must be + preconfigured in MBI: If this field is left empty the default + reporting time period for each BA applies. +- Display XXXXX: Shows or hides the specified columns. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-ba-availability-gauge_param.png) + +### Business Application Availability (Gauge) + +*This widget only works with Centreon BAM data.* + +#### Description + +This widget displays the availability of one BA, its SLAs (if available) +for the selected reporting period and the current BA level. If you +select a reporting period for which there is no data, such as "Current +month" on the first day of the month, the current available level is +displayed on the graph. + +![image](../assets/reporting/guide/mbi-ba-availability-gauge.png) + +#### Parameters + +**Menu description** + +- Select an application: Select a BA from Centreon BAM. +- Select the reporting period. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-ba-availability-gauge_param.png) + +### Business Application Availability, Performance and Alerts by day + +*This widget only works with Centreon BAM data.* + +#### Description + +This widget presents a graph showing the availability, performance and +alerts of one BA per day. + +![image](../assets/reporting/guide/mbi-ba-availability-graph-day.png) + +#### Parameters + +**Menu description** + +- Select an application: Select a BA from Centreon BAM. +- Select the reporting period. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-ba-availability-graph-day_param.png) + + +### Business Application Availability,Performance and Alerts by month + +*This widget only works with Centreon BAM data.* + +#### Description + +This widget presents a graph showing the availability, performance and +alerts of one BA per month over the last 12 months. + +![image](../assets/reporting/guide/mbi-ba-availability-graph-month.png) + +#### Parameters + +**Menu description** + +- Select an application: Select a BA from Centreon BAM. +- Select the reporting period. +- Min value for graph (leave empty for self-adjustment): Minimum + value for Y-axis height. +- Max value for graph (leave empty for self-adjustment): Maximum + value for Y-axis height. +- Refresh Interval (seconds): Sets automatic refresh time for widgets. + +**Example** + +![image](../assets/reporting/guide/mbi-ba-availability-graph-month_param.png) + diff --git a/versioned_docs/version-25.10/resources/contribute.md b/versioned_docs/version-25.10/resources/contribute.md new file mode 100644 index 000000000000..6b78e314537b --- /dev/null +++ b/versioned_docs/version-25.10/resources/contribute.md @@ -0,0 +1,162 @@ +--- +id: contribute +title: Contributing to the Centreon documentation +--- + +You can contribute to the Centreon documentation by submitting pull requests on [our GitHub repository](https://github.com/centreon/centreon-documentation). As an external contributor, you cannot commit directly to the repository. A fork will be created automatically when you commit changes. + +This page only describes the procedure to request changes in the documentation. +* If your problem is a general question about Centreon or the documentation, ask on our community platform [The Watch](https://thewatch.centreon.com/) instead. + +* If you have an idea for a new feature, please submit it in the [Ideas](https://thewatch.centreon.com/ideas) section of The Watch. + +* If you have found a bug, file that issue in the project's code repository. You may use the contribution guide [here](https://github.com/centreon/.github/blob/master/CONTRIBUTING.md). + +## Pull request guidelines + +Help us review your PRs more quickly by following these guidelines. + +* Try not to touch a large number of files in a single PR if possible. + +* Do not change whitespace or line wrapping in parts of a file you are not editing for other reasons. Make sure your text editor is not configured to automatically reformat the whole file when saving. + +* If you speak French, apply your changes both to the English and French versions of the documentation. The French version is stored in the **i18n** folder. + +## Editing a single documentation page + +1. The simplest way to suggest a change is to use the **Edit this page** link at the bottom of each page. This method is suitable when you only want to edit one file at a time. + + ![image](../assets/resources/edit_this_page.png) + + (You can also navigate to the page you want on [GitHub](https://github.com/centreon/centreon-documentation) and click the **Edit** button.) + +2. The file can then be edited: + + ![image](../assets/resources/editable_page.png) + +3. Make your changes, then scroll to the bottom of the page: + + ![image](../assets/resources/propose_changes.png) + +4. In the first field, enter a short description of your changes (e.g. “Fix typo”): this will be the title of your commit. You can add more information in the second field. +5. Click **Propose changes**. A branch is created in a fork of the Centreon repository, and a commit is made and pushed to it. The page now shows your changes: + + ![image](../assets/resources/propose_changes2.png) + +6. Click **Create pull request** and fill in the fields: + + * Enter a title that will make it easy to understand what your pull request is about. + * Only put an x in the box for the versions that you have corrected. + + ![image](../assets/resources/open_pr.png) + +7. The pull request is created. Note that the name of your branch appears here (format: `:`): + + ![image](../assets/resources/pr_with_branch_name.png) + +Your PR is done! The Centreon documentation team will: + +* Make sure your pull request is validated: someone checks that every change in the PR is factually correct. We may ask you to make changes to your pull request. In that case, you will receive a notification from GitHub. +* Make sure your PR is merged and published. + +## I have created a pull request but I want to add changes, what do I do? + +1. To edit another file, go to your fork of our documentation repository on GitHub (**Your profile** > click the fork) and select your branch using the dropdown list in the top left corner of the screen. + + ![image](../assets/resources/edit_branch.png) + +2. Navigate to the file you want, make the changes you want, then scroll to the bottom of the page: + + ![image](../assets/resources/commit_to_branch.png) + +3. Click **Commit changes**. Your changes are committed, pushed and added to the list of commits for this pull request. + +## Editing several pages at once + +If you are going to make changes to quite a few files (or if you like this method better), you may want to clone the repository, create a new branch and make the changes from your disk. + +Your branch should be based on the branch called **staging**. From this branch you can make changes to docs that are already published and still supported: + +* for Centreon OnPrem, see [this table](../installation/prerequisites.md#operating-systems), +* sections “Centreon Cloud” and “Monitoring Connectors”. + +### Procedure + +1. Clone the documentation repository on to your disk: + + ```shell + git clone https://github.com/centreon/centreon-documentation.git + ``` + +2. Go to the **centreon-documentation** directory. You are on the **staging** branch. +3. Create a new branch based on **staging**: give it a meaningful name. To create a branch and checkout this branch: + + ```shell + git checkout -b + ``` + + For instance, `git checkout -b username-mypr` creates a branch called **username-mypr** and switches to it automatically. + +4. Make your changes: + + * [build the documentation locally](#how-can-i-preview-my-pr) to check that everything is displayed correctly. + * remember to `git add` all the files you need (especially images). +5. Commit your changes and push them. +6. Go to [GitHub](https://github.com/centreon/centreon-documentation). You should see a message that looks like this: + ![image](../assets/resources/compare_and_pull_request1.png) + +7. Click **Compare & pull request**. + ![image](../assets/resources/compare_and_pull_request2.png) + + * Edit the name of the PR and add extra info if needed. + * Select the versions to which you have made changes. +8. Click **Create pull request**. The pull request is created. + +Once your PR is done, the Centreon documentation team will: + +* Make sure your pull request is validated: someone checks that every change in the PR is factually correct. We may ask you to make changes to your pull request. In that case, you will receive a notification from GitHub. +* Make sure your PR is merged and published. + +### Making changes to the same file in different versions + +If you want to make the same change to a file across different versions, you have to copy your change to each version of the doc manually (no cherrypicking). + +### How can I preview my PR? + +When you create a complex PR by cloning the repository, you may want to check that everything is displayed properly. (Looking at the PR in GitHub doesn't show you this.) + +To do this, you must build the documentation locally. + +#### Procedure + +1. On your disk, go to the **centreon-documentation** folder of your branch. +2. Install [Yarn](https://classic.yarnpkg.com/lang/en/docs/install/#windows-stable). +3. Install [Node.js](https://nodejs.org/en/download/). +4. Install dependencies: + + ```shell + yarn + ``` + +5. Build the EN or FR version of the site (faster): + * EN: `yarn start` + * FR: `yarn start --locale=fr` + + The website opens in your browser at the following address: `http://localhost:3000/`. + Most changes are reflected live without having to restart the server. +6. If you really need to build the whole website, use the following command (but be aware it takes a long time to build): + + ```shell + yarn build + ``` + + Then use the `npm run serve` command to open the website in your browser. The site that is built is a snapshot of the documentation at the time you build it; subsequent changes are not taken into account. + +#### What if the build fails? + +In some cases, the build may fail. Check the error message in the log. Possible reasons are: + +* an image is missing, +* a link has an incorrect format, +* some backticks (``` characters used around code blocks) are not closed properly, or there is an extra space before the backticks, +* a file doesn’t have the exact same name in French and in English. diff --git a/versioned_docs/version-25.10/resources/glossary.md b/versioned_docs/version-25.10/resources/glossary.md new file mode 100644 index 000000000000..eb9c4151584d --- /dev/null +++ b/versioned_docs/version-25.10/resources/glossary.md @@ -0,0 +1,298 @@ +--- +id: glossary +title: Glossary of Centreon concepts +--- + +## ACL + +Access Control Lists allow you to grant rights to Centreon users. You can grant users rights on: + +- the menus of the Centreon web interface, + +- the [resources](#resource) users can see, + +- the actions that can be performed in the Centreon web interface. + +**See also**: [Granting rights to Centreon users (ACL)](../administration/access-control-lists.md). + +## Acknowledgement + +When a user acknowledges a resource in Centreon, they notify their teams that they are aware of the incident and that they will take action to resolve it. + +When a resource is acknowledged, [notifications](#notification) are stopped, and the resource is highlighted yellow in monitoring screens. + +Acknowledging a resource does not mean that the incident is over. It will be over when the resource is back to its nominal state (**OK** or **UP**). + +**See also**: [Acknowledging an alert](../alerts-notifications/acknowledge.md). + +## Alert + +An alert is one of the following statuses: **Warning**, **Down**, **Critical**, **Unknown**. + +The term alert is used in this way in the [pre-defined filters on page **Resources Status**](../alerts-notifications/resources-status.md#pre-defined-filters). + +## Architecture: simple VS distributed + +- **Simple architecture**: architecture that consists solely of a [central server](#central-server). + +- **Distributed architecture**: architecture that consists of a [central server](#central-server) and of n [remote server(s)](#remote-server) and [poller(s)](#poller). Remote servers and pollers allow you to distribute the monitoring load for security reasons, geographical or historical reasons, etc. + +**See also**: [Architectures](../installation/architectures.md). + +## BBDO + +Broker Binary Data Object: communication protocol used to transfer monitoring data from [remote servers](#remote-server) and [pollers](#poller) to the [central server](#central-server). + +**See also**: [The BBDO protocol](../developer/developer-broker-bbdo.md). + +## Broker + +Centreon Broker is the software component that receives monitoring data collected by [monitoring engines](#monitoring-engine). +Once it receives this data, by default, Centreon Broker redistributes it to the MariaDB/MySQL and RRD databases. + +**See also**: [Centreon Broker Event Mapping](../developer/developer-broker-mapping.md). + +## Broker reverse mode + +Advanced configuration for Centreon [Broker](#broker) that reverses the direction of connection for Broker communications. It switches the "client" and "server" roles to adapt to particular network configurations. For example, this mode is used by Centreon MAP to subscribe to the real-time flow of Broker events. + +## Central server + +In Centreon, the central server is the main console where you monitor resources. The central server allows you to: + +- configure the monitoring of your whole infrastructure, +- monitor resources +- see what all your Centreon servers monitor (central server, [remote servers](#remote-server) and [pollers](#poller)), using its web interface. + +## CLAPI + +Command-Line API: allows you to manage the monitoring using the command line. + +**See also**: [Command Line API (v1) - CLAPI](../api/clapi.md). + +## Downtime + +Downtime is a period during which [notifications](#notification) are disabled for a resource. Downtime is used during planned maintenance operations, to avoid unnecessary alerts. + +**See also**: [Planning a downtime](../alerts-notifications/downtimes.md). + +## Engine + +See [**Monitoring engine**](#monitoring-engine). + +## FQDN + +Fully Qualified Domain Name: hostname and domain name for a server. Example: demo.centreon.com (hostname: demo, domain name: centreon.com). + +## Gorgone + +Centreon Gorgone is the software component that allows the [central server](#central-server) to send information to the [remote servers](#remote-server) and the [pollers](#poller). +Among other things, Gorgone deploys the configuration to the [monitoring engines](#monitoring-engine). + +**See also**: [Managing client/server communication](../developer/developer-gorgone-client-server-communication.md) and the other topics in this section. + +## Graph + +Graphs are generated from the [metrics](#metric) that make up [services](#service), using [RRD files](#rrd-files). They show how these metrics evolve over time. + +**See also**: [Charts management](../metrology/chart-management.md) and the other topics in this section. + +## Heritage + +Principle according to which a parameter of a [template](#template) is applied to the resource that inherits from this template. + +## Host + +Equipment that has an IP address or an FQDN, and that you want to monitor. Examples: a Linux server, an internet router, a website, a 3D printer, an EC2 instance, a docker host, a cash register, etc. A host can have one or more associated [services](#service). + +A host can have one of the following [statuses](#status): OK, DOWN and UNREACHABLE. + +**See also**: [Monitoring a host](../monitoring/basic-objects/hosts-create.md) and the other topics in this section. + +## LVM + +LVM (logical volume manager): Centreon recommends that you use this partitioning system when you install your host system. It will allow you to live adjust the size of partitions and to use LVM snapshots for backups. + +## LVM snapshot + +Feature included in LVM that allows you to take a snapshot of a file system. Centreon uses this process to back up databases. + +**See also**: [Backup](../administration/backup.md). + +## Metric + +A metric (or performance data) is part of a [service](#service). This piece of data allows you to display graphs and to define thresholds according to which you will receive notifications. These thresholds will determine the [status](#status) of the service the metric belongs to. + +When a service has several metrics, the status of the service is the status of the worst metric. + +You can see all metrics attached to a service in the details panel of the service. + +**See also**: [Understanding metrics](../monitoring/metrics.md). + +## Monitoring action + +Any action performed in the interface that acts on your monitoring in real time. For instance, to [acknowledge a resource](#acknowledgement), to [plan a downtime](#downtime), to force a check, etc. + +## Monitoring Connector + +Connectors are the piece of software that lets Centreon communicate with the monitored resource. + +Centreon offers a great variety of connectors ready to be used to check any type of resource. +A connector consists of a [pack](#pack) (commands, preconfigured [templates](#template)) and a [plugin](#plugin) (the probe that executes the checks). +Some connectors also have an automatic discovery feature allowing them to find ressources of a certain type to monitor them. + +**See also**: + +- [Monitoring Connectors](../monitoring/pluginpacks.md), +- [Introduction to Monitoring Connectors](/pp/integrations/plugin-packs/getting-started/introduction). + +## Monitoring engine + +Centreon Engine is the software component that plans checks, executes them, and [notifies](#notification) users if an incident occurs. +Centreon Engine is present on [pollers](#poller), [remote servers](#remote-server) and the [central server](#central-server). + +## MySQL Dump + +Backup, in a text file, of a MySQL/MariaDB database. + +## Notification + +Message that warns a user that an incident has occurred. You can configure notifications on various [statuses](#status). + +**See also**: [How notifications work](../alerts-notifications/notif-concept.md) and the other topics in this section. + +## One-peer retention mode + +Advanced configuration for Centreon [Broker](#broker) that activates the retention mechanism in [Broker inverted flow mode](#broker-inverted-flow-mode). This mode is commonly used for monitoring servers ([pollers](#poller) or [remote servers](#remote-server)) located in demilitarized zones (DMZ). + +## Pack + +A pack contains the information related to the indicators that will be checked, their alert thresholds and the command lines required to perform the checks. The pack provides a default configuration but remains highly customizable. + +## Performance data + +See [**Metric**](#metric). + +## Plugin + +A plugin is a monitoring probe, i.e. a binary executable or a script that is called by the [monitoring engine](#monitoring-engine) to carry out a check on a [host](#host) or [service](#service). The plugin determines which status should be sent to the monitoring engine, based on the checks it makes and on the thresholds defined in the configuration of the host or service. + +## Poller + +Centreon server used in a [distributed architecture](#architecture-simple-vs-distributed). A poller can be attached to a [remote server](#remote-server), or directly to a [central server](#central-server). + +- A Centreon poller monitors [resources](#resource). It has a [monitoring engine](#monitoring-engine). + +- A poller has no graphical interface. The resources it monitors are displayed in the interface of the central server and of the remote server it is attached to. + +"Poller" is also used to refer to the monitoring engine that is present in a central server, a remote server and a poller. + +## Pull mode + +Advanced configuration for Centreon [Gorgone](#gorgone) that reverses the direction of ZMQ flows. The communication is initiated by pollers and remote servers, and is directed to the central server. This mode is commonly used by MSPs. + +**See also**: [Configuring Gorgone in pull mode](../developer/developer-gorgone-pull-mode.md). + +## Recurring downtime + +Recurring downtime periods are [downtimes](#downtime) that occur regularly. + +**See also**: [Recurrent downtimes](../alerts-notifications/downtimes.md#recurrent-downtimes). + +## Remote server + +Centreon server used in a [distributed architecture](#architecture-simple-vs-distributed). A remote server is attached to a central server. Pollers can be attached to a remote server. + +- A remote server monitors [resources](#resource). It has a [monitoring engine](#monitoring-engine). + +- It has a graphical interface, but no configuration menus. + +- The resources it monitors are displayed in its interface, and in the interface of the central server it is attached to. + +## Resource + +Object monitored by a Centreon platform ([hosts](#host), [services](#service), metaservices). + +## Retention files + +Retention files belong to Centreon [Broker](#broker). These files store the monitoring data that could not be inserted into the database. For instance, if a communication problem occurs between Engine and Broker, the data is not lost. The Broker stores it in a file (whose name includes the term "queue"). The file will then be read by Centreon Broker, then inserted into the databases so as to avoid data loss. + +## Retention period + +Time period, in days, during which you want to keep the data from your RRD and MariaDB/MySQL databases. + +## RRD files + +An RRD file contains the data for a [metric](#metric). RRD files are used to build performance [graph](#graphs). If there are no RRD files, graphs cannot be displayed. Because of the way RRD works, the data displayed in the graphs shows a trend rather than the exact data that was measured. + +## Scheduler + +See [**Monitoring engine**](#monitoring-engine). + +## Service + +A service is attached to a [host](#host). It is a check point on this host, that can relate to: + +- the status of a component: is the power supply connected? Is my instance started? + +- the performance of a component: is my website accessible in less than 0.5 s? What are the ink levels on my printer? How much of the memory is used on my server? + +A service can consist of one or several [metrics](#metric). + +A service can have one of the following [statuses](#status): OK, WARNING, CRITICAL, UNKNOWN. + +**See also**: [Monitoring a service](../monitoring/basic-objects/services-create.md) and the other topics in this section. + +## State + +Unhandled, acknowledged, in downtime. + +## Status + +Indicates: + +- the availability of a [host](#host) (UP, DOWN, UNREACHABLE), + +- the availability or performance of a [service](#service) (OK, WARNING, CRITICAL, UNKNOWN). + +PENDING is not a status: a resource is "pending" when it has just been created and hasn't been checked yet. + +**See also**: [Possible statuses of a resource](../alerts-notifications/concepts.md). + +## Status type + +Indicates whether a change in [status](#status) is confirmed (HARD) or not confirmed (SOFT). For instance, if a status becomes HARD, notifications are triggered. + +**See also**: [Status types](../alerts-notifications/concepts.md#status-types). + +## Template + +Skeleton of a [resource](#resource) that is preconfigured so that parameters defined on the skeleton are applied to the resource that inherits from it. + +There are host templates, service templates and contact templates. + +**See also**: + +- [Using host templates](../monitoring/basic-objects/hosts-templates.md), +- [Using service templates](../monitoring/basic-objects/services-templates.md), +- [Using contact templates](../monitoring/basic-objects/contacts-templates.md). + +## Time period + +Time periods define a time interval for each day of the week. They enable the features of the [monitoring engine](#monitoring-engine) over a given time slot. Use time periods to define: + +- when check commands are executed, i.e. the time period during which resources are monitored, + +- when [notifications](#notification) are sent. + +**See also**: [Time periods](../monitoring/basic-objects/timeperiods.md). + +## Widget + +Configurable visual element that allows you to display data in a custom view. + +**See also**: [Custom views](../alerts-notifications/custom-views.md). + +## ZMQ + +Protocol used by Centreon [Gorgone](#gorgone) to communicate from the [central server](#central-server) to the [remote servers](#remote-server) and the [pollers](#poller), in a [distributed architecture](#architecture-simple-vs-distributed). diff --git a/versioned_docs/version-25.10/resources/known-issues.md b/versioned_docs/version-25.10/resources/known-issues.md new file mode 100644 index 000000000000..2cc632b1abd9 --- /dev/null +++ b/versioned_docs/version-25.10/resources/known-issues.md @@ -0,0 +1,172 @@ +--- +id: known-issues +title: Known issues +--- + +Below is a list of known issues and/or bugs you may encounter. +We try to provide workarounds. We apply fixes when +necessary and are forever improving our software in order to solve any +issues for future releases. + +## Anomaly Detection + +### Limitations of Anomaly Detection services used as indicators in BAM + +When used as indicators in [BAM](../service-mapping/introduction.md), Anomaly Detection services: + +1. Are not supported by [CLAPI](../api/clapi.md) or by [the v1 API](../api/rest-api-v1.md). +2. Cannot be configured using the **Configuration > Business activities > Indicators** page. You must first create a Business activity on the **Configuration > Business activities > Business activities** page, then use the Anomaly Detection service in the business activity. + +#### Workarounds + +1. Use the v2 API. +2. Create the business activity first, then use the Anomaly Detection service as an indicator within the business activity (see above). + +### The data exclusion feature is not yet available + +The feature that allows you to exclude some data from Anomaly Detection's model computation appears in the interface but is not implemented yet. You get the message "Not implemented yet" when trying to use the feature. + +### Workaround + +There is no workaround but the feature will be available in a coming version. + +## Centreon Web + +### Environment variable not found: "hostCentreon" + +During a central server (or remote server) installation, an error message appears for a short time in the snackbar when accessing the wizard to complete the installation. The error message is the following: + +```sql +The controller for URI "/centreon/api/latest/platform/versions" is not callable: Environment variable not found: "hostCentreon". +``` + +#### Workaround + +There is no workaround and this message does not prevent you from finalizing the installation. + +### You have reached the maximum of id into centreon_storage.index_data + +#### Workaround + +Play the following query into MariaDB/MySQL: + +In your monitoring database: +```sql +ALTER TABLE index_data MODIFY id bigint unsigned AUTO_INCREMENT; +ALTER TABLE metrics MODIFY index_id bigint unsigned; +``` + +In your configuration database: +```sql +ALTER TABLE ods_view_details MODIFY index_id bigint unsigned; +ALTER TABLE virtual_metrics MODIFY index_id bigint unsigned; +``` + +> Depending on your metrics volumes, this operation could be more or less long. + +### Autologin does not work with some pages + +#### Description + +Autologin is currently not supported on the following pages: + +* **Monitoring > Map (legacy excluded)** +* **Monitoring > Resources Status** +* **Configuration > Hosts > Discovery** +* **Configuration > Business Activity > Business Views** +* **Configuration > Business Activity > Business Activity** + +#### Workaround + +There is currently no workaround. + +## Centreon Dashboards + +### The MAP widget is not supported yet on public playlists + +There is no workaround but the feature will be available in a coming version. + +## Centreon MBI + +### You get some errors during daily import and statistic calculation + +#### Description + +After updating MBI, you get an error similar to the following during the statistic calculation. + +```shell +[Tue Jun 1 18:28:26 2021] [FATAL] mod_bi_hgservicemonthavailability insertion execute error : Out of range value for column 'mtbf' at row 1 +[Tue Jun 1 18:28:26 2021] [FATAL] Program terminated with errors +``` + +This is due to a column update issue in the database. + +#### Workaround + +1. You need to execute a script to update database columns, by entering this command on the central server: + + ```shell + php /usr/share/centreon/www/modules/centreon-bi-server/tools/updateColumnsToBigint.php + ``` + +2. Then follow this procedure to [rebuild missing reporting data](../reporting/concepts.md#how-to-rebuild-missing-reporting-data). + +### MBI does not work if databases have custom names + +#### Workaround + +There is currently no workaround. + +### The Report Parameters tab of a job is empty + +#### Description + +The **Report Parameters** tab of a job is empty (**Reporting > Monitoring Business Intelligence > Jobs**) + +#### Workaround + +* Go to the **Configuration** tab of the job +* Select a different report design from the **Report design** list +* Select the original report design +* Go back to the **Report Parameters** tab + +### You have reached the maximum of id for servicemetric_id columns + +#### Description + +If you have a very large infrastructure, it is possible that the `servicemetric_id` column size has been reached. + +#### Workaround + +> Depending on your data volume, this operation could be more or less long. + +* Connect in the reporting server +* Disable cron job in `/etc/cron.d/centreon-bi-engine`: + + ```shell + #30 4 * * * root /usr/share/centreon-bi//bin/centreonBIETL -d >> /var/log/centreon-bi//centreonBIETL.log 2>&1 + ``` + +* Execute the following queries in `centreon_storage` database: + + ```sql + ALTER TABLE mod_bi_metricdailyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metrichourlyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metricmonthcapacity MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentiledailyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentilemonthlyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_metriccentileweeklyvalue MODIFY servicemetric_id BIGINT(20) UNSIGNED NOT NULL; + ALTER TABLE mod_bi_servicemetrics MODIFY id BIGINT(20) UNSIGNED NOT NULL AUTO_INCREMENT; + ``` + +* Enable cron job in `/etc/cron.d/centreon-bi-engine` : + + ```shell + 30 4 * * * root /usr/share/centreon-bi//bin/centreonBIETL -d >> /var/log/centreon-bi//centreonBIETL.log 2>&1 + ``` + +* If the operation occurred during the usual launch of the scheduled task, run the following command indicating the correct start and end dates: + + ```shell + /usr/share/centreon-bi/bin/centreonBIETL -rIEDP -s YYYY-MM-DD -e YYYY-MM-DD + ``` diff --git a/versioned_docs/version-25.10/resources/troubleshooting.md b/versioned_docs/version-25.10/resources/troubleshooting.md new file mode 100644 index 000000000000..0370454ad295 --- /dev/null +++ b/versioned_docs/version-25.10/resources/troubleshooting.md @@ -0,0 +1,18 @@ +--- +id: troubleshooting +title: Troubleshooting your Centreon platform +--- + +This page lists the troubleshooting items available in this documentation. Click an item to access more detailed content. + +* [Debugging](../administration/parameters/debug.md) +* [Troubleshooting Plugin errors](/pp/integrations/plugin-packs/getting-started/how-to-guides/troubleshooting-plugins) +* [Troubleshooting MAP](../graph-views/map-web-troubleshooting.md) +* [Testing and troubleshooting email configuration](../administration/postfix.md#testing-and-troubleshooting-email-configuration) +* [Troubleshooting licenses](../administration/licenses.md#troubleshooting-licenses) +* [Troubleshooting host discovery issues](../monitoring/discovery/troubleshooting-hosts-discovery.md) + +## On our community platform The Watch + +* If you need any help setting up your IT-100 solution, please visit our [dedicated group](https://thewatch.centreon.com/groups/centreon-it-100-users-54). +* Find more [troubleshooting articles](https://thewatch.centreon.com/troubleshooting-41) in our knowledge base. diff --git a/versioned_docs/version-25.10/security/key-rotation.md b/versioned_docs/version-25.10/security/key-rotation.md new file mode 100644 index 000000000000..755e04804b4d --- /dev/null +++ b/versioned_docs/version-25.10/security/key-rotation.md @@ -0,0 +1,301 @@ +--- +id: key-rotation +title: Rotating keys +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +For security reasons, the keys used to sign Centreon RPMs or the Debian repository must be rotated occasionally. + +## Fresh installation + + + + +If you performed a fresh installation after the new RPM key was published, +no additional actions are necessary, apart from accepting the new rpm key. + +```shell +Retrieving key from https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +Importing GPG key 0x3FC49C1B: +Userid : "Centreon Enterprise Server Official Signing Key " +Fingerprint: 1035 e42c b766 7952 ee42 dee9 a97d aa5a 3fc4 9c1b +From : https://yum-gpg.centreon.com/RPM-GPG-KEY-CES +Is this ok [y/N]: +``` + + + + +If you performed a fresh installation after the new key was published, +no additional actions are necessary. + + + + +However, you can [check that you have the correct key](#checks). + +## Existing installation + + + + +If you performed a fresh installation of a Centreon platform +before the new RPM key was published, the existing key must be replaced with the new one. + +1. Download the following script: + + ```shell + curl -JO https://raw.githubusercontent.com/centreon/centreon/master/centreon/check-centreon-gpg-key.sh + ``` + +2. Make the script executable: + + ```shell + chmod u+x check-centreon-gpg-key.sh + ``` + +3. Run the script: + + ```shell + sh check-centreon-gpg-key.sh + ``` + + The script will: + * check the RPM key in the RPM database and ask you to remove it + * check the key file in the **/etc/pki/rpm-gpg** directory + * ask you to fetch and import the new RPM key into the RPM database + * ask you to update the **release** RPM package (this will remove the revoked key from **/etc/pki/rpm-gpg**) + * ask you to check the signature of the RPM packages. + + + + +1. Remove the old key: + + ```shell + apt-key del 1441882BED29D70CF2E874D65E9C374559B6C02E + ``` + +2. Import the new key: + + ```shell + wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 + apt update + ``` + + + + +## Checks + + + + +You can then check that the new key has been correctly imported. For the [new key published on October 14, 2021](#list-of-keys): + + + + +* After installation, check if the new key has been correctly imported into the RPM database: + + ```shell + rpm -qi gpg-pubkey-3fc49c1b-651d4c25 + ``` + + The results should be as follows: + + ```shell + Name : gpg-pubkey + Version : 3fc49c1b + Release : 651d4c25 + Architecture: (none) + Install Date: Mon Apr 22 11:49:38 2024 + Group : Public Keys + Size : 0 + License : pubkey + Signature : (none) + Source RPM : (none) + Build Date : Wed Oct 4 11:27:33 2023 + Build Host : localhost + Relocations : (not relocatable) + Packager : Centreon Enterprise Server Official Signing Key + Summary : gpg(Centreon Enterprise Server Official Signing Key ) + Description : + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: rpm-4.14.3 (NSS-3) + + mQGNBGFm61IBDADen8ge1CEXjHG/9CWwu1sNkhQ1w5oaExK1FtkVO4ueI8k9jNPn + pZYeD8ZaqouSSFP8Rl0acz2MfNBZvhxLpTUIothea2HcWQ7fsuIJVPnADazDr045 + YhxfjDy6qMsZ2yWfh3cRzpbJ2BqRFsMcMkGgq/et9LUbDy8WJ0O86YDPL5RX4wDE + ske7b8ffRu2uhK29hs76UeuuUIGLrVFqlnkuMC8u9YxVgxSONonja3tdkmhl+qR/ + xCRN++l2GNjwRVwE0TyoGN5kNLHVoPWMGUZmQMG0CRZx4+H1wNualUvzRNn/y9V/ + X9Z2+kjEv1c+Zi7oJ7bsYtHgulqEXVEKT5fTPLXapwhKw+uv23JjP7IAFBLlaNhn + MdRxiM+x2Ej+ZwKaxlXl578wBmpXOlQw6sji+2PM8aWmmO4A4ekYyO5ZRMG0X6OG + Y+doln8oe5djmvVp9iNvdmblHPOFTzDtpsAJRkRywipSnH21dqqMuZFrU1G46nW3 + f150TbH2zSv1AccAEQEAAbREQ2VudHJlb24gRW50ZXJwcmlzZSBTZXJ2ZXIgT2Zm + aWNpYWwgU2lnbmluZyBLZXkgPGFkbWluQGNlbnRyZW9uLmNvbT6JAc4EEwEKADgC + GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQQNeQst2Z5Uu5C3umpfapaP8Sc + GwUCZR1MJQAKCRCpfapaP8ScG4OwDACdOUJekvmHX3LJTdP5xm6mWOnlaAhuPZoo + csMvJp8oEeeZeIXPq3py0IVyBzB1GrXHVdPYZ6VZ9BREJrZO99lxdgME+2lsFfLW + oGeGotr99e5c/28kaM/lZdakHelwo42b3Ik9W/SdHMjWIE3dUhIKRIktC5/R2X6m + Zj7lrAjNdATLyyc6WvrmxoRU3Kw9THb9m+U3Scw+DH9tLNf3gTmXLZLQeN2unGIM + /bo/VGsg8inZxY0+yABNrIS+xNwx9p0/1deDMk631VTvfi5OwxBZOE7Gv2mcOc4P + /wgx//X/wQUGitJ2nGEgndg/ab8VxlSgOPWHsNpDFDT7xmFt/d+FYgEO7aNNl4x/ + KlN5RL/NfToBK4kCUiNY7dCCx13w/bXQoTdstlrtV4F3urGyKy5l3JLD6MWg3SYA + KRaVY9cCU+ZHdITzOSQUHPFEXrxi/4Dl7hfGqL2l1Y6s3DZdJKCO3c1EM4ERVx2Z + Vrd3a4nRnqGbPvpNQhdt/VfPJ1j9K525AY0EYWbrUgEMAKTcgo0/qtDuB44K4qVD + K2MchhNENEfx3EbgybfEuRMd2q6MvYcd1LsKfTKT0vQJnWffPq+BhleHQ0HYNvII + ohKBu24T3LUZnl+bz4Pb4zJXKSm7yVhwg4W4rW+mH6nvyjVzP2KzK2/AI004UKKc + u693eOpvT5LLlCFz47gXGysJH9v2dDI7u3r7G/xZRd29V+aLk1T+O2RI31HXVSSF + Zqxnwh1albTTSCOCiae7WeG4ON0jluBLUZCRsTvWG7osubQzxcEO9zT/Ilwdv8ig + yiYc78j8WPFLb4ngukDOr65NpVWf0gyqf1CtpDxhNue9myTVXce6w3oXW4npX3Ze + KZwtaCYyvrfuKhXXG8fy0M0mGVvxRVsVJGgq1h1j7dJQI+d9yJmZrYxRmDtO7jgi + r1YBk/j5noTzbjUSyuztkUGJwwrOXCI+CE/9jKZRFsn5dz8hmRGz/64v13ctNV6b + Pz1zFDGGeav4ZJzyyXM0XI7LDY834WhCQHwXX6lkXqYp6wARAQABiQG2BBgBCgAg + AhsMFiEEEDXkLLdmeVLuQt7pqX2qWj/EnBsFAmUdSvkACgkQqX2qWj/EnBuoNAwA + hwst2AZCSmNNDUPSypCvpTkKdOPG315kJHQv/rcqDkCG2p2jvfT08Kd2636ErPBU + 7yCDOvanNzSOloNKodOsY7MrcGVnY5qSyJPxHNwp0niR+eGtwBpowLf6wO7LzWL+ + UOBzcAhgL+xIBaxlGC2CaV+ilq+wVqsJkBvJSdr/L5fydpW8y0Qk+O2Deml4bQVF + tKRSTz+pDuII63189T7B5LnlWExNmhF8U0R+MEqZb+TWMorBrEy5giSsMV+LgXy5 + 8lBqheQL3uasxNH/zaihBHA0sp7jpswiBOSnwiSOaRJOhGk/BLksCnf8yFnPEUMa + CqskzKhfZDOYBol226SMavErj/6/5fy8dfoLYsDUW2UB0ojqGSYIYG9invVhEg5+ + exr+xNI6MB01EJkcSw/GowXUh5MFDtSdtRNGtZxymEObjkauLj9L1daAkHWYdFmn + LCEHvNUqYnxkVFiNRQHlY3ZoZMYOmLleEbTPnGiRmukG+EipqeI1nmeFUmPXeDnC + =sZGh + -----END PGP PUBLIC KEY BLOCK----- + ``` + +* Check that the only Centreon key in the RPM database is this one: **gpg-pubkey-3fc49c1b-651d4c25**: + + ```shell + rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' + ``` + + The results should be as follows: + + ```shell + gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) ) + gpg-pubkey-f2ee9d55-560cfc0a gpg(CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) ) + gpg-pubkey-3fc49c1b-651d4c25 gpg(Centreon Enterprise Server Official Signing Key ) + ``` + + + + +* Check if the new key has been correctly imported into the RPM database: + + ```shell + rpm -qi gpg-pubkey-3fc49c1b-651d4c25 + ``` + + The results should be as follows: + + ```shell + Name : gpg-pubkey + Version : 3fc49c1b + Release : 651d4c25 + Architecture: (none) + Install Date: Mon Apr 22 11:49:38 2024 + Group : Public Keys + Size : 0 + License : pubkey + Signature : (none) + Source RPM : (none) + Build Date : Wed Oct 4 11:27:33 2023 + Build Host : localhost + Relocations : (not relocatable) + Packager : Centreon Enterprise Server Official Signing Key + Summary : gpg(Centreon Enterprise Server Official Signing Key ) + Description : + -----BEGIN PGP PUBLIC KEY BLOCK----- + Version: rpm-4.14.3 (NSS-3) + + mQGNBGFm61IBDADen8ge1CEXjHG/9CWwu1sNkhQ1w5oaExK1FtkVO4ueI8k9jNPn + pZYeD8ZaqouSSFP8Rl0acz2MfNBZvhxLpTUIothea2HcWQ7fsuIJVPnADazDr045 + YhxfjDy6qMsZ2yWfh3cRzpbJ2BqRFsMcMkGgq/et9LUbDy8WJ0O86YDPL5RX4wDE + ske7b8ffRu2uhK29hs76UeuuUIGLrVFqlnkuMC8u9YxVgxSONonja3tdkmhl+qR/ + xCRN++l2GNjwRVwE0TyoGN5kNLHVoPWMGUZmQMG0CRZx4+H1wNualUvzRNn/y9V/ + X9Z2+kjEv1c+Zi7oJ7bsYtHgulqEXVEKT5fTPLXapwhKw+uv23JjP7IAFBLlaNhn + MdRxiM+x2Ej+ZwKaxlXl578wBmpXOlQw6sji+2PM8aWmmO4A4ekYyO5ZRMG0X6OG + Y+doln8oe5djmvVp9iNvdmblHPOFTzDtpsAJRkRywipSnH21dqqMuZFrU1G46nW3 + f150TbH2zSv1AccAEQEAAbREQ2VudHJlb24gRW50ZXJwcmlzZSBTZXJ2ZXIgT2Zm + aWNpYWwgU2lnbmluZyBLZXkgPGFkbWluQGNlbnRyZW9uLmNvbT6JAc4EEwEKADgC + GwMFCwkIBwIGFQoJCAsCBBYCAwECHgECF4AWIQQQNeQst2Z5Uu5C3umpfapaP8Sc + GwUCZR1MJQAKCRCpfapaP8ScG4OwDACdOUJekvmHX3LJTdP5xm6mWOnlaAhuPZoo + csMvJp8oEeeZeIXPq3py0IVyBzB1GrXHVdPYZ6VZ9BREJrZO99lxdgME+2lsFfLW + oGeGotr99e5c/28kaM/lZdakHelwo42b3Ik9W/SdHMjWIE3dUhIKRIktC5/R2X6m + Zj7lrAjNdATLyyc6WvrmxoRU3Kw9THb9m+U3Scw+DH9tLNf3gTmXLZLQeN2unGIM + /bo/VGsg8inZxY0+yABNrIS+xNwx9p0/1deDMk631VTvfi5OwxBZOE7Gv2mcOc4P + /wgx//X/wQUGitJ2nGEgndg/ab8VxlSgOPWHsNpDFDT7xmFt/d+FYgEO7aNNl4x/ + KlN5RL/NfToBK4kCUiNY7dCCx13w/bXQoTdstlrtV4F3urGyKy5l3JLD6MWg3SYA + KRaVY9cCU+ZHdITzOSQUHPFEXrxi/4Dl7hfGqL2l1Y6s3DZdJKCO3c1EM4ERVx2Z + Vrd3a4nRnqGbPvpNQhdt/VfPJ1j9K525AY0EYWbrUgEMAKTcgo0/qtDuB44K4qVD + K2MchhNENEfx3EbgybfEuRMd2q6MvYcd1LsKfTKT0vQJnWffPq+BhleHQ0HYNvII + ohKBu24T3LUZnl+bz4Pb4zJXKSm7yVhwg4W4rW+mH6nvyjVzP2KzK2/AI004UKKc + u693eOpvT5LLlCFz47gXGysJH9v2dDI7u3r7G/xZRd29V+aLk1T+O2RI31HXVSSF + Zqxnwh1albTTSCOCiae7WeG4ON0jluBLUZCRsTvWG7osubQzxcEO9zT/Ilwdv8ig + yiYc78j8WPFLb4ngukDOr65NpVWf0gyqf1CtpDxhNue9myTVXce6w3oXW4npX3Ze + KZwtaCYyvrfuKhXXG8fy0M0mGVvxRVsVJGgq1h1j7dJQI+d9yJmZrYxRmDtO7jgi + r1YBk/j5noTzbjUSyuztkUGJwwrOXCI+CE/9jKZRFsn5dz8hmRGz/64v13ctNV6b + Pz1zFDGGeav4ZJzyyXM0XI7LDY834WhCQHwXX6lkXqYp6wARAQABiQG2BBgBCgAg + AhsMFiEEEDXkLLdmeVLuQt7pqX2qWj/EnBsFAmUdSvkACgkQqX2qWj/EnBuoNAwA + hwst2AZCSmNNDUPSypCvpTkKdOPG315kJHQv/rcqDkCG2p2jvfT08Kd2636ErPBU + 7yCDOvanNzSOloNKodOsY7MrcGVnY5qSyJPxHNwp0niR+eGtwBpowLf6wO7LzWL+ + UOBzcAhgL+xIBaxlGC2CaV+ilq+wVqsJkBvJSdr/L5fydpW8y0Qk+O2Deml4bQVF + tKRSTz+pDuII63189T7B5LnlWExNmhF8U0R+MEqZb+TWMorBrEy5giSsMV+LgXy5 + 8lBqheQL3uasxNH/zaihBHA0sp7jpswiBOSnwiSOaRJOhGk/BLksCnf8yFnPEUMa + CqskzKhfZDOYBol226SMavErj/6/5fy8dfoLYsDUW2UB0ojqGSYIYG9invVhEg5+ + exr+xNI6MB01EJkcSw/GowXUh5MFDtSdtRNGtZxymEObjkauLj9L1daAkHWYdFmn + LCEHvNUqYnxkVFiNRQHlY3ZoZMYOmLleEbTPnGiRmukG+EipqeI1nmeFUmPXeDnC + =sZGh + -----END PGP PUBLIC KEY BLOCK----- + ``` + +* Check that the old key is no longer in the RPM database (there should +only be **gpg-pubkey-3fc49c1b-651d4c25**): + + ```shell + rpm -q gpg-pubkey --qf '%{NAME}-%{VERSION}-%{RELEASE}\t%{SUMMARY}\n' + ``` + + The results should be as follows: + + ```shell + gpg-pubkey-f4a80eb5-53a7ff4b gpg(CentOS-7 Key (CentOS 7 Official Signing Key) ) + gpg-pubkey-f2ee9d55-560cfc0a gpg(CentOS SoftwareCollections SIG (https://wiki.centos.org/SpecialInterestGroup/SCLo) ) + gpg-pubkey-3fc49c1b-651d4c25 gpg(Centreon Enterprise Server Official Signing Key ) + ``` + + + + + + + +To get detailed info about the new key and check that it is correctly installed, run the following command: + +```shell +apt-key list "C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4" +``` + +The results should look like this: + +```shell +pub ed25519 2024-04-11 [SC] + C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4 +uid [unknown] Centreon APT +sub cv25519 2024-04-11 [E] +``` + + + + +## List of keys + +| OS | Fingerprint | Validity | +| -- |---------------------------------------------------|-------------------------------------------------| +| Alma/RHEL/Oracle Linux | 0E52 401B 40F6 044F 928C 0B7B F6FC 4AE3 8A76 52BC | revoked October 14, 2021 | +| Alma/RHEL/Oracle Linux | [1035 E42C B766 7952 EE42 DEE9 A97D AA5A 3FC4 9C1B](https://yum-gpg.centreon.com/RPM-GPG-KEY-CES) | valid from October 14, 2021 | +| Debian | 1441 882B ED29 D70C F2E8 74D6 5E9C 3745 59B6 C02E | revoked April 11, 2024 | +| Debian | [C903 FA90 C5EC 3C69 C922 9203 0395 7625 73E5 0BC4](https://apt-key.centreon.com) | valid from April 12, 2024 | diff --git a/versioned_docs/version-25.10/security/security.md b/versioned_docs/version-25.10/security/security.md new file mode 100644 index 000000000000..0e121ea52c9c --- /dev/null +++ b/versioned_docs/version-25.10/security/security.md @@ -0,0 +1,112 @@ +--- +id: security +title: Centreon and Security +--- + +Organizations around the world turn to Centreon to provide business-aware monitoring of their IT +for always-on operations and performance excellence. Centreon is committed to the security of the +data they rely on and is continuously improving policies, processes, and products to meet the highest +standards. Read more information throughout this page. + +## Product security by design + +### Secure development + +Security by Design is a primary concern throughout the Centreon development process, which ensures that +products and services are designed from inception to meet data security needs, including access +controls, monitoring and encryption. + +A continuous integration pipeline is leveraged to automate the process from pull request to +image/package delivery. Code changes are reviewed by code quality scans as a first step, and then they must be +validated by two core developers before they are accepted, and static code analysis is run on every +build so potential security issues can be caught as early as possible. + +Once deployable artifacts are available, all changes are tested by Quality Assurance engineers. + +Centreon external users (community or enterprise users) are also able to test and use any beta +versions by pulling the packages from “unstable” public repositories. + +### Opensource security + +Centreon distributes its core platform under GPLv2 and Apache Open Source licenses, which makes it +possible for [contributors](https://github.com/centreon/.github/blob/master/CONTRIBUTING.md) to extend it. +Any person who wants to contribute and participate in +developing the project must respect Centreon’s [Code of Conduct](https://github.com/centreon/.github/blob/master/CODE_OF_CONDUCT.md). + +Any contribution is posted as a pull request and provided with [information](https://github.com/centreon/.github/blob/master/PULL_REQUEST_TEMPLATE.md) that helps with the +review process by Centreon. The review includes code quality, functional tests, documentation and +security, and determines whether the contribution is accepted or rejected. + +### Security testing + +On top of security checks performed through continuous integration such as release testing, manual +penetration tests are run on a yearly basis to independently identify vulnerabilities and tune best +practice recommendations for safe implementation. + +## Vulnerability response + +Upon receipt of a report for a vulnerability, Centreon will attempt to replicate the reported +vulnerability and build an action plan with timelines depending on the computed severity. + +Centreon will provide feedback to the reporter of the vulnerability and work with them to mitigate +the vulnerability. + +Subscribe to the [Security Bulletins thread](https://thewatch.centreon.com/latest-security-bulletins-64) on our community platform The Watch to keep up with the latest vulnerability fixes. + +### Vulnerability scoring + +Centreon uses version 3.1 of the Common Vulnerability Scoring System (CVSS) as part of its standard +process of evaluating reported potential vulnerabilities. + +Centreon will compute the environmental score assuming the tested Centreon product is configured +as defined in the online product documentation and placed behind appropriate in-depth protections. + +Depending on the CVSS score of the vulnerability, the Centreon security team will determine the urgency +of fixing the vulnerability: + +| CVSS score | Remediation plan | +|----------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------| +| 9.0 - 10 (Critical) | Centreon will begin corrective action immediately, develop a fix or workaround, and provide it to customers in the shortest commercially reasonable time in the form of a patch and/or update release | +| 7.0 - 8.9 (High) | Centreon will deliver a fix or workaround with the next planned maintenance as an update release (typically within 30 days) | +| 4.0 - 6.9 (Medium) | Centreon will deliver a fix or workaround with the next planned release (typically within 6 months) | +| 0.1 – 3.9 (Low) | Centreon will deliver a fix or workaround with the next two planned releases of the Centreon product (typically within 12 months) | + +### Reporting a vulnerability + +If you believe you have found a security vulnerability, please report it to us as described in the +[reporting process](https://github.com/centreon/centreon/security/policy#reporting-a-vulnerability). + +Please do not report security vulnerabilities through public GitHub issues. + +Open source users can send an email to [security@centreon.com](mailto:security@centreon.com). If possible, encrypt your message with the [provided PGP +key](https://github.com/centreon/centreon/security/policy#pgp-information). Commercial edition customers, please report vulnerabilities through the [support portal](https://support.centreon.com). + +You should receive a response within 48 hours. If for some reason you do not, please follow up via +email to ensure we received your original message. + +## Securing your Centreon installation + +### Secure configuration + +The Centreon documentation includes best practices to secure the [monitoring components](../administration/secure-platform.md) as well as +the [MAP platform](../graph-views/secure-your-map-platform.md). Centreon recommends that administrators carefully review those pages when +planning an installation and share those guidelines with their internal security teams. + +### Security audit services + +The Centreon consulting teams provide audit services aimed at optimizing deployments and the +value driven by the software. Those audit services also include security checks and recommendations +such as: + +- Base system security (passwords, ACLs, hardened configuration) +- Database secure configuration +- Network access configuration +- Application security (encryption, users, ACLs). + +Please make sure to reach out to your Centreon sales representative or consulting partner to initiate +such an audit and plan improvements as early as possible. + +## Centreon security contact + +If you have questions about security, contact our support team if you are a customer or our Security +Team at [security@centreon.com](mailto:security@centreon.com). diff --git a/versioned_docs/version-25.10/security/user-data-storage/gdpr-compliance.md b/versioned_docs/version-25.10/security/user-data-storage/gdpr-compliance.md new file mode 100644 index 000000000000..0e88e790a4d3 --- /dev/null +++ b/versioned_docs/version-25.10/security/user-data-storage/gdpr-compliance.md @@ -0,0 +1,48 @@ +--- +id: gdpr-compliance +title: GDPR compliance +--- + +> This content is intended for users of Centreon in a Managed Service Provider (MSP) context. + +## Storage of user identification information + +For each customer of the provider, the Centreon central server stores the following user identification information in its database in order to access the +monitoring server: + + - Name + - Alias/Login, password + - E-mail address + - Phone number (optional, for associated notification) + +The central server also stores additional parameters for each user: + + - Language, time zone + - Notification settings + - Access control groups (ACL) + +Information management: + - Each user can access their information in the **Administration > Settings > My Account** menu. + - Users can be created, edited and deleted from the **Settings > Users** menu by a user who has the necessary rights. + +## User action logs + +If a user has the rights to configure the monitoring (defined in the user's ACLs), an entry in the logs stored in the database and linked to the +user account will be created for each editing action: + - Logs can be accessed via **Administration > Logs**, with the ability to filter by user. + - These logs can only be deleted by accessing the SQL database and deleting any relevant records. + +## HTTP transactions + +Centreon recommends securing access to the monitoring platform by enabling HTTPS mode on the Apache server. An official signed certificate is +required to ensure a minimum level of security. + +## Authentication + +In order to remain consistent with your security policy and to better manage the lifecycle and approvals of users, Centreon can +connect to an Active Directory or LDAP directory. Centreon recommends enabling this option and not using a local account. + +## Backup + +Centreon provides a Centreon data extraction module to allow the implementation of a backup policy of the monitoring data. Centreon strongly +recommends activating this module and, especially, exporting the backup to another server. diff --git a/versioned_docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md b/versioned_docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md new file mode 100644 index 000000000000..14f02e4de076 --- /dev/null +++ b/versioned_docs/version-25.10/security/user-data-storage/what-is-centreon-ceip.md @@ -0,0 +1,111 @@ +--- +id: what-is-centreon-ceip +title: What is Centreon CEIP? +--- + +Joining the Centreon Customer Experience Improvement Program + +## Customer Experience Improvement Program + +Centreon is continually striving to understand and anticipate our users' needs in +order to deliver world-class products and solutions. The Customer Experience +Improvement Program (CEIP) will deliver benefits to our users by allowing us to +understand how you use our software, so that we can provide you with a +continuous enhancement of your Centreon software experience. The program has two +components: + + - A simple telemetry + - Advanced statistics on the use of the Centreon software suite + - The use of features within the user interface + +Telemetry anonymously and automatically collects the following data: + + - Information such as the operating system version of the Centreon main server + of the platform as well as the name and version of the DBMS. + - Centreon product information such as number of servers and version numbers + of components installed on the Centreon main server (modules & widgets). + - Centreon information such as number of hosts, services, groups of hosts & + services, and usage of modules and widgets. + - The timezone of the Centreon server. + +Advanced statistics include the use of additional components such as +widgets in custom views, slot management for Centreon DSM, use of deployed +Monitoring Connectors, and more. + +The use of the features within the user interface includes access to the various Centreon menus, as well as the +actions performed by the user within the interface (button clicks, focus on a form field, etc.) + +## Frequently Asked Questions + +### What are the possible configuration settings of the CEIP program? + +Participation in the program is enabled by default. However, the sending of advanced statistics and functionality usage can be +configured in the web interface. The options are: + + - Enabled + - Disabled + +Users can change the option via **Administration \> Parameters \> Centreon UI +\> Send anonymous statistics** at any time. + +### What will Centreon do with the information that is collected? + +The information collected will be used to better understand how customers use +Centreon products, and how to improve Centreon products by fixing issues and +delivering the most useful new features in a much more streamlined manner. + +### Is the collected information anonymous? + +YES\! Moreover, Centreon takes all necessary precautions to protect the security +of the information that is collected, transmitted and stored. We only collect +data concerning Centreon products. The program takes only the actions described on +this page, and only if you decide to participate. This program cannot collect +information without your full knowledge or consent. + +### How does the Centreon Experience Improvement Program work? + +This is an automated process that requires no effort to participate. It is +transparent to users. Customers simply choose to participate, granting Centreon +permission to receive anonymous data securely. + +### Will I receive spam if I participate in the program? + +You will not receive any e-mail from Centreon about this program, regardless of +whether or not you participate. Any personal information collected as part +of this program will not be used to identify you or contact you. + +### Do I need an Internet connection? + +An internet connection is required to participate in this program. However, you +do not need to be connected all the time. When an internet connection becomes +available, the information is automatically transmitted with minimal impact to +your connection. + +### Can I see the data that is collected before it is sent to Centreon? + +The information cannot be displayed in the interface. However, you can see what data +is sent by using the following commmand: + +```shell +php /usr/share/centreon/cron/centreon-send-stats.php -d +``` + +This program is designed to work for +thousands of users without affecting their product use, so the data is sent +automatically. The data is also encoded and compressed so that it can be +processed efficiently. + +### How long does the program last? + +Information is collected as long as you use the product version for which you +have agreed to participate or until you decide to stop participating in the +program. + +### What is the anonymous installation ID used for? + +Upon the first startup of the Centreon server, a random number is generated: the +anonymous installation ID. + +### Which products support the Centreon Experience Improvement Program? + +The CEIP program covers the Centreon central server. diff --git a/versioned_docs/version-25.10/service-mapping/ba-management.md b/versioned_docs/version-25.10/service-mapping/ba-management.md new file mode 100644 index 000000000000..488d3f86bb10 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/ba-management.md @@ -0,0 +1,460 @@ +--- +id: ba-management +title: Manage Business Activities +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + + +## Business Activities (BA) + +> When you modify a business activity, you need to push and reload the +> configuration using the "Poller" menu so that it is applied + +### Definition + +Business Activities form the core of the Centreon BAM extension. As +aggregated indicators, they are monitored by the software in real time +using specific calculation methods. Business Activities are able to +notify users depending their status, revealing a problem with the IT +service or application. + +### Calculation methods + +Business activity statuses rely on the calculation done on indicators +(child resources). The calculation method is configured at business +activity level. + +There are four calculation methods that you can use: + +- **Best status**: When you only need to be warned that ALL indicators + are critical at the same time +- **Worst status**: When you want to know immediately when at least one + indicator is not-ok +- **Ratio**: When you want to model Cluster concepts by specifying a + number or percentage of critical resources that you do not want to + exceed +- **Impact**: When you want to precisely define the weight of each + indicator and reflect that on your BA status + +Below are some examples and a configuration of each calculation method. + + + + +![image](../assets/service-mapping/guide/business-activity-best-status-tree.png) + +The following order will be applied to find the "Best" status: +`OK > Unknown > Warning > Critical > Pending` + +The configuration is as follows: + +![image](../assets/service-mapping/guide/business-activity-best-status.png) + + + + +![image](../assets/service-mapping/guide/business-activity-worst-status-tree.png) + +The following order will be applied to find the "Worst" status: +`CRITICAL > Warning > Unknown > OK > Pending` + +The configuration is as follows: + +![image](../assets/service-mapping/guide/business-activity-worst-status.png) + + + + +This method helps you model “Cluster” concepts. The calculation is based +on the **number or percentage of indicators in CRITICAL status**, which you +compare to number/percentage thresholds that you do not want to exceed. + +In the following example, we defined that we want the percentage of Critical indicators to +be less than 80%. + +![image](../assets/service-mapping/guide/business-activity-ratio-tree.png) + +The configuration is as follow: + +![image](../assets/service-mapping/guide/business-activity-ratio.png) + +After choosing whether you want to define them in terms of percentage or number, +you must configure the threshold parameters: + +- Critical threshold: if the number/percentage of **Critical** + indicators exceeds that number/percentage, the Business activity will + be Critical +- Warning threshold: if the number/percentage of **Critical** + indicators exceed that number/percentage, the Business activity will + be Warning + + + + +> This mode is complex to use, but it could help you model +> severity-related concepts. + +When you use impact mode, the business activity has a “Health” +between 100% and 0%. When you attach indicators to it, you must +define the impact (in %) of each status for each indicator. When these +indicators switch to these statuses (unknown, critical etc.), the +calculation is simple: BA Health = 100% - Current impacts. + +You then use the Warning and Critical thresholds to determine at what +level you want the BA to become Warning or Critical + +- **Warning threshold**: Between 100 and 0, the threshold below which + the BA will switch to Warning status +- **Critical threshold**: Between 100 and 0 (< the Warning + threshold) below which the BA will switch to Critical status + +![image](../assets/service-mapping/guide/business-activity-impact.png) + +The health value between 100% and 0% is often related to a service +quality measurement. A variation in this value is used to determine +whether the modeled IT service or application is in an **OK**, +**Warning** or **Critical** state. + + + + +### Create a Business Activity + +To add a Business Activity, click the **Add** button. The following panel +appears: + +![image](../assets/service-mapping/guide/business-activity-add.png) + +In this configuration panel, after giving a unique name (mandatory), you +need to configure multiple sections to have an aggregated indicator. The +name is the only mandatory parameter, but to have a BA that works, **you +must at least configure some indicators and define the +calculation methods**. This can be done in the "Indicator" section. +The following characters are not authorized in the name of a BA: `~!$%^&|'"<>?,()=*{}` and spaces. + +#### Indicators + +This section is the most important section for a business activity, because it +is where you define how the status will be calculated by attaching +resources to the business activity and setting the calculation method. + +The type of indicators you can use are : + +- Services +- Other business activities: it is really important to understand + that you can create “infinite” multi-level BAs to model simple to + highly complex IT services or apps. +- Meta services +- Boolean rules: a combination of services with AND/OR/XOR rules +- [Anomaly detection services](../monitoring/anomaly-detection.md). + +**Calculation methods** + +You can choose between the following four calculation methods. Refer to +the previous section to understand each calculation method. + +- Best status +- Worst status +- Ratio +- Impact + +Now that you have chosen how the business activity status will be +calculated, you can manage how **planned downtime** on indicators will +be handled. You have three choices: + +- **Ignore the downtime**: In that case, the planned downtime + positioned on child indicators will be ignored, the BA will be + impacted, and that is all. +- **Inherit the downtime**: the BA is automatically set in “planned + downtime” whenever an indicator in a non-ok state is in planned + downtime AND impacts the BA. The BA will still be impacted. The + planned downtime inheritance follows these rules: + - A BA inherits planned downtime from its indicators only when the + BA status is **not OK**. + - When a BA is in planned downtime due to indicator downtime + inheritance: If the BA status switches to OK, planned downtime + is stopped. + - When a BA is in planned downtime due to indicators downtime + inheritance: If an impact comes from an indicator that has no + planned downtime, the BA downtime is stopped. +- **Ignore the indicator in the calculation**: when the indicator + impacts the BA and is in planned downtime, its status/impact is + ignored in the calculation. + +After configuring how the business activity status is computed, +you will be able to configure the following properties: + +- Business View: what BV(s) to link the BA to. Mandatory if you want + to give access to this BA to non-admin users +- Display: All parameters concerning the way the BA will be accessible + outside the BA monitoring page +- Notification: who and when users are notified +- Reporting: What SLA and time period you want to use to calculate the BA + availability statistics +- Event handler: parameters to auto-remediate the BA when state + becomes non-ok + +#### Business View + +Link the BA to one or multiple business views so it becomes available for +non-admin users. + +#### Display + +- Display on remote server: If you are using a remote server, you can + send the business activity to it so that it is also available for + remote teams. This is possible only if ALL the indicators under the + BA (at any level) are visible by the remote server. +- Geo-coordinates: Geo-coordinate to position the BA on a geoview +- Associated infrastructure view name: the BA probably corresponds to + an aggregated/customer's point of view state of an IT service or + application that relies on a complex infrastructure. If this + infrastructure was designed in Centreon Map, you can ease + access from this BA to the corresponding view to help users to drill + down when a problem occurs on that BA. + +#### Notification + +Configure when, for what status and who should be notified when the BA's +status changes. You can also define escalation that applies to that BA. + +The escalation is the same as with other **Centreon** objects; when you +select an escalation, the service escalation definition will be applied +to the BA. + +#### Reporting + +- Default reporting time period: Availability statistics for widgets and + reports will be automatically calculated using this time period +- Service Level Agreement in % (SLA): whenever the availability is + compared to a SLA in %, this will be the value that it will be + compared to +- Service Level Agreement in minutes (SLA): whenever the availability + is compared to an SLA in minutes, this will be the value that it will + be compared to +- Service Level Objective in % (SLO): additional threshold in % to + compare the availability. It can be seen as an “SLA warning” + threshold. +- Service Level Objective in minutes (SLO): additional threshold in + minutes to compare the availability. It can be seen as an “SLA + warning” threshold.. +- Extra reporting time periods: Additional time period you may want + to use in widget and reports + +> In the **Default reporting time period** and **Extra reporting time periods** fields, do not use time periods that include [exceptions](../monitoring/basic-objects/timeperiods.md#time-range-exceptions-tab), as the exceptions will not not be taken into account. + +#### Event handler + +Activate or not the auto-remediation command that you may execute when the BA +status switches. + +> In order for the new BA to be calculated and monitored, you must regenerate +> the configuration on the scheduler and restart the monitoring services through +> the interface in the **Configuration > Poller** menu. + +### List Business Activities + +The BA is managed through the +`Configuration > Business Activity > Business Activity` menu. + +![image](../assets/service-mapping/guide/business-activity-listing.png) + +You have inline actions and global actions to delete, duplicate, +enable/disable the BA and massively change thresholds. + +> Deleting a business activity is permanent; only past data will be +> available through reports/widgets + +## Indicators (KPI) + +> To update the indicator configuration, you need to push and reload the +> configuration using the “Poller” menu + +### Definition + +An indicator is a resource in the monitoring system that is linked to a +BA. A BA may have multiple indicators and sub-indicators. There are five +types of indicator: + +- Service (Service by hostgroups are **NOT** usable as indicators) +- Meta service +- Boolean +- Another business activity +- [Anomaly Detection services](../monitoring/anomaly-detection.md) + +An indicator can only impact a BA when the status of its object (e.g., a +service) is *Hard* (validated). + +The indicator can impact the health of a BA and change its value +according to the indicator status. We recommend that you use the +standard impact mode (based on keywords *Minor*, *Major*, etc.) instead +of the advanced mode based on numeric impact values, which involve a more +complex calculation. + +Any time an indicator status changes, the BA engine evaluates the impact +and subtracts its value from the BA health level. The minimum health of +a BA is 0, even if the sum of the impacts of its indicators is > 100. + +### List Indicators + +Indicators can be configured in two different ways: + +- From the BA panel (common way) +- From **Configuration > Business Activity > Indicators** + +![image](../assets/service-mapping/guide/conf_kpi.png) + +| Column | Description | +| --------------- | -------------------------------------------------------------------------------------------------------------------- | +| Indicator (KPI) | Indicator or Key Performance Indicator: Name of the indicator based on the object used | +| Type | Indicator type (service, meta service, BA, boolean rule) | +| Warning Impact | Impact weight in the event of a *Warning* condition, in real-time monitoring. Ignored if indicator is a boolean rule | +| Critical Impact | Impact weight in the event of a *Critical* condition, in real-time monitoring | +| Unknown Impact | Impact weight in the event of an *Unknown* condition, in real-time monitoring. Ignored if indicator is a boolean rule | +| Actions | Actions can be performed (modification,activation/deactivation) | + +The **More Actions** menu allows an action to be applied to several +indicators at once: + +- Activate the indicator within their BA. +- Update impact types collectively. +- Deactivate indicator within their BA. +- Delete indicator. + +### Create an indicator (KPI) + +> In this page, you can only attach an indicator to business activities +> that use the “Impact” calculation method. If you want to manipulate BA +> or indicators using another calculation method, go back to the Business +> Activity page. + +There are several ways to create an indicator: + +![image](../assets/service-mapping/guide/add_kpi_types.png) + +#### Add an indicator + +To add an indicator, click the **Add a KPI** link, which takes you to the +following form. + +**Regular Mode**: + +![image](../assets/service-mapping/guide/kpi_standard.png) + +**Advanced mode**: + +To be able to manually define an impact: + +![image](../assets/service-mapping/guide/kpi_advanced.png) + +| Column | Description | +| ------------------------- | ----------------------------------------------------------------------------- | +| Configuration Mode | Configuration mode: regular or advanced | +| KPI Type | KPI type (service, meta service, boolean rule or a BA) | +| Key Performance Indicator | Choice of KPI based on the objects in Centreon | +| Warning Business Impact | Impact weight in the event of a *Warning* condition, in real-time monitoring | +| Critical Business Impact | Impact weight in the event of a *Critical* condition, in real-time monitoring | +| Unknown Business Impact | Impact weight in the event of an *Unknown* condition, in real-time monitoring | +| Linked Business Activity | BA related to KPI | + +*To add a boolean rule: First create the boolean rule (see below), and then add +the KPI.* + +#### Adding multiple KPIs + +In order to add multiple KPIs, click the **Add multiple KPIs** link, which takes +you to a data entry form. + +| Column | Description | +| --------------------------------- | ------------------------------------------------------------------------------------- | +| Configuration Mode | Configuration mode: Standard or Advanced | +| Object Type | Type of object from which the indicators will be loaded | +| Hosts, Host Groups, Service group | Depending on the selected object type, a list of objects will be automatically loaded | +| Linked Business Activity | BA related to indicators | + +Click the **Retrieve KPI** button; a list of indicators will be displayed. +You can filter and apply thresholds, collectively or one by one: + +![image](../assets/service-mapping/guide/kpi_multiple_retrieve.png) + +| Column | Description | +| --------------- | ----------------------------------------------------------------------------- | +| Host | Host | +| Service | Service | +| Warning Impact | Impact weight in the event of a *Warning* condition, in real-time monitoring | +| Critical Impact | Impact weight in the event of a *Critical* condition, in real-time monitoring | +| Unknown Impact | Impact weight in the event of an *Unknown* condition, in real-time monitoring | + +### Boolean Rules + +To create a boolean rule, go to: +`Configuration > Business Activity > Boolean Rules` + +![image](../assets/service-mapping/guide/kpi_booleen.png) + +| Column | Description | +|-------------------------------------------|------------------------------------------------------| +| Boolean name | Name of the boolean KPI | +| Expression | Logical expression (see below) | +| Impact is applied when expression returns | State of logical expression that triggers the impact | +| Comments | Comments regarding the boolean KPI | +| Status | Enabled or Disabled | + +Logical expression: + +1. Field for editing the logical expression +2. Toolbox +3. Services that compose the logical expression +4. Button for evaluating the expression with real-time monitored status +5. Boolean state after evaluation (whether it is real-time or + simulated) +6. Enter simulation mode, thus allowing the user to simulate the statuses of + the defined services + +## Business View (BV) + +### Definition + +BVs are used to gather multiple BAs into a single group. Similar to Centreon +host groups, BV groups can be used in different Centreon BAM screens. + +Access restrictions (via ACL) for viewing BAs are managed by linking them to +BVs, which are in turn linked to one or more *Centreon Access Groups*. + +> For the purpose of a root cause analysis, as soon as you give a user access to a +> business activity, they will see all the indicators linked to it, no matter what their +> restriction concerning resources used in the BA definition + +A BV is not an indicator as such by which data can be calculated. The +information in a BV depends on its content and is displayed in real time. + +### List Business Views + +Configure a BV in the **Configuration > Business Activity > Business Views** +menu. + +![image](../assets/service-mapping/guide/business-view-listing.png) + +| Column | Description | +| ----------- | ------------------------------------------------------------------------------------ | +| Name | Business view name | +| Description | Brief description of BV | +| Displayed | The BV is either displayed or not displayed on the Centreon BAM screens (deprecated) | +| Actions | List of actions to be performed on the BV (modification/display) | + +> Deleting a BV: +> +> - Does not delete the BAs that are linked to it. +> - Is permanent. + +### Create a Business View + +![image](../assets/service-mapping/guide/business-view-add.png) + +| Column | Description | +| ------------------- | ------------------------------------------------------ | +| Name | BV name | +| Description | Brief description of the BV | +| Business activities | The BA(s) linked to the BV | +| ACL Groups | The access group(s) that can consult the BV and its BA | diff --git a/versioned_docs/version-25.10/service-mapping/ba-monitoring.md b/versioned_docs/version-25.10/service-mapping/ba-monitoring.md new file mode 100644 index 000000000000..ddcf33f0cded --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/ba-monitoring.md @@ -0,0 +1,65 @@ +--- +id: ba-monitoring +title: Monitor Business Activities +--- + +After adding, editing or deleting the BAs, KPIs and BVs, the objects +linked to Centreon BAM, go to **Configuration > Poller**, generate the +configuration files, and push them to the Centreon central server. + +After you have loaded the configuration and checked the services linked to the +KPIs, the BA will be up to date and available under +`Monitoring > Business Activity > Monitoring`. + +## Interpret real-time data + +### Main page + +A table on the main page lists all the essential information concerning +the live status and health level of the BAs. + +Non-admin users can only see the BAs associated with BVs linked to their +access group: + +![image](../assets/service-mapping/guide/mon_ba_list.png) + +| Column | Description | +| ----------------- | ----------------------------------------- | +| Current Level | Current level in % | +| Business Activity | Name of the BA | +| Description | Description of the BA | +| Duration | Duration of the current status | +| Reporting Period | Default reporting period used for that BA | + +You can view the evolution of BA health level by hovering your mouse over +the name or description of the BA, and a pop-up appears displaying all the KPIs +and status information. + +![image](../assets/service-mapping/guide/mon_mouse_over.png) + +Click on the name of the BA to bring up a detailed live view. + +### Detailed View + +The detailed view is divided into seven parts: + +![image](../assets/service-mapping/guide/mon_detailed.png) + +1. List of KPIs that impact the BA level +2. Table containing the BA health level and alert thresholds +3. Tab containing the BA impact tree. You can open a sublevel, zoom in + and out and move the tree. +4. Tab containing the health level graph of the BA +5. Tab containing a list of all KPIs. +6. Dropdown list to change the BA +7. Link to the reporting page. + +The list of KPIs displays real-time information on their status and also their +impact on the BA: + +![image](../assets/service-mapping/guide/mon_kpi_list.png) + +The **Trend** tab panel displays four graphs -- daily, weekly, monthly and +annual, showing the BA level and status over time: + +![image](../assets/service-mapping/guide/mon_trend.png) diff --git a/versioned_docs/version-25.10/service-mapping/ba-reporting.md b/versioned_docs/version-25.10/service-mapping/ba-reporting.md new file mode 100644 index 000000000000..7b56a89eda9c --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/ba-reporting.md @@ -0,0 +1,82 @@ +--- +id: ba-reporting +title: Report Business Activities +--- + +You can view history data at any time on the +reporting and log screens, and on performance graphs. These screens are +similar to those used on the Centreon server. + +## Reporting + +The reporting page is similar to the **Reporting > Dashboard** page on Centreon. +Select a BA to display operational availability, warning and critical +statistics for a given period: + +![image](../assets/service-mapping/guide/reporting.png) + +You can export the data to a .csv file by clicking the **Export in CSV +format** link. + +## Logs + +The **Logs** menu displays the evolution of the BA level over time along +with its KPI status when impacting the BA, for a given period. The +maximum history period is *the last 30 days*. + +Only changes in BA status are recorded. You cannot display the status of +KPIs at a specific point in time. + +First, select the BA and the time period: + +![image](../assets/service-mapping/guide/log_param.png) + +The **Display details** box shows the BA status on a growth curve. + +This chart displays the evolution of the BA health level in a given time +frame. Click on each spike to display the KPIs impacting the BA. + +![image](../assets/service-mapping/guide/log_chart.png) + +The table below details the KPI screen: + +| Column | Description | +|----------------------------|---------------------------------------------------------------------------------| +| Key Performance Indicators | KPI List | +| KPI Type | KPI type (service, meta service or BA) | +| Status | KPI status (Operational, Warning, Critical, Unknown) | +| Impact | KPI impact weight on the BA | +| In Downtime | Programming or no programming of downtime on the KPI at the time of calculation | +| Check Time | Time during which the KPI was verified | +| Output | KPI output message during the KPI check | + +## Force statistics calculation + +Events & availability statistics are automatically calculated daily. In +case you modify the default reporting period, add an extra one or change +BV association, you may need to rebuild the previously calculated data. + +To do so, run the following script: + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --all +``` + +It is also possible to rebuild a specific BA: + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --ba= +``` + +For more information regarding this script, run the following command: + +``` shell +/usr/share/centreon/www/modules/centreon-bam-server/engine/centreon-bam-rebuild-events --help +``` + +**If you are also using Centreon MBI** and wish to use the updated data, run +the following command on the reporting server: + +``` shell +/usr/share/centreon-bi/etl/importData.pl -r --bam-only +``` diff --git a/versioned_docs/version-25.10/service-mapping/ba-settings.md b/versioned_docs/version-25.10/service-mapping/ba-settings.md new file mode 100644 index 000000000000..68d5c1513a10 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/ba-settings.md @@ -0,0 +1,65 @@ +--- +id: ba-settings +title: Settings +--- + +## Default Settings + +The default settings are conveniently prefilled to assist you in +creating new BAs and indicators (KPIs). They can be found in +`Monitoring > Business Activity > Default Settings` + +### Impact settings + +The following parameters correspond to the default values behind the *Weak*, +*Minor*, *Major*, *Critical* and *Blocking* impact types when configuring +indicators in *Regular* mode. + +![image](../assets/service-mapping/guide/list_impacts_basic.png) + +Impact types must be defined as a percentage. + +![image](../assets/service-mapping/guide/impacts_configuration.png) + +### Business Activity and Boolean rule impact settings + +These default parameters are used for prefilling the fields for **Business +Activity** or **Boolean rule**-type indicators in *Advanced* mode. + +![image](../assets/service-mapping/guide/impacts_ba_boolean.png) + +### Business Activity settings + +The default parameters below define values for BAs. + +![image](../assets/service-mapping/guide/default_ba_parameters.png) + +| Column | Description | +| ------------------------ | ----------------------------------------------------------------------------------------------------- | +| Warning Threshold | *Warning* threshold: Corresponds to a warning condition of the BA. A notification can then be sent. | +| Critical Threshold | *Critical* threshold: Corresponds to a critical condition of the BA. A notification can then be sent. | +| Reporting Period | Time Default BA reporting time period | +| Notification Time Period | Default BA notification time period | +| Contact Groups | Default BA notified contact groups | +| Notification Interval | Default BA notification interval | +| Height Impact Tree | Default height for window showing impact tree | + +To be able to notify user/external solutions (Slack, OpenDuty etc..) belonging +to the contact group you defined, you must configure the dedicated Business +Activity notification section in the user's form: + +![image](../assets/service-mapping/guide/bam_user_notification.png) + +## User settings + +The **User Settings** are personalized options that belong to each user profile, +you can configure it in **Monitoring > Business Activity > User Settings**. + +### Custom Overview + +By default, the Centreon BAM module displays the monitoring console with +all authorized BAs. However, the user has the possibility to compose their +own overview by adding the BAs of their choice, chosen from those that are +authorized. + +![image](../assets/service-mapping/guide/user_custom.png) diff --git a/versioned_docs/version-25.10/service-mapping/install.md b/versioned_docs/version-25.10/service-mapping/install.md new file mode 100644 index 000000000000..da0adaf9acf6 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/install.md @@ -0,0 +1,88 @@ +--- +id: install +title: Install the Centreon BAM extension +--- + +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> Centreon BAM is a Centreon **extension** that requires a valid license key. To +> purchase one, contact +> [Centreon](mailto:sales@centreon.com). + +## Prerequisites + +See the [software requirements](../installation/prerequisites.md#software). + +Install BAM on the central server. +The central server and Centreon BAM must be installed in the same major versions (i.e. both in 24.10.x). +If you want to be able to view the Business activities monitored by a remote server, install BAM on the remote server too. When BAM is installed on a remote server, the Business activities will only include the resources monitored by the remote server. + +## Installation + +### Install the package + +Add the Centreon Business repository; you can find it on the +[support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +And install the package using the following command: + + + + +``` shell +dnf install centreon-bam-server +``` + + + + +``` shell +dnf install centreon-bam-server +``` + + + + +```shell +apt update && apt install centreon-bam-server +``` + + + + + +### Upload the license + +A license file *bam.license* is provided by Centreon. Go to the +**Administration > Extensions > Manager** menu and upload the license +using the interface. + +### Install the interface + +Go to the **Administration > Extension > Manager** menu and click the install +button for the following modules: + +- License Manager (if not yet installed) +- Business Activity Monitoring + +Once installed and the license added, the module will have a green banner that indicates +the license expiry date: + +![image](../assets/service-mapping/installation/install-web-step-2.png) + +> If you are using MariaDB replication for your monitoring databases, +> installing Centreon BAM generates a view. You need to exclude it from +> replication by adding the following line on the my.cnf file of the +> slave server: +> +> ``` text +> replicate-ignore-table=centreon.mod_bam_view_kpi +> ``` +> +> Create the view manually on the slave server [using this file](view_creation.sql), by executing the +> following command: +> +> ``` shell +> mysql centreon < view_creation.sql +> ``` diff --git a/versioned_docs/version-25.10/service-mapping/introduction.md b/versioned_docs/version-25.10/service-mapping/introduction.md new file mode 100644 index 000000000000..f7220c064749 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/introduction.md @@ -0,0 +1,39 @@ +--- +id: introduction +title: Introduction to Centreon BAM +--- + +The service mapping capabilities in Centreon rely on the **Centreon Business +Activity Monitoring (BAM)** extension. + +> Centreon BAM is a Centreon **extension** that requires a valid [license](../administration/licenses.md). To +> purchase one and retrieve the necessary repositories, contact +> [Centreon](mailto:sales@centreon.com). + +**Centreon Business Activity Monitoring (BAM)** helps ITSM and business +operation teams gain a common perspective to align IT with business. Based on +ITIL practices, it measures real-time IT operating vitals from +Centreon-monitored data to show crucial correlations to service performance. +Prioritizing and proactively managing IT operations and service delivery for +the required SLA becomes easier. Centreon BAM contributes to showing that IT counts for +business operations. + +![image](../assets/service-mapping/first_page.gif) + +**Centreon BAM** uses an advanced Business Activities (BA) calculation engine +based on Key Performance Indicators. + +The graphical representation of the data appears in real time on a console that +is dedicated to monitoring IT activities. + +This documentation is intended to assist you in rolling out business activities and +making the best use of the real-time and reporting data in **Centreon BAM**. + +Definitions: + + - **BA**: Business Activity + - **BV**: Business View: the displayed business activity + - **KPI**: Key Performance Indicator: the weighted indicator considered in the + BA calculation. + +![image](../assets/service-mapping/about/ba_detailed.png) diff --git a/versioned_docs/version-25.10/service-mapping/migrate.md b/versioned_docs/version-25.10/service-mapping/migrate.md new file mode 100644 index 000000000000..63efe0e9d645 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/migrate.md @@ -0,0 +1,46 @@ +--- +id: migrate +title: Migrate the extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +> If you are updating to a new major or minor version (i.e: A.B.x with A +> or B that changes), you need to contact our Support service to retrieve +> the new repository. + +## Update the package + +In order to update the Centreon BAM module using an RPM package, execute the +following command: + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-bam-server +``` + + + + +## Update through the interface + +Log on to the Centreon web interface and go to +`Administration > Extension > Manager`. + +Click the orange button to update the module, and do the same for the widget. diff --git a/versioned_docs/version-25.10/service-mapping/remote-server.md b/versioned_docs/version-25.10/service-mapping/remote-server.md new file mode 100644 index 000000000000..a459fdad36c1 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/remote-server.md @@ -0,0 +1,76 @@ +--- +id: remote-server +title: Install on a Remote Server +--- + +The procedure for installing the Centreon BAM module on a Centreon Remote Server +is the same as on a Central server and needs additional action. + +1. Install the extension using the standard install procedure +2. Follow the extra steps described below. + +## Step 2: Configure Centreon Broker + +Configuring the Centreon BAM module on a Centreon Remote Server requires +configuring the Centreon Broker *from* the Centreon Central Server. This allows +the Centreon Remote Server to manage calculations on Centreon BAM. The +configuration will be automatically sent to the Centreon Remote Server when you +export your business activities to the Centreon Remote Server from the central +server. + +To do so, you need to modify the Centreon Broker Master configuration of the +Centreon Remote poller. Go to the `Configuration > Pollers > Broker +configuration` menu and edit the remote poller configuration. + +### Monitoring output + +In the Output tab, select **BAM - Monitoring engine (BAM)** and click +**Add**: + +![image](../assets/service-mapping/remote-server/conf_poller_bam_monitoring.png) + +Please consult the following table for the appropriate field values: + +| Fields | Values | +|---------------------------------|------------------------------------------------------------------------| +| Name | remote-server-bam-monitoring | +| Filter category | *None* | +| Storage DB Name | centreon\_storage | +| Cache | No | +| Replication enabled | No | +| Command file path | /var/lib/centreon-engine/rw/centengine.cmd | +| DB host | localhost | +| DB name | centreon | +| DB password | *Retrieve it from /etc/centreon/conf.pm on the Centreon Remote Server* | +| DB port | 3306 | +| DB type | MySQL | +| DB user | centreon | +| Maximum queries per transaction | 0 | +| Transaction commit timeout | 5 | +| Retry interval | 5 | + +### Reporting output + +Select the **BAM - BI engine (BAM)** configuration type and click **Add**: + +![image](../assets/service-mapping/remote-server/conf_poller_bam_reporting.png) + +Please consult the following table for the appropriate field values: + +| Fields | Values | +|---------------------------------|------------------------------------------------------------------------| +| Name | remote-server-bam-reporting | +| Filter category | BAM | +| Replication enabled | No | +| DB host | localhost | +| DB name | centreon\_storage | +| DB password | *Retrieve it from /etc/centreon/conf.pm on the Centreon Remote Server* | +| DB port | 3306 | +| DB type | MySQL | +| DB user | centreon | +| Maximum queries per transaction | 0 | +| Transaction commit timeout | 5 | +| Retry interval | 5 | + +To complete the installation process, generate and export the Centreon Remote +Server configuration by selecting **Restart**. diff --git a/versioned_docs/version-25.10/service-mapping/update.md b/versioned_docs/version-25.10/service-mapping/update.md new file mode 100644 index 000000000000..94e04633b87e --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/update.md @@ -0,0 +1,42 @@ +--- +id: update +title: Update the extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Update the package + +In order to update the Centreon BAM module, execute the +following command: + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt update && apt install --only-upgrade centreon-bam-server +``` + + + + +## Update through the interface + +Log on to the Centreon web interface and go to `Administration > Extension > +Manager`. + +Click the orange button to update the module, and do the same for the widget. diff --git a/versioned_docs/version-25.10/service-mapping/upgrade.md b/versioned_docs/version-25.10/service-mapping/upgrade.md new file mode 100644 index 000000000000..657be69d9705 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/upgrade.md @@ -0,0 +1,63 @@ +--- +id: upgrade +title: Upgrade the extension +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +## Prerequisites + +### License + +When upgrading from a version below 18.10 to one above 18.10, you must obtain +a new license from Centreon support. + +### Upgrade Centreon web on your central server + +See the [corresponding chapter](../upgrade/introduction.md). + +### Install the Business repository + +If you are upgrading to a new major or minor version (i.e.: A.B.x with A or B that +changes), you need to contact our Support service to retrieve the new +repository. + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation) to remove the old key and install the new one. + +## Update the package + +In order to update the Centreon BAM module using an RPM package, execute the +following command: + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +dnf update centreon-bam-server +``` + + + + +```shell +apt install --only-upgrade centreon-bam-server +``` + + + + +## Update through the interface + +Log on to the Centreon web interface and go to `Administration > Extension > +Manager`. + +Click the orange button to update the module, and do the same for the widget. diff --git a/versioned_docs/version-25.10/service-mapping/view_creation.sql b/versioned_docs/version-25.10/service-mapping/view_creation.sql new file mode 100644 index 000000000000..96913b26724a --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/view_creation.sql @@ -0,0 +1 @@ +CREATE VIEW `mod_bam_view_kpi` AS select `k`.`kpi_id` AS `kpi_id`,`b`.`ba_id` AS `ba_id`,`k`.`activate` AS `kpi_activate`,`b`.`activate` AS `ba_activate`,`b`.`name` AS `ba_name`,`k`.`host_id` AS `host_id`,`h`.`host_name` AS `kpi_host`,`k`.`service_id` AS `service_id`,`s`.`service_description` AS `kpi_service`,`k`.`id_indicator_ba` AS `id_indicator_ba`,`bk`.`name` AS `kpi_ba`,`k`.`meta_id` AS `meta_id`,`meta`.`meta_name` AS `kpi_meta`,`k`.`boolean_id` AS `boolean_id`,`boo`.`name` AS `kpi_boolean`,`b`.`icon_id` AS `icon_id`,`k`.`kpi_type` AS `kpi_type`,`k`.`config_type` AS `config_type`,`k`.`last_impact` AS `last_impact`,`k`.`last_level` AS `last_level`,`k`.`last_state_change` AS `last_state_change`,`k`.`current_status` AS `current_status`,`k`.`in_downtime` AS `in_downtime`,`k`.`acknowledged` AS `acknowledged`,`k`.`drop_warning` AS `drop_warning`,`k`.`drop_critical` AS `drop_critical`,`k`.`drop_unknown` AS `drop_unknown`,`k`.`drop_warning_impact_id` AS `drop_warning_impact_id`,`k`.`drop_critical_impact_id` AS `drop_critical_impact_id`,`k`.`drop_unknown_impact_id` AS `drop_unknown_impact_id`,`b`.`current_level` AS `ba_current_level`,`b`.`current_status` AS `ba_current_status`,`b`.`in_downtime` AS `ba_in_downtime`,`b`.`level_w` AS `level_w`,`b`.`level_c` AS `level_c` from ((((((`mod_bam_kpi` `k` join `mod_bam` `b` on((`b`.`ba_id` = `k`.`id_ba`))) left join `host` `h` on((`h`.`host_id` = `k`.`host_id`))) left join `service` `s` on((`s`.`service_id` = `k`.`service_id`))) left join `mod_bam` `bk` on((`bk`.`ba_id` = `k`.`id_indicator_ba`))) left join `meta_service` `meta` on((`meta`.`meta_id` = `k`.`meta_id`))) left join `mod_bam_boolean` `boo` on((`boo`.`boolean_id` = `k`.`boolean_id`))) order by `b`.`name` \ No newline at end of file diff --git a/versioned_docs/version-25.10/service-mapping/widgets.md b/versioned_docs/version-25.10/service-mapping/widgets.md new file mode 100644 index 000000000000..8a9caa9750b3 --- /dev/null +++ b/versioned_docs/version-25.10/service-mapping/widgets.md @@ -0,0 +1,31 @@ +--- +id: widgets +title: Widgets +--- + +## Live Business Activity Status + +This widget displays the live business activity status and current level in a +listing widget that you can add to your home page. + +![image](../assets/service-mapping/widget_bam-ba-listing.png) + +### Parameters + +**Description** + +- Select a Business View for filtering. +- Number of Business Activities to display. +- Status filter: Select BA status for filtering. +- Downtime filter: Retain only the BA with or without downtime. +- Acknowledged filter: Retain only acknowledged or non-acknowledged BA. +- Order By: Criteria for sorting the BAs. +- Display description. +- Display status duration. +- Display only top level BA: Only display BA without a parent. For a + non-admin user, this is calculated based on the ACL. +- Refresh Interval (in seconds). + +**Example** + +![image](../assets/service-mapping/widget_bam-ba-listing_param.png) diff --git a/versioned_docs/version-25.10/update/update-centreon-platform.md b/versioned_docs/version-25.10/update/update-centreon-platform.md new file mode 100644 index 000000000000..f7f6145a03cf --- /dev/null +++ b/versioned_docs/version-25.10/update/update-centreon-platform.md @@ -0,0 +1,299 @@ +--- +id: update-centreon-platform +title: Update a Centreon 24.10 platform +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to update your Centreon 24.10 platform (i.e. switch from version 24.10.x to version 24.10.y). + +## Perform a backup + +Make sure that you have fully backed up your environment for the following +servers: + +- central server, +- database server. + +## Update the Centreon central server + +### Update the Centreon solution + +Make sure all users are logged out from the Centreon web interface before starting the update procedure. + + + + +Clean the cache: + + ```shell + dnf clean all --enablerepo=* + ``` + +Then upgrade all the components with the following command: + + ```shell + dnf update centreon\* + ``` + + + + +Clean the cache: + + ```shell + dnf clean all --enablerepo=* + ``` + +Then upgrade all the components with the following command: + + ```shell + dnf update centreon\* + ``` + + + + +Clean the cache: + + ```shell + apt clean + apt update + ``` + +Then upgrade all the components with the following command: + + ```shell + apt install --only-upgrade centreon* + ``` + + + + +Now you need to finalize the update: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +### Update extensions + +From **Administration > Extensions > Manager**, update all extensions, starting +with the following: + +- License Manager, +- Monitoring Connector Manager, +- Auto Discovery. + +Then you can update all other commercial extensions (such as [MBI](../reporting/update.md) and [MAP](../graph-views/map-web-update.md)). + +## Update the Remote Servers + +This procedure is the same as to update a Centreon central server. + +> At the end of the update, the configuration should be deployed from the central +> server. + +## Update the Pollers + + + + +1. Clean the cache: + + ```shell + dnf clean all --enablerepo=* + ``` + +2. Then upgrade all the components with the following command: + + ```shell + dnf update centreon\* --exclude=centreon-plugin* + ``` + + + + +1. Clean the cache: + + ```shell + dnf clean all --enablerepo=* + ``` + +2. Then upgrade all the components with the following command: + + ```shell + dnf update centreon\* --exclude=centreon-plugin* + ``` + + + + +1. Clean the cache: + + ```shell + apt clean + apt update + ``` + +2. Then upgrade all the components with the following command: + + ```shell + apt-get update && apt-mark hold centreon-pack* && apt-mark hold centreon-plugin* && apt-get install --only-upgrade 'centreon*' + ``` + + + + + > Accept the new GPG keys from the repositories as needed. + +3. Deploy the Poller's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md), +and choose the **Restart** method for the Engine process. + +4. Finally, restart the Gorgone service if it is used on the Poller: + + ```shell + systemctl restart centengine gorgoned + ``` + +5. Run the following command: + + + + +Nothing to do for this OS. + + + + +Nothing to do for this OS. + + + + + ```shell + apt-mark unhold centreon-pack* && apt-mark unhold centreon-plugin* + ``` + + + + +## Unattended update + +You can perform an unattended update of your platform using the **unattended.sh** script. + +1. Download the script using the following command: + +```shell +curl -L https://download.centreon.com/24.10/unattended.sh -O /tmp/unattended +``` + +2. Run the script: + +* For a central server: + +```shell +bash unattended.sh update -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* For a remote server: + +```shell +bash unattended.sh update -t central -v 24.10 -r stable -s -p -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` + +* For a poller: + +```shell +bash unattended.sh update -t poller -v 24.10 -r stable -l DEBUG 2>&1 |tee -a /tmp/unattended-$(date +"%m-%d-%Y-%H%M%S").log +``` diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md new file mode 100644 index 000000000000..7c49aa553a62 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-04.md @@ -0,0 +1,543 @@ +--- +id: upgrade-centreon-ha-from-21-04 +title: Upgrade Centreon HA from Centreon 21.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 21.04 +to version 24.10. + +You cannot simply upgrade a platform with Centreon HA (or Centreon Failover) from a version earlier than 21.04 to version 24.10, as CentOS 7 is no longer supported. You need to [migrate your platform to a supported OS](../../migrate/introduction.md), then install Centreon HA on the new platform. You can also contact Centreon to order a migration service. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +To perform the upgrade, please [follow the official documentation](../../upgrade/upgrade-from-21-04.md) only on the **active central node** and **active database node if needed**. + +Then perform the following commands only on the Central Servers: + + + + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + + + + +On the passive central node, move the "install" directory to avoid getting the "upgrade" screen in the WUI in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-YYYY-MM-DD +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and database servers. Remove them to avoid concurrent executions: + +```bash +rm -rf /etc/cron.d/centreon +rm -rf /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file: + +```shell +expire_logs_days=7 +``` + +If the line is not there, add it, then restart the **ms_mysql** resource: + +```shell +pcs resource restart ms_mysql +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster upgrade + +From Centreon 22.04, MariaDB Replication is based on [GTID](https://mariadb.com/kb/en/gtid/). +It is necessary to destroy the cluster completely and then reconfigure it with +the latest version of the Centreon and MariaDB Replication mechanisms. + +### Maintenance mode and backup + +Perform a backup of the cluster using: + +```bash +pcs config backup centreon_cluster +pcs config export pcs-commands | sed -e :a -e '/\\$/N; s/\\\n//; ta' | sed 's/-f tmp-cib.xml//' | egrep "create|group" | egrep -v "(mysql|php|cbd_rrd)" > centreon_pcs_command.sh +``` + +Check that the file `centreon_cluster.tar.bz2` exists before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +Then check the file centreon_pcs_command.sh. The export command may display some warning lines, but this is not blocking. + +```bash +cat centreon_pcs_command.sh +``` + +The content should looks like this: + +```text +pcs resource create vip ocf:heartbeat:IPaddr2 broadcast=@VIP_BROADCAST_IPADDR@ cidr_netmask=@VIP_CIDR_NETMASK@ flush_routes=true ip=@VIP_IPADDR@ nic=@VIP_IFNAME@ op monitor interval=10s timeout=20s start interval=0s timeout=20s stop interval=0s timeout=20s meta target-role=started +pcs resource create http systemd:httpd24-httpd op monitor interval=5s timeout=20s start interval=0s timeout=40s stop interval=0s timeout=40s meta target-role=started +pcs resource create gorgone systemd:gorgoned op monitor interval=5s timeout=20s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create centreon_central_sync systemd:centreon-central-sync op monitor interval=5s timeout=20s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create cbd_central_broker systemd:cbd-sql op monitor interval=5s timeout=30s start interval=0s timeout=90s stop interval=0s timeout=90s meta target-role=started +pcs resource create centengine systemd:centengine op monitor interval=5s timeout=30s start interval=0s timeout=90s stop interval=0s timeout=90s meta multiple-active=stop_start target-role=started +pcs resource create centreontrapd systemd:centreontrapd op monitor interval=5s timeout=20s start interval=0s timeout=30s stop interval=0s timeout=30s meta target-role=started +pcs resource create snmptrapd systemd:snmptrapd op monitor interval=5s timeout=20s start interval=0s timeout=30s stop interval=0s timeout=30s meta target-role=started +pcs resource group add centreon vip http gorgone centreon_central_sync cbd_central_broker centengine centreontrapd snmptrapd +``` + +This file will be necessary to recreate all the resources of your cluster. + +### Delete the resources + +These commands should run only on the active central node: + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php7 --force +pcs resource delete centreon --force +``` + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete vip_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php7 --force +pcs resource delete centreon --force +``` + + + + +### Reconfigure MariaDB + +It is necessary to modify the mysql configuration by editing the file `/etc/my.cnf.d/server.cnf`: + +> On the 2 Central servers in HA 2 nodes +> On the 2 Database servers in HA 4 nodes. + +```shell +[server] +... +skip-slave-start +log-slave-updates +gtid_strict_mode=ON +expire_logs_days=7 +ignore-db-dir=lost+found +... +``` + +### Launch GTID replication + +Run this command **on the secondary database node**: + +```bash +mysqladmin -p shutdown +``` + +It is important to make sure that MariaDB is completely shut down. Run this command and check that it returns no output: + +```bash +ps -ef | grep mariadb[d] +``` + +Once the service is stopped **on the secondary database node**, run the synchronization script **from the primary database node**: + +```bash +mysqladmin -p shutdown +systemctl restart mariadb +/usr/share/centreon-ha/bin/mysql-sync-bigdb.sh +``` + +This script's output is very verbose and you can't expect to understand everything, so to make sure it went well, focus on the last lines of its output, checking that it looks like this: + +```text +Umount and Delete LVM snapshot + Logical volume "dbbackupdatadir" successfully removed +Start MySQL Slave +Start Replication +Id User Host db Command Time State Info Progress +[variable number of lines] +``` + +The important thing to check is that `Start MySQL Slave` and `Start Replication` are present and are not followed by any errors. + +In addition, the output of this command must display only `OK` results: + +```bash +/usr/share/centreon-ha/bin/mysql-check-status.sh +``` + +The expected output is: + +```text +Connection Status '@CENTRAL_MASTER_NAME@' [OK] +Connection Status '@CENTRAL_SLAVE_NAME@' [OK] +Slave Thread Status [OK] +Position Status [OK] +``` + +### Restart Centreon process + +Then to restart all the processes on the **active central node**: + +```bash +systemctl restart cbd-sql cbd gorgoned centengine centreontrapd +``` + +And on the **passive central node**: + +```bash +systemctl restart cbd +``` + +### Clean broker memory files + +> **WARNING:** perform this command only on the **passive central node**. + +Before resuming cluster resource management, to avoid broker issues, clean up all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -rf /var/lib/centreon-broker/central-broker-master.memory* +rm -rf /var/lib/centreon-broker/central-broker-master.queue* +rm -rf /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +### Recreate the cluster resources + +To be run **only on one central node**: + +> **WARNING:** the syntax of the following command depends on the Linux Distribution you are using. + +> You can find @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @MARIADB_REPL_USER@ +@MARIADB_REPL_USER@ variable in `/etc/centreon-ha/mysql-resources.sh`. + + + + +```bash +pcs resource create "ms_mysql" \ + ocf:heartbeat:mariadb-centreon \ + config="/etc/my.cnf.d/server.cnf" \ + pid="/var/lib/mysql/mysql.pid" \ + datadir="/var/lib/mysql" \ + socket="/var/lib/mysql/mysql.sock" \ + binary="/usr/bin/mysqld_safe" \ + node_list="@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@" \ + replication_user="@MARIADB_REPL_USER@" \ + replication_passwd='@MARIADB_REPL_PASSWD@' \ + test_user="@MARIADB_REPL_USER@" \ + test_passwd="@MARIADB_REPL_PASSWD@" \ + test_table='centreon.host' +``` + + + + +> **WARNING:** the syntax of the following command depends on the Linux Distribution you are using. + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + +VIP Address of database servers + +```bash +pcs resource create vip_mysql \ + ocf:heartbeat:IPaddr2 \ + ip="@VIP_SQL_IPADDR@" \ + nic="@VIP_SQL_IFNAME@" \ + cidr_netmask="@VIP_SQL_CIDR_NETMASK@" \ + broadcast="@VIP_SQL_BROADCAST_IPADDR@" \ + flush_routes="true" \ + meta target-role="stopped" \ + op start interval="0s" timeout="20s" \ + stop interval="0s" timeout="20s" \ + monitor interval="10s" timeout="20s" +``` + + + + + + +#### PHP resource + +```bash +pcs resource create "php" \ + systemd:php-fpm \ + meta target-role="started" \ + op start interval="0s" timeout="30s" \ + stop interval="0s" timeout="30s" \ + monitor interval="5s" timeout="30s" \ + clone +``` + +#### RRD broker resource + +```bash +pcs resource create "cbd_rrd" \ + systemd:cbd \ + meta target-role="started" \ + op start interval="0s" timeout="90s" \ + stop interval="0s" timeout="90s" \ + monitor interval="20s" timeout="30s" \ + clone +``` + +#### Recreating the *centreon* resource group + +```bash +bash centreon_pcs_command.sh +``` + +#### Recreating the constraint + + + + + + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint order stop centreon then demote ms_mysql-clone +``` + + + + + + +In order to bind the primary database role to the Virtual IP, define a mutual constraint: + + + + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the constraint that prevents Centreon processes from running on database nodes and vice-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming cluster resource management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check the health of the cluster + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disabled. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +### Disabled resources + +When you do a `crm_mon -fr` and you have a resource that is disabled: + +```text +... + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Stopped (disabled) +... +``` + +You must enable the resource with the following command: + +```bash +pcs resource enable @RESSOURCE_NAME@ +``` + +In our case: + +```bash +pcs resource enable vip_mysql +``` + +## Verifying platform stability + +You should now check that everything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtime, etc. +* Move resources or reboot the active server and check again that everything is fine. \ No newline at end of file diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md new file mode 100644 index 000000000000..fea9dcc8d773 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-21-10.md @@ -0,0 +1,549 @@ +--- +id: upgrade-centreon-ha-from-21-10 +title: Upgrade Centreon HA from Centreon 21.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 21.10 to version 24.10. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. +When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +To perform the upgrade: + +> For the **active central node** and **active database node if needed** please [follow the official documentation](../../upgrade/upgrade-from-21-10.md) **until the "Post-upgrade actions" step (included)**. + +> For the **passive central node** and **passive database node if needed**, please [follow the official documentation](../../upgrade/upgrade-from-21-10.md) **until the "Update your customized Apache configuration" step (included) only. Do not perform the "Finalizing the upgrade" step.**. + +Then on the two central nodes, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the passive central node, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and database servers. Remove them to avoid concurrent executions on central and database nodes: + +```bash +rm -rf /etc/cron.d/centreon +rm -rf /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file: + +```shell +expire_logs_days=7 +``` + +If the line is not there, add it, then restart the **ms_mysql** resource: + +```shell +pcs resource restart ms_mysql +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the two **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster upgrade + +From Centreon 22.04, MariaDB Replication is based on [GTID](https://mariadb.com/kb/en/gtid/). +It is necessary to destroy the cluster completely and then reconfigure it with the latest version of Centreon and MariaDB replication mechanisms. + +### Maintenance mode and backup + +Perform a backup of the cluster using: + + + + +```bash +pcs config backup centreon_cluster +pcs resource config --output-format=cmd | sed -e :a -e '/\\$/N; s/\\\n//; ta' | sed 's/-f tmp-cib.xml//' | egrep "create|group" | egrep -v "(mysql|php|cbd_rrd)" > centreon_pcs_command.sh +``` + + + + +Check that the file `centreon_cluster.tar.bz2` exists before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +Then check the file centreon_pcs_command.sh. The export command may display some warning lines, but this is not blocking. + +```bash +cat centreon_pcs_command.sh +``` + +The content should looks like this: + + + + +```text +pcs resource create --no-default-ops --force -- vip ocf:heartbeat:IPaddr2 broadcast=@VIP_BROADCAST_IPADDR@ cidr_netmask=@VIP_CIDR_NETMASK@ flush_routes=true ip=@VIP_IPADDR@ nic=@VIP_IFNAME@ op monitor interval=10s id=vip-monitor-interval-10s timeout=20s start interval=0s id=vip-start-interval-0s timeout=20s stop interval=0s id=vip-stop-interval-0s timeout=20s meta target-role=started; +pcs resource create --no-default-ops --force -- http systemd:httpd op monitor interval=5s id=http-monitor-interval-5s timeout=20s start interval=0s id=http-start-interval-0s timeout=40s stop interval=0s id=http-stop-interval-0s timeout=40s meta target-role=started; +pcs resource create --no-default-ops --force -- gorgone systemd:gorgoned op monitor interval=5s id=gorgone-monitor-interval-5s timeout=20s start interval=0s id=gorgone-start-interval-0s timeout=90s stop interval=0s id=gorgone-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- centreon_central_sync systemd:centreon-central-sync op monitor interval=5s id=centreon_central_sync-monitor-interval-5s timeout=20s start interval=0s id=centreon_central_sync-start-interval-0s timeout=90s stop interval=0s id=centreon_central_sync-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- cbd_central_broker systemd:cbd-sql op monitor interval=5s id=cbd_central_broker-monitor-interval-5s timeout=30s start interval=0s id=cbd_central_broker-start-interval-0s timeout=90s stop interval=0s id=cbd_central_broker-stop-interval-0s timeout=90s meta target-role=started; +pcs resource create --no-default-ops --force -- centengine systemd:centengine op monitor interval=5s id=centengine-monitor-interval-5s timeout=30s start interval=0s id=centengine-start-interval-0s timeout=90s stop interval=0s id=centengine-stop-interval-0s timeout=90s meta multiple-active=stop_start target-role=started; +pcs resource create --no-default-ops --force -- centreontrapd systemd:centreontrapd op monitor interval=5s id=centreontrapd-monitor-interval-5s timeout=20s start interval=0s id=centreontrapd-start-interval-0s timeout=30s stop interval=0s id=centreontrapd-stop-interval-0s timeout=30s meta target-role=started; +pcs resource create --no-default-ops --force -- snmptrapd systemd:snmptrapd op monitor interval=5s id=snmptrapd-monitor-interval-5s timeout=20s start interval=0s id=snmptrapd-start-interval-0s timeout=30s stop interval=0s id=snmptrapd-stop-interval-0s timeout=30s meta target-role=started; +pcs resource group add centreon vip http gorgone centreon_central_sync cbd_central_broker centengine centreontrapd snmptrapd; +``` + + + + +This file will be necessary to recreate all the resources of your cluster. + +### Delete the resources + +These commands should run only on the active central node: + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php --force +pcs resource delete centreon --force +``` + + + + +```bash +pcs resource delete ms_mysql --force +pcs resource delete vip_mysql --force +pcs resource delete cbd_rrd --force +pcs resource delete php --force +pcs resource delete centreon --force +``` + + + + +### Reconfigure MariaDB + +It is necessary to modify the mysql configuration by editing the file `/etc/my.cnf.d/server.cnf`: + +> On the 2 Central servers in HA 2 nodes +> On the 2 Database servers in HA 4 nodes. + +```shell +[server] +... +skip-slave-start +log-slave-updates +gtid_strict_mode=ON +expire_logs_days=7 +ignore-db-dir=lost+found +... +``` + +### Launch GTID replication + +Run this command **on the secondary database node**: + +```bash +mysqladmin -p shutdown +``` + +It is important to make sure that MariaDB is completely shut down. Run this command and check that it returns no output: + +```bash +ps -ef | grep mariadb[d] +``` + +Once the service is stopped **on the secondary database node**, run the synchronization script **from the primary database node**: + +```bash +mysqladmin -p shutdown +systemctl restart mariadb +/usr/share/centreon-ha/bin/mysql-sync-bigdb.sh +``` + +This script's output is very verbose. To make sure it went well, focus on the last lines of its output, checking that it looks like this: + +```text +Umount and Delete LVM snapshot + Logical volume "dbbackupdatadir" successfully removed +Start MySQL Slave +Start Replication +Id User Host db Command Time State Info Progress +[variable number of lines] +``` + +The important thing to check is that `Start MySQL Slave` and `Start Replication` are present and are not followed by any errors. + +In addition, the output of this command must display only `OK` results: + +```bash +/usr/share/centreon-ha/bin/mysql-check-status.sh +``` + +The expected output is: + +```text +Connection MASTER Status '@CENTRAL_MASTER_NAME@' [OK] +Connection SLAVE Status '@CENTRAL_SLAVE_NAME@' [OK] +Slave Thread Status [OK] +Position Status [OK] +``` + +### Restart Centreon process + +Then to restart all the processes on the **active central node**: + +```bash +systemctl restart cbd-sql cbd gorgoned centengine centreontrapd +``` + +And on the **passive central node**: + +```bash +systemctl restart cbd +``` + +### Clean broker memory files + +> **WARNING:** perform this command only on the **passive central node**. + +Before resuming cluster resource management, to avoid broker issues, clean up all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -rf /var/lib/centreon-broker/central-broker-master.memory* +rm -rf /var/lib/centreon-broker/central-broker-master.queue* +rm -rf /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +### Recreate the cluster resources + +To be run **only on one central node**: + +> **WARNING:** the syntax of the following command depends on the Linux distribution you are using. + +> You can find the @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @MARIADB_REPL_USER@ @MARIADB_REPL_USER@ variables in `/etc/centreon-ha/mysql-resources.sh` + + + + +```bash +pcs resource create "ms_mysql" \ + ocf:heartbeat:mariadb-centreon \ + config="/etc/my.cnf.d/server.cnf" \ + pid="/var/lib/mysql/mysql.pid" \ + datadir="/var/lib/mysql" \ + socket="/var/lib/mysql/mysql.sock" \ + binary="/usr/bin/mysqld_safe" \ + node_list="@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@" \ + replication_user="@MARIADB_REPL_USER@" \ + replication_passwd='@MARIADB_REPL_PASSWD@' \ + test_user="@MARIADB_REPL_USER@" \ + test_passwd="@MARIADB_REPL_PASSWD@" \ + test_table='centreon.host' +``` + + + + +> **WARNING:** the syntax of the following command depends on the Linux distribution you are using. + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + + + + + + + + +```bash +pcs resource promotable ms_mysql \ + master-node-max="1" \ + clone_max="2" \ + globally-unique="false" \ + clone-node-max="1" \ + notify="true" +``` + +VIP Address of database servers + +```bash +pcs resource create vip_mysql \ + ocf:heartbeat:IPaddr2 \ + ip="@VIP_SQL_IPADDR@" \ + nic="@VIP_SQL_IFNAME@" \ + cidr_netmask="@VIP_SQL_CIDR_NETMASK@" \ + broadcast="@VIP_SQL_BROADCAST_IPADDR@" \ + flush_routes="true" \ + meta target-role="stopped" \ + op start interval="0s" timeout="20s" \ + stop interval="0s" timeout="20s" \ + monitor interval="10s" timeout="20s" +``` + + + + + + +#### PHP resource + +```bash +pcs resource create "php" \ + systemd:php-fpm \ + meta target-role="started" \ + op start interval="0s" timeout="30s" \ + stop interval="0s" timeout="30s" \ + monitor interval="5s" timeout="30s" \ + clone +``` + +#### RRD broker resource + +```bash +pcs resource create "cbd_rrd" \ + systemd:cbd \ + meta target-role="started" \ + op start interval="0s" timeout="90s" \ + stop interval="0s" timeout="90s" \ + monitor interval="20s" timeout="30s" \ + clone +``` + +#### Recreating the *centreon* resource group + +```bash +bash centreon_pcs_command.sh +``` + +#### Recreating the constraint + + + + + + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + +In order to bind the primary database role to the Virtual IP, define a mutual constraint: + + + + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the constraint that prevents Centreon processes from running on database nodes and vice-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming cluster resource management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check the health of the cluster + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disabled. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +### Disabled resources + +When you do a `crm_mon -fr` and you have a resource that is disabled: + +```text +... + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Stopped (disabled) +... +``` + +You must enable the resource with the following command: + +```bash +pcs resource enable @RESSOURCE_NAME@ +``` + +In our case: + +```bash +pcs resource enable vip_mysql +``` + +## Verifying platform stability + +You should now check that everything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtime, etc. +* Move resources or reboot the active server and check again that everything is fine. diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md new file mode 100644 index 000000000000..735d7599211d --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-04.md @@ -0,0 +1,575 @@ +--- +id: upgrade-centreon-ha-from-22-04 +title: Upgrade Centreon HA from Centreon 22.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 22.04 to version 24.10. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. +When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +Before process the upgrade, stop Centreon-Broker-SQL on the **central master node**: + +```bash +systemctl stop cbd-sql +``` + +Now, to perform the upgrade: + +> For the **active central node** and **active database node if needed** please [follow the official documentation](../../upgrade/upgrade-from-22-04.md) **until the "Post-upgrade actions" step included**. + +> For the **passive central node** and **passive database node if needed**, please [follow the official documentation](../../upgrade/upgrade-from-22-04.md) **until the "Update your customized Apache configuration" step included only. Do not perform the "Finalizing the upgrade" step.**. + + + + +Then on the **two central nodes**, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and databases servers. Remove them to avoid concurrent executions on central and database nodes: + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +and restart the cron daemon: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file (or in the **/etc/mysql/mariadb.conf.d/50-server.cnf** on Debian), it is normally already in place since 22.04 and GTID replication: + +```shell +expire_logs_days=7 +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the two **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster ugprade + +Since Centreon 22.04, The mariaDB Replication is now based on [GTID](https://mariadb.com/kb/en/gtid/). + +However, some changes must always be done. + + + + +### Backup the configuration + +Perform a backup of the cluster on central master node using: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Check the file `centreon_cluster.tar.bz2` exist before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modifying order of resources on centreon group + +To optimize managment of resources and to avoid restart cbd-sql when we just want to restart gorgone, we must change there order in the group. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + + + + +### Backup the confguration + +Perform a backup of the cluster on central master node using: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Check the file `centreon_cluster.tar.bz2` exist before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modifying order of resources on centreon group + +To optimize managment of resources and to avoid restart cbd-sql when we just want to restart gorgone, we must change there order in the group. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Modify php-clone resource to use php 8.2 + +Modify php8.0-fpm to php8.2-fpm with the command below (an automatic backup of file is made in export_cluster.xml.bak) + +```bash +sed -i.bak s/php8.0-fpm/php8.2-fpm/ export_cluster.xml +``` + +Verify if modification is made by searching **php8.2-fpm** in xml file + +```bash +grep php8.2-fpm export_cluster.xml +``` + +You should have 3 lines in the result like this: + +```text + + + +``` + +If it's OK, apply changes to the cluster configuration + +```bash +cibadmin --replace --xml-file export_cluster.xml +``` + + + + +### Clean broker memory files + +> **WARNING:** perform this command only the **passive central node**. + +Before resuming the cluster resources management, to avoid broker issues, cleanup all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recreating the constraint + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a result like this: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints. + +In order to glue the Primary Database role with the Virtual IP, define a mutual Constraint: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +First extract all contraint id: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the Constraint that prevent Centreon Processes to run on Database nodes and vice-et-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming the cluster resources management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check cluster's health + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Verifying the platform stability + +You should now check that eveything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtimes, etc. +* Move resources or reboot active server and check again that everything is fine. diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md new file mode 100644 index 000000000000..22c8f005f622 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-22-10.md @@ -0,0 +1,509 @@ +--- +id: upgrade-centreon-ha-from-22-10 +title: Upgrade Centreon HA from Centreon 22.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 22.10 to version 24.10. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. +When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +Before process the upgrade, stop Centreon-Broker-SQL on the **central master node**: + +```bash +systemctl stop cbd-sql +``` + +Now, to perform the upgrade: + +> For the **active central node** and **active database node if needed** please [follow the official documentation](../../upgrade/upgrade-from-22-10.md) **until the "Post-upgrade actions" step included**. + +> For the **passive central node** and **passive database node if needed**, please [follow the official documentation](../../upgrade/upgrade-from-22-10.md) **until the "Update your customized Apache configuration" step included only. Do not perform the "Finalizing the upgrade" step.**. + + + + +Then on the **two central nodes**, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and databases servers. Remove them to avoid concurrent executions on central and database nodes: + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +and restart the cron daemon: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file (or in the **/etc/mysql/mariadb.conf.d/50-server.cnf** on Debian), it is normally already in place since 22.04 and GTID replication: + +```shell +expire_logs_days=7 +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the two **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster ugprade + +Since Centreon 22.04, The mariaDB Replication is now based on [GTID](https://mariadb.com/kb/en/gtid/). + +However, some changes must always be done. + +### Backup the configuration + +Perform a backup of the cluster on central master node using: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Check the file `centreon_cluster.tar.bz2` exist before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modifying order of resources on centreon group + +To optimize managment of resources and to avoid restart cbd-sql when we just want to restart gorgone, we must change there order in the group. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Clean broker memory files + +> **WARNING:** perform this command only the **passive central node**. + +Before resuming the cluster resources management, to avoid broker issues, cleanup all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recreating the constraint + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a result like this: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints. + +In order to glue the Primary Database role with the Virtual IP, define a mutual Constraint: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +First extract all contraint id: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the Constraint that prevent Centreon Processes to run on Database nodes and vice-et-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming the cluster resources management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check cluster's health + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Verifying the platform stability + +You should now check that eveything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtimes, etc. +* Move resources or reboot active server and check again that everything is fine. diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md new file mode 100644 index 000000000000..42da945e1f26 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.04.md @@ -0,0 +1,507 @@ +--- +id: upgrade-centreon-ha-from-23-04 +title: Upgrade Centreon HA from Centreon 23.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 23.04 to version 24.10. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. +When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +Before process the upgrade, stop Centreon-Broker-SQL on the **central master node**: + +```bash +systemctl stop cbd-sql +``` + +Now, to perform the upgrade: + +> For the **active central node** and **active database node if needed** please [follow the official documentation](../../upgrade/upgrade-from-23-04.md) **until the "Post-upgrade actions" step included**. + +> For the **passive central node** and **passive database node if needed**, please [follow the official documentation](../../upgrade/upgrade-from-23-04.md) **until the "Update your customized Apache configuration" step included only. Do not perform the "Finalizing the upgrade" step.**. + + + + +Then on the **two central nodes**, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and databases servers. Remove them to avoid concurrent executions on central and database nodes: + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +and restart the cron daemon: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file (or in the **/etc/mysql/mariadb.conf.d/50-server.cnf** on Debian), it is normally already in place since 22.04 and GTID replication: + +```shell +expire_logs_days=7 +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the two **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster ugprade + +Since Centreon 22.04, The mariaDB Replication is now based on [GTID](https://mariadb.com/kb/en/gtid/). + +However, some changes must always be done. + +### Backup the configuration + +Perform a backup of the cluster on central master node using: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Check the file `centreon_cluster.tar.bz2` exist before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modifying order of resources on centreon group + +To optimize managment of resources and to avoid restart cbd-sql when we just want to restart gorgone, we must change there order in the group. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Clean broker memory files + +> **WARNING:** perform this command only the **passive central node**. + +Before resuming the cluster resources management, to avoid broker issues, cleanup all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recreating the constraint + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint show --full +``` + +You should have a result like this: + +```text +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints. + +In order to glue the Primary Database role with the Virtual IP, define a mutual Constraint: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +First extract all contraint id: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the Constraint that prevent Centreon Processes to run on Database nodes and vice-et-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming the cluster resources management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check cluster's health + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Verifying the platform stability + +You should now check that eveything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtimes, etc. +* Move resources or reboot active server and check again that everything is fine. diff --git a/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md new file mode 100644 index 000000000000..cc358cc75322 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/centreon-ha/upgrade-from-23.10.md @@ -0,0 +1,648 @@ +--- +id: upgrade-centreon-ha-from-23-10 +title: Upgrade Centreon HA from Centreon 23.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon HA platform from version 23.10 to version 24.10. + +## Prerequisites + +### Suspend cluster resources management + +In order to avoid a failover of the cluster during the update, it is necessary to unmanage all Centreon resources, as well as MariaDB. + +```bash +pcs property set maintenance-mode=true +``` + +### Perform a backup + +Be sure that you have fully backed up your environment for the following servers: + +- Central server +- Database server + +### Update the RPM signing key + +For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. +When upgrading from an older version, you need to go through the [key rotation procedure](../../security/key-rotation.md#existing-installation), to remove the old key and install the new one. + +## Upgrade process + +Before process the upgrade, stop Centreon-Broker-SQL on the **central master node**: + +```bash +systemctl stop cbd-sql +``` + +Now, to perform the upgrade: + +> For the **active central node** and **active database node if needed** please [follow the official documentation](../../upgrade/upgrade-from-23-10.md) **until the "Post-upgrade actions" step included**. + +> For the **passive central node** and **passive database node if needed**, please [follow the official documentation](../../upgrade/upgrade-from-23-10.md) **until the "Update your customized Apache configuration" step included only. Do not perform the "Finalizing the upgrade" step.**. + + + + +Then on the **two central nodes**, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +Then on the **two central nodes**, restore the file `/etc/centreon-ha/centreon_central_sync.pm`: + +```shell +mv /etc/centreon-ha/centreon_central_sync.pm.rpmsave /etc/centreon-ha/centreon_central_sync.pm +``` + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u apache /usr/share/centreon/bin/console cache:clear +``` + + + + +On the **passive central node**, move the "install" directory to avoid getting the "upgrade" screen in the interface in the event of a further exchange of roles. + +```bash +mv /usr/share/centreon/www/install /var/lib/centreon/installs/install-update-`date +%Y-%m-%d` +sudo -u www-data /usr/share/centreon/bin/console cache:clear +``` + + + + +### Removing cron jobs + +The RPM upgrade puts cron jobs back in place on the central and databases servers. Remove them to avoid concurrent executions on central and database nodes: + +```bash +rm -f /etc/cron.d/centreon +rm -f /etc/cron.d/centstorage +rm -f /etc/cron.d/centreon-ha-mysql +``` + +and restart the cron daemon: + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart crond +``` + + + + +```bash +systemctl restart cron +``` + + + + +As you have deleted the **centreon-ha-mysql** cron, check that the following line appears in the **server** section of the **/etc/my.cnf.d/server.cnf** file (or in the **/etc/mysql/mariadb.conf.d/50-server.cnf** on Debian), it is normally already in place since 22.04 and GTID replication: + +```shell +expire_logs_days=7 +``` + +### Reset the permissions for centreon_central_sync resource + +The RPM upgrade puts the permissions back in place on the two **central servers**. Change them using these commands: + +```bash +chmod 775 /var/log/centreon-engine/ +mkdir /var/log/centreon-engine/archives +chown centreon-engine: /var/log/centreon-engine/archives +chmod 775 /var/log/centreon-engine/archives/ +find /var/log/centreon-engine/ -type f -exec chmod 664 {} \; +find /usr/share/centreon/www/img/media -type d -exec chmod 775 {} \; +find /usr/share/centreon/www/img/media -type f \( ! -iname ".keep" ! -iname ".htaccess" \) -exec chmod 664 {} \; +``` + +## Cluster ugprade + +Since Centreon 22.04, The mariaDB Replication is now based on [GTID](https://mariadb.com/kb/en/gtid/). + +However, some changes must always be done. + +### Backup the configuration + +Perform a backup of the cluster on central master node using: + +```bash +pcs config backup centreon_cluster +cibadmin -Q > export_cluster.xml +``` + +Check the file `centreon_cluster.tar.bz2` exist before continuing this procedure. + +```bash +ls -l centreon_cluster.tar.bz2 +``` + +You should have a result like this: + +```text +-rw------- 1 root root 2777 May 3 17:49 centreon_cluster.tar.bz2 +``` + +### Modifying order of resources on centreon group + +To optimize managment of resources and to avoid restart cbd-sql when we just want to restart gorgone, we must change there order in the group. + +```bash +pcs resource group remove centreon cbd_central_broker +pcs resource group add centreon cbd_central_broker --before gorgone +``` + +### Clean broker memory files + +> **WARNING:** perform this command only the **passive central node**. + +Before resuming the cluster resources management, to avoid broker issues, cleanup all the *.memory.*, *.unprocessed.* or *.queue.* files: + +```bash +rm -f /var/lib/centreon-broker/central-broker-master.memory* +rm -f /var/lib/centreon-broker/central-broker-master.queue* +rm -f /var/lib/centreon-broker/central-broker-master.unprocessed* +``` + +#### Recreating the constraint + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full +``` + +You should have a similar result: + +```text +Colocation Constraints: + Promoted resource 'centreon' with Started resource 'ms_mysql-clone' (id: colocation-centreon-ms_mysql-clone-INFINITY) + score=INFINITY + Promoted resource 'ms_mysql-clone' with Started resource 'centreon' (id: colocation-ms_mysql-clone-centreon-INFINITY) + score=INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a result like this: + +```text +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-centreon-INFINITY +colocation-centreon-ms_mysql-clone-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete order-centreon-ms_mysql-clone-mandatory +pcs constraint delete colocation-ms_mysql-clone-centreon-INFINITY +pcs constraint delete colocation-centreon-ms_mysql-clone-INFINITY +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add master "ms_mysql-clone" with "centreon" +pcs constraint colocation add master "centreon" with "ms_mysql-clone" +``` + + + + + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints. + +In order to glue the Primary Database role with the Virtual IP, define a mutual Constraint: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +First extract all contraint IDs: + +```bash +pcs constraint config --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +location-centreon-cc-ha-bdd2-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web1-2210-alma8--INFINITY +location-ms_mysql-clone-cc-ha-web2-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd1-2210-alma8--INFINITY +location-php-clone-cc-ha-bdd2-2210-alma8--INFINITY +order-centreon-ms_mysql-clone-mandatory +colocation-ms_mysql-clone-vip_mysql-INFINITY +colocation-centreon-vip-INFINITY +``` + +and delete **all** constraints, **adapt IDs with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd1-2210-alma8--INFINITY +pcs constraint delete location-cbd_rrd-clone-cc-ha-bdd2-2210-alma8--INFINITY +pcs constraint delete location-centreon-cc-ha-bdd1-2210-alma8--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints. + +In order to glue the Primary Database role with the Virtual IP, define a mutual Constraint: + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +First extract all contraint id: + +```bash +pcs constraint show --full | grep "id:" | awk -F "id:" '{print $2}' | sed 's/.$//' +``` + +You should have a similar result depending of your host names: + +```text +location-cbd_rrd-clone-deb11-bdd1--INFINITY +location-cbd_rrd-clone-deb11-bdd2--INFINITY +location-centreon-deb11-bdd1--INFINITY +location-centreon-deb11-bdd2--INFINITY +location-ms_mysql-clone-deb11-central1--INFINITY +location-ms_mysql-clone-deb11-central2--INFINITY +location-php-clone-deb11-bdd1--INFINITY +location-php-clone-deb11-bdd2--INFINITY +colocation-vip_mysql-ms_mysql-clone-INFINITY-1 +colocation-ms_mysql-clone-vip_mysql-INFINITY +``` + +and delete **all** constraints, **adapt ids with your own** + +```bash +pcs constraint delete location-cbd_rrd-clone-deb11-bdd1--INFINITY +pcs constraint delete location-cbd_rrd-clone-deb11-bdd2--INFINITY +pcs constraint delete location-centreon-deb11-bdd1--INFINITY +... +``` + +Verify if all constraint are well deleted: + +```bash +pcs constraint +``` + +You should have a result like this: + +```text +Location Constraints: +Ordering Constraints: +Colocation Constraints: +Ticket Constraints: +``` + +If it's OK, then recreate only needed constraints + +```bash +pcs constraint colocation add "vip_mysql" with master "ms_mysql-clone" +pcs constraint colocation add master "ms_mysql-clone" with "vip_mysql" +``` + + + + +Then recreate the Constraint that prevent Centreon Processes to run on Database nodes and vice-et-versa: + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + +```bash +pcs constraint location centreon avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location ms_mysql-clone avoids @CENTRAL_MASTER_NAME@=INFINITY @CENTRAL_SLAVE_NAME@=INFINITY +pcs constraint location cbd_rrd-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +pcs constraint location php-clone avoids @DATABASE_MASTER_NAME@=INFINITY @DATABASE_SLAVE_NAME@=INFINITY +``` + + + + + + +## Resuming the cluster resources management + +Now that the update is finished, the resources can be managed again: + +```bash +pcs property set maintenance-mode=false +pcs resource cleanup +``` + +## Check cluster's health + +You can monitor the cluster's resources in real time using the `crm_mon -fr` command: +> **INFO:** The `-fr` option allows you to display all resources even if they are disable. + + + + +```text +Stack: corosync +Current DC: @CENTRAL_SLAVE_NAME@ (version 1.1.20-5.el7_7.2-3c4c782f70) - partition with quorum +Last updated: Thu Feb 20 13:14:17 2020 +Last change: Thu Feb 20 09:25:54 2020 by root via crm_attribute on @CENTRAL_MASTER_NAME@ + +2 nodes configured +14 resources configured + +Online: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @CENTRAL_MASTER_NAME@ ] + Slaves: [ @CENTRAL_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +``` + + + + +```text +[...] +4 nodes configured +21 resources configured + +Online: [@CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@] + +Active resources: + + Master/Slave Set: ms_mysql-master [ms_mysql] + Masters: [ @DATABASE_MASTER_NAME@ ] + Slaves: [ @DATABASE_SLAVE_NAME@ ] + Stopped: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] +vip_mysql (ocf::heartbeat:IPaddr2): Started @DATABASE_MASTER_NAME@ + Clone Set: php-clone [php] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Clone Set: cbd_rrd-clone [cbd_rrd] + Started: [ @CENTRAL_MASTER_NAME@ @CENTRAL_SLAVE_NAME@ ] + Stopped: [ @DATABASE_MASTER_NAME@ @DATABASE_SLAVE_NAME@ ] + Resource Group: centreon + vip (ocf::heartbeat:IPaddr2): Started @CENTRAL_MASTER_NAME@ + http (systemd:httpd24-httpd): Started @CENTRAL_MASTER_NAME@ + gorgone (systemd:gorgoned): Started @CENTRAL_MASTER_NAME@ + centreon_central_sync (systemd:centreon-central-sync): Started @CENTRAL_MASTER_NAME@ + cbd_central_broker (systemd:cbd-sql): Started @CENTRAL_MASTER_NAME@ + centengine (systemd:centengine): Started @CENTRAL_MASTER_NAME@ + centreontrapd (systemd:centreontrapd): Started @CENTRAL_MASTER_NAME@ + snmptrapd (systemd:snmptrapd): Started @CENTRAL_MASTER_NAME@ +``` + + + + +## Verifying the platform stability + +You should now check that eveything works fine: + +* Access to the web UI menus. +* Poller configuration generation + reload and restart method. +* Schedule immediate checks (Central + Pollers) , acknowledgements, downtimes, etc. +* Move resources or reboot active server and check again that everything is fine. diff --git a/versioned_docs/version-25.10/upgrade/introduction.md b/versioned_docs/version-25.10/upgrade/introduction.md new file mode 100644 index 000000000000..e6568c8e3749 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/introduction.md @@ -0,0 +1,25 @@ +--- +id: introduction +title: Introduction to upgrade +--- + +This chapter describes how to upgrade your Centreon monitoring platform, i.e. switching between major versions (for instance, from 21.10 to 24.10). + +> As of version 23.04, Centreon no longer supports CentOS 7. If your Centreon platform was installed on CentOS 7, you cannot simply upgrade it; you must change to a [supported OS](../installation/compatibility.md#operating-systems) using a [migration procedure](../migrate/introduction.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +This procedure is linked to your initial version of Centreon. You will have to +**use packages** if you already installed using Centreon ISO or an RPM, and +source files if you installed from sources. Before upgrading Centreon, remember +to make a backup of your system. + +> If you are using at least one of the BAM, MAP or MBI modules, you must install +> their new repository to avoid dependency problems. +> Refer to [this page](../reporting/upgrade.md#update-the-repository). + +> If you want to change the OS of the host server, follow the [migration procedure](../migrate/introduction.md). (If you want to migrate a platform that uses **Centreon Poller Display 1.6.x**, refer +> to the corresponding [migration procedure](../migrate/poller-display-to-remote-server.md).) + +> The upgrade process can start only from versions **2.8.0** and later. If you +> have an earlier version, please update to the latest *2.8.x* version first. diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-20-10.md b/versioned_docs/version-25.10/upgrade/upgrade-from-20-10.md new file mode 100644 index 000000000000..82de0eba81d9 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-20-10.md @@ -0,0 +1,497 @@ +--- +id: upgrade-from-20-10 +title: Upgrade from Centreon 20.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 20.10 +to version 24.10. + +You cannot simply upgrade Centreon from a version earlier than 20.10 to version 24.10, as CentOS 7 is no longer supported. You need to [migrate your platform to a supported OS](../migrate/introduction.md). + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +> If you want to migrate your Centreon server to Oracle Linux / RHEL 8 or 9 +> you need to follow the [migration procedure](../migrate/migrate-from-el-to-el.md) + +> To perform this procedure, your MariaDB version must be >= 10.3.22. +> If not, please follow [this](./upgrade-mariadb.md) +> procedure in order to update MariaDB before you can continue with the upgrade +> from version 20.10 to version 24.10 as described by this document. + +> Warning: following the correction of a problem relating to the database schema, it will be necessary to stop the +> insertion of data collected in the database during the update. These will be stored in temporary files and then +> installed at the end of the update process. + +## Prerequisites + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +### Update the RPM signing key + +> For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation) to remove the old key and install the new one. + +## Upgrade the Centreon Central server + +> From 24.04, Centreon uses **MariaDB 10.11**. +> +> This upgrade process will only upgrade Centreon components first. +> +> MariaDB will be upgraded afterwards. + +### Install the new repositories + +1. On your 20.10 platform, replace `https://packages.centreon.com/rpm-standard` or `https://yum.centreon.com/standard` by `https://archives.centreon.com/standard/` in your current YUM configuration (by default, `/etc/yum.repos.d/centreon.repo`). + +2. Update your Centreon 20.10 to the latest minor version. + +3. Remove the **centreon.repo** file: + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Install the MariaDB repository + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=rhel --os-version=8 --mariadb-server-version="mariadb-10.11" +``` + + + + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +First, you need to install the **remi** repository: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Then, you need to change the PHP stream from version 7.3 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +First, you need to install the **remi** repository: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +``` + +Then, you need to change the PHP stream from version 7.3 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +Stop the Centreon Broker process: +```shell +systemctl stop cbd +``` + +Delete existing retention files: +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Accept new GPG keys from the repositories as needed. + + + + +Execute the following commands: +```shell +systemctl enable php-fpm +systemctl restart php-fpm +``` + + + + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +In particular, make sure your customized Apache configuration contains the following directive (with **authentication**). + +``` + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + +``` + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Upgrade the MariaDB server + +The MariaDB components can now be upgraded. + +> Refer to the official MariaDB documentation for more information about this process: +> +> https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/ + +#### Update the Centreon repository + +> This step is required ONLY when your environment features an architecture with +> a dedicated remote DBMS. If your environment features Centreon Central and +> MariaDB together on the same server, you SHOULD simply skip this step. + +Run the following command on the dedicated DBMS server: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +#### Upgrading MariaDB + +You must uninstall and then reinstall MariaDB to upgrade between major versions (i.e. to switch from version 10.3 to version 10.11). + +1. Stop the MariaDB service: + + ```shell + systemctl stop mariadb + ``` + +2. Uninstall the current version: + + ```shell + rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common + ``` + + > During this uninstallation step, you may encounter an error because one or several MariaDB packages are missing. In that case, you should execute the uninstallation command without including the missing package. + + For instance, if you see the following error message: + + ```shell + package MariaDB-compat is not installed + ``` + + As **MariaDB-compat** is the missing package, please execute the same command without quoting **MariaDB-compat**: + + ```shell + rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-common + ``` + + > Make sure you have [installed the official MariaDB repository](upgrade-from-20-10.md#install-the-mariadb-repository) before you continue the procedure. + +3. Install the 10.11 version: + + ```shell + dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-common-10.11\* + ``` + +4. Start the MariaDB service: + + ```shell + systemctl start mariadb + ``` + +5. Launch the MariaDB upgrade process: + + ```shell + mysql_upgrade + ``` + + If your database is password-protected, enter: + + ```shell + mysql_upgrade -u -p + ``` + + Example: if your database_admin_user is `root`, enter: + + ``` + mysql_upgrade -u root -p + ``` + + > Refer to the [official documentation](https://mariadb.com/kb/en/mysql_upgrade/) + > for more information or if errors occur during this last step. + +#### Enable MariaDB on startup + +Execute the following command: + +```shell +systemctl enable mariadb +``` + +### Finalizing the upgrade + + + + +Before starting the web upgrade process, reload the Apache server with the +following command: +```shell +systemctl reload httpd +``` + + + + +Then log on to the Centreon web interface to continue the upgrade process: + +Click **Next**: + +![image](../assets/upgrade/web_update_1.png) + +Click **Next**: + +![image](../assets/upgrade/web_update_2.png) + +The release notes describe the main changes. Click **Next**: + +![image](../assets/upgrade/web_update_3.png) + +This process performs the various upgrades. Click **Next**: + +![image](../assets/upgrade/web_update_4.png) + +Your Centreon server is now up to date. Click **Finish** to access the login +page: + +![image](../assets/upgrade/web_update_5.png) + +> As the interface layout has changed in version 23.04, you need to clear your browser cache to display the new theme. + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Upgrade all the components with the following command: + +```shell +dnf update centreon\* +``` + +> Accept new GPG keys from the repositories as needed. + +Start and enable **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Restart **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-21-04.md b/versioned_docs/version-25.10/upgrade/upgrade-from-21-04.md new file mode 100644 index 000000000000..9f24e9bf823d --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-21-04.md @@ -0,0 +1,372 @@ +--- +id: upgrade-from-21-04 +title: Upgrade from Centreon 21.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 21.04 +to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon server to Oracle Linux / RHEL 8 +> you need to follow the [migration procedure](../migrate/migrate-from-el-to-el.md) + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +### Update the RPM signing key + +> For security reasons, the keys used to sign Centreon RPMs are rotated regularly. The last change occurred on October 14, 2021. When upgrading from an older version, you need to go through the [key rotation procedure](../security/key-rotation.md#existing-installation) to remove the old key and install the new one. + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + +1. On your 21.04 platform, replace `https://packages.centreon.com/rpm-standard` or `https://yum.centreon.com/standard` by `https://archives.centreon.com/standard/` in your current YUM configuration (by default, `/etc/yum.repos.d/centreon.repo`). + +2. Update your Centreon 21.04 to the latest minor version. + +3. Remove the **centreon.repo** file: + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +First, you need to install the **remi** repository: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +sudo subscription-manager repos --enable codeready-builder-for-rhel-8-x86_64-rpms +``` + +Then, you need to change the PHP stream from version 7.3 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +First, you need to install the **remi** repository: + +```shell +dnf install -y dnf-plugins-core +dnf install -y https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm +dnf install -y https://rpms.remirepo.net/enterprise/remi-release-8.rpm +``` + +Then, you need to change the PHP stream from version 7.3 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Accept new GPG keys from the repositories as needed. + + + + +Execute the following commands: + +```shell +systemctl enable php-fpm +systemctl restart php-fpm +``` + + + + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +In particular, make sure your customized Apache configuration contains the following directive (with **authentication**). + +``` + + ProxyPassMatch "fcgi://127.0.0.1:9042${install_dir}/api/index.php/$1" + +``` + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + + + + +Before starting the web upgrade process, reload the Apache server with the +following command: + +```shell +systemctl reload httpd +``` + + + + +Then log on to the Centreon web interface to continue the upgrade process: + +Click **Next**: + +![image](../assets/upgrade/web_update_1.png) + +Click **Next**: + +![image](../assets/upgrade/web_update_2.png) + +The release notes describe the main changes. Click **Next**: + +![image](../assets/upgrade/web_update_3.png) + +This process performs the various upgrades. Click **Next**: + +![image](../assets/upgrade/web_update_4.png) + +Your Centreon server is now up to date. Click **Finish** to access the login +page: + +![image](../assets/upgrade/web_update_5.png) + +> As the interface layout has changed in version 22.10, you need to clear your browser cache to display the new theme. + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ```shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11.. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Upgrade all the components with the following command: + +```shell +dnf update centreon\* +``` + +> Accept new GPG keys from the repositories as needed. + +Start and enable **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Restart **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-21-10.md b/versioned_docs/version-25.10/upgrade/upgrade-from-21-10.md new file mode 100644 index 000000000000..407ee805acfb --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-21-10.md @@ -0,0 +1,327 @@ +--- +id: upgrade-from-21-10 +title: Upgrade from Centreon 21.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 21.10 +to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon server to Oracle Linux / RHEL 8 +> you need to follow the [migration procedure](../migrate/migrate-from-el-to-el.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + +1. On your 21.10 platform, replace `https://packages.centreon.com/rpm-standard` or `https://yum.centreon.com/standard` by `https://archives.centreon.com/standard/` in your current YUM configuration (by default, `/etc/yum.repos.d/centreon.repo`). + +2. Update your Centreon 21.10 to the latest minor version. + +3. Remove the **centreon.repo** file: + + ```shell + rm /etc/yum.repos.d/centreon.repo + ``` + +4. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.0 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.0 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +Stop the Centreon Broker process: +```shell +systemctl stop cbd +``` + +Delete existing retention files: +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + + + + +Before starting the web upgrade process, reload the Apache server with the +following command: +```shell +systemctl reload httpd +``` + + + + +Then log on to the Centreon web interface to continue the upgrade process: + +Click **Next**: + +![image](../assets/upgrade/web_update_1.png) + +Click **Next**: + +![image](../assets/upgrade/web_update_2.png) + +The release notes describe the main changes. Click **Next**: + +![image](../assets/upgrade/web_update_3.png) + +This process performs the various upgrades. Click **Next**: + +![image](../assets/upgrade/web_update_4.png) + +Your Centreon server is now up to date. Click **Finish** to access the login +page: + +![image](../assets/upgrade/web_update_5.png) + +> As the interface layout has changed in version 23.04, you need to clear your browser cache to display the new theme. + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + +```shell +dnf clean all --enablerepo=* +``` + +Upgrade all the components with the following command: + +```shell +dnf update centreon\* +``` + +> Accept new GPG keys from the repositories as needed. + +Start and enable **gorgoned**: + +```shell +systemctl start gorgoned +systemctl enable gorgoned +``` + +Restart **centengine**: + +```shell +systemctl restart centengine +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-22-04.md b/versioned_docs/version-25.10/upgrade/upgrade-from-22-04.md new file mode 100644 index 000000000000..22f0b5bc0128 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-22-04.md @@ -0,0 +1,570 @@ +--- +id: upgrade-from-22-04 +title: Upgrade from Centreon 22.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 22.04 +to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon platform to another server/OS, follow the [migration procedure](../migrate/introduction.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + + + + +1. Update your Centreon 22.04 to the latest minor version. + +2. Remove the **centreon-22.04.repo** file: + + ```shell + rm /etc/yum.repos.d/centreon-22.04.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Update your Centreon 22.04 to the latest minor version. +2. Run the following commands: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.0 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.0 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module install php:remi-8.2 +``` + + + + +```shell +systemctl stop php8.0-fpm +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +If your OS is Debian 12 and you have a customized Apache configuration, perform a backup of your configuration file (**/etc/apache2/sites-available/centreon.conf**). + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Use the backup file you created in the previous step to copy your customizations to the file **/etc/apache2/sites-available/centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apache2ctl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php8.0-fpm apache2 +``` + +Then check its status: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + +Before starting the web upgrade process, reload the Apache server with the +following command: + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.0-fpm.service +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Then you need to finalize the upgrade process: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Update the permissions on the centreon-broker configuration files. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +> As the interface layout has changed in version 22.10, you need to clear your browser cache to display the new theme. + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + +> Accept new GPG keys from the repositories as needed. + +Restart **centreon**: + +```shell +systemctl restart centreon +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-22-10.md b/versioned_docs/version-25.10/upgrade/upgrade-from-22-10.md new file mode 100644 index 000000000000..a554ca9f2977 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-22-10.md @@ -0,0 +1,563 @@ +--- +id: upgrade-from-22-10 +title: Upgrade from Centreon 22.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 22.10 +to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon platform to another server/OS, follow the [migration procedure](../migrate/introduction.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + + + + +1. Update your Centreon 22.10 to the latest minor version. + +2. Remove the **centreon-22.10.repo** file: + + ```shell + rm /etc/yum.repos.d/centreon-22.10.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Update your Centreon 22.10 to the latest minor version. +2. Run the following commands: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +If your OS is Debian 12 and you have a customized Apache configuration, perform a backup of your configuration file (**/etc/apache2/sites-available/centreon.conf**). + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Use the backup file you created in the previous step to copy your customizations to the file **/etc/apache2/sites-available/centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apache2ctl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Check the status of Apache: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + +Before starting the web upgrade process, reload the Apache server with the +following command: + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.0-fpm +systemctl disable php8.0-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Then you need to finalize the upgrade process: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Update the permissions on the centreon-broker configuration files. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + +> Accept new GPG keys from the repositories as needed. + +Restart **centreon**: + +```shell +systemctl restart centreon +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-23-04.md b/versioned_docs/version-25.10/upgrade/upgrade-from-23-04.md new file mode 100644 index 000000000000..762ab7884ceb --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-23-04.md @@ -0,0 +1,697 @@ +--- +id: upgrade-from-23-04 +title: Upgrade from Centreon 23.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 23.04 +to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon platform to another server/OS, follow the [migration procedure](../migrate/introduction.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + + + + +1. Update your Centreon 23.04 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-23.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Update your Centreon 23.04 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-23.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Update your Centreon 23.04 to the latest minor version. +2. Run the following commands: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +If your OS is Debian 12 and you have a customized Apache configuration, perform a backup of your configuration file (**/etc/apache2/sites-available/centreon.conf**). + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Use the backup file you created in the previous step to copy your customizations to the file **/etc/apache2/sites-available/centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apache2ctl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Check the status of Apache: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + +Before starting the web upgrade process, reload the Apache server with the +following command: + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Then you need to finalize the upgrade process: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Update the permissions on the centreon-broker configuration files. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + +> Accept new GPG keys from the repositories as needed. + +Restart **centreon**: + +```shell +systemctl restart centreon +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-23-10.md b/versioned_docs/version-25.10/upgrade/upgrade-from-23-10.md new file mode 100644 index 000000000000..6c837e15a082 --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-23-10.md @@ -0,0 +1,696 @@ +--- +id: upgrade-from-23-10 +title: Upgrade from Centreon 23.10 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 23.10 to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. All servers in your architecture must have the same version of Centreon. In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon platform to another server/OS, follow the [migration procedure](../migrate/introduction.md). + +> Business edition users: MAP Legacy is no longer available in Centreon 24.10. If you are still using MAP Legacy, you will need to migrate to MAP. See [MAP Legacy end of life](https://docs.centreon.com/docs/graph-views/map-legacy-eol/). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + + + + +1. Update your Centreon 23.10 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-23.10.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Update your Centreon 23.10 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-23.10.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Update your Centreon 23.10 to the latest minor version. +2. Run the following commands: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +If your OS is Debian 12 and you have a customized Apache configuration, perform a backup of your configuration file (**/etc/apache2/sites-available/centreon.conf**). + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Use the backup file you created in the previous step to copy your customizations to the file **/etc/apache2/sites-available/centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apache2ctl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Check the status of Apache: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + +Before starting the web upgrade process, reload the Apache server with the +following command: + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Then you need to finalize the upgrade process: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Update the permissions on the centreon-broker configuration files. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + +> Accept new GPG keys from the repositories as needed. + +Restart **centreon**: + +```shell +systemctl restart centreon +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-from-24-04.md b/versioned_docs/version-25.10/upgrade/upgrade-from-24-04.md new file mode 100644 index 000000000000..e4598b319e7c --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-from-24-04.md @@ -0,0 +1,699 @@ +--- +id: upgrade-from-24-04 +title: Upgrade from Centreon 24.04 +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +This chapter describes how to upgrade your Centreon platform from version 24.04 to version 24.10. + +> When you upgrade your central server, make sure you also upgrade all your remote servers and your pollers. +> +> All servers in your architecture must have the same version of Centreon. +> +> In addition, all servers must use the same [version of the BBDO protocol](../developer/developer-broker-bbdo.md#switching-versions-of-bbdo). + +> If you want to migrate your Centreon platform to another server/OS, follow the [migration procedure](../migrate/introduction.md). + +## Prerequisites + +### Perform a backup + +Be sure that you have fully backed up your environment for the following +servers: + +- Central server +- Database server + +## Upgrade the Centreon Central server + +> When you run a command, check its output. If you get an error message, stop the procedure and fix the issue. + +### Install the new repositories + + + + +1. Update your Centreon 24.04 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-24.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +1. Update your Centreon 24.04 to the latest minor version. + +2. Remove the repository files: + + ```shell + rm /etc/yum.repos.d/centreon-24.04.repo + rm /etc/yum.repos.d/centreon.repo + ``` + +3. Install the new repository: + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +1. Update your Centreon 24.04 to the latest minor version. + +2. Run the following commands: + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +echo "deb https://packages.centreon.com/apt-plugins-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon-plugins.list +``` + +3. Then import the repository key: + +```shell +wget -O- https://apt-key.centreon.com | gpg --dearmor | tee /etc/apt/trusted.gpg.d/centreon.gpg > /dev/null 2>&1 +apt update +``` + + + + +> If you have an [offline license](../administration/licenses.md#types-of-licenses), also remove the old Monitoring Connectors repository, then install the new one. +> +> If you have a Business edition, do the same with the Business repository. +> +> You can find the address of these repositories on the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories). + +### Upgrade PHP + +Centreon 24.10 uses PHP in version 8.2. + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:remi-8.2 +``` + + + + +You need to change the PHP stream from version 8.1 to 8.2 by executing the following commands and answering **y** +to confirm: + +```shell +dnf module reset php +``` + +```shell +dnf module enable php:8.2 +``` + + + + +```shell +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +``` + + + + +### Upgrade the Centreon solution + +> Make sure all users are logged out from the Centreon web interface +> before starting the upgrade procedure. + +If you have installed Business extensions, update the Business repository to version 24.10. +Visit the [support portal](https://support.centreon.com/hc/en-us/categories/10341239833105-Repositories) to get its address. + +If your OS is Debian 12 and you have a customized Apache configuration, perform a backup of your configuration file (**/etc/apache2/sites-available/centreon.conf**). + +Stop the Centreon Broker process: + +```shell +systemctl stop cbd +``` + +Delete existing retention files: + +```shell +rm /var/lib/centreon-broker/* -f +``` + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +dnf update centreon\* php-pecl-gnupg +``` + + + + +```shell +apt install --only-upgrade centreon +``` + + + + +> Accept new GPG keys from the repositories as needed. + +### Update your customized Apache configuration + +This section only applies if you customized your Apache configuration. + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +When you upgrade your platform, the Apache configuration file is not upgraded automatically. The new configuration file brought by the rpm does not replace the old file. You must copy the changes manually to your customized configuration file. + +Run a diff between the old and the new Apache configuration files: + +```shell +diff -u /etc/httpd/conf.d/10-centreon.conf /etc/httpd/conf.d/10-centreon.conf.rpmnew +``` + +* **10-centreon.conf** (post upgrade): this file contains the custom configuration. It does not contain anything new brought by the upgrade. +* **10-centreon.conf.rpmnew** (post upgrade): this file is provided by the rpm; it does not contain any custom configuration. + +For each difference between the files, assess whether you should copy it from **10-centreon.conf.rpmnew** to **10-centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apachectl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Restart the Apache and PHP processes to take the new configuration into account: + +```shell +systemctl restart php-fpm httpd +``` + +Then check its status: + +```shell +systemctl status httpd +``` + +If everything is ok, you should have: + +```shell +● httpd.service - The Apache HTTP Server + Loaded: loaded (/usr/lib/systemd/system/httpd.service; enabled; vendor preset: disabled) + Drop-In: /usr/lib/systemd/system/httpd.service.d + └─php-fpm.conf + Active: active (running) since Tue 2020-10-27 12:49:42 GMT; 2h 35min ago + Docs: man:httpd.service(8) + Main PID: 1483 (httpd) + Status: "Total requests: 446; Idle/Busy workers 100/0;Requests/sec: 0.0479; Bytes served/sec: 443 B/sec" + Tasks: 278 (limit: 5032) + Memory: 39.6M + CGroup: /system.slice/httpd.service + ├─1483 /usr/sbin/httpd -DFOREGROUND + ├─1484 /usr/sbin/httpd -DFOREGROUND + ├─1485 /usr/sbin/httpd -DFOREGROUND + ├─1486 /usr/sbin/httpd -DFOREGROUND + ├─1487 /usr/sbin/httpd -DFOREGROUND + └─1887 /usr/sbin/httpd -DFOREGROUND + +``` + + + + +Use the backup file you created in the previous step to copy your customizations to the file **/etc/apache2/sites-available/centreon.conf**. + +Check that Apache is configured properly by running the following command: + +```shell +apache2ctl configtest +``` + +The expected result is the following: + +```shell +Syntax OK +``` + +Check the status of Apache: + +```shell +systemctl status apache2 +``` + +If everything is ok, you should have: + +```shell +● apache2.service - The Apache HTTP Server + Loaded: loaded (/lib/systemd/system/apache2.service; enabled; vendor pres> + Active: active (running) since Tue 2022-08-09 05:01:36 UTC; 3h 56min ago + Docs: https://httpd.apache.org/docs/2.4/ + Main PID: 518 (apache2) + Tasks: 11 (limit: 2356) + Memory: 18.1M + CPU: 1.491s + CGroup: /system.slice/apache2.service + ├─ 518 /usr/sbin/apache2 -k start + ├─1252 /usr/sbin/apache2 -k start + ├─1254 /usr/sbin/apache2 -k start + ├─1472 /usr/sbin/apache2 -k start + ├─3857 /usr/sbin/apache2 -k start + ├─3858 /usr/sbin/apache2 -k start + ├─3859 /usr/sbin/apache2 -k start + ├─3860 /usr/sbin/apache2 -k start + ├─3876 /usr/sbin/apache2 -k start + ├─6261 /usr/sbin/apache2 -k start + └─6509 /usr/sbin/apache2 -k start +``` + + + + +#### Customized Apache configuration: enable text compression + +In order to improve page loading speed, you can activate text compression on the Apache server. It requires the **brotli** package to work. This is optional, but it provides a better user experience. + +Add the following code to your Apache configuration file, in both the `` and `` elements: + +```shell + + AddOutputFilterByType BROTLI_COMPRESS text/html text/plain text/xml text/css text/javascript application/javascript application/json + +AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css text/javascript application/javascript application/json +``` + +### Finalizing the upgrade + +Before starting the web upgrade process, reload the Apache server with the +following command: + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +systemctl reload php-fpm httpd +``` + + + + +```shell +apt autoremove +systemctl daemon-reload +systemctl stop php8.1-fpm +systemctl disable php8.1-fpm +systemctl enable php8.2-fpm +systemctl start php8.2-fpm +systemctl restart apache2 +``` + + + + +Then you need to finalize the upgrade process: + + + + +1. Log on to the Centreon web interface to continue the update process. Click **Next**: + + ![image](../assets/upgrade/web_update_1.png) + +2. Click **Next**: + + ![image](../assets/upgrade/web_update_2.png) + +3. The release notes describe the main changes. Click **Next**: + + ![image](../assets/upgrade/web_update_3.png) + +4. This process performs the various upgrades. Click **Next**: + + ![image](../assets/upgrade/web_update_4.png) + +5. Your Centreon server is now up to date. Click **Finish** to access the login +page: + + ![image](../assets/upgrade/web_update_5.png) + + > If the Centreon BAM module is installed, refer to the [update procedure](../service-mapping/update.md). + +6. Deploy the central's configuration from the Centreon web UI by following [this +procedure](../monitoring/monitoring-servers/deploying-a-configuration.md). + + + + +1. Log on to the central server through your terminal to continue the update process. + + > You need an authentication token to reach the API endpoint. Perform the following procedure to get a token. + + In our case, we have the configuration described below (you need to adapt the procedure to your configuration). + - address: 10.25.XX.XX + - port: 80 + - version: 24.10 + - login: Admin + - password: xxxxx + +2. Enter the following request: + + ```shell + curl --location --request POST '10.25.XX.XX:80/centreon/api/v24.10/login' \ + --header 'Content-Type: application/json' \ + --header 'Accept: application/json' \ + --data '{ + "security": { + "credentials": { + "login": "Admin", + "password": "xxxxx" + } + } + }' + ``` + + This is how the result should look: + + ```shell + {"contact":{"id":1,"name":"Admin Centreon","alias":"admin","email":"admin@localhost","is_admin":true},"security":{"token":"hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S"}} + ``` + +3. Retrieve the token number to use it in the next request. + +4. Then enter this request: + + ```shell + curl --location --request PATCH 'http://10.25.XX.XX:80/centreon/api/latest/platform/updates' \ + --header 'X-AUTH-TOKEN: hwwE7w/ukiiMce2lwhNi2mcFxLNYPhB9bYSKVP3xeTRUeN8FuGQms3RhpLreDX/S' \ + --header 'Content-Type: application/json' \ + --data '{ + "components": [ + { + "name": "centreon-web" + } + ] + }' + ``` + +5. This request does not return any result. To check if the update has been successfully applied, read the version number displayed on the Centreon web interface login page. + + + + +Finally, restart Broker, Engine and Gorgone on the central server by running this command: + + ```shell + systemctl restart cbd centengine gorgoned + ``` + +Update the permissions on the centreon-broker configuration files. + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker apache +usermod -a -G apache centreon-broker +``` + + + + +```shell +usermod -a -G centreon-broker www-data +usermod -a -G www-data centreon-broker +``` + + + + +If the Centreon BAM module is installed, refer to the +[upgrade procedure](../service-mapping/upgrade.md). + +### Post-upgrade actions + +1. Upgrade extensions. From **Administration > Extensions > Manager**, upgrade all extensions, starting +with the following: + + - License Manager, + - Monitoring Connector Manager, + - Auto Discovery. + + Then you can upgrade all other commercial extensions. + +2. [Deploy the configuration](../monitoring/monitoring-servers/deploying-a-configuration.md). + +3. Restart the processes: + + ``` shell + systemctl restart cbd centengine centreontrapd gorgoned + ``` + +## Upgrade MariaDB + +Follow [this procedure](upgrade-mariadb.md) to upgrade MariaDB to version 10.11. + +## Upgrade the Remote Servers + +This procedure is the same as for upgrading a Centreon Central server. + +> At the end of the update, the configuration should be deployed from the Central server. + +## Upgrade the Pollers + +### Update the Centreon repository + +Run the following command: + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el8/centreon-24.10.repo +``` + + + + +```shell +dnf install -y dnf-plugins-core +dnf config-manager --add-repo https://packages.centreon.com/rpm-standard/24.10/el9/centreon-24.10.repo +``` + + + + +```shell +echo "deb https://packages.centreon.com/apt-standard-24.10-stable/ $(lsb_release -sc) main" | tee /etc/apt/sources.list.d/centreon.list +apt update +``` + + + + +### Upgrade the Centreon solution + +Clean the cache: + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +dnf clean all --enablerepo=* +``` + + + + +```shell +apt clean all +apt update +``` + + + + +Then upgrade all the components with the following command: + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +dnf update centreon\* +``` + + + + +```shell +apt install --only-upgrade centreon-poller +``` + + + + +> Accept new GPG keys from the repositories as needed. + +Restart **centreon**: + +```shell +systemctl restart centreon +``` diff --git a/versioned_docs/version-25.10/upgrade/upgrade-mariadb.md b/versioned_docs/version-25.10/upgrade/upgrade-mariadb.md new file mode 100644 index 000000000000..73ad93b5946d --- /dev/null +++ b/versioned_docs/version-25.10/upgrade/upgrade-mariadb.md @@ -0,0 +1,291 @@ +--- +id: upgrade-mariadb +title: Upgrading MariaDB +--- +import Tabs from '@theme/Tabs'; +import TabItem from '@theme/TabItem'; + +You may have several MariaDB databases in your architecture. The central server has a database, each remote server has a database, +and the MBI and MAP modules each have a dedicated database. Within your architecture, all databases must have the same version of MariaDB. + +## Upgrading process + +When you upgrade from one major version of Centreon to another, you must: + +1. Upgrade Centreon (packages, web installation, deploying the configuration). +2. Upgrade MariaDB. + +> Refer to the official MariaDB documentation for more information about this process: +> https://mariadb.com/kb/en/upgrading-between-major-mariadb-versions/ + +## Version of Maria DB for each version of Centreon + +| Centreon | MariaDB | +|----------|---------| +| 24.10 | 10.11 | +| 24.04 | 10.11 | +| 23.10 | 10.5 | +| 23.04 | 10.5 | +| 22.10 | 10.5 | +| 22.04 | 10.5 | +| 21.10 | 10.5 | +| 21.04 | 10.5 | +| 20.10 | 10.3.x | +| 20.04 | 10.3.x | +| 19.10 | 10.1.x | + +## Knowing your version of MariaDB + +To find out which version of MariaDB is installed on your machine, enter the following command: + + + + +```shell +rpm -qa |grep MariaDB +``` + +The results should look like this: + +```shell +MariaDB-client-10.5.8-1.el8.centos.x86_64 +MariaDB-server-10.5.8-1.el8.centos.x86_64 +MariaDB-common-10.5.8-1.el8.centos.x86_64 +MariaDB-shared-10.5.8-1.el8.centos.x86_64 +MariaDB-compat-10.5.8-1.el8.centos.x86_64 +``` + + + + +```shell +rpm -qa |grep MariaDB +``` + +The results should look like this: + +```shell +MariaDB-client-10.5.8-1.el9.centos.x86_64 +MariaDB-server-10.5.8-1.el9.centos.x86_64 +MariaDB-common-10.5.8-1.el9.centos.x86_64 +MariaDB-shared-10.5.8-1.el9.centos.x86_64 +MariaDB-compat-10.5.8-1.el9.centos.x86_64 +``` + + + + +```shell +dpkg -l |grep MariaDB +``` + +The results should look like this: + +```shell +ii libdbd-mysql-perl:amd64 4.050-3+b1 amd64 Perl5 database interface to the MariaDB/MySQL database +ii libmariadb3:amd64 1:10.5.17+maria~deb11 amd64 MariaDB database client library +ii mariadb-client-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database client binaries +ii mariadb-client-core-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database core client binaries +ii mariadb-common 1:10.5.17+maria~deb11 all MariaDB common configuration files +ii mariadb-server 1:10.5.17+maria~deb11 all MariaDB database server (metapackage depending on the latest version) +ii mariadb-server-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database server binaries +ii mariadb-server-core-10.5 1:10.5.17+maria~deb11 amd64 MariaDB database core server files +ii mysql-common 1:10.5.17+maria~deb11 all MariaDB database common files (e.g. /etc/mysql/my.cnf) +``` + + + + +## Upgrading between major MariaDB versions + +You must uninstall then reinstall MariaDB to upgrade between major versions (for example to switch from version 10.5 to version 10.11). + +1. Stop the MariaDB service: + + ```shell + systemctl stop mariadb + ``` + +2. Uninstall the current version: + + + + +```shell +rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common +``` + + + + +```shell +rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-compat MariaDB-common +``` + + + + +At the **[ Knowing your version of MariaDB](#knowing-your-version-of-mariadb)** step, the **grep** command returned the precise version of MariaDB you have. + +* If the results of the **grep** command included “10.5”, your uninstallation command must include it too, like in the following example: + +```shell +dpkg -r --ignore-depends=mariadb-server,mariadb-client,mariadb-shared,mariadb-compat,mariadb-common mariadb-server mariadb-server-10.5 mariadb-client mariadb-client-10.5 mariadb-client-core-10.5 mariadb-common mariadb-server-core-10.5 mysql-common +``` + +* If the results of the **grep** command did not include “10.5”, use the following command: + +```shell +dpkg -r --ignore-depends=mariadb-server,mariadb-client,mariadb-shared,mariadb-compat,mariadb-common mariadb-server mariadb-server mariadb-client mariadb-client mariadb-client-core mariadb-common mariadb-server-core mysql-common +``` + + + + +> During this uninstallation step, you may encounter an error because one or several MariaDB packages are missing. In that case, you should execute the uninstallation command without including the missing package. +> +> For instance, you get the following error message: +> +> `package MariaDB-compat is not installed` +> +> As **MariaDB-compat** is the missing package, please execute the same command without quoting **MariaDB-compat**: +> +> `rpm --erase --nodeps --verbose MariaDB-server MariaDB-client MariaDB-shared MariaDB-common` + +> Make sure you have [installed the official MariaDB repository](https://mariadb.com/kb/en/mariadb-package-repository-setup-and-usage/) before you continue the procedure. + +3. Install version 10.11: + + + + +```shell +dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-compat-10.11\* MariaDB-common-10.11\* +``` + + + + +```shell +dnf install MariaDB-server-10.11\* MariaDB-client-10.11\* MariaDB-shared-10.11\* MariaDB-compat-10.11\* MariaDB-common-10.11\* +``` + + + + +```shell +curl -LsS https://r.mariadb.com/downloads/mariadb_repo_setup | sudo bash -s -- --os-type=debian --os-version=12 --mariadb-server-version="mariadb-10.11" +``` + +```shell +sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common +``` + +If an error message informs you that one or several MariaDB packages are missing, you will need to specify the missing packages in the command, like in the following example: + +```shell +sudo apt-get install mariadb-server galera-4 mariadb-client libmariadb3 mariadb-backup mariadb-common MISSING-PACKAGE_A MISSING-PACKAGE_B +``` + + + + +4. Start the MariaDB service: + + ```shell + systemctl start mariadb + ``` + +5. Launch the MariaDB upgrade process: + + ```shell + mysql_upgrade + ``` + + If your database is password-protected, enter: + + ```shell + mysql_upgrade -u -p + ``` + + Example: if your database_admin_user is `root`, enter: + + ```shell + mysql_upgrade -u root -p + ``` + + > Refer to the [official documentation](https://mariadb.com/kb/en/mysql_upgrade/) + > for more information or if errors occur during this last step. + +6. To enable MariaDB on startup, execute the following command: + + ```shell + systemctl enable mariadb + ``` + +### Upgrading from 10.1 to a more recent version + +The `innodb_additional_mem_pool_size` parameter has been removed since MariaDB 10.2, +so you should remove it from file **/etc/my.cnf.d/centreon.cnf** + +```diff +# +# Custom MySQL/MariaDB server configuration for Centreon +# +[server] +innodb_file_per_table=1 + +open_files_limit = 32000 + +key_buffer_size = 256M +sort_buffer_size = 32M +join_buffer_size = 4M +thread_cache_size = 64 +read_buffer_size = 512K +read_rnd_buffer_size = 256K +max_allowed_packet = 8M + +# For 4 Go Ram +-#innodb_additional_mem_pool_size=512M +#innodb_buffer_pool_size=512M + +# For 8 Go Ram +-#innodb_additional_mem_pool_size=1G +#innodb_buffer_pool_size=1G +``` + +## Upgrading between minor versions of MariaDB + +Follow these steps to upgrade between minor versions of MariaDB (for example, to switch from version 10.3.2 to version 10.3.5): + +1. Update MariaDB: + + + + +```shell +dnf update MariaDB-* +``` + + + + +```shell +dnf update MariaDB-* +``` + + + + +```shell +apt update MariaDB-* +``` + + + + +2. Restart MariaDB: + + ```shell + systemctl restart mariadb + ``` diff --git a/versioned_sidebars/version-25.10-sidebars.json b/versioned_sidebars/version-25.10-sidebars.json new file mode 100644 index 000000000000..99bcff0e5fb0 --- /dev/null +++ b/versioned_sidebars/version-25.10-sidebars.json @@ -0,0 +1,1585 @@ +{ + "version-25.10/docs": [ + { + "collapsed": true, + "type": "category", + "label": "Getting started with Centreon OnPrem", + "link": { + "type": "doc", + "id": "getting-started/welcome" + }, + "items": [ + { + "type": "category", + "label": "Before you start", + "link": { + "type": "generated-index", + "description": "This is what you need to know before you install your Centreon platform." + }, + "collapsed": true, + "items": [ + "getting-started/which-install", + "getting-started/platform", + "getting-started/IT100" + ] + }, + { + "type": "category", + "label": "First steps with Centreon", + "link": { + "type": "generated-index", + "description": "Your Centreon platform is installed. What next?" + }, + "collapsed": true, + "items": [ + "getting-started/interface", + "getting-started/concepts" + ] + }, + { + "type": "category", + "label": "Setting up the monitoring", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "getting-started/first-supervision", + "getting-started/monitor-linux-server-with-snmp", + "getting-started/monitor-windows-server-with-snmp", + "getting-started/monitor-cisco-router-with-snmp", + "getting-started/monitor-mysql-server", + "getting-started/autodisco-aws", + "getting-started/monitor-printer-snmp", + "getting-started/monitor-ups-snmp" + ] + }, + { + "type": "category", + "label": "Monitoring resources in real time", + "link": { + "type": "generated-index", + "description": "How do you monitor the resources you have created?" + }, + "collapsed": true, + "items": [ + "getting-started/actions", + "getting-started/create-custom-view" + ] + }, + { + "type": "category", + "label": "Tutorials for Business modules", + "link": { + "type": "generated-index" + }, + "collapsed": true, + "items": [ + "getting-started/create-graphical-view", + "getting-started/model-it-services", + "getting-started/analyze-resources-availability" + ] + } + ] + }, + { + "type": "category", + "label": "Installation", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/installation/introduction" + }, + { + "type": "doc", + "id": "version-25.10/installation/compatibility" + }, + { + "type": "doc", + "id": "version-25.10/installation/architectures" + }, + { + "type": "doc", + "id": "version-25.10/installation/inside-centreon" + }, + { + "type": "doc", + "id": "version-25.10/installation/prerequisites" + }, + { + "type": "doc", + "id": "version-25.10/installation/technical" + }, + { + "type": "doc", + "id": "version-25.10/installation/download" + }, + { + "type": "category", + "label": "Installation of a Central server", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-central-server/using-packages" + }, + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-central-server/unattended-install-central" + }, + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-central-server/using-virtual-machines" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/installation/web-and-post-installation" + }, + { + "type": "category", + "label": "Installation of a Poller", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-poller/using-packages" + }, + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-poller/unattended-install-poller" + } + ] + }, + { + "type": "category", + "label": "Installation of a Remote server", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-remote-server/using-packages" + }, + { + "type": "doc", + "id": "version-25.10/installation/installation-of-a-remote-server/unattended-install-remote" + } + ] + }, + { + "type": "category", + "label": "Configuring monitoring servers", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/add-a-poller-to-configuration" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/add-a-remote-server-to-configuration" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/communications" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/move-poller" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/advanced-configuration" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/installation/offline" + } + ] + }, + { + "type": "category", + "label": "Secure your platform", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/administration/secure-platform" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/secure-your-map-platform" + } + ] + }, + { + "type": "category", + "label": "Monitoring resources", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "category", + "label": "Monitoring basics", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/about" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/metrics" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/pluginpacks" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/monitoring-servers/deploying-a-configuration" + } + ] + }, + { + "type": "category", + "label": "Monitoring hosts", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/hosts-create" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/hosts" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/hosts-create-disco" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/hosts-templates" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/hosts-switch-poller" + } + ] + }, + { + "type": "category", + "label": "Monitoring services", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/services-create" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/services" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/services-create-disco" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/services-templates" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/meta-services" + } + ] + }, + { + "type": "category", + "label": "Discovering hosts and services automatically", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/introduction" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/installation" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/hosts-discovery" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/services-discovery" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/administration" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/discovery/troubleshooting-hosts-discovery" + } + ] + }, + { + "type": "category", + "label": "Organizing hosts and services", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/groups" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/categories" + } + ] + }, + { + "type": "category", + "label": "Basic objects and actions", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/timeperiods" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/macros" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/commands" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/generic-actions" + } + ] + }, + { + "type": "category", + "label": "Detecting anomalies", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/anomaly-detection" + } + ] + }, + { + "type": "category", + "label": "Passive Monitoring", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/passive-monitoring/enable-snmp-traps" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/passive-monitoring/create-snmp-traps-definitions" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/passive-monitoring/monitoring-with-snmp-traps" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/passive-monitoring/debug-snmp-traps-management" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/passive-monitoring/dsm" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/monitoring/event-handler" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/web-import-export" + } + ] + }, + { + "type": "category", + "label": "Managing events and alerts", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "category", + "label": "Viewing events", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/alerts-notifications/concepts" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/resources-status" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/event-console" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/event-log" + } + + ] + }, + { + "type": "category", + "label": "Managing alerts", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/alerts-notifications/acknowledge" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/downtimes" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/submit" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/other" + } + ] + }, + { + "type": "category", + "label": "Managing notifications", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-concept" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-configuration" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-config-for-teams" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-dependencies" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-escalation" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-flapping" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/notif-advanced" + } + ] + }, + { + "type": "category", + "label": "Managing tickets", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/alerts-notifications/ticketing-install" + }, + { + "type": "doc", + "id": "version-25.10/alerts-notifications/ticketing" + } + ] + } + ] + }, + { + "type": "category", + "label": "Managing Centreon users", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/contacts" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/contacts-create" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/contacts-templates" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/contacts-groups" + }, + { + "type": "doc", + "id": "version-25.10/administration/access-control-lists" + }, + { + "type": "doc", + "id": "version-25.10/monitoring/basic-objects/customization" + } + ] + }, + { + "type": "category", + "label": "Service Mapping", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/service-mapping/introduction" + }, + { + "type": "category", + "label": "Guide", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/service-mapping/ba-management" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/ba-monitoring" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/ba-reporting" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/ba-settings" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/widgets" + } + ] + }, + { + "type": "category", + "label": "Administrate", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/service-mapping/install" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/update" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/upgrade" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/migrate" + }, + { + "type": "doc", + "id": "version-25.10/service-mapping/remote-server" + } + ] + } + ] + }, + { + "type": "category", + "label": "Data Visualization", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/alerts-notifications/dashboards" + }, + { + "type": "category", + "label": "Performance graphs", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/metrology/chart-management" + }, + { + "type": "doc", + "id": "version-25.10/metrology/chart-template" + }, + { + "type": "doc", + "id": "version-25.10/metrology/chart-curves" + }, + { + "type": "doc", + "id": "version-25.10/metrology/chart-virtual-metrics" + }, + { + "type": "doc", + "id": "version-25.10/metrology/grafana" + } + ] + }, + { + "type": "category", + "label": "Graphical views (maps)", + "link": { + "type": "generated-index", + "description": "The graphical view capabilities in Centreon relies on the Centreon MAP module." + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/graph-views/introduction-map" + }, + { + "type": "category", + "label": "Information for MAP Legacy users", + "link": { + "type": "generated-index" + }, + "items":[ + { + "type": "doc", + "id": "version-25.10/graph-views/map-legacy-eol" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/upgrading-map-legacy" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/import-into-map-web" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-install" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-install-remote" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-update" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-upgrade" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-access" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-manage" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-create-standard-map" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-create-geoview" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-migrate" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-advanced-configuration" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-advanced" + }, + { + "type": "doc", + + "id": "version-25.10/graph-views/map-web-known-issues" + }, + { + "type": "doc", + "id": "version-25.10/graph-views/map-web-troubleshooting" + }, + { + "type": "doc", + "id": "version-25.10/api/map-api" + } + ] + } + , + { + "type": "doc", + "id": "version-25.10/alerts-notifications/custom-views" + } + ] + }, + { + "type": "category", + "label": "Reporting", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/reporting/introduction" + }, + { + "type": "category", + "label": "Guide", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/reporting/manage-reports" + }, + { + "type": "doc", + "id": "version-25.10/reporting/reports" + }, + { + "type": "doc", + "id": "version-25.10/reporting/widgets" + }, + { + "type": "doc", + "id": "version-25.10/reporting/configure" + }, + { + "type": "doc", + "id": "version-25.10/reporting/concepts" + }, + { + "type": "doc", + "id": "version-25.10/reporting/report-development" + } + ] + }, + { + "type": "category", + "label": "Administrate", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/reporting/installation" + }, + { + "type": "doc", + "id": "version-25.10/reporting/update" + }, + { + "type": "doc", + "id": "version-25.10/reporting/upgrade" + }, + { + "type": "doc", + "id": "version-25.10/reporting/migrate" + }, + { + "type": "doc", + "id": "version-25.10/reporting/backup-restore" + } + ] + } + ] + }, + { + "type": "category", + "label": "Administration", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "category", + "label": "Parameters", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/administration/parameters/centreon-ui" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/monitoring" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/gorgone" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/rrdtool" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/debug" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/data-management" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/medias" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/administration/customize-centreon" + }, + { + "type": "category", + "label": "Configuring the connection to Centreon", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/connect/loginpwd" + }, + { + "type": "doc", + "id": "version-25.10/administration/parameters/ldap" + }, + { + "type": "doc", + "id": "version-25.10/connect/sso" + }, + { + "type": "doc", + "id": "version-25.10/connect/openid" + }, + { + "type": "doc", + "id": "version-25.10/connect/saml" + }, + { + "type": "doc", + "id": "version-25.10/connect/autologin" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/administration/extensions" + }, + { + "type": "doc", + "id": "version-25.10/administration/licenses" + }, + { + "type": "doc", + "id": "version-25.10/administration/database-partitioning" + }, + { + "type": "category", + "label": "Disaster recovery", + "link": { + "type": "doc", + "id": "administration/disaster-recovery" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/administration/backup" + }, + { + "type": "doc", + "id": "version-25.10/administration/backup-poller" + } + ] + }, + { + "type": "doc", + "id": "version-25.10/administration/knowledge-base" + }, + { + "type": "doc", + "id": "version-25.10/administration/logging-configuration-changes" + }, + { + "type": "doc", + "id": "version-25.10/administration/platform-statistics" + }, + { + "type": "doc", + "id": "version-25.10/administration/postfix" + }, + { + "type": "doc", + "id": "version-25.10/administration/sql-proxy" + } + ] + }, + { + "type": "category", + "label": "Update, Upgrade & Migrate", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "category", + "label": "Update", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/update/update-centreon-platform" + } + ] + }, + { + "type": "category", + "label": "Upgrade", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/upgrade/introduction" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-24-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-23-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-23-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-22-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-22-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-21-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-21-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-from-20-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/upgrade-mariadb" + } + ] + }, + { + "type": "category", + "label": "Migrate", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/migrate/introduction" + }, + { + "type": "doc", + "id": "version-25.10/migrate/migrate-from-el-to-el" + }, + { + "type": "doc", + "id": "version-25.10/migrate/migrate-from-el-to-debian" + }, + { + "type": "doc", + "id": "version-25.10/migrate/migrate-from-3-4" + }, + { + "type": "doc", + "id": "version-25.10/migrate/nagios-to-centreon" + }, + { + "type": "doc", + "id": "version-25.10/migrate/poller-display-to-remote-server" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-gorgone-migrate-from-centcore" + } + ] + } + ] + }, + { + "type": "link", + "href": "/pp/integrations/plugin-packs/getting-started/introduction", + "label": "Monitoring Connectors" + }, + { + "type": "category", + "label": "Integrations", + "link": { + "type": "doc", + "id": "version-25.10/integrations/introduction-integrations" + }, + "items": [ + { + "type": "category", + "label": "Stream connectors", + "link": { + "type": "doc", + "id": "version-25.10/integrations/stream-connectors" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-hp-bsm" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-canopsis-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-clickhouse" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-datadog-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-datadog-metrics" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-elastic-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-elastic-metrics" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-hp-omi" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-influxdb2-metrics" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-kafka-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-logstash-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-opsgenie" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-pagerduty-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-service-now-em-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-service-now-incident-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/event-management/sc-signl4-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-splunk-events" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-splunk-metrics" + }, + { + "type": "doc", + "id": "version-25.10/integrations/data-analytics/sc-warp10" + } + ] + }, + { + "type": "category", + "label": "ITSM", + "link": { + "type": "doc", + "id": "version-25.10/integrations/itsm/itsm-overview" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-bmc-footprints" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-bmc-remedy" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-easyvista" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-easyvista-rest-api" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-glpi" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-glpi-restapi" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-itop" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-iws-isilog" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-jira" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-mail" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-otrs-restapi" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-request-tracker-restapi" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-serena" + }, + { + "type": "doc", + "id": "version-25.10/integrations/itsm/ot-servicenow" + } + ] + }, + { + "type": "category", + "label": "Notifications", + "link": { + "type": "doc", + "id": "version-25.10/integrations/notifications/notifications-overview" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/integrations/notifications/plugin-telegram" + } + ] + }, + { + "type": "category", + "label": "NPM", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/integrations/npm/ntopng" + } + ] + } + ] + }, + { + "type": "category", + "label": "Centreon mobile", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/mobile/introduction" + } + ] + }, + { + "type": "category", + "label": "API", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/api/introduction" + }, + { + "type": "doc", + "id": "version-25.10/api/clapi" + }, + { + "type": "doc", + "id": "version-25.10/api/rest-api-v1" + }, + { + "type": "link", + "href": "https://docs-api.centreon.com/api/centreon-web/25.10/", + "label": "Centreon Web RestAPI v2" + }, + { + "type": "doc", + "id": "version-25.10/api/rest-api-v2" + }, + { + "type": "doc", + "id": "version-25.10/api/map-api" + }, + { + "type": "doc", + "id": "version-25.10/api/api-tokens" + } + ] + }, + { + "type": "category", + "label": "Developer resources", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/developer/developer-stream-connector" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-broker-stream-connector-migration" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-translate-centreon" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-widget" + }, + { + "type": "category", + "label": "Centreon Broker", + "link": { + "type": "doc", + "id": "developer/centreon-broker" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/developer/developer-broker-stream-connector" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-broker-bbdo" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-broker-mapping" + } + ] + }, + { + "type": "category", + "label": "Centreon Gorgone", + "link": { + "type": "doc", + "id": "developer/centreon-gorgone" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/developer/developer-gorgone-client-server-communication" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-gorgone-pull-mode" + }, + { + "type": "doc", + "id": "version-25.10/developer/developer-gorgone-rebound-mode" + } + ] + } + ] + }, + { + "type": "category", + "label": "Centreon HA", + "link": { + "type": "doc", + "id": "version-25.10/installation/installation-of-centreon-ha/overview" + }, + "items": [ + { + "type": "category", + "label": "Upgrading Centreon HA", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-23-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-23-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-22-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-22-04" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-21-10" + }, + { + "type": "doc", + "id": "version-25.10/upgrade/centreon-ha/upgrade-centreon-ha-from-21-04" + } + ] + } + ] + }, + { + "type": "category", + "label": "Monitoring your platform", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/health/helios" + } + ] + }, + { + "type": "category", + "label": "Releases", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/releases/introduction" + }, + { + "type": "doc", + "id": "version-25.10/releases/lifecycle" + }, + { + "type": "category", + "label": "Release notes by component", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/releases/centreon-os" + }, + { + "type": "doc", + "id": "version-25.10/releases/centreon-commercial-extensions" + } + ] + } + ] + }, + { + "type": "category", + "label": "Security", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/security/security" + }, + { + "type": "doc", + "id": "version-25.10/security/key-rotation" + }, + { + "type": "category", + "label": "User data storage", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/security/user-data-storage/gdpr-compliance" + }, + { + "type": "doc", + "id": "version-25.10/security/user-data-storage/what-is-centreon-ceip" + } + ] + } + ] + }, + { + "type": "category", + "label": "Resources", + "link": { + "type": "generated-index" + }, + "items": [ + { + "type": "doc", + "id": "version-25.10/resources/known-issues" + }, + { + "type": "doc", + "id": "version-25.10/resources/troubleshooting" + }, + { + "type": "doc", + "id": "version-25.10/resources/glossary" + }, + { + "type": "doc", + "id": "version-25.10/resources/contribute" + } + ] + } + ] +} \ No newline at end of file diff --git a/versions.json b/versions.json index e6599682c1b7..e1fcdf6167b2 100644 --- a/versions.json +++ b/versions.json @@ -1,4 +1,5 @@ [ + "25.10", "24.10", "24.04", "23.10",