banner
Geek

Geek

🧠在家居士 | 🥦素食者 | 🏃🏻马拉松爱好者 | 📡AI降临派 | 过🪜技术资深学者 | 🤖科技狂 | 📤更新狂🆅 https://www.igeekbb.com/
twitter
github

我把使用多年的哪吒监控換成了ServerStatus-Rust

介紹#

當使用一個東西太久,就會出現審美疲勞,哪吒監控使用多年,倒是也沒有掉過鏈子,搭建也方便,監控項目中規中矩,報警通知也很好配置,非常適合普通用戶。不過生命在於折騰,我就喜歡不斷嘗試新的事物。

CleanShot 2023-05-23 at 08.43.04@2x

很久以前就看中 ServerStatus 監控面板,感覺就是簡潔過頭,沒有後台,對小白來說搭建也不是太友好,最近發現 Rust 版 ServerStatus 雲探針,ServerStatus 威力加強版,保持輕量和簡單部署,也支持顯示三網 ping 值和丟包率,這樣一來,也可以把部署的 smokeping 給刪除了

Pasted image 20230523084528

搭建 ServerStatus-Rust#

快速部署服務端#

mkdir -p /opt/ServerStatus && cd /opt/ServerStatus
wget --no-check-certificate -qO one-touch.sh ' https://raw.githubusercontent.com/zdz/ServerStatus-Rust/master/one-touch.sh '
bash -ex one-touch.sh

部署完畢,打開 http://127.0.0.1:8080/ 或 http://<你的 IP>: 8080/

服務端配置文件在 /opt/ServerStatus/config.toml, 可按需修改。參考: https://doc.ssr.rs/rapid_deploy/


一鍵部署客戶端#

部署好你的 Server 後,請自行替換下面的 ssr.rs 為你的域名,我是使用 NginxProxyManager 反代了服務端 IP,順便套上 ssl

不同的主機可以運行相同的命令註冊到同一組

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$ (hostname)" | bash

安裝並啟用 vnstat,細節參見 https://doc.ssr.rs/vnstat

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=1&alias=$ (hostname)" | bash

指定 month rotate 為 7 號

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=1&vnstat-mr=7&alias=$ (hostname)" | bash

指定位置 & 類型 (我一般用這個)

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$ (hostname)&type=arm&loc=home" | bash

安裝並將這台 vps 置頂顯示

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&weight=10000&alias=$ (hostname)" | bash

自定義 ping 地址

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&alias=$ (hostname)&cm=cm. Abc. Com: 80" | bash

調試

curl -sSLf "https://ssr.rs/i?pass=pp&gid=g1&vnstat=0&alias=$ (hostname)" > ssr-client-init. Sh
Bash -x ssr-client-init. Sh

ServerStatus 常用命令#

# 啟動
systemctl start stat_server
systemctl start stat_client

# 狀態查看
systemctl status stat_server
systemctl status stat_client

# 使用以下命令開機自啟
systemctl enable stat_server
systemctl enable stat_client

# 停止
systemctl stop stat_server
systemctl stop stat_client

CleanShot 2023-05-23 at 10.07.32@2x


Telegram 警告通知#

https://doc.ssr.rs/notification/

# https://core.telegram.org/bots/api
# https://jinja.palletsprojects.com/en/3.0.x/templates/#if
[tgbot]
# 開關 true 打開
Enabled = false
bot_token = "<tg bot token>"
chat_id = "<chat id>"
# host 可用字段參見 payload. Rs 文件 HostStat 結構, {{host.xxx}} 為佔位變量
# 例如 host. Name 可替換為 host. Alias,大家根據自己的喜好來編寫通知消息
# {{ip_info.query}} 主機 ip,  {{sys_info.host_name}} 主機 hostname
title = "❗<b>Server Status</b>"
online_tpl =  " {{config.title}} \n😆 {{host.location}} {{host.name}} 主機恢復上線啦"
offline_tpl = " {{config.title}} \n😱 {{host.location}} {{host.name}} 主機已經掉線啦"

# Custom 模板置空則停用自定義告警,只保留上下線通知
Custom_tpl = """
{% if host. Memory_used / host. Memory_total > 0.5  %}
<pre>😲 {{host.name}} 主機內存使用率超 50%, 當前 {{ (100 * host.memory_used / host.memory_total) | round }} %  </pre>
{% endif %}

{% if host. Hdd_used / host. Hdd_total  > 0.5  %}
<pre>😲 {{host.name}} 主機硬盤使用率超 50%, 當前 {{ (100 * host.hdd_used / host.hdd_total) | round }} % </pre>
{% endif %}
"""
載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。