diff options
author | Stephen Wong <stephen.kf.wong@gmail.com> | 2018-07-07 06:09:37 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@opnfv.org> | 2018-07-07 06:09:37 +0000 |
commit | 0254cb223d2eace1eaf295eacf4cea4fc4fd9844 (patch) | |
tree | b304a5f2d6738b95deb1b59fe8f95b763da4fa08 /clover/collector/db/redisops.py | |
parent | 4ee3a546bb8f7739804177590824eb73ed7593e1 (diff) | |
parent | dbece18d19c3977019c6727fcbe7a436031666fe (diff) |
Merge "Initial commit for Clover Collector"
Diffstat (limited to 'clover/collector/db/redisops.py')
-rw-r--r-- | clover/collector/db/redisops.py | 59 |
1 files changed, 59 insertions, 0 deletions
diff --git a/clover/collector/db/redisops.py b/clover/collector/db/redisops.py new file mode 100644 index 0000000..e80c417 --- /dev/null +++ b/clover/collector/db/redisops.py @@ -0,0 +1,59 @@ +# Copyright (c) Authors of Clover +# +# All rights reserved. This program and the accompanying materials +# are made available under the terms of the Apache License, Version 2.0 +# which accompanies this distribution, and is available at +# http://www.apache.org/licenses/LICENSE-2.0 + +import redis +import logging + +REDIS_HOST = 'redis' +# REDIS_HOST = '10.244.0.85' + + +class RedisOps: + + def __init__(self, host=REDIS_HOST): + logging.basicConfig(filename='redisops.log', + level=logging.DEBUG) + try: + self.r = redis.StrictRedis(host=host, port=6379, db=0) + except Exception as e: + logging.debug(e) + + def init_services(self, skey='visibility_services'): + service_names = ['http_lb', 'proxy_access_control'] + for s in service_names: + self.r.sadd(skey, s) + + def init_metrics(self, pkey='metric_prefixes', skey='metric_suffixes'): + metric_prefixes = ['envoy_cluster_out_', 'envoy_cluster_in_'] + metric_suffixes = [ + '_default_svc_cluster_local_http_internal_upstream_rq_2xx', + '_default_svc_cluster_local_http_upstream_cx_active'] + for p in metric_prefixes: + self.r.sadd(pkey, p) + for s in metric_suffixes: + self.r.sadd(skey, s) + + def get_services(self, skey='visibility_services'): + services = self.r.smembers(skey) + return services + + def get_metrics(self, pkey='metric_prefixes', skey='metric_suffixes'): + prefixes = self.r.smembers(pkey) + suffixes = self.r.smembers(skey) + return prefixes, suffixes + + +def main(): + r = RedisOps() + r.init_services() + r.init_metrics() + r.get_services() + r.get_metrics() + + +if __name__ == '__main__': + main() |