<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=PagerTree_Integration</id>
	<title>PagerTree Integration - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.osnexus.com/index.php?action=history&amp;feed=atom&amp;title=PagerTree_Integration"/>
	<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=PagerTree_Integration&amp;action=history"/>
	<updated>2026-11-03T23:06:35Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.42.1</generator>
	<entry>
		<id>https://wiki.osnexus.com/index.php?title=PagerTree_Integration&amp;diff=28371&amp;oldid=prev</id>
		<title>Qadmin: osn-seo-utilities: pagertree-integration @ b62aa310593d (approved in the portal)</title>
		<link rel="alternate" type="text/html" href="https://wiki.osnexus.com/index.php?title=PagerTree_Integration&amp;diff=28371&amp;oldid=prev"/>
		<updated>2026-11-03T20:00:09Z</updated>

		<summary type="html">&lt;p&gt;osn-seo-utilities: pagertree-integration @ b62aa310593d (approved in the portal)&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;This page shows how to send QuantaStor alerts to PagerTree. QuantaStor posts each Warning, Error and Critical alert to a PagerTree Webhook (Custom) integration, which sets the PagerTree urgency from the alert severity and pages whoever the integration&amp;#039;s Destinations name. When you close the alert in QuantaStor, PagerTree resolves it.&lt;br /&gt;
&lt;br /&gt;
The setup has three steps in the [[Storage System Alert Manager|Alert Manager]] and PagerTree, followed by reference sections:&lt;br /&gt;
&lt;br /&gt;
* [[#Step 1: Create a Webhook (Custom) integration in PagerTree|Step 1: Create a Webhook (Custom) integration in PagerTree]]&lt;br /&gt;
* [[#Step 2: Add the PagerTree endpoint in QuantaStor|Step 2: Add the PagerTree endpoint in QuantaStor]]&lt;br /&gt;
* [[#Step 3: Send a test alert|Step 3: Send a test alert]]&lt;br /&gt;
* [[#Severity and urgency|Severity and urgency]]&lt;br /&gt;
* [[#Resolving alerts|Resolving alerts]]&lt;br /&gt;
* [[#What the PagerTree alert contains|What the PagerTree alert contains]]&lt;br /&gt;
* [[#Troubleshooting|Troubleshooting]]&lt;br /&gt;
&lt;br /&gt;
== Step 1: Create a Webhook (Custom) integration in PagerTree ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor talks to a PagerTree &amp;#039;&amp;#039;&amp;#039;Webhook (Custom)&amp;#039;&amp;#039;&amp;#039; integration. You do not need a PagerTree user API key or a team id: the integration&amp;#039;s Destinations decide who is paged.&lt;br /&gt;
&lt;br /&gt;
# In PagerTree, open &amp;#039;&amp;#039;&amp;#039;Integrations&amp;#039;&amp;#039;&amp;#039; and click &amp;#039;&amp;#039;&amp;#039;Create Integration&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Choose &amp;#039;&amp;#039;&amp;#039;Webhook (Custom)&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Enter a &amp;#039;&amp;#039;&amp;#039;Name&amp;#039;&amp;#039;&amp;#039;, for example {{Code|1=quantastor-alerthandler}}.&lt;br /&gt;
# Leave &amp;#039;&amp;#039;&amp;#039;Enabled&amp;#039;&amp;#039;&amp;#039; checked.&lt;br /&gt;
# Set &amp;#039;&amp;#039;&amp;#039;Destinations&amp;#039;&amp;#039;&amp;#039; to the team (or teams) that should be paged for storage alerts.&lt;br /&gt;
# Leave &amp;#039;&amp;#039;&amp;#039;Urgency&amp;#039;&amp;#039;&amp;#039; at its default. QuantaStor sends an urgency with every alert, and the definition below applies it.&lt;br /&gt;
# Paste the YAML Definition below into the &amp;#039;&amp;#039;&amp;#039;YAML Definition&amp;#039;&amp;#039;&amp;#039; field.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Create&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Open the new integration and copy its &amp;#039;&amp;#039;&amp;#039;Endpoint URL&amp;#039;&amp;#039;&amp;#039;. It has the form {{Code|1=https://api.pagertree.com/integration/int_aAbBcCdDeEfF01}}.&lt;br /&gt;
&lt;br /&gt;
Treat the Endpoint URL as a secret. Anyone who has it can open alerts in your PagerTree account without any other credential.&lt;br /&gt;
&lt;br /&gt;
=== YAML Definition ===&lt;br /&gt;
&lt;br /&gt;
Paste this definition exactly as shown. The first rule resolves an alert when QuantaStor closes it; the second creates the PagerTree alert and fills in its title, description, urgency, tags and Additional Data rows.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
rules:&lt;br /&gt;
  - match:&lt;br /&gt;
      log.data.event_type:&lt;br /&gt;
        $eq: &amp;quot;resolve&amp;quot;&lt;br /&gt;
    actions:&lt;br /&gt;
      - type: resolve&lt;br /&gt;
        thirdparty_id: &amp;quot;{{log.data.Id}}&amp;quot;&lt;br /&gt;
  - match:&lt;br /&gt;
      log.data.event_type:&lt;br /&gt;
        $eq: &amp;quot;create&amp;quot;&lt;br /&gt;
    actions:&lt;br /&gt;
      - type: create&lt;br /&gt;
        thirdparty_id: &amp;quot;{{log.data.Id}}&amp;quot;&lt;br /&gt;
        title: &amp;quot;{{log.data.Title}}&amp;quot;&lt;br /&gt;
        description: &amp;quot;{{log.data.Description}}&amp;quot;&lt;br /&gt;
        urgency: &amp;quot;{{log.data.Urgency}}&amp;quot;&lt;br /&gt;
        tags: &amp;quot;{{log.data.Tags}}&amp;quot;&lt;br /&gt;
        additional_data:&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Severity&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.severity}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Storage System&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.storage_system}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Storage System ID&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.storage_system_id}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Storage Grid&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.storage_grid}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Alert Type&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.alert_type}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Alert Time&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.alert_time}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Service Version&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.service_version}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Kernel Version&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.kernel_version}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Serial Number&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.serial_number}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: System Startup&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.system_startup}}&amp;quot;&lt;br /&gt;
          - format: text&lt;br /&gt;
            label: Alert ID&lt;br /&gt;
            value: &amp;quot;{{log.data.Meta.alert_id}}&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 2: Add the PagerTree endpoint in QuantaStor ==&lt;br /&gt;
&lt;br /&gt;
{{Navigation|Storage Management &amp;amp;rarr; Storage System &amp;#039;&amp;#039;(toolbar group)&amp;#039;&amp;#039; &amp;amp;rarr; Alert Manager &amp;#039;&amp;#039;(toolbar)&amp;#039;&amp;#039; &amp;amp;rarr; ITSM Integrations &amp;#039;&amp;#039;(tab)&amp;#039;&amp;#039;}}&lt;br /&gt;
&lt;br /&gt;
[[File:alertmgr_itsm_endpoints.png|thumb|right|800px|The ITSM Integrations tab of the Alert Manager with a PagerTree endpoint added. Choose PagerTree in the Module drop-down, paste the Endpoint URL into Webhook URL, then click Add.]]&lt;br /&gt;
&lt;br /&gt;
The ITSM Integrations tab of the [[Storage System Alert Manager|Alert Manager]] lists every IT service management endpoint the grid sends alerts to, one row per module and URL.&lt;br /&gt;
&lt;br /&gt;
# Open the Alert Manager and select the &amp;#039;&amp;#039;&amp;#039;ITSM Integrations&amp;#039;&amp;#039;&amp;#039; tab.&lt;br /&gt;
# In &amp;#039;&amp;#039;&amp;#039;Module&amp;#039;&amp;#039;&amp;#039;, select &amp;#039;&amp;#039;&amp;#039;PagerTree&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Paste the PagerTree Endpoint URL into &amp;#039;&amp;#039;&amp;#039;Webhook URL&amp;#039;&amp;#039;&amp;#039; as it is. Do not append anything to it.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;Add&amp;#039;&amp;#039;&amp;#039;. The endpoint appears in the list.&lt;br /&gt;
# Click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039; to save.&lt;br /&gt;
&lt;br /&gt;
[[File:alertmgr_itsm_module_list.png|thumb|right|800px|The Module drop-down lists every ITSM module the appliance supports, PagerTree among them.]]&lt;br /&gt;
&lt;br /&gt;
To stop sending alerts to PagerTree, select the row, click &amp;#039;&amp;#039;&amp;#039;Remove Selected&amp;#039;&amp;#039;&amp;#039;, then &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Apply&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
QuantaStor sends alerts through the appliance&amp;#039;s configured HTTPS proxy, if there is one, so an appliance without direct Internet access can still reach PagerTree.&lt;br /&gt;
&lt;br /&gt;
=== From the CLI ===&lt;br /&gt;
&lt;br /&gt;
Add the endpoint with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-config-set|qs alert-config-set]]&amp;lt;/code&amp;gt;, giving the module name and the URL separated by a colon:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-config-set --endpoints=&amp;quot;pagertree:https://api.pagertree.com/integration/int_aAbBcCdDeEfF01&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To remove it, prefix the entry with {{Code|1=~}}:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-config-set --endpoints=&amp;quot;~pagertree:https://api.pagertree.com/integration/int_aAbBcCdDeEfF01&amp;quot;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Step 3: Send a test alert ==&lt;br /&gt;
&lt;br /&gt;
[[File:Alertmgr_test_alert.png|thumb|right|328px|Send User Generated Alert, opened from Generate Test Alert. Severity offers Warning, Error and Critical.]]&lt;br /&gt;
&lt;br /&gt;
Click &amp;#039;&amp;#039;&amp;#039;Generate Test Alert&amp;#039;&amp;#039;&amp;#039; at the bottom of the Alert Manager. The &amp;#039;&amp;#039;&amp;#039;Send User Generated Alert&amp;#039;&amp;#039;&amp;#039; dialog opens with two fields:&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Message&amp;#039;&amp;#039;&amp;#039; -- the alert text.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Severity&amp;#039;&amp;#039;&amp;#039; -- &amp;#039;&amp;#039;&amp;#039;Warning&amp;#039;&amp;#039;&amp;#039; (the default), &amp;#039;&amp;#039;&amp;#039;Error&amp;#039;&amp;#039;&amp;#039; or &amp;#039;&amp;#039;&amp;#039;Critical&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
Click &amp;#039;&amp;#039;&amp;#039;OK&amp;#039;&amp;#039;&amp;#039;. A new alert appears in PagerTree, routed to the integration&amp;#039;s Destinations.&lt;br /&gt;
&lt;br /&gt;
From the CLI, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-raise|qs alert-raise]]&amp;lt;/code&amp;gt;. Always set {{Code|1=--alert-severity}}: the command defaults to info, and QuantaStor never sends Info alerts to ITSM modules, so a test at the default level reaches PagerTree with nothing.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-raise --title=&amp;quot;PagerTree test&amp;quot; --message=&amp;quot;Testing the PagerTree integration&amp;quot; --alert-severity=error&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Severity and urgency ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor maps each alert&amp;#039;s severity to a PagerTree urgency:&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! QuantaStor severity !! PagerTree urgency&lt;br /&gt;
|-&lt;br /&gt;
| Warning || medium&lt;br /&gt;
|-&lt;br /&gt;
| Error || high&lt;br /&gt;
|-&lt;br /&gt;
| Critical || critical&lt;br /&gt;
|-&lt;br /&gt;
| Info || &amp;#039;&amp;#039;not sent&amp;#039;&amp;#039;&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Info alerts are never sent to PagerTree,&amp;#039;&amp;#039;&amp;#039; or to any other ITSM module. If an integration looks broken, check the severity of the alert you tested with first.&lt;br /&gt;
&lt;br /&gt;
== Resolving alerts ==&lt;br /&gt;
&lt;br /&gt;
QuantaStor keys each PagerTree alert as {{Code|1=quantastor-}} followed by the QuantaStor alert id, which PagerTree shows as the &amp;#039;&amp;#039;&amp;#039;Thirdparty ID&amp;#039;&amp;#039;&amp;#039;. When you close the alert in QuantaStor, the handler sends a resolve with the same key and PagerTree resolves the matching alert.&lt;br /&gt;
&lt;br /&gt;
Close an alert with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-clear|qs alert-clear]]&amp;lt;/code&amp;gt; and {{Code|1=--close=true}}. List alerts and their ids with &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-list|qs alert-list]]&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre style=&amp;quot;font-size: smaller&amp;quot;&amp;gt;&lt;br /&gt;
qs alert-list&lt;br /&gt;
qs alert-clear --filter=&amp;amp;lt;alert id&amp;amp;gt; --close=true&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
To close every open alert at once, use &amp;lt;code&amp;gt;[[QuantaStor CLI Command Reference#alert-clear-all|qs alert-clear-all]]&amp;lt;/code&amp;gt; {{Code|1=--close=true}}.&lt;br /&gt;
&lt;br /&gt;
[[Dismiss Alerts]] in the web interface removes alerts from QuantaStor without sending a close, so the matching PagerTree alerts stay open. Resolve them in PagerTree, or close the alerts from the CLI instead.&lt;br /&gt;
&lt;br /&gt;
== What the PagerTree alert contains ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! PagerTree field !! Content&lt;br /&gt;
|-&lt;br /&gt;
| Title || The alert title, prefixed with its SNMP alert type id in brackets, for example {{Code|1=[&amp;amp;lt;alert type id&amp;amp;gt;] &amp;amp;lt;title&amp;amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
| Description || The QuantaStor alert&amp;#039;s description&lt;br /&gt;
|-&lt;br /&gt;
| Urgency || From the alert severity (see [[#Severity and urgency|Severity and urgency]])&lt;br /&gt;
|-&lt;br /&gt;
| Tags || {{Code|1=quantastor}}, {{Code|1=severity:&amp;amp;lt;level&amp;amp;gt;}}, {{Code|1=system:&amp;amp;lt;system name&amp;amp;gt;}}, {{Code|1=grid:&amp;amp;lt;grid name&amp;amp;gt;}}, {{Code|1=alert_type_id:&amp;amp;lt;id&amp;amp;gt;}}&lt;br /&gt;
|-&lt;br /&gt;
| Thirdparty ID || {{Code|1=quantastor-&amp;amp;lt;alert id&amp;amp;gt;}}&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
The YAML Definition also adds eleven &amp;#039;&amp;#039;&amp;#039;Additional Data&amp;#039;&amp;#039;&amp;#039; rows to the alert page: Severity, Storage System, Storage System ID, Storage Grid, Alert Type, Alert Time, Service Version, Kernel Version, Serial Number, System Startup and Alert ID.&lt;br /&gt;
&lt;br /&gt;
== Troubleshooting ==&lt;br /&gt;
&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Nothing arrives in PagerTree.&amp;#039;&amp;#039;&amp;#039; Check the test alert&amp;#039;s severity first: Info alerts are never sent. Then confirm the Endpoint URL in the ITSM Integrations tab matches the one PagerTree shows, with nothing appended, and that the integration is Enabled.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Alerts show as &amp;quot;dropped&amp;quot; in PagerTree.&amp;#039;&amp;#039;&amp;#039; The alert was delivered; nobody acknowledged it. This happens, for example, when the Destinations team has no on-call schedule. Fix the team&amp;#039;s schedule in PagerTree.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;Alerts arrive late.&amp;#039;&amp;#039;&amp;#039; When PagerTree answers with a rate-limit (429) or server (5xx) error, QuantaStor retries the delivery for up to 90 seconds.&lt;br /&gt;
* &amp;#039;&amp;#039;&amp;#039;PagerTree alerts do not resolve.&amp;#039;&amp;#039;&amp;#039; Close the alert with {{Code|1=--close=true}}; dismissing it in the web interface does not send a resolve. Also check that the integration&amp;#039;s YAML Definition contains the resolve rule above.&lt;br /&gt;
&lt;br /&gt;
== Related pages ==&lt;br /&gt;
&lt;br /&gt;
* [[Storage System Alert Manager]]&lt;br /&gt;
* [[Call-home / Alerting]]&lt;br /&gt;
* [[Dismiss Alerts]]&lt;br /&gt;
* [[PagerDuty Integration]]&lt;br /&gt;
* [[OpsGenie Integration]]&lt;br /&gt;
* [[Squadcast Integration]]&lt;br /&gt;
* [[QuantaStor CLI Command Reference]]&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&amp;lt;small&amp;gt;&amp;#039;&amp;#039;Verified against QuantaStor 7.0.0.&amp;#039;&amp;#039;&amp;lt;/small&amp;gt;&lt;br /&gt;
&lt;br /&gt;
[[Category:integration_guide]]&lt;/div&gt;</summary>
		<author><name>Qadmin</name></author>
	</entry>
</feed>