统计
每个配置的MongoDB代理过滤器的统计信息都以为根。统计如下:
分散GETS
Envoy将 scatter get
定义为任何不使用_id
字段作为查询参数的查询。同时在文档以及_id
的$query
字段中查找。
Envoy将 multi get
定义为任何使用字段作为查询参数的查询,但其中_id
不是标量值(即文档或数组)。同时在文档以及_id
的$query
字段中查找。
注释解析
如果一个查询的顶层有一个$comment
字段(通常添加了一个$query
字段),Envoy会将其解析为JSON并查找以下结构:
callingFunction
(required, string) 查询功能。如果可用,该函数将用于调用查询点的统计。
按命令统计
MongoDB过滤器将收集mongo中查询的统计信息,命名空间mongo.<stat_prefix>.collection.<collection>.query.
。
查询的调用点统计收集
如果应用程序在$comment
字段中提供调用函数,Envoy将生成每个调用点统计信息。 这些统计信息匹配每个查询信息,匹配的命名空间为mongo.<stat_prefix>.collection.<collection>.callsite.<callsite>.query.
。
运行时
Mongo代理过滤器支持以下运行配置:
mongo.connection_logging_enabled
- 将启用日志记录连接的百分比。默认为100。若允许有百分之百连接的日志记录,但这些连接上的所有消息都将被记录。
mongo.proxy_enabled
- 将会启用代理连接的百分比。默认为100。
- 将被记录的消息的百分比。默认为100,如果小于100,没有查询回复可能会被记录等。
mongo.mongo.drain_close_enabled
mongo.fault.fixed_delay.percent
- 当没有活跃的故障时,正常的MongoDB操作,受到注入故障影响的概率。默认为
percent
配置。
mongo.fault.fixed_delay.duration_ms
- 延迟时间以毫秒为单位。默认在使用
duration_ms
配置。
访问日志格式不可定制,并具有以下布局:
time
- 完整的消息被解析的系统时间,包括毫秒。
- 消息的文本扩展。消息是否完全展开取决于上下文。有时会提供汇总数据,以避免超大日志。
upstream_host
- 代理连接的上游主机。如果与一起使用,则会填充此项。