Skip to content

Latest commit

 

History

History
125 lines (96 loc) · 5.46 KB

README.md

File metadata and controls

125 lines (96 loc) · 5.46 KB

OpenTelemetry Receiver/Agent for IBM MQ

Introduction

IBM MQ is an IBM production as a messaging middleware. We provide this OpenTelemetry Receiver implementation tested with latest releases of IBM MQ.

<style> .center { width: auto; display: table; margin-left: auto; margin-right: auto; } </style>

Status of the Receiver

Receiver type Status JDK required Semantic Conventions
metrics alpha JDK v8+ N/A

Deployment Information (for end users)

Download the installation package from OJR releases:

wget https://github.com/liurui-software/ojr/releases/download/xxx/ojr-ibmmq-xxx.tar

Extract the package to the desired deployment location:

tar vxf ojr-ibmmq-xxx.tar
cd ojr-ibmmq-xxx

Make sure following configuration files are correct for your environment:

  • config/config.yaml
  • config/logging.properties

Refine configuration file (config/config.yaml) according to your own database.

Note: If you are using local binding mode, make sure to have the shared library path included into the required environment variable, for example LD_LIBRARY_PATH for Linux. For more information, please refer to the documents of IBM MQ. For example:

export LD_LIBRARY_PATH=/opt/mqm/java/lib64

Or you can use environment variable JAVA_OPTS to specify the configuration file:

export JAVA_OPTS="-Djava.library.path=/opt/mqm/java/lib64"

Run the Receiver/Agent synchronously:

./bin/ojr-ibmmq

Or Run the Receiver/Agent asynchronously:

nohup ./bin/ojr-ibmmq &

Note: Query the Receiver/Agent

ps -ef | grep ojr | grep -v grep

Note: Stop DataCollector

ps -ef | grep ojr | grep -v grep | awk '{printf " "$2" "}' | xargs kill -9

Build and Run (for developers)

Make sure Java SDK is installed.

java -version

Get the source code from github.com.

git clone https://github.com/liurui-software/ojr.git
cd ojr-xxx

Build with Gradle

./gradlew clean build

Run the Agent with Gradle

Note: If you are using local binding mode, make sure to have the shared library path included into the required environment variable, for example LD_LIBRARY_PATH for Linux. For more information, please refer to the documents of IBM MQ. For example:

export LD_LIBRARY_PATH=/opt/mqm/java/lib64

Then you can run the agent with the following command:

./gradlew run

References of configuration parameters

Parameter Scope Description Default Examples
queueManager instance The name the IBM MQ manager (required) - QM1
isLocal instance Whether the is local to MQ false true
user instance The user name used to connect to MQ - mqm
password instance The password used to connect to MQ - passw0rd
host instance The name or IP of the host where MQ is running on - host1
port instance The port of the listener 1414 1414
channel instance Server connection channel SYSTEM.ADMIN.SVRCONN -
queuesMonitored instance Name patterns separated by "|" for queues to be monitored (pattern definitions refer to MQ Doc) * ORDERS.*|SALE.*|MANAGER>
customEventQueues instance User defined queue names to read - -
keystore instance TLS Keystore path - -
keystorePassword instance TLS Keystore password - -
cipherSuite instance TLS cipher suite TLS_RSA_WITH_AES_256_CBC_SHA256 -