开箱即用的 Elixir 与 Phoenix 的遥测技术

主要观点:知识对于软件尤其重要,遥测能让软件工程师掌控系统性能,提前发现并解决问题优于等待用户指出。遥测指系统的检测,包括事件、指标和日志等。Phoenix 框架自带免费遥测工具,Elixir 基于 BEAM 虚拟机,分布式遥测可轻松实现。可在 Phoenix 中添加自定义指标和事件,单个遥测事件可驱动多个指标,还可通过事件元数据切片分析指标。Elixir 集群可实现分布式遥测,通过简单操作可创建集群并在不同节点间切换,即使非 Phoenix 节点也可接入。遥测的价值在于根据测量采取行动,Honeybadger 可帮助将遥测与运营流程结合。

关键信息

  • 遥测定义及作用:获取并记录或展示远处测量值的过程,使软件内部操作对外可见,用于回溯和前瞻分析。
  • Phoenix 遥测:创建名为“Brock”的 Phoenix 应用,包含多种内置遥测指标,可添加自定义指标和事件,如summarycounter等,还可添加操作系统监控。
  • Elixir 集群遥测:创建 Elixir 集群,包括配置不同端口和数据库等,可在浏览器中查看集群遥测仪表盘,不同节点的进程可相互连接和切换,非 Phoenix 节点也可接入。
  • 遥测价值与 Honeybadger:遥测价值在于根据测量采取行动,Honeybadger 可帮助将遥测与运营流程结合,提供性能监测工具。

重要细节

  • Elixir 基于 BEAM 虚拟机,集群友好,分布式遥测无需额外配置。
  • mix.exs中配置:os_mon可接收 VM 相关事件,iex -S mix phx.server启动 Phoenix 应用,浏览器访问http://localhost:4000/dev/dashboard查看仪表盘。
  • 单个遥测事件可通过不同方式聚合为多个指标,如:telemetry.execute发送事件,事件元数据可用于切片分析指标。
  • 可通过cp dev.exs dev2.exs创建集群配置,编辑dev2.exs更改数据库和端口等,通过iex --sname启动节点并使用:net_adm.ping连接节点。
  • Honeybadger Insights 是性能监测工具,可用于图形化、查询和警报 Phoenix 遥测数据,免费注册使用。
阅读 7
0 条评论