...
...
...
...
...
...
...
...
...
...
...
...
Note |
---|
New PowerHA Modern Web Interface We recently announced a modern web interface for PowerHA on IBM i 7.4 and 7.5. This new modern web interface will provide at-a-glance health information from a web browser. Additional information on this new interface will be available in December. We recommend utilizing the new web interface built into PowerHA instead of HelpSystems Insite and Insite Analytics. The instructions below will remain for existing installations and those looking for examples of utilizing PowerHA SQL services in other monitoring products. Planned availability: December 16th, 2022 |
PowerHA by design requires minimal ongoing monitoring, management, and maintenance. With PowerHA dashboards, ongoing monitoring is simplified even more. Dashboards enable administrators to see any errors or warnings that may affect their business continuity. These dashboards can be configured to show PowerHA information alongside information from other products and can be configured to show multiple PowerHA environments on one screen.
...
Expand |
---|
title | Opening Insite Analytics |
---|
|
Note: For general usage of Insite Analytics, see the Insite Analytics Users Guide. After logging in to the HelpSystems Insite server, the homepage is displayed. Click the Select Product button and select Insite Analytics. The Insite Analytics menu will appear.
|
...
Add the Cluster Nodes Query with the following information:
Query Name | PowerHA Cluster Nodes |
---|
Description | A list of all cluster nodes along with their status information |
---|
SQL | Code Block |
---|
| SELECT NODE,NODE_STATUS FROM QHASM.CLUSTER_NODES |
|
---|
For instructions to add queries to Insite Analytics, expand this section.
...
2. Add the Administrative Domains Query with the following information:
Query Name | PowerHA Administrative Domains |
---|
Description | A list of administrative domains with their status information |
---|
SQL | Code Block |
---|
| SELECT ADMINISTRATIVE_DOMAIN,DOMAIN_STATUS
FROM QHASM.ADMIN_DOMAIN_LIST |
|
---|
3. Add the Monitored Resources Query with the following information:
Query Name | PowerHA Monitored Resources Requiring Attention |
---|
Description | A list of monitored resources that are either failed or inconsistent along with additional node level information |
---|
SQL | Code Block |
---|
| SELECT DETAILS.MONITORED_RESOURCE,DETAILS.RESOURCE_TYPE,DETAILS.LIBRARY,DETAILS.GLOBAL_STATUS,DETAILS.NODE,DETAILS.LOCAL_STATUS,DETAILS.MESSAGE_ID,DETAILS.MESSAGE_TEXT
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST()) LIST,
TABLE(QHASM.ADMIN_DOMAIN_MRE_DETAILS(MONITORED_RESOURCE => LIST.MONITORED_RESOURCE, RESOURCE_TYPE => LIST.RESOURCE_TYPE, LIBRARY => LIST.LIBRARY)) DETAILS
WHERE (LIST.GLOBAL_STATUS = '*INCONSISTENT' OR LIST.GLOBAL_STATUS = '*FAILED') AND
DETAILS.LOCAL_STATUS != 'CURRENT' |
|
---|
Info |
---|
Note: Since the Monitored Resources Requiring Attention query only returns monitored resources that require attention, it is likely that when previewing this query, no data will be returned. |
4. Add the Unmonitored Resources Query with the following information:
Query Name | PowerHA Unmonitored Resources |
---|
Description | A list of resources not currently monitored by the administrative domain that could be monitored by the administrative domain |
---|
SQL | Code Block |
---|
| SELECT JOBD.OBJNAME AS "Unmonitored Resource", '*JOBD' as "Resource Type", JOBD.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*JOBD','*ALLSIMPLE')) JOBD
WHERE JOBD.OBJLONGSCHEMA != 'QSYS' AND JOBD.OBJLONGSCHEMA != 'QINSYS' AND JOBD.OBJLONGSCHEMA != 'QINPRIOR' AND JOBD.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*JOBD')) MRE
WHERE MRE.MONITORED_RESOURCE = JOBD.OBJNAME)
UNION
SELECT SBSD.OBJNAME AS "Unmonitored Resource", '*SBSD' as "Resource Type", SBSD.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*SBSD','*ALLSIMPLE')) SBSD
WHERE SBSD.OBJLONGSCHEMA != 'QSYS' AND SBSD.OBJLONGSCHEMA != 'QINSYS' AND SBSD.OBJLONGSCHEMA != 'QINPRIOR' AND SBSD.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*SBSD')) MRE
WHERE MRE.MONITORED_RESOURCE = SBSD.OBJNAME)
UNION
SELECT USRPRF.OBJNAME AS "Unmonitored Resource", '*USRPRF' as "Resource Type", USRPRF.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS','*USRPRF','*ALLSIMPLE')) USRPRF
WHERE NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*USRPRF')) MRE
WHERE MRE.MONITORED_RESOURCE = USRPRF.OBJNAME)
UNION
SELECT AUTL.OBJNAME AS "Unmonitored Resource", '*AUTL' as "Resource Type", AUTL.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS','*AUTL','*ALLSIMPLE')) AUTL
WHERE NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*AUTL')) MRE
WHERE MRE.MONITORED_RESOURCE = AUTL.OBJNAME)
UNION
SELECT CLS.OBJNAME AS "Unmonitored Resource", '*CLS' as "Resource Type", CLS.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*CLS','*ALLSIMPLE')) CLS
WHERE CLS.OBJLONGSCHEMA != 'QSYS' AND CLS.OBJLONGSCHEMA != 'QINSYS' AND CLS.OBJLONGSCHEMA != 'QINPRIOR' AND CLS.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*CLS')) MRE
WHERE MRE.MONITORED_RESOURCE = CLS.OBJNAME) |
|
---|
5. Add the Cluster Resource Groups Query with the following information:
Query Name | PowerHA Cluster Resource Groups |
---|
Description | A list of cluster resource groups along with their status |
---|
SQL | Code Block |
---|
| SELECT CLUSTER_RESOURCE_GROUP,CRG_TYPE,CRG_STATUS,PRIMARY_NODE
FROM QHASM.CLUSTER_RESOURCE_GROUP_LIST |
|
---|
6. Add the Recovery Domain Nodes Requiring Attention Query with the following information:
Query Name | PowerHA Recovery Domain Nodes Requiring Attention |
---|
Description | A list of nodes in CRG recovery domains that are inactive or ineligible |
---|
SQL | Code Block |
---|
| SELECT RCYDMN.CLUSTER_RESOURCE_GROUP, RCYDMN.NODE, RCYDMN.NODE_STATUS, RCYDMN.SITE_NAME
FROM QHASM.CLUSTER_RESOURCE_GROUP_LIST LIST,
TABLE(QHASM.CRG_RECOVERY_DOMAIN(LIST.CLUSTER_RESOURCE_GROUP)) RCYDMN
WHERE NODE_STATUS != 'ACTIVE' |
|
---|
Info |
---|
Note: Since the Recovery Domain Nodes Requiring Attention query only returns nodes that are not eligible for a switchover, it is likely that when previewing this query, no data will be returned. |
7. Add the Session Info Query with the following information:
Query Name | PowerHA Session Information |
---|
Description | A list of sessions along with current replication status |
---|
SQL | Code Block |
---|
| SELECT SESSION_INFO.SESSION_NAME,SESSION_INFO.SESSION_TYPE,SESSION_INFO.ASP_DEVICE,SESSION_INFO.SOURCE_NODE,SESSION_INFO.SOURCE_ASP_STATE,SESSION_INFO.COPY_STATUS,SESSION_INFO.TARGET_NODE,SESSION_INFO.TARGET_ASP_STATE
FROM QHASM.SESSION_LIST SESSION_LIST,
TABLE(QHASM.SESSION_INFO(SESSION => SESSION_LIST.SESSION_NAME)) SESSION_INFO |
|
---|
Add the PowerHA Queries with Drilldown Query
1. Add the Count Cluster Nodes Requiring Attention Query:
Query Name | PowerHA Count Cluster Nodes Requiring Attention |
---|
Description | A count of cluster nodes that are not active |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT FROM QHASM.CLUSTER_NODES
WHERE NODE_STATUS != 'ACTIVE' |
|
---|
Drilldown Query | PowerHA Cluster Nodes |
---|
For instructions to add drilldown queries to Insite Analytics, expand this section.
...
2. Add the Count of Admin Domains Requiring Attention Query:
Query Name | PowerHA Count of Admin Domains Requiring Attention |
---|
Description | A count of administrative domains that are not active |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT
FROM QHASM.ADMIN_DOMAIN_LIST
WHERE DOMAIN_STATUS != 'ACTIVE' |
|
---|
Drilldown Query | PowerHA Administrative Domains |
---|
3. Add the Count of Monitored Resources Requiring Attention Query:
Query Name | PowerHA Count of Monitored Resources Requiring Attention |
---|
Description | A count of monitored resources requiring attention |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST()) LIST
WHERE LIST.GLOBAL_STATUS = '*INCONSISTENT' OR LIST.GLOBAL_STATUS = '*FAILED' |
|
---|
Drilldown Query | PowerHA Monitored Resources Requiring Attention |
---|
4. Add the Count of Unmonitored Resources Query:
Query Name | PowerHA Count of Unmonitored Resources |
---|
Description | A count of resources not currently monitored by the administrative domain that could be monitored by the administrative domain |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT FROM
(SELECT JOBD.OBJNAME AS "Unmonitored Resource", '*JOBD' as "Resource Type", JOBD.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*JOBD','*ALLSIMPLE')) JOBD
WHERE JOBD.OBJLONGSCHEMA != 'QSYS' AND JOBD.OBJLONGSCHEMA != 'QINSYS' AND JOBD.OBJLONGSCHEMA != 'QINPRIOR' AND JOBD.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*JOBD')) MRE
WHERE MRE.MONITORED_RESOURCE = JOBD.OBJNAME)
UNION
SELECT SBSD.OBJNAME AS "Unmonitored Resource", '*SBSD' as "Resource Type", SBSD.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*SBSD','*ALLSIMPLE')) SBSD
WHERE SBSD.OBJLONGSCHEMA != 'QSYS' AND SBSD.OBJLONGSCHEMA != 'QINSYS' AND SBSD.OBJLONGSCHEMA != 'QINPRIOR' AND SBSD.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*SBSD')) MRE
WHERE MRE.MONITORED_RESOURCE = SBSD.OBJNAME)
UNION
SELECT USRPRF.OBJNAME AS "Unmonitored Resource", '*USRPRF' as "Resource Type", USRPRF.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS','*USRPRF','*ALLSIMPLE')) USRPRF
WHERE NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*USRPRF')) MRE
WHERE MRE.MONITORED_RESOURCE = USRPRF.OBJNAME)
UNION
SELECT AUTL.OBJNAME AS "Unmonitored Resource", '*AUTL' as "Resource Type", AUTL.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('QSYS','*AUTL','*ALLSIMPLE')) AUTL
WHERE NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*AUTL')) MRE
WHERE MRE.MONITORED_RESOURCE = AUTL.OBJNAME)
UNION
SELECT CLS.OBJNAME AS "Unmonitored Resource", '*CLS' as "Resource Type", CLS.OBJLONGSCHEMA as "Resource Library"
FROM TABLE(QSYS2.OBJECT_STATISTICS('*ALL','*CLS','*ALLSIMPLE')) CLS
WHERE CLS.OBJLONGSCHEMA != 'QSYS' AND CLS.OBJLONGSCHEMA != 'QINSYS' AND CLS.OBJLONGSCHEMA != 'QINPRIOR' AND CLS.OBJLONGSCHEMA != 'QINMEDIA' AND
NOT EXISTS (
SELECT MONITORED_RESOURCE
FROM TABLE(QHASM.ADMIN_DOMAIN_MRE_LIST(RESOURCE_TYPE => '*CLS')) MRE
WHERE MRE.MONITORED_RESOURCE = CLS.OBJNAME)) |
|
---|
Drilldown Query | PowerHA Unmonitored Resources |
---|
5. Add the Count of Cluster Resource Groups Requiring Attention Query:
Query Name | PowerHA Count of Cluster Resource Groups Requiring Attention |
---|
Description | A count of cluster resource groups that are not active |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT
FROM QHASM.CLUSTER_RESOURCE_GROUP_LIST
WHERE CRG_STATUS != 'ACTIVE' |
|
---|
Drilldown Query | PowerHA Cluster Resource Groups |
---|
6. Add the Count of Recovery Domain Nodes Requiring Attention Query:
Query Name | PowerHA Count of Recovery Domain Nodes Requiring Attention |
---|
Description | A count of cluster resource groups that are not active |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT
FROM QHASM.CLUSTER_RESOURCE_GROUP_LIST LIST,
TABLE(QHASM.CRG_RECOVERY_DOMAIN(LIST.CLUSTER_RESOURCE_GROUP)) RCYDMN
WHERE NODE_STATUS != 'ACTIVE' |
|
---|
Drilldown Query | PowerHA Recovery Domain Nodes Requiring Attention |
---|
7. Add the Count of Sessions Requiring Attention Query:
Query Name | PowerHA Count of Sessions Requiring Attention |
---|
Description | A count of sessions where the copy status is not active |
---|
SQL | Code Block |
---|
| SELECT COUNT(*) AS COUNT
FROM QHASM.SESSION_LIST SESSION_LIST,
TABLE(QHASM.SESSION_INFO(SESSION => SESSION_LIST.SESSION_NAME)) SESSION_INFO
WHERE SESSION_INFO.COPY_STATUS != 'ACTIVE' |
|
---|
Drilldown Query | PowerHA Session Information |
---|
PowerHA Status Dashboard
This section describes how to create a HelpSystems Insite Dashboard and add various widgets to show the status of PowerHA, highlighting issues that require attention. The example dashboard defined here includes all the queries you have defined. You can choose which of these to include and adjust the layout to suit your preferences.
...
Expand |
---|
title | Creating an Insite Dashboard |
---|
|
In the Navigation Pane, click Dashboards. If the menu is hidden, hover over the Navigation Pane to expand it. Click the green +Add Dashboard button at the upper-right of the screen Enter a unique name for the dashboard. For example: PowerHA Status Dashboard Enter a Description. For example: Status for PowerHA Environments Select a Color Theme. This theme applies to all widgets on this dashboard. In this example we used the default Light Theme. Set the Edit Rights and Share With sections as required or leave them as the default. Refer to the HelpSystems Insite User Guide for options. Click Save . From the dashboard in Edit mode, click Select Quick Layout . From the layouts panel, select the 2 widgets tile.
Tip |
---|
Tip: The layout is customizable. Choose a layout that suits your needs. |
|
...
Expand |
---|
title | Adding PowerHA Widgets to the Dashboard |
---|
|
There are 7 Power HA count of widgets. This example uses Indicator Widgets to show the count of each type. These indicator widgets will be grouped using a Group Widget, allowing a single title above the widgets. Creating the LayoutEnsure Edit mode is on. Hover your mouse over the top section and select the green +Add Group . Click Edit Group . Select to Show the Header. Enter a Title such as PowerHA Status . Click the green Save button in the upper-right hand corner. Hover your mouse over the top section and select the Edit Groups Widgets button. Use the < and > arrows to split the section into 8 as shown below. If you make a mistake, click the undo button at the top of the panel.
Add the Cluster Nodes Widget Click the three dots at the top right of section 1 and select Add Widget . Select Insite Analytics for the Data Source. For the Asset select PowerHA Count of Cluster Nodes Requiring Attention . Select the cluster node to use for this connection. In this example, the data source is Prod . Enter Nodes under Name. Select Key Indicator as the Widget Type. Select the only metric that is displayed. The preview on the left will now update to display a number. In order to show the widget as green when the count is zero, and red when greater than zero, thresholds must be used. Select the Layout Tab. Select Show for Use Status Color as Widget Background and Custom for Thresholds. Click the green Add Rule button. On the first rule, set the Condition to = , leave the Value as 0 , and set the status to Good . This rule causes the widget to display in green when there are no cluster node errors. On the second rule, set the Condition to > , leave the Value as 0 , and set the status to Critical . This rule causes the widget to display in green when there are one or more cluster node errors. Click the green Save button in the upper-right hand corner.
Repeat step 1 a-m for the remaining 6 sections in this Group: For the 2nd section:
Asset | PowerHA Count of Admin Domains Requiring Attention |
---|
Name | Admin Domains |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Warning |
c. For the 3rd section: Asset | PowerHA Count of Monitored Resources Requiring Attention |
---|
Name | MREs |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Critical |
d. For the 4th section: Asset | PowerHA Count of Unmonitored Resources |
---|
Name | Unmonitored Resources |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Warning |
e. For the 5th section: Asset | PowerHA Count of Cluster Resource Groups Requiring Attention |
---|
Name | CRGs |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Warning |
f. For the 6th section: Asset | PowerHA Count of Recovery Domain Nodes Requiring Attention |
---|
Name | Recovery Domain |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Critical |
g. For the 7th section: Asset | PowerHA Count of Sessions Requiring Attention |
---|
Name | Sessions |
---|
Rules | Condition | Value | Status |
---|
= | 0 | Good | > | 0 | Critical |
3. When all widgets have been defined, click on Stop Editing Group . |
...