IBM App Connect Enterprise (ACE)センサーの設定

IBM ACE センサーは、従来の環境でもクラウドネイティブ環境でも設定できます。

IBM ACE の監視に関する詳細については、 「 IBM App Connect Enterprise (ACE) の監視」 を参照してください。

従来のACE環境

前提条件

注: ACE 11 以降では、リソースおよびメッセージフローの統計情報はデフォルトで有効になっています。 その状態を確認するには、以下の手順を実行する。 これらのコマンドはIIB 10に基づいており、ACE 11以降ではパラメータに若干の違いがある。 詳細については、ACEのドキュメントを参照してください。 以下のコマンドにおいて、 <integrationNode> および <integrationServer> を、それぞれの統合ノードおよびサーバーの実際の名前に置き換えてください。

IBM ACE センサーを設定する前に、以下の手順を完了してください:

  1. リソースとメッセージ・フロー統計の収集状態を確認し、有効にする。 ACE メトリクスは、リソースおよびメッセージ・フロー統計の収集をアクティブにしたときにのみ存在します。

    • リソース収集のステータスを確認するには、以下のコマンドを実行する:

      mqsireportresourcestats <integrationNode> -e <integrationServer>
       

      リソース収集の状態が非アクティブの場合は、以下のコマンドを実行してアクティブにする:

      mqsichangeresourcestats <integratorNode> -e <integrationServer> -c active
       
    • メッセージ・フロー統計の状態を確認するには、以下のコマンドを実行する:

      mqsireportflowstats <integratorNode>  -s -e <integrationServer>  -j
       

      メッセージフローの収集状態が非アクティブの場合、指定された統合サーバーおよびノード内のすべてのメッセージフローについてスナップショット統計情報の収集を有効にし、 JSON 形式でデータを送信します。

      • スレッド・データ・レベルを設定せずにスナップショット統計情報収集を有効にするには、以下のコマンドを実行します:

        mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -c active -o json
         
      • スレッドデータレベルを設定してスナップショット統計情報収集を有効にするには、以下のコマンドを実行します:

        mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -t basic -c active -o json
         
      • スレッド・データ・レベルとノード・データ・レベルの両方を設定してスナップショット統計情報収集を有効にするには、次のコマンドを実行します:

        mqsichangeflowstats <integrationNode> -s -e <integrationServer> -j -t basic -n basic -c active -o json
         
      注: 各メッセージフローのスレッド使用状況を確認するには、`mqsichangeflowstats` コマンドを使用する際、` -t basic` オプションを指定してスレッドデータを有効にする必要があります。 スナップショットとアーカイブの2種類のデータ収集をリクエストできます。 データ収集にはスナップショットタイプが望ましい。 詳細については、IIB または ACE のドキュメントにある該当するコマンドを参照してください。
  2. お使いのACEがMQTTを使用しているか、 IBM MQ を使用しているかを確認してください。 以下のコマンドは、MQTTまたは IBM MQ のプロセスを検索し、運用イベントがACEセンサーに配信されているかどうかを確認します。

    • MQTTをチェックするには、以下のコマンドを実行する:

      ps -ef | awk '/bipMQTT/ && /<integrationNode>/'
      mqsireportproperties <integrationNode> -b Events -o OperationalEvents/MQTT -n enabled
       

      ACEセンサーのOperationalEventsパブリケーションの宛先としてMQTTを使用するには、以下の手順を実行します:

      • Instana エージェントを実行しているユーザーが、ACEのグループに所属していることを確認してください。

      • configuration.yamlファイルにMQTTポートを指定します。 詳細については、ACEの設定例を参照してください。

        注:configuration.yaml のパラメータ `` および acePassword: ‘<VIWER_USER_PASSWORD>’aceUsername: ‘<VIWER_USER>’ `` は、 Unix ソケットでは使用されません。
      • MQTTを有効にする。 詳細については、 IBM ( App Connect )をご覧ください。

      • 公開されているイベントを確認するには、先のコマンドを使用する。

      以下のリクエスト例を使用して、MQTT側で接続がオープンされ、機能していることを確認する:

      • Unix ソケットを使用したリクエスト、レスポンス403:

        root@itm-0:~# curl --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers
        {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","apiResponseCode":403}]}
         
      • ユーザー名でリクエスト、レスポンス403:

        root@itm-0:~# curl -u user1 --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers
        Enter host password for user 'user1':
        {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","apiResponseCode":403}]}
         
      • Unix ソケットを削除し、user を提供して、200 レスポンスを返す:

        root@itm-0:~# curl -u user1 http://127.0.0.1:4417/apiv2/servers
        Enter host password for user 'user1':
        {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","active":{"processId":26013,"isRunning":true,"state":"started"},"apiResponseCode":200}]}
         
      • ACEグループに "root "を追加した後、ユーザー名とパスワードを入力する必要はありません:

        root@itm-0:~# grep root /etc/group
        root:x:0:
        mqbrkrs:x:1001:mquser,mq,root
        root@itm-0:~# curl --unix-socket /var/mqsi/INODE4.uds http://127.0.0.1:4417/apiv2/servers
        {"name":"servers","type":"integrationServers","uri":"/apiv2/servers","hasChildren":true,"children":[{"name":"IServer_2","hasChildren":true,"uri":"/apiv2/servers/IServer_2","type":"integrationServer","active":{"processId":26013,"isRunning":true,"state":"started"},"apiResponseCode":200}]}
         
    • IBM MQ を確認するには、次のコマンドを実行してください:

      mqsilist | grep <integrationNode>  # check there is a default queue manager configured.
      mqsireportproperties <integrationNode> -b Events -o OperationalEvents/MQ -n enabled
       

      ACEで IBM MQ を使用するには、以下の手順を実行してください:

      1. 統合サーバー、メッセージ・フロー、およびフロー・ノードのパフォーマンス・メトリクス・データのフロー用にチャネルを設定するか、既存のチャネルを使用します。

      2. configuration.yaml ファイルで指定されたユーザー名かパスワードでチャンネルにアクセスできることを確認してください。

      3. configuration.yaml ファイルで、キューマネージャ名とリスニングポートを、チャネル名、ユーザ名、パスワードとともに指定します。 チャネルの設定に関する詳細については、 「CHLAUTH アクセスに関する問題の解決」 を参照してください。

  3. 監視対象サーバーが独立した統合サーバーの場合は、以下の要件を満たしていることを確認する:

    • デフォルトでは無効になっているので、イベント・メッセージの公開を設定する。 ACEセンサーはOperationalEventsだけをモニターし、BusinessEventsはモニターしない。 詳細については、 「イベントメッセージの公開の設定」 を参照してください。
    • ACE 11.0.0.11 以降を使用してください。 そうしないと、.udsファイルが各サーバーに存在しないので、UNIXドメインソケットを使うことができません。
  4. 従来のACE環境で自動検出機能を有効にするには、以下の要件が満たされていることを確認する:

    • IBM ACE センサーは、ファイル <agent_install_dir>/etc/instana/configuration.yaml 内で統合ノードやサーバーを設定しなくても有効になります。
    • エージェントを起動するユーザーには、ACE ワークパス(例: /var/mqsi/)へのアクセス権限が与えられています。
    • 関連する統合ノードでMQTTプロセスが正常に実行されている。 確認するには、ホスト上で コマンド ps -ef | grep -E 'bipMQTT.*<integrationNode>’ を実行してください。
    注: 自動検出機能を使用すると、すべての前提条件が満たされていない場合でも、 Instana UIのホストダッシュボードに一覧表示されている、実行中のすべての統合サーバーを確認できます。
  5. IBM ACE 13 以降のバージョンでは、統合サーバーはデフォルトで、自己署名証明書を使用して HTTPS プロトコルで起動します。 Instana による監視をサポートするには、次のいずれかのオプションを選択してください:

    • 有効な証明書を含む適切なJKSキーストアを使用して、統合サーバーを起動します。 HTTPS を適切なキーストアとともに使用している場合は、エージェントの configuration.yaml ファイル内の および keystorePassword keystore パラメータを設定してください。
    • 統合サーバーのプロトコルを「 HTTPS 」から「 HTTP 」に変更してください。

手順

従来のACE環境において、 Instana は、リモートおよびローカルの IBM ACE インスタンスの両方の監視をサポートしています。 エージェントのコンフィギュレーション<agent_install_dir>/etc/instana/configuration.yamlファイルでフィールドを設定する必要があります。 以下のコンフィギュレーションを使用できる:

  • リモートモニタを使用する場合は、ホストの値としてターゲット ACE サーバの IP アドレスを設定します。

  • ローカル・モニタリングを使用するには、host属性をコメントアウトする。 デフォルトではローカルモニタリングが使用される。

  • 異なるホスト上の同じ名前のブローカーまたは統合サーバーを監視するには、ブローカーまたは統合サーバーのキーとしてbrokerName:xまたはintegrationServer:xを使用します。 例えば、BK1:1BK:2です。

  • 自動検出機能を使うには、NodesOrServers以下のフィールドを設定しないでください。 ACEセンサーの自動検出機能は、ホスト上で実行されているすべての統合サーバーを検出し、設定なしで自動的に監視を開始する。

これらのフィールドの値を取得する方法に関するヒントについては、「 ACEセンサー設定の役立つヒント 」ブログをご覧ください。

ACEの設定については、次のconfiguration.yamlファイルのサンプルを参照してください:

com.instana.plugin.ace:
  enabled: true
  poll_rate: 60
  forceRemote: false
  flowNodesExcludedRegex: ''
  messageFlow:
    limit: 0
    sortByMetric: 'MaximumElapsedTime'
  NodesOrServers:
    SampleNode/Server:
      host: '<ACE_SERVEr_HOST>'
      restApiPort: '<ACE_REST_API_PORT>'
      aceUsername: '<VIWER_USER>'
      acePassword: '<VIWER_USER_PASSWORD>'
      keystore: '<ACE_KEYSTORE_PATH>'
      keystorePassword: '<ACE_KEYSTORE_PASSWORD>'
      excludedServers: '<INTEGRATION_SERVER_NAMES>'
      flowNodesExcludedRegex: ''
      messageFlow:
        limit: 0
        sortByMetric: 'MaximumElapsedTime'
      availabilityZone: 'IBM ACE Custom Zone'
      mqHost: '<MQ_HOST>'
      mqport: '<MQ_LISTENING_PORT>'
      queuemanagerName: '<QMGR_NAME>'
      channel: '<SVRCONN_CHANNEL>'
      mqUsername: '<AUTHORIZED_USER>'
      mqPassword: '<USER_PASSWORD>'
      mqKeystore: '<MQ_KEYSTORE_PATH>'
      mqKeystorePassword: '<MQ_KEYSTORE_PASSWORD>'
      mqCipherSuite: '<MQ_CIPHER_SUITE>'
 

ポーリングレートの設定

注:Instana、 IBM ACE センサー、および 1.0.84 以降のバージョンでは、 データ取り込み量を削減するためにポーリングレートを設定できるようになっています。 この機能は、セルフホスト型の Instana バックエンド311以降でサポートされています。

次の例に示すように、agent configuration.yaml ファイル poll_rate 内のパラメータを使用して、 Instana が IBM ACE からデータやメトリクスを収集するためにポーリングを行う頻度を設定できます

com.instana.plugin.ace:
  poll_rate: 60
注: デフォルトのポーリング間隔は60秒ですが、最短で20秒まで短縮可能です。

構成パラメーター

次の表は、コンフィギュレーション・パラメーターとその説明である:

パラメーター 説明 必須 デフォルト値
enabled プラグインを有効または無効にします。 はい true
poll_rate プラグインのポーリングレートを秒単位で設定します。 最小値は20秒。 はい 60
forceRemote ローカルモニタリングの代わりにリモートモニタリングを使用するようにプラグインを強制する。 いいえ false
flowNodesExcludedRegex すべての統合ノードから排他的フローノードをフィルタリングするためのグローバルな正規表現を設定します。 すべての監視対象ノードまたはサーバーから一部のタイプのフローノードを除外する必要がある場合にのみ必要です。 NA
flowNodeLimit メッセージフローごとに監視されるフローノードの数を制限します。 `0`に設定すると、すべてのフローノードが監視されます。 N > 0 の任意の値に設定すると、処理速度が最も遅い N 個のフローノードのみが監視されます。 いいえ 0
limit 監視または報告されるメッセージフローの数を制限します(オブジェクト messageFlow の下位に配置されます)。 0に設定すると、 Instana はすべてのメッセージフローを監視します。 0より大きい値に設定すると、パフォーマンス指標に基づいて最初のNつのフローのみを監視します。 いいえ 0
sortByMetric が 0 より大きい limit 場合、フローのソートに使用するパフォーマンス指標を指定します(オブジェクト messageFlow の下にネストされています)。 Instana データを降順で並べ替えます。 以下の値がサポートされています: MaximumElapsedTime および ThreadUtilization いいえ MaximumElapsedTime
SampleNode/Server 統合ノードまたは独立した統合サーバーを定義する。 はい。 しかし、自動ディスカバリー機能を使用する予定であれば、このパラメータを含む以降のフィールドはすべて不要となる。 NA
host ACE サーバのホストを設定する。 マルチインスタンスまたはRDQMシステムによるリモート監視またはHAにのみ必要。 HAの場合は、複数のホストをカンマで区切ってください。 NA
restApiPort ACEサーバーの REST API ポートを設定します。 はい NA
aceUsername ACEサーバーの REST API サービスのユーザー名を設定します。 セキュリティが有効な場合のみ必要。 NA
acePassword ACEサーバーの REST API サービスのパスワードを設定します。 セキュリティが有効な場合のみ必要。 NA
keystore HTTPS 接続用のキーストアのパスを設定します。 「 HTTPS 」が有効になっている場合にのみ必要です。 NA
keystorePassword HTTPS 接続用のキーストアのパスワードを設定します。 「 HTTPS 」が有効になっている場合にのみ必要です。 NA
excludedServers 監視から除外する統合サーバー名を設定します。 一部の統合サーバーを監視対象から除外する場合にのみ必要です。 複数の名前はカンマで区切る。 NA
flowNodesExcludedRegex 統合ノードから排他的フローノードをフィルタリングするための正規表現を設定します。 いくつかのタイプのフローノードをフィルタリングする必要がある場合にのみ必要。 このプロパティに設定されている正規表現は、グローバルな正規表現よりも優先順位が高い。 NA
limit この特定のブローカー(オブジェクト messageFlow の下位に配置)に対して、監視または報告されるメッセージフローの数を制限します。 この設定はグローバル設定よりも優先されます。 いいえ グローバル設定を継承します
sortByMetric この特定のブローカーのフローをソートする際に使用するパフォーマンス指標を指定します(オブジェクト messageFlow の下にネストされています)。 この設定はグローバル設定よりも優先されます。 いいえ グローバル設定を継承します
availabilityZone カスタムゾーンを定義する。 カスタマイズされたゾーンが必要な場合のみ必要。 ブローカー名はデフォルトで使用される。 IBM ACE Custom Zone
mqHost IBM MQ のホスト名またはIPアドレスを設定します。 外部IPアドレスを使用して IBM MQ にアクセスできる場合にのみ必要です。 NA
mqport MQTTまたは IBM MQ のリスニングポートを設定します。 はい NA
queuemanagerName キューマネージャの名前を設定します。 IBM MQ でのみ必要です。 NA
channel SVRCONN タイプの認可チャンネルを設定する。 IBM MQ でのみ必要です。 NA
mqUsername IBM MQ チャネルの承認ユーザーを設定します。 IBM MQ に対して chlauth、connauth、またはその両方が有効になっている場合にのみ必要です。 NA
mqPassword IBM MQ チャンネルの承認済みユーザーのパスワードを設定します。 IBM MQ に対して chlauth、connauth、またはその両方が有効になっている場合にのみ必要です。 NA
mqKeystore TLS 接続用のキーストアのパスを設定します。 IBM MQ で「 TLS 」が有効になっている場合にのみ必要です。 NA
mqKeystorePassword TLS 接続用のキーストアのパスワードを設定します。 IBM MQ で「 TLS 」が有効になっている場合にのみ必要です。 NA
mqCipherSuite TLS 接続の暗号スイートを設定します。 IBM MQ で「 TLS 」が有効になっている場合にのみ必要です。 NA

パラメータ(内にネスト sortByMetric されている messageFlow)は、が0より大きい limit 場合にのみ有効になります。 が 0 に設定されている limit 場合(すべてのフローを監視する)、フロー制限が行われないため、 パラメータ sortByMetric は無視されます。

ACE設定の例

  • 自動検出機能を使用するための設定(ACE 11 以降でのみ使用可能):

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
     
  • MQTTによるローカルモニタリングの設定:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      NodesOrServers:
        BK1:
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          mqport: '11883'
     
  • IBM MQ を使用したローカル監視とリモート監視の両方を行うための設定:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      NodesOrServers:
        BK1:      # remote monitoring
          host: 'ace.example.com'
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          mqport: '2121'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
          mqKeystore: '/path/to/mq/keystore.jks'
          mqKeystorePassword: 'securepassword'
        BK1:1:     # local monitoring
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          mqport: '2121'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
     
  • 統合サーバーと一部のフローノードを除いたHAサポートのための構成:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      NodesOrServers:
        BK1:
          host: 'ha-host1.com, ha-host2.com'
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          excludedServers: 'IS1, IS2'              # Integration servers IS1, IS2 will be excluded from monitoring.
          flowNodesExcludedRegex: 'MSLMapping.*'   # Flow nodes that have types beginning with "MSLMapping" will be excluded from monitoring
          mqport: '2121'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
     
  • グローバルなメッセージフローの制限およびパフォーマンスに基づくソートに関する設定:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      messageFlow:                                  # Global message flow configuration
        limit: 20                                   # Monitor only top 20 flows globally
        sortByMetric: 'MaximumElapsedTime'          # Sort by maximum elapsed time
      NodesOrServers:
        BROKER1:
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          mqport: '1414'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
     
  • ブローカーごとのメッセージフロー制限のオーバーライド設定:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      messageFlow:                                  # Global defaults
        limit: 10                                   # Monitor top 10 flows globally
        sortByMetric: 'MaximumElapsedTime'          # Sort by maximum elapsed time
      NodesOrServers:
        BROKER1:
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          messageFlow:                              # Override global settings for this broker
            limit: 5                               # Monitor only top 5 flows for this broker
            sortByMetric: 'ThreadUtilization'      # Sort by thread utilization for this broker
          mqport: '1414'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
        BROKER2:
          restApiPort: '4415'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          # This broker inherits global settings: limit=10, sortByMetric='MaximumElapsedTime'
          mqport: '1415'
          queuemanagerName: 'QM2'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'
     
  • フローノードの制限に関する設定:

    com.instana.plugin.ace:
      enabled: true
      poll_rate: 60
      flowNodeLimit: 10                                 # Monitor only top 10 slowest flow nodes per message flow
      NodesOrServers:
        BROKER1:
          restApiPort: '4414'
          aceUsername: 'viewer'
          acePassword: 'mypassword'
          flowNodeLimit: 5                             # Override: monitor only top 5 flow nodes for this broker
          mqport: '1414'
          queuemanagerName: 'QM1'
          channel: 'INSTANA.SVRCONN'
          mqUsername: 'mquser'
          mqPassword: 'password'

クラウドネイティブのACE環境

クラウドネイティブ環境における IBM ACE センサーの設定は、自動検出されます。