Hitachi

JP1 Version 13 JP1/Integrated Management 3 - Manager 構築ガイド


2.19.2 JP1/IM - Agentの設定変更

〈この項の構成〉

(1) 共通の設定方法

(a) 設定ファイルを編集する(Linuxの場合)

1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

(b) ユニット定義ファイルを変更する(Linuxの場合だけ)

ユニット定義ファイルの格納先とファイル名を,次に示します。

  • 格納先:/usr/lib/systemd/system/

  • ファイル名:jpc_サービス名.service

ユニット定義ファイルを変更する手順を,次に示します。

  1. 統合エージェントホストにログインする。

  2. JP1/IM - Agentのサービスを停止する。

  3. ユニット定義ファイルを編集する。

  4. 次のコマンドを実行し,ユニット定義を反映する。

    # systemctl daemon-reload
  5. JP1/IM - Agentのサービスを起動する。

(c) コマンドラインオプションを変更する(Linuxの場合)

ユニット定義ファイルのExecStart行で,コマンドラインオプションを変更します。

編集方法については,「(b)ユニット定義ファイルを変更する(Linuxの場合だけ)」を参照してください。

(2) 統合エージェント制御基盤の設定

(a) 接続先の統合マネージャーを変更する(Linuxの場合)(オプション)

1.21.2(2)(a)接続先の統合マネージャーを変更する(Windowsの場合)(オプション)」を参照してください。

(b) ポートを変更する(Linuxの場合)(オプション)

1.21.2(2)(b)ポートを変更する(Windowsの場合)(オプション)」を参照してください。

(c) CA証明書を配置する(Linuxの場合)(オプション)

1.21.2(2)(c)CA証明書を配置する(Windowsの場合)(オプション)」を参照してください。

(d) アクション実行に関する設定を変更する(Linuxの場合)(オプション)

1.21.2(2)(d)アクション実行に関する設定を変更する(Windowsの場合)(オプション)」を参照してください。

(e) プロキシ認証の認証IDとパスワードを設定する(Linuxの場合)(オプション)

1.21.2(2)(e)プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)」を参照してください。

(3) Prometheus serverの設定

(a) ポートを変更する(Linuxの場合)(オプション)

Prometheus serverが使用するリッスンポートは,prometheusコマンドの--web.listen-addressオプションに指定します。

prometheusコマンドのオプションの変更方法については,「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の「コマンドラインのオプションを変更したい場合」を参照してください。

なお,デフォルトのポートは「20713」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。ただし,他ホストのBlackbox exporterによる外形監視でPrometheus serverを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討してください。

(b) アラート定義を追加する(Linuxの場合)(オプション)

1.21.2(3)(b)アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

(c) Blackbox exporterのスクレイプジョブを追加する(Linuxの場合)(オプション)

1.21.2(3)(c)Blackbox exporterのスクレイプジョブを追加する(Windowsの場合)(オプション)」を参照してください。

(d) ユーザー独自のExporterのスクレイプジョブを追加する(Linuxの場合)(オプション)

1.21.2(3)(d)ユーザー独自のExporterのスクレイプジョブを追加する(Windowsの場合)(オプション)」を参照してください。

(e) リモートライト先を変更する(Linuxの場合)(オプション)

1.21.2(3)(e)リモートライト先を変更する(Windowsの場合)(オプション)」を参照してください。

(4) Alertmanagerの設定

(a) ポートを変更する(Linuxの場合)(オプション)

Alertmanagerが使用するリッスンポートは,alertmanagerコマンドの--web.listen-addressオプションに指定します。

alertmanagerコマンドのオプションの変更方法については,「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の「コマンドラインのオプションを変更したい場合」を参照してください。

なお,デフォルトのポートは「20714」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。ただし,他ホストのBlackbox exporterによる外形監視でAlertmanagerを監視する場合は,アクセスを許可します。この場合,必要に応じて送信元IPアドレスを制限するなどセキュリティ対策を検討してください。

(b) アラート通知先を変更する(Linuxの場合)(オプション)

1.21.2(4)(b)アラート通知先を変更する(Windowsの場合)(オプション)」を参照してください。

(c) サイレンスを設定する(Linuxの場合)(オプション)

1.21.2(4)(c)サイレンスを設定する(Windowsの場合)(オプション)」を参照してください。

(5) Node exporterの設定

(a) ポートを変更する(Linuxの場合)(オプション)

Node exporterが使用するリッスンポートは,node_exporterコマンドの--web.listen-addressオプションに指定します。

node_exporterコマンドのオプションの変更方法については,「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の「コマンドラインのオプションを変更したい場合」を参照してください。

なお,デフォルトのポートは「20716」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) 収集するメトリックを変更する(Linuxの場合)(オプション)

  1. Prometheus設定ファイルにメトリックを追加する。

    Prometheus設定ファイル(jpc_prometheus_server.yml)のmetric_relabel_configsに,収集するメトリックが「|」で区切って定義されています。収集する必要がないメトリックを削除し,収集するメトリックを追加します。

    設定ファイルを更新する手順については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

    <設定例>

      - job_name: 'jpc_node'
        :
        metric_relabel_configs:
          - source_labels: ['__name__']
            regex: 'node_boot_time_seconds|node_context_switches_total|node_cpu_seconds_total|node_disk_io_now|node_disk_io_time_seconds_total|node_disk_read_bytes_total|node_disk_reads_completed_total|・・・・・・・|node_time_seconds|node_uname_info|node_vmstat_pswpin|node_vmstat_pswpout【ここにメトリクスを追加します】'
            action: 'keep'
  2. 必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。

    Node exporterのメトリック定義ファイルに,トレンド表示の定義を行います。

記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Node exporterのメトリック定義ファイル(metrics_node_exporter.conf)」(2. 定義ファイル)を参照してください。

(6) Blackbox exporterの設定

(a) ポートを変更する(Linuxの場合)(オプション)

Blackbox exporterが使用するリッスンポートは,blackbox_exporterコマンドの--web.listen-addressオプションに指定します。

blackbox_exporterコマンドのオプションの変更方法については,「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,--web.listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」(2. 定義ファイル)の「コマンドラインのオプションを変更したい場合」を参照してください。

なお,デフォルトのポートは「20715」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) モジュールを追加・変更・削除する(Linuxの場合)(オプション)

1.21.2(6)(b)モジュールを追加・変更・削除する(Windowsの場合)(オプション)」を参照してください。

(c) 監視対象を追加・変更・削除する(Linuxの場合)(必須)

1.21.2(6)(c)監視対象を追加・変更・削除する(Windowsの場合)(必須)」を参照してください。

(d) プロキシ経由でHTTP監視をする(Linuxの場合)(オプション)

1.21.2(6)(d)プロキシ経由でHTTP監視をする(Windowsの場合)(オプション)」を参照してください。

(e) プロキシ認証の認証IDとパスワードを設定する(Linuxの場合)(オプション)

1.21.2(6)(e)プロキシ認証の認証IDとパスワードを設定する(Windowsの場合)(オプション)」を参照してください。

(f) 監視対象のWebサーバにアクセスするための認証ID,パスワード,Bearerトークンを設定する(Linuxの場合)(オプション)

1.21.2(6)(f)監視対象のWebサーバにアクセスするための認証ID,パスワード,Bearerトークンを設定する(Windowsの場合)(オプション)」を参照してください。

(7) Yet another cloudwatch exporterの設定

(a) ポートを変更する(Linuxの場合)(オプション)

Yet another cloudwatch exporterが使用するリッスンポートは,yet-another-cloudwatch-exporterコマンドの-listen-addressオプションに指定します。

yet-another-cloudwatch-exporterコマンドのオプションの変更方法については,「2.19.2(1)(c)コマンドラインオプションを変更する(Linuxの場合)」を参照してください。また,-listen-addressオプションの詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「ユニット定義ファイル(jpc_プログラム名.service)」の「yet-another-cloudwatch-exporterコマンドのオプション」を参照してください。

なお,デフォルトのポートは「20718」です。ポート番号を変更した場合は,ファイアウォールの設定を見直して,外部からのアクセスを禁止してください。

(b) CloudWatchに接続するための設定を変更する(Linuxの場合)(オプション)

Yet another cloudwatch exporterからCloudWatchに接続する方式には,アクセスキーを使用する方式(以降,アクセスキー方式と呼びます)とIAMロールを使用する方式(以降,IAMロール方式と呼びます)があります。Yet another cloudwatch exporterをAWS/EC2以外のホスト上にインストールする場合は,アクセスキー方式だけが使用できます。Yet another cloudwatch exporterをAWS/EC2上にインストールする場合は,アクセスキー方式またはIAMロール方式を使用できます。

CloudWatchに接続する手順について,次に示す4つのパターンで説明します。

  • アクセスキー方式(その1)

    AWSアカウントのIAMユーザーでCloudWatchに接続する

  • アクセスキー方式(その2)

    同じロールを設定したAWSアカウントの複数のIAMユーザーを作成し,このロール内のIAMユーザーでCloudWatchに接続する

  • IAMロール方式(その1)

    IAMロールを設定したAWSアカウントでCloudWatchに接続する

  • IAMロール方式(その2)

    同じIAMロールを設定した複数のAWSアカウントでCloudWatchに接続する

■アクセス方式(その1)でCloudWatchに接続する場合

  1. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Sid": "CloudWatchExporterPolicy",

    "Effect": "Allow",

    "Action": [

    "tag:GetResources",

    "cloudwatch:ListTagsForResource",

    "cloudwatch:GetMetricData",

    "cloudwatch:ListMetrics"

    ],

    "Resource": "*"

    }

    ]

    }

  2. AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  3. AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順2で作成したIAMグループ「yace_group」に所属させる。

  4. 監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順3で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。

■アクセス方式(その2)でCloudWatchに接続する場合

  1. AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。

  3. 手順2で作成したIAMロール「cross_access_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  4. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  5. AWSアカウント①に,IAMポリシー「account2_yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Effect": "Allow",

    "Action": "sts:AssumeRole",

    "Resource": "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    }

    ]

    }

    下線部の「cross_access_role」は,手順2で作成したIAMロールの名称です。

  6. AWSアカウント①に,IAMグループ「yace_group」を作成し,手順1で作成したIAMポリシー「yace_policy」と手順5で作成したIAMポリシー「account2_yace_policy」を割り当てる。

  7. AWSアカウント①に,IAMユーザー「yace_user」を作成し,手順6で作成したIAMグループ「yace_group」に所属させる。

  8. 監視モジュールのホストで,「/root/.aws/」ディレクトリにcredentialsファイルを作成し,credentialsファイルの[default]セクションに,手順7で作成したIAMユーザー「yace_user」のアクセスキーとシークレットアクセスキーを設定する。

  9. Yet another cloudwatch exporter設定ファイル(ya_cloudwatch_exporter.yml)に,次に示すAWSアカウント②の定義を追加する。

    discovery:

    exportedTagsOnMetrics:

    AWS/S3:

    - jp1_pc_nodelabel

    jobs:

    - type: AWS/S3

    regions:

    - us-east-2

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    - type: AWS/S3

    regions:

    - us-east-2

    roles:

    - roleArn: "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    注※

    1〜15行目はAWSアカウント①の収集設定,17行目以降はAWSアカウント②の収集設定を示します。

    AWSアカウント②の収集設定には,「roles.roleArn」を指定する必要があります。「roles.roleArn」には,AWSアカウントを2つまで指定できますが,2つ以上のアカウントを指定する場合は,日立営業までお問い合わせください。

■IAMロール方式(その1)でCloudWatchに接続する場合

  1. AWSアカウント①に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。

  3. 手順2で作成したIAMロール「yace_role」に,手順1で作成したIAMポリシー「yace_policy」を割り当てる。

  4. AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順2〜3で作成したIAMロール「yace_role」を割り当てる。

    注※

    AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。

■IAMロール方式(その2)でCloudWatchに接続する場合

  1. AWSアカウント②に,IAMポリシー「yace_policy」を作成し,「■アクセス方式(その1)」の手順1と同じJSON形式の情報を設定する。

  2. AWSアカウント②に,IAMロール「cross_access_role」を作成し,[信頼されたエンティティの種類を選択]に「別のAWSアカウント」を選択したあと,アカウントIDにAWSアカウント①のアカウントIDを指定する。また,必要に応じて外部IDを指定する。

  3. AWSアカウント①に,IAMポリシー「account2_yace_policy」を作成し,次に示すJSON形式の情報を設定する。

    {

    "Version": "2012-10-17",

    "Statement": [

    {

    "Effect": "Allow",

    "Action": "sts:AssumeRole",

    "Resource": "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    }

    ]

    }

    下線部の「cross_access_role」は,手順2で作成したIAMロールの名称です。

  4. AWSアカウント①に,IAMロール「yace_role」を作成し,[信頼されたエンティティの種類を選択]にはAWSサービス,[ユースケースの選択]にはEC2を選択する。

  5. 手順4で作成したIAMロール「yace_role」に,手順3で作成したIAMポリシー「account2_yace_policy」を割り当てる。

  6. AWSアカウント①の監視モジュールをインストールしたEC2インスタンスに,手順4で作成したIAMロール「yace_role」を割り当てる。

    注※

    AWSコンソールのEC画面を開き,[アクション]−[セキュリティ]−[IAMロールを変更]のメニューで実施します。

  7. Yet another cloudwatch exporter設定ファイル(ya_cloudwatch_exporter.yml)に,次に示すAWSアカウント②の定義を追加する。

    discovery:

    exportedTagsOnMetrics:

    AWS/S3:

    - jp1_pc_nodelabel

    jobs:

    - type: AWS/S3

    regions:

    - us-east-2

    roles:

    - roleArn: "arn:aws:iam::AWSアカウント②:role/cross_access_role"

    externalId: "外部ID"

    metrics:

    - name: BucketSizeBytes

    statistics:

    - Sum

    period: 300000

    length: 400000

    nilToZero: true

    注※

    9〜11行目がAWSアカウント②の収集設定を示します。

    AWSアカウント②の収集設定には,「roles.roleArn」を指定する必要があります。「roles.roleArn」には,AWSアカウントを2つまで指定できますが,2つ以上のアカウントを指定する場合は,日立営業までお問い合わせください。

    AWSアカウント②の収集設定の「externalId」は,手順2で外部IDを指定した場合にだけ指定します。

(c) CloudWatchにプロキシ経由で接続する(Linuxの場合)(オプション)

CloudWatchにプロキシ経由で接続する必要がある場合は,環境変数HTTPS_PROXYを使用します(環境変数HTTP_PROXYは使用できません)。

環境変数HTTPS_PROXYに指定する値の書式を次に示します。

http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号
重要

環境変数名のHTTPS_PROXYに対して,値の先頭が「http://」となる点に注意してください。

■ Windowsの場合

  1. Yet another cloudwatch exporterを停止する。

  2. [設定]-[システム]-[詳細情報]-[関連設定]-[システムの詳細設定]からシステムのプロパティダイアログを表示する。

  3. [環境変数]ボタンをクリックし,環境変数ダイアログを表示する。

  4. システム環境変数に,次のように設定する。

    変数名

    HTTPS_PROXY

    変数値

    http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号

  5. Yet another cloudwatch exporterを起動する。

    重要
    • 環境変数HTTPS_PROXYをシステム環境変数に設定するため,そのホストで稼働するすべてのプロセスに反映されます。

    • システム環境変数は,ログイン可能なユーザーであれば内容を表示できてしまう点に注意が必要です。環境変数HTTPS_PROXYにパスワードを指定して運用する場合は,ログインできるユーザーを限定するなどの対策が必要です。

■ Linuxの場合

  1. Yet another cloudwatch exporterを停止する。

  2. 任意のファイルを作成して,次のように記載する。

    HTTPS_PROXY=http://プロキシのユーザー名:パスワード@プロキシサーバのホスト名:ポート番号

    記載する内容の詳細については,man systemd.execを実行して,「EnvironmentFile=」に設定されている値を確認してください。

  3. ユニット定義ファイルにEnvironmentFileを追加し,手順2で作成したファイルのパスを記載する。

      :
    [Service]
    EnvironmentFile = "手順2で作成したファイルのパス"
    WorkingDirectory = ....
    ExecStart = ....
      :
  4. systemdを更新する。

    次のコマンドを実行します。

    systemctl daemon-reload
  5. Yet another cloudwatch exporterを起動する。

(d) 監視するAWSサービスを追加する(オプション)

デフォルトで監視対象となっているAWSサービスは,次の6つです。それ以外のAWSサービスを監視する場合,ここでの手順を実施してください。

  • AWS/EC2

  • AWS/Lambda

  • AWS/S3

  • AWS/DynamoDB

  • AWS/States

  • AWS/SQS

  1. Yet another cloudwatch exporter設定ファイルにAWSサービスの定義を追加する。

    編集方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

    下記の下線部の個所にAWSサービスの定義を追加します。

    • discovery.exportedTagsOnMetrics

    ■記載内容

    discovery:
      exportedTagsOnMetrics:
        AWSサービス名:
          - jp1_pc_nodelabel

    ■設定例

    discovery:
      exportedTagsOnMetrics:
        AWS/EC2:
          - jp1_pc_nodelabel
    • discovery.jobs

    ■記載内容

    discovery:
      :
      jobs:
      - type: AWSサービス名
        regions:
          - AWSリージョン
        period: 0
        length: 600
        delay: 120
        metrics:

    ■設定例

    discovery:
      :
      jobs:
      - type: AWS/EC2
        regions:
          - ap-northeast-1
        period: 0
        length: 600
        delay: 120
        metrics:
  2. 収集するメトリックを追加する。

    2.19.2(7)(f) 収集するメトリックを変更する(オプション)」を参照してください。

(e) AWSリソースを監視対象にする(オプション)

AWSリソースをYet another cloudwatch exporterで監視するためには,監視対象としたいAWSリソースに,jp1_pc_nodelabelタグを設定する必要があります。AWSリソースに対するタグの設定方法については,AWSのドキュメントを参照してください。

jp1_pc_nodelabelタグには,次の値を設定します。1〜255文字の範囲で,英数字またはハイフンで指定してください。

  • EC2の場合

    ホスト名を指定します。

  • EC2以外の場合

    IM管理ノードのラベルに表示する文字列を指定します。

    重要
    • AWSのサービス内でユニークな文字列を設定します。EC2とLambdaなど,別のサービスであれば同一の文字列でも設定できます。

    • YACEの監視先が異なるアカウントは異なる文字列にしてください。異なるリージョンであっても,同一のサービスであれば異なる文字列としてください。

    • 文字列が重複した場合,IM管理ノードが1つしか作成されません。

jp1_pc_nodelabelタグに設定した値は,Yet another cloudwatch exporterが収集するサンプルの,jp1_pc_nodelabelラベルの値として追加されます。

(f) 収集するメトリックを変更する(オプション)

  1. CloudWatchで収集されているメトリックを確認する。

    収集したいメトリックがCloudWatchで収集されていることを確認します。

    また,以降の手順での設定に備えて,CloudWatchメトリック名,CloudWatch統計タイプの設定を確認しておく必要があります。

    CloudWatchメトリック名およびCloudWatch統計タイプについては,AWSのドキュメントの「Amazon CloudWatch User Guide」を参照してください。

  2. Yet another cloudwatch exporter設定ファイルにCloudWatchメトリックの定義を追加する。

    下記のdiscovery.jobs.metricsの下線部の個所に,CloudWatchメトリックの定義を記載します。

    記載内容

    値の例

    discovery:
       :
      jobs:
      - type: AWSサービス名
        regions:
          - AWSリージョン
        period: 0
        length: 600
        delay: 120
        metrics:
          - name: CloudWatchメトリック名1
            statistics:
            - CloudWatch統計タイプ
          - name: CloudWatchメトリック名2
            statistics:
            - CloudWatch統計タイプ
          - name: CloudWatchメトリック名3
            statistics:
            - CloudWatch統計タイプ
    CPUUtilization
     
    Average
    DiskReadBytes
     
    Sum
    DiskWriteBytes
     
    Sum
  3. Prometheus設定ファイルにメトリックを追加する。

    metric_relabel_configsの値に,収集するメトリックが「|」で区切って記載されています。収集が必要なメトリックを追加します。また,収集が不要なメトリックを削除します。メトリック名の名称規則については,マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の,「9.5.3(2)(f) Yet another cloudwatch exporter」の「■Exporterのメトリックの名称規則」の説明を参照してください。

    Prometheus設定ファイルの更新方法については,「1.21.2(1)(a)設定ファイルを編集する(Windowsの場合)」を参照してください。

    <設定例>

      - job_name: 'jpc_cloudwatch'
        :
        metric_relabel_configs:
          - regex: 'tag_(jp1_pc_.*)'
            replacement: ${1}
            action: labelmap
          - regex: 'tag_(jp1_pc_.*)'
            action: 'labeldrop'
          - source_labels: ['__name__','jp1_pc_nodelabel']
            regex: '(aws_ec2_cpuutilization_average|aws_ec2_disk_read_bytes_sum|aws_ec2_disk_write_bytes_sum|aws_lambda_errors_sum|aws_lambda_duration_average|aws_s3_bucket_size_bytes_sum|aws_s3_5xx_errors_sum|aws_dynamodb_consumed_read_capacity_units_sum|aws_dynamodb_consumed_write_capacity_units_sum|aws_states_execution_time_average|aws_states_executions_failed_sum|aws_sqs_approximate_number_of_messages_delayed_sum|aws_sqs_number_of_messages_deleted_sum【ここに追加するメトリックを「|」で区切って記載します】);.+$'
            action: 'keep'
  4. 必要に応じて,メトリック定義ファイルにトレンド表示の定義を行う。

    記述内容については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Yet another cloudwatch exporterのメトリック定義ファイル(metrics_ya_cloudwatch_exporter.conf)」(2. 定義ファイル)を参照してください。

(8) Fluentdの設定

(a) ログ監視の共通定義の設定を変更する(オプション)

1.21.2(7)(a)ログ監視の共通定義の設定を変更する(Windowsの場合)(オプション)」を参照してください。

(b) テキスト形式のログファイルを監視する(オプション)

1.21.2(7)(b)テキスト形式のログファイルを監視する(Windowsの場合)(オプション)」を参照してください。

(c) テキスト形式のログファイルの監視設定を変更する(オプション)

1.21.2(7)(c)テキスト形式のログファイルの監視設定を変更する(Windowsの場合)(オプション)」を参照してください。

(d) テキスト形式のログファイルの監視設定を削除する(オプション)

1.21.2(7)(d)テキスト形式のログファイルの監視設定を削除する(Windowsの場合)(オプション)」を参照してください。

(9) ファイアウォールの設定(Linuxの場合)(必須)

1.21.2(8)ファイアウォールの設定(Windowsの場合)(必須)」を参照してください。

(10) 統合エージェントのプロセスの死活監視の設定(Linuxの場合)(オプション)

統合エージェントのプロセスは,次の種類の方法で監視します。

(a) 他ホストのBlackbox exporterによる外形監視

Prometheus serverサービスとAlertmanagerサービスは,他ホスト上で稼働している統合エージェントのBlackbox exporterから監視します。監視するURLは,次の表のとおりです。

Blackbox exporterのHTTP監視を追加する方法については,「1.21.2(6)(c)監視対象を追加・変更・削除する(Windowsの場合)(必須)」を参照してください。アラート定義の設定方法については,「1.21.2(3)(b)アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

Blackbox exporterのHTTP監視で監視するアラート定義の例については,「1.21.2(9)統合エージェントのプロセスの死活監視の設定(Windowsの場合)(オプション)」を参照してください。

表2‒12  Blackbox exporterのHTTP監視で監視するURL

サービス

監視するURL

Prometheus server

http://統合エージェントのホスト名:Prometheus serverのポート番号/-/healthy

Alertmanager

http://統合エージェントのホスト名:Alertmanagerのポート番号/-/healthy

(b) Process exporterによるプロセスの死活監視

imagentproxyサービス,imagentactionサービス,Fluentdサービスは,Process exporterのプロセス監視の稼動情報で監視します。監視するプロセスは次の表に記載されています。

設定方法の詳細については,マニュアル「JP1/Integrated Management 3 - Manager コマンド・定義ファイル・APIリファレンス」の「Process exporter 設定ファイル(jpc_process_exporter.yml)」(10. IMエクスポーターの定義ファイル)を参照してください。

アラート定義の設定方法については,「1.21.2(3)(b)アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

表2‒13  Process exporterで監視するプロセス

サービス

監視するプロセス

備考

imagent

Agentパス/bin/imagent

マニュアル「JP1/Integrated Management 3 - Manager 導入・設計ガイド」の「9.5.5(2)統合エージェント制御基盤のポーリング監視」の注意事項に記載しているimagentが異常停止してから短時間で起動するケースを検知したい場合に設定します。

imagentproxy

Agentパス/bin/imagentproxy

該当なし。

imagentaction

Agentパス/bin/imagentaction

該当なし。

Fluentd

Agentパス/lib/ruby/bin/ruby

コマンドラインに「jpc_fluentd_common.conf」の文字列があるため,Fluentd以外のrubyと区別できます。

rotatelogs(Fluentdの場合だけ)

Agentパス/bin/rotatelogs

コマンドラインに「Agentパス/logs/fluentd」の文字列があるため,Fluentd以外のrotatelogsと区別できます。

Process exporterで監視するProcess exporter設定ファイルの例を,次に示します。

process_names:
  - name: ";{{.ExeBase}};;"
    exe:
     - /opt/jp1ima/bin/imagent
     - /opt/jp1ima/bin/imagentproxy
     - /opt/jp1ima/bin/imagentaction
 
  - name: ";{{.ExeBase}};;{{.Matches.logpath}}"
    exe:
     - /opt/jp1ima/bin/rotatelogs
    cmdline:
     - /opt/jp1ima/logs/(?P<logpath>fluentd)
 
  - name: ";{{.ExeBase}};;{{.Matches.defpath}}"
    exe:
     - /opt/jp1ima/lib/ruby/bin/ruby
    cmdline:
     - jpc_(?P<defpath>fluentd)_common.conf

Process exporterで監視するアラート定義の例を,次に示します。

groups:
  - name: process_exporter
    rules:
    - alert: jp1_pc_procmon_imagent
      expr: 1 >  sum by (program, instance, job, jp1_pc_nodelabel, jp1_pc_exporter) (namedprocess_namegroup_num_procs{program="imagent"})
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_eventid: "1303"
        jp1_pc_metricname: "namedprocess_namegroup_num_procs"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(1個)を下回りました。value={{ $value }}"
        jp1_pc_resolved_description: "プロセス数がしきい値(1個)を上回りました。
 
    - alert: jp1_pc_procmon_imagentproxy
      expr: 1 >  sum by (program, instance, job, jp1_pc_nodelabel, jp1_pc_exporter) (namedprocess_namegroup_num_procs{program="imagentproxy"})
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_eventid: "1303"
        jp1_pc_metricname: "namedprocess_namegroup_num_procs"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(1個)を下回りました。value={{ $value }}"
        jp1_pc_resolved_description: "プロセス数がしきい値(1個)を上回りました。
 
    - alert: jp1_pc_procmon_imagentactoin
      expr: 1 >  sum by (program, instance, job, jp1_pc_nodelabel, jp1_pc_exporter) (namedprocess_namegroup_num_procs{program="imagentaction"})
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_eventid: "1303"
        jp1_pc_metricname: "namedprocess_namegroup_num_procs"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(1個)を下回りました。value={{ $value }}"
        jp1_pc_resolved_description: "プロセス数がしきい値(1個)を上回りました。
 
    - alert: jp1_pc_procmon_fluentd_rotatelogs Log trapper(Fluentd) ※1
      expr: 1 >  sum by (program, instance, job, jp1_pc_nodelabel, jp1_pc_exporter) (namedprocess_namegroup_num_procs{program="rotatelogs"})
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_eventid: "1303"
        jp1_pc_metricname: "namedprocess_namegroup_num_procs"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(1個)を下回りました。value={{ $value }}"
        jp1_pc_resolved_description: "プロセス数がしきい値(1個)を上回りました。"
 
    - alert: jp1_pc_procmon_fluentd_ruby Log trapper(Fluentd) ※2
      expr: 2 >  sum by (program, instance, job, jp1_pc_nodelabel, jp1_pc_exporter) (namedprocess_namegroup_num_procs{program="ruby"}) ※3
      for: 3m
      labels:
        jp1_pc_product_name: "/HITACHI/JP1/JPCCS2"
        jp1_pc_component: "/HITACHI/JP1/JPCCS/CONFINFO"
        jp1_pc_severity: "Error"
        jp1_pc_eventid: "1303"
        jp1_pc_metricname: "namedprocess_namegroup_num_procs"
      annotations:
        jp1_pc_firing_description: "プロセス数がしきい値(2個)を下回りました。value={{ $value }}"
        jp1_pc_resolved_description: "プロセス数がしきい値(2個)を上回りました。"
注※1

ログメトリクス機能のみ使う場合,「jp1_pc_procmon_fluentd_prome_rotatelogs Log trapper(Fluentd)」を指定します。

注※2

ログメトリクス機能のみ使う場合,「jp1_pc_procmon_fluentd_prome_ruby Log trapper(Fluentd)」を指定します。

注※3

rubyのプロセスはworkerの数+1起動します。しきい値はworkerの数+1を指定してください。workerの数については,「ログ監視共通定義ファイル」を参照してください。

(c) Prometheus serverのupメトリックによる監視

Node exporterサービス,Process exporterサービス,Blackbox exporterサービス,Yet another cloudwatch exporterサービスは,Prometheus serverのアラート監視で監視します。アラート定義の設定方法については,「1.21.2(3)(b)アラート定義を追加する(Windowsの場合)(オプション)」を参照してください。

upメトリックを監視するアラート定義の例については,「1.21.2(9)統合エージェントのプロセスの死活監視の設定(Windowsの場合)(オプション)」を参照してください。

(11) IM管理ノードのツリー情報の作成と反映(Linuxの場合)(必須)

1.21.2(10) IM管理ノードのツリー情報の作成と反映(Windowsの場合)(必須)」を参照してください。

(12) セキュリティ製品の除外設定(Linuxの場合)(オプション)

1.21.2(11)セキュリティ製品の除外設定(Windowsの場合)(オプション)」を参照してください。

(13) 定義ファイル更新時の注意事項(Linuxの場合)

1.21.2(12)定義ファイル更新時の注意事項(Windowsの場合)」を参照してください。