云计算百科
云计算领域专业知识百科平台

使用 VictoriaLogs 存储和查询服务器日志

VictoriaLogs 简介

VictoriaLogs 是一款基于 VictoriaMetrics 的高性能日志存储与查询工具,专为处理大规模服务器日志设计,具备快速写入、高效压缩和实时查询能力。

安装与配置

下载最新版本 VictoriaLogs 并解压至目标目录。默认配置文件 victorialogs.yml 包含基础参数,需根据实际需求调整存储路径、监听端口等选项。

启动服务:

./victorialogs -config=path/to/victorialogs.yml

日志存储

通过 HTTP API 或客户端库将日志发送至 VictoriaLogs。以下是使用 curl 发送日志的示例:

curl -X POST http://localhost:9090/api/v1/logs -d '
{
"streams": [
{
"labels": { "job": "nginx", "level": "error" },
"entries": [
{ "ts": "2023-01-01T12:00:00Z", "line": "Connection refused" }
]
}
]
}'

标签(labels)用于后续查询筛选,每条日志需包含时间戳(ts)和内容(line)。

查询日志

VictoriaLogs 提供 LogQL 查询语言,支持多条件过滤与聚合。查询语法示例:

{job="nginx", level="error"} | line =~ "timeout"

通过 HTTP API 执行查询:

curl -G http://localhost:9090/api/v1/query –data-urlencode 'query={job="nginx"}'

响应为 JSON 格式的日志条目列表。

性能优化

  • 批量写入:减少 HTTP 请求次数,建议单次发送多条日志。
  • 合理使用标签:避免过高基数(如用户 ID 作为标签),优先用于稳定维度(如服务名、环境)。
  • 压缩存储:默认启用 ZSTD 压缩,可通过配置调整压缩级别。

监控与维护

集成 Prometheus 监控指标,关注 ingested_logs_total(写入量)、query_duration_seconds(查询延迟)等关键指标。定期清理过期数据:

curl -X POST http://localhost:9090/api/v1/admin/tsdb/delete_series -d 'match[]={__retention__="30d"}'

此命令删除 30 天前的日志数据。

赞(0)
未经允许不得转载:网硕互联帮助中心 » 使用 VictoriaLogs 存储和查询服务器日志
分享到: 更多 (0)

评论 抢沙发

评论前必须登录!