def __init__(self):
     self.args = None
     self.metric_sender = None
     self.ora = OpenshiftRestApi()
     self.dns_host = ''
     self.dns_port = 53
     self.openshift_services = []
    def run(self):
        """  Main function to run the check """

        self.parse_args()
        self.ora = OpenshiftRestApi()
        self.metric_sender = MetricSender(verbose=self.args.verbose,
                                          debug=self.args.debug)

        status = None
        try:
            self.get_service()
            if not self.args.service_count:
                status = self.check_service()

        except Exception as ex:
            print "Problem retreiving data: %s " % ex.message

        if status:
            self.metric_sender.add_metric({
                "openshift.webservice.{}.status".format(self.args.pod):
                status
            })

        self.metric_sender.add_metric(
            {'openshift.cluster.service.count': self.servicecount},
            synthetic=True)
        self.metric_sender.send_metrics()
    def run(self):
        """  Main function to run the check """

        self.parse_args()
        self.ora = OpenshiftRestApi()
        self.metric_sender = MetricSender(verbose=self.args.verbose,
                                          debug=self.args.debug)

        try:
            self.get_pods()

        except Exception as ex:
            print "Problem retreiving pod data: %s " % ex.message

        self.metric_sender.send_metrics()
    def run(self):
        '''  Main function to run the check '''

        self.parse_args()
        self.zagg_sender = ZaggSender(verbose=self.args.verbose,
                                      debug=self.args.debug)

        master_cfg = []
        with open(self.args.master_config, 'r') as yml:
            master_cfg = yaml.load(yml)
        self.ora = OpenshiftRestApi(
            host=master_cfg['oauthConfig']['masterURL'], verify_ssl=True)

        self.cluster_capacity()

        if not self.args.dry_run:
            self.zagg_sender.send_metrics()
    def run(self):
        """  Main function to run the check """

        self.parse_args()
        self.ora = OpenshiftRestApi()
        self.metric_sender = MetricSender(verbose=self.args.verbose, debug=self.args.debug)

        try:
            self.get_service()
            status = self.check_service()

        except Exception as ex:
            print "Problem retreiving data: %s " % ex.message

        self.metric_sender.add_metric({
            "openshift.webservice.{}.status".format(self.args.pod) : status})

        self.metric_sender.send_metrics()
    def run(self):
        """  Main function to run the check """

        self.parse_args()
        self.metric_sender = MetricSender(verbose=self.args.verbose, debug=self.args.debug)

        if self.args.local:
            self.ora = OpenshiftRestApi()
            self.args.api_ping = True
            self.args.healthz = True
            self.zabbix_api_key = 'openshift.master.local.api.ping'
            self.zabbix_healthz_key = 'openshift.master.local.api.healthz'
        else:
            master_cfg_from_yaml = []
            with open('/etc/origin/master/master-config.yaml', 'r') as yml:
                master_cfg_from_yaml = yaml.load(yml)
            self.ora = OpenshiftRestApi(host=master_cfg_from_yaml['oauthConfig']['masterURL'],
                                        verify_ssl=True)

            self.zabbix_api_key = 'openshift.master.api.ping'
            self.zabbix_healthz_key = 'openshift.master.api.healthz'

        try:
            if self.args.healthz or self.args.all_checks:
                self.healthz_check()

        except Exception as ex:
            print "Problem performing healthz check: %s " % ex.message
            self.metric_sender.add_metric({self.zabbix_healthz_key: 'false'})

        try:
            if self.args.api_ping or self.args.all_checks:
                self.api_ping()

            if self.args.project_count or self.args.all_checks:
                self.project_count()

            if self.args.pod_count or self.args.all_checks:
                self.pod_count()

            if self.args.user_count or self.args.all_checks:
                self.user_count()

            if self.args.pv_info or self.args.all_checks:
                self.pv_info()

            if self.args.node_checks or self.args.all_checks:
                self.nodes_not_schedulable()
                self.nodes_not_ready()
                self.nodes_not_labeled()

        except Exception as ex:
            print "Problem Openshift API checks: %s " % ex.message
            self.metric_sender.add_metric({self.zabbix_api_key: 0}) # Openshift API is down

        try:
            if self.args.metrics or self.args.all_checks:
                self.metric_check()

        except Exception as ex:
            print "Problem getting Openshift metrics at /metrics: %s " % ex.message
            self.metric_sender.add_metric({'openshift.master.metric.ping' : 0}) # Openshift Metrics are down

        self.metric_sender.send_metrics()
Beispiel #7
0
# Our jenkins server does not include these rpms.
# In the future we might move this to a container where these
# libs might exist
#pylint: disable=import-error
from openshift_tools.web.openshift_rest_api import OpenshiftRestApi
from openshift_tools.monitoring.metric_sender import MetricSender

import logging
logging.basicConfig(
    format='%(asctime)s - %(relativeCreated)6d - %(levelname)-8s - %(message)s',
)
logger = logging.getLogger()
logger.setLevel(logging.INFO)

ora = OpenshiftRestApi()

valid_node_types = ["master", "infra", "compute"]

def parse_args():
    """ parse the args from the cli """
    logger.debug("parse_args()")

    parser = argparse.ArgumentParser(description='OpenShift node counts')
    parser.add_argument('-v', '--verbose', action='store_true', default=None, help='Verbose?')
    return parser.parse_args()

def send_metrics(expected, actual):    
    """ send data to MetricSender """
    logger.debug("send_metrics()")
Beispiel #8
0
 def __init__(self):
     self.args = None
     self.zagg_sender = None
     self.ora = OpenshiftRestApi()