非日志记录 REST API:如何将所有 HTTP(s) 请求和响应写入文件?

非日志记录 REST API:如何将所有 HTTP(s) 请求和响应写入文件?

我有一个守护进程,称之为whatverd,在 TCP 端口 11111 上运行。它基本上是一个 http 服务器,但它不执行任何类型的日志记录或调试。它仅通过 http(s) 响应中的 JSON 返回查询结果,就像普通的 Web 服务器一样。如何捕获 http(s) 请求和响应并将其写入本地文件?我的选择似乎是:

  1. 修改源代码,用我根本不懂的语言。
  2. 运行某种 http 代理。
  3. 运行tcpdump并将输出重定向到文件。

有没有明显的“正确”方法来做到这一点?谢谢。

附:它在 Debian Jessie (8) 上运行,我有 root,我可以修改whateverd侦听的 TCP 端口号。

答案1

我只需利用 systemd 来实现此目的,并为您的守护进程服务创建一个单元文件whatverd.

$ cat /etc/systemd/system/whatverd.service
[Unit]
Description=whatverd

[Service]
ExecStart=/bin/bash -c "<cmd to run whatverd>"

[Install]
WantedBy=multi-user.target

然后启用/启动它:

$ sudo systemctl daemon-reload
$ sudo systemctl enable whatverd
$ sudo systemctl start whatverd
$ sudo systemctl status whatverd

现在,通过此设置,您可以通过命令使用journald journalctl

参考

相关内容