def gen_amtool_config(args): model = objectModelFactory.objectModelFactory(args.config_path) service_config = model.objectModelPipeLine() try: prometheus_info = service_config["service"]["clusterinfo"][ "prometheusinfo"] alerting = prometheus_info["alerting"] port = alerting["alert_manager_port"] alert_manager_hosts = alerting["alert-manager-hosts"] host = alert_manager_hosts[ 0] # TODO not sure if alert manager with HA workds this way except KeyError: sys.stderr.write("no alert manager configured\n") sys.exit(1) home = os.path.expanduser("~") amtool_dir = os.path.join(home, ".config/amtool") if not os.path.exists(amtool_dir): os.makedirs(amtool_dir) config = os.path.join(amtool_dir, "config.yml") if os.path.isfile(config) and not args.force: sys.stderr.write( "{} already exist, specify -f to overwrite\n".format(config)) sys.exit(1) with codecs.open(config, "w", "utf-8") as f: f.write(amtool_config.format(host, port))
def load_cluster_objectModel_k8s(config_path): objectModel = objectModelFactory.objectModelFactory(config_path) ret = objectModel.objectModelPipeLine() return ret["k8s"]
def loadClusterObjectModel(config_path): objectModel = objectModelFactory.objectModelFactory(config_path) ret = objectModel.objectModelPipeLine() return ret["service"]
def logClusterObjectModel(config_path): objectModel = objectModelFactory.objectModelFactory(config_path) ret = objectModel.objectModelPipeLine() return ret["k8s"]