解決すること
自宅の Ubuntu サーバーの状態を、ログインせずに確認できるようにする
開始日
技術
Go

なぜ作ったか

初めて自宅サーバーを立てたものの、サーバーの状態を外から確認する方法がありませんでした。

  • 古いノート PC をサーバーにしているので、AC アダプターが抜けてバッテリーで動いている、といった状態にも気づけるようにしたい
  • CPU やメモリなどの情報を、外からひと目でわかる形で確認したい

構成と技術の選定

Go で書いています。理由は次の 2 つです。

  • バックエンドエンジニアを目指していて、Go の理解を深めたい
  • Linux やサーバーの知識を身につけたい

なぜ自分で作るのか

作り始めた時点では、Prometheus のような既存の監視ツールがあることを知りませんでした。知った今も、自分で作ることで、サーバーの状態がどこからどう取れるのかを理解したいので、自作を続けています。

データの取得元

Linux が /proc 以下に公開しているファイルを、Go で直接読んでいます。

  • CPU 負荷:/proc/loadavg から 1 分・5 分・15 分のロードアベレージを読み、数値に変換して返す(実装済み)

工夫したこと・苦労したこと

作成中

学んだこと

作成中

今後やりたいこと

  • 取得する情報を増やす:メモリ、温度、バッテリー(AC アダプターが抜けていないか)
  • 取得したデータを SQLite に記録する
  • HTTP の API として公開する
  • このポートフォリオサイトで、記録したデータをグラフで表示する