使用来自节点导出器指标的 Python 脚本获取 cpu、内存、磁盘数据
Get cpu, memory, disk data using Python script from node exporter metrics
目前我正在开发一个 python flask 应用程序。我需要获取机器的cpu、内存、磁盘数据。我想使用 Python 脚本使用节点导出器获取这些数据。目前我正在处理虚拟数据。
以下是提供的说明:
- Select 两个简单的指标
- 向节点导出器发送 http 调用并将 coutput 保存到文件或保存在变量中
- 提取指标的值
- 您可以在单独的文件中映射度量和节点导出器度量
- 将值保存在table
有人知道如何开发这种 Python 脚本吗?
这是我的控制器 类,没有节点导出器查询:
indicator_data = db.session.query(Indicator_data.indicator_data_id,
Indicator_data.indicator_id, Indicator_data.value, Vnfc_instance.vnfc_instance_id,
Vnfc_instance.vnfc_instance_name,
func.max(Indicator_data.timestamp)).group_by(Indicator_data.indicator_id)
get_indicators_list = []
for indicator_record in indicator_data:
indicator_data_id = indicator_record.indicator_data_id
value = indicator_record.value
vnfc_instance_id = indicator_record.vnfc_instance_id
vnfc_instance_name = indicator_record.vnfc_instance_name
self_dict = {
'href': request.base_url ,
}
vnfInstance_dict = {
'href': 'https//:www.example.com',
}
links_dic = {
'self': self_dict,
'vnfInstance': vnfInstance_dict
}
get_indicators_dict = {
'_links': links_dic,
'id': indicator_data_id,
'value': value,
'vnfInstanceId': vnfc_instance_id,
'name': vnfc_instance_name
}
get_indicators_list.append(get_indicators_dict)
print(get_indicators_dict)
return get_indicators_list
看到这个example:
import psutil
import time
from prometheus.collectors import Gauge
ram_metric = Gauge("memory_usage_bytes", "Memory usage in bytes.",
{'host': host})
cpu_metric = Gauge("cpu_usage_percent", "CPU usage percent.",
{'host': host})
while True:
time.sleep(1)
# Add ram metrics
ram = psutil.virtual_memory()
swap = psutil.swap_memory()
ram_metric.set({'type': "virtual", }, ram.used)
ram_metric.set({'type': "virtual", 'status': "cached"}, ram.cached)
ram_metric.set({'type': "swap"}, swap.used)
# Add cpu metrics
for c, p in enumerate(psutil.cpu_percent(interval=1, percpu=True)):
cpu_metric.set({'core': c}, p)
目前我正在开发一个 python flask 应用程序。我需要获取机器的cpu、内存、磁盘数据。我想使用 Python 脚本使用节点导出器获取这些数据。目前我正在处理虚拟数据。
以下是提供的说明:
- Select 两个简单的指标
- 向节点导出器发送 http 调用并将 coutput 保存到文件或保存在变量中
- 提取指标的值
- 您可以在单独的文件中映射度量和节点导出器度量
- 将值保存在table
有人知道如何开发这种 Python 脚本吗?
这是我的控制器 类,没有节点导出器查询:
indicator_data = db.session.query(Indicator_data.indicator_data_id,
Indicator_data.indicator_id, Indicator_data.value, Vnfc_instance.vnfc_instance_id,
Vnfc_instance.vnfc_instance_name,
func.max(Indicator_data.timestamp)).group_by(Indicator_data.indicator_id)
get_indicators_list = []
for indicator_record in indicator_data:
indicator_data_id = indicator_record.indicator_data_id
value = indicator_record.value
vnfc_instance_id = indicator_record.vnfc_instance_id
vnfc_instance_name = indicator_record.vnfc_instance_name
self_dict = {
'href': request.base_url ,
}
vnfInstance_dict = {
'href': 'https//:www.example.com',
}
links_dic = {
'self': self_dict,
'vnfInstance': vnfInstance_dict
}
get_indicators_dict = {
'_links': links_dic,
'id': indicator_data_id,
'value': value,
'vnfInstanceId': vnfc_instance_id,
'name': vnfc_instance_name
}
get_indicators_list.append(get_indicators_dict)
print(get_indicators_dict)
return get_indicators_list
看到这个example:
import psutil
import time
from prometheus.collectors import Gauge
ram_metric = Gauge("memory_usage_bytes", "Memory usage in bytes.",
{'host': host})
cpu_metric = Gauge("cpu_usage_percent", "CPU usage percent.",
{'host': host})
while True:
time.sleep(1)
# Add ram metrics
ram = psutil.virtual_memory()
swap = psutil.swap_memory()
ram_metric.set({'type': "virtual", }, ram.used)
ram_metric.set({'type': "virtual", 'status': "cached"}, ram.cached)
ram_metric.set({'type': "swap"}, swap.used)
# Add cpu metrics
for c, p in enumerate(psutil.cpu_percent(interval=1, percpu=True)):
cpu_metric.set({'core': c}, p)