LABORATOIRE TECHNIQUE MAXIMO4YOU

Diagnostiquer et simuler les comportements Maximo

Des outils de calcul et d’aide au diagnostic fondés sur des règles documentées par IBM, avec des paramètres vérifiables et des résultats expliqués.

Simulation hors ligne. Vos saisies ne quittent pas le navigateur. Aucun accès à IBM Maximo, aucune modification de base, aucun appel API et aucune donnée conservée. Les résultats ne remplacent pas une recette sur votre environnement.

MIGRATION MAXIMO 7.6.1.x → IBM MAS 9 · DIMENSIONNEMENT ON-PREMISES

Calculateur d'architecture cible MAS

Transformez votre inventaire Maximo 7.6 en une estimation de capacité OpenShift, avec composants MAS, rôles des nœuds, stockage, architecture comparative et diagramme SVG téléchargeable.

Méthode : estimation indicative de capacité MAS 9 à partir des paramètres saisis. Les résultats ne constituent pas une validation IBM de l'architecture finale ; vérifiez les profils, l'édition de MAS et la charge réelle avec la documentation en vigueur.
01 Inventaire Maximo 7.6.1.x

Dans cette estimation, la capacité Manage tient compte du plus grand des deux besoins : JVM UI existantes ou ⌈utilisateurs simultanés / 50⌉. Le nombre total de comptes nominatifs n'est pas une mesure de concurrence.

02 Applications et services MAS
03 Topologie cible et disponibilité

Un cluster OpenShift existant ne crée pas automatiquement des nœuds : le résultat indique la capacité worker équivalente à réserver. Les nœuds master, le stockage, le réseau et la haute disponibilité doivent être validés selon la plateforme réelle.

Méthode et limites

Principes : estimation par équivalent JVM Manage, profils de services MAS, allocations de cluster OpenShift et base de données. Les hypothèses comprennent une estimation de 50 utilisateurs simultanés par JVM de référence et une réserve paramétrable. Les valeurs doivent être vérifiées pour la version MAS visée et l'environnement cible.

Hors périmètre de l'estimation : scénarios Maximo IT, Optimizer et Health très avancés, entraînement Predict, répartition exacte CP4D/ODF, JVM spécialisées complexes, topologies multi-sites, GPU, réplication DB, stockage réseau et applicatif propre à l'entreprise. Les modules additionnels utilisent des profils simplifiés et sont signalés comme indicatifs. Les postes DB2 et CP4D ne sont pas transférables automatiquement à Oracle ou SQL Server. Le dimensionnement final reste soumis à une revue IBM, infrastructure et DBA.

IBM — Capacity planning MAS · IBM MAS Performance — Sizing guidance · IBM — Architecture MAS · Articles migration Maximo4You

Collecter les paramètres d’architecture existante

Exécuter les commandes de consultation sur l’environnement autorisé. Les sessions Maximo ne donnent qu’un indicateur de charge, pas une mesure fiable des utilisateurs simultanés. Pour Db2, faire relever la taille réelle par le DBA. Les JVM doivent être confirmées par rôle dans la console WAS. Ne jamais recopier de données d’identification ou de secrets.

Sur Maximo 7.6 — sessions observées (SQL)
-- Sessions présentes au moment de la mesure ; ne vaut PAS mesure de pic
SELECT COUNT(*) AS sessions_presentes
FROM maxsession;
WebSphere — identifier les serveurs applicatifs (wsadmin)
# À lancer sur le Deployment Manager du Maximo 7.6 autorisé
# Inventaire de configuration ; isoler manuellement UI / MIF / CRON / Reporting
wsadmin.sh -lang jython -c "print AdminConfig.list('Server')"
# Vérifier les clusters, membres réellement démarrés et JVM dans la console WAS.
Maximo — volumétrie indicative (SQL)
-- Consultation d'indicateurs métiers (non équivalents à la taille DB)
SELECT COUNT(*) AS actifs FROM asset;
SELECT COUNT(*) AS emplacements FROM locations;
SELECT COUNT(*) AS ordres_travail FROM workorder;
-- Faire confirmer la taille réelle de base, la croissance et les IOPS par le DBA.
Base Oracle — espace réellement occupé (DBA, SQL)
-- Avec les droits DBA nécessaires, espace alloué aux segments (GiB)
SELECT ROUND(SUM(bytes)/POWER(1024,3),2) AS segments_gib
FROM dba_segments;
-- Inclure séparément redo, archive, sauvegardes, index et croissance projetée.
Base SQL Server — taille des fichiers (DBA, T-SQL)
-- Exécuter dans la base Maximo après validation DBA (MiB)
SELECT name, type_desc, CAST(size*8.0/1024 AS decimal(18,2)) AS taille_mib
FROM sys.database_files;
-- Distinguer taille allouée, taille utilisée, journaux et croissance.
Sur OpenShift — capacités, PVC et applications (CLI)
# Commandes de consultation (oc connecté à l'environnement autorisé)
oc get nodes -o wide
oc describe nodes
oc adm top nodes
oc adm top pods -A
oc get pods -A --field-selector=status.phase=Running
oc get pvc -A
oc get csv -A
# Valider l'usage, les limites/quotas et les classes de stockage avec l'équipe OCP.
COMPTEURS · ASSETMETER / LOCATIONMETER

Simulateur de moyennes de compteurs

Comparez les méthodes ALL, SLIDING-DAYS, SLIDING-READINGS et STATIC sur des historiques DELTA préparés.

Saisissez l’historique des deltas pour obtenir la moyenne.

Hypothèses : historiques DELTA cohérents et sans RESET/rolldown. Pour ALL et SLIDING-READINGS, l’intervalle est celui des relevés retenus ; pour SLIDING-DAYS, N jours sont utilisés comme dénominateur. STATIC est une valeur définie et non calculée. Le simulateur ne reconstruit pas les ACTUAL, le RESET ni les modifications rétroactives. Les dates sont saisies au jour : les effets d’horodatage à la seconde restent hors périmètre.

IBM — Méthodes de calcul des moyennes · Articles Maximo4You : AVERAGE

Extraire l’historique de compteurs

Les dates/DELTA doivent être normalisés au format AAAA-MM-JJ;valeur pour le simulateur. Vérifier les RESET, l’ordre chronologique et l’existence de plusieurs lectures le même jour : la granularité journalière peut masquer des écarts.

Paramètres ASSETMETER et historique METERREADING (SQL)
-- Adapter :assetnum, :siteid, :metername (paramètres liés)
SELECT a.assetnum, a.siteid, a.metername,
       a.avgcalcmethod, a.slidingwindowsize, a.average
FROM assetmeter a
WHERE a.assetnum = :assetnum AND a.siteid = :siteid
  AND a.metername = :metername;

SELECT m.readingdate, m.delta, m.reading, m.readingtype
FROM meterreading m
WHERE m.assetnum = :assetnum AND m.siteid = :siteid
  AND m.metername = :metername
ORDER BY m.readingdate ASC;
Compteur d’emplacement (SQL)
SELECT l.location, l.siteid, l.metername,
       l.avgcalcmethod, l.slidingwindowsize, l.average
FROM locationmeter l
WHERE l.location = :location AND l.siteid = :siteid
  AND l.metername = :metername;

SELECT r.readingdate, r.delta, r.reading, r.readingtype
FROM locmeterreading r
WHERE r.location = :location AND r.siteid = :siteid
  AND r.metername = :metername
ORDER BY r.readingdate ASC;
MAINTENANCE PRÉVENTIVE · PM / PMMETER

Simulateur de prochaine échéance PM

Simulez une PM à déclenchement par date, par compteur, ou par le premier critère atteint. La projection compteurs peut être désactivée.

Les prochaines dates estimées apparaîtront ici.

Projection indicative : fréquence calendaire en jours et projection linéaire depuis le dernier relevé. Ignore saisons, dates d’extension, jours actifs, lead time, hiérarchies PM, critères de génération et option « ne pas estimer ». La valeur cible est saisie manuellement : cet outil ne recalcule pas PMMETER.READINGATNEXTWO. Le mode « Ne pas estimer » signale l’atteinte du seuil sans produire de date future fictive.

IBM — Logique de prévision PM · IBM — Prochaine échéance · Articles PM Maximo4You

Relever les données de planification PM

La lecture de PM.NEXTDATE, PM.FREQUENCY et PMMETER.READINGATNEXTWO doit être confrontée aux options « calendrier », « fréquence compteur », « ne pas estimer », aux saisons, au lead time et à la hiérarchie. La simulation n’est pas une exécution PMWoGen.

Maintenance préventive calendaire (SQL)
-- Renseigner les variables côté client SQL ; SELECT uniquement
SELECT p.pmnum, p.siteid, p.frequency, p.frequnit,
       p.nextdate
FROM pm p
WHERE p.pmnum = :pmnum AND p.siteid = :siteid;
Fréquences compteur de la PM (SQL)
SELECT pmnum, siteid, metername, frequency, readingatnextwo
FROM pmmeter
WHERE pmnum = :pmnum AND siteid = :siteid
ORDER BY metername;

-- Compléter avec ASSETMETER ou LOCATIONMETER
-- pour obtenir AVERAGE, LASTREADING et LASTREADINGDATE.
INTÉGRATION MAXIMO · MIF / JMS

Diagnostic guidé de message MIF/JMS

Identifiez les contrôles pertinents selon le type de traitement, la file et le symptôme. Les recommandations suivent le fonctionnement documenté des files séquentielles et continues.

Sélectionnez le scénario observé.

Arbre de décision documentaire : il ne lit ni vos queues, ni les logs, ni la configuration WebSphere/Liberty. Une suggestion n’est pas la preuve d’une cause racine. Évitez d’envoyer des messages contenant des données sensibles.

IBM — Gestion des erreurs de files · IBM — Recherche d’erreurs · Articles MIF

Relever les éléments de diagnostic MIF/JMS

Les tables d’interface ne constituent pas la file JMS. Commencer par les applications « Message Reprocessing » et « Message Tracking », puis vérifier la file JMS dans WebSphere/Liberty et les logs. Éviter les extractions massives des payloads.

Transactions des tables d’interface (SQL)
-- Uniquement si l'intégration utilise les interface tables
SELECT transid, ifacename
FROM mxin_inter_trans
WHERE transid = :transid;

SELECT transid, ifacename
FROM mxout_inter_trans
WHERE transid = :transid;
Collecte opérationnelle (sans extraction sensible)
1. Relever heure, sens (entrant/sortant), service/canal et ID message
2. Message Reprocessing : statut + erreur anonymisée
3. Console JMS : destination, profondeur de file, consommateurs
4. Journaux d’intégration Maximo/Manage : période et ID corrélation
5. Tester le retraitement en recette après validation
MAXIMO REST / OSLC · DIAGNOSTIC

Assistant de triage REST/HTTP

Obtenez une checklist contextualisée pour une réponse REST en erreur, sans transmettre de jeton ou lancer d'appel réseau.

Choisissez le code observé.

Interprétation générale des codes HTTP, pas une détection automatique de l’erreur Maximo. Ne collez ni URL contenant un jeton, ni clé API, ni mot de passe. Consultez les logs OSLC et Integration pour affiner le diagnostic.

IBM — Dépannage REST Maximo Manage · IBM — Erreurs d’endpoint · Articles REST

Collecter une réponse REST/HTTP

N’exécutez la requête que sur un endpoint que vous administrez, en lecture seule. Ne collez pas d’API key, jeton ou cookie dans les formulaires du portail. Le statut HTTP et l’heure suffisent au premier triage.

Entêtes HTTP d’un endpoint de test (shell)
# Ne transmet pas de jeton ni de clé API
curl --head --max-time 10 --silent --show-error \
  'https://maximo.exemple.fr/maximo/'
# Relever : statut HTTP, date, éventuel request-id, serveur/proxy
API OSLC (à faire manuellement)
1. Noter la méthode HTTP (GET/POST/PUT) et le chemin sans query sensible
2. Relever status et corps d'erreur anonymisé
3. Comparer les autorisations OSLC Object Structure et utilisateur
4. Chercher le même horodatage dans les logs OSLC / Integration
WEBSPHERE / IHS · SSL / TLS

Vérificateur de certificat et de confiance

Contrôlez des métadonnées de certificat relevées sur un serveur : nom DNS, validité et symptôme TLS. Aucun certificat ou clé privée n'est téléversé.

Saisissez des informations publiques de certificat, jamais une clé privée.

Vérification locale déclarative : ne lit ni le truststore WebSphere, ni le keystore IHS, ni la chaîne réellement présentée. Vérifiez le point de terminaison et les magasins de confiance sur chaque JVM ou proxy.

IBM — Échec PKIX et certificat signer · Articles SSL / WebSphere

Examiner la chaîne du certificat présenté

Commandes de lecture du certificat public uniquement. Ne jamais exporter le keystore, les clés privées, les mots de passe de stash ni les fichiers .kdb. Les commandes doivent être exécutées depuis le client qui constate l’erreur lorsque possible.

Certificat et SAN du point d’entrée (shell)
# Commande de consultation du certificat public
openssl s_client -connect maximo.exemple.fr:443 \
  -servername maximo.exemple.fr -showcerts </dev/null

# Vérification ciblée du certificat PEM PUBLIC sauvegardé
openssl x509 -in certificat-public.pem -noout \
  -subject -issuer -dates -ext subjectAltName
Contrôle d’environnement (sans secrets)
1. Comparer nom demandé, CNAME/VIP, certificat servi, SAN
2. Vérifier la chaîne de certification dans le truststore utilisé
3. Contrôler IHS, WebSphere/Liberty, proxy TLS et SNI
4. Comparer l'ancien INT et le nouvel INT-NEW
MAXIMO · COMPARAISON DEV / INT / PROD

Comparateur de propriétés système

Comparez deux inventaires nom=valeur en local pour identifier les propriétés ajoutées, manquantes ou différentes entre environnements.

Les différences seront indiquées sans réafficher les valeurs saisies.

Confidentialité : ne collez pas de mots de passe, jetons ou chaînes de connexion contenant des secrets. L'outil n'enregistre rien et n'affiche que les noms de propriétés et leur statut. Des différences peuvent être légitimes entre environnements.

IBM — Configuration des propriétés système · Articles sur les propriétés

Extraire les propriétés Maximo de deux environnements

Les propriétés peuvent contenir des secrets. Cette requête masque les noms suspects, mais elle ne garantit pas une anonymisation complète. Faire valider l’export par un administrateur avant de l’insérer dans l’outil.

Propriétés système (SQL, masquage partiel)
SELECT propname,
  CASE
    WHEN LOWER(propname) LIKE '%pass%'
      OR LOWER(propname) LIKE '%secret%'
      OR LOWER(propname) LIKE '%token%'
      OR LOWER(propname) LIKE '%key%'
      THEN '[MASQUER]'
    ELSE propvalue
  END AS propvalue
FROM maxpropvalue
WHERE propname LIKE 'mxe.%'
ORDER BY propname;
Préparer le format de comparaison
# Après suppression des secrets et vérification des valeurs :
mxe.int.globaldir=/chemin-environnement
mxe.db.fetchStopLimit=500
# Importer le texte du même format sur les deux environnements.
MAXIMO · SQL / PERFORMANCE

Revue statique de requête SQL

Repère les opérations d'écriture, les requêtes potentiellement coûteuses et les points de vigilance pour les extractions de diagnostic.

Aucune requête n'est exécutée et aucun accès à la base n'est établi.

Analyse heuristique du texte, pas parseur SQL complet ni preuve de lecture seule. Les procédures, fonctions, vues et instructions dynamiques peuvent avoir des effets de bord. Exécutez uniquement sur un environnement autorisé après revue DBA.

IBM — Journalisation SQL et performances · Articles SQL

Collecter la structure pour analyser une requête

La revue SQL est un contrôle statique. Ne jamais exécuter des écritures sur un environnement de production pour « tester » un diagnostic. Les plans d’exécution diffèrent entre Oracle, Db2 et SQL Server.

Attributs d’un objet Maximo (SQL)
-- Métadonnées Maximo, lecture seule
SELECT objectname, attributename, maxtype
FROM maxattribute
WHERE objectname = :objectname
ORDER BY attributename;
Recueil avant analyse
1. Copier la requête anonymisée dans l’outil
2. Identifier le moteur DB et la version Maximo/MAS
3. Relever la durée réelle et le nombre de lignes observées
4. Faire relever le plan d’exécution par un DBA autorisé