Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager Overview and System Design Guide


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.

(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.

Table 12‒5: 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.

Table 12‒6: Property display of the IM management node created by IM Exporter (1)

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.

#

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.

#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.

Table 12‒8: List of attributes of JP1 events issued during performance data monitoring

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.

  • For Promitor

    If the event is relevant to performance data from VirtualMachine metrics, the event source host name will have the value specified for the jp1_pc_nodelabel label in the Prometheus configuration file.

    If it is relevant to the data from non-VirtualMachine metrics, or if the jp1_pc_nodelabel tag has no value, the event source host name will have the string that precedes the colon (:) in the value of the instance label# (name of the integrated agent host specified for the targets item in the Promitor discovery configuration file).

  • For Exporters other than Promitor

    The event source host will have the name of the monitoring target host specified for the targets item in the discovery configuration file.

#

The label of instance has the value specified for targets in the discovery configuration file.

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.

Table 12‒9: Criteria for associating the types of SIDs with JP1 events

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.