如何使用 uwsgitop 获取所有 uWSGI vassal 的所有统计信息的汇总?

如何使用 uwsgitop 获取所有 uWSGI vassal 的所有统计信息的汇总?

总结

有人能告诉我如何uwsgitop一次性监视皇帝-附庸设置中的所有附庸吗?


我为我的 uWSGI 服务器设置了 Emperor-vassal,我需要监控我的所有 vassal。我可以随时检查我的应用程序日志以获取各种数据,但实时更新、全面显示所有统计数据更方便。

因此,我尝试了以下几件事:

  1. 我创建了一个通用的 .ini 文件,其中包含以下内容:

    [uwsgi]
    stats = stats_vassal.sock
    

    然后,在每个 vassal 的 .ini 文件中,我包含该通用 .ini 文件。这种方法的问题是,当我运行uwsgitopstats_vassal.sock文件。我猜测,这种情况发生的原因在于,该套接字中的数据不断被某个未使用的 vassal 的统计数据覆盖。

    于是我就转而使用......

  2. 在每个 vassal 的 .ini 文件中,我设置了一个选项stats = stats_%n.sock。现在,我可以uwsgitop在每个stats_*.sock文件上运行来监视该特定的 vassal。

    但我希望能够一次性监视所有附庸。uwsgitop似乎只接受一个论点。

我研究过 uWSGI指标子系统,以及“文件”统计推送器似乎是我想要的,因为它不断附加到一个文件。然而,当我尝试放入stats-push = file:path=stats_%n.sock,freq=1我的每个 vassal .ini 文件时或者当我尝试放入stats-push = file:path=stats_vassal.sock,freq=1我的通用 vassal .ini 文件时,重新启动 uWSGI 时出现以下错误:

无法找到“文件”stats_pusher

然后我尝试将stats_pusher_file插件包含在同一个 .ini 文件中,但出现以下错误:

!!! 无法加载 uWSGI 插件:./stats_pusher_file_plugin.so:无法打开共享对象文件:没有此文件或目录 !!!

这是我走进死胡同的地方。

答案1

不幸的是 uwsgitop 没有这样的可能性,但是我编写了“补丁”,并且通过我的更改可以以这种方式使用 uwsgitop:uwsgitop /var/stats它会在一个屏幕上分别显示所有 vassal 工作者的信息。

您可以检查代码这里

样本

相关内容