def generate(self): config_dict = {} for topo_id, as_topo in self.args.topo_dicts.items(): ele_dict = defaultdict(list) for br_id, br_ele in as_topo["border_routers"].items(): a = prom_addr(br_ele["internal_addr"], DEFAULT_BR_PROM_PORT) ele_dict["BorderRouters"].append(a) for elem_id, elem in as_topo["control_service"].items(): a = prom_addr(elem["addr"], CS_PROM_PORT) ele_dict["ControlService"].append(a) if self.args.docker: host_dispatcher = prom_addr_dispatcher(self.args.docker, topo_id, self.args.networks, DISP_PROM_PORT, "") br_dispatcher = prom_addr_dispatcher(self.args.docker, topo_id, self.args.networks, DISP_PROM_PORT, "br") ele_dict["Dispatcher"] = [host_dispatcher, br_dispatcher] sd_prom_addr = '[%s]:%d' % (sciond_ip( self.args.docker, topo_id, self.args.networks), SCIOND_PROM_PORT) ele_dict["Sciond"].append(sd_prom_addr) config_dict[topo_id] = ele_dict self._write_config_files(config_dict) self._write_dc_file() self._write_disp_file()
def _write_disp_file(self): if self.args.docker: return targets_path = os.path.join(self.args.output_dir, "dispatcher", PrometheusGenerator.PROM_DIR, "disp.yml") target_config = [{'targets': [prom_addr_dispatcher(False, None, None, DISP_PROM_PORT, None)]}] write_file(targets_path, yaml.dump(target_config, default_flow_style=False))
def _build_disp_conf(self, name, topo_id=None): prometheus_addr = prom_addr_dispatcher(self.args.docker, topo_id, self.args.networks, DISP_PROM_PORT, name) api_addr = prom_addr_dispatcher(self.args.docker, topo_id, self.args.networks, DISP_PROM_PORT + 700, name) return { 'dispatcher': { 'id': name, }, 'log': self._log_entry(name), 'metrics': { 'prometheus': prometheus_addr, }, 'features': translate_features(self.args.features), 'api': { 'addr': api_addr, }, }
def _build_disp_conf(self, name, topo_id=None): prometheus_addr = prom_addr_dispatcher(self.args.docker, topo_id, self.args.networks, DISP_PROM_PORT, name) return { 'dispatcher': { 'id': name, }, 'log': self._log_entry(name), 'metrics': { 'prometheus': prometheus_addr, }, }