使用 abctl 查看资源
How to manage resouces using abctl command line tool.
abctl 命令工具介绍以及使用
说明
abctl
唯一的功能功能获取某个 namespace 或者所有 namespace 的 ObservabilitIndicant
。展示该资源的聚合数据,例如最大,最小,平均值等。
实现方式
对于 get 命令,主要的思路就是根据名称或者label选择出目标的 ObservabilityIndicant
,然后使用聚合函数计算出结果,通过 tabwriter
库进行动态对齐打印。
支持的命令
get
get 用来获取一个或者一组ObservabilityIndicant
数据。支持的参数包括- -m metric, 设置要展示的数据源名称,例如 cpu,memory 等。不支持多个
- -a aggregation, 用来展示数据的聚合形式,例如 MAX,MIN等。 展示多个通过逗号分隔。
- -n namespace, 指定某个namespace,默认是 default,-A 表示所有的 namespace
- -la=b, 使用label的形式获取一组 `ObservabilityIndicant` 展示数据。默认是空,不使用label。version
version 打印当前命令工具的版本信息
使用样例
- 获取 arbiter namespace 下一个
ObservabilityIndicant
的 cpu 数据 这个ObservabilityIndicant
用来获取节点 21v-tc-zhangsh-team-10 的 cpu 使用数据。结果如下
➜ amd64 git:(cli-column) ✗ ./cli -narbiter get prometheus-node-team10-mem-cpu-cost -mcpu
NAME NAMESPACE KIND TARGETNAME METRICNAME AVG MAX MIN
prometheus-node-team10-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-10 CPU 532.0m 1954.3m 357.3m
- 获取 arbiter namespace 下一个
ObservabilityIndicant
的 memory 数据 获取节点 21v-tc-zhangsh-team-10 的内存使用数据,结果如下。
➜ amd64 git:(cli-column) ✗ ./cli -narbiter get prometheus-node-team10-mem-cpu-cost -mmemory
NAME NAMESPACE KIND TARGETNAME METRICNAME AVG MAX MIN
prometheus-node-team10-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-10 MEMORY 11826966796.6byte 15737708544.0byte 4719964160.0byte
- 获取 arbiter namespace 下所有
ObservabilityIndicant
的 memory 数据
➜ amd64 git:(cli-column) ✗ ./cli -narbiter get -mmemory
NAME NAMESPACE KIND TARGETNAME METRICNAME AVG MAX MIN
metric-node-2-cpu-cost arbiter Node 21v-tc-zhangsh-team-2 MEMORY <none> <none> <none>
metric-node-cpu-cost arbiter Node 21v-tc-zhangsh-team-10 MEMORY <none> <none> <none>
metric-node-mem-cost arbiter Node 21v-tc-zhangsh-team-10 MEMORY 5097693184.0byte 5097693184.0byte 5097693184.0byte
metric-pod-cpu-cost arbiter Pod cpu-cost-1-7db7f54cdd-fnh8k MEMORY <none> <none> <none>
metric-pod-mem-cost arbiter Pod mem-cost-78ccff7d6b-qrjnn MEMORY 17534976.0byte 17534976.0byte 17534976.0byte
prometheus-node-team10-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-10 MEMORY 11826966796.6byte 15737708544.0byte 4719964160.0byte
prometheus-node-team2-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-2 MEMORY 17626560411.3byte 20153466880.0byte 10219134976.0byte
prometheus-node-team3-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-3 MEMORY 20794933516.6byte 21525401600.0byte 13934305280.0byte
prometheus-node-team5-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-5 MEMORY 22207953332.5byte 24838541312.0byte 13562671104.0byte
prometheus-node-team6-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-6 MEMORY 4467027831.5byte 5286428672.0byte 4276830208.0byte
prometheus-node-team7-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-7 MEMORY 29356018167.6byte 30424252416.0byte 21016788992.0byte
prometheus-node-team8-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-8 MEMORY 7753919571.9byte 8032522240.0byte 7499304960.0byte
prometheus-node-team9-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-9 MEMORY 6174579594.5byte 7099314176.0byte 4890648576.0byte
这里的有些数据显示 <none>
, 表示没有数据。
- 只查看 MAX, MIN 数据
➜ amd64 git:(cli-column) ✗ ./cli -narbiter get prometheus-node-team10-mem-cpu-cost -mcpu -aMAX,MIN
NAME NAMESPACE KIND TARGETNAME METRICNAME MAX MIN
prometheus-node-team10-mem-cpu-cost arbiter Node 21v-tc-zhangsh-team-10 CPU 1954.3m 357.3m
- 查看工具版本
➜ amd64 git:(cli-column) ✗ ./cli version
v0.0.0