MacOSとistatsとMunin

投稿者: | 2019/11/06

CPU温度/ファン速度の見える化

Mac OS には”istats” というCPU温度とファン速度その他の内部情報を表示するコマンドをインストールことが出来る。

(参考にしたページ)
https://dot-blog.jp/news/mac-book-pro-cpu-temp-fan-speed-monitoring/

Mac mini で実行すると、シンプルにCPU温度とファン速度が表示される。
PowerBook などで実行すると、バッテリーの温度を含む状態が表示され精神安定上安らぐ。

istats Mac miniでの実行結果
istats Mac miniでの実行結果
istas PowerBook
istats PowerBook での実行結果

アドホックに確認するだけなら、ターミナルを開いてコマンド実行するだけだけど、サーバー運用しているならトレンドの変化も把握して置きたい。

そう言う訳で Munin というパッケージを使ってCentOS7 サーバー上でトレンド監視を行っているんだけど、Mac istats 用のプラグインが見つからなかったので、適当に他のプラグインを元にistats 用のプラグインを作成してみた。

そうして表示されたトレンド・グラフが下記の通り

istats_temp-day
CPU 温度の推移グラフ
istats_fan-day
ファン速度の変化推移グラフ

Munin で管理すると自動的に日毎から年毎までグラフ表示できる

munin_graph_sample
温度トレンド 日/週/月/年
プラグインの設定にあたっての前提条件
  • 既にMunin でMac を監視できる環境が出来ていること
    (Mac にmunin-node がインストールされていること)

    /opt/munin
    /etc/opt/munin
  • istats コマンドが既にMac にインストールされていて場所が下記であること

    /usr/local/bin/istats
  • munin-node のインストールに使ったPerl が
    /opt/local/bin/perl
    で、バージョンがv5.28.2
    (バージョンが正確にこれである必要はないですが、多分munin-node をインストールしたPerl バージョンと一致している必要があるかと)
munin-node 関係ファイルの場所 (私の場合)

設定ファイル – /etc/opt/munin/munin-node.conf
(プラグインの追加にあたっては更新の必要は特に無し)

プラグイン・ファイル・ディレクトリ – /opt/munin/lib/plugins
プラグイン・リンク・ディレクトリ – /etc/opt/munin/plugins

設定手順
  1. プラグイン・ファイルをプラグイン・ファイル・ディレクトリにコピーする

    #cp istats /opt/munin/lib/plugins/
  2. プラグイン・リンク・ディレクトリに下記シンボリックを上記コピーしたファイルに対して2つ作成する

    istats_temp
    istats_fan

    (コマンド実行例)
    #cd /etc/opt/munin/plugins
    #ln -s /opt/munin/lib/plugins/istats ./istats_temp
    #ln -s /opt/munin/lib/plugins/istats ./istats_fan
  3. munin-node を再起動する

    nunin-node プロセスをkill して、スタートアップ・スクリプトを実行
    #/opt/munin/sbin/munin-node &

    (確認)
    #ps aux|grep munin-node
  4. スクリプトファイルを下記に置きましたので参考に

    https://www.mattaka.com/non_picture_files/istats

    注意:私の環境に合わせてかなり決め打ちでハードコーディングしているので勝手に改変して下さい
    このプラグインを原因とする障害には一切責任を持てないのであくまで自己責任で
プラグインの動作と確認

上手く動作しない場合はプラグインを実際にコマンドラインから打って確認
問題無くコピーされれば、下記のようなレスポンスが得られるはず

# cd /etc/opt/munin/plugins
# ./istats_temp autoconf
yes
# ./istats_temp config
graph_title Temperature
graph_vlabel degrees Celsius
graph_args --base 1000 --lower-limit 30
graph_category istats
temp1.label CPU temp
temp1.warning 78
temp1.critical 100
# ./istats_temp
temp1.value 41.38
# 

こうして見ればとても簡単な動作となっている事が判る。

コメントを残す

メールアドレスが公開されることはありません。

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください