19 May 2026 04:44 PM
In case you have not heard, the Infastructure & Operations app can display data ingested from extensions, see this Documentation page for more details.
If you have your own extensions with screen definitions that can be viewed in the Techonolgies & Processes Classic app, then its a simple process to make your extension data show up in the I&O app.
It only requires a few additions to your extension.yaml to get going.
We’ll take look at how we can do this, with a real-world example from the Remote Unix Monitoring extension.
The keywords section tells the Infrastructure & Operations app how to organize and display data from your extension. Here is the example keywords section for the Remote Unix Monitoring extension:
keywords: - title:remote unix monitoring 2.0 - category:compute - tech:unix - vendor:other - icon:extensions - entity:None
Let’s break down what these fields mean, and what kind of values we can enter:
Along with adding keywords in our extension.yaml, we’ll also have to update our screens section in the extension.yaml to use DQL. Here we can see an (abbreviated) view of the screens section of the extension.yaml for the Remote Unix Monitoring extension.
For example have a system card in the layout for our remote_unix:host screen definition. If you have created your own screens, you will have something that resembles this structure. We don’t have to change anything here to make this work in the Infrastructure & Operations app, but we will make some changes in the system card definition.
screens: ... - entityType: remote_unix:host ... layout: autoGenerate: false cards: - type: CARD_GROUP displayName: System cards: - type: CHART_GROUP key: system ...
Let’s take a look at the definition for our system CHART_GROUP, and see what changes can be made to make this card show in the Infrastructure & Operations app:
chartsCards: - key: system mode: NORMAL target: BOTH numberOfVisibleCharts: 2 displayName: Availability chartsInRow: 2 charts: - displayName: Availability visualizationType: GRAPH_CHART graphChartConfig: yAxes: - key: left-percent position: LEFT min: "0" max: "100" visible: true metrics: - metricSelector: remote_unix.availability:splitBy("dt.entity.remote_unix:host") dqlQuery: |- timeseries availability=avg(remote_unix.availability),by:{`dt.entity.remote_unix:host`},filter:{`dt.entity.remote_unix:host`==$(entityId)} visualization: displayName: Availability - displayName: Load averages visualizationType: GRAPH_CHART graphChartConfig: metrics: - metricSelector: remote_unix.load_avg_1_min:splitBy("dt.entity.remote_unix:host") dqlQuery: |- timeseries load_avg_1_min=avg(remote_unix.load_avg_1_min),by:{`dt.entity.remote_unix:host`},filter:{`dt.entity.remote_unix:host`==$(entityId)} visualization: displayName: 1 minute - metricSelector: remote_unix.load_avg_5_min:splitBy("dt.entity.remote_unix:host") dqlQuery: |- timeseries load_avg_5_min=avg(remote_unix.load_avg_5_min),by:{`dt.entity.remote_unix:host`},filter:{`dt.entity.remote_unix:host`==$(entityId)} visualization: displayName: 5 minutes - metricSelector: remote_unix.load_avg_15_min:splitBy("dt.entity.remote_unix:host") dqlQuery: |- timeseries load_avg_15_min=avg(remote_unix.load_avg_15_min),by:{`dt.entity.remote_unix:host`},filter:{`dt.entity.remote_unix:host`==$(entityId)} visualization: displayName: 15 minutes
In order to display this card in the Infrastructure & Operations app, we had to add a few lines:
This is just one example, and you would have to repeat this process across cards and entity types to see the same screens as in the Technologies & Processes Classic app.
That said, with these changes, you can build and activate the new version of your extension in your environment, and see it in the Infrastructure & Operations app!
You can navigate to the extension like so, and click on the entity to see the system card we defined for use in the app:
And you can still see the original card that was defined previously in the Technologies & Processes Classic app:
20 May 2026 08:09 AM
Thank you! ![]()
Featured Posts