コード例 #1
0
def test_cassandra_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "cassandra-k8s.yaml")
    monitors = [
        {
            "type": "collectd/cassandra",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "username": "******",
            "password": "******",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #2
0
def test_zookeeper_in_k8s(agent_image, minikube, k8s_observer,
                          k8s_test_timeout, k8s_namespace):
    yaml = SCRIPT_DIR / "zookeeper-k8s.yaml"
    monitors = [{
        "type":
        "collectd/zookeeper",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace)
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #3
0
def test_nginx_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = SCRIPT_DIR / "nginx-k8s.yaml"
    monitors = [
        {
            "type": "collectd/nginx",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "url": "http://{{.Host}}:{{.Port}}/nginx_status",
            "username": "******",
            "password": "******",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #4
0
def test_consul_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = SCRIPT_DIR / "consul-k8s.yaml"
    monitors = [
        {
            "type": "collectd/consul",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "aclToken": "testing123",
            "signalFxAccessToken": "testing123",
            "enhancedMetrics": True,
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #5
0
ファイル: apache_test.py プロジェクト: mitom/signalfx-agent
def test_apache_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "apache-k8s.yaml")
    monitors = [
        {
            "type": "collectd/apache",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "url": "http://{{.Host}}:{{.Port}}/mod_status?auto",
            "username": "******",
            "password": "******",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #6
0
def test_health_checker_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "health-checker-k8s.yaml")
    monitors = [
        {
            "type": "collectd/health-checker",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "path": "/health",
            "jsonKey": "status",
            "jsonVal": "ok",
        }
    ]
    with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "metrics.txt"), "r") as fd:
        expected_metrics = {m.strip() for m in fd.readlines() if len(m.strip()) > 0}
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=expected_metrics,
        test_timeout=k8s_test_timeout,
    )
コード例 #7
0
ファイル: hadoop_test.py プロジェクト: mitom/signalfx-agent
def test_hadoop_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout,
                       k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                        "hadoop-k8s.yaml")
    monitors = [{
        "type":
        "collectd/hadoop",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace)
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        yamls_timeout=600,
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #8
0
def test_kafka_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = SCRIPT_DIR / "kafka-k8s.yaml"
    monitors = [
        {
            "type": "collectd/kafka",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "serviceURL": "service:jmx:rmi:///jndi/rmi://{{.Host}}:{{.Port}}/jmxrmi",
            "username": "******",
            "password": "******",
            "clusterName": "testcluster",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #9
0
def test_postgresql_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = DIR / "postgresql-k8s.yaml"
    monitors = [
        {
            "type": "collectd/postgresql",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "databases": [{"name": "test", "username": "******", "password": "******"}],
            "username": "******",
            "password": "******",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
        passwords=["test_pwd"],
    )
コード例 #10
0
def test_prometheus_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "prometheus-k8s.yaml")
    monitors = [
        {
            "type": "prometheus-exporter",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "useHTTPS": False,
            "skipVerify": True,
            "metricPath": "/metrics",
        }
    ]
    with open(os.path.join(os.path.dirname(os.path.realpath(__file__)), "metrics.txt"), "r") as fd:
        expected_metrics = {m.strip() for m in fd.readlines() if len(m.strip()) > 0}
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=expected_metrics,
        test_timeout=k8s_test_timeout,
    )
コード例 #11
0
ファイル: spark_test.py プロジェクト: mitom/signalfx-agent
def test_spark_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "spark-k8s.yaml")
    monitors = [
        {
            "type": "collectd/spark",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "clusterType": "Standalone",
            "isMaster": True,
            "collectApplicationMetrics": True,
            "enhancedMetrics": True,
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #12
0
def test_haproxy_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout,
                        k8s_namespace):
    yaml = SCRIPT_DIR / "haproxy-k8s.yaml"
    monitors = [{
        "type":
        "collectd/haproxy",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
        "enhancedMetrics":
        True,
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #13
0
def test_couchbase_in_k8s(agent_image, minikube, k8s_observer,
                          k8s_test_timeout, k8s_namespace):
    dockerfile_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                                  "../../../test-services/couchbase")
    build_opts = {
        "buildargs": {
            "COUCHBASE_VERSION": "enterprise-5.1.0"
        },
        "tag": "couchbase:test"
    }
    minikube.build_image(dockerfile_dir, build_opts)
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                        "couchbase-k8s.yaml")
    monitors = [{
        "type":
        "collectd/couchbase",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
        "collectTarget":
        "NODE",
        "username":
        "******",
        "password":
        "******",
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #14
0
def test_elasticsearch_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout, k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)), "elasticsearch-k8s.yaml")
    build_opts = {"tag": "elasticsearch:k8s-test"}
    minikube.build_image("elasticsearch/6.4.2", build_opts)
    monitors = [
        {
            "type": "collectd/elasticsearch",
            "discoveryRule": get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
            "detailedMetrics": True,
            "username": "******",
            "password": "******",
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #15
0
def test_rabbitmq_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout,
                         k8s_namespace):
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                        "rabbitmq-k8s.yaml")
    monitors = [{
        "type":
        "collectd/rabbitmq",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
        "collectChannels":
        True,
        "collectConnections":
        True,
        "collectExchanges":
        True,
        "collectNodes":
        True,
        "collectQueues":
        True,
        "username":
        "******",
        "password":
        "******",
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #16
0
def test_jenkins_in_k8s(agent_image, minikube, k8s_observer, k8s_test_timeout,
                        k8s_namespace):
    dockerfile_dir = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                                  "../../../test-services/jenkins")
    build_opts = {
        "buildargs": {
            "JENKINS_VERSION": "2.60.3-alpine",
            "JENKINS_PORT": "8080"
        },
        "tag": "jenkins:test"
    }
    minikube.build_image(dockerfile_dir, build_opts)
    yaml = os.path.join(os.path.dirname(os.path.realpath(__file__)),
                        "jenkins-k8s.yaml")
    monitors = [{
        "type":
        "collectd/jenkins",
        "discoveryRule":
        get_discovery_rule(yaml, k8s_observer, namespace=k8s_namespace),
        "metricsKey":
        "33DD8B2F1FD645B814993275703F_EE1FD4D4E204446D5F3200E0F6-C55AC14E",
        "enhancedMetrics":
        True,
    }]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        yamls=[yaml],
        observer=k8s_observer,
        expected_metrics=get_monitor_metrics_from_selfdescribe(
            monitors[0]["type"]),
        expected_dims=get_monitor_dims_from_selfdescribe(monitors[0]["type"]),
        test_timeout=k8s_test_timeout,
    )
コード例 #17
0
ファイル: statsd_test.py プロジェクト: mitom/signalfx-agent
def test_statsd_in_k8s(agent_image, minikube, k8s_test_timeout, k8s_namespace):
    # hack to populate data for statsd
    minikube.container.exec_run(
        [
            "/bin/bash",
            "-c",
            'n=0; while [ $n -le %d ]; do \
            echo "statsd.[foo=bar,dim=val]test:1|g" | nc -w 1 -u 127.0.0.1 8125; \
            sleep 1; \
            (( n += 1 )); \
            done'
            % k8s_test_timeout,
        ],
        detach=True,
    )
    monitors = [
        {
            "type": "collectd/statsd",
            "listenAddress": "127.0.0.1",
            "listenPort": 8125,
            "counterSum": True,
            "deleteSets": True,
            "deleteCounters": True,
            "deleteTimers": True,
            "deleteGauges": True,
        }
    ]
    run_k8s_monitors_test(
        agent_image,
        minikube,
        monitors,
        namespace=k8s_namespace,
        expected_metrics={"gauge.statsd.test"},
        expected_dims={"foo", "dim"},
        test_timeout=k8s_test_timeout,
    )