Monasca 日志服务 API¶
日志¶
接收来自日志代理的日志。日志基本上是原始行,从物理资源收集而来,并带有维度信息。
接受多个日志(即批量模式)。每个日志都可以用一组维度信息进行丰富。如果必要,可以指定一些维度作为全局维度(如果每个日志条目的维度之间存在大量重复,这尤其有用,可以使请求更小)
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
正常响应代码,一切按预期进行(甚至更好)。 |
错误¶
代码 |
原因 |
|---|---|
400 - 请求错误 |
发送的数据格式不正确。 |
401 - 未授权 |
用户必须在发出请求之前进行身份验证。 |
403 - 禁止 |
策略不允许当前用户执行此操作。 |
411 - 长度要求 |
请求中未找到 Content-Length 头部。 |
413 - 请求实体过大 |
发送的主体过大,无法处理。 |
422 - 无法处理的实体 |
日志属性必须包含消息。 |
422 - 无法处理的实体 |
创建信封失败。 |
503 - 服务不可用 |
服务器目前由于临时过载或计划维护而无法处理请求。在延迟一段时间后可能会得到缓解。 |
请求¶
名称
入参
类型
描述
维度 (可选)
body
对象
请求主体中发送的维度称为全局维度。每个维度适用于批量请求中发送的每个日志条目。维度是一个简单的映射(因此具有键值结构)。
版本 3.0 中新增
日志
body
对象
包含每个日志条目的数组,在批量请求中发送。
版本 3.0 中新增
示例 1:使用单个日志的简单请求
{
"dimensions":{},
"logs":[
{
"message":"msg1",
"dimensions":{
"component":"mysql",
"path":"/var/log/mysql.log"
}
}
]
}
示例 2:一次发送多个日志
{
"dimensions":{},
"logs":[
{
"message":"msg1",
"dimensions":{
"component":"mysql",
"path":"/var/log/mysql.log"
}
},
{
"message":"msg2",
"dimensions":{
"component":"monasca-api",
"path":"/var/log/monasca/monasca-api.log"
}
},
{
"message":"msg3",
"dimensions":{
"component":"monasca-log-api",
"path":"/var/log/monasca/monasca-log-api.log"
}
}
]
}
示例 3:为每个日志条目指定全局维度
{
"dimensions":{
"hostname":"mini-mon",
"service":"monitoring"
},
"logs":[
{
"message":"msg1",
"dimensions":{
"component":"mysql",
"path":"/var/log/mysql.log"
}
},
{
"message":"msg2",
"dimensions":{
"component":"monasca-api",
"path":"/var/log/monasca/monasca-api.log"
}
}
]
}
响应¶
成功 POST 请求时,不返回主体内容
版本¶
健康检查¶
Monasca 日志 API 带有内置的健康检查机制。它有两种形式(简单和复杂)。
简单检查仅在 API 启动并运行时才返回响应。它不返回任何数据,因为它仅适用于 `HEAD` 请求。
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
API 启动并正在运行。 |
已弃用的 API¶
本节包含 Monasca 日志服务中已弃用的 API 参考。
日志¶
仅接受来自日志代理或其他客户端发送的单个日志条目。可以使用 JSON (application/json) 和文本 (text/plain) 格式的日志。
接受单个日志条目。
成功¶
代码 |
原因 |
|---|---|
204 - No Content |
正常响应代码,一切按预期进行(甚至更好)。 |
错误¶
代码 |
原因 |
|---|---|
422 - 无法处理的实体 |
需要维度信息。 |
422 - 无法处理的实体 |
应用程序类型 {type} 必须少于或等于 {length} 个字符。 |
422 - 无法处理的实体 |
维度名称 {name} 必须少于或等于 255 个字符。 |
422 - 无法处理的实体 |
维度名称 {name} 不能以下划线 (_) 开头。 |
422 - 无法处理的实体 |
维度名称 {name} 可能不包含: “> < = { } ( ) ‘ ” , ; &”。 |
422 - 无法处理的实体 |
维度名称不能为空。 |
422 - 无法处理的实体 |
维度值 {value} 必须少于或等于 255 个字符。 |
422 - 无法处理的实体 |
维度值不能为空。 |
422 - 无法处理的实体 |
日志属性必须包含消息。 |
422 - 无法处理的实体 |
创建信封失败。 |
503 - 服务不可用 |
服务器目前由于临时过载或计划维护而无法处理请求。在延迟一段时间后可能会得到缓解。 |
请求¶
名称
入参
类型
描述
log_json
body
对象
以 application/json 格式指定的单个日志条目
log_text
body
字符串
以 text/plain 格式指定的单个日志条目
X_Dimensions
标头
dict
一个字典,由 (key, value) 对组成,用于唯一标识日志。
版本 2.0 中新增
X_Application_Type
标头
字符串
一个字符串值,表示生成给定日志条目的应用程序
版本 2.0 中新增
示例 1:使用单个日志的简单请求 (json)
{
"message":"Hello World!"
}
示例 2:使用单个日志的简单请求 (text)
Hello World
响应¶
成功 POST 请求时,不返回主体内容