[RESOLVED] Error: "Attempted to create unknown action type pagerduty." when trying to update a watcher in Kibana

(Victor) #1

Elasticsearch cluster has been upgraded from version 6.3.4 to 6.6.0 and it looks like now I cannot update the watchers that have "pageduty" action configured:

  • open a watcher editing in Kibana, change something in the Watch JSON and press "Save"
  • nothing changes and the editing mode remains open

When checking the browser console, I can see the following error being logged every time I press "Save" button:

Error: "Attempted to create unknown action type pagerduty."
    createAction           https://kibana.server.com/bundles/kibana.bundle.js:2 
    createActionsForWatch  https://kibana.server.com/bundles/kibana.bundle.js:2
    createActionsForWatch  https://kibana.server.com/bundles/kibana.bundle.js:2
    onWatchSave            https://kibana.server.com/bundles/kibana.bundle.js:2
    fn                     https://kibana.server.com/dlls/vendors.bundle.dll.js line 434 > Function:4
    callback               https://kibana.server.com/dlls/vendors.bundle.dll.js:434
    eval                   https://kibana.server.com/dlls/vendors.bundle.dll.js:434
    apply                  https://kibana.server.com/dlls/vendors.bundle.dll.js:434 
    ngEventHandler         https://kibana.server.com/dlls/vendors.bundle.dll.js:434 
    dispatch               https://kibana.server.com/dlls/vendors.bundle.dll.js:149
    handle                 https://kibana.server.com/dlls/vendors.bundle.dll.js:149 

Watcher's action is specified like that:

...
"actions": {
    "notify-slack": {
      "throttle_period_in_millis": 900000,
      "slack": {...}
    },
    "notify-pagerduty": {
      "throttle_period_in_millis": 1800000,
      "pagerduty": {
        "description": "During last 10 mins encountered {{ctx.payload.hits.total}} errors in XXX",
        "client": "Kibana",
        "client_url": "https://kibana.server.com/goto/4ca19da8257d016047a7aea66b08f5a8",
        "attach_payload": false,
        "account": "api_service",
        "contexts": [
          {
            "type": "link",
            "href": "https://kibana.server.com/goto/4ca19da8257d016047a7aea66b08f5a8",
            "text": "View the incident in Kibana"
          }
        ]
      }
    }
  }
}

When I am simulating the watch, it gives the status "OK", but the pagerduty action is missing, even if I force-execute it.

The same issue is observed when I am trying to create a new watcher by copy-pasting the JSON configuration there. However, the saving does work if I use the example template pre-filled into the editor when creating a new watcher.

Any idea what might be wrong? :thinking:

(Victor) #2

Additional info that might be related. The cluster is deployed into Elastic Cloud and it has the "User setting overrides" specified as:

xpack.notification.pagerduty:
  account:
    api_service:
      service_api_key: <service-key>
    other_service:
      service_api_key: <service-key>

that should be appended to elasticsearch.yml file when Elasticsearch nodes are being started and, according to https://www.elastic.co/guide/en/elastic-stack-overview/6.6/actions-pagerduty.html#configuring-pagerduty it should still be valid.

(Victor) #3

Playing a bit with Get watch / Put watch APIs shows that the watchers can be updated through that interface. It is Kibana who is for some reason rejects "pageduty" as a valid action type.

Updated the ticket accordingly

(Victor) #4

Created the GitHub issue https://github.com/elastic/kibana/issues/30804 for this case

(Victor) #5

Confirmed to be a valid bug and got fixed for 7.1 release, see https://github.com/elastic/kibana/pull/30043. Until that, API is the way to go

(system) closed #6

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.