菜单
开源

HTTP API Grafana洛基

Grafana洛基公开HTTP API来压迫、查询和跟踪日志数据。请注意,验证API是超出了洛基的范围。

Microservices模式

当部署洛基在microservices模式中,每个组件公开的端点的集合是不同的。

这些端点暴露所有组件:

这些端点公开查询器和查询前端:

这些端点公开的经销商:

这些端点公开的摄取:

从API端点洛基/普罗米修斯API-compatible结果格式可以交替使用。

这些端点公开的统治者:

这些端点公开的压实机:

一个的客户列表客户文档中可以找到。

矩阵、向量和流

一些洛基API端点返回结果的一个矩阵,一个向量,或流:

  • 矩阵:值表中每一行代表一个不同的标签集和这一行的列是每个样本值的查询时间。矩阵类型只运行一个查询时返回计算值。

  • 即时向量:用类型只是表示向量,瞬间向量代表给定labelset最新的计算值。即时向量只在进行查询时返回一个时间点。

  • 流:一个流是一组所有的值(日志)对于一个给定的标签设置查询时间范围。流是唯一类型将导致日志行返回。

时间戳的格式

API接受几个时间戳的格式。整数与10个或更少的数字被解释为一个Unix时间戳在几秒钟内。超过十位数是解释为一个Unix时间戳在纳秒。一个浮点数与分数秒Unix时间戳。

的时间戳也可以用RFC3339RFC3339Nano支持的格式,因为去的时间包中。

查询洛基

GET /洛基/ api / v1 /查询

洛基/ api / v1 /查询允许做查询单个时间点。URL查询参数支持以下值:

  • 查询:LogQL查询执行
  • 限制:返回条目的最大数量。它默认为One hundred.。只适用于查询类型产生流(日志行)的反应。
  • 时间:查询的评估时间为纳秒Unix或另一个时代支持的格式。默认了。
  • 方向:决定了日志的排序顺序。支持的值向前落后的。默认为落后的

在microservices模式下,洛基/ api / v1 /查询公开的查询器前端。

响应格式:

{“状态”:“成功”,“数据”:{“resultType”:“向量”|“流”、“结果”:[<矢量值>]| <流值>,“统计”:[<统计>]}}

在哪里<矢量值>是:

{“指标”:{<标签键值>},“价值”:[<号码:第二个unix时代>、<字符串:值>]}

<流值>是:

{"流":{<标签键值>},“值”:[[<字符串:纳秒unix时代>,<字符串:日志行>),…]}

的物品数组排序的时间戳。最近的项目是第一次使用时向后方向=。最古老的项目是第一次使用时向前方向=

看到统计数据洛基返回的信息统计。

例子

这个示例查询

curl - g - s " http://localhost: 3100 /洛基/ api / v1 /查询”\——data-urlencode \ '查询=总和(率({工作=“varlogs”}(10米)))(高度)的|金桥

给这个响应:

{“状态”:“成功”,“数据”:{“resultType”:“向量”、“结果”:[{“指标”:{},“价值”:[1588889221,“1267.1266666666666”]},{“指标”:{“级别”:“警告”},“价值”:[1588889221,“37.77166666666667”]},{“指标”:{“级别”:“信息”},“价值”:[1588889221,“37.69”]}],“统计”:{…}}}

如果你的集群Grafana洛基多租户启用,设置X-Scope-OrgID头来确定租户你想查询。这里是相同的例子查询单一租户Tenant1:

curl - h ' X-Scope-OrgID: Tenant1 \ - g - s“http://localhost: 3100 /洛基/ api / v1 /查询”\——data-urlencode \ '查询=总和(率({工作=“varlogs”}(10米)))(高度)的|金桥

查询三个租户Tenant1,Tenant2,Tenant3指定租户名称由管道(|)性格:

curl - h的X-Scope-OrgID: Tenant1 | Tenant2 | Tenant3 ' \ - g - s“http://localhost: 3100 /洛基/ api / v1 /查询”\——data-urlencode \ '查询=总和(率({工作=“varlogs”}(10米)))(高度)的|金桥

相同的示例查询Grafana企业日志使用基本身份验证并指定作为承租人的名字用户。租户名称由管道(|)字符。密码在这个例子中是一个访问令牌已经定义的政策API_TOKEN环境变量:

curl - u”Tenant1 | Tenant2 | Tenant3: $ API_TOKEN“\ - g - s“http://localhost: 3100 /洛基/ api / v1 /查询”\——data-urlencode \ '查询=总和(率({工作=“varlogs”}(10米)))(高度)的|金桥

查询洛基的范围

得到/洛基/ api / v1 / query_range

洛基/ api / v1 / query_range是用来做一个查询在一系列时间并接受以下URL的查询参数:

  • 查询:LogQL查询执行
  • 限制:返回条目的最大数量。它默认为One hundred.。只适用于查询类型产生流(日志行)的反应。
  • 开始:查询的开始时间为纳秒Unix或另一个时代支持的格式。默认为一小时前。
  • 结束:查询的结束时间为纳秒Unix或另一个时代支持的格式。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。
  • 一步:查询解析步骤宽度持续时间格式或漂浮的秒数。持续时间普罗米修斯是指持续时间的字符串形式[0 - 9]+ [smhdwy]。例如,5米是指持续时间5分钟。默认为一个动态的基于价值开始结束。只适用于查询类型产生一个矩阵响应。
  • 时间间隔:这个参数是实验;见步骤与时间间隔下的解释。只返回条目(或超过)指定的间隔,可以是一个持续时间格式或漂浮的秒数。只适用于查询产生一连串的反应。
  • 方向:决定了日志的排序顺序。支持的值向前落后的。默认为落后。

在microservices模式下,洛基/ api / v1 / query_range公开的查询器前端。

步骤和时间间隔

使用一步参数进行度量查询洛基,或查询返回一个矩阵响应。它是普罗米修斯评估评估以完全相同的方式一步。第一个查询将被评估开始然后再评估开始+一步再一次在+ +一步一步开始直到结束是达到了。查询的结果将是一个矩阵结果评估每一步。

使用时间间隔洛基参数在进行日志查询,或查询返回一个响应。它是评估通过返回一个日志条目开始,那么下一个条目将返回与timestampe > =一个条目开始+间隔再次,在+时间+间隔开始等等,直到结束是达到了。它不填补缺失的条目。

注意实验性质的区间参数:这个标志可以在未来,如果是这样的话它可能会支持一个LogQL表达式来执行类似的行为,但这是不确定的。发行1779创建跟踪讨论,如果您使用的是吗时间间隔请添加你的用例和对这个问题的想法。

回应:

{“状态”:“成功”,“数据”:{“resultType”:“矩阵”|“流”、“结果”:[<矩阵值>]|[<流值>]“统计”:[<统计>]}}

在哪里<矩阵值>是:

{“指标”:{<标签键值>},“值”:[[<号码:第二个unix时代>、<字符串:值>),…]}

的物品数组按时间戳排序,最古老的项目。

<流值>是:

{"流":{<标签键值>},“值”:[[<字符串:纳秒unix时代>,<字符串:日志行>),…]}

的物品数组排序的时间戳。最近的项目是第一次使用时向后方向=。最古老的项目是第一次使用时向前方向=

看到统计数据洛基返回的信息统计。

例子

美元curl - g - s " http://localhost: 3100 /洛基/ api / v1 / query_range”——data-urlencode '查询=总和(率({工作=“varlogs”}(10米)))(高度)的——data-urlencode“一步= 300”|金桥{“地位”:“成功”,“数据”:{“resultType”:“矩阵”,“结果”:[{“指标”:{“级别”:“信息”},“值”:[[1588889221,“137.95”],1588889221,“467.115”,[1588889221,“658.8516666666667”]]},{“指标”:{“级别”:“警告”},“值”:[[1588889221,“137.27833333333334”],1588889221,“467.69”,[1588889221,“660.6933333333334”]]}],“统计”:{…}}}
美元curl - g - s " http://localhost: 3100 /洛基/ api / v1 / query_range”——data-urlencode”查询= =“varlogs”}{工作' |金桥{“地位”:“成功”,“数据”:{“resultType”:“流”、“结果”:[{“流”:{“文件名”:“/ var / log / myproject的。日志”、“工作”:“varlogs”、“水平”:“信息”},“值”:[[“1569266497240578000”、“foo”],[“1569266492548155000”、“酒吧”]]}],“统计”:{…}}}

列表标签范围内的时间

GET /洛基/ api / v1 /标签

洛基/ api / v1 /标签检索的列表标签在一个给定的时间跨度。洛基可能使用一个更大的时间跨度比指定。它接受以下URL的查询参数:

  • 开始:查询的开始时间为纳秒Unix新纪元。默认为6小时前。
  • 结束:查询的结束时间为纳秒Unix新纪元。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。

在microservices模式下,洛基/ api / v1 /标签公开的查询器。

回应:

{“状态”:“成功”,“数据”:[<字符串>标签,…]}

例子

美元curl - g - s " http://localhost: 3100 /洛基/ api / v1 /标签”|金桥{“地位”:“成功”,“数据”:[“foo”、“酒吧”,“记者”]}

列表标签值范围内

得到洛基/ api / v1 /标签/ <名称> /值

洛基/ api / v1 /标签/ <名称> /值检索给定的已知值列表标签在一个给定的时间跨度。洛基可能使用一个更大的时间跨度比指定。它接受以下URL的查询参数:

  • 开始:查询的开始时间为纳秒Unix新纪元。默认为6小时前。
  • 结束:查询的结束时间为纳秒Unix新纪元。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。
  • 查询:一组日志流选择器选择流匹配并返回标签值<名称>。例子:{“应用程序”:“myapp”、“环境”:“开发”}

在microservices模式下,洛基/ api / v1 /标签/ <名称> /值公开的查询器。

回应:

{“状态”:“成功”,“数据”:[<标签值>,……]}

例子

美元curl - g - s " http://localhost: 3100 /洛基/ api / v1 /标签/ foo /价值观”|金桥{“地位”:“成功”,“数据”:[“猫”,“狗”,“蝾螈)}

流日志消息

GET /洛基/ api / v1 /尾巴

洛基/ api / v1 /尾巴是一个WebSocket端点,将流基于查询的日志消息。它接受以下URL的查询参数:

  • 查询:LogQL查询执行
  • delay_for:推迟的秒数检索日志让缓慢的伐木工迎头赶上。默认为0,不能大于5。
  • 限制:返回条目的最大数量。它默认为One hundred.
  • 开始:查询的开始时间为纳秒Unix新纪元。默认为一小时前。

在microservices模式下,洛基/ api / v1 /尾巴公开的查询器。

响应(流):

{“流”:[{“流”:{<标签键值>},“值”:[[<字符串:纳秒unix时代>,<字符串:日志行>]]}],“dropped_entries”:[{“标签”:{<标签键值>},“时间戳”:“<纳秒unix时代>”}]}

推动日志条目洛基

POST /洛基/ api / v1 /推动

洛基/ api / v1 /推动是洛基的端点用于发送日志条目。的默认行为是职务的身体是snappy-compressed protobuf信息:

另外,如果内容类型头被设置为application / json,一个JSON的身体可以发送以下格式:

[{{“流”:“流”:{“标签”:“价值”},“值”:[[< unix以纳秒时代>,<日志行>”],[< unix以纳秒时代>,<日志行>“]]}]}

你可以设置内容编码:gzip请求头和post gzip JSON。

在microservices模式下,洛基/ api / v1 /推动公开的分销商。

例子

美元curl - v - h“application / json - type:”-XPOST - s " http://localhost: 3100 /洛基/ api / v1 /推”——data-raw \ '{“流”:[{“流”:{“foo”:“bar2”},“值”:[[“1570818238000000000”、“fizzbuzz”]]}]}”

确定准备好了洛基实例

准备好/

/准备洛基实例时返回HTTP 200准备接受交通。如果运行洛基Kubernetes,/准备可以用作准备调查。

在microservices模式下,/准备端点暴露的所有组件。

刷新内存块后备存储器

POST /冲刷

/平触发ingesters持有的所有内存块的冲洗后备存储器。主要用于本地测试。

在microservices模式下,/平端点公开的摄取。

刷新内存块和关闭

POST /吸收/关闭

/吸收/关闭触发器的摄取,尤其是将关闭总是冲洗任何在内存块。这是有利于按比例缩小WAL-enabled ingesters,我们希望确保老WAL目录并不是孤立的,而是刷新到块后端。

它接受三个URL查询参数冲洗,delete_ring_tokens,终止

URL查询参数:

  • 冲洗= < bool >:国旗控制是否刷新内存块的摄取。默认为真正的
  • delete_ring_tokens = < bool >:国旗控制是否要删除文件,其中包含实例的令牌,如果摄取戒指-ingester.token-file-path都是确定的。默认为“虚假。
  • 终止= < bool >:国旗控制是否要终止洛基流程售后服务关闭。默认为真正的

这个处理程序,而弃用/吸收/ flush_shutdown默认处理程序,洛基过程终止。这种行为可以通过设置改变终止查询参数

在microservices模式下,/吸收/关闭端点公开的摄取。

显示经销商一致的哈希环状态

获得/分销商/环

显示一个web页面的分销商散列环状态,包括状态、健康和每个经销商的最后心跳时间。

返回暴露普罗米修斯指标

GET /指标

/指标返回暴露普罗米修斯指标。看到观察洛基为出口标准的列表。

在microservices模式下,/指标端点暴露的所有组件。

当前配置列表

GET /配置

/配置暴露出当前配置。可选模式查询参数可以用来修改输出。如果它有价值diff只有默认配置之间的差异和当前返回。的值违约返回默认配置。

在microservices模式下,/配置端点暴露的所有组件。

运行服务列表

GET /服务

/服务返回一个列表的所有正在运行的服务和他们的当前状态。

服务可以有以下状态:

  • :服务是新的,没有运行(初始状态)
  • 开始:服务;如果启动成功,进入服务运行状态
  • 运行现在:服务是完全运行;服务停止运行时,它进入停止状态
  • 停止:服务是关闭的
  • 终止:服务已经停止成功(终端状态)
  • 失败的:服务失败了开始,运行停止终端状态(状态)

构建信息列表

得到洛基/ api / v1 /地位/ buildinfo

/洛基/ api / v1 /地位/ buildinfo公开信息构建在一个JSON对象。字段是版本,修订,分支,buildDate,buildUser,goVersion

格式的查询

GET /洛基/ api / v1 / format_query POST /洛基/ api / v1 / format_query

参数:

  • 查询:LogQL查询字符串。可以通过URL参数(查询= <查询> ?)两种得到帖子。或形式的价值帖子

洛基/ api / v1 / format_query端点允许格式LogQL查询。它返回一个错误,如果通过LogQL是无效的。暴露所有洛基组件和有助于提高可读性和LogQL查询的调试经验。

列表系列

该系列API可在下列:

  • GET /洛基/ api / v1 /系列
  • POST /洛基/ api / v1 /系列
  • GET / api /舞会系列
  • POST / api /舞会/系列

这个端点返回时间序列匹配一个特定的列表标签集。

URL查询参数:

  • 匹配[]= < series_selector >:重复日志流选择器参数选择流返回。至少有一个匹配[]必须提供参数。
  • 开始= > <纳秒Unix时间戳:开始时间戳。
  • 结束= <纳秒Unix时代>:结束时间戳。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。

你可以url编码这些参数在请求体中直接使用POST方法内容类型:应用程序/ x-www-form-urlencoded头。这是有用的在指定数量大或动态的流可能违反端URL字符限制的选择器。

在microservices模式中,这些端点查询器公开的。

例子

美元curl - s " http://localhost: 3100 /洛基/ api / v1 /系列”——data-urlencode匹配[]= {container_name = ~”普罗米修斯。*”、组件= "服务器"}”——data-urlencode '匹配[]= =“洛基”}{应用“|金桥”。“{”状态”:“成功”、“数据”:[{“container_name”:“洛基”,“应用”:“洛基”,“流”:“stderr”,“文件名”:“/ var / log /豆荚/ default_loki栈- 0 - _50835643 - 1 df0 - 11 - ea - ba79 - 025000000001 /洛基/ 0。日志”、“名称”:“洛基”、“工作”:“违约/洛基”、“controller_revision_hash”:“洛基- stack - 757479754 d”、“statefulset_kubernetes_io_pod_name”:“loki-stack-0”、“释放”:“loki-stack”、“名称”:“违约”、“实例”:“loki-stack-0”},{“图表”:“prometheus-9.3.3”,“container_name”:“prometheus-server-configmap-reload”、“文件名”:“/ var / log /豆荚/ default_loki -堆栈普罗米修斯-服务器- 696 cc9ddff - 87 - lmq_507b1db4 - 1 - df0 - 11 - ea - ba79 - 025000000001 / prometheus-server-configmap-reload / 0。日志”、“实例”:“洛基-堆栈普罗米修斯-服务器- 696 cc9ddff - 87 lmq”、“pod_template_hash”:“696年cc9ddff”、“应用”:“普罗米修斯”、“组件”:“服务器”、“遗产”:“舵”、“工作”:“违约/普罗米修斯”、“名称”:“违约”、“释放”:“loki-stack”、“流”:“stderr”},{“应用”:“普罗米修斯”,“组件”:“服务器”,“文件名”:“/ var / log /豆荚/ default_loki -堆栈普罗米修斯-服务器- 696 cc9ddff - 87 - lmq_507b1db4 - 1 - df0 - 11 - ea - ba79 - 025000000001 / prometheus-server / 0。日志”、“释放”:“loki-stack”、“名称”:“违约”、“pod_template_hash”:“696年cc9ddff”、“流”:“stderr”、“图”:“prometheus-9.3.3”、“container_name”:“prometheus-server”、“遗产”:“舵”、“实例”:“洛基-堆栈普罗米修斯-服务器- 696 cc9ddff - 87 lmq”、“工作”:“违约/普罗米修斯”}]}

索引统计数据

洛基/ api / v1 /索引/统计数据端点可以用来查询索引的数量,,条目,字节查询解析。

URL查询参数:

  • 查询:LogQL匹配器检查(即。{工作= " foo ", env ! =“开发”})
  • 开始= > <纳秒Unix时间戳:开始时间戳。
  • 结束= <纳秒Unix时代>:结束时间戳。

你可以url编码这些参数在请求体中直接使用POST方法内容类型:应用程序/ x-www-form-urlencoded头。这是有用的在指定数量大或动态的流可能违反端URL字符限制的选择器。

回应:

{“流”:100年,“块”:1000年,“条目”:5000年,“字节”:100000}

这是一个近似用以下事项:

  • 它不包含数据从ingesters
  • 这是一个概率的技术
  • 流/块跨越多个时期配置可能会计算两次。

这些使它更有利于大的查询。它可以用于更好地理解和数据吞吐量要求拓扑的匹配器在一段时间内。

统计数据

查询终端等/ api /舞会/查询,洛基/ api / v1 /查询洛基/ api / v1 / query_range返回一组数据查询执行。这些统计数据允许用户了解处理的数据量和速度。

下部的例子显示所有可能的数据返回各自的描述。

{“状态”:“成功”,“数据”:{“resultType”:“流”、“结果”:[],“统计”:{“摄取”:{“compressedBytes”: 0, / /总字节压缩块(块)处理ingesters“decompressedBytes”: 0, / /总字节解压和处理ingesters“decompressedLines”: 0, / /总线解压缩和处理ingesters“headChunkBytes”: 0, / /总字节读取ingesters头块“headChunkLines”: 0, / /总行读取ingesters头块“totalBatches”: 0, / /发送的总批次ingesters“totalChunksMatched”: 0, / /总块匹配ingesters“totalDuplicates”: 0, / /总重复发现ingesters“totalLinesSent”: 0, / /总线路发送的ingesters“totalReached”: 0 / / ingesters达到。},“商店”:{“compressedBytes”: 0, / /总字节压缩块(块)处理的存储“decompressedBytes”: 0, / /解压的总字节数储存和加工的“decompressedLines”: 0, / /总解压缩和处理的行存储“chunksDownloadTime”: 0, / /总下载时间块在几秒钟内(浮动)“totalChunksRef”: 0, / /总块索引中发现当前查询“totalChunksDownloaded”: 0, / /总块下载“totalDuplicates”: 0 / /总重复从复制},“总结”:{“bytesProcessedPerSecond”: 0, / /总处理的字节每秒“execTime”: 0, / /总执行时间以秒为单位(浮动)“linesProcessedPerSecond”: 0, / /总线条处理每秒“queueTime”: 0, / /总队列时间以秒为单位(浮动)“totalBytesProcessed”: 0, / /总量总体来说处理这个请求的字节数“totalLinesProcessed”: 0 / /行加工总量总体来说这个请求}}}}

统治者

统治者API端点需要配置一个后端对象存储来存储记录规则和警报。统治者API使用“名称空间”的概念在创建规则组。这是一个替身在普罗米修斯规则文件的名称。规则组必须在一个名叫独特的名称空间。

统治者环状态

获得/统治者/环

显示一个web页面的统治者希环状态,包括状态、健康和持续心跳时间的统治者。

规则组列表

GET /洛基/ api / v1 /规则

列出所有规则配置的身份验证的租户。这个端点返回YAML字典为每个名称空间和所有的规则组200年状态码成功。

示例响应

推荐- - - - - - < namespace1 >: -名称:<字符串>间隔:<时间;可选>规则:-警报:<字符串> expr: <字符串>:<时间>注释:< annotation_name >: <字符串>标签:< label_name >: <字符串> -名称:<字符串>间隔:<时间;可选>规则:-警报:<字符串> expr: <字符串>:<时间>注释:< annotation_name >: <字符串>标签:< label_name >: <字符串> < namespace2 >: -名称:<字符串>间隔:<时间;可选>规则:-警报:<字符串> expr: <字符串>:<时间>注释:< annotation_name >: <字符串>标签:< label_name >: <字符串>

被命名空间规则组

GET /洛基/ api / v1 /规则/{名称}

返回给定名称空间定义的规则组。

示例响应

名称:<字符串>间隔:<时间;可选>规则:-警报:<字符串> expr: <字符串>:<时间>注释:< annotation_name >: <字符串>标签:< label_name >: <字符串>

得到规则组

得到洛基/ api / v1 /规定/{名称空间}/ {groupName}

返回请求匹配的规则组名称空间和组名。

设置规则组

POST /洛基/ api / v1 /规定/{名称}

创建或更新规则组。这个端点期望与要求内容类型:应用程序/ yaml头和规则YAML请求中定义的身体,并返回202年在成功。

示例请求

请求头信息:

  • 内容类型:应用程序/ yaml

请求主体:

名称:<字符串>间隔:<时间;可选>规则:-警报:<字符串> expr: <字符串>:<时间>注释:< annotation_name >: <字符串>标签:< label_name >: <字符串>

删除规则组

删除/洛基/ api / v1 /规定/{名称空间}/ {groupName}

删除规则组的名称空间和组名。这个端点返回202年在成功。

删除名称空间

删除/洛基/ api / v1 /规则/{名称}

删除名称空间中的所有规则组(包括名称空间本身)。这个端点返回202年在成功。

规则列表

GET /普罗米修斯/ api / v1 /规则

Prometheus-compatible规则端点列表报警和记录当前加载的规则。

有关更多信息,请参考普罗米修斯规则文档。

警报列表

GET /普罗米修斯/ api / v1 /警报

Prometheus-compatible规则端点列出所有活跃警报。

有关更多信息,请查看普罗米修斯警报文档。

压实机

压实机环状态

压实机/环

显示一个web页面与压实机散列环状态,包括状态、健康,每个压缩机的最后心跳时间。

请求日志删除

POST /洛基/ api / v1 /删除PUT /洛基/ api / v1 /删除

创建一个新的删除请求身份验证的租户。的日志条目删除文档配置细节。

支持日志条目删除只有当BoltDB托运人为索引存储配置。

查询参数:

  • 查询= < series_selector >:查询参数确定的流与可选行删除过滤器。
  • 开始= < rfc3339 | unix_seconds_timestamp >:一个时间戳,识别开始的时间窗内条目将被删除。这个参数是必需的。
  • 结束= < rfc3339 | unix_seconds_timestamp >:一个时间戳,表明结束的时间窗口内的条目将被删除。如果没有指定,默认为当前时间。
  • max_interval = <时间>:最大的时间段删除请求可以跨越。如果请求大于这个值,它被分为若干个请求< =max_interval。有效时间单位是年代,,h

204年响应表示成功。

查询参数还可以包括过滤器操作。例如查询= {foo =“酒吧”}| =“其他”将过滤掉包含字符串的行“其他”流流选择器匹配的吗{foo = "栏"}

例子

URL编码查询参数。这个示例URL编码的cURL命令的形式查询= {foo = "栏"}:

curl - g - x发布\ ' http://127.0.0.1:3100洛基/ api / v1 /删除吗?查询= {foo = "栏"}&start=1591616227&end=1591619692' \ -H 'X-Scope-OrgID: 1'

同一个例子删除请求Grafana企业日志使用基本身份验证和指定了租户的用户名称;Tenant1在这个例子中是承租人的名字。密码在这个例子中是一个访问政策令牌API_TOKEN被定义的环境变量。令牌必须访问政策日志:删除范围中指定的租户用户字段:

curl - u“Tenant1: $ API_TOKEN \ - g - x发布\ ' http://127.0.0.1:3100洛基/ api / v1 /删除?查询= {foo =“酒吧”}开始= 1591616227,结束= 1591616227 '

列表记录删除请求

得到洛基/ api / v1 /删除

现有的删除请求身份验证的租户名单。的日志条目删除文档配置细节。

支持日志条目删除只有当BoltDB托运人为索引存储配置。

使用以下API:现有的列表删除请求

得到洛基/ api / v1 /删除

这个端点返回加工和未加工的删除请求。它不列表取消请求,这些请求将从存储已被移除。

例子

cURL命令示例:

curl - x \ < compactor_addr > /洛基/ api / v1 /删除\ - h“X-Scope-OrgID: < orgid >”

同一个例子删除请求Grafana企业日志使用基本身份验证和指定了租户的用户名称;Tenant1在这个例子中是承租人的名字。密码在这个例子中是一个访问政策令牌API_TOKEN被定义的环境变量。令牌必须访问政策日志:删除租户用户字段中指定的范围。

curl - u“Tenant1: $ API_TOKEN \ - x得到\ < compactor_addr > /洛基/ api / v1 /删除

请求取消删除请求

删除/洛基/ api / v1 /删除

删除删除请求身份验证的租户。的日志条目删除文档配置细节。

洛基允许取消删除请求,直到请求进行处理。它是控制的delete_request_cancel_periodYAML配置或相当于命令行选项时调用洛基。取消删除请求,已经拿起了处理或部分完成,通过力= true查询参数的API。

支持日志条目删除只有当BoltDB托运人为索引存储配置。

取消删除请求使用此压缩机端点:

删除/洛基/ api / v1 /删除

查询参数:

  • request_id = < request_id >:确定删除请求取消;IDs使用删除端点。
  • 力= <布尔>:当查询参数是正确的,部分完成删除请求将被取消。注意:一些数据从请求仍可能被删除,删除请求将被列为“加工”

204年响应表示成功。

例子

cURL命令示例:

curl - x删除\ ' < compactor_addr > /洛基/ api / v1 /删除吗?request_id = < request_id >' \ -H 'X-Scope-OrgID: '

相同的例子删除取消请求Grafana企业日志使用基本身份验证和指定租户的用户名称;Tenant1在这个例子中是承租人的名字。密码在这个例子中是一个访问政策令牌API_TOKEN被定义的环境变量。令牌必须访问政策日志:删除租户用户字段中指定的范围。

curl - u“Tenant1: $ API_TOKEN \ - x删除\ ' < compactor_addr > /洛基/ api / v1 /删除? request_id = < request_id > '

弃用端点

GET / api /舞会/尾巴

弃用:/ api /舞会/尾巴弃用。使用洛基/ api / v1 /尾巴代替。

/ api /舞会/尾巴是一个WebSocket端点,将流基于查询的日志消息。它接受以下URL的查询参数:

  • 查询:LogQL查询执行
  • delay_for:推迟的秒数检索日志让缓慢的伐木工迎头赶上。默认为0,不能大于5。
  • 限制:返回条目的最大数量
  • 开始:查询的开始时间为纳秒Unix新纪元。默认为一小时前。

在microservices模式下,/ api /舞会/尾巴公开的查询器。

响应(流):

{“流”:[{“标签”:“< LogQL标签键值>”,“条目”:[{“t”:“< RFC3339Nano timestamp >”,“线”:“<日志行>”}]}],“dropped_entries”:[{“时间戳”:“< RFC3339Nano timestamp >”,“标签”:“< LogQL标签键值>}]}

dropped_entries将填充时,尾随者不能跟上在洛基的流量。当礼物,它表明该条目的流不是全额收到在洛基的日志。注意,键dropped_entries将大写吗时间戳标签而不是标签ts流的条目。

响应流,上面的响应格式定义的对象将通过WebSocket多次发送。

GET / api /舞会/查询

警告:/ api /舞会/查询弃用;使用洛基/ api / v1 / query_range代替。

/ api /舞会/查询支持做通用查询。URL查询参数支持以下值:

  • 查询:LogQL查询执行
  • 限制:返回条目的最大数量
  • 开始:查询的开始时间为纳秒Unix新纪元。默认为一小时前。
  • 结束:查询的结束时间为纳秒Unix新纪元。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。
  • 方向:决定了日志的排序顺序。支持的值向前落后的。默认为落后。
  • 正则表达式:一个正则表达式来过滤返回的结果

在microservices模式下,/ api /舞会/查询公开的查询器前端。

请注意,时间跨度越大开始结束会导致额外的洛基和索引存储负担,导致较慢的查询。

回应:

{“流”:[{“标签”:“< LogQL标签键值>”,“条目”:[{“t”:“< RFC3339Nano字符串>”,“线”:“<日志行>”},…),},…),“统计”:[<统计>]}

看到统计数据洛基返回的信息统计。

例子

美元curl - g - s " http://localhost: 3100 / api /舞会/查询”——data-urlencode”查询= {foo =“酒吧”}' |金桥{“流”:[{“标签”:“{文件名= \ " / var / log / myproject的。日志\”,工作= \“varlogs \”,水平= \ " info \“}”,“条目”:[{“t”:“2019 - 06 - 06 t19:25:41.972739z”,“线”:“foo”}, {“t”:“2019 - 06 - 06 t19:25:41.972722z”,“线”:“酒吧”}]}],“统计”:{…}}

GET / api /舞会/标签/ <名称> /值

警告:/ api /舞会/标签/ <名称> /值弃用;使用洛基/ api / v1 /标签/ <名称> /值

/ api /舞会/标签/ <名称> /值检索给定的已知值列表标签在一个给定的时间跨度。它接受以下URL的查询参数:

  • 开始:查询的开始时间为纳秒Unix新纪元。默认为6小时前。
  • 结束:查询的结束时间为纳秒Unix新纪元。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。

在microservices模式下,/ api /舞会/标签/ <名称> /值公开的查询器。

回应:

{“价值观”:[<标签值>,……]}

例子

美元curl - g - s " http://localhost: 3100 / api /舞会/标签/ foo /价值观”|金桥{“值”:[“猫”,“狗”,“蝾螈)}

GET / api /舞会/标签

警告:/ api /舞会/标签弃用;使用洛基/ api / v1 /标签

/ api /舞会/标签检索的列表标签在一个给定的时间跨度。它接受以下URL的查询参数:

  • 开始:查询的开始时间为纳秒Unix新纪元。默认为6小时前。
  • 结束:查询的结束时间为纳秒Unix新纪元。默认了。
  • :一个持续时间用来计算开始相对于结束。如果结束在未来,开始现在这个时间计算。指定任何值开始取代该参数。

在microservices模式下,/ api /舞会/标签公开的查询器。

回应:

{“价值观”:[<字符串>标签,…]}

例子

美元curl - g - s " http://localhost: 3100 / api /舞会/标签”|金桥{“值”:[“foo”、“酒吧”,“记者”]}

POST / api /舞会/推动

警告:/ api /舞会/推动弃用;使用洛基/ api / v1 /推动代替。

/ api /舞会/推动是洛基的端点用于发送日志条目。的默认行为是职务的身体是snappy-compressed protobuf信息:

另外,如果内容类型头被设置为application / json,一个JSON的身体可以发送以下格式:

{“流”:[{“标签”:“< LogQL标签键值>”,“条目”:[{“t”:“< RFC3339Nano字符串>”,“线”:“<日志行>”}]}]}

在microservices模式下,/ api /舞会/推动公开的分销商。

例子

$ curl - h " application / json - type: " -XPOST - s”https://localhost: 3100 / api /舞会/推”——data-raw \ '{“流”:[{“标签”:“{foo = \”栏\“}”,“条目”:[{“t”:“2018 - 12 - 18 - t08:28:06.801064内”,“线”:“fizzbuzz”}]}]}”

POST /吸收/ flush_shutdown

警告:/吸收/ flush_shutdown弃用;使用/摄取/关闭?冲洗= true代替。

/吸收/ flush_shutdown触发器的摄取,尤其是将关闭总是冲洗任何在内存块。这是有利于按比例缩小WAL-enabled ingesters,我们希望确保老WAL目录并不是孤立的,而是刷新到块后端。

在microservices模式下,/吸收/ flush_shutdown端点公开的摄取。