mirror of
https://github.com/apache/cloudstack.git
synced 2025-10-26 08:42:29 +01:00
CLOUDSTACK-7610,CLOUDSTACK-7611,CLOUDSTACK-7612: Fixed following bugs in AlertsSyslogAppender 1. Added sync alert. 2. Changed unrecognised alerts are send as unknown instead of null. 3. Added unit tests to cover some more scenarios.
This commit is contained in:
parent
7972f53c8d
commit
4eeae5ad51
@ -49,7 +49,7 @@ public class AlertsSyslogAppender extends AppenderSkeleton {
|
||||
public static final int LENGTH_OF_STRING_MESSAGE = 8;
|
||||
public static final String MESSAGE_DELIMITER_STRING = " ";
|
||||
//add the alertType in this array it its level needs to be set to critical
|
||||
private static final int[] criticalAlerts = {7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20};
|
||||
private static final int[] criticalAlerts = {7, 8, 9, 10, 11, 12, 13, 15, 16, 19, 20, 27};
|
||||
private static final Map<Integer, String> alertsMap;
|
||||
|
||||
static {
|
||||
@ -81,6 +81,7 @@ public class AlertsSyslogAppender extends AppenderSkeleton {
|
||||
aMap.put(24, "unallocatedDirectAttachedPublicIp");
|
||||
aMap.put(25, "unallocatedLocalStorage");
|
||||
aMap.put(26, "resourceLimitExceeded");
|
||||
aMap.put(27, "sync");
|
||||
|
||||
alertsMap = Collections.unmodifiableMap(aMap);
|
||||
}
|
||||
@ -230,7 +231,8 @@ public class AlertsSyslogAppender extends AppenderSkeleton {
|
||||
}
|
||||
|
||||
if (alertType >= 0) {
|
||||
message.append("alertType").append(_keyValueDelimiter).append(" ").append(alertsMap.get(alertType)).append(MESSAGE_DELIMITER_STRING);
|
||||
message.append("alertType").append(_keyValueDelimiter).append(" ").append(alertsMap.containsKey(alertType) ? alertsMap.get(alertType) : "unknown")
|
||||
.append(MESSAGE_DELIMITER_STRING);
|
||||
if (dataCenterId != 0) {
|
||||
message.append("dataCenterId").append(_keyValueDelimiter).append(" ").append(dataCenterId).append(MESSAGE_DELIMITER_STRING);
|
||||
}
|
||||
@ -246,10 +248,10 @@ public class AlertsSyslogAppender extends AppenderSkeleton {
|
||||
if (sysMessage != null) {
|
||||
message.append("message").append(_keyValueDelimiter).append(" ").append(sysMessage);
|
||||
} else {
|
||||
errorHandler.error(" What is the use of alert without message ");
|
||||
errorHandler.error("What is the use of alert without message ");
|
||||
}
|
||||
} else {
|
||||
errorHandler.error(" Invalid alert Type ");
|
||||
errorHandler.error("Invalid alert Type ");
|
||||
}
|
||||
|
||||
return message.toString();
|
||||
|
||||
@ -17,8 +17,8 @@
|
||||
|
||||
package org.apache.cloudstack.syslog;
|
||||
|
||||
import static junit.framework.Assert.assertEquals;
|
||||
import static junit.framework.Assert.assertTrue;
|
||||
import static org.junit.Assert.assertEquals;
|
||||
import static org.junit.Assert.assertTrue;
|
||||
|
||||
import javax.naming.ConfigurationException;
|
||||
|
||||
@ -41,6 +41,12 @@ public class AlertsSyslogAppenderTest {
|
||||
assertEquals(" error Syslog Appenders list size not as expected ", 2, _appender._syslogAppenders.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setSyslogAppendersWithPortTest() {
|
||||
_appender.setSyslogHosts("10.1.1.1:897,10.1.1.2");
|
||||
assertEquals(" error Syslog Appenders list size not as expected ", 2, _appender._syslogAppenders.size());
|
||||
}
|
||||
|
||||
@Test
|
||||
public void setSyslogAppendersNegativeTest() {
|
||||
//setting invalid IP for Syslog Hosts
|
||||
@ -57,4 +63,24 @@ public class AlertsSyslogAppenderTest {
|
||||
createdMessage.contains("alertType:: managementNode" + AlertsSyslogAppender.MESSAGE_DELIMITER_STRING + "message:: Management server node 127.0.0.1 is up"));
|
||||
assertTrue("severity level not as expected ", createdMessage.contains("WARN"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void appendUnknownTest() {
|
||||
String message = "alertType:: 40 // dataCenterId:: 0 // podId:: 0 // clusterId:: null // message:: Management" + " server node 127.0.0.1 is up";
|
||||
_appender.parseMessage(message);
|
||||
String createdMessage = _appender.createSyslogMessage();
|
||||
assertTrue(" message is not as expected ",
|
||||
createdMessage.contains("alertType:: unknown" + AlertsSyslogAppender.MESSAGE_DELIMITER_STRING + "message:: Management server node 127.0.0.1 is up"));
|
||||
assertTrue("severity level not as expected ", createdMessage.contains("WARN"));
|
||||
}
|
||||
|
||||
@Test
|
||||
public void appendFirstAlertTest() {
|
||||
String message = "alertType:: 0 // dataCenterId:: 0 // podId:: 0 // clusterId:: null // message:: Management" + " server node 127.0.0.1 is up";
|
||||
_appender.parseMessage(message);
|
||||
String createdMessage = _appender.createSyslogMessage();
|
||||
assertTrue(" message is not as expected ",
|
||||
createdMessage.contains("alertType:: availableMemory" + AlertsSyslogAppender.MESSAGE_DELIMITER_STRING + "message:: Management server node 127.0.0.1 is up"));
|
||||
assertTrue("severity level not as expected ", createdMessage.contains("WARN"));
|
||||
}
|
||||
}
|
||||
Loading…
x
Reference in New Issue
Block a user