diff --git a/pom.xml b/pom.xml index 4b2f30f..c9a4d5c 100644 --- a/pom.xml +++ b/pom.xml @@ -7,7 +7,7 @@ org.graylog.plugins graylog-plugin-pagerduty - 1.3.1-SNAPSHOT + 1.3.2-SNAPSHOT jar ${project.artifactId} diff --git a/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyAlarmCallbackMetadata.java b/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyAlarmCallbackMetadata.java index 766e2dd..f23e98c 100644 --- a/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyAlarmCallbackMetadata.java +++ b/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyAlarmCallbackMetadata.java @@ -50,7 +50,7 @@ public URI getURL() { @Override public Version getVersion() { - return new Version(1, 3, 1, "SNAPSHOT"); + return new Version(1, 3, 2, "SNAPSHOT"); } @Override diff --git a/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyClient.java b/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyClient.java index bf2f4c2..73c08d2 100644 --- a/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyClient.java +++ b/src/main/java/org/graylog2/alarmcallbacks/pagerduty/PagerDutyClient.java @@ -154,13 +154,15 @@ private PagerDutyEvent buildPagerDutyEvent(final Stream stream, final AlertCondi final String description = "[ " + stream.getTitle() + " ] " + checkResult.getResultDescription() + " - " + buildStreamLink(clientUrl, stream); + final List backlog_items = getAlarmBacklog(checkResult); + final String backlog_summary = getAlarmBacklogSummary(backlog_items); return new PagerDutyEvent( serviceKey, "trigger", description, incidentKey, clientName, buildStreamLink(clientUrl, stream), ImmutableMap.of( "stream_id", stream.getId(), "stream_title", stream.getTitle(), "backlog", checkResult.getTriggeredCondition().getBacklog(), - "search_hits", getAlarmBacklog(checkResult).size(), + "hits", backlog_summary, "alert_description", alertDescription ), ImmutableList.of( @@ -173,6 +175,19 @@ private PagerDutyEvent buildPagerDutyEvent(final Stream stream, final AlertCondi ); } + protected String getAlarmBacklogSummary(List messages) { + final StringBuilder sb = new StringBuilder(); + for (Message message : messages) { + final String msg = message.getMessage(); + if (msg.length() > 225) { + sb.append("Message: {").append(msg.substring(0, 255)).append("... } "); + } else { + sb.append("Message: {").append(msg).append("} "); + } + } + return sb.toString(); + } + protected List getAlarmBacklog(AlertCondition.CheckResult result) { final AlertCondition alertCondition = result.getTriggeredCondition(); final List matchingMessages = result.getMatchingMessages();