- POST /logs/metrics:LogQL 指标查询代理,[$step] 占位符按跨度自适应步长,返回多序列(httptest 假 Loki 单测) - 快捷查询:选中 App/Pod 即写入输入框并立即查询,面板保持打开支持 Pod 级联;命名空间仅级联筛选不插入,切换时清理失效标签 - 删除冗余的「查询该范围日志」「指定副本日志」按钮;Ingress 按钮仅在选择 ingress 命名空间/app 时显示 - /logs 支持 ?q= 预填自动执行(表格「查看日志」跳转入口) - 清理无引用死组件 LogResults/LogHistogram
49 lines
2.0 KiB
Go
49 lines
2.0 KiB
Go
package dto
|
|
|
|
import "lokistack/models"
|
|
|
|
// 日志查询域
|
|
type LogSourceRequest struct {
|
|
ID uint `json:"id"`
|
|
Name string `json:"name"`
|
|
TargetType string `json:"targetType" binding:"omitempty,oneof=cluster-svc url"`
|
|
ClusterID uint `json:"clusterID"`
|
|
Namespace string `json:"namespace"`
|
|
Service string `json:"service"`
|
|
Port int `json:"port"`
|
|
URL string `json:"url"`
|
|
AuthType string `json:"authType"`
|
|
BasicUser string `json:"basicUser"`
|
|
BasicPass string `json:"basicPass"`
|
|
BearerToken string `json:"bearerToken"`
|
|
Headers map[string]string `json:"headers"`
|
|
SkipTLSVerify bool `json:"skipTLSVerify"`
|
|
IsDefault bool `json:"isDefault"`
|
|
Access []models.LogSourceAccess `json:"access"`
|
|
}
|
|
|
|
type LogQueryRequest struct {
|
|
SourceID uint `json:"sourceId" binding:"required"`
|
|
Query string `json:"query" binding:"required"`
|
|
Start int64 `json:"start"` // epoch 纳秒
|
|
End int64 `json:"end"`
|
|
Limit int `json:"limit"`
|
|
Direction string `json:"direction"`
|
|
Cursor string `json:"cursor"`
|
|
}
|
|
|
|
// LogMetricQueryRequest 日志分析指标查询:Query 为完整 LogQL 指标表达式,
|
|
// 其中的 [$step] 占位符由服务端按时间跨度替换为自适应步长(与直方图同款)
|
|
type LogMetricQueryRequest struct {
|
|
SourceID uint `json:"sourceId" binding:"required"`
|
|
Query string `json:"query" binding:"required"`
|
|
Start int64 `json:"start"` // epoch 纳秒
|
|
End int64 `json:"end"`
|
|
}
|
|
|
|
type LogContextRequest struct {
|
|
SourceID uint `json:"sourceId" binding:"required"`
|
|
TimestampNs string `json:"timestampNs" binding:"required"`
|
|
Labels map[string]string `json:"labels" binding:"required"`
|
|
}
|