全部產品
Search
文件中心

:在使用了本地碟的ECS Bare Metal Instance執行個體上安裝監控外掛程式

更新時間:Jun 19, 2024

本文介紹了安裝監控外掛程式xdragon_hardware_detect_plugin的方式,適用於使用了本地碟的ECS Bare Metal Instance執行個體。

前提條件

待安裝監控外掛程式的ECS Bare Metal Instance執行個體必須滿足以下條件:

  • 所在地區為中國北京、中國上海、中國杭州、中國深圳或者中國張家口地區。

  • 作業系統為Linux系統。

  • 僅使用OOS大量安裝監控外掛程式:如果您根據標籤匹配ECS Bare Metal Instance執行個體目標,目標執行個體必須已經綁定了標籤。詳細步驟請參見建立或綁定標籤

  • 已安裝雲助手用戶端。具體操作,請參見安裝雲助手Agent

    說明

    2017年12月01日之後使用公用鏡像建立的ECS執行個體,預設預裝雲助手Agent。

背景資訊

如果您使用的是搭載了本地碟的ECS Bare Metal Instance執行個體規格,需要您自行監控和診斷本地碟健康狀態。

外掛程式xdragon_hardware_detect_plugin可以定期檢測ECS Bare Metal Instance執行個體上的本地碟裝置的健康狀態,如果發生本地碟例外狀況事件,外掛程式會自動將例外狀況事件反饋成本地碟系統事件。對應的系統事件代碼為SystemMaintenance.ReInitErrorDisk。詳情請參見本地碟執行個體營運情境和系統事件

使用OOS大量安裝監控外掛程式

營運編排服務OOS能通過公用模板自動安裝監控外掛程式xdragon_hardware_detect_plugin。

  1. 登入OOS管理主控台

  2. 在頁面左側頂部,選擇目標資源所在的資源群組和地區。地區

  3. 在左側導覽列,選擇自動化任務 > 公用工作範本,輸入ACS-ECS-InstallXDragonAndCloudMonitor搜尋大量安裝神龍監控外掛程式的模板,單擊建立執行

    大量安裝神龍監控外掛程式-建立執行

  4. 建立執行的對話方塊中,完成以下配置:

    1. 基本資料步驟中,執行模式選擇自動執行,其他配置保持系統預設。完成後單擊下一步:設定參數

    2. 設定參數步驟中,完成以下配置,其他配置保持系統預設,完成後單擊下一步:確定

      • 操作類型:選擇install,即安裝外掛程式。

        說明

        該營運模板同時支援安裝、更新和卸載監控外掛程式,您可以根據自身需要選擇營運任務類型。

      • 目標執行個體:選擇一台或多台需要輪詢並安裝監控外掛程式的ECS Bare Metal Instance執行個體。

      • 任務執行的並發比率:選擇並發控制並發速率選擇百分制,並設定為100 %。

      大量安裝神龍監控外掛程式-建立執行

    3. 確認模板配置資訊後,單擊建立

    建立了營運任務後,您可以在執行管理頁面查看營運任務的結果。

    • 執行狀態顯示成功,表示營運任務已完成。

    • 執行狀態顯示失敗,您可以單擊操作列下的詳情查看執行日誌,並根據日誌資訊分析和調整執行內容。

手動安裝監控外掛程式

雲助手用戶端提供的aliyun_installer工具可以下載並安裝監控外掛程式xdragon_hardware_detect_plugin。

  1. 以root許可權遠端連線ECS Bare Metal Instance執行個體。

  2. (可選)運行aliyun_installer -h查看工具協助資訊。

  3. 使用aliyun_installer命令安裝監控外掛程式xdragon_hardware_detect_plugin。

    aliyun_installer -i xdragon_hardware_detect_plugin -e 1.0.0
  4. 儲存並運行安裝特殊版本CloudMonitor外掛程式的Shell指令碼。Shell指令碼請參見下文指令碼樣本

    bash <nameOfTheScript>.sh
    說明

    安裝監控外掛程式xdragon_hardware_detect_plugin的步驟必須先於CloudMonitor外掛程式,若您先安裝了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外掛程式的Shell指令碼如下所示:

#!/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 Bare Metal Instance執行個體不會變更所宿物理機。詳情請參見本地碟執行個體系統事件