用Goaccess对Web及雷池WAF日志实现可视化分析
package main
import (
"fmt"
"os"
"os/exec"
)
func main() {
// 设置日志文件路径
logPath := "/var/log/apache2/web_pool_access.log"
reportPath := "/var/www/html/report.html"
// 使用Goaccess生成报告
cmd := exec.Command("goaccess", logPath, "-o", reportPath, "--log-format=COMBINED", "--date-format=YYYY-MM-DD", "--time-format=HH:MM:SS")
cmd.Stdout = os.Stdout
cmd.Stderr = os.Stderr
// 执行命令
if err := cmd.Run(); err != nil {
fmt.Println("生成报告失败:", err)
return
}
fmt.Println("报告生成成功,路径:", reportPath)
}
这段代码使用Go语言的os/exec
包来执行goaccess
命令,并将日志文件路径和输出文件路径传递给它。这样可以自动化地生成Web日志的可视化报告,并且可以在Go程序中集成这个过程。
评论已关闭