observer_cli 基础使用扩展指南

observer_cli 是一个基于recon的Erlang虚拟机监控工具,适用于Linux环境。本文介绍了observer_cli的安装、基础用法,特别是如何编写自定义插件。通过示例展示了在Process界面扩展dump命令,以及创建一个查看服务器玩家进程的自定义插件。自定义插件需要实现observer_cli_plugin行为的三个回调函数,并在应用环境中配置。
摘要由CSDN通过智能技术生成

简介

observer_cli是一个针对erlang虚拟机,基于recon实现的模仿werl的observer功能的工具。因为生产环境一般都是linux系统,而observer是不支持linux系统,有了observer_cli就可以在linux环境下更直观的观察环境,及早发现问题。以下是作者自己介绍:

Visualize Erlang/Elixir Nodes On The Command Line base on recon.
Provide a high-performance tool usable both in development and production settings.
Focus on important and detailed information about real-time running system.
Keep minimal consumption.

本文只会简单的介绍基础用法,着重点在如果编写一个自己的扩展插件,安装和使用部分参看作者写的内容更详尽

Git库地址

安装

observer_cli支持rebar构建,如果你的项目支持rebar,只需要将observer加入到你的deps目录中

{deps, [
      {observer_cli, ".*",
       {git, https://github.com/zhongwencool/observer_cli.git, {branch, "master"}}}
]}.

作者用的rebar3,好像不需要填写项目地址这些?
如果用的rebar而不是rebar3,而且你的项目之前没有使用recon,那么还需要修改下项目本身的rebar.config

{deps, [
      {recon, ".*", {git, https://github.com/ferd/recon.git, {branch, "master"}}}
]}.

如果使用了recon那么只需要保证get-deps的时候recon在observer_cli check前get到即可

除了rebar构建,也支持erlang.mk的构建
另外Elixir也可以使用
这两种构建方式直接参照项目的ReadMe即可

基础用法

使用

observer_cli:start().

来启动本地的observer_cli程序,可以填入一个时间作为刷新间隔,单位为毫秒,默认为1000

observer_cli不仅可以查看本地节点,也可以查看远程节点

observer_cli:start('test@127.0.0.1')
observer_cli:start('test@127.0.0.1', Cookie).
observer_cli:start('test@127.0.0.1', [{cookie,Cookie},{interval, 1000}]).

以上三种方式都可以启动,如果没有指定cookie的时候就需要自己保证当前node和目标node的cookie一致,当然远程调用的时候还是可以指定刷新间隔

本地节点和远程节点都必须将observer_cli的库加进来,自定义插件(后面会介绍)部分的环境变量设置部分必须在查看的节点上确保,而查看的目标节点必须能确实能完成自定义插件配置的功能,目标节点自定义插件的环境变量的设置不是必须的

主界面介绍

主界面
observer_cli提供的功能和observer非常像,而且依靠recon还完成了更细致的内存分配数据,例如内存的利用率等
标题依次为

  • 首页:提供概览信息,内存分配,进程数量,虚拟机基础配置,cpu利用率,还有模仿etop的进程列表,可以使用关键字完成排序
  • 网络:提供当前虚拟机已经打开的端口综述,会列出当前已经打开的端口,同样可以使用关键字完成排序,这部分内容大多依赖recon完成
  • 系统:提供当前系统的概览,这里可以看到当前虚拟机内存分配的详细情况,R18(需要考证)以后的observer也支持了具体的内存分配查看
  • ETS:提供ETS表的查看,和observer功能类似,不过不能直接查看内容,也没必要。
  • Mnesia:Mnesia数据表的查看
  • App:查看当前虚拟机已经启动的application,不过不能像observer那种直接以结构树的形式展示,毕竟是命令行下,如果熟悉架构,这种平铺列表的内容已经可以满足解决问题的目的
  • Doc:帮助文档,提供基础命令的说明
  • Plugin:最新版本新增的支持自定义插件界面

关于内存和网络端口详细数据介绍可以查看recon,当然observer_cli也贴心的做了介绍observer_cli文档
最新版本的界面和上图有一丢丢的差距,最新的版本加入了自定义插件部分

主界面上展示的进程可以进入二级菜单针对单个进行进行详细的查看
在这里插入图片描述
在Home页面输入当前进程的编号(最左边的数字)即可,进程较多时可以使用pu/pd进程翻页,刷新较快时使用p暂停页面操作

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值