예제 #1
0
    def service_check(self, env):
        """
        Performs a service check for the Profiler.
        :param env: Environment
        """
        Logger.info('Checking Kafka topics for Profiler')
        metron_service.check_kafka_topics(self.__params,
                                          [self.__params.profiler_input_topic])

        Logger.info("Checking HBase table for profiler")
        metron_service.check_hbase_table(self.__params,
                                         self.__params.profiler_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params, self.__params.profiler_hbase_table,
            self.__params.profiler_hbase_cf)

        if self.__params.security_enabled:

            Logger.info('Checking Kafka ACLs for Profiler')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(
                self.__params, self.__get_kafka_acl_groups())

            Logger.info('Checking Kafka ACLs for Profiler')
            metron_service.check_hbase_acls(self.__params,
                                            self.__params.profiler_hbase_table)

        Logger.info("Checking for Profiler topology")
        if not self.is_topology_active(env):
            raise Fail("Profiler topology not running")

        Logger.info("Profiler service check completed successfully")
예제 #2
0
    def service_check(self, env):
        """
        Performs a service check for Indexing.
        :param env: Environment
        """
        metron_service.check_indexer_parameters()

        Logger.info('Checking Kafka topics for Indexing')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        Logger.info("Checking HBase for Indexing")
        metron_service.check_hbase_table(self.__params, self.__params.update_hbase_table)
        metron_service.check_hbase_column_family(self.__params, self.__params.update_hbase_table, self.__params.update_hbase_cf)

        Logger.info('Checking Elasticsearch templates for Indexing')
        self.check_elasticsearch_templates()

        if self.__params.security_enabled:

            Logger.info('Checking Kafka ACLs for Indexing')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

            Logger.info("Checking HBase ACLs for Indexing")
            metron_service.check_hbase_acls(self.__params, self.__params.update_hbase_table)

        Logger.info("Checking for Indexing topology")
        if not self.is_topology_active(env):
            raise Fail("Indexing topology not running")

        Logger.info("Indexing service check completed successfully")
    def service_check(self, env):
        """
        Performs a service check for the Profiler.
        :param env: Environment
        """
        Logger.info('Checking Kafka topics for Profiler')
        metron_service.check_kafka_topics(self.__params, [self.__params.profiler_input_topic])

        Logger.info("Checking HBase table for profiler")
        metron_service.check_hbase_table(self.__params, self.__params.profiler_hbase_table)
        metron_service.check_hbase_column_family(self.__params, self.__params.profiler_hbase_table, self.__params.profiler_hbase_cf)

        if self.__params.security_enabled:

            Logger.info('Checking Kafka ACLs for Profiler')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

            Logger.info('Checking Kafka ACLs for Profiler')
            metron_service.check_hbase_acls(self.__params, self.__params.profiler_hbase_table)

        Logger.info("Checking for Profiler topology")
        if not self.is_topology_active(env):
            raise Fail("Profiler topology not running")

        Logger.info("Profiler service check completed successfully")
예제 #4
0
    def service_check(self, env):
        """
        Performs a service check for Enrichment.
        :param env: Environment
        """
        Logger.info("Checking for Geo database")
        metron_service.check_hdfs_file_exists(
            self.__params,
            self.__params.geoip_hdfs_dir + "/GeoLite2-City.tar.gz")

        Logger.info("Checking for ASN database")
        metron_service.check_hdfs_file_exists(
            self.__params, self.__params.asn_hdfs_dir + "/GeoLite2-ASN.tar.gz")

        Logger.info('Checking Kafka topics for Enrichment')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        Logger.info("Checking HBase for Enrichment")
        metron_service.check_hbase_table(self.__params,
                                         self.__params.enrichment_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params, self.__params.enrichment_hbase_table,
            self.__params.enrichment_hbase_cf)

        Logger.info("Checking HBase for Enrichment List")
        metron_service.check_hbase_table(
            self.__params, self.__params.enrichment_list_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params, self.__params.enrichment_list_hbase_table,
            self.__params.enrichment_list_hbase_cf)

        Logger.info("Checking HBase for Threat Intel")
        metron_service.check_hbase_table(self.__params,
                                         self.__params.threatintel_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params, self.__params.threatintel_hbase_table,
            self.__params.threatintel_hbase_cf)

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for Enrichment')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(
                self.__params, self.__get_kafka_acl_groups())

            Logger.info("Checking HBase ACLs for Enrichment")
            metron_service.check_hbase_acls(
                self.__params, self.__params.enrichment_hbase_table)
            Logger.info("Checking HBase ACLs for Enrichment List")
            metron_service.check_hbase_acls(
                self.__params, self.__params.enrichment_list_hbase_table)
            Logger.info("Checking HBase ACLs for Threat Intel")
            metron_service.check_hbase_acls(
                self.__params, self.__params.threatintel_hbase_table)

        Logger.info("Checking for Enrichment topology")
        if not self.is_topology_active(env):
            raise Fail("Enrichment topology not running")

        Logger.info("Enrichment service check completed successfully")
    def service_check(self, env):
        """
        Performs a service check for Enrichment.
        :param env: Environment
        """
        Logger.info("Checking for Geo database")
        metron_service.check_hdfs_file_exists(self.__params, self.__params.geoip_hdfs_dir + "/GeoLite2-City.tar.gz")

        Logger.info("Checking for ASN database")
        metron_service.check_hdfs_file_exists(self.__params, self.__params.asn_hdfs_dir + "/GeoLite2-ASN.tar.gz")

        Logger.info('Checking Kafka topics for Enrichment')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        Logger.info("Checking HBase for Enrichment")
        metron_service.check_hbase_table(
            self.__params,
            self.__params.enrichment_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params,
            self.__params.enrichment_hbase_table,
            self.__params.enrichment_hbase_cf)

        Logger.info("Checking HBase for Enrichment List")
        metron_service.check_hbase_table(
            self.__params,
            self.__params.enrichment_list_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params,
            self.__params.enrichment_list_hbase_table,
            self.__params.enrichment_list_hbase_cf)

        Logger.info("Checking HBase for Threat Intel")
        metron_service.check_hbase_table(
            self.__params,
            self.__params.threatintel_hbase_table)
        metron_service.check_hbase_column_family(
            self.__params,
            self.__params.threatintel_hbase_table,
            self.__params.threatintel_hbase_cf)

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for Enrichment')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

            Logger.info("Checking HBase ACLs for Enrichment")
            metron_service.check_hbase_acls(self.__params, self.__params.enrichment_hbase_table)
            Logger.info("Checking HBase ACLs for Enrichment List")
            metron_service.check_hbase_acls(self.__params, self.__params.enrichment_list_hbase_table)
            Logger.info("Checking HBase ACLs for Threat Intel")
            metron_service.check_hbase_acls(self.__params, self.__params.threatintel_hbase_table)

        Logger.info("Checking for Enrichment topology")
        if not self.is_topology_active(env):
            raise Fail("Enrichment topology not running")

        Logger.info("Enrichment service check completed successfully")
예제 #6
0
    def service_check(self, env):
        """
        Performs a service check for the REST application
        :param env: Environment
        """
        Logger.info('Checking connectivity to REST application')
        metron_service.check_http(self.__params.hostname,
                                  self.__params.metron_rest_port,
                                  self.__params.metron_user)

        Logger.info('Checking Kafka topics for the REST application')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        if self.__params.security_enabled:
            Logger.info('Checking Kafka topic ACL for the REST application')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())

        Logger.info("REST application service check completed successfully")
예제 #7
0
    def service_check(self, env):
        """
        Performs a service check for the REST application
        :param env: Environment
        """
        Logger.info('Checking connectivity to REST application')
        metron_service.check_http(
            self.__params.metron_rest_host,
            self.__params.metron_rest_port,
            self.__params.metron_user)

        Logger.info('Checking Kafka topics for the REST application')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        if self.__params.security_enabled:
            Logger.info('Checking Kafka topic ACL for the REST application')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())

        Logger.info("REST application service check completed successfully")
예제 #8
0
    def service_check(self, env):
        """
        Performs a service check for the Parsers.
        :param env: Environment
        """
        Logger.info("Checking for grok patterns in HDFS for Parsers")
        metron_service.check_hdfs_dir_exists(self.__params, self.__params.hdfs_grok_patterns_dir)

        Logger.info('Checking Kafka topics for Parsers')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for Parsers')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

        Logger.info("Checking for Parser topologies")
        if not self.topologies_running(env):
            raise Fail("Parser topologies not running")

        Logger.info("Parser service check completed successfully")
예제 #9
0
    def service_check(self, env):
        """
        Performs a service check for the PCAP.
        :param env: Environment
        """
        Logger.info('Checking Kafka topic for PCAP')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        Logger.info("Checking for PCAP sequence files directory in HDFS for PCAP")
        metron_service.check_hdfs_dir_exists(self.__params, self.__params.hdfs_pcap_sequencefiles_dir)

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for PCAP')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

        Logger.info("Checking for PCAP topologies")
        if not self.is_topology_active(env):
            raise Fail("PCAP topologies not running")

        Logger.info("PCAP service check completed successfully")
예제 #10
0
    def service_check(self, env):
        """
        Performs a service check for the PCAP.
        :param env: Environment
        """
        Logger.info('Checking Kafka topic for PCAP')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        Logger.info("Checking for PCAP sequence files directory in HDFS for PCAP")
        metron_service.check_hdfs_dir_exists(self.__params, self.__params.hdfs_pcap_sequencefiles_dir)

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for PCAP')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(self.__params, self.__get_kafka_acl_groups())

        Logger.info("Checking for PCAP topologies")
        if not self.is_topology_active(env):
            raise Fail("PCAP topologies not running")

        Logger.info("PCAP service check completed successfully")
예제 #11
0
    def service_check(self, env):
        """
        Performs a service check for the Parsers.
        :param env: Environment
        """
        Logger.info("Checking for grok patterns in HDFS for Parsers")
        metron_service.check_hdfs_dir_exists(
            self.__params, self.__params.hdfs_grok_patterns_dir)

        Logger.info('Checking Kafka topics for Parsers')
        metron_service.check_kafka_topics(self.__params, self.__get_topics())

        if self.__params.security_enabled:
            Logger.info('Checking Kafka ACLs for Parsers')
            metron_service.check_kafka_acls(self.__params, self.__get_topics())
            metron_service.check_kafka_acl_groups(
                self.__params, self.__get_kafka_acl_groups())

        Logger.info("Checking for Parser topologies")
        if not self.topologies_running(env):
            raise Fail("Parser topologies not running")

        Logger.info("Parser service check completed successfully")