Lorsque vos gestionnaires de files d’attente IBM MQ s’exécutent sur une infrastructure traditionnelle telle que des machines virtuelles, des serveurs bare metal ou des instances EC2, vous avez besoin d’un moyen fiable de monitorer leurs performances sans la complexité de l’orchestration de conteneurs. Ce guide vous montre comment configurer un monitoring complet d’IBM MQ à l’aide du collecteur de la distribution OpenTelemetry de New Relic (NRDOT) ou d’ OpenTelemetry Collector Contrib.
Vous configurerez le collecteur pour qu’il recueille automatiquement les profondeurs de file d’attente, les métriques de débit et l’état des canaux de vos gestionnaires de files d’attente, puis qu’il expédie ces données à New Relic où elles apparaissent sous forme d’entités organisées avec des dashboards et des alertes prêts à l’emploi. Cette approche fonctionne mieux lorsque vous disposez d’un ensemble stable de gestionnaires de files d’attente qui ne changent pas fréquemment.
Conseil
Si vos gestionnaires de files d'attente s'exécutent plutôt sur Kubernetes, consultez Monitorer IBM MQ sur Kubernetes.
Avant de commencer
Vous aurez besoin de ces composants avant de configurer le collecteur :
- Compte New Relic avec une clé de licencevalide
- Point de terminaison OTLP New Relic pour votre région
- Gestionnaires de files d’attente IBM MQ s’exécutant avec des canaux de connexion serveur disposant d’autorisations de requête PCF
- Exportateur IBM MQ mq-metric-samples installé et exposant des métriques sur chaque gestionnaire de files d'attente. Un exportateur par gestionnaire de files d'attente
- Hôte Linux pour installer le collecteur NRDOT ou OpenTelemetry Collector Contrib
Conseil
Nous recommandons d'activer les statistiques MQI sur vos gestionnaires de files d'attente à l'aide de ALTER QMGR STATMQI(ON) STATQ(ON) pour obtenir de meilleures métriques de débit.
Configurer le monitoring IBM MQ
Choisissez la distribution de votre collecteur et suivez le processus de configuration complet :
Installer le collecteur NRDOT
Téléchargez et installez le package NRDOT pour votre distribution Linux. Remplacez <NRDOT_VERSION> par le dernier tag de sortie de la page nrdot-collector-releases (par exemple, v0.12.0).
Pour Debian/Ubuntu :
bash$curl -LO https://github.com/newrelic/nrdot-collector-releases/releases/download/<NRDOT_VERSION>/nrdot-collector_<NRDOT_VERSION>_linux_amd64.deb$sudo dpkg -i nrdot-collector_<NRDOT_VERSION>_linux_amd64.debPour RHEL/Rocky/Amazon Linux :
bash$curl -LO https://github.com/newrelic/nrdot-collector-releases/releases/download/<NRDOT_VERSION>/nrdot-collector_<NRDOT_VERSION>_linux_amd64.rpm$sudo dnf install ./nrdot-collector_<NRDOT_VERSION>_linux_amd64.rpm
Configurer le collecteur NRDOT
Configurez le Collector NRDOT pour collecter les métriques IBM MQ et les envoyer à New Relic. Cette configuration gère trois tâches principales :
- Connectez-vous à vos gestionnaires de files d'attente
- Nettoyez les données
- Envoyer les données à New Relic
Pour créer le répertoire et le fichier de configuration du collecteur avec les autorisations requises, exécutez :
bash$# Config directory — group-readable by nrdot only (it will hold secrets)$sudo install -d -o root -g nrdot -m 0750 /etc/nrdot-collector$$# Create the config file with correct permissions$sudo install -o root -g nrdot -m 0640 /dev/null /etc/nrdot-collector/ibmmq-config.yaml$sudo -u nrdot ${EDITOR:-vi} /etc/nrdot-collector/ibmmq-config.yamlCollez la configuration suivante dans le fichier de configuration créé, en remplaçant les espaces réservés par vos valeurs réelles :
extensions:health_check:endpoint: 127.0.0.1:13133processors:filter/ibmmq-overhead:metrics:exclude:match_type: regexpmetric_names:- "^go_.*"- "^process_.*"- "^promhttp_.*"- "^scrape_.*"filter/ibmmq-queues:metrics:datapoint:- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^SYSTEM\\.(ADMIN\\.|MQSC\\.|DEFAULT\\.|AUTH\\.|CHANNEL\\.|CHLAUTH\\.|CICS\\.|SYNCPOINT\\.|INTERNAL\\.|PENDING\\.|PROTECTION\\.|BROKER\\.|AMQP\\.|DOTNET\\.|REST\\.|RETAINED\\.|SELECTION\\.|DURABLE\\.|HIERARCHY\\.|DDELAY\\.)")'- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^SYSTEM\\.CLUSTER\\.(COMMAND|HISTORY)\\.QUEUE$")'- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^AMQ\\.")'resourcedetection:detectors: [env, ec2, system]system:resource_attributes:host.name:enabled: truehost.id:enabled: truetransform/ibmmq-cleanup:metric_statements:- context: resourcestatements:- delete_key(attributes, "server.address")- delete_key(attributes, "server.port")- delete_key(attributes, "url.scheme")- context: datapointstatements:# Rename the injected identity labels to their OTel dotted form — the# names New Relic's IBM MQ entity synthesis keys on. qmgr / queue stay raw.- set(attributes["target.name"], attributes["targetName"]) where attributes["targetName"] != nil- delete_key(attributes, "targetName")- set(attributes["cluster.name"], attributes["clusterName"]) where attributes["clusterName"] != nil- delete_key(attributes, "clusterName")- delete_key(attributes, "instance")- delete_key(attributes, "job")memory_limiter/ibmmq:check_interval: 1slimit_mib: 512spike_limit_mib: 256cumulativetodelta/ibmmq: {}batch/ibmmq:send_batch_size: 1000timeout: 200msexporters:otlphttp/ibmmq:endpoint: ${env:NEW_RELIC_OTLP_ENDPOINT}headers:api-key: ${env:NEW_RELIC_LICENSE_KEY}receivers:prometheus/ibmmq-qm1:config:scrape_configs:- job_name: 'ibmmq-qm1'scrape_interval: ${env:IBMMQ_SCRAPE_INTERVAL:-60s}scrape_timeout: 15sstatic_configs:- targets:- "${env:IBMMQ_QM1_ENDPOINT:-localhost:9157}"labels:targetName: "${env:TARGET_NAME}"clusterName: "${env:IBMMQ_CLUSTER_NAME:-}"service:pipelines:metrics/ibmmq-qm1:receivers: [prometheus/ibmmq-qm1]processors:- filter/ibmmq-overhead- filter/ibmmq-queues- resourcedetection- transform/ibmmq-cleanup- memory_limiter/ibmmq- cumulativetodelta/ibmmq- batch/ibmmqexporters: [otlphttp/ibmmq]extensions: [health_check]Important
Ne réorganisez pas et ne supprimez pas les processeurs. L'ordre de la chaîne de processeurs est essentiel pour la synthèse d'entité. Le processeur
transform/ibmmq-cleanupdoit s'exécuter après le processeurresourcedetection. L'inversion de cet ordre fait que les métriques IBM MQ s'associent à la propre entité du collecteur au lieu des entitésIBMMQ_MANAGER, ce qui empêche l'affichage des données sur les dashboards.Ce que fait cette configuration
Cette configuration crée un pipeline qui collecte des métriques à partir des gestionnaires de files d'attente IBM MQ et achemine les données structurées vers New Relic. Chaque composant remplit une fonction spécifique :
Composant Description health_checkFournit un point de terminaison d’intégrité à 127.0.0.1:13133qui renvoie{"status":"Server available"}pour vérifier que le collecteur est en cours d’exécution et pour résoudre les problèmes de démarrage.prometheus/ibmmq-qm1Se connecte à l'exportateur pour chaque gestionnaire de files d'attente toutes les 60 secondes pour recueillir des métriques. Chaque gestionnaire de files d'attente utilise un Récepteur indépendant ; si un gestionnaire de files d'attente tombe en panne, les Récepteurs restants continuent de fonctionner normalement. Pour ajouter d'autres gestionnaires de files d'attente, consultez la section Ajouter un autre gestionnaire de files d'attente. filter/ibmmq-overheadSupprime les métriques internes de l'exportateur (telles que go_*etprocess_*) qui ne contiennent pas de signal IBM MQ. Cela optimise les coûts d'ingestion des données en filtrant la télémétrie inutile.filter/ibmmq-queuesExclut les files d’attente système IBM MQ internes ( SYSTEM.*etAMQ.*) afin que seules les files d’attente d’application deviennent des entitésIBMMQ_QUEUE. Cela réduit le nombre total d’entités et concentre le monitoring sur les actifs critiques.transform/ibmmq-cleanupIl s’agit d’un composant critique qui mappe les métriques aux entités IBM MQ appropriées dans New Relic. Sans ce composant, les données apparaissent comme des métriques de collecteur génériques au lieu de synthétiser les entités IBMMQ_MANAGERetIBMMQ_QUEUEavec les dashboards et alertes associés.memory_limiter/ibmmqLimite l'utilisation de la mémoire à 512 Mo (avec une tolérance de pic de 256 Mo) pour éviter que le collecteur ne dépasse les limites de ressources du système. batch/ibmmqRegroupe les métriques avant la transmission pour réduire la surcharge du réseau en regroupant jusqu'à 1 000 points de données par requête. otlphttp/ibmmqExporte les métriques traitées vers New Relic à l’aide de la clé de licence configurée pour l’authentification et du point de terminaison régional désigné. Chaque gestionnaire de files d'attente utilise un pipeline indépendant afin qu'un problème avec une instance n'affecte pas les autres. L'ordre des Processeurs est critique, ne réorganisez pas ou ne supprimez pas de Processeurs, sinon les métriques ne parviendront pas à se mapper correctement aux entités IBM MQ.
Définissez les variables d'environnement NRDOT
La configuration de votre collecteur utilise des variables d'environnement pour des valeurs spécifiques au déploiement telles que la clé de licence New Relic et les points de terminaison du gestionnaire de files d'attente. Cette approche permet de séparer les secrets des fichiers de configuration et facilite l'ajustement des paramètres sans modifier le YAML.
Créez un fichier d’environnement pour le collecteur NRDOT :
bash$# Owner nrdot, mode 0600 — this file holds the license key$sudo install -o nrdot -g nrdot -m 0600 /dev/null /etc/nrdot-collector/ibmmq-env$sudo -u nrdot ${EDITOR:-vi} /etc/nrdot-collector/ibmmq-envAjoutez votre valeur sous forme de lignes
KEY=VALUEau fichier, en remplaçant les espaces réservés par vos valeurs réelles :# /etc/nrdot-collector/ibmmq-env# --- Required ---# New Relic ingest license key (40 chars, suffix NRAL)NEW_RELIC_LICENSE_KEY=<YOUR-LICENSE-KEY># Stable host identity — first segment of every IBMMQ entity GUIDTARGET_NAME=<YOUR-HOSTNAME># mq-metric-samples exporter endpoints, one per queue managerIBMMQ_QM1_ENDPOINT=localhost:9157# --- Optional (shown with defaults) ---# OTLP endpoint: US prod default shown; For more information, refer to [New Relic OTLP endpoint](https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp).NEW_RELIC_OTLP_ENDPOINT=https://otlp.nr-data.net:4318# Optional tag grouping for the IBMMQ_MANAGER entity (does not affect the entity GUID).# Leave unset to omit cluster.name (nullable); set it to group QMs under one cluster tag.# IBMMQ_CLUSTER_NAME=prod-mq-cluster# Scrape interval — must be >= the mq-metric-samples pollInterval (default 60s)IBMMQ_SCRAPE_INTERVAL=60sPrudence
Ne modifiez pas la valeur
TARGET_NAMEaprès le déploiement initial. Cette valeur forme le premier segment de chaque GUID d'entitéIBMMQ_MANAGERetIBMMQ_QUEUE(target.name:qmgr). La modification de cette valeur après le déploiement crée de nouvelles entités et rend orphelines les entités existantes, ce qui casse les dashboards et les alertes associés. Sélectionnez une chaîne stable lors de la configuration initiale, telle que le QMID du gestionnaire de files d'attente. Pour plus d'informations, voir Le modèle d'entité IBM MQ.Définissez les variables d'environnement suivantes dans votre shell pour vérifier la configuration avant de démarrer le collecteur :
Variable Requis Description NEW_RELIC_LICENSE_KEYOui Votre clé de licence d'ingestion New Relic. TARGET_NAMEOui Un identifiant pour votre hôte, tel que le nom d’hôte ou l’ID du gestionnaire de files d’attente. Ne modifiez pas ceci après le déploiement initial, car cela fait partie des ID de votre entité. IBMMQ_QM1_ENDPOINTOui Emplacement de l'exportateur de votre premier gestionnaire de files d'attente. Par exemple, localhost:9157s'il s'exécute sur le même hôte.NEW_RELIC_OTLP_ENDPOINTNon Point de terminaison OTLP New Relic pour votre région. Pour plus d'informations, consultez le point de terminaison OTLP de New Relic. IBMMQ_CLUSTER_NAMENon Nom du Cluster pour regrouper vos gestionnaires de files d'attente dans New Relic. IBMMQ_SCRAPE_INTERVALNon Intervalle de collecte pour exporter les métriques vers New Relic. L'intervalle de collecte par défaut est de 60 secondes.
Configurer le service systemd NRDOT
Créez un fichier drop-in
systemdpour charger les fichiers de configuration et d'environnement.bash$sudo mkdir -p /etc/systemd/system/nrdot-collector.service.d$sudo tee /etc/systemd/system/nrdot-collector.service.d/ibmmq.conf > /dev/null << 'EOF'$[Service]$EnvironmentFile=/etc/nrdot-collector/ibmmq-env$ExecStart=$ExecStart=/usr/bin/nrdot-collector --config /etc/nrdot-collector/ibmmq-config.yaml$MemoryMax=1G$LimitNOFILE=65536$NoNewPrivileges=true$ProtectSystem=strict$ProtectHome=true$EOFLa ligne
ExecStart=vide efface la commande par défaut, et la deuxième ligne définit la commande personnalisée. Cela empêche le collecteur de démarrer deux fois. Les autres paramètres chargent le fichier d'environnement, limitent l'utilisation de la mémoire et améliorent la sécurité.Après avoir créé le drop-in, vérifiez que systemd peut l'analyser sans erreurs :
bash$sudo systemd-analyze verify /etc/systemd/system/nrdot-collector.service$# No output means no syntax errors
Démarrer le collecteur NRDOT et vérifier
Démarrez le collecteur et activez-le pour qu’il s’exécute automatiquement au démarrage :
bash$sudo systemctl daemon-reload$sudo systemctl enable --now nrdot-collector.service$sudo systemctl status nrdot-collector.service --no-pagerLa commande
statusdevrait afficherActive: active (running). Si vous voyezActive: failed, vérifiez les logs avecjournalctl -u nrdot-collector.service -n 200 --no-pager.Vérifiez que le collecteur est en bon état :
bash$curl -sS http://127.0.0.1:13133$# Expected: {"status":"Server available", ...}Confirmez que vos métriques IBM MQ sont transmises à New Relic. Attendez 60 secondes après le démarrage du collecteur, puis vérifiez vos données à l'aide des requêtes de vérification dans Trouver et interroger vos données.
Affichez vos données dans New Relic
Une fois que votre collecteur est en cours d'exécution et que les métriques circulent, vous verrez vos gestionnaires de files d'attente en tant qu'entités IBMMQ_MANAGER dans New Relic, avec leurs files d'attente en tant qu'entités IBMMQ_QUEUE enfants. Pour plus de détails sur la recherche de vos données, l'exécution de requêtes et la configuration de dashboards et d'alertes, consultez Rechercher et interroger vos données.
Installer OpenTelemetry Collector Contrib
Téléchargez la distribution OpenTelemetry Collector Contrib (otelcol-contrib) pour votre plateforme à partir de la page des versions d'OpenTelemetry Collector. La version Contrib inclut le récepteur prometheus et les processeurs filter, transform et cumulativetodelta sur lesquels ce guide s'appuie.
Conseil
Exécutez otelcol-contrib --version pour confirmer que le binaire est installé et accessible.
Configurer le Collector OpenTelemetry
Configurez le Collector OpenTelemetry pour collecter les métriques IBM MQ et les envoyer à New Relic. Cette configuration gère trois tâches principales :
- Connectez-vous à vos gestionnaires de files d'attente
- Nettoyez les données
- Envoyer les données à New Relic
Pour créer le répertoire et le fichier de configuration du collecteur avec les autorisations requises, exécutez :
bash$# Config directory for OpenTelemetry Collector$sudo mkdir -p /etc/otelcol-contrib$sudo chmod 755 /etc/otelcol-contrib$$# Create the config file with correct permissions$sudo touch /etc/otelcol-contrib/ibmmq-config.yaml$sudo chmod 644 /etc/otelcol-contrib/ibmmq-config.yaml$sudo ${EDITOR:-vi} /etc/otelcol-contrib/ibmmq-config.yamlCollez la configuration suivante dans le fichier de configuration créé, en remplaçant les espaces réservés par vos valeurs réelles :
extensions:health_check:endpoint: 127.0.0.1:13133processors:filter/ibmmq-overhead:metrics:exclude:match_type: regexpmetric_names:- "^go_.*"- "^process_.*"- "^promhttp_.*"- "^scrape_.*"filter/ibmmq-queues:metrics:datapoint:- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^SYSTEM\\.(ADMIN\\.|MQSC\\.|DEFAULT\\.|AUTH\\.|CHANNEL\\.|CHLAUTH\\.|CICS\\.|SYNCPOINT\\.|INTERNAL\\.|PENDING\\.|PROTECTION\\.|BROKER\\.|AMQP\\.|DOTNET\\.|REST\\.|RETAINED\\.|SELECTION\\.|DURABLE\\.|HIERARCHY\\.|DDELAY\\.)")'- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^SYSTEM\\.CLUSTER\\.(COMMAND|HISTORY)\\.QUEUE$")'- 'attributes["queue"] != nil and IsMatch(attributes["queue"], "^AMQ\\.")'resourcedetection:detectors: [env, ec2, gcp, azure, system]system:resource_attributes:host.name:enabled: truehost.id:enabled: truetransform/ibmmq-cleanup:metric_statements:- context: resourcestatements:- delete_key(attributes, "server.address")- delete_key(attributes, "server.port")- delete_key(attributes, "url.scheme")- context: datapointstatements:# Rename the injected identity labels to their OTel dotted form — the# names New Relic's IBM MQ entity synthesis keys on. qmgr / queue stay raw.- set(attributes["target.name"], attributes["targetName"]) where attributes["targetName"] != nil- delete_key(attributes, "targetName")- set(attributes["cluster.name"], attributes["clusterName"]) where attributes["clusterName"] != nil- delete_key(attributes, "clusterName")- delete_key(attributes, "instance")- delete_key(attributes, "job")memory_limiter/ibmmq:check_interval: 1slimit_mib: 512spike_limit_mib: 256cumulativetodelta/ibmmq: {}batch/ibmmq:send_batch_size: 1000timeout: 200msexporters:otlphttp/ibmmq:endpoint: ${env:NEW_RELIC_OTLP_ENDPOINT}headers:api-key: ${env:NEW_RELIC_LICENSE_KEY}receivers:prometheus/ibmmq-qm1:config:scrape_configs:- job_name: 'ibmmq-qm1'scrape_interval: ${env:IBMMQ_SCRAPE_INTERVAL:-60s}scrape_timeout: 15sstatic_configs:- targets:- "${env:IBMMQ_QM1_ENDPOINT:-localhost:9157}"labels:targetName: "${env:TARGET_NAME}"clusterName: "${env:IBMMQ_CLUSTER_NAME:-}"service:pipelines:metrics/ibmmq-qm1:receivers: [prometheus/ibmmq-qm1]processors:- filter/ibmmq-overhead- filter/ibmmq-queues- resourcedetection- transform/ibmmq-cleanup- memory_limiter/ibmmq- cumulativetodelta/ibmmq- batch/ibmmqexporters: [otlphttp/ibmmq]extensions: [health_check]Important
Ne réorganisez pas et ne supprimez pas les processeurs. L'ordre de la chaîne de processeurs est essentiel pour la synthèse d'entité. Le processeur
transform/ibmmq-cleanupdoit s'exécuter après le processeurresourcedetection. L'inversion de cet ordre fait que les métriques IBM MQ s'associent à la propre entité du collecteur au lieu des entitésIBMMQ_MANAGER, ce qui empêche l'affichage des données sur les dashboards.Ce que fait cette configuration
Cette configuration crée un pipeline qui collecte des métriques à partir des gestionnaires de files d'attente IBM MQ et achemine les données structurées vers New Relic. Chaque composant remplit une fonction spécifique :
Composant Description health_checkFournit un point de terminaison d’intégrité à 127.0.0.1:13133qui renvoie{"status":"Server available"}pour vérifier que le collecteur est en cours d’exécution et pour résoudre les problèmes de démarrage.prometheus/ibmmq-qm1Se connecte à l'exportateur pour chaque gestionnaire de files d'attente toutes les 60 secondes pour recueillir des métriques. Chaque gestionnaire de files d'attente utilise un Récepteur indépendant ; si un gestionnaire de files d'attente tombe en panne, les Récepteurs restants continuent de fonctionner normalement. Pour ajouter d'autres gestionnaires de files d'attente, consultez la section Ajouter un autre gestionnaire de files d'attente. filter/ibmmq-overheadSupprime les métriques internes de l'exportateur (telles que go_*etprocess_*) qui ne contiennent pas de signal IBM MQ. Cela optimise les coûts d'ingestion des données en filtrant la télémétrie inutile.filter/ibmmq-queuesExclut les files d’attente système IBM MQ internes ( SYSTEM.*etAMQ.*) afin que seules les files d’attente d’application deviennent des entitésIBMMQ_QUEUE. Cela réduit le nombre total d’entités et concentre le monitoring sur les actifs critiques.transform/ibmmq-cleanupIl s’agit d’un composant critique qui mappe les métriques aux entités IBM MQ appropriées dans New Relic. Sans ce composant, les données apparaissent comme des métriques de collecteur génériques au lieu de synthétiser les entités IBMMQ_MANAGERetIBMMQ_QUEUEavec les dashboards et alertes associés.memory_limiter/ibmmqLimite l'utilisation de la mémoire à 512 Mo (avec une tolérance de pic de 256 Mo) pour éviter que le collecteur ne dépasse les limites de ressources du système. batch/ibmmqRegroupe les métriques avant la transmission pour réduire la surcharge du réseau en regroupant jusqu'à 1 000 points de données par requête. otlphttp/ibmmqExporte les métriques traitées vers New Relic à l’aide de la clé de licence configurée pour l’authentification et du point de terminaison régional désigné. Chaque gestionnaire de files d'attente utilise un pipeline indépendant afin qu'un problème avec une instance n'affecte pas les autres. L'ordre des Processeurs est critique, ne réorganisez pas ou ne supprimez pas de Processeurs, sinon les métriques ne parviendront pas à se mapper correctement aux entités IBM MQ.
Définissez les variables d’environnement OpenTelemetry
La configuration de votre collecteur utilise des variables d'environnement pour des valeurs spécifiques au déploiement telles que la clé de licence New Relic et les points de terminaison du gestionnaire de files d'attente. Cette approche permet de séparer les secrets des fichiers de configuration et facilite l'ajustement des paramètres sans modifier le YAML.
Créer un fichier d'environnement pour le Collector OpenTelemetry :
bash$# Owner root, mode 0600 — this file holds the license key$sudo touch /etc/otelcol-contrib/ibmmq-env$sudo chmod 600 /etc/otelcol-contrib/ibmmq-env$sudo ${EDITOR:-vi} /etc/otelcol-contrib/ibmmq-envAjoutez votre valeur sous forme de lignes
KEY=VALUEau fichier, en remplaçant les espaces réservés par vos valeurs réelles :# /etc/otelcol-contrib/ibmmq-env# --- Required ---# New Relic ingest license key (40 chars, suffix NRAL)NEW_RELIC_LICENSE_KEY=<YOUR-LICENSE-KEY># Stable host identity — first segment of every IBMMQ entity GUIDTARGET_NAME=<YOUR-HOSTNAME># mq-metric-samples exporter endpoints, one per queue managerIBMMQ_QM1_ENDPOINT=localhost:9157# --- Optional (shown with defaults) ---# OTLP endpoint: US prod default shown; For more information, refer to [New Relic OTLP endpoint](https://docs.newrelic.com/docs/opentelemetry/best-practices/opentelemetry-otlp).NEW_RELIC_OTLP_ENDPOINT=https://otlp.nr-data.net:4318# Optional tag grouping for the IBMMQ_MANAGER entity (does not affect the entity GUID).# Leave unset to omit cluster.name (nullable); set it to group QMs under one cluster tag.# IBMMQ_CLUSTER_NAME=prod-mq-cluster# Scrape interval — must be >= the mq-metric-samples pollInterval (default 60s)IBMMQ_SCRAPE_INTERVAL=60sPrudence
Ne modifiez pas la valeur
TARGET_NAMEaprès le déploiement initial. Cette valeur forme le premier segment de chaque GUID d'entitéIBMMQ_MANAGERetIBMMQ_QUEUE(target.name:qmgr). La modification de cette valeur après le déploiement crée de nouvelles entités et rend orphelines les entités existantes, ce qui casse les dashboards et les alertes associés. Sélectionnez une chaîne stable lors de la configuration initiale, telle que le QMID du gestionnaire de files d'attente. Pour plus d'informations, voir Le modèle d'entité IBM MQ.Définissez les variables d'environnement suivantes dans votre shell pour vérifier la configuration avant de démarrer le collecteur :
Variable Requis Description NEW_RELIC_LICENSE_KEYOui Votre clé de licence d'ingestion New Relic. TARGET_NAMEOui Un identifiant pour votre hôte, tel que le nom d’hôte ou l’ID du gestionnaire de files d’attente. Ne modifiez pas ceci après le déploiement initial, car cela fait partie des ID de votre entité. IBMMQ_QM1_ENDPOINTOui Emplacement de l'exportateur de votre premier gestionnaire de files d'attente. Par exemple, localhost:9157s'il s'exécute sur le même hôte.NEW_RELIC_OTLP_ENDPOINTNon Point de terminaison OTLP New Relic pour votre région. Pour plus d'informations, consultez le point de terminaison OTLP de New Relic. IBMMQ_CLUSTER_NAMENon Nom du Cluster pour regrouper vos gestionnaires de files d'attente dans New Relic. IBMMQ_SCRAPE_INTERVALNon Intervalle de collecte pour exporter les métriques vers New Relic. L'intervalle de collecte par défaut est de 60 secondes.
Configurer le service systemd OpenTelemetry
Créer un fichier de service systemd pour l'OpenTelemetry Collector :
sudo tee /etc/systemd/system/otelcol-contrib.service > /dev/null << 'EOF'[Unit]Description=OpenTelemetry Collector ContribAfter=network.target[Service]Type=simpleUser=nobodyGroup=nogroupExecStart=/usr/bin/otelcol-contrib --config=/etc/otelcol-contrib/ibmmq-config.yamlEnvironmentFile=/etc/otelcol-contrib/ibmmq-envRestart=on-failureRestartSec=5StandardOutput=journalStandardError=journalSyslogIdentifier=otelcol-contribKillMode=mixedKillSignal=SIGTERMMemoryMax=1GLimitNOFILE=65536NoNewPrivileges=trueProtectSystem=strictProtectHome=trueReadWritePaths=/tmp[Install]WantedBy=multi-user.targetEOFLe service s’exécute en tant que
nobody:nogrouppour des raisons de sécurité, charge le fichier d’environnement et inclut des limites de mémoire et un renforcement de la sécurité.Après avoir créé le service, vérifiez que systemd peut l'analyser sans erreurs :
bash$sudo systemctl daemon-reload$sudo systemctl status otelcol-contrib.service$# No output means no syntax errors
Démarrer le collecteur OpenTelemetry et vérifier
Démarrez le collecteur et activez-le pour qu’il s’exécute automatiquement au démarrage :
bash$sudo systemctl enable --now otelcol-contrib.service$sudo systemctl status otelcol-contrib.service --no-pagerLa commande
statusdevrait afficherActive: active (running). Si vous voyezActive: failed, vérifiez les logs avecjournalctl -u otelcol-contrib.service -n 200 --no-pager.Vérifiez que le collecteur est en bon état :
bash$curl -sS http://127.0.0.1:13133$# Expected: {"status":"Server available", ...}Confirmez que vos métriques IBM MQ sont transmises à New Relic. Attendez 60 secondes après le démarrage du collecteur, puis vérifiez vos données à l'aide des requêtes de vérification dans Trouver et interroger vos données.
Affichez vos données dans New Relic
Une fois que votre collecteur est en cours d'exécution et que les métriques circulent, vous verrez vos gestionnaires de files d'attente en tant qu'entités IBMMQ_MANAGER dans New Relic, avec leurs files d'attente en tant qu'entités IBMMQ_QUEUE enfants. Pour plus de détails sur la recherche de vos données, l'exécution de requêtes et la configuration de dashboards et d'alertes, consultez Rechercher et interroger vos données.
Configuration avancée
Utilisez ces configurations pour personnaliser votre installation pour différents scénarios.