User Tools

Site Tools


alarm_analysis:meta_tags

This is an old revision of the document!


Alarm Analysis Meta Tags

The KPIs and metrics that make up the Alarm Analysis reports can be queried via meta tags, meaning Alarm Analysis data can be queried and visualised just like any other process data source. A good example of this is Power BI, where you may wish to create a bespoke Alarm Analysis report combined with other data sources.

For a full list of meta tags, refer to the IAS Power BI Connector Help Page

Not all Meta Tags are Discoverable

While Power BI allows free text entry when configuring data queries, others apps such as Gestalt PnID and Trend restrict users to a “search and select” dialog. Generally, this makes UI interaction simpler, however “meta tags” are not constructed like regular tags and may not be available for search. Some meta-tags are dynamic and hold paramaters which are interpreted by the Alarm Analysis data source.

For example,

Oil Co/Osprey/ALM BA report/3.priority

This above meta tag requests the priority of the 3rd most frequently occuring Alarm on the Oil Co Osprey asset. Clearly this is not a value you would expect to interrogate like a regular process data tag, however there may be cases where it is required.

If explicit tag entry is not permitted in an app, and the meta-tag is not available in search, it can be manually added to the Alarm Analysis Tag Index.

How to add a "Meta Tag" to an Alarm Analysis Tag Index

Adding a meta-tag to an Alarm Analysis Tag Index will make it tag discoverable and allow other apps to query it.

Complexity Level: Advanced
Required Privileges: App Store Connect Admiminstrator

To administer an Alarm Analysis Tag Index, you must log on the App Store Connect server hosting the Alarm Analysis data source. The instructions below are useful Powershell command.

1. Identifiy Alarm Analysis tag indices

### Get all AA Tag Indices

Invoke-WebRequest -Uri http://localhost:9200/_cat/indices/*tagidx?v `
   -Method Get `
   | Select-Object -Expand Content

Tag Indices names are constructed thus:

 [orgname].[assetname].tagidx 
 e.g. "oilco.osprey.tagidx"

2. Find a meta-tag in the tag index

### Find tag

$body='{
    "query":{
        "term":{
            "id":"Oil Co/Osprey/ALM BA report/3.priority"
        }
    }
}'

Invoke-RestMethod -Uri http://localhost:9200/oilco.osprey.tagidx/_search `
  -ContentType 'application/json' `
  -Method Post `
  -Body $body `
  | ConvertTo-Json -Depth 20
  

The above query is checking the “oilco.osprey.tagidx” for meta-tag “Oil Co/Osprey/ALM BA report/3.priority”.

3. Add an meta-tag to a tag index

Only add a meta-tag to the tag-index, if…

  • It does not already exist - check using the find-tag script above.
  • You have a valid meta-tag name - check against the meta-tag list.
### Create tag 

$body='{
  "id": "Oil Co/Osprey/ALM BA report/3.priority",
  "fullName": "Oil Co/Osprey/ALM BA report/3.priority",
  "name": "Oil Co/Osprey/ALM BA report/3.priority",
  "tag": "",
  "alarmIdentifier": "",
  "type": "",
  "description": "Bad Actor Priority",
  "eventTagType": "kpi",
  "uom": "",
  "lastUpdateUtc": "2023-06-21T10:52:56.2978113Z"
}'

Invoke-RestMethod -Uri http://localhost:9200/oilco.osprey.tagidx/eventtag/ `
  -ContentType 'application/json' `
  -Method Post `
  -Body $body `
  | ConvertTo-Json -Depth 20
  

4. Delete a meta-tag from the tag index

Every tag in the tag index has a unique “_id” field (e.g. “AYjeEdp6nSbnh-NXfE0C”). This must be specified in the delete request.

Use the search query above to obtain the “_id”.

### Delete tag

Invoke-RestMethod -Uri http://localhost:9200/oilco.osprey.tagidx/eventtag/AYjeEdp6nSbnh-NXfE0C `
  -ContentType 'application/json' `
  -Method Delete `
  | ConvertTo-Json -Depth 20
alarm_analysis/meta_tags.1687355192.txt.gz · Last modified: 2023/06/21 13:46 by su