如何查看访问日志?

SSLcat 提供了完整的访问日志功能,让你可以追踪所有访问请求,分析访问模式,监控系统状态。

日志类型

SSLcat 生成多种类型的日志:

访问日志格式

访问日志包含详细信息:

2024-01-15 10:30:45 192.168.1.100 GET /api/users 200 1.2s "Mozilla/5.0..."
2024-01-15 10:30:46 192.168.1.101 POST /api/login 401 0.8s "curl/7.68.0"
2024-01-15 10:30:47 192.168.1.102 GET /static/style.css 200 0.1s "Mozilla/5.0..."

日志配置

配置日志输出格式和级别:

# 日志配置
logging:
  level: "info"
  format: "json"
  output: "file"
  
  # 访问日志
  access_log:
    enabled: true
    file: "/var/log/sslcat/access.log"
    format: "combined"
    rotation:
      max_size: "100MB"
      max_files: 10
  
  # 错误日志
  error_log:
    enabled: true
    file: "/var/log/sslcat/error.log"
    level: "error"

实时日志查看

实时查看日志文件:

# 查看访问日志
tail -f /var/log/sslcat/access.log

# 查看错误日志
tail -f /var/log/sslcat/error.log

# 查看系统日志
journalctl -u sslcat -f

日志分析

使用命令行工具分析日志:

# 统计访问量
awk '{print $1}' /var/log/sslcat/access.log | sort | uniq -c | sort -nr

# 查看错误请求
grep " 4[0-9][0-9] " /var/log/sslcat/access.log

# 查看 5xx 错误
grep " 5[0-9][0-9] " /var/log/sslcat/access.log

# 统计响应时间
awk '{print $NF}' /var/log/sslcat/access.log | sort -n

管理面板日志

通过 Web 管理面板查看日志:

日志轮转

配置日志轮转避免日志文件过大:

# logrotate 配置
/var/log/sslcat/*.log {
    daily
    rotate 30
    compress
    delaycompress
    missingok
    notifempty
    create 644 sslcat sslcat
    postrotate
        systemctl reload sslcat
    endscript
}

监控和告警

基于日志的监控告警:

日志分析工具

推荐使用日志分析工具:

最佳实践

日志管理的最佳实践:

通过完善的日志系统,你可以更好地监控和管理 SSLcat 服务。