pantheon-systems/terminus-site-debug

此包的最新版本(1.0.0)没有可用的许可证信息。

在特定环境中获取所有应用服务器的服务器日志。

安装次数: 2,940

依赖: 0

建议者: 0

安全: 0

星标: 11

关注者: 9

分支: 13

开放问题: 3

类型:terminus-plugin

1.0.0 2023-05-02 16:29 UTC

README

Actively Maintained

Terminus v1.x Compatible

这是一个Terminus插件,

  • 从Pantheon网站的特定环境中下载站点日志(Pantheon
  • 解析日志以进行调试

这将还会从具有多个容器的环境中拉取日志。

有关Terminus和Terminus插件的更多信息,请访问:https://pantheon.io/docs/terminus/plugins/

示例

下载dev的所有日志。

terminus logs:get <site>.<env>

下载nginx-access.log和nginx-error.log日志。

terminus logs:get <site>.<env> --nginx-access --nginx-error

排除 nginx-access.log和nginx-error.log。

terminus logs:get <site>.<env> --exclude --nginx-access --nginx-error

解析Nginx访问日志

通过PHP搜索具有301状态码的nginx-access日志。

terminus logs:parse:nginx-access <site>.<env> --filter="301" --php

显示IP访问网站的次数。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=ip

按HTTP状态码最高的响应。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=response-code

最高的403请求

terminus logs:parse:nginx-access <site>.<env> --grouped-by=403

最高的404请求

terminus logs:parse:nginx-access <site>.<env> --grouped-by=404

最高的PHP 404请求。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=php-404

最高的PHP 404请求的详细信息。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=php-404-detailed

最高的502请求

terminus logs:parse:nginx-access <site>.<env> --grouped-by=502

访问502的最高IP。

要获取502 URI,请先运行此命令:terminus logs:parse:nginx-access site_name.env --grouped-by=502

terminus logs:parse:nginx-access <site>.<env> --grouped-by=ip-accessing-502 --uri={SITE_URI}

计算每秒击中应用服务器的请求数。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=request-per-second

最高的请求方法。

terminus logs:parse:nginx-access <site>.<env> --grouped-by=request-method --code=[200|403|404|502]

解析Nginx错误日志

在nginx-error.log中搜索访问被拒绝错误。

terminus logs:parse:nginx-error <site>.<env> --grouped-by="access forbidden" 

在nginx-error.log中搜索SSL_shutdown错误。

terminus logs:parse:nginx-error <site>.<env> --grouped-by="SSL_shutdown" 

在nginx-error.log中搜索"worker_connections"错误。

此错误表示站点没有足够的PHP工作者。考虑升级到更高计划以添加更多应用服务器。

terminus logs:parse:nginx-error <site>.<env> --grouped-by="worker_connections" 

获取最新条目。

您可以通过传递一个数字值到--filter来调整结果,默认值为10

terminus logs:parse:nginx-error <site>.<env>

解析PHP错误日志

搜索最新条目。

terminus logs:parse:php-error <site>.<env> --grouped-by=latest

搜索带有301 "未捕获的PHP异常"错误的php-error日志。

terminus logs:parse <site>.<env> --type=php-error --filter="Uncaught PHP Exception" --php

搜索所有日志。

terminus logs:parse <site>.<env> --type=all --filter="error" --php

解析PHP慢日志

搜索最新条目。

terminus logs:parse:php-slow <site>.<env> --grouped-by=latest 

按调用次数最多的函数。

terminus logs:parse:php-slow <site>.<env> --grouped-by=function

按分钟分组慢请求。

terminus logs:parse:php-slow <site>.<env> --grouped-by=minute

解析MySQL慢日志

显示所有内容。

terminus logs:parse:mysql-slow <site>.<env> 

根据执行时间计数查询。

terminus logs:parse:mysql-slow <site>.<env> --grouped-by=time

仅显示输出中的前N个查询。按计数排序输出,即查询在mysqld-slow-query.log中找到的次数。

这些查询可能是缓存结果的好选择。

terminus logs:parse:mysql-slow <site>.<env> --grouped-by=query-count 

仅显示输出中的前N个查询。

返回行数最多的查询。

terminus logs:parse:mysql-slow <site>.<env> --grouped-by=average-rows-sent

日志列表

列出所有日志文件。

terminus logs:list <site>.<env>

支持

此插件在Windows环境中无法正常工作。您可能需要将Terminus Docker化以使用此类使用nix命令解析日志的插件。

安装

有关安装的帮助,请参阅管理插件

mkdir -p ~/.terminus/plugins
cd ~/.terminus/plugins
git clone https://github.com/pantheon-systems/terminus-site-debug.git

要在Terminus 3中安装此插件,请运行以下命令

terminus self:plugin:install pantheon-systems/terminus-site-debug

鸣谢