Beispiel #1
0
        public ICounterD CreateCounter(string name)
        {
            var cummulativeMetric = MdmMetricFactory.CreateUInt64CumulativeMetric(
                MdmMetricFlags.CumulativeMetricDefault,
                MonitoringAccount,
                MetricNamespace,
                name);

            return(new Counter0D(cummulativeMetric));
        }
        public void ArgTests()
        {
            string           meterName         = "meter";
            string           monitoringAccount = "testAccout";
            MdmMetricFactory mdmMetricFactory  = new MdmMetricFactory();

            IMeter meter = new GenevaMeter(meterName, mdmMetricFactory, monitoringAccount);

            Counter counter = ArgTestExtensions.CreateCounter(meter);
        }
Beispiel #3
0
        public ICounterD CreateCounter(string name, string k1, string k2, string k3, string k4, string k5, string k6, string k7, string k8, string k9, string k10)
        {
            var cummulativeMetric = MdmMetricFactory.CreateUInt64CumulativeMetric(
                MdmMetricFlags.CumulativeMetricDefault,
                MonitoringAccount,
                MetricNamespace,
                name,
                k1, k2, k3, k4, k5, k6, k7, k8, k9, k10);

            return(new Counter10D(cummulativeMetric));
        }
Beispiel #4
0
 public GenevaMeter(string meterName, MdmMetricFactory mdmMetricFactory, string monitoringAccount)
 {
     MdmMetricFactory  = mdmMetricFactory;
     MonitoringAccount = monitoringAccount;
     MetricNamespace   = meterName;
 }
        public SyntheticCounterManager(GenevaMdmConfiguration cfg)
        {
            MetricNamespace   = cfg.MetricsNamespace;
            MonitoringAccount =
                cfg.MetricsAccount; // not sure if it needs to the Logs Account value since currently in PPE they are the same

            // Get the location information for this "unit of deployment" - region in Azure
            LocationId = cfg.LocationId;

            // Start in-memory aggregation and publication of metrics (such as histogram calculation)
            if (!MdmMetricController.StartMetricPublication())
            {
                SIEMfxEventSource.Log.Information("IfxMetrics", "Ifx Configuration - Error - cannot publish metrics");
            }

            // Use the factory helper class to generate the synthetic metrics
            var metricFactory = new MdmMetricFactory();

            // Define the histogram bucketing configuration
            var latencyBehavior = new MdmBucketedDistributionBehavior
            {
                MinimumValue = cfg.MinimumValue,
                BucketSize   = cfg.BucketSize,
                BucketCount  = cfg.BucketCount
            };


            metricOneAgentEtwTcpNetworkBytes = metricFactory.CreateUInt64Metric(
                MdmMetricFlags.CumulativeMetricDefault,
                MonitoringAccount,
                MetricNamespace,
                "CdocOneAgentEtwTcpNetworkBytes",
                "CustomerResourceId", // Mandatory customer resource dimension
                "LocationId",         // Mandatory topology dimension
                "TimeCreated",
                "EventId",
                "ProcessName",
                "ProcessId",
                "DestinationIpAddress",
                "DestinationPort",
                "SourceIpAddress",
                "SourcePort",
                "Bytes"
                );

            metricOneAgentEtwTcpNetworkCount = metricFactory.CreateUInt64Metric(
                MdmMetricFlags.CumulativeMetricDefault,
                MonitoringAccount,
                MetricNamespace,
                "CdocOneAgentEtwTcpNetworkCount",
                "CustomerResourceId", // Mandatory customer resource dimension
                "LocationId",         // Mandatory topology dimension
                "TimeCreated",
                "EventId",
                "ProcessName",
                "ProcessId",
                "DestinationIpAddress",
                "DestinationPort",
                "SourceIpAddress",
                "SourcePort",
                "Count"
                );

            SIEMfxEventSource.Log.Information("IfxMetrics", $@"Ifx Configuration Initialized -
                MetricNamespace: {MetricNamespace}, MonitoringAccount: {MonitoringAccount}");
        }