笔者近期遇到一个实际需求就是要对相关的网页实现可访问性监控,因此通过配置blackbox_exporter+Prometheus的方式进行快速部署,因为这两个软件用的比较多,所以搭建部署的过程中很顺利。
不过在安装完成之后,返回的监控数据中,看到类似如下的几行监控指标:
probe_http_duration_seconds{phase="connect"} 0.00227233
probe_http_duration_seconds{phase="processing"} 0.003348707
probe_http_duration_seconds{phase="resolve"} 0.100928362
probe_http_duration_seconds{phase="tls"} 0
probe_http_duration_seconds{phase="transfer"} 0.017867426
实际上这几个key-value隐含了访问一个网页过程中的主要阶段,有必要进深入了解:
resolve:DNS解析持续时间
connect:TCP连接建立的持续时间
tls: TLS连接协商持续时间(我认为这包括TCP连接建立持续时间)
processing:建立连接与接收响应的第一个字节之间的持续时间
transfer:转移响应的持续时间
实际上笔者刚刚看到这五个阶段的时候,还是有点迷惑,尤其是对于第五阶段 transfer,之前看网上的资料显示翻译为:转移响应。 笔者想了很久没想明白,后来看到英文反而有点懂了,如果transfer被翻译为传输响应,而不是 转移响应,或许这样就不会有困惑了。