Comment s'intègre la supervision du cache CAS dans une architecture Cloud moderne orientée conteneurs et microservices ?

Observabilité Cloud-Native du CAS_DISK_CACHE

Le déploiement des environnements SAS Viya sur des fournisseurs de Cloud public repose massivement sur des volumes de stockage persistants ou éphémères attachés aux pods KubernetesKubernetes est l'orchestrateur open source gérant le déploiement, la mise à l'échelle et l'exécution conteneurisée des microservices de l'architecture cloud-native de SAS Viya.. Dans ce contexte hautement dynamique, le cycle de vie matériel du CAS_DISK_CACHEEspace de stockage local temporaire utilisé par le serveur CAS pour gérer les données dépassant la RAM disponible ou pour mapper des fichiers, garantissant ainsi la performance des traitements. dépend des règles définies par votre orchestrateur de conteneurs.

L'action apporte une visibilité logicielle totale sur ces volumes rattachés à la volée, éliminant ainsi le besoin pour les ingénieurs d'ouvrir des accès terminaux complexes sur le système d'exploitation sous-jacent. Ils interrogent directement le moteur d'exécution en utilisant des requêtes standardisées. Les volumes de retours peuvent ensuite être ingérés et transformés en un flux continu de données de télémétrie formaté en temps réel, alimentant directement les tableaux de bord stratégiques de la direction des systèmes d'information.

Exemple de Code Additionnel

1<pre>/* CASL Script : SUPERVISION DE L'UTILISATION DU CAS_DISK_CACHE PAR NOEUD */
2/* (c) Nicolas Housset 2026 - Code SAS pour VIYA 4 - testé et validé en version 2024.09 */
3/* Modifié pour utiliser l'action native getCacheInfo et gérer l'élévation de privilèges */
4PROC CAS;
5 /* 0. Élévation des privilèges (indispensable dans Viya 4 pour lire ces métriques système) */
6 ACCESSCONTROL.assumeRole / adminRole="superuser";
7 /* 1. Appel de l'action native pour interroger l'état du cache */
8 BUILTINS.getCacheInfo RESULT=ns STATUS=rc;
9 /* 2. Contrôle de bonne exécution et vérification de la table attendue */
10 IF rc.statusCode == 0 and exists(ns, "diskCacheInfo") THEN DO;
11 PRINT "-------------------------------------------------------------------";
12 PRINT " État matériel des pods CAS - Focus Volumes CAS_DISK_CACHE";
13 PRINT "-------------------------------------------------------------------";
14 /* 3. Extraction et affichage des métriques de stockage */
15 /* L'action retourne les colonnes : node, path, FS_size, FS_free, FS_usage */
16 cacheMetrics = ns.diskCacheInfo[, {"node", "path", "FS_size", "FS_free", "FS_usage"}];
17 PRINT cacheMetrics;
18 /* Optionnel : Alerte basique dans les logs SAS si l'utilisation dépasse un seuil critique */
19 DO row over ns.diskCacheInfo;
20 IF (row.FS_size > 0) THEN DO;
21 /* Calcul du taux d'utilisation à partir de l'espace total et de l'espace libre */
22 taux_utilisation = ((row.FS_size - row.FS_free) / row.FS_size) * 100;
23 IF taux_utilisation > 80 THEN
24 PRINT "ATTENTION : Le noeud " || row.node || " a une charge de cache critique (" || (String)taux_utilisation || "%).";
25 END;
26 END;
27 END;
28 ELSE DO;
29 PRINT "ERREUR : Impossible de récupérer la télémétrie. Vérifiez que votre session dispose bien des droits d'administrateur (superuser).";
30 END;
31QUIT;</pre>

Exemples pour l'action getCacheInfo

Inspection standard du cache
Schéma conceptuel de l'exemple : Inspection standard du cache
Résultat d'exécution du code : Inspection standard du cache

Découvrez cet exemple pour l'action CAS getCacheInfo : il interroge les métadonnées de stockage pour auditer l'empreinte disque et l'allocation des fichiers temporaires sur vos nœuds de calcul.

Extraction pour calculs automatiques
Schéma conceptuel de l'exemple : Extraction pour calculs automatiques
Résultat d'exécution du code : Extraction pour calculs automatiques

Cet exemple pour l'action CAS getCacheInfo désactive le formatage pour extraire des métriques brutes en octets. Crucial pour automatiser l'alerting de saturation sans erreur d'arrondi machine.