def _test_check(elastic_check, instance, aggregator, cluster_tags, node_tags):
    config = from_instance(instance)
    es_version = elastic_check._get_es_version()

    # node stats, blacklist metrics that can't be tested in a small, single node instance
    blacklist = [
        'elasticsearch.indices.segments.index_writer_max_memory_in_bytes'
    ]
    blacklist.extend(ADDITIONAL_METRICS_1_x)
    for m_name in stats_for_version(es_version):
        if m_name in blacklist:
            continue
        aggregator.assert_metric(m_name, at_least=1, tags=node_tags)

    # cluster stats
    expected_metrics = health_stats_for_version(es_version)
    expected_metrics.update(CLUSTER_PENDING_TASKS)
    for m_name in expected_metrics:
        aggregator.assert_metric(m_name, at_least=1, tags=cluster_tags)

    aggregator.assert_service_check('elasticsearch.can_connect',
                                    status=ESCheck.OK,
                                    tags=config.service_check_tags)

    # Assert service metadata
    # self.assertServiceMetadata(['version'], count=3)
    # FIXME: 0.90.13 returns randomly a red status instead of yellow,
    # so we don't do a coverage test for it
    # Remove me when we stop supporting 0.90.x (not supported anymore by ES)
    if es_version != [0, 90, 13]:
        # Warning because elasticsearch status should be yellow, according to
        # http://chrissimpson.co.uk/elasticsearch-yellow-cluster-status-explained.html
        aggregator.assert_service_check('elasticsearch.cluster_health')
Exemple #2
0
def test_stats_for_version():
    # v0.90
    metrics = stats_for_version([0, 90, 0])
    assert len(metrics) == 133

    # v0.90.5
    metrics = stats_for_version([0, 90, 5])
    assert len(metrics) == 134

    # v0.90.10
    metrics = stats_for_version([0, 90, 10])
    assert len(metrics) == 132

    # v1
    metrics = stats_for_version([1, 0, 0])
    assert len(metrics) == 140

    # v1.3.0
    metrics = stats_for_version([1, 3, 0])
    assert len(metrics) == 142

    # v1.4.0
    metrics = stats_for_version([1, 4, 0])
    assert len(metrics) == 162

    # v1.5.0
    metrics = stats_for_version([1, 5, 0])
    assert len(metrics) == 165

    # v1.6.0
    metrics = stats_for_version([1, 6, 0])
    assert len(metrics) == 173

    # v2
    metrics = stats_for_version([2, 0, 0])
    assert len(metrics) == 172

    # v2.1.0
    metrics = stats_for_version([2, 1, 0])
    assert len(metrics) == 177

    # v5
    metrics = stats_for_version([5, 0, 0])
    assert len(metrics) == 180

    # v6.3.0
    metrics = stats_for_version([6, 3, 0])
    assert len(metrics) == 180

    # v7.2.0
    metrics = stats_for_version([7, 2, 0])
    assert len(metrics) == 177
Exemple #3
0
def test_stats_for_version(version, jvm_rate, expected_metric_count):
    metrics = stats_for_version(version, jvm_rate)
    assert len(metrics) == expected_metric_count
def test_stats_for_version():
    # v0.90
    metrics = stats_for_version([0, 90, 0])
    assert len(metrics) == 123

    # v0.90.5
    metrics = stats_for_version([0, 90, 5])
    assert len(metrics) == 124

    # v0.90.10
    metrics = stats_for_version([0, 90, 10])
    assert len(metrics) == 122

    # v1
    metrics = stats_for_version([1, 0, 0])
    assert len(metrics) == 130

    # v1.3.0
    metrics = stats_for_version([1, 3, 0])
    assert len(metrics) == 132

    # v1.4.0
    metrics = stats_for_version([1, 4, 0])
    assert len(metrics) == 152

    # v1.5.0
    metrics = stats_for_version([1, 5, 0])
    assert len(metrics) == 155

    # v1.6.0
    metrics = stats_for_version([1, 6, 0])
    assert len(metrics) == 163

    # v2
    metrics = stats_for_version([2, 0, 0])
    assert len(metrics) == 162

    # v2.1.0
    metrics = stats_for_version([2, 1, 0])
    assert len(metrics) == 167

    # v5
    metrics = stats_for_version([5, 0, 0])
    assert len(metrics) == 167

    # v6.3.0
    metrics = stats_for_version([6, 3, 0])
    assert len(metrics) == 167