文件类型 | 说明 |
---|---|
.log |
通用文本日志,按行解析 |
.csv |
结构化数据,自动识别表头 |
.json |
支持嵌套结构,需配置路径表达式 |
.parquet |
列式存储,适合大规模数据 |
预处理建议:
YYYY-MM-DD HH:MM:SS
格式drop-field
参数过滤无关字段(如调试信息)SELECT [fields] FROM [index] WHERE [conditions] [GROUP BY] [ORDER BY] [LIMIT]
常用过滤条件:
| 操作符 | 示例 | 说明 |
|——–|——|——|
| | status == 200
| 精确匹配 |
| | method != "GET"
| 排除指定值 |
| | message =~ "error"
| 正则匹配 |
| >
| duration > 100
| 数值比较 |
| EXISTS
| EXISTS field
| 字段存在性检测 |
聚合函数:
COUNT()
:统计事件总数SUM(field)
:数值字段求和AVG(field)
:平均值计算TERCENT(field)
:三分位数统计HISTOGRAM(field, bin)
:直方图分布分析场景 | 推荐图表 | 配置要点 |
---|---|---|
趋势分析 | 折线图 | 设置时间粒度(自动采样) |
分布统计 | 柱状图 | 启用堆叠模式查看细分 |
异常检测 | 散点图 | 配置阈值警戒线 |
占比分析 | 饼图 | 限制分类数量(建议<8) |
关联分析 | 热力图 | 设置相关性计算方式 |
颜色主题定制:
通过theme.json
文件修改配色方案,支持:
light
/dark
/high-contrast
["#447ADB", "#EE6666", ...]
heatmap: true
实现温度映射优化类型 | 实施方法 | 效果 |
---|---|---|
字段索引 | index-field: ["user_id", "status"] |
加速等值查询 |
倒排索引 | enable-inverted: true (适用于文本字段) |
提升全文搜索速度 |
分区策略 | partition-by: ["date_hour"] |
按时间粒度拆分数据块 |
压缩配置 | compression: "lz4" |
平衡存储空间与查询性能 |
查询加速技巧:
FETCH_FIELDS
限定返回字段WITH
子句预聚合time >= "$start"
SELECT
,指定必要字段alert: name: HighErrorRate condition: "SUM(status=500) / SUM(status=200) > 0.05" period: 5m for: 2m actions: "notify-team" "create-incident"
通知渠道集成:
| 渠道类型 | 配置参数 | 说明 |
|———-|———-|——|
| Webhook | url: "https://hook.example.com"
, method: POST
| 自定义HTTP回调 |
| Email | to: ["admin@domain.com"]
, smtp-server: smtp.example.com
| 邮件通知 |
| Slack | channel: #alerts
, webhook-url: "..."
| 即时消息推送 |
| PagerDuty| api-key: "xxxx"
, service-id: "12345"
| 事件工单集成 |
角色 | 数据查看 | 查询执行 | 告警管理 | 配置修改 |
---|---|---|---|---|
Observer | ||||
Editor | ||||
Admin | ||||
CustomRole | 自定义字段权限组合 |
安全策略:
mask-fields: ["password", "token"]
Q1:如何处理超过10TB的日志文件导入?
A1:建议采用以下方案:
filebeat
进行流式传输,配置buffer-size
和flush-interval
参数_bulk
API批量提交importer: mode: distributed shard-size: 2GB concurrency: 4
Q2:如何实现跨多个日志源的联合查询?
A2:操作步骤如下:
@timestamp
)INDEX
关键字指定多个索引: SELECT FROM index1, index2, index3 WHERE @timestamp >= '2023-01-01' AND user_id = 'abc123'
{ "mappings": { "properties": { "user_id": {"type": "keyword", "cross-source": true} } } }
JOIN
语法进行多表关联(需开启索引间的关联配置)