Monitoring the VNFs
After deploying VNFs, they are monitored periodically to check their health and workload. Monitoring is based on the definition of metrics within the KPI section of the deployment data model. As described in the KPIs section the metric type determined not only the variable to monitor, but also the collector action to be executed. ESC allows you to define the metrics to be monitored and the actions that needs to be executed when the conditions are met. These metrics and actions are defined in the deployment datamodel. Several monitoring methods are used to monitor the VNFs. You can monitor the following:
-
VM aliveness
-
VM variables for Disk usage, Memory, CPU, Network throughput
-
ICMP message on the VM monitoring interface.
Pre-requisites for Monitoring
The following pre-requisites must be met for the VMs to be monitored by ESC:
-
Monitoring is enabled for VMs that are successfully deployed. The deployed VMs must be alive.
-
KPI must be configured in the data model with the monitoring parameters.
Monitoring and Action Execution Engine
Monitoring is based on the definition of metrics within the KPI section of the deployment datamodel. As described in the KPIs section the metric type determines not only the variable to monitor, but also the collector action to be executed. The monitoring engine comprises of metrics and actions.-
Metrics
-
Actions
The metrics and actions <metadata> section describes the properties or entries controlling the programmable aspect of the engine.
Metrics Section
The metrics section is as follows:
<metrics>
<metric>
<name>{metric name}name>
<type>{metric type}type>
<metaData>
<type>{monitoring engine action type}</type>
<properties>
<property>
<name></name>
<value></value>
</property>
: : : : : : :
<properties/>
</metaData>
</metric or action>
: : : : : : : :
<metrics>
Tag name |
Description |
Values |
---|---|---|
name |
A user defined metric name. The metric name must be unique. |
|
type |
Dynamic mapping supported type. |
MONITOR_SUCCESS_FAILURE MONITOR_THRESHOLD MONITOR_COMPUTE_THRESHOLD |
Metric Metadata Section
The purpose of the metadata section is to provide information specific to the monitoring solution.
Tag Name |
Description |
Values |
---|---|---|
type |
The action type, values are a one to one mapping with MONA supported actions. |
custom_script custom_script_threshold snmp_get_threshold |
properties |
A container for a list of properties (name/value) that will be passed to selected action. The properties are defined by the list of expected monitoring and actions attributes. |
Properties are based on the selected action type. |
Actions Section
The actions section is as follows:
<actions>
<action>
<name>{action name}name>
<type>{action type}type>
<metaData>
<type>{monitoring engine action type}</type>
<properties>
<property>
<name></name>
<value></value>
</property>
: : : : : : :
<properties/>
</metaData>
</action>
: : : : : : : :
<actions>
Tag Name |
Description |
Values |
---|---|---|
name |
A user defined action name. The action name must be unique. |
One of the main requirements is also to have the chosen name prefixed with TRUE or FALSE to allow mapping between ESC data model rule and dynamic actions, just for MONITOR_SUCCESS_FAILURE. |
type |
Supported type. |
ESC_POST_EVENT SCRIPT CUSTOM_SCRIPT |
Actions Metadata Section
The purpose of the metadata section is to provide information specific to the monitoring solution.
Tag Name |
Description |
Values |
---|---|---|
type |
The action type, values are a one to one mapping with monitoring and actions engine supported actions. |
icmp_ping icmp4_ping icmp6_ping esc_post_event script custom_script snmp_get snmp_get_threshold |
properties |
A container for a list of properties (name/value) that will be passed to selected action. The properties are defined by the list of expected monitoring and action attributes. |
Properties are based on the selected action type. |
For more details see the KPIs, Rules and Dynamic Mapping APIs section.
Type |
Properties and their description |
---|---|
icmp_ping |
|
icmpv4_ping |
|
icmpv6_ping |
|
script |
|
custom_script |
script_filename: Full path to the script to be executed (The script has to be located on the ESC Manager VM). |
custom_script_threshold |
|
post_esc_event |
|
snmp_get |
|
snmp_get_threshold |
|
snmp_get_threshold_ratio |
|
Properties and Runtime Parameter Injection
The properties list passed to the selected action type supports the capabilities to automatically inject runtime value for some selected parameters. For example, runtime value of the virtual machine ip_address or its name can be passed automatically as arguments to the selected action.
Following are some of the parameters that can be passed to the scripts at the time of execution. Parameter value is populated at runtime only if :
-
the parameter is a supported one, and
-
its value is empty within the dynamic-mappings.xml file.
Otherwise, the value defined within the script is passed as is.
Table below shows the parameters passed during runtime.
esc_url |
The URL of the Elastic Services Controller. |
vm_external_id |
The external id of the managed VM. |
vm_name |
The name of the managed VM. |
vm_mac_address |
The mac address of the managed VM. |
vm_external_host_id |
The VM external host Identifier. |
vm_external_host_name |
The VM external host name. |
vm_group_name |
The VM group name. |
ip_address |
The VM IP Address. |
event_name |
The ESC event name. |
Note |
The properties list passed to the selected action, is not bound by the parameters in the action type. A script designer can define its own parameters. However, the values have to be provided. |