Jast blog Jast blog
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档

Jast-zsh

如果你知道你要去哪里,全世界都会给你让路。
首页
  • 《Ambari自定义开发教程》笔记
  • 《CDH教程》笔记
  • 《ClickHouse教程》笔记
  • 《HDFS教程》笔记
  • 《DolphinScheduler教程》笔记
  • 《Hbase教程》笔记
  • 《Iceberg教程》笔记
  • 《Hive教程》笔记
  • 《Flume教程》笔记
  • 《Kafka教程》笔记
  • 《Impala教程》笔记
  • 《Hue教程》笔记
  • 《Spark教程》笔记
  • 《Flink教程》笔记
  • 《Phoenix教程》笔记
  • 《ElasticSearch教程》笔记
  • 《Kylin教程》笔记
  • 《Storm教程》笔记
  • 《Yarn教程》笔记
  • 《Presto教程》笔记
  • 《图数据库教程》笔记
  • 《Kerberos教程》笔记
  • 《Maxwell教程》笔记
  • 《MinIO教程》笔记
  • 《DataX教程》笔记
  • 《Superset教程》笔记
  • 《IOTDB教程》笔记
  • 《大数据相关》笔记
  • 《PaddleNLP教程》笔记
  • 《Nginx教程》笔记
  • 《Java技术文档》
  • 《Maven教程》笔记
  • 《IDEA使用教程》
  • 学习
  • 面试
  • 心情杂货
  • 实用技巧
  • 友情链接
关于
收藏
  • 分类
  • 标签
  • 归档
  • Linux网站汇总
  • Shell使用详解
  • 自动化运维脚本集合
  • 模拟占用磁盘内存CPU
  • Linux释放缓存
  • Linux监控进程磁盘邮件预警
  • 《Nginx教程》笔记
  • Linxu服务器文件双向同步-rsync+sersync
  • Linux文件清空的几种方法
  • Linux日志自动清理方案
  • Linux执行脚本加密
  • Linux安装包制作
  • Crontab详解
  • Linux上传下载百度网盘文件
  • 内网穿透
  • 内网穿透-无需公网服务器
  • 一文搞定Jenkins自动化部署程序
  • Linux配置代理请求
  • Linux监控之夜莺
  • Proxmox安装
  • Proxmox创建CentOS虚拟机
  • Proxmox创建Windows虚拟机
  • Debian系统安装OpenVPN
  • Docker快速部署OpenVPN
  • 用户登录时执行检查脚本
  • 一键配置Linux镜像源
  • RustScan端口扫描
  • 前置机、堡垒机、跳板机区别
  • Linux添加回收站功能
  • Linux系统详细信息监控-Grafana+Prometheus
  • 再见XShell:轻量又高性能的SSH工具AI加持快人一步
  • Unbuntu安装deb文件
  • Ubuntu远程连接时分辨率问题
  • Ubuntu中Clash报错
  • Linux可视化监控
    • 什么是 Sampler?
    • 为什么需要使用 Sampler?
    • 我需要每台都安装吗?
    • Sampler 的核心功能
    • 如何安装 Sampler
      • Linux
      • MacOS
    • 如何配置和使用 Sampler
    • 运行效果
      • CPU、内存
      • 条形图
  • Vim复制自动缩进问题处理
  • 无所不能的BusyBox:如何用它打造极小的Linux环境
  • 运维
Jast-zsh
2025-02-26
目录

Linux可视化监控

# 开源:通过 Shell 打造强大的 Linux 可视化监控工具

# 什么是 Sampler?

Sampler 是一个简单而强大的开源工具,允许用户通过执行 Shell 命令采集动态数据,并将其可视化,同时支持触发警报。只需配置一个 YAML 文件,即可在终端中监控实时数据并进行调整。Sampler 的目标是为开发者和运维人员提供一种轻量级的监控解决方案,无需额外安装繁杂的服务器或数据库。

# 为什么需要使用 Sampler?

Sampler 提供了一种极简、便捷的方式来实现实时数据可视化,没有服务器、没有数据库、没有部署 - 你指定 shell 命令,它就可以正常工作。

  • 零配置服务器:无需安装复杂的服务器、数据库或依赖环境。
  • 跨平台支持:可在本地运行,也支持通过 SSH 收集远程服务器数据。
  • 多功能监控:适用于多种场景,包括监控系统资源、网络流量、服务状态和消息队列等。
  • 即时反馈:通过简单的 Shell 命令即可完成采样,支持通知和警报功能。
  • 完全可定制:通过 YAML 文件定义采样逻辑和可视化布局,灵活且高效。

# 我需要每台都安装吗?

不,您可以在本地运行 Sampler,但仍可以从多台远程计算机收集遥测数据。任何可视化都可能具有 init 命令,您可以在其中通过 ssh 连接到远程服务器。

# Sampler 的核心功能

  • 动态监控:采集 Shell 命令输出的动态数据。
  • 多类型图表:支持运行图、条形图、折线图和文本框等多种展示形式。
  • 远程支持:通过 SSH 从远程服务器采集数据。
  • 实时可视化:即时调整图表大小、位置和样式。
  • 警报机制:可配置监控条件并触发警报。

# 如何安装 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
1
2

# MacOS

通过 Homebrew 安装:

brew install sampler
1

或使用 curl 手动下载并安装:

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
1
2

安装完成后,可通过以下命令验证安装:

sampler --version
1

# 如何配置和使用 Sampler

Sampler 的使用非常简单,只需以下 3 步:

  1. 定义配置文件:创建 YAML 文件以定义要执行的 Shell 命令和可视化设置。
  2. 运行 Sampler:使用 sampler -c config.yml 启动监控。
  3. 调整界面布局:动态调整 UI 中组件的大小和位置。

# 运行效果

runchart

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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

# CPU、内存

sparkline

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: memory_pressure | grep 'Pages free' | awk '{print $3}'
1
2
3
4
5
6
7
8
9

# 条形图

barchart

barcharts:
  - title: Local network activity
    rate-ms: 500        # sampling rate, default = 1000
    scale: 0            # number of digits after sample decimal point, default = 1
    items:
      - label: UDP bytes in
        sample: nettop -J bytes_in -l 1 -m udp | awk '{sum += $4} END {print sum}'
      - label: UDP bytes out
        sample: nettop -J bytes_out -l 1 -m udp | awk '{sum += $4} END {print sum}'
      - label: TCP bytes in
        sample: nettop -J bytes_in -l 1 -m tcp | awk '{sum += $4} END {print sum}'
      - label: TCP bytes out
        sample: nettop -J bytes_out -l 1 -m tcp | awk '{sum += $4} END {print sum}'
1
2
3
4
5
6
7
8
9
10
11
12
13

textbox

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}}"
1
2
3
4
5
6
7
8
9

同时颜色也支持调整

light-theme

Github:https://github.com/sqshq/sampler

上次更新: 2025/02/26, 13:50:50
Ubuntu中Clash报错
Vim复制自动缩进问题处理

← Ubuntu中Clash报错 Vim复制自动缩进问题处理→

最近更新
01
Maven私服搭建
02-26
02
当ElasticSearch时间字段设置多个格式到底是用的哪个?
01-19
03
Vim复制自动缩进问题处理
11-27
更多文章>
Theme by Vdoing | Copyright © 2016-2025 Jast-zsh | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式