Skip to main content

Data ingestion

Feed event and metric data into APEX AIOps Incident Management

BASIC | 8 MIN

Learn how to use the CYOI feature to configure a custom integration. This video covers:

  • When to use the custom integration option

  • Ingest data in JSON format into APEX AIOps Incident Management

  • Map data from your monitoring software to Incident Management event fields

  • Set up and test a deduplication key to reduce operational noise

Demo video: Create a custom integration ►

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

After watching this video, you will be able to configure a custom integration to bring data from your monitoring source into Incident Management. You will be able to identify when to choose this over other integration options, ingest data in JSON format into Incident Management, map data from your monitoring software to Incident Management event fields, and set up and test a deduplication key to reduce operational noise.

1_CYOI.png

Incident Management offers a few different ways to ingest source data. You can install a data collector to the system you want to monitor...

1_CYOI7_25.png

...or integrate with specific monitoring tools.

2_CYOI7_25.png

Or you can build your own custom integration. You should choose a custom integration when there is no collector for your environment, and there is no specific integration available for your monitoring tool.

3_CYOI7_25.png

Creating your own integration has several benefits. First, you are not limited to particular monitoring tools. You can set up a custom integration with any monitoring source that can send data in JSON format.

5_CYOI.png

Second, you will use real data to design and test your integration. The Create Your Own Integration feature makes it easy to inspect source data before you map it.

4_CYOI7_25.png

And finally, creating a custom integration is simple. When you configure a webhook in a monitoring tool, you usually have to write code to modify the outgoing data payload. The Create Your Own Integration feature does all the mapping right in the Incident Management user interface, with no code.

5_CYOI7_25.png

After you have ingested data using a custom integration, you can transform and enrich it using the Incident Management Workflow Engine.  Still without writing any code.

6_CYOI7_25.png

Let’s step through setting up a custom integration together. Let’s say we have source data in JSON format that’s structured like this:

8_CYOI.png

We want to ingest the events so we can deduplicate and correlate them in Incident Management.

9_CYOI.png

And we need to map them to the Incident Management event fields.

10_CYOI.png

We also want to map the values for severity. Our source events only have four severity levels: NONE, INFO, WARN, and PROBLEM. We want to map these values to Incident Management severity levels like this.

11_CYOI.png

This is where you can set up a custom data ingestion. We are going to set up a new integration. Our source data in this example events, but note that we support metrics also.

7_CYOI7_25.png

We just created a custom endpoint for our integration.

8_CYOI7_25.png

Grab that, and the API Key for our Incident Management instance which is found here.

9_CYOI7_25.png

We’ve input those values in the source system. And now, Incident Management is receiving raw data from our source. Note that up to 10 of the most recent events are cached. You can click the reload button to refresh the list of data payloads.

10_CYOI7_25.png

We can examine the data for each event here.

11_CYOI7_25.png

Note that some of these events have blank hostnames, and for some the hostnames are populated.

12_CYOI7_25.png

Let’s see how the payload and target fields line up. Incident Management automatically matched the obvious ones.

13_CYOI7_25.png

We don’t have a value for source, which is a required field.  So we need to map something to that field.

14_CYOI7_25.png

Let’s look at the data again. We want to map hostname to source, but we know it’s blank in some cases, and required fields can’t be blank.

15_CYOI7_25.png

Let’s do this. We’ll map hostname to source if it exists, and if not we’ll use ip_address.

16_CYOI7_25.png

We’ll map hostname to source first. Then we’ll add a second mapping, and map ip_address. Incident Management will use the first mapping if a value exists and is valid. Otherwise, it will move on and use the next mapping.

17_CYOI7_25.png

This defines the condition that generates the event.

18_CYOI7_25.png

We’ll map the Type field to check.

19_CYOI7_25.png

Next let’s take care of the severity. Our monitoring service has only four severity levels: NONE, INFO, WARN, and PROBLEM. So we’ll map them to the Incident Management severity levels like this...

20_CYOI7_25.png

With that we took care of all the required fields. Let’s see what other fields we might want to bring in. Let’s say we want to keep region. And let’s add a custom tag for ip_address.

21_CYOI7_25.png

The last step before we save our integration is to configure the deduplication key. Here’s how deduplication works. Incident Management uses the fields in the deduplication key to assign multiple events to the same alert and reduce noise. The idea behind deduplication is that events with the same context should become part of the same alert.

27_CYOI.png
28_CYOI.png

For example, we might find out about a condition that affects one of our hosts with a warning event, which then escalates to a critical event. Since the key context is the same, Incident Management would assign those events to the same alert.

29_CYOI.png

Here comes another event, and since the dedupe key is different, it is categorized into a separate alert. Like this, selecting the right fields for your use case is the key factor for successful deduplication. The default is set to be the combination of the Source, Service, and Check fields, but you can select what works for you.  Just ask yourself, what should be the common factors for two events to be considered duplicates.

30_CYOI.png

Going  back to our custom integration, these are the default fields for deduplication. You can change them if you wish, but Incident Management recommends you use the defaults unless your business needs require that you use different fields.

22_CYOI7_25.png

In our case we don’t have a value for class, so we’ll remove that from the default keys.

23_CYOI7_25.png
24_CYOI7_25.png

Let’s test. Success! Here are the resulting deduplication keys.

25_CYOI7_25.png

Based on these values, some of the events have been assigned to the same alert.

26_CYOI7_25.png

Our custom integration is ready to go. Let’s save and activate it.  Note that it will stay in provisioned status until Incident Management processes an event.

27_CYOI7_25.png

The monitoring data is flowing into Incident Management through our custom integration. Thanks for watching!

28_CYOI7_25.png

INTERMEDIATE | 7 MIN

This video explains and demonstrates how to install and run a collector on a Linux machine using a forward proxy. This video also explains and demonstrates how to install and run a collector on a Linux machine using a reverse proxy.

Demo video: How to install a collector using a forward proxy ►

This video explains how to install and run an APEX AIOps Incident Management Collector using a forward proxy on a Linux system.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

Hello everyone! My name is Robert Pomichter and I'm a backend engineer on the Jawa team at Dell Technologies. Today, I will explain and demonstrate how to install and run a collector on a Linux machine using a forward proxy.

This tutorial assumes that a forward proxy is already in place. As we can see, currently, there is a Squid web Proxy Server actively running on this machine.

1_Collector_Proxy.png

On the machine which we wish to install the collector, we should first export an environment variable called https_proxy, like so. The value should be equal to the public IP and port of the proxy.

2_Collector_Proxy.jpg

Verify the https_proxy environment variable exists using the echo command.

3_Collector_Proxy.jpg

Once the initial setup is complete and you've provisioned an instance of Incident Management, navigate to Integrations, Ingestion Services, Collectors, and Installation Tab. Choose either MacOS, Linux, or Windows. For the purposes of this demonstration, we’ll be choosing the Linux operating system.

1_Collector_ProxyFIX.jpg

Then navigate back to the terminal on which we wish to install the collector. Paste the installation command in the terminal. As it currently exists, we need to make a few edits to this command.

2_Collector_ProxyFIX.jpg

First, we'll supply an additional query parameter called proxy_url. This value should be equal to the https_proxy.

3_Collector_ProxyFIX.jpg

It looks like the collector has finished installing.

6_Collector_Proxy.jpg

We can check the logs. Use the tail command to specify the number of lines from the logs we wish to print.

7_Collector_Proxy.jpg

The health checks passed.

8_Collector_Proxy.jpg

Here we have our Linux collector. Of course, this is only one option we can use to install a collector behind a forward proxy.

9_Collector_Proxy.jpg

Let's clean up this collector and try another approach to install a collector behind a forward proxy. First, we'll delete this collector. Next, we'll do some cleanup on the terminal.

10_Collector_Proxy.jpg

Remove the collector directory. The collector directory has been removed and the Collector has been stopped.

11_Collector_Proxy.jpg

Verify the collector has been stopped using the following command.

12_Collector_Proxy.jpg

The only process of the collector running is the grep. This means the collector has stopped.

13_Collector_Proxy.jpg

While it's acceptable to export an environment variable called https_proxy to utilize the proxy, this isn't always necessary. First, let's unset the environment variable…

14_Collector_Proxy.jpg

…and verify that the unset worked. There's no value for https_proxy, so currently the environment variable is not set.

15_Collector_Proxy.jpg

Click Linux (and copy).

4_Collector_ProxyFIX.jpg

Once again, we need to make a few edits to the script. The first is, of course, adding the additional query parameter. Since we no longer have the environment variable handy, we'll need to specify it.

5_Collector_ProxyFIX.jpg

Additionally, we'll need to add something to this curl request. To route the curl request successfully through the forward proxy, add the following.

6_Collector_ProxyFIX.jpg

And now hit enter. It looks like the installation is complete.

19_Collector_Proxy.jpg

Once again, we can check the collector logs. It looks like the health checks passed.

20_Collector_Proxy.jpg

Once again, we have a Linux machine.

21_Collector_Proxy.jpg

We can verify that the traffic properly passed through the forward proxy by checking the forward proxy access logs. Verifying the access logs, we see traffic coming from IP address 3.144.220.141, the machine on which we installed the collector. Traffic was passed from this IP address using the connect method to the Incident Management instance.

22_Collector_Proxy.jpg

We can verify the time on which this occurred using the following command. This is a UTC time. This is roughly five hours ahead of my time zone, which is 12:56.

23_Collector_Proxy.jpg

This demonstrates that all traffic was properly routed through the forward proxy. Now, we will explain and demonstrate how to install a collector on a Linux machine using a reverse proxy. This tutorial assumes that a reverse proxy is already in place. As we can see, this machine is actively running an nginx reverse proxy.

24_Collector_Proxy.jpg

Copy the installation script and navigate back to the terminal.

7_Collector_ProxyFIX.jpg

We'll need to make a few edits. First, we'll supply an additional query parameter called base_url. This should be equal to the value specified in the nginx configuration file.

8_Collector_ProxyFIX.jpg

Next, we'll need to change the base_url currently being exported. This value once again should be equal to the same value we specified as the query parameter.

9_Collector_ProxyFIX.jpg

Since we have a trailing forward slash, we'll need to remove the trailing forward slash from the curl request.

10_Collector_ProxyFIX.jpg

Now we can hit enter. The installation is complete. Thanks for watching!

29_Collector_Proxy.jpg

BASIC | 2 MIN

Do you know how to install a Incident Management collector? If not watch this demo.

Demo video: Install an APEX AIOps Incident Management Collector ►

This video explains how to Install an APEX AIOps Incident Management Collector on an Amazon EC2 instance running Docker.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

In this demo, we are going to install the APEX AIOps Incident Management collector to an EC2 instance that's running Docker. 

Collector.png

Here's the installation script.

1_Collector.png

It sets the API key...

2_Collector.png

And the controller variable...

3_Collector.png

...then downloads the installer script and plugs in those variables.

4_Collector.png

There's one more variable to be set, but we have to run this script first.

5_Collector.png

The install script is downloading now.

6_Collector.png

Here’s a prompt to set the file location variable.  Note that the file location will be different based on whether you are installing the collector as a root user or not.

7_Collector.png

Saving this is not a requirement.  But if you want to start, stop, and reload the collector later, either put this variable in one of your Linux startup config files, or export it like this.

8_Collector.png

Here’s the collector we just installed.

9_Collector.png

By default only the System plugin is enabled.

10_Collector.png

Let’s enable the Docker plugin. You can apply a filter to exclude certain container ID prefixes if you want.

11_Collector.png

And now we enabled the Docker plugin. Let’s check if the metrics are flowing in. A wide variety of metrics are available. These came from the docker plugin we just enabled,,and they include container, memory cpu, network, and block IO stats.

12_Collector.png

These came from the system plugin that was enabled by default.

13_Collector.png

Each of these metrics come with a variety of useful tags that you can use for troubleshooting or correlating alerts when something happens.

14_Collector.png

Now you know how to install a collector. Thanks for watching!

BASIC | 7 MIN

After watching this video, you will be able to set up a template in AppDynamics to send data to Incident Management, configure a JSON payload to map AppDynamics data to Incident Management event fields, and define an AppDynamics policy to forward health rule violations and other issues to Incident Management.

Demo video: Integrate with AppDynamics ►

This video explains how to set up the AppDynamics integration in APEX AIOps Incident Management.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

After watching this video, you will be able to configure AppDynamics to send events to the Incident Management API. Specifically, you will know how to:

  • Set up a template in AppDynamics to send data to Incident Management

  • Configure a JSON payload to map AppDynamics data to Incident Management event fields

  • Define an AppDynamics policy to forward health rule violations and other issues to Incident Management

1_AppD.png

Here’s our scenario. We want to collect application performance data from AppDynamics so we can deduplicate and correlate it in Incident Management.

2_AppD.png

You need two pieces of information to set up this integration: the APEX AIOps Incident Management URL and the API key.

1_AppD.png

Let’s go to your AppDynamics instance. Let’s say from the application you instrumented, we want to collect health and performance anomalies.

4_AppD.png

We are going to start by defining a new HTTP request template. With this template, we can set up an outbound webhook from AppDynamics to Incident Management. Name the template...

5_AppD.png

...and enter the POST method, and the URL from your Incident Management AppDynamics integration.

6_AppD.png

We need some custom request headers to accompany our data payload. The content type is application/json. And here is where we enter the apiKey from Incident Management.

7_AppD.png

Setting up the data payload is a pretty involved task, so let me park this for now and take care of the rest of the template first.

8_AppD.png

Here’s where you configure the response settings. Plug in the failure codes here. And the success codes here. A 200 means Incident Management accepts the data payload.

9_AppD.png

We’ll leave the rest of the settings the same. So that’s the template. Now let’s drill down into the payload setup section we skipped. Here’s a sample script from the Incident Management documentation.  You can use this to map the AppDynamics data fields to those in Incident Management.

10_AppD.png

You do not need to map every single source data field.  If the field value is not useful for deduplication, correlation, or troubleshooting, you can leave that field unmapped and drop the data.

11_AppD.png

Here’s a common use case. Service is an important field, but the source data from AppDynamics doesn’t contain that information. You are planning to get that information from a CMDB. What you can do in such a case, is to provide a default placeholder text. Then set up an event enrichment workflow to replace the placeholder value with the real information.

13_AppD.png

Let’s take a look at the sample script. The first part cleans up the AppDynamics messages.

14_AppD.png

The next parts extract and define the fields we want.

15_AppD.png

Here, we’re defining the Incident Management event object using the values extracted above.

16_AppD.png

Let’s copy this script into the payload section of the template. Set the type to application/json.

17_AppD.png

Our HTTP Request Template is ready. Here’s a tip. You need to save this first before you can test it. Now we can test it. What if the source event in AppDynamics said there’s a health rule violation...It says the event was successfully posted.

18_AppD.png

Let’s check on the Incident Management side. Here it is, a health rule violation alert is received!

2_AppD.png

Lastly, we are going to set up trigger logic to invoke the webhook when AppDynamics detects an  issue. To do that, we need to create an Incident ManagementAppDynamics Policy. We’ll name it .

20_AppD.png

Here’s the trigger logic we want.

21_AppD.png

When there are health rule violations, we want to trigger an action... which is to invoke our HTTP request template and send data to Incident Management.

22_AppD.png
23_AppD.png
24_AppD.png

Now you know how to set up a webhook integration with AppDynamics. In this demo we have configured only one application, but if you have a large AppDynamics implementation you can copy your configuration across multiple applications and controllers. Contact your AppDynamics support team for information about the AppDynamics Configuration Exporter utility. Thanks for watching!

3_AppD.png

BASIC | 4 MIN

This video demonstrates how to integrate AWS CloudWatch with APEX AIOps Incident Management.

Demo video: Integrate with Amazon CloudWatch ►

This video explains how to set up the Amazon CloudWatch integration in APEX AIOps Incident Management.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

In this video, we will go over how to integrate Amazon CloudWatch and send the data to Incident Management.

The instruction documentation is conveniently located right here.

1D1096E5-CD66-44E5-B882-7415980E66B4.jpeg

We are going to add our AWS credentials.

B5782DD3-DC32-4427-8D07-B0E0481EE768.jpeg

We need to create a policy and a role in AWS to complete the configuration. To do so, we need this JSON script from Incident Management.

114225CF-121A-4DAF-B897-97A2B25B2F81.jpeg

Grab this JSON script.

BF0C9E88-603E-4261-B594-98737D2385F8.jpeg

And now we are going to AWS.

Navigate to the policy section.

img-0DB281FB-FB0B-475E-87EE-A061A3E3492E.jpeg
68C00B9E-CD08-496D-AA8F-7988E4DA7C69.jpeg
4DFC513A-37C2-4A57-BD48-BA12CB5222AA.jpeg

Paste the JSON script we grabbed from Incident Management...

48E3BF8D-62AE-486F-8E3A-0800192D7E01.jpeg

...and provide a meaningful name.

5CFB3310-B9AA-49AD-A41C-B9A1ED6A92E1.jpeg

Now we got the policy. Let's create the role now.

A2712723-CAA2-475B-A676-ED6AFF7B0C52.jpeg

"Another AWS Account" is what we need here.

B6297430-F07F-4984-943F-112D9F9C1539.jpeg

We need to provide the APEX AIOps Incident Management AWS account number here.

B2F55669-6D3A-4CAC-B7B2-7CF772373311.jpeg

Let's go back to Incident Management. Copy this...

FE668783-9AB4-4E25-B12C-73A746CD88BB.jpeg

And paste it here.

B2F55669-6D3A-4CAC-B7B2-7CF772373311.jpeg

Next, check "Require External ID". We need to grab it from Incident Management. Here it is.

25539DAE-BDF5-4782-AAC0-543FE25CD96A.jpeg
CE01CB58-D13A-430F-AADF-46DD739C6CDB.jpeg

To this role we are creating, we need to associate the policy that we just created. Let me search by the name I gave that policy.

95428D77-4182-4EE1-B0B3-79C7CF1E00EF.jpeg

Lastly, provide a name for the role.

78B0AFE4-DFEA-472C-8612-CE7F0ED48920.jpeg

And now we have the role created.

Let's go back to Incident Management and plug in the new role information. Here's the name of the role, and here's the AWS account number.

799476B5-3642-439C-8D1D-415EE029209D.jpeg

And the new credentials are now available for use.

743FE3BE-E5E3-49EB-A6DC-52CF0A2C197F.jpeg

Select a region, and test.

It works! Now, the data from Cloudwatch will start to flow into this instance of Incident Management.

Thanks for watching!

BASIC | 4 MIN

After watching this video, you will be able to create an integration to ingest New Relic incidents and set up a webhook in New Relic.

Demo video: Send events to APEX AIOps Incident Management from New Relic ►

This video explains how to set up the New Relic integration in APEX AIOps Incident Management.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

After watching this video, you will be able to create an integration to ingest New Relic incidents and set up a webhook in New Relic.

Here’s our scenario. We want to ingest alerts identified by New Relic so we can deduplicate and correlate them in Incident Management.

1_New_Relic.png

Here’s the New Relic integration.

2_New_Relic.png

The API is provisioned. We’ll make it active after we finish setting it up.

3_new_Relic.png

Next we are going to get data from New Relic. Incident Management will cache up to 10 New Relic events until the integration is active. These counters show how many payloads we’ve received - so far, in this case, none.

4_New_Relic.png

These are what we need.

5_New_Relic.png

Now going back to New Relic. We’ll start by configuring a notification channel to send issues to Incident Management.

6_New_Relic.png

The channel type is webhook.

7_New_Relic.png

...and this is where you paste the Incident Management Endpoint API URL we grabbed.

8_New_Relic.png

We need some custom request headers for our data payload. The content type is application/json.

9_New_Relic.png

And here is where we enter the apiKey.

10_New_Relic.png

We’ll use the default New Relic output, so we don’t need to set up a custom data payload and test these settings. Good!

11_New_Relic.png

Make sure to add this notification to the New Relic policy associated with the alerts you want to send to Incident Management.

12_New_Relic.png

The test notification showed up in Incident Management.

13_New_Relic.png

Here's the JSON payload from the test notification.

14_New_Relic.png

Field mapping is preconfigured to make it easy for you.

15_New_Relic.png

Optionally, at this point, you can also pick the deduplication key. Incident Management uses the dedupe key value to combine events with the same context into a single alert, while updating the alert fields that change over time like description and status. By default Incident Management uses the combination of source, class, service, and check fields. We’ll keep the defaults...

16_New_Relic.png

And test the deduplication key. Looks good! Now when another event with the same value for this field comes in, Incident Management will update alert fields like latest event arrival time and severity, as needed.

17_New_Relic.png

Our integration activates with data flowing in.

18_New_Relic.png

Now we can see our data from New Relic in the  Alert view. Thanks for watching!

19_New_Relic.png

BASIC | 4 MIN

After watching this video, you will be able to integrate Zabbix with APEX AIOps Incident Management. This video covers how to define a Incident Management media type for Zabbix, set up a Incident Management user, and define an action to send events. Note, this demo uses Zabbix version 5.4.

Demo video: Integrate with Zabbix ►

This video explains how to set up the Zabbix integration in APEX AIOps Incident Management.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

After watching this video, you will be able to configure an integration to send events from Zabbix into Incident Management.

This demo uses Zabbix version 5.4, which may be different from your instance.  But it should orient you enough to make it easy. Let’s get started!

1_Zabbix.png

Name your integration, then grab the APEX AIOps Incident Management Endpoint and API key.

2_Zabbix.png

You also need a Zabbix media type file, which is available in our docs.

3_Zabbix.png

OK we have everything we need to make this happen.  Let’s go to our Zabbix instance. Import the media type file we just downloaded.

4_Zabbix.png

Then add the API key and the APEX AIOps Incident Management Endpoint.

5_Zabbix.png

This part of the media type definition maps Zabbix field names to Incident Management fields.

6_Zabbix.png

These fields are required.

7_Zabbix.png

Add optional fields based on your requirements.

8_Zabbix.png

This Javascript uses the mapped parameters to do further refinement, and compose the JSON payload to Incident Management. You can edit the script to add optional fields.

9_Zabbix.png

Let’s test to make sure it works. Looks good. The media type task is done.

10_Zabbix.png

Next, we need to create a user to receive event notifications using our Incident Management media type.

11_Zabbix.png

Then add the user to a  group to grant the right level of access. The Incident Management user won’t need access to the Zabbix front end, so we’ll choose this one.

12_Zabbix.png

The password is required but it won’t be used, so you can enter anything here.

13_Zabbix.png

This user needs to be able to use the Incident Management media type. This will send event notifications directly to Incident Management.

14_Zabbix.png

And this user needs a super admin role.

15_Zabbix.png

The user definition task is done.Now we have the pathway to Incident Management all set up. Next we want to add the trigger logic to use that pathway when events happen. We’ll do that by defining an action. You can update existing actions or define custom actions to trigger on specific problems, but here we’ll simply define an action to send all events to Incident Management.

16_Zabbix.png

If we wanted to restrict the severity of events or filter them in some other way, we could define a condition here.

17_Zabbix.png

Let’s say we want to send all events, so we won’t add a condition. Under Operations, specify what happens when an event, recovery, or update occurs.

18_Zabbix.png

We will send a message to the Incident Management user using the media type Incident Management.

19_Zabbix.png

We’ll repeat these settings for recovery and update events and add the action.

20_Zabbix.png

All set. The action definition task is done. Now we can see our Zabbix event data in Incident Management. Thanks for watching!

21_Zabbix.png

BASIC | 5 MIN

Learn how to send sample event and metric data using the Events and Metrics APIs.

Demo video: Use APIs to send sample data into APEX AIOps Incident Management

This video explains how to generate API keys and send API requests to APEX AIOps Incident Management.

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

Use APIs to send sample data into APEX AIOps Incident Management

In this video, you will learn how to generate API keys, make requests to your instance of Incident Management using our APIs, and modify the sample command in the docs and test it.

1_UseAPIsProject.jpg

Suppose you have a monitoring tool collecting metric and event data, and you want to route that data to Incident Management using our APIs.

2_UseAPIsProject.jpg

We can send a test event from here. The Events endpoint is here...

3_UseAPIsProject.jpg

...and the required attributes for the event payload are listed in this section.

4_UseAPIsProject.jpg

Let’s go ahead and send in a test event. You can copy this…

5_UseAPIsProject.jpg

…and paste it in a terminal. Feel free to edit the attributes to make it fit your purposes, and send...Success!

6_UseAPIsProject.jpg

And the event is now in Incident Management.

7_UseAPIsProject.jpg

There's another way to do this. You can build the integration right in our API documentation. Let me show you how.

First, we need an API key to push data to Incident Management. Best practice is to generate a key for each purpose here, so that you can grant and revoke access in a granular manner.

8_UseAPIsProject.jpg

Let’s generate a key for us.

Make sure the name and description make sense to other administrators. Here’s our key.  For security reasons, you will not be able to reference it once you move away from this screen, so make sure you copy it.

9_UseAPIsProject.jpg

Next, open up the Incident Management API documentation and navigate to the Event API section. This is the endpoint for the Events API.

10_UseAPIsProject.jpg

And you get sample code in a variety of languages.

11_UseAPIsProject.jpg

Plug in the API key you generated earlier. Now the sample code includes your key, so it will send requests to your own instance of Incident Management.

12_UseAPIsProject.jpg

You can modify the sample code to make it fit your purpose. Let’s send this request and see what we get. Success!

13_UseAPIsProject.jpg

Continue editing and testing here, and when you are done, you could send it from here, or copy and paste the resulting code into a CLI. We could also build shell scripts to add additional logic and conditionals that we simulated in the api docs site.

Metrics API works the same way. You can extend the sample and test it here.

14_UseAPIsProject.jpg

Now you know how to take advantage of our API documentation. Thanks for watching!

BASIC | 3 MIN

Your source payloads may include multiple events sent in a "batch" under a single object. In such cases, you can use batch processing to identify the top-level object and map event fields for individual events. Watch a video to learn how. Also, read the documentation on the topic here.

Demo video: Use the Create Your Own Integration API to send batch event data into APEX AIOps Incident Management

*Please note Moogsoft is now part of Dell's IT Operations solution called APEX AIOps, and changed its name to APEX AIOps Incident Management. The UI in this video may differ slightly but the content covered is still relevant.

In this video, you will learn how to create a custom integration to process multi-event data payloads, use Incident Management documentation to build sample data to test your integration, and understand the JSON structure of batch event payloads.

For this demo, let's use the Create Your Own Integration ingestion service, which allows you more flexibility over the fields to ingest, as well as the mapping.

1_Batch.jpg

Let me show you how it works. Give it a meaningful name, and add a description. Select Events.

2_Batch.jpg

Now we have a Incident Management endpoint, as well as the API Key.  We will need these in order to send over our batch events.

3_Batch.jpg

Now open the Incident Management documentation to pick up an example request. This sample curl command posts two events to Incident Management.  Grab and paste it in an editor.

4_Batch.jpg

To make it work with our instance, add your Incident Management endpoint and API key.

5_Batch.jpg

These are all the variables. 

6_Batch.jpg

We are passing in events...

7_Batch.jpg

...which are organized by this key.

8_Batch.jpg

There are a variety of elements in the sample code, and one thing we want to make sure of is that the default fields used for deduplication are available. By default, Incident Management uses the combination of these field values to determine duplicate events, so naturally we want to make sure these fields are included.

9_Batch.jpg

Now copy the curl command, and paste it in a terminal.

10_Batch.jpg

It successfully came in.

11_Batch.jpg

Make sure to enable batch processing, and select the path to the event list.  In this case, it’s events.key.

12_Batch.jpg

Next, map the payload fields to the Incident Management target fields.

Batch.jpg

Since all the fields used for deduplication are in the example payload, we don’t need to do anything for the deduplication key.

13_Batch.jpg

Let’s test.  Success!

14_Batch.jpg

Now you know how to process batch events using the Create Your Own Integration API. Thanks for watching!