Get started with Opsgenie as a user
Learn how to configure your profile, get notifications from Opsgenie and view on-call schedules.
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.
When an alarm is created in VMware vCenter, an alert is created in Opsgenie.
If you're using Opsgenie's Free or Essentials plan or if you’re using Opsgenie with Jira Service Management's Standard plan, you can add this integration from your team dashboard only. The Integrations page under Settings is not available in your plan.
Go to Teams and select your team.
Select Integrations on the left navigation and then select Add integration.
Adding the integration from your team dashboard will make your team the owner of the integration. This means Opsgenie will assign the alerts received through this integration to your team only. Follow the rest of the steps in this section to set up the integration.
Go to Settings > Integrations. Search for VMware vCenter and select Add.
Specify who is notified of VMware vCenter alerts using the Responders field. Autocomplete suggestions are provided as you type.
Copy the API Key.
Select Save Integration.
Download Opsgenie VMware vCenter zip file under C:\ directory.
Unzip the file under C:\ directory.
Paste the API Key into C:\opsgenie\opsgenie-integration\conf\opsgenie-integration.conf file.
Run vSphere Client.
In vSphere VClient click Actions.
Select Alarms and then New Alarm.
Under the "Configuration" section, add an action "Run Command" and give the vcenter2opsgenie path.
8. Save the alarm.
The plugin uses a golang-executable file (included in the plugin as vcenter2opsgenie) to create alerts in Opsgenie. Configure VMware 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 VMware vCenter implementations but may need to be modified as well.
apiKey - Copy the API key from the VMware 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 VMware vCenter alerts. This field is used to set the default teams field value. Modify this field to route different alerts to different teams in Opsgenie VMware 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.url - If you're using Opsgenie from another domain(eg. EU, sandbox), you should update this configuration.
There are three ways to configure golang-executable file:
Configure from C:\opsgenie\conf\opsgenie-integration.conf file. Configuring from conf file overwrites the configurations made in the script.
Configure by entering flags to the command of the notification created in VMware vCenter, which is described in "Configure Triggers in VMware 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.
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.
Create Alert Payload:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"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:
JSON
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
{
"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 "
}
Was this helpful?