Work ・ 開発中
homestat
自宅の Ubuntu サーバーの状態を返す API
- 解決すること
- 自宅の Ubuntu サーバーの状態を、ログインせずに確認できるようにする
- 開始日
- 技術
- Go
なぜ作ったか
初めて自宅サーバーを立てたものの、サーバーの状態を外から確認する方法がありませんでした。
- 古いノート PC をサーバーにしているので、AC アダプターが抜けてバッテリーで動いている、といった状態にも気づけるようにしたい
- CPU やメモリなどの情報を、外からひと目でわかる形で確認したい
構成と技術の選定
Go で書いています。理由は次の 2 つです。
- バックエンドエンジニアを目指していて、Go の理解を深めたい
- Linux やサーバーの知識を身につけたい
なぜ自分で作るのか
作り始めた時点では、Prometheus のような既存の監視ツールがあることを知りませんでした。知った今も、自分で作ることで、サーバーの状態がどこからどう取れるのかを理解したいので、自作を続けています。
データの取得元
Linux が /proc 以下に公開しているファイルを、Go で直接読んでいます。
- CPU 負荷:
/proc/loadavgから 1 分・5 分・15 分のロードアベレージを読み、数値に変換して返す(実装済み)
工夫したこと・苦労したこと
作成中
学んだこと
作成中
今後やりたいこと
- 取得する情報を増やす:メモリ、温度、バッテリー(AC アダプターが抜けていないか)
- 取得したデータを SQLite に記録する
- HTTP の API として公開する
- このポートフォリオサイトで、記録したデータをグラフで表示する