package com.taobao.tddl.monitor.utils; import com.taobao.tddl.monitor.logger.LoggerInit; import com.taobao.tddl.common.utils.logger.Logger; public class NagiosUtils { private static final Logger nagiosLog = LoggerInit.TDDL_Nagios_LOG; public static final String KEY_DB_NOT_AVAILABLE = "DB_NOT_AVAILABLE"; // 数据库不可用,KEY前缀+dbindex public static final String KEY_SQL_PARSE_FAIL = "SQL_PARSE_FAIL"; // 业务执行了特殊的SQL造成解析失败 public static void addNagiosLog(String key, String value) { key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); value = value.replaceAll(":", "_"); value = value.replaceAll(",", "|"); innerAddNagiosLog(key, value); } public static void addNagiosLog(String key, int value) { key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); innerAddNagiosLog(key, Integer.toString(value)); } public static void addNagiosLog(String key, long value) { key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); innerAddNagiosLog(key, Long.toString(value)); } public static void addNagiosLog(String host, String key, String value) { host = host.replaceAll(":", "_"); host = host.replaceAll(",", "|"); key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); value = value.replaceAll(":", "_"); value = value.replaceAll(",", "|"); innerAddNagiosLog(host, key, value); } public static void addNagiosLog(String host, String key, int value) { host = host.replaceAll(":", "_"); host = host.replaceAll(",", "|"); key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); innerAddNagiosLog(host, key, Integer.toString(value)); } public static void addNagiosLog(String host, String key, long value) { host = host.replaceAll(":", "_"); host = host.replaceAll(",", "|"); key = key.replaceAll(":", "_"); key = key.replaceAll(",", "|"); innerAddNagiosLog(host, key, Long.toString(value)); } private static void innerAddNagiosLog(String key, String value) { StringBuilder sb = new StringBuilder(); sb.append(key); sb.append(":"); sb.append(value); nagiosLog.info(sb.toString()); } private static void innerAddNagiosLog(String host, String key, String value) { StringBuilder sb = new StringBuilder(); sb.append(host); sb.append("_"); sb.append(key); sb.append(":"); sb.append(value); nagiosLog.info(sb.toString()); } }