在Debian LNMP(Linux, Nginx, MySQL/MariaDB, PHP)环境中进行日志分析,可以帮助你排查问题和优化系统性能。以下是一些常用的日志分析方法和工具:
使用 journalctl
命令:
journalctl
journalctl -u 服务名
journalctl --since "2024-01-01" --until "2024-01-31"
journalctl -p err
journalctl -f
journalctl -b
(本次启动日志)和journalctl -b -1
(上一次启动日志)。使用文本处理工具:
awk
:用于按时间提取日志、打印指定列内容等。例如:awk '{split(4,array,"[");if(array[2]=="17/Aug/2023:16:30:00" && array[2]=="17/Aug/2023:17:00:00"){print $0}}' /var/log/nginx/access.log > result.txt
sed
:用于搜索和替换日志中的文本。。logrotate
工具:
logrotate
:sudo apt update && sudo apt install logrotate
logrotate
规则文件,例如 /etc/logrotate.d/nginx
,定义日志轮转的时间和格式。logrotate
:sudo logrotate -d /etc/logrotate.conf
(测试配置文件)和 sudo logrotate -f /etc/logrotate.conf
(强制执行日志轮转)。GoAccess:
wget http://tar.goaccess.io/goaccess-1.0.2.tar.gz && tar xzvf goaccess-1.0.2.tar.gz && cd goaccess-1.0.2 && ./configure --enable-geoip --enable-utf8 && make && make install
goaccess -f /home/wwwlogs/www.vpser.net.log --log-format COMBINED
goaccess -f /home/wwwlogs/soft.vpser.net.log --log-format COMBINED -a /home/wwwroot/default/vpser.html
。ELK Stack(Elasticsearch, Logstash, Kibana):
Graylog:
Grafana Loki:
通过上述方法和工具,你可以有效地对Debian LNMP环境中的日志进行分析,从而及时发现和解决潜在问题。