Datadog 成立于 2010 年,是一家面向开发者、IT 运维团队及业务人员的云监控平台公司,致力于为企业客户提供底层系统和上层应用的实时监控、分析能力。
日志管理产品,可观测数据 log, metric, trace 集一身的方案。Datadog 的日志查询有一套自己的语法,但是都比较好了解,所以这里也整理一下。
概述 Overview
查询过滤器由两部分组成 terms (术语) 和 operators(运算符)。
两种类型的术语:
- single term 是一个单词,比如
test
- sequence 是一组通过双引号包围的短语,比如
hello world
将多个术语通过如下的操作符组成形成复杂的查询语句。
- AND,满足所有条件
- OR,任意术语包含
- -,术语不包含
Escape special characters and spaces
下面这一些是特殊字符
+ - = && || > < ! ( ) { } [ ] ^ " “ ” ~ * ? : \
如果要查询这些特殊字符需要使用 \
来转义。
属性搜索
按照特定的属性进行搜索,可以使用 @
指定。
比如想要查询 url 是 example.com
的记录
@url:example.com
更多例子
@http.url_details.path:"/api/v1/test"
搜索 http.url_details.path 中与/api/v1/test
匹配的所有日志@http.url:\/api\/v1\/*
搜索包含以/api/v1
开头的http.url
属性中的值的所有日志@http.status_code:[200 TO 299] @http.url_details.path:\/api\/v1\/*
包含范围 code 和以/api/v1
开头的属性的日志-@http.status_code:*
搜索不包含属性的日志
通配符
?
匹配单个字符*
通配
数值
比如所有的接口请求都有延迟
@http.response_time:>1000
或者搜索特定的范围
@http.status_code:[400 TO 499]
标签 Tags
匹配带有标签 env:prod
或标签 env:test
的所有日志
env:(prod OR test)
匹配包含标签 env:prod
且不包含标签 version:beta
的日志
(env:prod AND -version:beta)