lmsensorsを表示するためのproxmox ve 3.3 Webインターフェイスへのナノパッチ

ご挨拶、同僚。



最近、proxmoxを使用したホストマシンの状態を一般的に評価するための小さなタスクが登場しました。これらのタスクは、ほとんどWebインターフェイスを介してのみ動作します。 単純に、長期的なリソース集中型タスクを開始する前(および少し後)に、マシンが「生きて」おり、負荷が潜在的に危険な状況にならないこと、すべてがクールで過負荷でないことを確認したいと思います。 nagios / muninなどのようなより高度なものがあり、状況に対する異なる通知および制御スキーム、美しいグラフ、データ履歴全体の保存があることは明らかです。 ただし、それでも1つのコンソールコマンドで取得できる単純なテキスト情報を検討するタスクを絞り込みます。 そして、この情報をノードの[概要]タブのテーブル行に表示します。



だから、 lmセンサー -システム内のさまざまなセンサーに関する情報を収集できるソフトウェア-温度、電圧、ファン速度。 以下を設定して使用します。

apt-get install lm-sensors
      
      







次に、sensors-detectを実行し、yes / noを選択してシステム内のセンサーの必要なカテゴリをスキャンし、それらに関する完全な情報を要求します。

 sensors
      
      







パッチ自体(gitではなく、「手動」)。 変更を開始する前に、ファイルのコピーを作成します。これは、すべて「非稼働」のサービス時間で発生するはずです。 まあ、その場合のすべての恐怖とリスク-自然にあなたに。 また、これらはすべて、次のproxmoxの更新後に飛ぶことに注意してください。



1.サーバー部分はNodes perlモジュールです。その中にハンドラー/ api2 / json / nodes / NODENAME / statusが必要です:

 vi /usr/share/perl5/PVE/API2/Nodes.pm
      
      







約262行に移動して、これを追加します。

 $res->{sensinfo} = `sensors`;
      
      







真珠の専門家は、この文字列を、センサーコマンドがマシンで使用可能になる条件でラップできます。



2.クライアント側-pvemanager javascriptモジュール:

 /usr/share/pve-manager/ext4/pvemanagerlib.js
      
      







約12572行に移動して、これらを追加します。

 var render_sensinfo = function(value) { return "<pre>" + value + "</pre>"; }
      
      







以下の行を見つけます

 var rows = {
      
      







そして、あなたにとって便利なテーブルの行の順序で(私はrootfsの後に追加しました)、以下にこれを追加します:

 sensinfo : { header: gettext('Sensors information'), required: true, renderer: render_sensinfo },
      
      







サーバーを再起動します(またはパールモジュールNodes.pmをアンロードします。その方法はオンザフライで行います-パールバーではなく、まだわかりません)。 次に、Webインターフェイスに移動してノードを選択し、[概要]タブをクリックして、毎秒更新されるセンサーの情報を確認します。 次のようになります。







原則として、これに基づいて、センサーだけでなく、ノードの2回目のステータスアラートを通じて必要な情報を表示できます。 このような情報の収集を開始するのにそれほど時間がかからないようにする必要があることを理解することが重要です(1秒間に1つか2つ)。



誰かがこの結果をより一般的なものに形式化する時間と希望がある場合(pve-managerのプルリクエスト)-どういたしまして。 しかし、私は個人的にこれを特別なニーズとは考えていません。温度とファンを監視するタスクは、私にとって必要最小限のバージョンで解決されました。



ご清聴ありがとうございました。上記の情報が誰かに役立つことを願っています。



参照資料



1. LMセンサーのWebサイト: lm-sensors.org

2. GitHubリポジトリpve-manager: github.com/proxmox/pve-manager

3. Proxmox自体: proxmox.com



All Articles