pantheon-systems / terminus-site-debug
此包的最新版本(1.0.0)没有可用的许可证信息。
在特定环境中获取所有应用服务器的服务器日志。
1.0.0
2023-05-02 16:29 UTC
Requires (Dev)
- league/climate: ^3.2
- squizlabs/php_codesniffer: 3.6.0
This package is auto-updated.
Last update: 2024-09-23 19:57:24 UTC
README
这是一个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
鸣谢
- 鸣谢https://github.com/jfussion 提供想法和初始代码库。