可视化数据库监控警报工具 —— Sampler
大家好,我是 JackTian。今天给大家推荐一款基于 Shell 命令执行,可视化和警报工具 —— Sampler。Sampler 不是全面监控系统的替代品,而是易于设置的开发工具。比如说你要用其他监控工具 Grafana 配置 Prometheus 会对你觉得一头雾水,Sampler 则可能是一个正确的解决办法。你只需指定 Shell 命令即可使用,可直接从终端中采样任何动态过程、观察数据库中
大家好,我是 JackTian。
今天给大家推荐一款基于 Shell 命令执行,可视化和警报工具 —— Sampler。
Sampler 不是全面监控系统的替代品,而是易于设置的开发工具。比如说你要用其他监控工具 Grafana 配置 Prometheus 会对你觉得一头雾水,Sampler 则可能是一个正确的解决办法。
你只需指定 Shell 命令即可使用,可直接从终端中采样任何动态过程、观察数据库中的更改情况、监视 MQ 实时消息,触发部署脚本并在完成时获取通知消息,简单方便,易于配置。
无需将 Sampler 安装在监控的每台服务器上,您可以直接在本地运行 Sampler,仍然可以从多台远程计算机上收集信息,任何可视化都可能具有 init 命令,您可以在其中命令 SSH 到远程服务器。
效果图如下:
安装
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
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
Windows
choco install sampler
或者
https://github.com/sqshq/sampler/releases/download/v1.1.0/sampler-1.1.0-windows-amd64.exe
Sampler 主要包括内容:
- 组件: 运行图表、迷你图、测量、文本框等;
- 钟声和口哨声: 触发器、交互式外壳、颜色主题等;
- 资料库: Databases(MySQL,PostgreSQL,MongoDB)、Kafka、Docker、SSH、JMX等;
组件
具有 MacOS 兼容采样脚本的每种组件类型的配置示例。
运行图表
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
迷你图
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}'
测量
gauges:
- title: Minute progress
rate-ms: 500 # sampling rate, default = 1000
scale: 2 # number of digits after sample decimal point, default = 1
percent-only: false # toggle display of the current value, default = false
color: 178 # 8-bit color number, default one is chosen from a pre-defined palette
cur:
sample: date +%S # sample script for current value
max:
sample: echo 60 # sample script for max value
min:
sample: echo 0 # sample script for min value
- title: Year progress
cur:
sample: date +%j
max:
sample: echo 365
min:
sample: echo 0
文本框
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}}"
钟声和口哨声
时钟表,显示分钟进度并在每分钟开始时宣布当前时间,搜索引擎延迟图表,当延迟超过阈值时向用户发出警报;
交互式外壳支持
除 Sample 命令外,还可以指定 init 命令(在采样前仅执行一次)和 transform 命令(对 Sample 命令输出进行后处理)。
主要包括:基本模式、PTY模式、多步初始化。
传送门:
https://github.com/sqshq/sampler
原创不易,码字不易。 觉得这篇文章对你有点用的话,麻烦你为本文点个赞,留言或转发一下,因为这将是我输出更多优质文章的动力,感谢!
⬇⬇⬇⬇⬇⬇⬇⬇
开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!
更多推荐
所有评论(0)