Remote Linux Server Monitoring on a Phone
はじめに
サーバー管理者用にアプリを作成しました。
- 外出先でもサーバーの状態をみたい
- 休日でもサーバーの状態を知りたい
- いつでもサーバーの状態を確認したい
上記のようなIT戦士向けのアプリを開発しました。
SSH Monitor
https://play.google.com/store/apps/details?id=net.bokumin45.sshmonitor
スマートフォンから Linux サーバーのリソースをリアルタイムで監視できるアプリケーションです。
SSHプロトコルを使用して安全に接続し、以下の情報をモニタリングできます。
- CPU
- MEM
- DISK
- GPU
- 稼働時間
主な特徴
操作はシンプルで、まず初めにサーバーを追加します。
最低でもホスト名とユーザー名は入力する必要があります。
一応Wifiスキャンが出来るようになっていて、よく使われるポート番号から機器を検索して表示するようになっています。
22番以外が開いていても表示するようになっているので、人によってはかなり表示されてしまうかもしれません。
追加後は「接続」ボタンを押しますとSSHを介してサーバーの使用率をグラフ化してくれます。
グラフの並びや、必要ないグラフを非表示にできるように順番や表示するグラフを変更することができるようになっています。
このように、アプリ作成初心者のわたしが考えうる全ての機能をつけた次第です。
※英語への切り替え機能をつけたのですが、デバッグ時は機能するものの何故かストアからインストールすると反映されません。理由がわかる方いれば連絡くださいませ
サーバー側の準備
特に特別な設定は必要ありません。SSHクライアントが機能していれば大丈夫です。
Linuxサーバー向けに作りましたが、WindowsサーバーでもWSLなどを使ってSSHを入れてポート解放さえすれば使えると思います。
使用上の注意点
セキュリティ対策
強固なパスワードの使用
- 十分な長さと複雑さを持つパスワードを設定
- 定期的なパスワード更新を推奨
安全なネットワーク環境
- 公衆Wi-Fiでの使用は避ける
- VPN経由でのアクセスを推奨
アクセス制御
- 必要最小限の権限設定
- アクセスログの定期確認
プライバシーについて
すべての接続は端末内で暗号化して保存されます。外部サーバーへの送信は一切ないので安心してご使用ください。
以下にこのアプリのソースコードを載せておきますので、確認してみてください
https://github.com/bokumin/sshmonitor
終わりに
普段、サーバーの状態確認をする際にPCやSSH-ConnectでTOPコマンドを入力するのが面倒だったので、個人的には作ってよかったなと思っています。もし興味があればダウンロードして使ってみてくださいませ
今回初めてのアプリ開発を行ってみて、アプリを作成するよりもGooglePlayに公開するまでのほうが面倒でした。またそのことについては追々記事を書いていきたいと思います。
おわり