| name | log-analysis |
| description | 日志分析助手。journalctl 用法、常见日志路径、grep/awk 过滤、tail -f 模式、日志轮转。分析系统或应用日志时使用。 |
| version | 1.0.0 |
日志分析助手
journalctl(systemd)
journalctl -u nginx -f
journalctl -u nginx --since "1 hour ago"
journalctl -u nginx --since "2024-01-15" --until "2024-01-16"
journalctl -p err -b
journalctl -o short-precise
journalctl -n 100 -u docker
持久化:确保 /etc/systemd/journald.conf 中 Storage=persistent。
常见日志路径
| 类型 | 路径 |
|---|
| 系统 | /var/log/syslog、/var/log/messages |
| 认证 | /var/log/auth.log |
| Nginx | /var/log/nginx/access.log、error.log |
| Apache | /var/log/apache2/access.log、error.log |
| MySQL | /var/log/mysql/error.log |
grep / awk 过滤
grep -i error /var/log/syslog
grep "Jan 15 14:" /var/log/syslog
awk '$9 == 500' /var/log/nginx/access.log
awk '$7 ~ /\.php/' /var/log/nginx/access.log
tail -f 模式
tail -f /var/log/nginx/access.log
tail -f /var/log/syslog | grep --line-buffered ERROR
日志轮转
配置:/etc/logrotate.d/ 下各应用配置。
手动执行:sudo logrotate -f /etc/logrotate.conf
检查配置:logrotate -d /etc/logrotate.d/nginx