VMware Center Integration

VMware vCenter provides a centralized platform for managing your VMware vSphere environments, so you can automate and deliver a virtual infrastructure with confidence. It provides simple deployment, proactive optimization, centralized control and visibility and management.

450

What does Opsgenie offer VMware vCenter users?

Use Opsgenie’s VMware vCenter Integration to forward VMware vCenter incidents to Opsgenie. Opsgenie acts as a dispatcher for these incidents and determines the right people to notify based on on-call schedules– notifies via email, text messages (SMS), phone calls, and iPhone & Android push notifications, and escalates alerts until the alert is acknowledged or closed.

Functionality of the integration

  • When an alarm is created in VMware vCenter, an alert is created in Opsgenie.

Add VMware vCenter Integration in Opsgenie

  1. Please create an Opsgenie account if you haven't done so already.
  2. Go to Opsgenie's VMware VCenter Integration page.

🚧

For Free and Essentials plans, you can only add the integrations from the Team Dashboards, please use the alternative instructions given below to add this integration.

  1. Specify who is notified of VMware vCenter alerts using the Teams field. Autocomplete suggestions are provided as you type.

📘

An alternative for Step 2) and Step 3) is to add the integration from the Team Dashboard of the team which will own the integration. To add an integration directly to a team, navigate to the Team Dashboard and open Integrations tab. Click Add Integration and select the integration that you would like to add.

  1. Copy the API Key.
  2. Click Save Integration.
2048

Configuration in VMware vCenter

  1. Download Opsgenie VMware vCenter zip file under C:\ directory.
  2. Unzip the file under C:\ directory.
  3. Paste the API Key into C:\opsgenie\opsgenie-integration\conf\opsgenie-integration.conf file.
  4. Run vSphere Client.
  5. In vSphere VClient click Actions.
  6. Select Alarms and then New Alarm.
  7. Under the "Configuration" section, add an action "Run Command" and give the vcenter2opsgenie path.
958
  1. Save the alarm.

Opsgenie Plugin Configuration in VCenter

The plugin uses a golang-executable file (included in the plugin as vcenter2opsgenie) to create alerts in Opsgenie. Configure VCenter to execute this file on events to create alerts in Opsgenie.

Setting the apiKey is required. Other configuration parameters are set to defaults that work with most VCenter implementations but may need to be modified as well.

Configuration Parameters
apiKey Copy the API key from the VCenter integration created above. vcenter2opsgenie uses this key to authenticate to Opsgenie. The API key is also used to identify the right integration configuration to process alerts.
teams Teams field is used to specify which teams should be notified for the VCemter alerts. This field is used to set the default teams field value. Modify this field to route different alerts to different teams in Opsgenie VCenter integration, Advanced Settings page.
tags Tags field is used to specify the tags of the alert that created in Opsgenie.
logPath Specifies the full path of the log file. (Default value is C:\opsgenie\vcenter2opsgenie.log)
vcenter2opsgenie.http.proxy.enabled vcenter2opsgenie.http.proxy.enabled field is to enable/disable external proxy configuration. The default value is false.
vcenter2opsgenie.http.proxy.host It is the host of the proxy.
vcenter2opsgenie.http.proxy.port It is the port of the proxy.
vcenter2opsgenie.http.proxy.scheme It is the proxy connection protocol. It may be http or https depending on your proxy servers. Its default value is http.
vcenter2opsgenie.http.proxy.username It is the Proxy authentication username.
vcenter2opsgenie.http.proxy.password It is the Proxy authentication password.
opsgenie.api.urlIf you're using Opsgenie from another domain(eg. EU, sandbox), you should update this configuration.

There are three ways to configure golang-executable file:

Configuring from conf file:

Configure from C:\opsgenie\conf\opsgenie-integration.conf file. Configuring from conf file overwrites the configurations made in the script.

Configuring by using Golang Flags:

Configure by entering flags to the command of the notification created in VCenter, which is described in "Configure Triggers in VCenter" section. Use -apiKey flag for the apiKey.

📘

If you want to send additional custom arguments, you can add them after the flags as: customArgName1 customArgValue1 customArgName2 customArgValue2
You can parse custom arguments by adding {{_payload.customArgName}} to wherever you need on the input fields.
For more information about using raw parameters please visit the Dynamic Fields document.

Configuring from script:

Configure the apiKey vcenter2opsgenie.go script. Build the script again and put the new executable to /usr/bin directory. Find information about the location of the vcenter2opsgenie.go and how to build a go script in the "Source" section.

Sample payload sent from vCenter

Create Alert Payload:

{
    "VMWARE_ALARM_ALARMVALUE": "Event details",
    "VMWARE_ALARM_DECLARINGSUMMARY": "([Event alarm expression: Alarm created; Status ",
    "VMWARE_ALARM_EVENTDESCRIPTION": "Reconfigured testAlarm 'testAlarm' on Datacenter.  \n \nModified:  \n \ninfo.expression.expression: ((comparisons ",
    "VMWARE_ALARM_EVENT_DATACENTER": "Datacenter",
    "VMWARE_ALARM_EVENT_USERNAME": "VSPHERE.LOCAL\\Administrator",
    "VMWARE_ALARM_ID": "alarm-310",
    "VMWARE_ALARM_NAME": "OpsgenieAlarm",
    "VMWARE_ALARM_NEWSTATUS": "Green",
    "VMWARE_ALARM_OLDSTATUS": "Yellow",
    "VMWARE_ALARM_TARGET_ID": "datacenter-21",
    "VMWARE_ALARM_TARGET_NAME": "Datacenter",
    "VMWARE_ALARM_TRIGGERINGSUMMARY": "Event: Alarm reconfigured (1978)\nSummary: Reconfigured alarm 'testAlarm' on Datacenter.  \n \nModified:  \n \ninfo.expression.expression: ((comparisons "

}

This payload is parsed by Opsgenie as:

{
    "alarmValue": "Event details",
    "declaringSummary": "([Event alarm expression: Alarm created; Status ",
    "eventDescription": "Reconfigured testAlarm 'testAlarm' on Datacenter.  \n \nModified:  \n \ninfo.expression.expression: ((comparisons ",
    "eventDatacemter": "Datacenter",
    "eventUsername": "VSPHERE.LOCAL\\Administrator",
    "alarmID": "alarm-310",
    "alarmName": "OpsgenieAlarm",
    "newStatus": "Green",
    "oldStatus": "Yellow",
    "targetID": "datacenter-21",
    "targetName": "Datacenter",
    "triggeringSummary": "Event: Alarm reconfigured (1978)\nSummary: Reconfigured alarm 'testAlarmæ' on Datacenter.  \n \nModified:  \n \ninfo.expression.expression: ((comparisons "

}

Sample Alert

2425