Exemplo n.º 1
0
        protected override void ExpectResponse(PutJobResponse response)
        {
            response.ShouldBeValid();

            response.JobId.Should().Be(CallIsolatedValue);
            // "job_version" : "5.5.2"
            response.JobType.Should().Be("anomaly_detector");
            response.Description.Should().Be("Lab 1 - Simple example");
            response.CreateTime.Should().BeBefore(DateTimeOffset.UtcNow);

            response.AnalysisConfig.Should().NotBeNull();
            response.AnalysisConfig.BucketSpan.Should().Be(new Time("30m"));
            response.AnalysisConfig.Latency.Should().Be(new Time("0s"));

            response.AnalysisConfig.Detectors.Should().NotBeNull();
            response.AnalysisConfig.Detectors.OfType <SumDetector>().Should().NotBeNull();

            var sumDetector = response.AnalysisConfig.Detectors.Cast <SumDetector>().First();

            sumDetector.DetectorDescription.Should().Be("sum(total)");
            sumDetector.Function.Should().Be("sum");
            sumDetector.FieldName.Name.Should().Be("total");
            sumDetector.DetectorIndex.Should().Be(0);

            response.AnalysisConfig.Influencers.Should().BeEmpty();

            response.DataDescription.TimeField.Name.Should().Be("@timestamp");
            response.DataDescription.TimeFormat.Should().Be("epoch_ms");

            response.ModelSnapshotRetentionDays.Should().Be(1);

            // User-defined names are prepended with "custom-" by X-Pack ML
            response.ResultsIndexName.Should().Be("custom-server-metrics");
        }
Exemplo n.º 2
0
        protected override void ExpectResponse(PutJobResponse response)
        {
            response.ShouldBeValid();

            response.JobId.Should().Be(CallIsolatedValue);
            // "job_version" : "5.5.2"
            response.JobType.Should().Be("anomaly_detector");
            response.Description.Should().Be("Lab 1 - Simple example");
            response.CreateTime.Should().BeBefore(DateTimeOffset.UtcNow);

            response.AnalysisConfig.Should().NotBeNull();
            response.AnalysisConfig.BucketSpan.Should().Be(new Time("30m"));
            response.AnalysisConfig.Latency.Should().Be(new Time("0s"));

            response.AnalysisConfig.Detectors.Should().NotBeNull();
            response.AnalysisConfig.Detectors.OfType <CountDetector>().Should().NotBeNull();

            var countDetector = response.AnalysisConfig.Detectors.Cast <CountDetector>().First();

            countDetector.DetectorDescription.Should().Be("count by total over host partitionfield=service");
            countDetector.Function.Should().Be("count");
            countDetector.ByFieldName.Name.Should().Be("total");
            countDetector.OverFieldName.Name.Should().Be("host");
            countDetector.PartitionFieldName.Name.Should().Be("service");
            countDetector.DetectorIndex.Should().Be(0);
            countDetector.CustomRules.Should().NotBeNullOrEmpty().And.HaveCount(1);

            var customRule = countDetector.CustomRules.First();

            customRule.Actions.Should().NotBeNullOrEmpty().And.Contain(RuleAction.SkipResult);
            customRule.Scope.Should().NotBeNull().And.HaveCount(3);
            customRule.Conditions.Should().NotBeNull().And.HaveCount(2);

            response.AnalysisConfig.Influencers.Should().BeEmpty();

            response.DataDescription.TimeField.Name.Should().Be("@timestamp");
            response.DataDescription.TimeFormat.Should().Be("epoch_ms");

            response.ModelSnapshotRetentionDays.Should().Be(1);

            // User-defined names are prepended with "custom-" by X-Pack ML
            response.ResultsIndexName.Should().Be("custom-server-metrics");
        }