vendredi 25 novembre 2011

WAS - PMI & Métriques

Ci dessous la liste des métriques WebSphere disponibles dans la configuration de base:

Catégorie nom description
EJB MethodReadyCount Nombre d’instances de bean à l’état prêt
PassiveCount Nombre de fois où des beans ont été passivés
MessageCount Nombre de messages fournis à la méthode de bean onMessage (s’applique aux beans gérés par messages)
PooledCount Nombre moyen d’objets dans le pool
MethodResponseTime Temps de réponse moyen (en millisecondes) des appels aux méthodes distantes du bean
MethodCallCount Nombre d’appels aux méthodes distantes du bean
ReadyCount Nombre d’instances de bean à l’état prêt
RemoveCount Nombre de fois où des beans ont été supprimés
CreateCount Nombre de fois où des beans ont été créés
Pool JDBC WaitTime Temps moyen d’attente d’octroi d’une connexion, en millisecondes
UseTime Durée moyenne d’utilisation d’une connexion en millisecondes. Différence entre l’heure à laquelle la connexion est allouée et celle où elle est libérée. Cette valeur inclut la durée de l’opération JBDC
PercentUsed Pourcentage moyen du pool en cours d’utilisation. La valeur repose sur le nombre total de connexions configurées dans le pool de connexions, pas sur le nombre actuel de connexions
WaitingThreadCount Nombre moyen d’unités d’exécution qui attendent simultanément une connexion
FreePoolSize Nombre de connexions libres dans le pool
PoolSize Taille du pool de connexions
CloseCount Nombre total de connexions fermées
CreateCount Nombre total de connexions créées
JVM ProcessCpuUsage Utilisation de l’unité centrale (CPU) (en pour cent) de la machine virtuelle Java
UpTime Durée, en secondes, de l’exécution de la machine virtuelle Java (JVM)
UsedMemory Mémoire utilisée (ko) dans l’environnement d’exécution de la JVM
HeapSize Mémoire totale (ko) dans l’environnement d’exécution de la JVM
JCA WaitTime Temps moyen d’attente d’octroi d’une connexion, en millisecondes
UseTime Durée moyenne, en millisecondes, d’utilisation des connexions (depuis leur affectation jusqu’à leur libération)
WaitingThreadCount Nombre moyen d’unités d’exécution qui attendent simultanément une connexion
FreePoolSize Nombre de connexions gérées disponibles actuellement dans le pool
PoolSize Nombre moyen de connexions gérées dans le pool
CloseCount Nombre total de connexions gérées supprimées
CreateCount Nombre total de connexions gérées créées
Gestionnaire de sessions web LiveCount Nombre total de sessions actuellement actives
système CPUUsageSinceLastMeasurement Utilisation CPU moyenne depuis la dernière demande
Pool de Thread du WebContainer PoolSize Nombre moyen d’unités d’exécution dans le pool
Gestionnaire de transactions RolledbackCount Nombre de transactions globales annulées
CommittedCount Nombre de transactions globales validées
ActiveCount Nombre de transactions globales actuellement actives
WEB URIRequestCount Nombre total de requête (associée à une URI) traitée par une servlet
ServiceTime Temps moyen en milliseconde pour qu’une requête soit traitée
RequestCount Nombre total de requête qu’une servlet a traitée
URIServiceTime Temps de réponse moyen pour qu’une URI soit associée à une servlet

vendredi 18 novembre 2011

JYTHON - Manipuler les ressources JDBC

Ce petit tuto vous explique comment manipuler les objets WebSphere via Jython.
L'objectif étant de récupérer de manière automatique des valeurs relatives à la configuration JDBC d'une application.

1 - Dans un premier temps, il faut se connecter en wsadmin sur le serveur d'application de votre choix.

Pour la connexion, consulter ce lien
http://admin2base.blogspot.com/2011/11/was-connexion-wsadmin-pour-jython.html

/appli/test >wsadmin.sh

WASX7209I: Connected to process "server1" on node siphnosNode using SOAP connector;  The type of process is: UnManagedProcess
WASX7031I: For help, enter: "print Help.help()"


2 - Récupérer les identifiant de ressources de la JVM

La ressource JDBC est liée à la JVM et non à l'application. Ce n'est que dans un deuxième temps (une fois l'application déployée) que l'on mappe cette ressource à l'application.
Il faut donc chercher l'identifiant de ressource qui se ramène au serveur d'application.

wsadmin>$AdminConfig getid /JDBCProvider:/

"Derby JDBC Provider (XA)(cells/
CellName/Application 1.ear/deployments/application1|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application2.ear/deployments/Application2|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application3.ear/deployments/Application3|resources.xml#builtin_jdbcprovider)"
"Derby JDBC Provider (XA)(cells/
CellName/applications/Application4.ear/deployments/Application4.xml#builtin_jdbcprovider)"
"Derby JDBC Provider(cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1265195948776)"
"Oracle JDBC Driver(cells/
CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)"

En l'occurence, nous recherchons des informations sur notre driver JDBC Oracle (non XA)
"Oracle JDBC Driver(cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)"

3 - Maintenant que nous avons l'identifiant de ressources, nous allons pouvoir l'interroger pour obtenir les informations que nous cherchons:

wsadmin>$AdminConfig show {propertySet (cells/CellName/nodes/NodeName/servers/server1|resources.xml#JDBCProvider_1275658163588)}
{classpath ${ORACLE_JDBC_DRIVER_PATH}/ojdbc14.jar}
{description "Oracle JDBC Driver"}
{implementationClassName oracle.jdbc.pool.OracleConnectionPoolDataSource}
{name "Oracle JDBC Driver"}
{nativepath {}}
{providerType "Oracle JDBC Driver"}
{xa false}



On retrouve bien les informations relative au driver.




La prochaine étape, nous effectuerons une extraction des données relatives aux datasources ...
To be continued

vendredi 4 novembre 2011

Conversion PEM - DER

PEM to DER

openssl x509 -in cert.crt -outform der -out cert.der

DER to PEM

openssl x509 -in cert.crt -inform der -outform pem -out cert.pem

CRYPTO - .PEM vs .DER et extensions

Encodage des certificats

Il existe deux types d'encodage pour les certificats:

  • Fichier au format .DER
    L'extension DER est utilisée pour les certificats encodé au format DER. Ces fichiers peuvent avoir indifféremment l'extension .crt ou .cer. A proprement parlé, on dit plutôt "J'ai un certificat encodé DER" plutôt que "J'ai un certificat DER".

  • Fichier au format .PEM 
    L'extension PEM est utilisé pour les fichiers de type X509 v3 et qui contiennent des données ASCII encodées en base64 et généralement préfixé des balises "-- BEGIN CERTIFICATE --"

Les Extensions communes

  • .CRT
     L'extension CRT est utilisée pour désigner un certificat. Ce certificat doit être encodé au format DER ou en PEM. Cette extension est propre au certificats Microsoft.
  • .CER 
    Alternative au format CRT, le fichier CER est légèrement différent du CRT mais reste compatible sur les environnements Windows car le système embarque une APICrypto qui permet la conversion.
          Cette extension est plus largement utilisée sur les environnements Unix.
  • .KEY 
     Cette extension est utilisées pour les clés publiques & privées au format PKCS#8. Le format d'encodage peut être PEM ou DER