当可观测遇到serverless
背景
可观测(监控)的产品形态,注定了其数据是写 >> 读的
市面上大多数的技术,均都对写做了大量优化
而对读却往往“无能为力”,开并发似乎是人们能做到的“极限”,但还是限于单机的瓶颈
可观测(监控)的产品形态,注定了其数据是写 >> 读的
市面上大多数的技术,均都对写做了大量优化
而对读却往往“无能为力”,开并发似乎是人们能做到的“极限”,但还是限于单机的瓶颈
拜读《监控的自我修养,过去十年和未来十年》,有一些感想。
一些场景下,我们并不需要记录 nginx 所有的 2xx 日志。
但需记录所有
4xx、5xx。
网上搜索到的方案,要么不记录 2xx,要么采样所有日志,都不满足需求。
下面我们使用 ngx_lua
来达成这样的目标:
在我们的场景下,nginx 的 upstream servers 是一堆容器。 容器的主机名不变,但其 ip 可能发生变化。 我希望在容器 ip 发生变化时,无需变更 nginx 的配置。
在 golang 中,往往需要获知当前的函数名及其调用者。
例如在监控场景,自动获取函数名的需求比较常见。