Kula 一款Linux 轻量级监控工具

Kula 是 一款Linux 服务器的监控工具,只有一个二进制文件,安装方便,使用方案,界面也好看

可以选择时间,查看历史监控数据,支持监控多个系统指标,具体如下

工作原理

存储引擎

数据以层级形式持久化存储在预先分配的环形缓冲区文件中。每个层级的文件都有一个固定的最大容量——当文件被填满时,新数据会覆盖最旧的条目。这样可以实现可预测的、有界定的磁盘使用量,无需进行清理。

  • 第一层级— 原始 1 秒样本(默认 250 MB)
  • 第二层级——1分钟指标聚合(平均值/最小值/最大值)(默认150 MB)
  • 第三层级——5分钟指标聚合(平均值/最小值/最大值)(默认50 MB)

HTTP 服务器

后端 HTTP 服务器公开了 REST API 和用于实时流传输的 WebSocket 端点。身份验证是可选的——启用后,它会使用 Argon2id 哈希算法,并结合加密哈希和会话 cookie。

仪表板

前端是一个嵌入在二进制文件中的单页应用程序。它基于 Chart.js 构建,并带有自定义的 SVG 仪表盘,通过 WebSocket 连接进行实时更新,并在需要更长时间范围的数据时回退到历史 API。功能包括:

  • 支持拖拽选择的交互式缩放(自动暂停直播)
  • 专注模式仅显示您感兴趣的特定图表
  • 可配置的Y轴边界(手动限制或自动检测)
  • 每个设备均可选择网络、磁盘 I/O 和温度监控选项
  • 网格/堆叠列表布局切换
  • 时钟同步、低熵和系统过载警报系统
  • 现代美学设计,支持浅色/深色主题

安装部署

Guided installation

KULA_INSTALL=$(mktemp)
curl -o ${KULA_INSTALL} -fsSL https://kula.ovh/install
echo "f0c064b20d23c948a4569a35cfe65589a36a497aa0d9037413c6e452471355dd ${KULA_INSTALL}" | sha256sum -c || rm -f ${KULA_INSTALL}
bash ${KULA_INSTALL}
rm -f ${KULA_INSTALL}

Quick

wget https://github.com/c0m4r/kula/releases/download/0.8.3/kula-0.8.3-amd64.tar.gz
echo "f0e9c99b309d89414eec8e5a65792afbef7f1ee7c8353bfab4c72a4682979777 kula-0.8.3-amd64.tar.gz" | sha256sum -c || rm -f kula-0.8.3-amd64.tar.gz
tar -xvf kula-0.8.3-amd64.tar.gz
cd kula
./kula

Docker

Temporary, no persistent storage:

docker run --rm -it --name kula --pid host --network host -v /proc:/proc:ro c0m4r/kula:latest

With persistent storage:

docker run -d --name kula --pid host --network host -v /proc:/proc:ro -v kula_data:/app/data c0m4r/kula:latest
docker logs -f kula

Debian / Ubuntu (.deb)

wget https://github.com/c0m4r/kula/releases/download/0.8.3/kula-0.8.3-amd64.deb
echo "53ea1623dc85a57919baf1ade5fdc512022cd2630149a93a827616a02437ed60 kula-0.8.3-amd64.deb" | sha256sum -c || rm -f kula-0.8.3-amd64.deb
sudo dpkg -i kula-0.8.3-amd64.deb
systemctl status kula

RHEL / Fedora / CentOS / Rocky / Alma (.rpm)

wget https://github.com/c0m4r/kula/releases/download/0.8.3/kula-0.8.3-x86_64.rpm
echo "9c3a4d3c53e11544a51b7161e9887b15fff7dcd334c6bb648e98f7ab8db80109 kula-0.8.3-x86_64.rpm" | sha256sum -c || rm -f kula-0.8.3-x86_64.rpm
sudo rpm -i kula-0.8.3-x86_64.rpm
systemctl status kula

Arch Linux / Manjaro (AUR)

wget https://github.com/c0m4r/kula/releases/download/0.8.3/kula-0.8.3-aur.tar.gz
echo "85cb8c7aa7b637be82cdfcf1a9a06f91c7458bb37e00d7a00f605f0ee2590bca kula-0.8.3-aur.tar.gz" | sha256sum -c || rm -f kula-0.8.3-aur.tar.gz
tar -xvf kula-0.8.3-aur.tar.gz 
cd kula-0.8.3-aur
makepkg -si

Build from Source

git clone https://github.com/c0m4r/kula.git
cd kula
bash addons/build.sh

配置

cp config.example.yaml config.yaml

先复制出一个yaml配置文件,然后根据自己使用的IP进行修改,毕竟监控一般都是监控的远端服务器,而不是本地服务器,端口也按需修改。


加密 (安全意识是要有的,避免被扫到)
[root@localhost ~]# /usr/bin/kula hash-password
Enter password: *******
Password hash algorithm: Argon2id
Time: 1, Memory: 65536 KB, Threads: 4
Password hash: 01bfc7fecba8cae881699315390690
Salt: 09f278c633e889901fb82a285

Add these to your config.yaml under web.auth:
password_hash: "01bfc7fecba8072e3b8ba99315390690"
password_salt: "09f278c633e898ef22f9489901fb82a285"
argon2:
time: 1
memory: 65536
threads: 4

然后修改config.yaml 文件中的
# Authentication (optional)
auth:
enabled: false

将false修改为true

修改完了以后,重启服务 systemctl start kula


更多内容,可以到具体的github项目上查询最新更新

https://github.com/c0m4r/kula/tree/main

暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇