Initial Release
This is a project for training purposes. The main goal is to show how to configure Open Telemetry for an InterSystems IRIS instance.
Docker (if you are using Windows, make sure you set your Docker installation to use “Linux containers”).
Visual Studio Code + InterSystems ObjectScript VSCode Extension
The project deploys four docker containers:
InterSystems IRIS: Data platform to be monitored.
OpenTelemetry Collector: Metrics, traces and logs collector.
Prometheus: Tool for metrics monitorization.
Jaeger: Tool for traces monitorization.
Build the image that we will use during the workshop:
$ git clone https://github.com/intersystems-ib/iris-opentelemetry $ cd iris-opentelemetry $ docker compose build
Now we just need to deploy the containers:
$ docker compose up -d
If you are using Docker Desktop you should see a screen similar to this:
Already ready!
Prometheus docker image provide a web interface accessible from this url. From the web interface you will be able to get all metrics available from IRIS instance, if you want to know more about these metrics check it here. To get any metrics you only have to write the name of the metric and Prometheus will show all metrics to fetch.
Jaeger is an Open Source software to monitorize traces from your solutions. As Prometheus, Jaeger has a web interface published here.
In our example we are going to use the method TestTraces() from SYS.Monitor.OTel class (more info here). To execute this method you only have to open a terminal season from your Visual Studio Code (if your local project un VSCode is connected to the IRIS Server in Docker)
.
As soon as Jaeger find out a trace on OpenTelemetry Collector it will be available for consultancy from the web interface:
.
By default, a Service is created with the name irisotel when a trace from IRIS is found in OpenTelemetry Collector.