ubuntu lamp日志查看技巧有哪些
导读:Ubuntu LAMP 日志查看技巧 一 核心日志位置速查 Apache 访问日志:/var/log/apache2/access.log 错误日志:/var/log/apache2/error.log MySQL 错误日志:常见...
Ubuntu LAMP 日志查看技巧
一 核心日志位置速查
- Apache
- 访问日志:/var/log/apache2/access.log
- 错误日志:/var/log/apache2/error.log
- MySQL
- 错误日志:常见为 /var/log/mysql/error.log(路径以实际配置为准)
- 通用查询日志:需手动开启,常见为 /var/log/mysql/mysql.log
- 慢查询日志:需手动开启,常见为 /var/log/mysql/mysql-slow.log
- PHP
- 使用模块方式(Apache):PHP 错误通常写入 Apache 错误日志
- 使用 PHP-FPM:常见为 /var/log/php-fpm/error.log
- 也可在 php.ini 中自定义 error_log 路径
- 系统与服务
- systemd 日志:journalctl -u apache2、journalctl -u mysql
- 系统日志:/var/log/syslog
以上路径在不同发行版或安装方式下可能略有差异,建议结合配置核对。
二 实时查看与多文件跟踪
- 实时跟踪单个文件
- 查看 Apache 错误日志最新输出:tail -f /var/log/apache2/error.log
- 从文件末尾显示并持续跟踪:tail -n 50 -f /var/log/apache2/access.log
- 跟踪日志轮转(文件被切割改名时仍能跟随)
- 使用:tail -F /var/log/apache2/access.log
- 多文件并行跟踪
- 安装并使用 multitail:sudo apt install multitail,然后 multitail /var/log/apache2/access.log /var/log/apache2/error.log
- 使用 lnav:sudo apt install lnav,然后 lnav /var/log/apache2/access.log /var/log/apache2/error.log
- less 实时模式
- 进入后按 Shift+F 跟踪末尾;或直接:less +F /var/log/apache2/access.log
以上命令覆盖日常排查中最常用的“追尾”和“多路并行”场景。
- 进入后按 Shift+F 跟踪末尾;或直接:less +F /var/log/apache2/access.log
三 精准筛选与统计
- 按关键字过滤
- 在访问日志中查找含 error 的行:grep “error” /var/log/apache2/access.log
- 查找特定 IP:grep ‘192.168.1.100’ /var/log/apache2/access.log
- 按时间窗口查看
- 查看本次开机以来的 Apache 服务日志:journalctl -u apache2 -b
- 按时间段过滤:journalctl -u mysql --since “2025-01-01 00:00:00” --until “2025-01-01 12:00:00”
- 去重与计数
- 统计访问来源 IP 及出现次数:awk ‘{ print $1} ’ /var/log/apache2/access.log | sort | uniq -c | sort -nr | head
- 字段提取与快速定位
- 提取 HTTP 状态码并统计:awk ‘{
print $9}
’ /var/log/apache2/access.log | sort | uniq -c | sort -nr
以上方法结合 grep/awk/sort/uniq/journalctl 能快速从海量日志中定位异常与趋势。
- 提取 HTTP 状态码并统计:awk ‘{
print $9}
’ /var/log/apache2/access.log | sort | uniq -c | sort -nr
四 MySQL 日志定位与分析
- 确认日志文件路径
- 登录 MySQL 执行:
- SHOW VARIABLES LIKE ‘log_error’;
- SHOW VARIABLES LIKE ‘general_log_file’;
- SHOW VARIABLES LIKE ‘slow_query_log_file’;
- 登录 MySQL 执行:
- 慢查询分析
- 启用慢查询(示例阈值 2 秒):在配置中设置
- slow_query_log=1
- long_query_time=2
- slow_query_log_file=/var/log/mysql/slow.log
- 重启 MySQL 生效
- 分析慢查询
- 内置汇总:mysqldumpslow -s t -t 10 /var/log/mysql/slow.log
- 更强大分析:pt-query-digest /var/log/mysql/slow.log
- 启用慢查询(示例阈值 2 秒):在配置中设置
- 通用查询日志
- 仅在排障短期开启:general_log=1,用后及时关闭,避免性能与磁盘压力
以上路径、启用方式与工具组合是 MySQL 性能优化与问题定位的高频实践。
- 仅在排障短期开启:general_log=1,用后及时关闭,避免性能与磁盘压力
五 PHP 日志与配置要点
- 确认日志位置
- 若使用 PHP-FPM,常见路径:/var/log/php-fpm/error.log
- 若使用 Apache 模块,PHP 错误通常进入 Apache 错误日志
- 也可在 php.ini 中通过 error_log 指定自定义路径
- 配置建议(修改后重启服务)
- 开启错误记录:log_errors = On
- 记录级别:error_reporting = E_ALL
- 生产环境建议:display_errors = Off(避免泄露敏感信息)
- 指定日志文件:error_log = /var/log/php_errors.log
- 代码级记录
- 使用 error_log(“message”, 3, “/path/debug.log”);
写入业务日志
以上做法覆盖模块与 FPM 两种常见形态,并兼顾安全与可维护性。
- 使用 error_log(“message”, 3, “/path/debug.log”);
写入业务日志
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: ubuntu lamp日志查看技巧有哪些
本文地址: https://pptw.com/jishu/787115.html
