Configuration du capteur ACE ( IBM App Connect Enterprise )
Vous pouvez configurer le capteur « IBM ACE » dans un environnement traditionnel ou natif du cloud.
Pour plus d'informations sur la surveillance de l' IBM ACE (ACE), consultez la section Surveillance de l' IBM App Connect Enterprise (ACE).
Environnement ACE traditionnel
Prérequis
Avant de configurer le capteur « IBM ACE », procédez comme suit :
Vérifier et activer l'état de collecte des statistiques sur les ressources et les flux de messages. Les mesures ACE n'existent que lorsque vous activez la collecte de statistiques sur les ressources et les flux de messages.
Pour vérifier l'état de la collecte des ressources, exécutez la commande suivante :
mqsireportresourcestats <integrationNode> -e <integrationServer>Si l'état de collecte des ressources est inactif, activez-le en exécutant la commande suivante :
mqsichangeresourcestats <integratorNode> -e <integrationServer> -c activePour vérifier l'état des statistiques de flux de messages, exécutez la commande suivante :
mqsireportflowstats <integratorNode> -s -e <integrationServer> -jSi l'état de collecte des flux de messages est inactif, activez la collecte des statistiques instantanées pour tous les flux de messages sur le serveur d'intégration et le nœud spécifiés, puis transmettez les données au format JSON.
Pour activer la collecte de statistiques instantanées sans définir le niveau de données des threads, exécutez la commande suivante :
mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -c active -o jsonPour activer la collecte de statistiques instantanées en définissant le niveau de données des threads, exécutez la commande suivante :
mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -t basic -c active -o jsonPour activer la collecte de statistiques instantanées en définissant à la fois le niveau de données des threads et le niveau de données des nœuds, exécutez la commande suivante :
mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -t basic -n basic -c active -o json
Remarque : Si vous souhaitez vérifier l'utilisation des threads pour chaque flux de messages, vous devez activer les données relatives aux threads à l'aide de l'option « -t basic » lorsque vous utilisez la commande « mqsichangeflowstats ». Vous pouvez demander deux types de collecte de données, l'instantané et l'archive. Le type d'instantané est le meilleur choix pour la collecte de données. Pour plus d'informations, consultez les commandes correspondantes dans la documentation IIB ou ACE.
Vérifiez si votre ACE utilise MQTT ou IBM MQ. Les commandes suivantes recherchent le processus MQTT ou « IBM MQ » et vérifient si les événements opérationnels sont publiés vers le capteur ACE.
Pour vérifier la présence de MQTT, exécutez la commande suivante :
ps -ef | awk '/bipMQTT/ && /<integrationNode>/' mqsireportproperties <integrationNode> -b Events -o OperationalEvents/MQTT -n enabledPour utiliser MQTT comme destination de la publication
OperationalEventsdans le capteur ACE, procédez comme suit :Assurez-vous que l'utilisateur qui exécute l'agent « Instana » fait partie du groupe ACE.
Spécifiez le port MQTT dans le fichier
configuration.yaml. Pour plus d'informations, voir Exemples de configuration ACE.Remarque : les paramètres etacePassword: ‘<VIWER_USER_PASSWORD>’aceUsername: ‘<VIWER_USER>’de la fonction ` configuration.yaml ` ne sont pas utilisés avec le socket ` Unix `.Activer le MQTT. Pour plus d'informations, consultez le site IBMApp Connect.
Utilisez la commande précédente pour vérifier les événements publiés.
Utilisez les exemples de requêtes suivants pour vous assurer que la connexion est ouverte et fonctionne du côté de MQTT :
Requête via un socket Unix, réponse 403 :
root@itm-0:~# curl --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","apiResponseCode":403}]}Demande avec nom d'utilisateur, réponse 403 :
root@itm-0:~# curl -u user1 --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers Enter host password for user 'user1': {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","apiResponseCode":403}]}Suppression de la connexion Unix et renvoi d'un utilisateur, réponse 200 :
root@itm-0:~# curl -u user1 http://127.0.0.1:4417/apiv2/servers Enter host password for user 'user1': {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","active":{"processId":26013,"isRunning":true,"state":"started"},"apiResponseCode":200}]}Après avoir ajouté "root" au groupe ACE, il n'est pas nécessaire de fournir le nom d'utilisateur et le mot de passe, la réponse est 200 :
root@itm-0:~# grep root /etc/group root:x:0: mqbrkrs:x:1001:mquser,mq,root root@itm-0:~# curl --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","active":{"processId":26013,"isRunning":true,"state":"started"},"apiResponseCode":200}]}
Pour vérifier la présence d' IBM MQ s, exécutez la commande suivante :
mqsilist | grep <integrationNode> # check there is a default queue manager configured. mqsireportproperties <integrationNode> -b Events -o OperationalEvents/MQ -n enabledPour utiliser « IBM MQ » dans votre ACE, procédez comme suit :
Créez un canal ou utilisez un canal existant pour le flux des données de mesure des performances pour le serveur d'intégration, le flux de messages et le nœud de flux.
Assurez-vous que le canal est accessible via le nom d'utilisateur ou le mot de passe spécifié dans le fichier
configuration.yaml.Spécifiez le nom du gestionnaire de file d'attente et le port d'écoute dans le fichier
configuration.yamlainsi que le nom du canal, le nom d'utilisateur et le mot de passe. Pour plus d'informations sur la configuration des canaux, consultez la section « Résolution des problèmes d'accès CHLAUTH ».
Si le serveur surveillé est un serveur d'intégration indépendant, assurez-vous que les conditions suivantes sont remplies :
- Configurer la publication des messages d'événements, car elle est désactivée par défaut. Le capteur ACE ne surveille que
OperationalEvents, et nonBusinessEvents. Pour plus d'informations, consultez la section « Configuration de la publication des messages d'événement ». - Utilisez ACE 11.0.0.11 ou une version ultérieure. Sinon, vous ne pouvez pas utiliser le socket de domaine UNIX, car le fichier
.udsn'existe pas pour chaque serveur.
- Configurer la publication des messages d'événements, car elle est désactivée par défaut. Le capteur ACE ne surveille que
Pour activer la fonction de découverte automatique dans l'environnement ACE traditionnel, assurez-vous que les conditions suivantes sont remplies :
- Le capteur « IBM ACE » est activé sans qu'il soit nécessaire de configurer le nœud d'intégration ou le serveur dans le
<agent_install_dir>/etc/instana/configuration.yamlfichier. - L'utilisateur qui lance l'agent dispose des droits d'accès au chemin de travail ACE (par exemple,
/var/mqsi/). - Le processus MQTT fonctionne correctement pour le nœud d'intégration concerné. Pour vérifier, exécutez la
ps -ef | grep -E 'bipMQTT.*<integrationNode>’commande sur l'hôte.
Remarque : grâce à la détection automatique, vous pouvez voir tous les serveurs d'intégration en cours d'exécution répertoriés sur le tableau de bord de l'hôte de l'interface utilisateur d' Instana, même si toutes les conditions préalables ne sont pas remplies.- Le capteur « IBM ACE » est activé sans qu'il soit nécessaire de configurer le nœud d'intégration ou le serveur dans le
Dans les versions 13 et ultérieures d' IBM ACE, les serveurs d'intégration utilisent par défaut le protocole HTTPS avec des certificats auto-signés. Pour permettre à Instana d'effectuer un suivi, choisissez l'une des options suivantes :
- Démarrez le serveur d'intégration avec un keystore JKS approprié contenant des certificats valides. Si vous utilisez HTTPS avec un keystore valide, configurez les
keystoreparamètreskeystorePasswordet dans le fichier deconfiguration.yamll'agent. - Remplacez le protocole HTTPS par HTTP pour le serveur d'intégration.
- Démarrez le serveur d'intégration avec un keystore JKS approprié contenant des certificats valides. Si vous utilisez HTTPS avec un keystore valide, configurez les
Procédure
Dans l'environnement ACE traditionnel, l' Instana prend en charge la surveillance des instances d' IBM ACE, qu'elles soient distantes ou locales. Vous devez configurer les champs dans le fichier de configuration de l'agent <agent_install_dir>/etc/instana/configuration.yaml. Vous pouvez utiliser les configurations suivantes :
Pour utiliser la surveillance à distance, définissez l'adresse IP du serveur ACE cible comme valeur de l'hôte.
Pour utiliser la surveillance locale, commentez l'attribut host. La surveillance locale est utilisée par défaut.
Pour surveiller des courtiers ou des serveurs d'intégration portant le même nom sur différents hôtes, utilisez
brokerName:xouintegrationServer:xcomme clé des courtiers ou des serveurs d'intégration. Par exemple,BK1:1etBK:2.Pour utiliser la fonction de découverte automatique, ne définissez aucun champ sous
NodesOrServers. La fonction de découverte automatique du capteur ACE permet de découvrir tous les serveurs d'intégration en cours d'exécution sur l'hôte et de commencer à les surveiller automatiquement sans aucune configuration.
Pour obtenir des conseils sur la manière d'obtenir les valeurs de ces champs, consultez l'article de blog intitulé « Conseils utiles pour la configuration des capteurs ACE ».
Voir l'exemple de fichier configuration.yaml suivant pour la configuration de l'ACE :
com.instana.plugin.ace:
enabled: true
poll_rate: 60
forceRemote: false
flowNodesExcludedRegex: ''
messageFlow:
limit: 0
sortByMetric: 'MaximumElapsedTime'
NodesOrServers:
SampleNode/Server:
host: '<ACE_SERVEr_HOST>'
restApiPort: '<ACE_REST_API_PORT>'
aceUsername: '<VIWER_USER>'
acePassword: '<VIWER_USER_PASSWORD>'
keystore: '<ACE_KEYSTORE_PATH>'
keystorePassword: '<ACE_KEYSTORE_PASSWORD>'
excludedServers: '<INTEGRATION_SERVER_NAMES>'
flowNodesExcludedRegex: ''
messageFlow:
limit: 0
sortByMetric: 'MaximumElapsedTime'
availabilityZone: 'IBM ACE Custom Zone'
mqHost: '<MQ_HOST>'
mqport: '<MQ_LISTENING_PORT>'
queuemanagerName: '<QMGR_NAME>'
channel: '<SVRCONN_CHANNEL>'
mqUsername: '<AUTHORIZED_USER>'
mqPassword: '<USER_PASSWORD>'
mqKeystore: '<MQ_KEYSTORE_PATH>'
mqKeystorePassword: '<MQ_KEYSTORE_PASSWORD>'
mqCipherSuite: '<MQ_CIPHER_SUITE>'
Configuration de la fréquence d'interrogation
Vous pouvez configurer la fréquence à laquelle l' Instana interroge IBM ACE pour collecter des données et des métriques en utilisant le poll_rate paramètre dans le fichier de configuration.yaml l'agent, comme le montre l'exemple suivant :
com.instana.plugin.ace:
poll_rate: 60
Paramètres de configuration
Le tableau suivant contient les paramètres de configuration et leur description :
| Paramètre | Description | Obligatoire | Valeur par défaut |
|---|---|---|---|
enabled |
Active ou désactive le plug-in. | Oui | true |
poll_rate |
Définit le taux d'interrogation du plug-in en secondes. La valeur minimale est de 20 secondes. | Oui | 60 |
forceRemote |
Force le plug-in à utiliser la surveillance à distance au lieu de la surveillance locale. | Non | false |
flowNodesExcludedRegex |
Définit une expression régulière globale pour filtrer les nœuds de flux exclusifs de tous les nœuds d'intégration. | Nécessaire uniquement lorsque vous devez filtrer certains types de nœuds de flux à partir de tous les nœuds ou serveurs surveillés. | ND |
flowNodeLimit |
Limite le nombre de nœuds de flux surveillés par flux de messages. Lorsque cette valeur est définie sur « 0 », tous les nœuds de flux sont surveillés. Lorsque la valeur N est définie sur un nombre N > 0, seuls les N nœuds de flux les plus lents sont surveillés. | Non | 0 |
limit |
Limite le nombre de flux de messages surveillés ou faisant l'objet d'un rapport (imbriqués sous messageFlow l'objet). Lorsqu'il est réglé sur 0, « Instana » surveille tous les flux de messages. Lorsqu'il est défini sur une valeur supérieure à 0, il surveille uniquement les N premiers flux en fonction des indicateurs de performance. |
Non | 0 |
sortByMetric |
Spécifie l'indicateur de performance à utiliser pour trier les flux lorsque limit est supérieur à 0 (imbriqué sous messageFlow l'objet ). Instana trie les flux par ordre décroissant. Les valeurs suivantes sont prises en charge : MaximumElapsedTime et ThreadUtilization. |
Non | MaximumElapsedTime |
SampleNode/Server |
Définit un nœud d'intégration ou un serveur d'intégration indépendant. | Oui Toutefois, si vous prévoyez d'utiliser la fonction de découverte automatique, tous les champs suivants qui contiennent ce paramètre ne sont plus nécessaires. | ND |
host |
Définit l'hôte du serveur ACE. | Nécessaire uniquement pour la surveillance à distance ou l'HA avec un système multi-instance ou RDQM. Pour HA, séparez plusieurs hôtes par des virgules. | ND |
restApiPort |
Définit le port d' REST API s du serveur ACE. | Oui | ND |
aceUsername |
Définit le nom d'utilisateur pour le service « REST API » du serveur ACE. | Nécessaire uniquement lorsque la sécurité est activée. | ND |
acePassword |
Définit le mot de passe du service « REST API » du serveur ACE. | Nécessaire uniquement lorsque la sécurité est activée. | ND |
keystore |
Définit le chemin d'accès au magasin de clés pour les connexions via le protocole HTTPS. | Obligatoire uniquement lorsque l'option « HTTPS » est activée. | ND |
keystorePassword |
Définit le mot de passe du keystore pour les connexions via le protocole HTTPS. | Obligatoire uniquement lorsque l'option « HTTPS » est activée. | ND |
excludedServers |
Définit les noms des serveurs d'intégration à exclure de la surveillance. | Nécessaire uniquement lorsque vous souhaitez exclure un serveur d'intégration de la surveillance. Séparez les noms multiples par une virgule. | ND |
flowNodesExcludedRegex |
Définit une expression régulière pour filtrer les nœuds de flux exclusifs à partir du nœud d'intégration. | Nécessaire uniquement lorsque vous devez filtrer certains types de nœuds de flux. La regex définie dans cette propriété a une priorité plus élevée que la regex globale. | ND |
limit |
Limite le nombre de flux de messages surveillés ou faisant l'objet d'un rapport pour ce courtier spécifique (imbriqué sous messageFlow l'objet). Cette configuration remplace le paramètre global. |
Non | Hérite du paramètre global |
sortByMetric |
Spécifie l'indicateur de performance à utiliser pour trier les flux pour ce courtier spécifique (imbriqué sous messageFlow l'objet). Cette configuration remplace le paramètre global. |
Non | Hérite du paramètre global |
availabilityZone |
Définit une zone personnalisée. | Nécessaire uniquement lorsque vous avez besoin d'une zone personnalisée. Le nom du courtier est utilisé par défaut. | IBM ACE Custom Zone |
mqHost |
Définit l'hôte ou l'adresse IP de l' IBM MQ. | Obligatoire uniquement lorsque l'on peut accéder à IBM MQ à l'aide de l'adresse IP externe. | ND |
mqport |
Définit le port d'écoute du serveur MQTT ou de l' IBM MQ | Oui | ND |
queuemanagerName |
Définit le nom du gestionnaire de file d'attente. | Obligatoire uniquement pour IBM MQ. | ND |
channel |
Définit le canal autorisé avec le type SVRCONN. | Obligatoire uniquement pour IBM MQ. | ND |
mqUsername |
Définit l'utilisateur autorisé pour le canal IBM MQ. | Obligatoire uniquement lorsque les options « chlauth », « connauth » ou les deux sont activées pour l' IBM MQ. | ND |
mqPassword |
Définit le mot de passe de l'utilisateur autorisé du canal IBM MQ. | Obligatoire uniquement lorsque les options « chlauth », « connauth » ou les deux sont activées pour l' IBM MQ. | ND |
mqKeystore |
Définit le chemin d'accès au magasin de clés pour les connexions via TLS. | Obligatoire uniquement lorsque l'option « TLS » est activée pour IBM MQ. | ND |
mqKeystorePassword |
Définit le mot de passe du keystore pour les connexions via le protocole TLS. | Obligatoire uniquement lorsque l'option « TLS » est activée pour IBM MQ. | ND |
mqCipherSuite |
Définit la suite de chiffrement pour les connexions TLS. | Obligatoire uniquement lorsque l'option « TLS » est activée pour IBM MQ. | ND |
Le sortByMetric paramètre (imbriqué sous messageFlow) ne prend effet que lorsque limit est supérieur à 0. Si limit est défini sur 0 (surveiller tous les flux), le sortByMetric paramètre est ignoré car aucune limitation de débit n'est appliquée.
Exemples de configuration ACE
Configuration pour l'utilisation de la fonction de découverte automatique (disponible uniquement pour ACE 11 et les versions ultérieures) :
com.instana.plugin.ace: enabled: true poll_rate: 60Configuration pour la surveillance locale avec MQTT :
com.instana.plugin.ace: enabled: true poll_rate: 60 NodesOrServers: BK1: restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' mqport: '11883'Configuration pour la surveillance locale et à distance avec IBM MQ :
com.instana.plugin.ace: enabled: true poll_rate: 60 NodesOrServers: BK1: # remote monitoring host: 'ace.example.com' restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' mqport: '2121' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password' mqKeystore: '/path/to/mq/keystore.jks' mqKeystorePassword: 'securepassword' BK1:1: # local monitoring restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' mqport: '2121' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password'Configuration pour le support HA avec les serveurs d'intégration et certains nœuds de flux exclus :
com.instana.plugin.ace: enabled: true poll_rate: 60 NodesOrServers: BK1: host: 'ha-host1.com, ha-host2.com' restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' excludedServers: 'IS1, IS2' # Integration servers IS1, IS2 will be excluded from monitoring. flowNodesExcludedRegex: 'MSLMapping.*' # Flow nodes that have types beginning with "MSLMapping" will be excluded from monitoring mqport: '2121' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password'Configuration de la limitation globale du flux de messages et du tri basé sur les performances :
com.instana.plugin.ace: enabled: true poll_rate: 60 messageFlow: # Global message flow configuration limit: 20 # Monitor only top 20 flows globally sortByMetric: 'MaximumElapsedTime' # Sort by maximum elapsed time NodesOrServers: BROKER1: restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' mqport: '1414' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password'Configuration des règles de limitation du flux de messages par courtier :
com.instana.plugin.ace: enabled: true poll_rate: 60 messageFlow: # Global defaults limit: 10 # Monitor top 10 flows globally sortByMetric: 'MaximumElapsedTime' # Sort by maximum elapsed time NodesOrServers: BROKER1: restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' messageFlow: # Override global settings for this broker limit: 5 # Monitor only top 5 flows for this broker sortByMetric: 'ThreadUtilization' # Sort by thread utilization for this broker mqport: '1414' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password' BROKER2: restApiPort: '4415' aceUsername: 'viewer' acePassword: 'mypassword' # This broker inherits global settings: limit=10, sortByMetric='MaximumElapsedTime' mqport: '1415' queuemanagerName: 'QM2' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password'Configuration de la limitation des nœuds de flux :
com.instana.plugin.ace: enabled: true poll_rate: 60 flowNodeLimit: 10 # Monitor only top 10 slowest flow nodes per message flow NodesOrServers: BROKER1: restApiPort: '4414' aceUsername: 'viewer' acePassword: 'mypassword' flowNodeLimit: 5 # Override: monitor only top 5 flow nodes for this broker mqport: '1414' queuemanagerName: 'QM1' channel: 'INSTANA.SVRCONN' mqUsername: 'mquser' mqPassword: 'password'
Environnement ACE natif du cloud
La configuration du capteur « IBM ACE » dans l'environnement cloud natif est détectée automatiquement.