我试图在Django中为Django后台任务调用的函数收集特定于应用程序的Prometheus度量
在我的应用程序models.py
文件中,我首先添加一个自定义度量,其中包含:
my_task_metric = Summary("my_task_metric ", "My task metric")
然后,我将此添加到我的函数中,以捕获上次成功运行此函数的时间戳:
@background()
def my_function():
# my function code here
# collecting the metric
my_task_metric.observe((datetime.now().replace(tzinfo=timezone.utc) - datetime(1970, 1, 1).replace(tzinfo=timezone.utc)).total_seconds())
当我打开Django时,度量是在/metrics
中创建和访问的。但是,运行此函数后,sum的值为0,就好像没有遵守度量一样。我错过什么了吗
或者有没有更好的方法来监控普罗米修斯的django后台任务?我曾尝试使用django后台任务模型,但我发现它有点麻烦
我最终利用普罗米修斯推送网关功能创建了一个装饰器
然后是我的功能(装饰者的顺序很重要)
相关问题 更多 >
编程相关推荐