Installation de Service Activity Monitoring

Talend ESB Guide d'installation pour Linux

EnrichVersion
6.4
EnrichProdName
Talend ESB
task
Installation et mise à niveau

Service Activity Monitoring (SAM) facilite la collecte d'analyses d'activité des services, notamment en termes de temps de réponse, de structure du trafic, d'audit et autre, en collectant les événements et en stockant les informations. Ce composant est constitué de deux parties :

  • les Agents (sam-agent) qui collectent et envoient les données de monitoring

  • un Serveur de monitoring (sam-server) qui traite et stocke les données

L'ordre dans lequel ceux-ci sont utilisés est le suivant :

  1. L'Agent crée des événements à partir des requêtes et des réponses envoyées à la fois côté consommateur et côté fournisseur.

  2. Les événements sont d'abord collectés localement puis envoyés au Serveur de monitoring de façon périodique (afin de ne pas perturber le flux de messages normal).

  3. Lorsque le Serveur de monitoring reçoit les événements de l'Agent, il peut si besoin appliquer des filtres sur ces événements et/ou les confier aux gestionnaires (handlers) et les stocke dans une base de données.

L'Agent et le Serveur de monitoring sont mis à disposition de la façon suivante :

  • L'Agent est installé par défaut en tant que Feature dans Talend ESB Container.

  • Le Serveur de monitoring nécessite d'être installé dans un conteneur de Servlet (Tomcat) ou un conteneur d'OSGi (Talend ESB Container) et d'avoir un accès à une base de données.

Une fois Talend ESB installé, vous pouvez accéder au serveur du Service Activity Monitoring dans le répertoire Talend-ESB-VA.B.C/add-ons/sam pour l'installer ou vous pouvez l'installer directement en tant que feature dans Talend ESB Container.

Prérequis du Serveur de monitoring

Le Serveur de monitoring nécessite un moteur de base de données pour stocker les données Événements. Les bases de données supportées sont listées dans la Bases de données compatibles.

Ci-dessous, une liste des fichiers script correspondant aux bases de données. Exécutez-les pour configurer correctement les bases de données. Vous pouvez trouver les scripts SQL dans le répertoire Talend-ESB-VA.B.C/add-ons/sam/db.

Nom du fichier script SQL

Base de données

create.sqlApache Derby
create_mysql.sqlMySQL
create_oracle.sql Oracle
create_sqlserver.sql SQL Server
create_h2.sql H2 Database Engine
create_db2.sql IBM DB2
  1. Assurez-vous que votre base de données est correctement installée et qu'elle est accessible.

  2. Connectez-vous avec un utilisateur qui a les permissions CREATE.

  3. Exécutez le script init SQL correspondant à votre base de données (voir tableau ci-dessus).

Note

Si la valeur de la propriété db.recreate dans logserver.properties est définie sur true, le script init SQL s'exécute automatiquement au démarrage du Serveur de monitoring. Cette option est recommandée uniquement si la base de données Apache Derby est utilisée et fonctionne en mode embarqué.

Les tables EVENTS et EVENTS_CUSTOMINFO ont été créées dans votre base de données.

A présent, vous pouvez soit installer le Serveur de monitoring en standalone soit l'installer en tant que Feature dans Talend ESB Container.

En tant que Feature OSGi (recommandé)

Le serveur Service Activity Monitoring peut être installé en tant que Feature dans Talend ESB Container, afin qu'il soit automatiquement lancé au lancement de Talend ESB Container.

Pour lancer Service Activity Monitoring en tant que Feature dans Talend ESB Container :

  1. Exécutez le conteneur.

  2. Saisissez la commande suivante pour démarrer la Feature du serveur SAM : tesb:start-sam.

  3. Pour arrêter le serveur SAM, saisissez la commande suivante : tesb:stop-sam.

En tant qu'application Web (alternative)

Pour installer le serveur Service Activity Monitoring (SAM) en tant qu'application Web, vous devez :

  • le déployer dans un conteneur de Servlet,

  • configurer les informations de connexion à la base de données,

  • configurer l'endpoint de monitoring dans Talend ESB Container.

Pour plus d'informations, consultez les procédures ci-dessous.

Déployer SAM dans Apache Tomcat

  1. Copiez le fichier sam-server-war.war du répertoire Talend-ESB-VA.B.C/add-ons/sam.

  2. Collez-le dans le répertoire <TomcatPath>/webapps.

    Au prochain lancement de Tomcat, le Serveur de l'application SAM sera automatiquement déployé sur le serveur.

    Vous pouvez également saisir les commandes suivantes dans une invite de commande :

    cp Talend-ESB-VA.B.C/add-ons/sam/sam-server-war.war <TomcatPath>/webapps

  3. Vous pouvez vérifier que le Serveur SAM Server est correctement installé et lancé en allant à l'URL suivante : http://localhost:8080/sam-server-war/services/sam

    Avertissement

    "http://localhost:8080/sam-server-war/services/sam" est donné uniquement à titre d'exemple. Selon votre configuration, il se peut que vous deviez remplacer <localhost> par l'adresse IP du serveur Web et <8080> par le port utilisé pour l'application.

Configurer les informations de connexion à la base de données

  1. Ouvrez le fichier <TomcatPath>/conf/context.xml et ajoutez les lignes suivantes, en fonction du serveur de base de données utilisé :

    Pour H2 :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="sa" password=""
    driverClassName="org.h2.Driver"
    url="jdbc:h2:tcp://localhost/~/test"
    maxActive="8" maxIdle="30" maxWait="10000"/>

    Pour Derby :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="test" password="test"
    driverClassName="org.apache.derby.jdbc.ClientDriver"
    url="jdbc:derby://localhost:1527/db;create=true"
    maxActive="8" maxIdle="30" maxWait="10000"/>

    Pour MySql :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="test" password="test"
    driverClassName="com.mysql.jdbc.Driver"
    url="jdbc:mysql://localhost:3306/test"
    maxActive="8" maxIdle="30" maxWait="10000"/>

    Pour DB2 :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="db2admin" password="qwaszx"
    driverClassName="com.ibm.db2.jcc.DB2Driver"
    url="jdbc:db2://localhost:50000/TEST"
    maxActive="8" maxIdle="30" maxWait="10000"/>

    Pour SQLServer :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="test" password="test"
    driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver"
    url="jdbc:sqlserver://localhost:1029;instanceName=sqlexpress;databaseName=Test"
    maxActive="8" maxIdle="30" maxWait="10000"/>

    Pour Oracle :

    <Resource name="jdbc/datasource" auth="Container"
    type="javax.sql.DataSource" username="xxx" password="xxx"
    driverClassName="oracle.jdbc.pool.OracleDataSource"
    url="jdbc:oracle:thin:@localhost:1521:XE"
    maxActive="8" maxIdle="30" maxWait="10000"/>
  2. Vérifiez les informations de connexion renseignées dans le fichier suivant et modifiez-les si nécessaire :

    <TomcatPath>/webapps/sam-server-war/WEB-INF/logserver.properties

Configurer l'endpoint de monitoring dans Talend ESB Container

  1. Dans la page du serveur Service Activity Monitoring disponible sur http://localhost:8080/sam-server-war/services/sam, cliquez sur le lien services.

  2. Dans la page des services, copiez l'adresse de l'Endpoint, par exemple: http://localhost:8080/sam-server-war/services/MonitoringServiceSOAP

  3. Placez-vous dans le répertoire de configuration de Talend ESB Container : Talend-ESB-VA.B.C/container/etc pour configurer son agent Sam avec le bon endpoint de monitoring.

  4. Modifiez le fichier org.talend.esb.sam.agent.cfg.

  5. Remplacez le champ service.url par la nouvelle adresse de l'Endpoint.