Aller au contenu principal

Audit logs et monitoring via la console

Mis à jour le 28 juillet 2026

L’importance de l’audit dans un environnement réglementé

Quand un auditeur SOC 2 vous demande « qui a consommé quoi, quand, et comment le sauriez-vous en cas d’anomalie ? », la réponse ne peut pas être « on regarderait ». Pour toute organisation soumise à des obligations de conformité — SOC 2, HIPAA, GDPR — la traçabilité des actions est une exigence fondamentale, et elle se prépare avant l’incident, pas après. La console xAI (console.x.ai) fournit les outils de monitoring et d’audit qui vous permettent de suivre l’utilisation de vos clés API et de détecter les anomalies ; cette leçon vous montre comment les exploiter, puis comment les compléter côté application.

La console xAI : votre tableau de bord sécurité

La console, accessible sur console.x.ai, centralise quatre fonctions : la gestion des clés API, le monitoring de l’utilisation, la facturation avec les limites de dépenses, et les informations de sécurité du compte. Côté données, elle vous donne l’utilisation par clé (nombre de requêtes, tokens consommés), l’utilisation par modèle, l’historique de facturation détaillé par période et le statut de chaque clé — active, bloquée ou désactivée. Prenez l’habitude d’y passer régulièrement : la plupart des compromissions de clés se repèrent d’abord par une courbe de consommation qui ne ressemble plus aux semaines précédentes.

L’analyse d’utilisation via l’API

La console suffit pour un coup d’œil, mais un monitoring sérieux doit être programmatique : c’est le rôle de l’endpoint d’analyse.

POST /v1/billing/teams/{team_id}/usage

{
  "analyticsRequest": {
    "timeRange": {
      "startTime": "2026-03-01 00:00:00",
      "endTime": "2026-04-01 00:00:00",
      "timezone": "UTC"
    },
    "timeUnit": "DAY",
    "values": [{"name": "tokens", "aggregation": "SUM"}],
    "groupBy": ["model"]
  }
}

Cette requête demande la somme des tokens consommés, jour par jour, ventilée par modèle, sur le mois de mars. La flexibilité vient des options combinables : les unités de temps vont de MONTH à MINUTE en passant par CALENDAR_WEEK, DAY, HOUR et QUARTER_HOUR ; les agrégations disponibles sont SUM, AVG, MIN, MAX, les percentiles P50, P90 et P99, ainsi que COUNT et COUNT_DISTINCT ; et vous pouvez grouper par modèle, par période ou par clé.

Ces briques couvrent quatre besoins concrets. La détection d’anomalies d’abord : un pic soudain de consommation sur une clé qui traite d’habitude un volume stable est le symptôme classique d’une compromission — c’est la requête que votre script de surveillance doit lancer chaque nuit. L’optimisation des coûts ensuite : en groupant par modèle, vous repérez les endpoints sous-utilisés ou les modèles coûteux appelés sans nécessité. Les rapports de conformité : la même requête, sur un trimestre, produit les chiffres que l’auditeur vous demandera. La planification de capacité enfin : la tendance de consommation vous dit quand recharger vos crédits avant d’être à sec un dimanche.

Construire un système d’alertes

Un tableau de bord qu’on ne regarde pas ne protège rien ; les alertes, elles, viennent à vous. Voici le squelette d’une vérification quotidienne qui compare la consommation des dernières 24 heures à un seuil :

import requests
from datetime import datetime, timedelta

def check_usage_anomaly(team_id, threshold_tokens):
    today = datetime.utcnow()
    yesterday = today - timedelta(days=1)

    response = requests.post(
        f"https://management-api.x.ai/v1/billing/teams/{team_id}/usage",
        headers={"Authorization": f"Bearer {MGMT_KEY}"},
        json={
            "analyticsRequest": {
                "timeRange": {
                    "startTime": yesterday.strftime("%Y-%m-%d 00:00:00"),
                    "endTime": today.strftime("%Y-%m-%d 00:00:00"),
                    "timezone": "UTC"
                },
                "timeUnit": "DAY",
                "values": [{"name": "tokens", "aggregation": "SUM"}]
            }
        }
    )

    total_tokens = sum_tokens(response.json())
    if total_tokens > threshold_tokens:
        send_alert(f"Usage anormal : {total_tokens} tokens en 24h")

Complétez ce dispositif par un filet de sécurité budgétaire : l’endpoint POST /v1/billing/teams/{team_id}/postpaid/spending-limits permet de définir une limite de dépenses mensuelle — le dépassement non contrôlé devient alors impossible, quelle que soit la cause. Et pour savoir où vous en êtes à tout moment du cycle de facturation, GET /v1/billing/teams/{team_id}/postpaid/invoice/preview vous donne un aperçu des charges accumulées avant la facture finale.

Les logs applicatifs côté client

La console xAI voit ce qui arrive chez xAI ; elle ne voit pas ce qui se passe chez vous. Vos propres logs applicatifs sont l’autre moitié de la traçabilité : c’est eux qui répondront à la question « quel utilisateur a déclenché cet appel ? ». Pour chaque appel API, journalisez le timestamp, l’identifiant de l’utilisateur à l’origine de l’appel, le modèle et l’endpoint utilisés, le nombre de tokens en entrée et en sortie, le statut HTTP de la réponse, la latence, et l’identifiant de la clé API en version masquée.

La discipline inverse est tout aussi importante, car un log trop bavard devient lui-même une fuite de données. Ne journalisez jamais le contenu des prompts contenant des données personnelles, ni les réponses contenant des informations sensibles, ni les clés API en clair, ni les tokens éphémères. Un fichier de logs qui contient les prompts de vos utilisateurs est une base de données personnelles qui s’ignore — avec toutes les obligations GDPR que cela implique, y compris le droit à l’effacement.

Cinq indicateurs qui rendent la surveillance lisible

Pour consolider cette leçon, rassemblez vos données de monitoring dans un tableau de bord unique plutôt que de multiplier les écrans. Les deux premiers indicateurs décrivent l’activité normale : la consommation quotidienne par clé et par modèle, et le taux d’erreurs (4xx, 5xx) par endpoint, qui révèle aussi bien un bug de déploiement qu’une clé aux permissions mal réglées. Les deux suivants décrivent les frictions : les tentatives de modération déclenchées, qui vous disent ce que vos utilisateurs essaient de faire, et les clés proches de l’expiration, pour anticiper les renouvellements plutôt que de les subir.

Le cinquième indicateur est celui qui fait la différence : la comparaison avec les moyennes historiques. Un chiffre brut ne dit rien — huit millions de tokens hier soir, est-ce beaucoup ? Un écart à la normale, lui, dit tout, et c’est sur cet écart que vos alertes doivent se déclencher.

Points clés à retenir

  • La console xAI (console.x.ai) centralise le monitoring, la gestion des clés et la facturation
  • L’endpoint usage permet l’analyse programmatique avec agrégation flexible (SUM à P99, de MINUTE à MONTH)
  • Configurez des alertes sur les seuils de consommation : un pic anormal est le premier signe de compromission
  • Définissez des limites de dépenses via la Management API pour borner tout dérapage
  • Loggez les métadonnées côté application, jamais les contenus sensibles ni les clés en clair