添加接⼝ “/prometheus/add” 通过接⼝传参数,添加yaml⽂件中的ip地址⾏ 在后台⽣成配置⽂件 路径:“当前⽬录” 注意:每个配置⽂件的端⼝ip端⼝不⼀样 ⽣成⽂件 gpu.yml ⽣成⽂件 node.yml ⽣成⽂件 container.yml 删除接⼝ “/prometheus/del” 通过接⼝传参数,删除yaml⽂件中的ip地址⾏ 在后台⽣成配置⽂件 路径:“当前⽬录” 注意:每个配置⽂件的端⼝ip端⼝不⼀样 { "ip": "192.168.1.1" } - targets: - 192.168.1.1:9400 - 192.168.1.1:9400
时间: 2024-04-07 17:33:50 浏览: 58
根据您的要求,我将为您生成如下所述的配置文件。
首先是添加接口 "/prometheus/add" 的逻辑:
```python
import os
import yaml
def add_ip_to_config(ip):
current_directory = os.getcwd()
gpu_config = os.path.join(current_directory, "gpu.yml")
node_config = os.path.join(current_directory, "node.yml")
container_config = os.path.join(current_directory, "container.yml")
# 添加IP地址到各个配置文件
add_ip_to_file(gpu_config, ip)
add_ip_to_file(node_config, ip)
add_ip_to_file(container_config, ip)
def add_ip_to_file(file_path, ip):
with open(file_path, 'r') as f:
config = yaml.safe_load(f)
targets = config.get('targets', [])
targets.append(f"{ip}:9400")
with open(file_path, 'w') as f:
yaml.dump(config, f)
ip = "192.168.1.1"
add_ip_to_config(ip)
```
接口 "/prometheus/add" 将会把给定的 IP 地址添加到配置文件的 "targets" 中。
接下来是删除接口 "/prometheus/del" 的逻辑:
```python
import os
import yaml
def del_ip_from_config(ip):
current_directory = os.getcwd()
gpu_config = os.path.join(current_directory, "gpu.yml")
node_config = os.path.join(current_directory, "node.yml")
container_config = os.path.join(current_directory, "container.yml")
# 从各个配置文件中删除IP地址
del_ip_from_file(gpu_config, ip)
del_ip_from_file(node_config, ip)
del_ip_from_file(container_config, ip)
def del_ip_from_file(file_path, ip):
with open(file_path, 'r') as f:
config = yaml.safe_load(f)
targets = config.get('targets', [])
targets = [target for target in targets if not target.startswith(ip)]
with open(file_path, 'w') as f:
yaml.dump(config, f)
ip = "192.168.1.1"
del_ip_from_config(ip)
```
接口 "/prometheus/del" 将会从配置文件的 "targets" 中删除给定的 IP 地址。
请注意,每个配置文件都有不同的 IP 地址和端口。以上代码可以根据您的需求进行修改和调整,以便适应您的具体情况。
阅读全文