Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Code Block
themeEmacs
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;
}

...