12.5.1 Product plug-ins
IM Exporter provides add-on programs with capabilities that use JP1/IM - Agent product plug-ins (jp1pccs.js); however, the add-on program capabilities listed in the following table are implemented by monitoring-target-specific product plug-ins of IM Exporter.
Capability |
Product plug-in |
---|---|
Azure Monitor performance data collection |
jp1pccs_azure.js |
Container monitoring through user-specific Prometheus |
jp1pccs_kubernetes.js |
All the IM Exporter product plug-ins have the same basic specifications and relevant capabilities as those of the JP1/IM - Agent product plug-ins.
This section provides the information specific to the product plug-ins for the monitoring targets in the above table.
- Organization of this subsection
(1) Creating IM management nodes (__configurationGet method)
The basic specifications of the capabilities are the same as those described in Creating IM management nodes for the JP1/IM - Agent product plug-ins.
Unlike Yet another cloudwatch exporter, the Azure Monitor performance data collection capability and the container monitoring capability through user-specific Prometheus do not have to be tagged on their monitoring target, Azure or Kubernetes.
-
Azure Monitor performance data collection
The resource_uri label obtained from Promitor contains resource names, and therefore, you must relabel them to jp1_pc_nodelabel in the Prometheus configuration file (jpc_prometheus_server.yml).
In addition, no tagging is required, and thus all the resources are obtained by default if you use Promitor Resource Discovery. If you want to obtain limited resources, specify in the Promitor configuration file which resources you want to obtain.
For details on how to change monitoring targets, see (d) Configuring scraping targets (required) in the manual JP1/Integrated Management 3 - Manager Configuration Guide 10.1.2(6) Setting up Promitor.
-
Container monitoring through user-specific Prometheus
Particular labels of metrics contain resource names, and therefore you must relabel them to jp1_pc_nodelabel in the Prometheus configuration file (jpc_prometheus_server.yml).
In addition, no tagging is required, and thus all the resources are obtained by default. If you want to obtain limited resources, specify in the Prometheus configuration file (jpc_prometheus_server.yml) which resources you want to obtain.
For details on how to change monitoring targets, see (e) Configuring scraping targets (optional) in the manual JP1/Integrated Management 3 - Manager Configuration Guide 10.1.2(7) Setting up container monitoring.
(a) Types of SIDs of target configuration information and available capabilities
The SIDs of configuration information that corresponds to IM management nodes created by the IM Exporter product plug-ins have different formats depending on the monitoring targets. The following table lists and describes the types of SIDs of configuration information and available capabilities for each monitoring target.
Type of SID of configuration information |
Description |
Available capabilities |
|
---|---|---|---|
Host |
Azure VM host SID |
SID of the host that exists as an Azure VM. |
None |
Platform category |
AzureMonitorSID of an Azure VM |
SID of an Azure VM as a monitoring target. When Promitor is used for monitoring, this IM management node is created if the Azure VM monitoring target has an instance and VM metrics are defined in the metric definition file. JP1 events that correspond to alerts for monitoring VM instances are associated with this IM management node. |
Show trend data, show properties of related nodes |
Object root node |
AzureMonitorSID of a non-Azure VM monitoring target |
SID of a monitoring target that is not an Azure VM. When Promitor is used for monitoring, this IM management node is created if an instance other than the Azure VM monitoring target exists and the metrics to monitor the resources are defined in the metric definition file. JP1 events that correspond to alerts for monitoring resource instances are associated with this IM management node. |
Show trend data, show properties of related nodes |
Kubernetes SID |
SID of a monitoring target of Kubernetes. When Prometheus is working together, this IM management node is created if resources exist in the monitoring target and the metrics to monitor the resources are defined in the metric definition file. |
Show trend data, show properties of related nodes |
(b) Property display
In JP1/IM - Manager, the node details section of the integrated operation viewer shows the properties of IM management nodes created by the IM Exporter product plug-ins.
The table below lists the properties and their values specified for an IM management node created by the IM Exporter product plug-ins. Note that the SIDs not listed in the table do not have their property values specified.
Type of SID of configuration information |
Property name |
||||||
---|---|---|---|---|---|---|---|
Prometheus host name |
Scraping job name |
Exporter name |
Prometheus trend name |
Module |
Account |
||
Member name |
jp1_pc_prome_hostname |
job |
jp1_pc_exporter |
jp1_pc_trendname |
module |
account |
|
Host |
Azure VM host SID |
-- |
-- |
-- |
-- |
-- |
-- |
Platform category |
AzureMonitorSID of an Azure VM |
"Prometheus-host-name" |
"scraping-job-name" |
"jp1_pc_exporter-value" |
"jp1_pc_trendname-value" |
||
Object root node |
AzureMonitorSID of a non-Azure VM monitoring target |
"scraping-job-name" |
"jp1_pc_exporter-value" |
"jp1_pc_trendname-value" |
|||
Kubernetes SID |
"jp1_pc_module-value" |
- Legend:
-
--: Not applicable
Table 12‒7: Property display of the IM management node created by IM Exporter (2) Type of SID of configuration information
Property name
Region
AWS namespace
Tenant
Subscription
Resource group
Azure service
Member name
region
cloud_srv
tenant
subscription
resource_group
cloud_srv
Host
Azure VM host SID
--
--
"tenant-string"
"subscription-string"
"resource-group-name"
--
Platform category
AzureMonitorSID of an Azure VM
"tenant-string"
"subscription-string"
"resource-group-name"
"Azure-service-name"
Object root node
AzureMonitorSID of a non-Azure VM monitoring target
Kubernetes SID
--
--
--
--
- Legend:
-
--: Not applicable
(c) Formats of SIDs of configuration information
The table below lists the formats of SIDs of configuration information for IM management nodes created by the IM Exporter product plug-ins.
When a URL-encoded string exceeds 255 characters in length, the structured identifier of the SID of the target configuration information is split. The characters up to the 255th character in the string are used as the name of the structured identifier, and the rest of the string is used as the name of the lower structured identifier.
Type of SID of configuration information |
SID format |
|
---|---|---|
Host |
Azure VM host SID |
_JP1PC-IMB_JP1/IM - Base-host-name/_JP1PC-M_P-host-name/_JP1PC-AHOST_E-host-name/_HOST_jp1_pc_nodelabel |
Platform category |
AzureMonitorSID of an Azure VM |
_JP1PC-IMB_JP1/IM - Base -host-name/_JP1PC-M_P-host-name/_JP1PC-AHOST_E-host-name/_JP1PC-RM_jp1_pc_remote_monitor_instance/_HOST_jp1_pc_nodelabel/_JP1PC-A_Promitor |
Object root node |
AzureMonitorSID of a non-Azure VM monitoring target |
_JP1PC-IMB_JP1/IM - Base-host-name/_JP1PC-M_P-host-name/_JP1PC-AHOST_E-host-name/_JP1PC-RM_jp1_pc_remote_monitor_instance/_JP1PC-Azure-service-name_jp1_pc_nodelabel |
Kubernetes SID |
_JP1PC-IMB_JP1/IM - Base-host-name/_JP1PC-M_P-host-name/_JP1PC-component-name_jp1_pc_nodelabel |
- P-host-name
-
A URL-encoded string of the name of the host where the Prometheus server is set up.
- E-host-name
-
A URL-encoded string of the name of the host where an Exporter is set up.
- jp1_pc_nodelabel
-
A URL-encoded string of the value specified for jp1_pc_nodelabel under scrape_configs or metrics_scrape_configs in the Prometheus configuration file (jpc_prometheus_server.yml). For EC2 host SID, CloudWatchSID of an EC2 target, and CloudWatchSID of a non-EC2 target, this is a URL-encoded string of the value specified for jp1_pc_nodelabel of AWS resources.
- jp1_pc_remote_monitor_instance
-
A URL-encoded string of the string that follows the colon (:) in the jp1_pc_remote_monitor_instance value in the discovery configuration file. If the jp1_pc_remote_monitor_instance value is changed in relabel_configs, this is a URL-encoded string of the changed value.
- Azure-service-name
-
A value specified for the cloud_srv member in the metric definition file for monitoring Azure.
- component-name
-
A value specified for module member in the metric definition file for container monitoring.
(d) IM management node for each monitoring target
Different IM management nodes are created for different types of IM Exporter monitoring targets. The following table shows the possibilities of creating IM management nodes for different monitoring targets.
Type of SID of configuration information |
Possibilities of creating IM management nodes for different monitoring targets |
|||||
---|---|---|---|---|---|---|
Azure |
Process |
UAP |
Container |
Log metrics (compliant with user-specific Exporter) |
||
Host |
Prometheus host SID |
Y |
Y |
Y |
Y |
Y |
Agent host SID |
-- |
Y |
Y |
Y |
Y# |
|
Remote monitoring host SID |
Y |
-- |
-- |
Y |
Y# |
|
EC2 host SID |
-- |
-- |
-- |
-- |
-- |
|
Azure VM host SID |
Y |
-- |
-- |
-- |
-- |
|
Management Applications category |
PrometheusSID |
Y |
Y |
Y |
Y |
Y |
AlertmanagerSID |
Y |
Y |
Y |
Y |
Y |
|
Agent service SID |
Y |
Y |
Y |
Y |
Y# |
|
Remote monitoring service SID |
-- |
-- |
-- |
Y |
Y# |
|
Integrated agent category |
Agent SID |
-- |
Y |
Y |
Y |
Y# |
Remote agent SID |
-- |
-- |
-- |
-- |
Y# |
|
Platform category |
CloudWatchSID of an EC2 target |
-- |
-- |
-- |
-- |
-- |
AzureMonitorSID of an Azure VM |
Y |
-- |
-- |
-- |
-- |
|
Object root node |
CloudWatchSID of a non-EC2 target |
-- |
-- |
-- |
-- |
-- |
AzureMonitorSID of a non-Azure VM monitoring target |
Y |
-- |
-- |
-- |
-- |
|
Kubernetes SID |
-- |
-- |
-- |
Y |
-- |
- Legend:
-
Y: IM management node is created
--: IM management node is not created
- #
-
The IM management node is or is not created depending on the settings configured in the Prometheus configuration file (jpc_prometheus_server.yml).
(e) Tree format
In the integrated operation viewer of JP1/IM - Manager, the tree structure contains different nodes depending on the types of IM Exporter monitoring targets.
The integrated operation viewer of JP1/IM - Manager shows IM management nodes created by the IM Exporter product plug-ins in the following tree format:
All Systems + BizSystem | + integrated-manager-host-name | | + Management Applications | | + Azure metric collector (Promitor)#1 | + monitoring-target-host-name | | + Management Applications | | | + Linux process metric collector (Process exporter)#2 | | | + Script metric collector (Script exporter)#2 | | + Platform | | | + jp1_pc_nodelabel-value#3 | | + category-specified-in-jp1_pc_category#4 | | + jp1_pc_nodelabel-value#5 | + host-name-of-the-host-on-AWS#6 | | + Platform | | + Yet another cloudwatch exporter | + host-name-of-the-host-on-Azure#7 | + Platform#8 | + Promitor#9 + Amazon Simple Storage Service | + storage-name#10 | ... + Kubernetes | + Clusters | | + cluster-name#11 | + Namespaces | | + Namespace-name#11 | + DaemonSets | | + DaemonSet-name#11 | + StatefulSets | | + StatefulSet-name#11 | + ReplicaSets | | + ReplicaSets-name#11 | + CronJobs | | + CronJob-name#11 | + Pods | | + Pod-name#11 | + Nodes | + node-name#11 + Azure Kubernetes Service | + cluster-name#12 | ... + system-name + resource-name |
- #1
-
Indicates a remote monitoring service SID.
- #2
-
Indicates an agent service SID.
- #3
-
Indicates an agent SID.
- #4
-
Indicates a category (user-specific Exporter, Script exporter, or log metrics).
- #5
-
Indicates an agent SID (user-specific Exporter, Script exporter, or log metrics).
- #6
-
Indicates an EC2 host SID.
The label shows the string specified for jp1_pc_nodelabel of the metric.
- #7
-
Indicates an Azure VM host SID.
The label shows the string specified for jp1_pc_nodelabel of the metric.
- #8
-
Indicates a category.
- #9
-
Indicates AzureMonitorSID of an Azure VM.
- #10
-
Indicates CloudWatchSID of a non-EC2 target.
In an IM management node for a non-EC2 target, an object root node with its object root node type as JP1CS-AWS-namespace-name is created.
The label shows the string specified for jp1_pc_nodelabel of the metric. When the jp1_pc_nodelabel tag for AWS has a string, jp1_pc_nodelabel of the metric also has it.
- #11
-
Indicates a Kubernetes SID.
An object root node with its object root node type as JP1CS-component-name is created.
For a component other than a cluster, the label shows the string specified for jp1_pc_nodelabel of the metric.
For a cluster, an IM management node is displayed if jp1_pc_prome_clustername exists in the metric. The label shows the string specified for jp1_pc_prome_clustername.
- #12
-
Indicates AzureMonitorSID of a non-Azure VM monitoring target.
In an IM management node for a non-VM target, an object root node with its object root node type as JP1CS-Azure-service-name is created.
The label shows the string specified for jp1_pc_nodelabel of the metric.
(2) Creating links (__createLink method)
The __createLink method is called when the jddcreatetree command is run, returning link information between nodes. Based on the returned link information, relation lines are shown in the Related node tab of the integrated operation viewer.
Plug-ins for monitoring containers through user-specific Prometheus implement this method and generate link information from samples stored in the trend data management database. The following table lists the link information to be generated.
from |
to |
Link type |
||
---|---|---|---|---|
Type of SID |
Object root node type |
Type of SID |
Object root node type |
|
Kubernetes SID#1 |
JPC-KUBERNETES-CLUSTER |
Kubernetes SID#1 |
JPC-KUBERNETES-NODE |
containerCluster |
JPC-KUBERNETES-CLUSTER |
JPC-KUBERNETES-NAMESPACE |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-DEPLOYMENT |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-REPLICASET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-STATEFULSET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-DAEMONSET |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-CRONJOB |
|||
JPC-KUBERNETES-NAMESPACE |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-DEPLOYMENT |
JPC-KUBERNETES-REPLICASET |
|||
JPC-KUBERNETES-REPLICASET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-STATEFULSET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-DAEMONSET |
JPC-KUBERNETES-POD |
|||
JPC-KUBERNETES-NODE |
Agent SID#2 |
HOST |
sameNode |
- #1
-
See (a) Types of SIDs of target configuration information and available capabilities in 12.5.1(1) Creating IM management nodes (__configurationGet method).
- #2
-
See (a) Type of SID of the target configuration and its available capabilities under 9.5.1(1) Creating IM management node of JP1/IM - Agent.
(3) Returning a list of metrics (__metricListGet method)
The basic specifications of the capability are the same as those described in Returning a list of metrics for the JP1/IM - Agent product plug-ins.
Only the content contained in the returned list of metrics is specific to this method.
-
Azure Monitor performance data collection
This returns the value of cloud_srv specified in the Promitor metric definition file (metrics_promitor.conf) and a list of metrics whose name matches the Azure service name# in the IM management node.
-
Container monitoring through user-specific Prometheus
This returns the value of component specified in the container monitoring metric definition file (metrics_kubernetes.conf) as well as a list of metrics whose name matches the component name# in the IM management node.
- #
-
It can be viewed as a property in the integrated operation viewer of JP1/IM - Manager.
(4) Returning trend data (__timeSeriesDataGet method)
The basic specifications of the capability are the same as those described in Returning trend data for the JP1/IM - Agent product plug-ins.
The product plug-in for Azure Monitor performance data collection excludes the following labels from the returned instance names, which is a specification only this plug-in has.
-
resource_uri#1
-
subscription_id#1
-
resource_group#1
-
instance_name#1
-
tenant_id#1
-
jp1_pc_prome_clustername#2
- #1
-
This label is used by Promitor.
- #2
-
This label is used in container monitoring.
(5) Creating JP1 events (__transformEvent method)
The basic specifications of the capability are the same as those described in Creating JP1 events for the JP1/IM - Agent product plug-ins.
(a) Attributes of JP1 events issued during performance data monitoring
The table below lists and describes the values specified for attributes of JP1 events issued if alerting conditions are met or no longer met while performance data is being monitored. Attributes are common with JP1/IM - Agent except for the table below. For details on the attributes of JP1/IM - Agent, see 3.2.3(1)Attributes of JP1 events that monitor and issue in the manual JP1/Integrated Management 3 - Manager Command, Definition File and API Reference. For details on the other attribute values, see API description in 5.6.4 Event generation in the manual JP1/Integrated Management 3 - Manager Command, Definition File and API Reference.
Category |
Item name |
Attribute name |
Description |
---|---|---|---|
Extended attribute (common information) |
Event source host name |
JP1_SOURCEHOST |
The value varies depending on whether the alert checked Promitor performance data.
|
Extended attribute (program-specific information) |
Azure service name |
JPC_AZURE_SERVICE |
Name of the Azure service This attribute is set only for Promitor performance data. The service name that corresponds to the metric name specified for the jp1_pc_metricname item in the alert configuration file (jpc_alerting_rules.yml) is found from the metric definition file and then specified. |
Azure tenant name |
JPC_AZURE_TENANT |
Azure tenant string This attribute is set only for Azure performance data. It is the string that corresponds to the Azure tenant ID specified in the property label definition file. default if there is no such definition. |
|
Azure subscription name |
JPC_AZURE_SUBSCRIPTION |
Azure subscription string This attribute is set only for Azure performance data. It is the string that corresponds to Azure's ID specified in the property label definition file. default if there is no such definition. |
|
Azure resource group name |
JPC_AZURE_RESOURCEGROUP |
Name of the Azure resource group This attribute is set only for Azure performance data. |
- Note
-
The total length of all the extended attribute values is limited to 10,000 bytes.
(6) Returning the SID corresponding to an JP1 event (__eventGet event)
The basic specifications of the capability are the same as those described in Returning the SID corresponding to an JP1 event for the JP1/IM - Agent product plug-ins.
The product plug-ins have the criteria for associating with JP1 events as shown in the following table, which are specifications specific to them.
Type of SID |
Criterion for association |
Product plug-in |
---|---|---|
AzureMonitorSID of an Azure VM |
A JP1 event that has been issued by monitoring performance data whose component name is the name of the plugin for the Azure Monitor performance collection feature and whose Azure service name is "Virtualmachine". |
Plug-in for Azure Monitor performance data collection |
AzureMonitorSID of a non-Azure VM monitoring target |
A JP1 event that has been issued by monitoring performance data whose component name is the name of the plugin for the Azure Monitor performance collection feature and whose Azure service name is neither "Virtualmachine" nor "KubernetesService". |
|
Kubernetes SID |
A JP1 event that has been published by monitoring performance data whose component name is the name of the plugin for the container monitoring feature by a user-specific Prometheus, or whose component name is the name of the plugin for the performance collection feature and whose Azure service name is "KubernetesService". |
Plug-in for container monitoring through user-specific Prometheus |
(7) Supporting extended attributes of JP1 events
The IM Exporter product plug-ins come with the extended event attributes definition files for integrated agents listed below. The attributes of JP1 events issued by IM Exporter are shown in the Detailed event information window of JP1/IM - Manager.
(a) File names
-
hitachi_jp1_pccs2_alert_attr_ja.conf (Japanese)
-
hitachi_jp1_pccs2_alert_attr_en.conf (English)
(b) Attributes
Attribute name |
Item |
---|---|
E.JPC_AZURE_SERVICE |
Azure service name |
E.JPC_AZURE_TENANT |
Azure tenant name |
E.JPC_AZURE_SUBSCRIPTION |
Azure subscription name |
E.JPC_AZURE_RESOURCEGROUP |
Azure resource group name |
For details on the attributes of JP1 events issued by IM Exporter, see 12.5.1(5)(a) Attributes of JP1 events issued during performance data monitoring.