<dependency> <groupId>org.appmon4j</groupId> <artifactId>appmon4j-core</artifactId> <version>1.0.0</version> </dependency> import org.appmon4j.core.AbstractMonitor; import org.appmon4j.core.MonitorData; public class CustomMonitor extends AbstractMonitor { private static CustomMonitor instance; public static CustomMonitor getInstance() { if (instance == null) { instance = new CustomMonitor(); } return instance; } protected CustomMonitor() { super("CustomMonitor"); } @Override public MonitorData collectData() { MonitorData data = new MonitorData(); data.put("metric1", getMetric1Value()); data.put("metric2", getMetric2Value()); return data; } private String getMetric1Value() { return "metric1Value"; } private String getMetric2Value() { return "metric2Value"; } } yaml monitors: - name: CustomMonitor thresholds: metric1: [">", 100] metric2: ["<", 50] actions: - name: EmailAction to: [admin@example.com] subject: "Alert: Metrics threshold exceeded" Metric1 value: {{metric1}} Metric2 value: {{metric2}} import org.appmon4j.core.AppMon4j; import org.appmon4j.core.actions.EmailActionFactory; import org.appmon4j.core.monitor.MonitorFactory; public class Application { public static void main(String[] args) { AppMon4j.initialize(); AppMon4j.addMonitor(MonitorFactory.createMonitor(CustomMonitor.class)); AppMon4j.addAction(EmailActionFactory.createAction("EmailAction")); AppMon4j.start(); AppMon4j.stop(); } }


上一篇:
下一篇:
切换中文