IBM Cloud Docs
Linux ベアメタル・サーバーのモニター

Linux ベアメタル・サーバーのモニター

IBM Cloud Monitoring でベアメタル・サーバーをモニターするには、そのサーバーにモニタリング・エージェントを構成します。 モニタリング・エージェントでは、IBM Cloud Monitoring インスタンスでの認証のためにアクセス・キー (トークン) を使用します。 モニタリング・エージェントは、データ・コレクターとして機能します。 このエージェントが、メトリックを自動的に収集します。 Web ベースのユーザー・インターフェースを使用してメトリックを表示します。 ベア・メタルは、 IBM Cloud、オンプレミス、およびその他のクラウドでモニターできます。

デフォルトでは、このエージェントは、ホストのモニターに使用できるコア・インフラストラクチャーとネットワーク時系列を収集します。 収集されたメトリックのリストについては、 非オーケストレーション環境で使用可能なメトリック を参照してください。

Monitoring エージェントは、ホストごとに以下のタイプのシステム・メトリックを自動的に収集します。

  • System hosts metricsは、すべてのプロセスのパフォーマンスとリソース使用率を分析するために使用できる、CPU、メモリー、およびストレージの使用量メトリックに関する情報を提供します。

  • File and File System metricsは、システムで発生するファイル対話を分析するために使用できるファイルおよびファイル・システムに関する情報を提供します。 例えば、オープン・ファイル、送受信バイト数、または特定のファイル・システムの使用率に関する情報を見つけることができます。

  • Process metricsは、サーバーで実行されるプロセスに関する情報を提供します。 例えば、これらのメトリックを使用して、プロセスの数を調べたり、クライアントまたはサーバーの情報を取得したりすることができます。

  • Network metricsは、ネットワークに関する情報を提供します。 これらは、アプリケーション、コンテナー、およびサーバーの間で確立された接続に対する洞察を提供します。 例えば、送受信されているバイト数や、HTTP 要求、接続、および待ち時間の数に関する情報を見つけることができます。 また、SQL または MongoDB の場合、エージェントは、トラブルシューティング・モードで構成されているときに追加情報を収集します。

Monitoring UI を使用すると、アドバイザータブ、探索タブ、およびダッシュボードタブでデータを分析できます。 メトリック・ビューおよびダッシュボードを使用してデータをモニターします。

データをモニターする際には、以下の情報を考慮してください。

  • エクスプローラータブでは、個々のメトリックをモニターできます。

  • Advisor タブでは、 Red Hat OpenShift またはホスト・レベルのメトリクスを監視できます。

    このタブは、 Red Hat OpenShift またはホスト・レベルのメトリクスを監視するアクセス権を持つチームに所属するユーザーのみが使用できます。

  • *「ダッシュボード」*タブでは、事前定義されたダッシュボードまたはカスタム・ダッシュボードのパネルを使用してモニターし、ネットワーク・データ、アプリケーション・データ、トポロジー、サービス、ホスト、およびコンテナーに関する特殊な洞察を得ることができます。 パネルでは、メトリックまたはメトリックのグループがダッシュボードに表示されます。

メトリック・ビューおよびダッシュボードごとに、データの有効範囲、データの集約方法、およびデータに適用する時間とグループ・フィルターを定義できます。 詳しくは、パネルの管理を参照してください。

ダッシュボードをチームのデフォルトのエントリー・ポイントとして構成し、チームのエクスペリエンスを統一し、ユーザーが最も関連性の高い情報にすぐに集中できるようにすることができます。

詳しくは、 メトリックの表示 を参照してください。

開始前に

  1. IBM Cloud Monitoring についてお読みください

  2. IBM Cloud CLI をインストールします。 詳しくは、『IBM CloudCLI のインストール』を参照してください。

  3. カタログから IBM Cloud Monitoring インスタンスをプロビジョンします

  4. ベアメタル・サーバーをプロビジョンします

    このトピックの手順を実行するには、ベアメタルからインターネットにアクセスできることを確認してください。 モニタリング・エージェントの構成に必要になります。

  5. 端末とベアメタル・サーバーの間の VPN 接続を構成します

    仮想プライベート・ネットワーキング (VPN) を利用することで、ユーザーは、IBM Cloud® プライベート・ネットワークでリモートからすべてのサーバーを安全に管理することができます。 お客様のロケーションからプライベート・ネットワークへの VPN 接続では、暗号化された VPN トンネルを使用して、アウト・オブ・バンドの管理やサーバー・レスキューを行うことができます。 地理的な冗長性が得られるように、すべての IBM Cloud データ・センターまたは PoP が VPN トンネルに対応しています。

    以下の手順を実行して、端末とベアメタル・サーバーの間の VPN 接続を構成します。

    1. VPN アクセスを必要とするアカウントごとに VPN アクセスを有効にします

    2. お使いのオペレーティングシステムに応じて、最新の MotionPro 32 ビットまたは 64 ビットファイルを Array Networks Clients and Tools ダウンロードサイトからダウンロードしてください。 詳細はこちら

    3. スタンドアロンの SSL VPN クライアントを構成し、接続を開きます。

    例えば、MacOS で MotionPro Plus クライアントを使用する場合は、プロファイルを追加するために**「追加」**をクリックします。

    Basic」セクションで「Title」にタイトルを入力します。 「Gateway」に入力します。例えば、ダラス 10 のベアメタルの場合は「vpn.dal10.softlayer.com」と入力します。 VPN ユーザー名を入力します。 「Port」に 443 が設定されていることを確認します。 その後、**「OK」**をクリックします。

    セキュア接続を開くために、**「ログイン」**をクリックします。

  6. SSH を使用してベアメタル・サーバーに接続します

    セキュリティー・セットアップとベアメタル・ホストの ssh 構成によっては、システムにアクセスするために VPN が必要になる場合があります。

    ユーザーの資格情報、または IBM Cloud コンソールで取得した root の資格情報を使用して、ホストに ssh で接続します。

    モニタリング・エージェントをインストールするには、root 権限が必要です。

    例えば、以下の手順を実行して、サーバーへの ssh 接続に必要なベアメタルの情報を取得できます。

    1. IBM Cloud アカウントにログインします

    2. メニューアイコンメニュー・アイコン > クラシック・インフラストラクチャー > デバイス・リストをクリックします。

    3. モニターするベアメタル・サーバーを見つけます。 パブリック IP をコピーします。

    4. ベアメタル・サーバーのデバイス名をクリックします。

    5. **「パスワード」**を選択します。 root ユーザーのパスワードをコピーします。

      その後、端末から次のコマンドを実行します。

      ssh <USER_ID>@<IP_ADDRESS>
      

      ここで、

      <USER_ID> は、ベアメタル・サーバーへのログインに使用するユーザー ID です。 例えば、root を使用してください。

      <IP_ADDRESS> は、ベアメタル・サーバーのパブリック IP アドレスです。

      例:ssh root@45.123.122.12

ベア・メタル・サーバーからメトリックを収集するためのモニター・エージェントの構成

ベアメタル・サーバーからメトリックを収集して IBM Cloud Monitoring インスタンスに転送するには、モニタリング・エージェントをインストールする必要があります。

コマンド・ラインから以下の手順を実行して、モニタリング・エージェントをインストールします。

  1. アクセス・キーを取得します。 詳しくは、IBM Cloud UI を使用したアクセス・キーの取得を参照してください。

  2. 取り込み URL を取得します。 詳しくは、Collector エンドポイントを参照してください。

  3. モニタリング・エージェントをデプロイします。 以下のコマンドを実行します。

    curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- --access_key ACCESS_KEY --collector COLLECTOR_ENDPOINT --collector_port 6443 --secure true --tags TAG_DATA --additional_conf 'sysdig_capture_enabled: false'
    

    説明

    • ACCESS_KEY はインスタンスの取り込みキーです。

    • COLLECTOR_ENDPOINT は、モニタリング・インスタンスが使用可能なリージョンの取り込み URL です。

    • TAG_DATA は、TAG_NAME:TAG_VALUE 形式のコンマ区切りタグです。 1 つ以上のタグをモニタリング・エージェントに関連付けることができます。 例えば、role:serviceX,location:us-south などです。 後で、これらのタグを使用して、エージェントが実行されている環境のメトリックを識別できます。

    • セキュア SSL/TLS 接続を使用してメトリックをコレクターに送信するには、SECURE フラグを true に設定する必要があります。

    • sysdig_capture_enabledfalse に設定して、キャプチャー機能を無効にします。 デフォルトでは、true に設定されています。 詳しくは、キャプチャーの処理を参照してください。

    cURL がない場合は、インストールする必要があります。 例えば、Ubuntu ベアメタルの場合は、コマンド sudo apt-get update を実行してください。 その後、インストール・コマンド sudo apt-get install curl を実行します。

    例えば、米国南部 (ダラス) のモニタリング・インスタンスにメトリックを転送するモニタリング・エージェントをインストールするには、以下の例のコマンドを参照してください。

    curl -sL https://ibm.biz/install-sysdig-agent | sudo bash -s -- -a xxxxxxxxxxxxx -c ingest.us-south.monitoring.cloud.ibm.com --collector_port 6443 --secure true -ac "sysdig_capture_enabled: false" --tags sourceType:baremetal,location:dallas
    
  4. オーケストレーションされていない環境用にエージェントを構成します。

    /opt/draios/etc/ にある dragent.yaml ファイルを開きます。

    以下のコンフィギュレーション・パラメーターを追加する:

    feature:
      mode: monitor_light
    

    エージェントを再始動します。 以下のコマンドを実行します。

    service dragent restart
    

モニター UI を起動して、ベア・メタル・サーバーをモニターするためのデータを取得していることを確認します。

Web UI を起動するには、以下のステップを実行します。

  1. IBM Cloud アカウントにログインします

    ユーザー ID とパスワードを使用してログインすると、IBM Cloud コンソールが開きます。

  2. 「メニュー」 アイコン 「メニュー」アイコン > **「可観測性」**をクリックします。

  3. **「モニタリング」**を選択します。

    IBM Cloud で使用可能なインスタンスのリストが表示されます。

  4. インスタンスを選択します。 次に、**「ダッシュボードを開く」**をクリックします。

モニタリング・エージェントが最初に情報を収集して処理している間は、ベアメタルのエントリーが表示されるまでに時間がかかることがあります。

モニターできるインスタンスは、ブラウザーごとに 1 つのみです。 同じインスタンスについて複数のタブが表示される場合があります。

ベアメタルのモニター

アドバイザータブでは、ホストおよび Kubernetes クラスターの正常性、リスク、および容量をモニターおよびトラブルシューティングできます。

「アドバイザー」タブ
「アドバイザー」タブ

  • データは 10 分ごとに更新されます。
  • メトリックは、イベント数と重大度によって優先順位付けされます。
  • 詳しくは、 アドバイザーを参照してください。

「アドバイザー」 セクションで、ホストによるモニターを選択します。 リソースの正常性をモニターするために使用できる事前定義ダッシュボードを確認します。

ホスト別にモニターすることを選択した場合は、以下のいずれかのダッシュボードを選択できます。

  • ホスト・リソース使用量
  • ファイル・システム使用状況 & パフォーマンス
  • メモリー使用量
  • ネットワーク
  • Sysdig エージェントの正常性 & 状況

センサー・メトリックをモニターするための IPMI エクスポーターの[オプション]構成 Prometheus

モニタリング・エージェントが自動的に収集する一連のメトリックに加えて、センサー・メトリックなどの他のメトリックも収集したい場合もあります。 Prometheus IPMI Exporterを使用すると、ベアメタル・サーバーから Intelligent Platform Management Interface (IPMI) のデバイス・センサー・メトリックを収集できます。

  • Prometheus の IPMI エクスポーターは、ローカルの IPMI デバイスと、Remote Management Control Protocol (RMCP) を使用してアクセス可能なリモート・デバイスをサポートします。
  • RMCP を使用してリモート・デバイスにアクセスする場合は、1 つの IPMI エクスポーターを使用して複数の IPMI デバイスをモニターできます。 ターゲットのホスト名をパラメーターとして渡すことで、各デバイスを指定します。
  • IPMI エクスポーターは、FreeIPMI スイートのツールに依存しています。

ベアメタル・サーバーに IPMI エクスポーターを構成すると、以下のメトリックを収集できます。

  • IPMI 管理メトリック

    リモート・ホストからのデータが正常に収集されると、メトリックipmi_up {collector="<NAME>"}1を報告します。 ローカル・ホストのデータが収集されると 0 を報告します。

    メトリック ipmi_scrape_duration_seconds は、コレクターがデータを取得するために要した時間を報告します。

  • IPMI システム・イベント・ログ (SEL) のメトリック

    メトリック ipmi_sel_entries_count は、システム・イベント・ログのエントリー数を報告します。

    メトリック ipmi_sel_free_space_bytes は、システム・イベント・ログの新規エントリーのための空きバイト数を報告します。

  • IPMI センサー・データ

    IPMI エクスポーターは、センサー・タイプごとに 2 つのメトリック (状態および値) を収集します。 0 の値は、通常状態を報告します。 1 の値は、警告状態を報告します。 2 の値は、クリティカル状態を報告します。 NaN の値は、情報がないことを報告します。 例として、さまざまなセンサーのメトリックを以下に示します。

    温度センサーのメトリック: ipmi_temperature_celsius, ipmi_temperature_state

    ファン速度センサーのメトリック: ipmi_fan_speed_rpm, ipmi_fan_speed_state

    電圧センサーのメトリック: ipmi_voltage_state, ipmi_voltage_volts

  • マシンのシャーシの IPMI 電源状態

    メトリック ipmi_chassis_power_state は、マシンのシャーシの現在の状態について報告します。 電源がオンのときには、値が 1 になります。 電源がオフのときには、値が 0 になります。

  • DCMI データ

    メトリック ipmi_dcmi_power_consumption_current_watts は、稼働中のマシンの電力使用量 (ワット) を報告します。

  • BMC の詳細

    メトリック ipmi_bmc_info の各ラベルにファームウェア・リビジョンと製造元に関する情報が入ります。値は 1 です。

詳細については、 Prometheus IPMI Exporterを参照。

Prometheus の IPMI エクスポーターを構成するには、以下の手順を実行します。

Prometheus の IPMI エクスポーターをインストールする

以下のステップを実行します。

  1. ローカルターミナルから、 Prometheus IPMI エクスポーターをダウンロードする

  2. ベアメタル・サーバーで、shh セッションから、ディレクトリー /usr/monitor を作成します。 以下のコマンドを実行します。

    cd /usr
    
    mkdir monitor
    
  3. ファイルをベアメタルにコピーします。 ファイルがあるディレクトリーから、以下のコマンドを実行します。

    scp ipmi_exporter-v1.2.0.linux-amd64.tar.gz  root@<IP_ADDRESS>:/usr/monitor/
    

    ここで、<IP_ADDRESS>は、ベアメタル・サーバーのパブリック IP アドレスです。

    コマンドが失敗した場合は、VPN 接続がまだ開かれていることを確認してください。

  4. ベアメタル・サーバーで、shh セッションから、ファイルを解凍します。 以下のコマンドを実行します。

    cd /usr/monitor/
    
    tar -xvf ipmi_exporter-v1.2.0.linux-amd64.tar.gz
    
  5. ベアメタル・サーバーで、shh セッションから、FreeIPMI スイートをインストールします。 以下のコマンドを実行します。

    sudo apt-get update
    
    sudo apt-get install freeipmi
    
  6. ベアメタル・サーバーで、shh セッションから、ipmi_local.yml ファイルを確認します。 任意で、モニターしないセンサーを除外するようにファイルを更新することもできます。

    IPMI エクスポーターを解凍したディレクトリーに移動します。

    cd ipmi_exporter-v1.2.0.linux-amd64/
    

    構成ファイルを確認します。 コマンド more ipmi_local.yml を実行します。次のような内容のファイルが表示されます。

    # Configuration file for ipmi_exporter
    
    # This is an example config for scraping the local host.
    # In most cases, this should work without using a config file at all.
    modules:
            default:
                    # Available collectors are bmc, ipmi, chassis, dcmi, and sel
                    collectors:
                    - bmc
                    - ipmi
                    - dcmi
                    - chassis
                    - sel
                    # Got any sensors you don't care about? Add them here.
                    exclude_sensor_ids:
                    # - 2
    
  7. ベアメタル・サーバーで、shh セッションから、IPMI エクスポーターを実行します。

    ./ipmi_exporter --config.file=ipmi_local.yml &
    
  8. IPMI エクスポーターが実行されていることを確認します。 コマンドを実行します。

    ps -aux | grep ipmi
    

    IPMI エクスポーターが実行されていることを確認できます。

Prometheus エクスポーターをインストールする

モニタリング・エージェントは、Prometheus エクスポーターからメトリックを自動的に収集します。 そのため、IPMI エクスポーターからメトリックを収集するには、Prometheus エクスポーターも構成する必要があります。

次の手順に従って、Prometheus エクスポーターを実行します。

  1. ローカルターミナルから 、 Prometheus エクスポーターをダウンロードする

  2. ベアメタル・サーバーで、shh セッションから、ディレクトリー /usr/monitor/ に移動します。 以下のコマンドを実行します。

    cd /usr/monitor/
    
  3. ファイルをベアメタルにコピーします。 ファイルがあるディレクトリーから、以下のコマンドを実行します。

    scp prometheus-2.18.1.linux-amd64.tar.gz root@<IP_ADDRESS>:/usr/monitor/
    

    ここで、<IP_ADDRESS>は、ベアメタル・サーバーのパブリック IP アドレスです。

    コマンドが失敗した場合は、VPN 接続がまだ開かれていることを確認してください。

  4. ベアメタル・サーバーで、shh セッションから、ファイルを解凍します。 以下のコマンドを実行します。

    cd /usr/monitor/
    
    tar -xvf prometheus-2.18.1.linux-amd64.tar.gz
    
  5. prometheus.yml ファイルを変更して、IPMI エクスポーターの scrape_configuration に関する情報を含めます。

    Prometheus ディレクトリーに移動します。

    cd prometheus-2.18.1.linux-amd64/
    

    prometheus.yml ファイルを編集し、セクション scrape_configs を追加します。

    # my global config
    global:
      scrape_interval:     15s # Set the scrape interval to every 15 seconds. Default is every 1 minute.
      evaluation_interval: 15s # Evaluate rules every 15 seconds. The default is every 1 minute.
      # scrape_timeout is set to the global default (10s).
    
    # Alertmanager configuration
    alerting:
      alertmanagers:
      - static_configs:
        - targets:
          # - alertmanager:9093
    
    # Load rules once and periodically evaluate them according to the global 'evaluation_interval'.
    rule_files:
      # - "first_rules.yml"
      # - "second_rules.yml"
    
    # A scrape configuration containing exactly one endpoint to scrape:
    # Here it's Prometheus itself.
    scrape_configs:
      # The job name is added as a label `job=<job_name>` to any timeseries scraped from this config.
      - job_name: ipmi
    
        metrics_path: '/metrics'
        scheme: http
    
        static_configs:
        - targets: ['localhost:9290']
          labels:
            instance: baremetal01
            region: us-south
    
  6. Prometheus エクスポーターを実行します。

    ./prometheus &
    

ネットワーク設定を構成する

リモート・サーバーからメトリックを収集する場合は、以下の手順を実行します。

  1. ipmi_exporter へのアクセスがファイアウォールで許可されるようにします。

  2. [オプション] VPC ルールの更新

    プライベート・エンドポイントを使用する場合は、9290 を指定してポート source type = Security Group のインバウンド・ルールをセキュリティー・グループに追加し、そのセキュリティー・グループをベアメタル・サーバーに対して選択します。

ベアメタル・サーバーで実行されているモニタリング・エージェントを更新する

以下のステップを実行します。

  1. ベアメタル・サーバーで、shh セッションから、ディレクトリー /opt/draios/etc/ に移動します。 以下のコマンドを実行します。

    cd /opt/draios/etc/
    
  2. /opt/draios/etc/dragent.yaml を更新します。

    以下のセクションを dragent.yaml ファイルに追加します。

    prometheus:
     enabled: true
     interval: 30
     log_errors: true
     max_metrics: 3000
     max_metrics_per_process: 3000
     max_tags_per_metric: 20
     process_filter:
       - include:
           port: 9090
           conf:
             port: 9090
             path: "/metrics"
       - include:
           port: 9290
           conf:
             port: 9290
             path: "/metrics"
    
  3. モニタリング・エージェントを再始動します。 以下のコマンドを実行します。

    service dragent restart
    

Prometheus IPMI メトリックが表示されることを確認します。

以下のステップを実行します。

  1. 「メニュー」 アイコン 「メニュー」アイコン > **「可観測性」**をクリックします。

  2. **「モニタリング」**を選択します。

  3. 作成したモニタリング・インスタンスを見つけます。 次に、**「ダッシュボードを開く」**をクリックします。

  4. Exploreビューで、**「Hosts and Containers」**を選択します。 次に、モニターするベアメタル・サーバーを選択します。

    「ホストとコンテナー」ビュー
    「ホストとコンテナー」ビュー

  5. **「さらにダッシュボードとメトリックを選択する (select more Dashboards and Metrics)」**オプションを開きます。 次に、検索バーに ipmi と入力します。 IPMI メトリックのリストが表示されます。

    IPMI メトリック
    IPMI メトリック

ベア・メタルの IPMI 状況を分析するためのダッシュボードの構成

IPMI メトリックをモニターするためのダッシュボードを作成するには、以下の手順を実行します。

  1. ipmi_up メトリックを選択します。

    ipmi_up メトリック
    ipmi_up メトリック

  2. 3 点アイコンを選択します。 次に、**「Copy to dashboard」**を選択します。

    「ダッシュボードのコピー」
    「ダッシュボードのコピー」

  3. [ベア・メタル] IPMI モニターという名前を入力します。 次に、**「Copy and Open」**をクリックします。

    ダッシュボードをコピーして開きます
    ダッシュボードをコピーして開きます

    ダッシュボードが開きます。

    IPMI カスタム・ダッシュボード
    IPMI カスタム・ダッシュボード

  4. [ベア・メタル] IPMI モニターカスタム・ダッシュボードに IPMI メトリックを追加します。 モニターする IPMI メトリックごとに、この手順を繰り返します。

  5. ドラッグ・アンド・ドロップやパネルのサイズ変更を行って、ダッシュボードのレイアウトを整えます。 そのレイアウトを保存します。

次のステップ