我正在尝试为我的Sanic Web服务器设置普罗米修斯指标。我正在使用PyCharm,在配置中我添加了环境变量:
PROMETHEUS_MULTIPROC_DIR=/home/PycharmProjects/image-processor/multiprocess-prometheus-dir/
此外,在启动应用程序之前,我会执行以下bash脚本,以确保正确设置工作目录:
rm -rf multiprocess-prometheus-dir;
mkdir multiprocess-prometheus-dir;
我有一个度量文件:prometheus_metrics_client.py:
from prometheus_client import Counter
NUM_REQUEST = Counter("num_requests", "Number of request handled by Image Processor")
在我的控制器image_processing.py中,我有一个端点来处理图像,并希望使用如下计数器:
from dev.client.prometheus_metrics_client import NUM_REQUEST
@v2.route('/images/v2/<digital_id:int>')
async def process_image_v2(request, digital_id):
NUM_REQUEST.inc()
#process image and send response
我想在我的admin_控制器中导出具有端点的指标:
from prometheus_client import multiprocess, CollectorRegistry, generate_latest, CONTENT_TYPE_LATEST
@ac.route('/admin/metrics')
async def metrics(request):
registry = CollectorRegistry()
multiprocess.MultiProcessCollector(registry)
data = generate_latest(registry)
return response.raw(data, content_type=CONTENT_TYPE_LATEST)
但当我尝试运行服务器时,它会引发FileNotFoundError:
File "/home/neverovskii/PycharmProjects/image-processor/src/run.py", line 1, in <module>
from dev.server_instance import app
File "/home/neverovskii/PycharmProjects/image-processor/src/dev/server_instance.py", line 4, in <module>
from dev.controller import statistic_controller, image_processing, image_processing_v2, admin_controller
File "/home/neverovskii/PycharmProjects/image-processor/src/dev/controller/image_processing_v2.py", line 16, in <module>
from dev.client.prometheus_metrics_client import NUM_REQUEST
File "/home/neverovskii/PycharmProjects/image-processor/src/dev/client/prometheus_metrics_client.py", line 3, in <module>
NUM_REQUEST = Counter("num_requests", "Number of request handled by Image Processor")
FileNotFoundError: [Errno 2] No such file or directory: '/home/PycharmProjects/image-processor/multiprocess-prometheus-dir/counter_18319.db'
这里有什么问题?文档中说我应该在每台服务器启动之前清理工作目录,但是普罗米修斯希望一些文件已经存在。服务器甚至没有开始在该文件夹中放入一些值
我使用的是Python 3.9.5、Sanic 21.3.4、prometheus客户端0.11.0
目前没有回答
相关问题 更多 >
编程相关推荐