Page History
...
Code Block | ||
---|---|---|
| ||
using Akka.Monitoring; using Akka.Monitoring.ApplicationInsights; using Akka.Monitoring.Datadog; using Akka.Monitoring.PerformanceCounters; using Akka.Monitoring.Prometheus; var MonitorTool = Environment.GetEnvironmentVariable("MonitorTool"); var MonitorToolCon = Environment.GetEnvironmentVariable("MonitorToolCon"); switch (MonitorTool) { case "win": var win = ActorMonitoringExtension.RegisterMonitor(actorSystem, new ActorPerformanceCountersMonitor( new CustomMetrics { Counters = { "akka.custom.metric1", "akkacore.message" }, Gauges = { "akka.messageboxsize" }, Timers = { "akka.handlertime" } })); break; case "azure": var azure = ActorMonitoringExtension.RegisterMonitor(actorSystem, new ActorAppInsightsMonitor(appConfig.MonitorToolCon)); break; case "prometheus": // prometheusMonotor 를 사용하기위해서, MerticServer를 켠다...(수집형 모니터,Agent탑재) // http://localhost:10250/metrics - 여기서 제공되는 metrics의 포맺과 호환되는 여러종류의 데시보드들과 연동하여 시각화가능합니다. metricServer = new MetricServer(10250); metricServer.Start(); var prometheus = ActorMonitoringExtension.RegisterMonitor(actorSystem, new ActorPrometheusMonitor(actorSystem)); break; case "datadog": var statsdConfig = new StatsdConfig { StatsdServerName = MonitorToolCon }; var dataDog = ActorMonitoringExtension. RegisterMonitor(actorSystem, new ActorDatadogMonitor(statsdConfig)); break; } |
...