すべてのプロダクト
Search
ドキュメントセンター

:ローカルディスクを備えたECSベアメタルインスタンスにモニタリングプラグインをインストールする

最終更新日:Nov 07, 2024

このトピックでは、xdragon_hardware_detect_pluginモニタリングプラグインをインストールする方法について説明します。 このトピックの方法は、ローカルディスクを備えたElastic Compute Service (ECS) ベアメタルインスタンスに適用されます。

前提条件

インスタンスが次の要件を満たしている場合にのみ、ECSベアメタルインスタンスにモニタリングプラグインをインストールできます。

  • インスタンスは、中国 (北京) 、中国 (上海) 、中国 (杭州) 、中国 (深セン) 、または中国 (張家口) リージョンにあります。

  • インスタンスはLinuxオペレーティングシステムを実行します。

  • CloudOps Orchestration Service (OOS) を使用してモニタリングプラグインを一度に複数のインスタンスにインストールし、タグを使用してECSベアメタルインスタンスを選択するには、タグをインスタンスにバインドする必要があります。 詳細については、「タグの作成または追加」をご参照ください。

  • Cloud Assistant Agentがインスタンスにインストールされています。 詳細については、「Cloud Assistant Agentのインストール」をご参照ください。

    説明

    デフォルトでは、Cloud Assistant Agentは、2017年12月1日以降にパブリックイメージから作成されたECSインスタンスにプリインストールされます。

背景情報

ローカルディスクを備えたECSベアメタルインスタンスを使用している場合、xdragon_hardware_detect_pluginプラグインを使用してローカルディスクのヘルスステータスを監視および診断する必要があります。

xdragon_hardware_detect_pluginプラグインは、ECSベアメタルインスタンスのローカルディスクのヘルスステータスを定期的にチェックできます。 ローカルディスクに例外が発生した場合、プラグインはローカルディスクのシステムイベントとして自動的に例外を報告します。 対応するシステムイベントコードはSystemMaintenance.ReInitErrorDiskです。 詳細については、「ローカルディスクを搭載したインスタンスのO&Mシナリオとシステムイベント」をご参照ください。

OOSを使用して、一度に複数のインスタンスにモニタリングプラグインをインストールする

OOSは、パブリックテンプレートを使用してxdragon_hardware_detect_pluginモニタリングプラグインを自動的にインストールできます。

  1. OOSコンソールにログインします。

  2. 上部のナビゲーションバーで、リソースが属するリージョンとリソースグループを選択します。 地域

  3. 左側のナビゲーションウィンドウで、[自動タスク] > [パブリックテンプレート] を選択します。 [パブリックテンプレート] ページで、ACS-ECS-InstallXDragonAndCloudMonitorと入力して、モニタリングプラグインのインストールに使用するテンプレートを検索し、[実行の作成] をクリックします。

    批量安装神龙监控插件-创建执行

  4. [タスクの作成] ページで、次の設定を行います。

    1. [基本情報] ステップで、[実行モード][自動] に設定し、他のパラメーターのデフォルト値を保持し、[次のステップ: パラメーター設定] をクリックします。

    2. [パラメーター設定] ステップで、次のパラメーターを設定し、他のパラメーターのデフォルト値を保持してから、[次のステップ: OK] をクリックします。

      • 操作: インストールを選択してプラグインをインストールします。

        説明

        このテンプレートを使用して、監視プラグインをインストール、更新、またはアンインストールできます。 ビジネス要件に基づいてActionパラメーターを設定します。

      • TargetInstance: モニタリングプラグインをインストールする1つ以上のECSベアメタルインスタンスを選択します。

      • RateControl: レート制御タイプを選択し、関連パラメーターを設定します。 この例では、[Concurrency-based Control] を選択し、[Concurrency] の % を選択してから、Concurrencyを100% に設定します。

      批量安装神龙监控插件-创建执行

    3. タスク設定を確認し、[作成] をクリックします。

    タスクの作成後、[タスク実行管理] ページで実行結果を表示できます。

    • O&Mタスクに対応する [実行ステータス] 列に [成功] が表示されている場合、O&Mタスクは完了しています。

    • O&Mタスクに対応する [実行ステータス] 列に [失敗] が表示されている場合、[操作] 列の [詳細] をクリックします。 [出力] セクションで [ログ] をクリックします。 その後、ログ情報に基づいて実行内容を分析し調整できます。

監視プラグインを手動でインストールする

Cloud Assistant Agentが提供するaliyun_installerツールを使用して、xdragon_hardware_detect_pluginモニタリングプラグインをダウンロードおよびインストールするには、次の操作を実行します。

  1. ECSベアメタルインスタンスにルートユーザーとして接続します。

  2. (オプション) aliyun_installer -hコマンドを実行して、ツールのヘルプ情報を表示します。

  3. 次のaliyun_installerコマンドを実行して、xdragon_hardware_detect_pluginモニタリングプラグインをインストールします。

    aliyun_installer -i xdragon_hardware_detect_plugin -e 1.0.0
  4. CloudMonitor エージェントの特別版のインストールに使用されるシェルスクリプトを保存して実行します。 シェルスクリプトの詳細については、次のセクションのサンプルスクリプトをご参照ください。

    bash <nameOfTheScript>.sh
    説明

    CloudMonitorエージェントをインストールする前に、xdragon_hardware_detect_pluginモニタリングプラグインをインストールする必要があります。 モニタリングプラグインをインストールする前にCloudMonitorエージェントをインストールする場合は、/usr/local/cloudmonitor/CmsGoAgent.linux-amd64 restartコマンドを実行して、CloudMonitorエージェントを再起動します。

  5. smartctl -Vコマンドを実行して、ローカルディスク監視および分析ツール「smartctl」がインスタンスにインストールされているかどうかを確認します。

    smartctlツールのバージョン番号がコマンド出力に表示されている場合、ツールはインスタンスにインストールされています。

  6. (オプション) コマンド出力にsmartctlツールのバージョン番号が表示されない場合は、次のいずれかのコマンドを実行してツールをインストールします。

    • CentOSの場合:

      yum install smartmontools
    • Ubuntuの場合:

      apt update&apt install smartmontools
    • 他のLinuxディストリビューションのインストール方法については、smartmontoolsドキュメントをご覧ください。

CloudMonitorエージェントの特別なバージョンを手動でインストールするためのサンプルシェルスクリプト:

#!/bin/bash
echo "installing cms agent"

if [ -z "${CMS_HOME}" ]; then
  CMS_HOME="/usr/local/cloudmonitor"
  [[ ! -z "`egrep -i coreos /etc/os-release`" ]] && CMS_HOME="/opt/cloudmonitor"
fi

if [ `uname -m` = "x86_64" ]; then
    ARCH="amd64"
else
    ARCH="386"
fi

VERSION="2.1.57"
ELF_NAME=CmsGoAgent.linux-${ARCH}
DOWNLOAD_PATH="cms-go-agent/${VERSION}/${ELF_NAME}"
DEST_UPDATE_FILE="$CMS_HOME/${ELF_NAME}"

current_cms_version="0"
# xdragon always x86 arch, judge version
if [ -f /usr/local/cloudmonitor/CmsGoAgent.linux-amd64 ]; then
    current_cms_version="$($DEST_UPDATE_FILE version)"
fi

if [ $current_cms_version = "2.1.57" ]; then
    echo "CmsGoAgent already installed"
    echo "Installation success."
    exit 0
fi

if [ -z "${REGION_ID}" ]; then
  REGION_ID="$(wget -q --timeout=1 -t 1 -O - 'http://100.100.100.200/latest/meta-data/region-id')"
fi


if [ -d $CMS_HOME ] ; then
  if [ -f $CMS_HOME/wrapper/bin/cloudmonitor.sh ] ; then
    $CMS_HOME/wrapper/bin/cloudmonitor.sh remove;
    rm -rf $CMS_HOME;
  elif [ -f $DEST_UPDATE_FILE ]; then
    $DEST_UPDATE_FILE stop
    #$DEST_UPDATE_FILE uninstall
    ps aux | grep -v grep | grep $ELF_NAME
  fi
fi

download()
{
  if [ -z "${REGION_ID}" ]; then
    echo "networkType is classic"
    OSS_URL="http://cms-agent-cn-hangzhou.oss-cn-hangzhou-internal.aliyuncs.com/$DOWNLOAD_PATH"
  else
    echo "networkType is vpc, REGION_ID: $REGION_ID"
    if [[ "$REGION_ID" = "cn-shenzhen-finance-1" ]]; then
      OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
      CMS_PROXY="szcmsproxy.aliyun.com:3128"
    elif [[ "$REGION_ID" = "cn-shanghai-finance-1" ]]; then
      OSS_URL="http://cms-agent-$REGION_ID.oss-$REGION_ID-pub-internal.aliyuncs.com/$DOWNLOAD_PATH"
    elif [[ "$REGION_ID" = "ap-south-1" ]]; then
      OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
      CMS_PROXY="cmsproxy-ap-south-1.aliyuncs.com:8080"
    elif [ "$REGION_ID" = "ap-southeast-3" -o "$REGION_ID" = "me-east-1" -o "$REGION_ID" = "cn-chengdu" ]; then
      OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
    else
      OSS_URL="http://cms-agent-$REGION_ID.oss-$REGION_ID-internal.aliyuncs.com/$DOWNLOAD_PATH"
    fi
  fi
  echo download from "$OSS_URL"
  wget -q -e "http_proxy=$CMS_PROXY" "$OSS_URL" -O "$DEST_UPDATE_FILE" -t 3 --connect-timeout=2
  if [ $? != 0 ]; then
    echo "download fail, retry..."
    CMS_PROXY="vpc-opencmsproxy.aliyun.com:8080";
    OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
    wget -q -e "http_proxy=$CMS_PROXY" "$OSS_URL" -O "$DEST_UPDATE_FILE" -t 3 --connect-timeout=2
  fi
  if [ $? != 0 ]; then
    echo "download fail, retry..."
    CMS_PROXY="opencmsproxy.aliyun.com:8080";
    OSS_URL="http://cms-download.aliyun.com/$DOWNLOAD_PATH"
    wget -q -e "http_proxy=$CMS_PROXY" "$OSS_URL" -O "$DEST_UPDATE_FILE" -t 3 --connect-timeout=2
  fi
}

mkdir -p $CMS_HOME && \
chown -R root:root $CMS_HOME && \
download && \
chmod a+x $DEST_UPDATE_FILE
$DEST_UPDATE_FILE check
RC=$?
if [ ${RC} -ne 0 ]; then
    echo CmsGoAgent install failed, your platform is not supported
    exit ${RC}
fi

$DEST_UPDATE_FILE install >/dev/null 2>&1 || true
$DEST_UPDATE_FILE start
ps aux | grep -v grep | grep $ELF_NAME

ACT_VERSION=`$DEST_UPDATE_FILE version`
if [ -n "$ACT_VERSION" ]; then
    echo CmsGoAgent v$ACT_VERSION installed
else
    echo CmsGoAgent install failed
    exit 1
fi

結果

xdragon_hardware_detect_plugin モニタリングプラグインは、インストール後には /usr/local/xdragon_hwqc ディレクトリに置かれます。 aliyun_installer -d xdragon_hardware_detect_pluginコマンドを実行して、プラグインを更新します。 aliyun_installer -u xdragon_hardware_detect_pluginコマンドを実行して、プラグインをアンインストールします。

次のステップ

ECS APIを呼び出して、ECSベアメタルインスタンスをホストする物理マシン上の破損したローカルディスクを分離できます。 ローカルディスクが分離された後、インスタンスは物理マシンに残ります。 詳細については、「ローカルディスクを搭載したインスタンスのO&Mシナリオとシステムイベント」をご参照ください。