IBM App Connect Enterprise (ACE)センサーの設定
IBM ACE センサーは、従来の環境でもクラウドネイティブ環境でも設定できます。
IBM ACE の監視に関する詳細については、 「 IBM App Connect Enterprise (ACE) の監視」 を参照してください。
従来のACE環境
前提条件
IBM ACE センサーを設定する前に、以下の手順を完了してください:
リソースとメッセージ・フロー統計の収集状態を確認し、有効にする。 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 のドキュメントにある該当するコマンドを参照してください。
お使いのACEがMQTTを使用しているか、 IBM MQ を使用しているかを確認してください。 以下のコマンドは、MQTTまたは IBM MQ のプロセスを検索し、運用イベントがACEセンサーに配信されているかどうかを確認します。
MQTTをチェックするには、以下のコマンドを実行する:
ps -ef | awk '/bipMQTT/ && /<integrationNode>/' mqsireportproperties <integrationNode> -b Events -o OperationalEvents/MQTT -n enabledACEセンサーの
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 enabledACEで IBM MQ を使用するには、以下の手順を実行してください:
統合サーバー、メッセージ・フロー、およびフロー・ノードのパフォーマンス・メトリクス・データのフロー用にチャネルを設定するか、既存のチャネルを使用します。
configuration.yamlファイルで指定されたユーザー名かパスワードでチャンネルにアクセスできることを確認してください。configuration.yamlファイルで、キューマネージャ名とリスニングポートを、チャネル名、ユーザ名、パスワードとともに指定します。 チャネルの設定に関する詳細については、 「CHLAUTH アクセスに関する問題の解決」 を参照してください。
監視対象サーバーが独立した統合サーバーの場合は、以下の要件を満たしていることを確認する:
- デフォルトでは無効になっているので、イベント・メッセージの公開を設定する。 ACEセンサーは
OperationalEventsだけをモニターし、BusinessEventsはモニターしない。 詳細については、 「イベントメッセージの公開の設定」 を参照してください。 - ACE 11.0.0.11 以降を使用してください。 そうしないと、
.udsファイルが各サーバーに存在しないので、UNIXドメインソケットを使うことができません。
- デフォルトでは無効になっているので、イベント・メッセージの公開を設定する。 ACEセンサーは
従来のACE環境で自動検出機能を有効にするには、以下の要件が満たされていることを確認する:
- IBM ACE センサーは、ファイル
<agent_install_dir>/etc/instana/configuration.yaml内で統合ノードやサーバーを設定しなくても有効になります。 - エージェントを起動するユーザーには、ACE ワークパス(例:
/var/mqsi/)へのアクセス権限が与えられています。 - 関連する統合ノードでMQTTプロセスが正常に実行されている。 確認するには、ホスト上で コマンド
ps -ef | grep -E 'bipMQTT.*<integrationNode>’を実行してください。
注: 自動検出機能を使用すると、すべての前提条件が満たされていない場合でも、 Instana UIのホストダッシュボードに一覧表示されている、実行中のすべての統合サーバーを確認できます。- IBM ACE センサーは、ファイル
IBM ACE 13 以降のバージョンでは、統合サーバーはデフォルトで、自己署名証明書を使用して HTTPS プロトコルで起動します。 Instana による監視をサポートするには、次のいずれかのオプションを選択してください:
- 有効な証明書を含む適切なJKSキーストアを使用して、統合サーバーを起動します。 HTTPS を適切なキーストアとともに使用している場合は、エージェントの
configuration.yamlファイル内の およびkeystorePasswordkeystoreパラメータを設定してください。 - 統合サーバーのプロトコルを「 HTTPS 」から「 HTTP 」に変更してください。
- 有効な証明書を含む適切なJKSキーストアを使用して、統合サーバーを起動します。 HTTPS を適切なキーストアとともに使用している場合は、エージェントの
手順
従来のACE環境において、 Instana は、リモートおよびローカルの IBM ACE インスタンスの両方の監視をサポートしています。 エージェントのコンフィギュレーション<agent_install_dir>/etc/instana/configuration.yamlファイルでフィールドを設定する必要があります。 以下のコンフィギュレーションを使用できる:
リモートモニタを使用する場合は、ホストの値としてターゲット ACE サーバの IP アドレスを設定します。
ローカル・モニタリングを使用するには、host属性をコメントアウトする。 デフォルトではローカルモニタリングが使用される。
異なるホスト上の同じ名前のブローカーまたは統合サーバーを監視するには、ブローカーまたは統合サーバーのキーとして
brokerName:xまたはintegrationServer:xを使用します。 例えば、BK1:1とBK: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>'
ポーリングレートの設定
次の例に示すように、agent configuration.yaml ファイル poll_rate 内のパラメータを使用して、 Instana が IBM ACE からデータやメトリクスを収集するためにポーリングを行う頻度を設定できます
com.instana.plugin.ace:
poll_rate: 60
構成パラメーター
次の表は、コンフィギュレーション・パラメーターとその説明である:
| パラメーター | 説明 | 必須 | デフォルト値 |
|---|---|---|---|
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: 60MQTTによるローカルモニタリングの設定:
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 センサーの設定は、自動検出されます。