Aller au contenu principal

Connecter un assistant IA (serveur MCP)

Cette fonctionnalité est en version bêta et n’est pas activée par défaut. Contactez le support pour en demander l’accès. Cette fonctionnalité est nouvelle et évolue vite : de nouveaux outils s'ajoutent au fil des versions.

Qu'est-ce que le serveur MCP ?​

Model Context Protocol (MCP) est un standard ouvert qui permet à un assistant IA d'utiliser des outils externes. Le serveur MCP de Centreon Log Management connecte un assistant IA aux logs de votre organisation. Claude, Visual Studio Code ou tout autre client compatible MCP peut alors rechercher vos logs, les résumer, tracer leur volume et le prévoir, directement depuis la conversation.

Le serveur MCP ne stocke aucune donnée, mais vos logs passent par deux modèles de langage :

  • Celui de votre assistant, qui reçoit les logs renvoyés par les outils. N'utilisez le serveur MCP qu'avec un assistant dont les conditions d'utilisation respectent votre politique de données, par exemple un modèle local ou un service qui n'entraîne pas ses modèles sur vos données.
  • Celui de Log Management, qui traduit les questions en langage naturel en requêtes (search_logs) et rédige les résumés de logs (summarize_logs), comme les fonctionnalités Ask AI et Log summary du Log explorer.

Limites​

  • Le serveur MCP ne fait que lire vos logs : il ne crée et ne modifie rien dans votre organisation.
  • Une connexion donne accès à une seule organisation.
  • L'authentification repose sur un jeton envoyé dans un en-tête HTTP. Les clients qui ne prennent en charge que la connexion par OAuth ne peuvent pas encore se connecter.

Prérequis​

  • Un jeton d'API pour votre organisation. Les jetons sont créés par un administrateur à la page Administration > Token management : voir Gérer les jetons d'authentification. Le jeton donne accès à tous les logs de votre organisation : conservez-le comme un secret et ne le partagez pas. Créez un jeton dédié au serveur MCP plutôt que de réutiliser celui de vos collecteurs : vous pourrez ainsi le supprimer sans interrompre la collecte des logs.
  • Le nom de votre organisation. Il figure dans l'adresse de l'interface de Log Management, après /organizations/ : pour https://obs.mycentreon.com/organizations/acme/..., l'organisation est acme.
  • Le serveur MCP doit être activé pour votre organisation. Si le serveur répond par une erreur 404, contactez le support Centreon (voir Dépannage).

Adresse et authentification​

Le serveur MCP est accessible à l'adresse suivante, où <organization> est le nom de votre organisation :

https://api.euwest1.obs.mycentreon.com/v1/orgs/<organization>/log-analysis/mcp

Chaque appel au serveur doit comporter votre jeton d'API dans l'en-tête X-Api-Key: <token>. N'envoyez pas d'en-tête Authorization en plus : l'appel serait refusé.

L'adresse détermine l'organisation : une connexion donne accès à une seule organisation, et un jeton ne fonctionne qu'avec l'organisation dans laquelle il a été créé. Pour travailler avec plusieurs organisations, ajoutez une connexion par organisation.

Le serveur MCP ne prend pas encore en charge la connexion par OAuth. Vous ne pouvez donc connecter que des clients qui permettent d'ajouter un en-tête HTTP personnalisé, comme ceux présentés ci-dessous.

Connecter un client​

Dans les exemples ci-dessous, remplacez <organization> par le nom de votre organisation et <token> par votre jeton d'API.

Exécutez la commande suivante :

claude mcp add --transport http centreon-logs https://api.euwest1.obs.mycentreon.com/v1/orgs/<organization>/log-analysis/mcp --header "X-Api-Key: <token>"

Vous pouvez aussi ajouter le serveur au fichier .mcp.json de votre projet. Ce fichier est destiné à être partagé avec votre équipe : la configuration ci-dessous récupère donc le jeton dans la variable d'environnement CLM_API_KEY au lieu de l'inclure. Définissez cette variable avec votre jeton avant de lancer Claude Code.

{
"mcpServers": {
"centreon-logs": {
"type": "http",
"url": "https://api.euwest1.obs.mycentreon.com/v1/orgs/<organization>/log-analysis/mcp",
"headers": {
"X-Api-Key": "${CLM_API_KEY}"
}
}
}
}

Dans Claude Code, la commande /mcp affiche centreon-logs comme connecté.

Une fois connecté, votre client affiche 6 outils et 3 prompts pour le serveur. Pour vérifier que tout fonctionne, posez par exemple la question suivante :

Y a-t-il des erreurs dans les dernières 24 heures ? Résume ce qui s'est passé et prévois si le volume de logs va continuer à augmenter dans les prochaines heures.

Outils​

OutilRôle
search_logsRecherche des logs à partir d'une question en langage naturel ou d'une requête
summarize_logsRédige un résumé des logs correspondant à une requête sur une période donnée
aggregate_logsCompte les logs dans le temps, au total, par sévérité ou par service
forecast_logsPrévoit le volume de logs d'une requête à partir de son historique récent
list_log_fieldsListe les champs de vos logs que vous pouvez interroger
list_field_valuesListe les valeurs les plus fréquentes d'un champ

Vous n'appelez pas les outils vous-même : vous posez une question, et l'assistant choisit les outils et les enchaîne. Savoir ce que fait chaque outil vous aide à formuler vos questions.

  • search_logs accepte soit une question en langage naturel (« les erreurs du service de facturation dans la dernière heure »), soit une requête écrite avec la syntaxe des requêtes. Une question est traduite en requête, et l'outil renvoie cette requête : l'assistant peut ainsi l'affiner ou la réutiliser avec les autres outils. L'outil renvoie le nombre de logs correspondants et jusqu'à 1 000 d'entre eux (20 par défaut), chacun avec seulement son timestamp, sa sévérité, son service et son message : les attributs ne sont pas renvoyés.
  • summarize_logs renvoie un résumé rédigé des logs correspondant à une requête, par défaut sur la dernière heure. Il lit au plus 2 000 logs de la période : gardez donc une période courte.
  • aggregate_logs renvoie le nombre de logs dans le temps, sous la forme d'une courbe totale, d'une courbe par sévérité ou d'une courbe par service (les 20 plus importants). C'est ainsi que l'assistant repère un pic ou une tendance sans lire chaque log.
  • forecast_logs compte les logs correspondant à une requête sur une période (par défaut les dernières 24 heures) et prévoit les points suivants au même intervalle.
  • list_log_fields liste les champs de vos logs, avec leurs types et la possibilité de les rechercher ou de les agréger. L'assistant l'utilise avant d'écrire une requête sur un champ qu'il ne connaît pas.
  • list_field_values liste les valeurs les plus fréquentes d'un champ, avec leur nombre d'occurrences. Par exemple, la sévérité d'un log peut s'écrire ERROR ou Error selon l'application qui l'a envoyé : cet outil montre toutes les variantes.

Prompts​

Le serveur MCP fournit aussi des prompts : des instructions toutes prêtes qui guident l'assistant tout au long d'une investigation complète. Selon votre client, ils apparaissent sous forme de commandes (par exemple /centreon-logs:incident_postmortem dans Claude Code) ou dans un sélecteur de prompts. Chaque prompt accepte des arguments facultatifs en texte libre.

PromptRôleArguments facultatifs
incident_postmortemEnquête sur un incident dans les logs et rédige un post-mortem : signes précurseurs, chronologie à la minute près, avec la requête qui étaye chaque affirmationincident : ce que l'on sait déjà (période, services touchés, symptômes)
period_digestRépond à « que s'est-il passé pendant mon absence ? » en comparant une période à une période de référence : tendances, anomalies ou confirmation explicite que tout va bien, points marquants par serviceperiod : la période à couvrir (les dernières 24 heures par défaut) ; focus : ce qui est normal pour votre plateforme, ou les services à surveiller
understand_logsFait découvrir vos logs à un nouvel arrivant : les services présents, leur volume et leur profil de sévérité, des logs typiques et des requêtes pour commencerfocus : un domaine par lequel commencer (un service, une technologie, une question)

Dépannage​

  • 401 Unauthorized : l'en-tête X-Api-Key est absent ou son jeton est invalide, un en-tête Authorization a été envoyé, ou le nom de l'organisation dans l'adresse est erroné (le jeton appartient à une autre organisation).
  • 404 Not Found : soit le chemin est erroné (vérifiez /log-analysis/mcp, sans barre oblique finale), soit le jeton a été accepté mais le serveur MCP n'est pas activé pour votre organisation : dans ce cas, contactez le support Centreon.