返回目录
Skills开发工具新手

Sampler - 可视化任意Shell命令的终端工具

Sampler 是一个用于 shell 命令执行、可视化和告警的工具,通过简单的 YAML 文件配置。它可以实时采样动态进程,例如数据库变化、MQ 消息、部署脚本等,并在终端中展示图表。

0 次阅读2026/08/11 发布
Sampler - 可视化任意Shell命令的终端工具 来源图片

社区作者 · zZz

它解决什么问题

Sampler 是一个用 YAML 配置的终端可视化工具,能够执行 shell 命令并以多种组件(折线图、条形图、仪表盘、文本框等)展示输出。它适合快速搭建开发环境监控,无需部署完整的监控系统。

核心特性:

  • **Runchart**:时序折线图,可展示多个数据序列(如搜索响应时间)。
  • **Sparkline**:迷你趋势图,适合展示 CPU、内存等实时指标。
  • **Barchart**:柱状图,方便比较多个数据点(如网络流量)。
  • **Gauge**:仪表盘,展示当前值/最大值/最小值(如分钟进度)。
  • **Textbox**:文本框,显示任意命令行输出的文本内容。
  • **Asciibox**:ASCII 艺术字体显示的文本。
  • **触发告警**:基于条件执行终端铃声、声音、视觉通知或任意脚本。
  • **交互式 Shell**:支持 init 命令建立一次会话(如 SSH、数据库连接),再以固定频率采样。
  • **变量**:可在配置中定义变量复用,也支持环境变量和启动参数。
  • **主题**:支持深色/浅色主题。

适用对象:开发者、运维人员,适合本地开发、测试环境的快速指标观测,不适合作为生产级全规模监控替代方案。

许可证:待核验(仓库未明确提供)。

— 本文由 AI 根据公开来源辅助整理,命令、版本与许可证请在使用前到原始页面复核。

安装 / 开始使用

macOS

  • HomeBrew:brew install sampler
  • MacPorts:sudo port 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

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 系统库以播放触发音。通常已默认安装,如果缺少可用包管理器安装,例如 apt install libasound2-dev

Fedora

sudo dnf install golang-github-sqshq-sampler (F31+)

Arch

yay -S sampler

Windows(实验性)

推荐使用高级终端模拟器(如 Cmder)。

  • Chocolatey:choco install sampler
  • 或下载 .exe 文件。

Docker

bash
# 创建配置文件
vim config.yml

# 构建容器镜像
docker build --tag sampler .

# 运行容器
docker run --interactive --tty --volume $(pwd)/config.yml:/root/config.yml sampler --config /root/config.yml

注意

注意
Docker 方式需要自己编写 Dockerfile(仓库未提供),上述命令假设镜像已构建。

首次运行

  1. 定义你的 shell 命令到 YAML 配置文件。
  1. 运行 sampler -c config.yml
  1. 在 UI 上调整组件大小和位置。

常见问题

  • 触发声音不播放?检查是否安装 libasound2-dev。
  • Windows 下显示异常?建议使用 Cmder 等高级终端模拟器。
  • 需要监控远程服务器?可以在配置中使用 SSH 作为 init 命令。

来源教程配图

sampler
配图 1 · sampler查看原图
runchart
配图 2 · runchart查看原图
sparkline
配图 3 · sparkline查看原图
barchart
配图 4 · barchart查看原图
gauge
配图 5 · gauge查看原图
textbox
配图 6 · textbox查看原图
asciibox
配图 7 · asciibox查看原图
light-theme
配图 8 · light-theme查看原图

适用场景

监控数据库变化(MySQL
PostgreSQL
MongoDB
Neo4j)
监控 Kafka 消费者组 lag
监控 Docker 容器 CPU
内存
网络
磁盘 IO
通过 SSH 监控远程服务器 top 输出
监控 JMX 中 Java 应用运行时长
触发告警或条件脚本(如延迟超阈值)

Skill 讨论与实践反馈

0

还没有讨论

分享一条可复现的补充、问题或使用经验。

登录后参与回复一起补充步骤、结果和注意事项。