命令行的视觉盛宴:如何用 Sampler 轻松实现数据可视化

开发 数据可视化
面对复杂指令或大量信息时,传统的文本输出可能难以快速理解。使用Sampler这类工具可以将命令行结果以更直观、清晰的方式展示,使工作更加轻松高效。

在日常技术工作中,命令行界面(CLI)是与计算机交流的关键工具,因其高效和灵活而受到欢迎。然而,面对复杂指令或大量信息时,传统的文本输出可能难以快速理解。使用Sampler这类工具可以将命令行结果以更直观、清晰的方式展示,使工作更加轻松高效。

一、什么是Sampler

Sampler 是一个开源的命令行工具,用于将终端命令的输出可视化。它能够将常见的终端命令(如top、ps、df、iostat 等)的输出转化为易于理解的图表、表格、条形图等视图。Sampler可以实时跟踪系统状态或监控日志文件,将复杂的数据以图形化方式展示,帮助用户更快地识别潜在问题。

二、Sampler的功能亮点

1.命令输出可视化

Sampler通过将命令的文本输出转换为图形化界面,使得复杂的数据更加易于解读。比如,我们可以将top 命令的CPU使用率、内存占用等指标,转化为实时更新的图表,快速掌握系统的性能状态。

2.多种数据展示方式

Sampler提供了多种视图模式,包括:

  • 表格:以表格的形式展示命令的输出,清晰且结构化。
  • 图形:通过饼图、条形图、折线图等方式展示数值数据,使趋势和分布一目了然。
  • 实时更新:Sampler支持实时更新,适合用来进行系统监控和故障诊断。

3.高度定制化

用户可以根据需要,灵活配置Sampler以适应不同的使用场景。通过简单的配置文件,用户可以自定义展示方式、更新频率、阈值警告等设置,进一步增强工具的可用性。

三、安装

1.macOS

brew install sampler

或者

sudo curl -Lo /usr/local/bin/sampler https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-darwin-amd64
sudo chmod +x /usr/local/bin/sampler

2.Linux

sudo wget https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-linux-amd64 -O /usr/local/bin/sampler
sudo chmod +x /usr/local/bin/sampler

libasound2-dev 需安装系统库,Sampler才能播放触发音。通常情况下,该库已存在,如没有,则可使用您喜欢的软件包管理器进行安装。例如:

apt install libasound2-dev

3.Windows

choco install sampler

或者

https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-windows-amd64.exe

四、基本用法

通过轻松编辑YAML配置文件,你就能根据自己的需要定制各种监控功能啦,无论是数据库的变化还是MQ消息队列的状态,所有信息都能一手掌握,方便又快捷!以下是一些使用案例

1.运行图表

检查服务器访问谷歌、雅虎以及Bing网站的速度。创建一个配置文件名为engine.yaml,内容如下:

runcharts:
  - title: Search engine response time
    rate-ms: 500        # sampling rate, default = 1000
    scale: 2            # number of digits after sample decimal point, default = 1
    legend:
      enabled: true     # enables item labels, default = true
      details: false    # enables item statistics: cur/min/max/dlt values, default = true
    items:
      - label: GOOGLE
        sample: curl -o /dev/null -s -w '%{time_total}'  https://www.google.com
        color: 178      # 8-bit color number, default one is chosen from a pre-defined palette
      - label: YAHOO
        sample: curl -o /dev/null -s -w '%{time_total}'  https://search.yahoo.com
      - label: BING
        sample: curl -o /dev/null -s -w '%{time_total}'  https://www.bing.com

然后,通过执行如下命令生成图表:

sampler -c engine.yaml

执行成功上述命令后,终端会展示如下图的结果:

2.迷你图

用图表展示CPU和内存使用情况。同样编写一个配置文件,内容如下:

sparklines:
  - title: CPU usage
    rate-ms: 200
    scale: 0
    sample: ps -A -o %cpu | awk '{s+=$1} END {print s}'
  - title: Free memory pages
    rate-ms: 200
    scale: 0
    sample: free | grep Mem | awk '{print $3/$2 * 100.0}'
sampler -c cpu_memory.yaml

当您成功执行上述命令后,终端将会显示如下图所示的结果。

3.文本框

显示本地天气情况和各容器资源使用情况。编写配置文件如下:

textboxes:
  - title: Local weather
    rate-ms: 10000      # sampling rate, default = 1000
    sample: curl wttr.in?0ATQF
    border: false       # border around the item, default = true
    color: 178          # 8-bit color number, default is white
  - title: Docker containers stats
    rate-ms: 500
    sample: docker stats --no-stream --format "table {{.Name}}\t{{.CPUPerc}}\t{{.MemUsage}}\t{{.PIDs}}"
sampler -c weather_text.yaml

当您成功执行上述命令后,终端将会显示如下图所示的结果。

五、总结

Sampler是一款将传统命令行输出数据可视化的神器,不仅适用于系统监控,还能提升工作效率,帮助开发者、运维人员快速理解和分析数据。它的高定制性和跨平台支持,使其在不同的工作环境中都能大显身手。如果你在日常工作中频繁使用命令行,不妨试试Sampler,让你的工作更加轻松愉快!

责任编辑:赵宁宁 来源: 攻城狮成长日记
相关推荐

2020-10-22 15:15:25

SamplerShelLinux

2021-11-16 14:25:38

JavaScript前端

2017-10-14 13:54:26

数据可视化数据信息可视化

2021-06-21 10:10:57

Python命令行可视化

2010-08-25 21:03:38

命令行DHCP

2020-12-11 06:44:16

命令行工具开发

2020-12-10 16:16:08

工具代码开发

2014-06-30 09:24:48

数据可视化

2018-03-24 21:38:54

Python数据库数据可视化

2018-03-26 14:20:23

PythonMatplotlib数据可视化

2019-06-26 18:30:30

Linux命令行电子邮件

2020-03-11 14:39:26

数据可视化地图可视化地理信息

2011-09-06 16:17:50

Ubuntu

2019-08-08 14:47:07

Linux命令行JSON

2017-11-15 09:41:14

数据可视化数据科大数据

2020-05-13 12:14:20

Kubernetes工具开发

2020-05-13 14:25:53

Kubernetes工具监视

2010-11-24 14:51:55

Mysql命令行

2014-05-28 15:23:55

Rave

2017-02-16 09:30:04

数据可视化信息
点赞
收藏

51CTO技术栈公众号