2.4. クラウド監視(Azure)監視設定手順と使い方

Azure監視設定を行う際には、以下の設定が必要になります。

  • ライセンスの購入とライセンスキーの入手
    • Azure監視

注釈

監視対象数に応じて、カスタムセンサーのライセンスが必要です。

  • Senju DevOperation Conductor Extension Packの入手と適用
    運用管理サーバーおよび、クラウド監視を行う管理対象ノードに、同一バージョンの Senju DevOperation Conductor Extension Pack の適用が必要です
    • 運用管理サーバー(千手マネージャ)への適用(監視項目の更新)

    • 管理対象ノード(千手エージェント(プローブノード))への適用(情報取得コマンドの更新)

警告

適用可能な Senju DevOperation Conductor のバージョンやパッチ状況に制限がある場合があります。詳しくは、Senju DevOperation Conductor Extension Pack の README をご参照下さい。

参考

Senju DevOperation Conductor Extension Packの適用手順につきましては、Senju DevOperation Conductor Extension Pack の README をご参照下さい。

注釈

Senju DevOperation Conductor Extension Packの適用に際しては、千手システムの停止は不要ですが、関連する監視タスクの停止が必要です。

2.4.1. 設定

  • 説明

    モニタリングサブシステムを用いてAzureの監視項目を使用するための設定を行います。

  • 設定手順

    Azure監視を設定するには以下の手順が必要です。

    • Microsoft Azureアカウントの登録

    • 認証設定

    • Azureユーザー情報設定ファイルの作成

2.4.1.1. Microsoft Azureアカウントの登録

Azureの監視項目の利用において、事前にMicrosoft Azureアカウントの登録が必要です。Microsoft Azureサイトよりアカウント登録を行って下さい。

2.4.1.2. 認証設定

2.4.1.2.1. マネージドIDで認証する

Azure内のエージェントからAzure監視を行う場合は、システム割り当てマネージドID(仮想マシン)、ユーザ割り当てマネージドIDを利用した認証が行えます。Azureユーザー情報設定ファイル(sj_azure_user.conf)の作成 でAzureユーザー情報設定ファイルのmanageIdを1に設定して下さい。マネージドIDの割り当てが1つの場合はAzureユーザー情報設定ファイルのuserAssignedManagedIdを設定する必要はありません。複数のマネージドIDが割り当てられている場合、userAssignedManagedIdを設定することで認証を行うマネージドIDを指定することが可能です。

マネージドIDの設定方法は下記Microsoftのサイトをご参照下さい。

参考URL:https://docs.microsoft.com/ja-jp/azure/active-directory/managed-identities-azure-resources/overview (2020年12月現在)

2.4.1.2.2. Azure ADへのアプリケーションの登録

Azure外のエージェントからAzure監視を行う場合は、Azure ADアプリケーションを利用した認証を行います。AzureポータルサイトよりAzure ADへアプリケーションの登録を行って下さい。
シークレットキーで認証する場合、AzureポータルサイトよりclientId、tenantId、keyを取得して下さい。Azureユーザー情報設定ファイル(sj_azure_user.conf)の作成 でAzureユーザー情報設定ファイルにclientId、tenantId、keyを設定して下さい。
証明書で認証する場合、事前にアプリケーション登録ポータルで証明書をアプリケーションに登録してください。AzureポータルサイトよりclientId、tenantIdを取得し、Azureユーザー情報設定ファイル(sj_azure_user.conf)の作成 でAzureユーザー情報設定ファイルにclientId、tenantId、certificatePath、certificatePasswordを設定して下さい。

Azure ADへアプリケーションの登録方法と証明書のアップロード方法は下記Microsoftのサイトをご参照下さい。

参考URL:https://learn.microsoft.com/ja-jp/azure/active-directory/develop/howto-create-service-principal-portal (2023年3月現在)

2.4.1.2.3. ロールの割り当て

Azure監視を使用するため、サブスクリプションのアクセス制御から、利用する認証方法に対して「Azure監視に必要なアクセス権限」に示すロールの割り当てを行って下さい。

表 2.16 Azure監視に必要なアクセス権限

監視項目

必要なロール

Azure:Batch ~

Microsoft.Insights/Metrics/Read
Microsoft.Batch/batchAccounts/read

Azure:Redis Cache ~

Microsoft.Insights/Metrics/Read
Microsoft.Cache/Redis/read

Azure:Compute ~

Microsoft.Insights/Metrics/Read
Microsoft.Compute/virtualMachines/read
Microsoft.Compute/virtualMachineScaleSets/read
Microsoft.Compute/virtualMachineScaleSets/virtualMachines/read

Azure:IoT Hub ~

Microsoft.Insights/Metrics/Read
Microsoft.Devices/IotHubs/read

Azure:Event Hub ~

Microsoft.Insights/Metrics/Read
Microsoft.EventHub/namespaces/read
Microsoft.EventHub/clusters/read

Azure:Logic Apps ~

Microsoft.Insights/Metrics/Read
Microsoft.Logic/workflows/read

Azure:Search ~

Microsoft.Insights/Metrics/Read
Microsoft.Search/searchServices/read

Azure:SQL Database ~

Microsoft.Insights/Metrics/Read
Microsoft.Sql/servers/databases/read

Azure:SQL Elastic Pools ~

Microsoft.Insights/Metrics/Read
Microsoft.Sql/servers/elasticpools/read

Azure:SQL Managed Instance ~

Microsoft.Insights/Metrics/Read
Microsoft.Sql/managedInstances/read

Azure:Stream Analytics ~

Microsoft.Insights/Metrics/Read
Microsoft.StreamAnalytics/streamingjobs/read

Azure:App Service ~

Microsoft.Insights/Metrics/Read
Microsoft.Web/serverFarms/read

Azure:Web App ~

Microsoft.Insights/Metrics/Read
Microsoft.Web/serverfarms/read
Microsoft.Web/sites/read
Microsoft.Web/sites/slots/read

Azure:API Management ~

Microsoft.Insights/Metrics/Read
Microsoft.ApiManagement/service/read

Azure:Container Instances ~

Microsoft.Insights/Metrics/Read
Microsoft.ContainerInstance/containerGroups/read

Azure:Container Service ~

Microsoft.Insights/Metrics/Read
Microsoft.ContainerService/managedClusters/read

Azure:Azure Database for PostgreSQL ~

Microsoft.Insights/Metrics/Read
Microsoft.DBforPostgreSQL/servers/read

Azure:Azure Cosmos DB ~

Microsoft.Insights/Metrics/Read
Microsoft.DocumentDB/databaseAccounts/read

Azure:Load balancers ~

Microsoft.Insights/Metrics/Read
Microsoft.Network/loadBalancers/read

Azure:Public IP DDoS ~

Microsoft.Insights/Metrics/Read
Microsoft.Network/publicIPAddresses/read

Azure:ExpressRoute circuits ~

Microsoft.Insights/Metrics/Read
Microsoft.Network/expressRouteCircuits/read

Azure:Storage accounts blob ~

Microsoft.Insights/Metrics/Read
Microsoft.Storage/storageAccounts/blobServices/read

Azure:メトリクス監視

上記にある各メトリクス監視用のロール

Azure:Service Health ~

Microsoft.ResourceHealth/events/read

Azure:Log Analytics ~

Microsoft.operationalinsights/workspaces/query/read

Azure:DataExplorer ~

サブスクリプションのアクセス制御からロールの割り当ては不要で、AzureDataExplorerクラスターの「セキュリティとネットワーク」「アクセス許可」項目で、利用する認証方法に対して「AllDatabasesViewers」ロールを割り当てます。

Azure:利用料金 ~
Azure:リソース使用量(EA)

課金データ閲覧者

2.4.1.3. Azureシステム情報設定ファイル(sj_azure_sys.conf)の作成

sj_azure_sys.confファイルは、Azureに関する監視を行うためにシステム情報を記載する設定ファイルです。

Azureシステム情報設定ファイル(千手ホームディレクトリ/dat/opt/sj_azure_sys.conf)を作成し、以下の項目を設定して下さい。

表 2.17 sj_azure_sys.confの記述内容

項目

省略

デフォルト

暗号化対象

説明

offerDurableId

MS-AZR-0003P

×

Microsoft Azureプラン(従量課金の場合はMS-AZR-0003Pで固定となります)

currency

JPY

×

料金の単位(JPY:日本円固定)

locale

en-US

×

料金を取得するリージョンのロケール

region

JP

×

料金を取得するリージョンのロケールを2文字で指定します。

monitorApiVersion

2018-01-01

×

メトリックAPIのバージョン

billingApiVersion

2015-06-01-preview

×

Billing API のバージョン

loginURL

https://login.windows.net

×

Azure Active Directory への承認に利用するエンドポイントのURL

apiURL

https://management.azure.com

×

Azure API のエンドポイント

providerApiVer

2014-04-01-preview

×

providerAPIのバージョン

waitTime

×

省略する場合はAPI実行時のタイムアウト時間が30(単位:秒)になります。

retryCount

×

省略する場合はAPI実行失敗時のリトライ回数が3になります。

logMaxSize

×

省略する場合はログファイルを出力する際の最大サイズが10240(単位:KB)になります。

logMaxCnt

×

省略する場合はログファイルを出力する際のローテーション最大個数が7になります。

queryLimit

×

省略する場合は1回のAPI実行で最大取得件数が5000になります。

logBufferTime

×

省略する場合は前回取得した最後のログより遡る時間が5(単位:分)になります。

dataExplorerWaitTime

×

省略する場合はAzureDataExplorerAPI実行時のタイムアウト時間が180(単位:秒)になります。

logFormat

×

取得したログの出力フォーマットをLTSVもしくはJSONに切り替えます。省略する場合はログフォーマットがLTSVとなります。

  • offerDurableId、currency、locale、region、billingApiVersionは「Azure:利用料金(当月)」「Azure:利用料金(昨日)」の監視を行う場合に設定して下さい。

  • offerDurableId:Microsoft Azureプランの詳細は右記URLを参照してください。https://azure.microsoft.com/ja-jp/support/legal/offer-details/

  • currency:国と通貨単位の組み合わせは右記URLを参照してください。https://azure.microsoft.com/ja-jp/offers/ms-azr-0003p/

  • currency:通貨の相場は右記URLを参照してください。https://azureprice.net/exchange

  • region:日本=JP、アメリカ=US、ドイツ=DEとしてください。

  • monitorApiVersion:メトリック API のバージョンは 2018-01-01 です。

  • providerApiVer:リソースエクスプローラに合わせて、2014-04-01-previewを指定します。

  • logMaxSize、logMaxCnt:Azureユーザー情報設定ファイル(sj_azure_user.conf)で値を設定する場合は、ユーザー情報設定ファイルの値を使います。

  • 一回以上ログを取得している状態でlogBufferTimeを現在よりも大きい値に変更した場合、変更後の1回目の実行で過去に取得したログを重複して取得する場合があります。ご注意ください。

  • dataExplorerWaitTime:AzureDataExplorerで指定したクエリが180秒以上かかる場合、dataExplorerWaitTimeの値を大きくしてください。

  • sj_azure_sys.conf の記載例
    {
            "offerDurableId": "MS-AZR-0003P",
            "currency": "JPY",
            "locale": "en-US",
            "region": "JP",
            "monitorApiVersion": "2018-01-01",
            "billingApiVersion": "2015-06-01-preview",
            "loginURL": "https://login.windows.net",
            "apiURL": "https://management.azure.com",
            "providerApiVer": "2014-04-01-preview",
            "waitTime": "",
            "retryCount": "",
            "logMaxSize": "",
            "logMaxCnt": "",
            "queryLimit": "",
            "logBufferTime": "",
            "dataExplorerWaitTime": "",
            "logFormat": ""
    }
    

2.4.1.4. Azureユーザー情報設定ファイル(sj_azure_user.conf)の作成

sj_azure_user.confファイルは、Azureに関する監視を行うためにユーザーが設定する情報を記載する設定ファイルです。

sj_azure_user.confはデフォルトで「千手ホームディレクトリ/dat/opt/sj_azure_user.conf」に作成されます。パスおよびファイル名は任意に指定することが可能です。

設定方法については、sj_setup_azure - Azureユーザー情報設定ファイル更新 - を参照して下さい。

表 2.18 sj_azure_user.confの記述内容

項目

省略

デフォルト

暗号化対象

説明

clientId

×

Azure接続用のID(Azure ポータルで登録したアプリのID)

tenantId

×

Azure接続用のテナントID(Azure Active Directory のディレクトリID)

proxyURL

×

Azure接続時に経由するプロキシサーバー

closingDate

×

Billingで使用する締め日

key

Azure ポータルで登録したアプリのキー(暗号化後のキー)

manageId

×

マネージドIDで認証するかどうか(1:認証する/省略:認証しない)

proxyUsername

×

プロキシサーバーアクセス用ユーザーID

proxyPassword

プロキシサーバーアクセス用パスワード(暗号化後のパスワード)

enrollmentNumber

×

BillingAPIアクセス用のアカウントナンバー

apiKey

BillingAPIアクセス用のAPIキー(暗号化後のAPIキー)

logMaxSize

×

省略する場合はログファイルを出力する際の最大サイズが10240(単位:KB)になります。

logMaxCnt

×

省略する場合はログファイルを出力する際のローテーション最大個数が7になります。

logFormat

×

取得したログの出力フォーマットをLTSVもしくはJSONに切り替えます。省略する場合はLTSVとなります。

userAssignedManagedId

×

認証用のユーザー割り当てマネージドID

certificatePath

×

証明書ファイルの絶対パス

certificatePassword

証明書パスワード(暗号化後のパスワード)

  • clientID、tenantID、keyはAzure ポータルで確認して下さい。Azure ADアプリケーションを利用した認証を行う場合に指定して下さい。マネージドIDで認証する場合は設定する必要はありません。

  • proxyURLを省略した場合、プロキシサーバーを利用しません。

  • プロキシサーバーアクセス用ユーザーIDおよびパスワードの両方を指定しなかった場合、プロキシサーバーの認証に利用しません。

  • keyはアプリ登録時に確認できるので忘れずに控えて下さい。

  • enrollmentNumber、apiKeyは「Azure:利用料金(EA)」「Azure:リソース使用量(EA)」の監視を行う場合に設定して下さい。

  • closingDateには"01"~"28"の2桁で指定して下さい。"01"を指定することで「Azure:利用料金(当月)」の毎月1日の監視結果には前月1日から当日までの料金が報告され、毎月2日から月末までは当月1日から当日までの料金が報告されます。

  • userAssignedManagedIdを利用する場合は、manageIdを1に設定する必要があります。システムマネージドIDを利用する場合、userAssignedManagedIdを設定する必要はありません。

  • certificatePath、certificatePasswordを利用する場合は、manageIdを0に設定する必要があります

  • sj_azure_user.conf の記載例
    {
            "clientId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            "tenantId": "XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX",
            "proxyURL": "http://ipアドレス:ポート番号"
            "closingDate": "01",
            "key": "=AVvMrR5jTefXB9prmQ=="
            "manageId": "",
            "proxyUsername": "",
            "proxyPassword": "",
            "enrollmentNumber": "",
            "apiKey": "",
            "logMaxSize": "",
            "logMaxCnt": "",
            "logFormat": "",
            "userAssignedManagedId": "",
            "certificatePath": "",
            "certificatePassword": ""
    }
    

2.4.1.4.1. sj_setup_azure - Azureユーザー情報設定ファイル更新 -

  • 指定形式
    • [参照]
      sj_setup_azure
    • [作成&更新]
      sj_setup_azure
      [-ci[Connection ID(Application (client)ID which registerd in Azure Portal)]]
      [-ti[Tenant ID(Directory ID of Azure Active Directory)]]
      [-pu[Proxy server]]
      [-cd[Closing date of Billing]]
      [-key[key of application registered in Azure portal]]
      [-mi[managedID of certify]]
      [-pn[user of proxy server]]
      [-en[account nember of BillingAPI access]]
      [-pp[password for access to proxy server]]
      [-ak[API key for billing API access]]
      [-cf[Azure user information setting file path]]
      [-lms[If omitted, the maximum size of the log file output by log monitoring is 10240 (unit: KB)]]
      [-lmc[If omitted, the maximum number of log file rotations output by log monitoring is 7.]]
      [-uami[User assigned managed id]]
      [-ctf[Absolute path of certificate file]]
      [-ctp[Password of certificate]]
  • 目的

    Azureユーザー情報設定ファイル(/dat/opt/sj_azure_user.conf) の現在値の参照、作成と更新を行います。

  • オプション
    • -ci
      Azure接続用のID(Azure ポータルで登録したアプリのID)(clientId)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -ti
      Azure接続用のテナントID(Azure Active Directory のディレクトリID)(tenantId)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -pu
      Azure接続時に経由するプロキシサーバー(proxyURL)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -cd
      Billingで使用する締め日(closingDate)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -key
      Azure ポータルで登録したアプリのキー(key)に設定する場合に指定して下さい。
      設定値の指定は対話形式で行われます。
      この項目は暗号化した値がAzureユーザー情報設定ファイルに書き込まれます。
    • -mi
      マネージドIDで認証するかどうか(manageId)に設定する値(1:認証する/省略:認証しない)を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -pn
      プロキシサーバーのユーザ(proxyUsername)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -pp
      プロキシサーバーのパスワード(proxyPassword)に設定する値を指定して下さい。
      設定値の指定は対話形式で行われます。
      この項目は暗号化した値がAzureユーザー情報設定ファイルに書き込まれます。
    • -en
      BillingAPIアクセス用のアカウントナンバー(enrollmentNumber)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -ak
      BillingAPIアクセス用のAPIキー(apiKey)に設定する値を指定して下さい。
      設定値の指定は対話形式で行われます。
      この項目は暗号化した値がAzureユーザー情報設定ファイルに書き込まれます。
    • -cf
      現在値の参照、作成と更新を行う任意のAzureユーザー情報設定ファイルを絶対パスで指定して下さい。
      値を省略した場合はデフォルトのAzureユーザー情報設定ファイル(/dat/opt/sj_azure_user.conf) の参照、作成と更新を行います。
    • -lms
      出力するログファイルの、最大サイズ(logMaxSize)に設定する値を指定してください。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -lmc
      出力するログファイルの、ローテーション最大個数(logMaxCnt)に設定する値を指定してください。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -uami
      認証用のユーザー割り当てマネージドID(userAssignedManagedId)に設定されている値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -ctf
      証明書ファイルの絶対パス(certificatePath)に設定する値を指定して下さい。
      値を省略するとAzureユーザー情報設定ファイルに設定されている値を削除します。
    • -ctp
      証明書パスワード(certificatePassword)に設定する値を指定して下さい。
      設定値の指定は対話形式で行われます。
      この項目は暗号化した値がAzureユーザー情報設定ファイルに書き込まれます。
  • 実行結果
    • (例1)現在の設定値参照
      % sj_setup_azure
      {
              "clientId": "ABCD",
              "tenantId": "XXXXX",
              "proxyURL": "XXXXX",
              "closingDate": "DD",
              "key": "**********"
              "manageId": "",
              "proxyUsername": "",
              "proxyPassword": "",
              "enrollmentNumber": "",
              "apiKey": "",
              "logMaxSize": "",
              "logMaxCnt": "",
              "userAssignedManagedId": "",
              "certificatePath": "",
              "certificatePassword": ""
      }
      
      %
      
    • (例2)クライアントIDとテナントID、キーを設定
      % sj_setup_azure -ciXXXXX-XXXXX -tiXXXX-XXXX -key
      Please enter the value.
              "key":
      
              The value of clientId has changed from (ABCD) to (XXXXX-XXXXX).
              The value of tenantId has changed from (XXXXX) to (XXXX-XXXX).
              The value of key has changed from (**********) to (**********).
      
      The Azure user information file successfully updated.
      
      % sj_setup_azure
      {
              "clientId": "XXXXX-XXXXX",
              "tenantId": "XXXX-XXXX",
              "proxyURL": "XXXXX",
              "closingDate": "DD",
              "key": "**********"
              "manageId": "",
              "proxyUsername": "",
              "proxyPassword": "",
              "enrollmentNumber": "",
              "apiKey": "",
              "logMaxSize": "",
              "logMaxCnt": "",
              "userAssignedManagedId": "",
              "certificatePath": "",
              "certificatePassword": ""
      }
      
      %
      
    • (例3)設定を削除
      % sj_setup_azure -ci -ti -key
      Please enter the value.
              "key":
      
              The value of clientId has changed from (XXXXX-XXXXX) to ().
              The value of tenantId has changed from (XXXX-XXXX) to ().
              The value of key has changed from (**********) to (**********).
      
      The Azure user information file successfully updated.
      
      % sj_setup_azure
      {
              "clientId": "",
              "tenantId": "",
              "proxyURL": "XXXXX",
              "closingDate": "DD",
              "key": ""
              "manageId": "",
              "proxyUsername": "",
              "proxyPassword": "",
              "enrollmentNumber": "",
              "apiKey": "",
              "logMaxSize": "",
              "logMaxCnt": "",
              "userAssignedManagedId": "",
              "certificatePath": "",
              "certificatePassword": ""
      }
      
      %
      

    注釈

    • 暗号化対象項目の標準出力への表示は全てアスタリスクでマスクされます。

    • 暗号化対象項目の値の設定は、キーボードからの入力が一切表示されません。コピー&ペーストで入力することをお勧めします。

    • 暗号化対象項目の値を削除する場合、何も入力せずにリターンキーを押下して下さい。

  • 標準エラー出力
    • Failed to acquire Senju home directory.

    • The Azure user information file does not exist.

    • Invalid data have been set in this file.

    • Failed to update the Azure user information file.

  • 終了ステータス
    • 0 : 正常終了

    • 1 : 異常終了

2.4.1.4.2. Azureユーザー情報設定ファイル更新コマンドの登録

Azureユーザー情報設定ファイルの現在値の参照、作成と更新を行うため、Azureユーザー情報設定ファイル更新コマンドを千手ブラウザからユーザーコマンドに登録します。詳細な手順については、ユーザーズガイド 「2.3.2.1 ユーザーコマンド」 を参照して下さい。

  • ユーザーコマンドグループの作成

    Azureユーザー情報設定ファイル更新コマンドを登録するユーザーコマンドグループを千手ブラウザから登録して下さい。

  • Azureユーザー情報設定ファイル更新コマンドの登録

    作成したユーザーコマンドグループに、以下に示す起動シーケンスを指定してコマンドを登録して下さい。

    • 現在値の参照

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_azure "-cf@@対象ファイルパス@@"
    
    • 作成と更新

    sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_azure "-ci@@Azure接続用ID@@" "-ti@@Azure接続用テナントID@@" "-pu@@Azure接続時に経由するプロキシサーバー@@" "-cd@@Billingで使用する締め日@@" "-key@@Azure ポータルで登録したアプリのキー@@" "-mi@@マネージドID認証有無@@" "-pn@@プロキシサーバーのユーザ名@@" "-pp@@プロキシサーバーのパスワード@@" "-ak@@BillingAPIアクセス用のAPIキー@@" "-cf@@対象ファイルパス@@" "-lms@@ログファイルの最大サイズ@@" "-lmc@@ログファイルのローテーション最大個数@@" "-uami@@認証用のユーザー割り当てマネージドID@@" "-ctf@@証明書ファイルの絶対パス@@" "-ctp@@証明書のパスワード@@"
    

    注釈

    上記の起動シーケンスは項目を全て変更する仕様となっています。項目別に変更を行いたい場合は、起動シーケンスから任意の「-オプション@@パラメータ名@@」を指定したユーザーコマンドを別途登録して下さい。

    (例)sj_remshe "@ノード名@" -l "@ユーザ名@" sj_setup_azure "-ci@@Azure接続用ID@@" "-cf@@対象ファイルパス@@"

2.4.2. 使い方

Azure REST APIで情報を取得し、Senju DevOperation Conductorのモニタリング機能を使って、監視することができます。

監視定義を千手ブラウザより登録し、監視を実施します。監視結果は、各種モニタ画面(グローバルノードモニタ/ノードモニタ)にてその監視状況を表示できます。予め設定したしきい値により障害を検知した場合は、メッセージモニタにメッセージが通知されます。
(モニタリング機能については、ユーザーズガイド「 4.モニタリング 」を参照して下さい。)

注釈

監視項目によっては、監視間隔を10分未満に設定すると値が取得できないことがあります。その場合は監視間隔を10分以上に設定して下さい。

参考

各種パラメータの設定値が分からない場合は、Azure ポータルにて確認して下さい。

2.4.2.1. Azure監視の各パラメータの上限値および制限事項

Azure監視で設定できるパラメータにはMicrosoft Azureの上限値とは別に千手固有の上限値および制限事項があります。下記の表に上限値および制限事項を示します。

表 2.19 Azure監視の各パラメータの上限値および制限事項

パラメータ名

上限値、制限事項

タグ名

80byte

タグ値

80byte

参考URL:https://docs.microsoft.com/ja-jp/azure/architecture/best-practices/naming-conventions#naming-rules-and-restrictions (2018年11月現在)

2.4.2.2. Azure Log Analytics連携機能

監視項目「Azure:Log Analytics ログ情報取得」では Azure Log Analytics から取得したログをログファイルに蓄積します。このログファイルを監視することでアラートの検知をすることが可能です。

2.4.2.2.1. ログファイル

監視項目「Azure:Log Analytics ログ情報取得」で取得したログファイルは、パラメータ「ログ出力ファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。

ログフォーマットがLTSVの場合:

<千手ホームディレクトリ>\log\cloud.azure.d\sjANM_LogAnalytics_<リソースグループ名>_<ワークスペース名>_<識別子>.log

ログフォーマットがJSONの場合:

<千手ホームディレクトリ>\log\cloud.azure.d\sjANM_LogAnalytics_<リソースグループ名>_<ワークスペース名>_<識別子>.json

複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。リソースグループ名、ワークスペース名、識別子を指定して下さい。

ログ内容に含まれる改行、タブ、「\」記号は、”\t”⇒”\\t” “\n”⇒ “\\n”, “\”⇒ “\\”に置換されログファイルに出力されます。

出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。

2.4.2.2.2. ログフォーマット

以下にAzure Log Analytics ログ情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。

【Azure Log Analyticsログファイル レコード形式】

  • ログフォーマットがLTSVの場合:

システム時間 プロセス名[プロセスID] ログ内容

表 2.20 Azureログファイルレコード形式

No.

項目

説明

1

タイムスタンプ

「Timestamp:」に続き、取得したログが出力されたタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ(例:2020-03-13T07:09:06Z)。
※通常は「TimeGenerated」の時間がタイムスタンプとなります。出力するログ情報の中に、「EventSubmissionTimestamp」が存在する場合、タイムスタンプは「EventSubmissionTimestamp」の時間となります。

2

ログ内容

クエリにより取得されたログ内容が入ります。各項目は「<項目名>:<値>」の形式で出力され、各項目間はTABで区切られています。
ログは「TimeGenerated」のソート順で出力されます。出力するログ情報の中に、「EventSubmissionTimestamp」が存在する場合、「EventSubmissionTimestamp」のソート順で出力されます。

  • ログフォーマットがJSONの場合:

ログ内容

表 2.21 Azureログファイルレコード形式

No.

項目

説明

1

ログ内容

取得したログ内容が入ります。ログ内容はJSONの形式で出力されます。

2.4.2.2.3. テキストログ監視の設定方法

以下にSenju DevOperation Conductorのテキストログ監視を利用して、Azure Log Analytics ログ情報取得で取得したログ内容を監視する運用例を示します。この例では、ログ内容にキーワードが発生時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。

<ログフィルタの登録>
千手ブラウザのツリービューで<ドメイン>→“フィルタ”→“ログフィルタ”を選択します。ログフィルタのエンティティでリストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。ログフィルタのプロパティが表示されます。ログフィルタ名などの各項目を入力し[OK]ボタンを押下します。これにより、ログフィルタの登録が完了します。

<フィルタ監視項目の追加>
千手ブラウザのツリービューの<ドメイン>→“フィルタ”→“ログフィルタ”→<ログフィルタ>でフィルタ監視項目を登録するログフィルタを選択し、リストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。フィルタ監視項目のプロパティが表示されますので、指定フィールドを検知するキーワードで監視設定し、通知したいメッセージIDを登録します。

<テキストログ監視の設定>
アラートファイルのテキストログ監視を行うには、千手ブラウザのツリービューで、<ドメイン>→“ノードグループ”→<ノードグループ>を選択し、そのリストビューからAzure Log Analytics ログ情報取得のプローブとして設定したノードを選択し、マウスの右ボタンをクリックしコンテキストメニューを表示し、[プロパティ]メニューを選択します。ノードのプロパティウィンドウが表示されますので、[ログ監視]タブを選択します。ノードのプロパティ([ログ監視]タブ)にて、監視対象のパス名とファイル名にAzure Log Analytics ログファイルを指定し、監視方法に先に作成したログフィルタを指定します。ログ監視を登録した後に、登録したノードに対して[反映(監視属性)]を実行することにより、ログファイルの監視を開始します。

以上で、テキストログ監視の設定方法は完了です。この設定によりAzure Log Analytics ログファイルにキーワードが出力された場合、メッセージモニタに通知されます。

警告

管理対象ノードにおいて千手が起動していない状態で、[反映(監視属性)]を行うと失敗しますので、注意して下さい。

2.4.2.3. Azure Service Health監視機能

監視項目「Azure:Service Health情報取得」ではAzure Service Healthから取得したイベント情報をログファイルに蓄積します。このログファイルを監視することでService Health情報を検知することが可能です。

2.4.2.3.1. ログファイル

監視項目「Azure:Service Health情報取得」で取得したログファイルは、パラメータ「ログ出力ファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。

ログフォーマットがLTSVの場合:

<千手ホームディレクトリ>/log/cloud.azure.d/Service Health_<サブスクリプションID>_<モード>.log

ログフォーマットがJSONの場合:

<千手ホームディレクトリ>/log/cloud.azure.d/Service Health_<サブスクリプションID>_<モード>.json

複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。サブスクリプションIDとモードを指定して下さい。

イベント情報に含まれる改行、タブ、「\」記号は、”\t”⇒”\\t” “\n”⇒ “\\n”, “\”⇒ “\\”に置換されログファイルに出力されます。

出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。

2.4.2.3.2. ログフォーマット

以下にAzure Service Health情報取得で取得したログファイルのレコード形式について説明します。レコードは LTSV形式で、項目間はタブ区切りとなります。

【Azure Service Health情報ログファイル レコード形式】

  • ログフォーマットがLTSVの場合:

タイムスタンプ イベント内容

表 2.22 Azureログファイルレコード形式

No.

項目

説明

1

タイムスタンプ

「Timestamp:」に続き、取得したイベント情報の作成時間または更新時間のタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ
(例:2020-08-13T07:09:06Z)。

2

イベント内容

「Service Health」に続き、取得したイベント内容が入ります。イベント内容はJSONの形式で出力されます。

  • ログフォーマットがJSONの場合:

イベント内容

表 2.23 Azureログファイルレコード形式

No.

項目

説明

1

イベント内容

取得したイベント内容が入ります。イベント内容はJSONの形式で出力されます。

2.4.2.3.3. テキストログ監視の設定方法

以下にSenju DevOperation Conductorのテキストログ監視を利用して、Azure Service Health情報取得で取得したイベント情報を監視する運用例を示します。この例では、イベント内容にキーワードが発生した時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。

<ログフィルタの登録>
千手ブラウザのツリービューで<ドメイン>→“フィルタ”→“ログフィルタ”を選択します。ログフィルタのエンティティでリストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。ログフィルタのプロパティが表示されます。ログフィルタ名などの各項目を入力し[OK]ボタンを押下します。これにより、ログフィルタの登録が完了します。

<フィルタ監視項目の追加>
千手ブラウザのツリービューの<ドメイン>→“フィルタ”→“ログフィルタ”→<ログフィルタ>でフィルタ監視項目を登録するログフィルタを選択し、リストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。フィルタ監視項目のプロパティが表示されますので、指定フィールドを検知するキーワードで監視設定し、通知したいメッセージIDを登録します。

<テキストログ監視の設定>
アラートファイルのテキストログ監視を行うには、千手ブラウザのツリービューで、<ドメイン>→“ノードグループ”→<ノードグループ>を選択し、そのリストビューからAzure Service Health情報取得のプローブとして設定したノードを選択し、マウスの右ボタンをクリックしコンテキストメニューを表示し、[プロパティ]メニューを選択します。ノードのプロパティウィンドウが表示されますので、[ログ監視]タブを選択します。ノードのプロパティ([ログ監視]タブ)にて、監視対象のパス名とファイル名にAzure Service Health情報ログファイルを指定し、監視方法に先に作成したログフィルタを指定します。監視対象ログの「文字コードを指定する」を UTF-8 に指定し、ログ監視を登録した後に、登録したノードに対して[反映(監視属性)]を実行することにより、ログファイルの監視を開始します。

2.4.2.4. 汎用メトリクス監視機能

監視項目「Azure:メトリクス監視」では Azure Resource Manager API で任意のメトリクスの値を取得し、監視することでアラートの検知をすることが可能です。

注釈

Senju DevOperation Conductor Extension Packリリース時点でMicrosoft Azureドキュメントに記載されているメトリクスが「リソースタイプ:メトリクス」から選択可能です。

2.4.2.4.1. 汎用メトリクス監視の設定方法

以下に汎用メトリクス監視の監視定義を千手ブラウザより登録する手順を記載します。例として仮想マシンインスタンスで受信されたバイト数を10分間隔で監視します。

<汎用メトリクス監視タスクの登録>
千手ブラウザのツリービューで<ドメイン>→“モニタリング”→“千手カテゴリ”→“クラウドサービス”を選択します。クラウドサービスのエンティティでリストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]→[メトリクス監視タスク]メニューを選択します。汎用メトリクス監視タスクのプロパティが表示されますので、監視項目名で「Azure:メトリクス監視」を選択し、各項目を設定します。
「監視タスク名」を”Azure:メトリクス監視(Microsoft.Compute/virtualMachines:Network In)”のように適当な名前に変更します。「計算式の変数の値」フィールドの「リソースタイプ:メトリクス」の選択ボタンを押し、候補一覧から”Microsoft.Compute/virtualMachines:Network In”を選択し[OK]ボタンを押下します。「計算式」から”A1”を選択、「計算結果の型」から”小数”を選択、「計算結果の比較方法」から”通常”を選択、「計算式の変数Aの値」から”total”を選択、「単位」に”byte”を入力、「判定条件」に異常、警告と判定するしきい値を設定します。「検査間隔」を10分に設定します。「パラメータ」フィールドの「リソースグループ名」、「リソース名」を設定します。[OK]ボタンを押し、監視タスクを登録します。

監視項目「Azure:メトリクス監視」の設定項目を以下に示します。

表 2.24 Azure:メトリクス監視の設定項目

項目名

設定内容

リソースタイプ:メトリクス

Azure Resource Manager API で監視するメトリクスを【リソースタイプ:メトリック】の形式で指定して下さい。候補一覧から選択することも、入力することも可能です。

計算式

計算に使用する式です。「計算式の変数Aの値」で指定したプロパティの値を計算し監視結果の値として扱います。「A0」や「A1」など、変数名「A」の後ろの数字は、「0」は前回取得した値を表し、「1」は今回取得した値を表します。

計算式の変数Aの値

Azure Resource Manager API で監視するメトリクスの統計を候補一覧から選択して下さい。以下の種類があります。
  • average

  • maximum

  • minimum

  • total

計算結果の型

計算結果の型です。計算結果を判定条件の値と比較する際の型となります。候補一覧から選択して下さい。以下の種類があります。
  • 整数

  • 小数

  • 指数

  • 文字列

単位

ノードモニタに表示される単位です。

計算結果の比較方法

「判定条件」フィールド(値)の値と、比較する方法を表します。候補一覧から選択して下さい。以下の種類があります。
  • 通常

  • 絶対値

  • 前回との差分(新たな監視対象を正常とする)

  • 常に正常

  • 前回との差分(新たな監視対象を異常とする)

  • 通常(無くなった監視対象を異常とする)

  • 初回との差分(新たな監視対象を正常とする)

  • 初回との差分(新たな監視対象を異常とする)

  • 合計

2.4.2.5. Azure Data Explorer連携機能

監視項目「Azure:DataExplorer ログ情報取得」では Azure Data Explorer から取得したログをログファイルに蓄積します。このログファイルを監視することでアラートの検知をすることが可能です。

2.4.2.5.1. ログファイル

監視項目「Azure:DataExplorer ログ情報取得」で取得したログファイルは、パラメータ「ログ出力ファイル」で指定したファイル(絶対パス)に出力されます。複数の監視タスクを設定する場合は、出力先のログファイルが重複しないように設定する必要があります。パラメータでログファイルを指定しない場合は、ログフォーマットがLTSVあるいはJSONによってファイル名が変わります。ただし、ファイル名に使用できない記号は「-」(半角ハイフン)に置き換えます。

ログフォーマットがLTSVの場合:

<千手ホームディレクトリ>\log\cloud.azure.d\AzureDataExplorer_<dbName>_<tableName>_<TaskID>.log

ログフォーマットがJSONの場合:

<千手ホームディレクトリ>\log\cloud.azure.d\AzureDataExplorer_<dbName>_<tableName>_<TaskID>.json

出力されるログファイルの文字コードは UTF-8 になります。テキストログ監視の設定で監視対象ログの「文字コードを指定する」を UTF-8 に指定して下さい。

2.4.2.5.2. ログフォーマット

以下にAzure Data Explorer ログ情報取得で取得したログファイルのレコード形式について説明します。レコードは文字列のリスト形式で、項目間はカンマ区切りとなります。

【Azure Data Explorerログファイル レコード形式】

  • ログフォーマットがLTSVの場合:

[タイムスタンプ,ログ内容]

表 2.25 Azureログファイルレコード形式

No.

項目

説明

1

タイムスタンプ

取得したログが出力されたタイムスタンプ(UTC)が入ります。フォーマット:YYYY-MM-DDThh:mm:ddZ(例:2022-09-13T07:09:06Z)。

2

ログ内容

クエリにより取得されたログ内容が入ります。各項目は値のみの形式で出力され、各項目間はカンマで区切られています。
ログはタイムスタンプのソート順で出力されます。

  • ログフォーマットがJSONの場合:

ログ内容

表 2.26 Azureログファイルレコード形式

No.

項目

説明

1

ログ内容

取得したログ内容が入ります。ログ内容はJSONの形式で出力されます。

2.4.2.5.3. テキストログ監視の設定方法

以下にSenju DevOperation Conductorのテキストログ監視を利用して、Azure Data Explorer ログ情報取得で取得したログ内容を監視する運用例を示します。この例では、ログ内容にキーワードが発生時にメッセージモニタに通知されるようにログフィルタを登録し、監視する場合について説明します。

<ログフィルタの登録>
千手ブラウザのツリービューで<ドメイン>→“フィルタ”→“ログフィルタ”を選択します。ログフィルタのエンティティでリストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。ログフィルタのプロパティが表示されます。ログフィルタ名などの各項目を入力し[OK]ボタンを押下します。これにより、ログフィルタの登録が完了します。

<フィルタ監視項目の追加>
千手ブラウザのツリービューの<ドメイン>→“フィルタ”→“ログフィルタ”→<ログフィルタ>でフィルタ監視項目を登録するログフィルタを選択し、リストビューの何も表示されていない部分でマウスの右ボタンを押してコンテキストメニューを表示し、[新規作成]メニューを選択します。フィルタ監視項目のプロパティが表示されますので、指定フィールドを検知するキーワードで監視設定し、通知したいメッセージIDを登録します。

<テキストログ監視の設定>
アラートファイルのテキストログ監視を行うには、千手ブラウザのツリービューで、<ドメイン>→“ノードグループ”→<ノードグループ>を選択し、そのリストビューからAzure Data Explorer ログ情報取得のプローブとして設定したノードを選択し、マウスの右ボタンをクリックしコンテキストメニューを表示し、[プロパティ]メニューを選択します。ノードのプロパティウィンドウが表示されますので、[ログ監視]タブを選択します。ノードのプロパティ([ログ監視]タブ)にて、監視対象のパス名とファイル名にAzure Data Explorer ログファイルを指定し、監視方法に先に作成したログフィルタを指定します。ログ監視を登録した後に、登録したノードに対して[反映(監視属性)]を実行することにより、ログファイルの監視を開始します。

以上で、テキストログ監視の設定方法は完了です。この設定によりAzure Data Explorer ログファイルにキーワードが出力された場合、メッセージモニタに通知されます。

警告

管理対象ノードにおいて千手が起動していない状態で、[反映(監視属性)]を行うと失敗しますので、注意して下さい。