Mongo 代理¶
故障注入¶
Mongo 代理过滤器支持故障注入。通过查看 v3 API 参考如何配置。
统计¶
每个配置的 MongoDB 代理过滤器都有以 mongo.<stat_prefix>. 为根,且有如下所示的统计信息:
名称 |
类型 |
描述 |
---|---|---|
decoding_error |
Counter |
MongoDB 协议解码异常数 |
delay_injected |
Counter |
注入延迟的次数 |
op_get_more |
Counter |
OP_GET_MORE 信息数 |
op_insert |
Counter |
OP_INSERT 信息数 |
op_kill_cursors |
Counter |
OP_KILL_CURSORS 信息数 |
op_query |
Counter |
OP_QUERY 信息数 |
op_query_tailable_cursor |
Counter |
设置可裁剪光标标志的 OP_QUERY 数 |
op_query_no_cursor_timeout |
Counter |
未设置光标超时标志的 OP_QUERY 数 |
op_query_await_data |
Counter |
设置等待数据标志的 OP_QUERY 数 |
op_query_exhaust |
Counter |
设置耗尽标志的 OP_QUERY 数 |
op_query_no_max_time |
Counter |
未设置 maxTimeMS 的查询数 |
op_query_scatter_get |
Counter |
分散获取查询数 |
op_query_multi_get |
Counter |
多重获取查询数 |
op_query_active |
Gauge |
活跃查询数 |
op_reply |
Counter |
OP_REPLY 信息数 |
op_reply_cursor_not_found |
Counter |
设置未找到光标标志的 OP_REPLY 数 |
op_reply_query_failure |
Counter |
设置查询失败标志的 OP_REPLY 数 |
op_reply_valid_cursor |
Counter |
有效光标的 OP_REPLY 数 |
cx_destroy_local_with_active_rq |
Counter |
使用活跃查询在本地销毁连接 |
cx_destroy_remote_with_active_rq |
Counter |
使用活跃查询在远程销毁连接 |
cx_drain_close |
Counter |
在服务器耗尽期间,连接在边界上正常关闭数 |
分散获取¶
Envoy 将 scatter get 定义为不使用 _id 字段作为查询参数的任何查询。 Envoy 在最高级文档和 $query 字段中查找 _id 。
批量获取¶
Envoy 将 multi get 定义为使用 _id 字段作为查询参数的任何查询,但其中 _id 不是标量(scalar)值(例如文档或数组)。Envoy 在最高级文档和 $query 字段中查找 _id 。
$comment 解析¶
如果一个请求中包含一个顶级的 $comment 字段(通常除了 $query 字段),Envoy 将会把他解析为 JSON 并如下结构所示:
{
"callingFunction": "..."
}
- callingFunction
(required, string) 进行查询的函数。如果可用,这个函数将会被用于在 调用点 查询统计信息。
命令统计¶
MongoDB 过滤器将收集在 mongo.<stat_prefix>.cmd.<cmd>. 命名空间中命令的统计信息。
名称 |
类型 |
描述 |
---|---|---|
total |
Counter |
命令数 |
reply_num_docs |
Histogram |
回复文件数 |
reply_size |
Histogram |
回复字节大小 |
reply_time_ms |
Histogram |
以毫秒为单位的命令时间 |
集合统计查询¶
MongoDB 过滤器将收集在 mongo.<stat_prefix>.collection.<collection>.query. 命名空间中查询的统计信息。
名称 |
类型 |
描述 |
---|---|---|
total |
Counter |
查询数 |
scatter_get |
Counter |
分散获取数 |
multi_get |
Counter |
多重获取数 |
reply_num_docs |
Histogram |
回复文件数 |
reply_size |
Histogram |
回复字节大小 |
reply_time_ms |
Histogram |
以毫秒为单位的查询时间 |
运行时¶
Mongo 代理过滤器支持如下所示的运行时设置:
- mongo.connection_logging_enabled
连接的百分比表示将会启用日志记录。默认为 100。这仅表示只有一部分的连接会被记录日志,但是所有连接的信息都会被记录日志。
- mongo.proxy_enabled
连接的百分比表示将会启用代理。默认为 100。
- mongo.logging_enabled
消息的百分比表示将会被日志记录。默认为 100。如果少于 100,则可以只记录查询而不进行答复等。
- mongo.mongo.drain_close_enabled
连接的百分比表示如果服务器正在关闭,则将关闭连接,否则将尝试关闭连接。默认为 100。
- mongo.fault.fixed_delay.percent
当没有响应故障时,合格的 MongoDB 操作会受注入故障影响的概率。默认为配置中指定的 percentage 。
- mongo.fault.fixed_delay.duration_ms
延迟持续时间为毫秒。默认为配置中指定的 duration_ms 。