Start building your teams, integrate your tools and create on-call schedules.
Start building your teams, integrate your tools and create on-call schedules.
Learn how to configure your profile, get notifications from Opsgenie and view on-call schedules.
Advanced Opsgenie account settings and other reference information
Learn how to receive and manage alerts, create policies and encrypt alert data.
Learn all the ways to create an integration, use Opsgenie's integration framework and check system health with Heartbeats.
Notify the right users, investigate potential causes and take preventive actions to avoid future incidents.
Manage your services, create service relationships, view the service status and report problems.
Learn all the ways to set up Opsgenie actions, create channels and execute actions.
Learn how to use Opsgenie's integration server to connect your internal and external systems.
Analyze Opsgenie activity with global and team reports.
Learn all the ways to log in Opsgenie, set password policies and administer user accounts.
What does Opsgenie offer OP5 Monitor users?
Opsgenie provides a powerful bidirectional integration with OP5. When a new alert - host or service - is created in OP5, a corresponding Opsgenie alert is automatically created, containing rich information about the alert. Opsgenie provides detailed notifications with on-call rotations, scheduling features, and alert escalations. Users choose any of the alert actions of Opsgenie to map to the acknowledge action of OP5.
Functionality of the integration
OP5 to Opsgenie:
When a host or service alert is created on OP5, an alert is created in Opsgenie.
When a host or service alert is closed on OP5, the corresponding alert is closed in Opsgenie.
When a host or service alert is acknowledged on OP5, the corresponding alert is acknowledged in Opsgenie.
Opsgenie to OP5:
If Send Alert Updates Back to OP5 is enabled, actions executed on OP5 alerts are sent to OP5 as acknowledgment action.
This action mapping features are explained in detail in the Action Mapping Feature section below.
Install Opsgenie OP5 Package
Download the latest version of OEC
To download the latest version of OP5 packages, please use readme file of oec-scripts repository.
For OP5 Monitor's Red Hat Based Distributions
Either share the OP5 file to the remote OP5 monitor or copy the link in the opening page and run the following command:
Run the following command :
rpm -i opsgenie-op5-<your_version>.rpm
During upgrades, the rpm package does not overwrite existing configurations. It saves the new default configuration file as opsgenie-integration.conf.rpmnew. Find more information about rpm upgrade config file handling from here.
To update from version 201X-XX-XX to 2.X.X, you must add --force parameter. E.g.:
rpm -U --force opsgenie-integration-<your_version>.rpm
We suggest that you backup your configuration files before updating!
If while installing the rpm package you get an error saying that the package is obsoleted, you need to use "rpm -i opsgenie-op5-<your_version>.rpm --nodeps" instead.
If you get "is already installed" error, use "rpm -i opsgenie-op5-<your_version>.rpm --force" instead.
Adding OP5 Integration in Opsgenie
Go to OP5 Integration page.
Under the Free and Essentials plans, the tabs under the Team dashboard are limited to Main, Integrations, Members, and Activity Stream.
2. Specify who is notified of OP5 alerts using the Teams field. Auto-complete suggestions are provided as you type.
An alternative for Step 1) and Step 2) 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.
3. Copy the integration API key to use for OEC configuration.
4. Click Save Integration.
Opsgenie OP5 Package Configuration in OP5 Monitor
The plugin uses a golang-executable file (included in the plugin as send2opsgenie) to create, acknowledge, and close alerts in Opsgenie. Configure OP5 to execute this file on events to create, acknowledge, and close alerts in Opsgenie.
Setting the apiKey is required. Other configuration parameters are set to defaults that work with OP5.
Copy the API key from the OP5 integration created above. send2opsgenie uses this key to authenticate to Opsgenie. API key is also used to identify the right integration configuration that should be used to process alerts.
If you're using Opsgenie from another domain(eg. EU, sandbox), you should update this configuration.Opsgenie OP5 integration, Advanced Settings page.
Responders field is used to specify which teams should be notified for the OP5 alerts. This field is used to set the default teams field value. Modify to route different alerts to different teams in Opsgenie OP5 integration's Advanced Settings page.
Tags field is used to specify the tags of the alert that created in Opsgenie.
Specifies the full path of the log file. (Default value is /var/log/opsgenie/send2opsgenie.log)
nagios2opsgenie.http.proxy.enabled field is to enable/disable external proxy configuration. The default value is false.
It is the host of the proxy.
It is the port of the proxy.
It is the proxy connection protocol. It may be http or https depending on your proxy servers. Its default value is http.
It is the Proxy authentication username.
It is the Proxy authentication password.
There are three ways to configure golang-executable files:
Configuring from conf file: Configure from /home/opsgenie/oec/conf/opsgenie-integration.conf file. Configuring from conf file will overwrite the configurations made in the script.
Configuring by using Golang Flags: Configure by entering flags to command in the opsgenie.cfg file. Use -apiKey flag for the apiKey and -ns flag for nagios_server name. If multiple OP5 servers are not in use, there is no need to define the nagios server. Using flags overwrites all the other configuration methods mentioned above.
Configure the apiKey from the cfg file as follows:
When apiKey is added to the cfg file, it overrides the apiKey in the config.json file.
To send additional custom arguments, add them after the flags as: customArgName1 customArgValue1 customArgName2 customArgValue2
Parse custom arguments by adding
to wherever is needed in the input fields.
For more information about using raw parameters please visit Dynamic Fields document.
3. Configuring from script: Configure apiKey and nagios_server from send2opsgenie.go script. To use this option, build the script again and put the new executable to /usr/bin directory. Find information about the location of the send2opsgenie.go and how to build a go script in the "Source" section.
Define Opsgenie as Contact
Login to your OP5 monitor.
Go to your /opt/monitor/etc directory where you'll find nagios.cfg.
Add the following line to main Nagios configuration file (nagios.cfg)
4. Reboot the monitor to see the "opsgenie" contact in the contact list.
5. Add the contact "opsgenie" to the OP5 Monitor’s main contact group.
If everything goes well, alerts are created in Opsgenie for every notification created in OP5.
Configure Opsgenie to OP5 Integration (Optional)
Use Opsgenie’s OEC and the OP5 script to update alerts on OP5. This enables deployment of your own scripts/ability to modify the ones provided and execute customized actions on OP5.
To be able to execute actions in OP5, OEC gets the configuration parameters from the configuration file. The configuration file can be found under /home/opsgenie/oec/conf/config.json.
url – OEC posts alert actions to an endpoint which is constructed using this URL.
username – OEC uses your OP5 account's username to authenticate.
password – OEC uses your OP5 account's password to authenticate.
The package that you downloaded also includes OEC utility which is located under /usr/local/bin and the script that is needed to be run by OEC which is under /home/opsgenie/oec/scripts. After the configuration of OEC is done, you need to run it. In order to learn more about how to run OEC, you can refer to the Running OEC documentation.
FAQ and Troubleshooting
If the integration is not working, please check if the problem being experienced is mentioned below, and follow our advice:
1- OP5 alerts are not getting created in Opsgenie:
Run the following test command from the shell. Check if the test alert is created in Opsgenie:
/home/opsgenie/oec/opsgenie-op5/send2opsgenie -entityType=host -t=PROBLEM -hs=DOWN -hn=test_host
If a "Trace/breakpoint trap" error occurs: It means the send2opsgenie plugin isn't compatible with the server distribution. Follow the "Source and Recompiling send2opsgenie" section below and rebuild send2opsgenie.go according to the specific server environment.
If the alert is created in Opsgenie: It means the integration is installed correctly. The problem might be that OP5 is not notifying the Opsgenie contact for alerts. Check the OP5 alert notifications log.
If not: Check the log files under /var/log/opsgenie. Look for the following errors in the log file:
If a "RestException[Could not authenticate.]" error appears in the logs, it means Opsgenie couldn't identify your API key. Check if the API key is set correctly, as explained in "Opsgenie OP5 Package Configuration in OP5 Monitor" above.
If "Could not execute this action with apiKey of [OP5] integration" appears in the logs, the wrong integration package may have been downloaded. Make sure to download the OP5 integration package.
If unsure of the problem, set the plugin's log level to debug, try again and send the logs to us with our contact us form.
If there is no log files under /var/log/opsgenie/ file, or there are no logs in it, check the following:
First, make sure the nagios user has permission to write to /var/log/opsgenie directory. The installation package automatically does this for you. If you encounter problems, execute chown -R nagios:opsgenie /var/log/opsgenie.
Now check the OP5 server logs under /var/log/opsgenie/. See if there are error logs regarding send2opsgenie, and contact us with them.
Setting send2opsgenie plugin's log level to DEBUG:
Change the line send2opsgenie.logger=warning to nagios2opsgenie.logger=debug in /etc/opsgenie/conf/opsgenie-integration.conf file.
2- The OP5 alert is not acknowledged when acked in Opsgenie:
First, check your alert logs.
If a "Posted [Acknowledge] action to OP5.." error does not appear in the log, it means Opsgenie didn't send the Acknowledge action to OP5. Check the integration configuration, it might not have matched the alert action.
If a "Executed [Acknowledge] action via OEC with errors." error appears in the log, it means the op5ActionExecutor.groovy script in OEC has encountered an error. Check the log files under /var/log/opsgenie/ for error logs.
If the "Posted [Acknowledge] action to OP5.." is the only error to appear in the log and no related log after that, it might mean OEC is having connection problems. Check the log files under /var/log/opsgenie/ for error logs.
If no logs exist, restart OEC and try sending an Acknowledge action again.
2. If unsure of the problem, set the OEC's script log level to debug, try again and send the log files under /var/log/opsgenie/ to us with our contact us form.
Source and Recompiling send2opsgenie
The source for the executable send2opsgenie is located under /usr/bin/ and send2opsgenie.go is located under /etc/opsgenie/ and is also available at GitHub Opsgenie Integration repository. To change the behavior of the executable, edit send2opsgenie.go and build it using:
go build send2opsgenie.go
Refer to http://golang.org/doc/install/source. Note that send2opsgenie is built for linux/amd64 systems.
Action Mapping Feature
Opsgenie allows customers to define action mappings between Opsgenie actions and OP5 actions.
To use the Action Mappings feature, provide the information listed below to the integration:
Username: The username of your OP5 account.
Password: The password of your OP5 account.
OP5 Monitor URL: This is the domain name of your OP5 Monitor e.g. https://126.96.36.199
For alerts created by OP5
Use this section to map Opsgenie actions to OP5 actions when the source of the alert is OP5 (i.e When the alert is created by OP5 integration.)
Map different Opsgenie actions to different OP5 actions. For example, acknowledge the alert in OP5, when the alert is acknowledged from OP5. In order to do this, define If alert is acknowledged in Opsgenie, acknowledge in OP5. mapping in Send Alert Updates Back to OP5 section.
Was this helpful?