Apache“服务器状态”(mod_status) 输出为 JSON 或 XML 格式?

夏期劇*_*期劇場 3 xml apache json

阿帕奇“mod_status”:

我们知道,通过使用“mod_status”,我们可以检查Apache的当前状态。它返回很多信息,类似于此示例页面(由 Apache 提供)

https://www.apache.org/server-status

我需要做什么:

我需要解析然后处理这个结果,特别是ExtendedStatusflag 给出的详细连接部分(在 httpd.conf 内)。该部分看起来像:

Srv PID Acc M   CPU SS  Req Conn    Child   Slot    Client  VHost   Request
0-24    23433   0/94/338163 _   208.04  2   0   0.0 1.85    22068.75    221.254.46.37       
0-24    23433   0/99/337929 _   208.93  1   1141    0.0 2.23    19373.00    197.89.161.5        
0-24    23433   0/94/337834 _   206.04  4   0   0.0 3.46    22065.36    114.31.251.82       
0-24    23433   0/95/338139 _   198.94  2   7   0.0 2.74    21101.66    122.252.253.242     
0-24    23433   0/111/338215    _   206.21  3   0   0.0 3.89    19496.71    186.5.109.211
Run Code Online (Sandbox Code Playgroud)

我的问题:

是否可以通过结构化数据格式(例如 JSON )获取此页面(信息)?(因为我需要通过 PHP 解析它们。然后再做一些进一步的事情。)

我不能只使用一些简单的方法,例如 Javascript DOM 解析器(例如:jQuery)。因为我需要脚本在服务器的 Linux 命令行(本地)本身中运行。不通过任何外部的精美客户端浏览器。

因此,通过 Javascript(JQuery 等)解析它几乎不是一个选择。我最好接收结构化数据。所以我可以轻松地从 PHP 方式解析。通过终端触发 PHP 脚本,例如:

# php /www/docroots/parse-server-status.php
Run Code Online (Sandbox Code Playgroud)

或者至少:

# curl -I http://localhost/parse-server-status.php
Run Code Online (Sandbox Code Playgroud)

问题:

  • 知道如何从 Apache 的服务器状态 (mod_status) 中获取 JSON 或 XML 吗?

谢谢大家。

Ben*_*ikt 6

我认为没有办法在标准 apache mod_status 中获取 json。但开发者名单上却有关于这个话题的讨论。

简而言之:您必须在服务器上安装另一个脚本。并且你需要在服务器上使用mod_lua。这是项目页面:

https://github.com/Humbedooh/server-status

安装lua脚本后,您可以获得json文件。Daniel在这里安装了一个示例脚本:

HTML 视图:http://httpd.apache.org/server-status
JSON:http://httpd.apache.org/server-status
?view=json 扩展 JSON: http://httpd.apache.org/server-状态?视图=json&扩展=true(大量数据:p)