journalctl命令实时查看或过滤日志。例如:journalctl -u minio.service -f(实时查看MinIO服务日志);journalctl --since "2025-09-01" --until "2025-09-30"(查看指定时间范围的日志);journalctl -u minio.service | grep "ERROR"(过滤出ERROR级别的日志)。/var/log/minio/目录下(文件名通常为minio.log),可使用tail、less等命令查看。例如:tail -f /var/log/minio/minio.log(实时跟踪日志更新);less /var/log/minio/minio.log(分页查看日志内容)。docker logs <容器ID>查看实时日志;若通过Kubernetes部署,使用kubectl logs <Pod名称> -c minio查看Pod内MinIO容器的日志。MINIO_LOG_LEVEL环境变量设置日志级别(可选ERROR、WARN、INFO、DEBUG),级别越高输出越详细。例如:export MINIO_LOG_LEVEL=DEBUG(设置为DEBUG级别,输出详细调试信息);minio server /data --log-level "DEBUG"。--logfile参数或在config.json中配置日志文件路径。例如:minio server /data --logfile /custom/path/minio.log;~/.minio/config/config.json):{
"logging": {
"level": "INFO",
"file": {
"enabled": true,
"path": "/var/log/minio/minio.log"
}
}
}
config.json中设置"console": true,或启动时添加--console-address ":9001"参数(默认控制台端口为9001)。使用logrotate工具自动分割、压缩、删除旧日志。创建/etc/logrotate.d/minio配置文件,内容如下:
/var/log/minio/*.log {
daily # 每天轮转一次
missingok # 若日志文件不存在也不报错
rotate 7 # 保留最近7天的日志
compress # 压缩旧日志(节省空间)
notifempty # 若日志为空则不轮转
create 640 root adm # 创建新日志文件并设置权限
}
保存后,logrotate会自动按配置执行轮转(可通过sudo logrotate -f /etc/logrotate.d/minio手动触发)。
grep过滤关键信息(如错误日志):grep "ERROR" /var/log/minio/minio.log;使用awk提取特定字段(如时间、请求路径):awk '{print $1, $2, $5}' /var/log/minio/minio.log。--prometheus-endpoint参数暴露监控指标(如请求延迟、存储用量),配置Prometheus抓取指标,再用Grafana创建监控面板(如实时QPS、磁盘剩余空间)。journalctl清理系统日志:sudo journalctl --vacuum-time=1w(保留最近1周的日志);sudo journalctl --vacuum-size=500M(限制日志文件总大小为500MB)。find命令清理旧日志文件:sudo find /var/log -type f -name "*.log" -mtime +7 -delete(删除7天前的.log文件);sudo find /var/log -type f -name "*.log" -exec truncate -s 0 {} \;(清空所有.log文件内容)。rsync或scp将日志文件复制到远程备份服务器。例如:rsync -avz /var/log/minio/ user@backup-server:/path/to/backup/(同步日志到远程服务器的/path/to/backup/目录)。