介绍#
あるものを長く使い続けると、美的疲労が生じることがあります。哪吒监控は長年使用していますが、一度も問題が発生したことはありません。構築も簡単で、監視プロジェクトはまともで、アラート通知も簡単に設定できるため、一般ユーザーに非常に適しています。しかし、人生は冒険にありますので、私は常に新しいことに挑戦するのが好きです。
かなり前から ServerStatus モニタリングパネルに興味を持っていましたが、あまりにもシンプルすぎてバックエンドがなく、初心者にとっても友好的ではありませんでした。最近、Rust 版の ServerStatus クラウドプローブを見つけました。ServerStatus
パワーアップ版であり、軽量で簡単にデプロイでき、三大ネットワークの ping 値とパケットロス率を表示することもサポートしています。これにより、デプロイした smokeping を削除することもできます。
ServerStatus-Rust の構築#
プロジェクト | ホームページ |
---|---|
Github | https://github.com/zdz/ServerStatus-Rust |
ドキュメント | https://doc.ssr.rs/ |
サーバーのクイックデプロイ#
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
月のローテーションを 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
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>"
# ホストにはpayload.rsファイルのHostStat構造体で使用可能なフィールドがあります。{{host.xxx}}はプレースホルダ変数です
# たとえば、host.Nameはhost.Aliasに置き換えることができます。お好みに応じて通知メッセージを作成してください
# {{ip_info.query}}はホストのIP、{{sys_info.host_name}}はホストのホスト名です
title = "❗<b>Server Status</b>"
online_tpl = " {{config.title}} \n😆 {{host.location}} {{host.name}} ホストがオンラインに復帰しました"
offline_tpl = " {{config.title}} \n😱 {{host.location}} {{host.name}} ホストがオフラインになりました"
# カスタムテンプレートを空にすると、カスタムアラートを無効にし、オンライン/オフライン通知のみを保持します
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 %}
"""