主要观点:知识对于软件尤其重要,遥测能让软件工程师掌控系统性能,提前发现并解决问题优于等待用户指出。遥测指系统的检测,包括事件、指标和日志等。Phoenix 框架自带免费遥测工具,Elixir 基于 BEAM 虚拟机,分布式遥测可轻松实现。可在 Phoenix 中添加自定义指标和事件,单个遥测事件可驱动多个指标,还可通过事件元数据切片分析指标。Elixir 集群可实现分布式遥测,通过简单操作可创建集群并在不同节点间切换,即使非 Phoenix 节点也可接入。遥测的价值在于根据测量采取行动,Honeybadger 可帮助将遥测与运营流程结合。
关键信息:
- 遥测定义及作用:获取并记录或展示远处测量值的过程,使软件内部操作对外可见,用于回溯和前瞻分析。
- Phoenix 遥测:创建名为“Brock”的 Phoenix 应用,包含多种内置遥测指标,可添加自定义指标和事件,如
summary
、counter
等,还可添加操作系统监控。 - 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 遥测数据,免费注册使用。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。