Supported OS Linux Mac OS

インテグレーションバージョン4.5.0

ZooKeeper ダッシュボード

概要

ZooKeeper チェックは、クライアント接続とレイテンシーの追跡、未処理リクエスト数の監視などを行います。

セットアップ

インストール

ZooKeeper チェックは Datadog Agent パッケージに含まれています。ZooKeeper サーバーに追加でインストールする必要はありません。

構成

包含リスト

バージョン 3.5 以降、ZooKeeper には 4lw.commands.whitelist パラメーターが追加されました。4 文字コマンドを許可する例については、ZooKeeper クラスターオプションを参照してください。デフォルトでは、srvr だけがホワイトリストに登録されています。インテグレーションはこれらのコマンドに基づいて行われるので、statmntr をホワイトリストに追加してください。

SSL の有効化

ZooKeeper 3.5 で SSL 認証を使用できるようになりました。ZooKeeper での SSL 設定については、ZooKeeper SSL ユーザーガイドを参照してください。

ZooKeeper で SSL の設定が完了すると、SSL を使用して Datadog Agent を構成し、ZooKeeper に接続できるようになります。JKS ファイルによってすでに認証設定が済んでいる場合は、次のステップに従って JKS ファイルを TLS/SSL コンフィギュレーション用の PEM ファイルに変換します。

次のコマンドの例は、JKS truststore ファイルと keystore ファイルが呼び出された場合を仮定しています。

  • server_truststore.jks
  • server_keystore.jks
  • client_truststore.jks
  • client_keystore.jks

また、両サイドの keystore ファイルと truststore ファイルが、互いの証明書およびエイリアスの server_certclient_cert を持っているとします。つまり、Java ZooKeeper クライアントがすでに ZooKeeper サーバーに接続できる状態です。 秘密キーにパスワードが設定されている場合は、コンフィグオプション tls_private_key_passwordconfig.yaml ファイルにこのパスワードが含まれていることを確認してください。

JKS ファイルを PEM ファイルに変換するには

  1. クライアントの truststore には信頼できるサーバーの証明書が含まれているため、ca_cert.pem ファイルを client_truststore.jks から取得します。

    keytool -exportcert -file ca_cert.pem -keystore client_truststore.jks -alias server_cert -rfc
    
  2. クライアントの keystore にはエイリアス client_cert のクライアントの証明書が含まれているため、cert.pem ファイルを client_keystore.jks から取得します。

    keytool -importkeystore -srckeystore client_keystore.jks -destkeystore cert.p12 -srcstoretype jks -deststoretype pkcs12 -srcalias client_cert
    
  3. openssl pkcs12 コマンドを実行します。これにより、クライアント証明書と証明書の秘密キーをエクスポートします。tls_cert コンフィグオプションにより、証明書と秘密キーを含む PEM ファイルを読み取って、パースできます。パスワード保護されていないファイルを取得するには、このコマンドに -nodes を追加します。

    openssl pkcs12 -in cert.p12 -out cert.pem
    

ホスト

ホストで実行中の Agent に対してこのチェックを構成するには

  1. ZooKeeper のメトリクスログの収集を開始するには、Agent のコンフィギュレーションディレクトリのルートにある conf.d/ フォルダーの zk.d/conf.yaml ファイルを編集します。 使用可能なすべてのコンフィギュレーションオプションについては、サンプル zk.d/conf.yaml を参照してください。

  2. Agent を再起動します

ログ収集

Agent バージョン 6.0 以降で利用可能

  1. ZooKeeper はデフォルトで log4j ロガーを使用します。ファイルへのログ記録をアクティブにし、フォーマットをカスタマイズするには、log4j.properties ファイルを編集します。

      # Set root logger level to INFO and its only appender to R
      log4j.rootLogger=INFO, R
      log4j.appender.R.File=/var/log/zookeeper.log
      log4j.appender.R.layout=org.apache.log4j.PatternLayout
      log4j.appender.R.layout.ConversionPattern=%d{yyyy-MM-dd HH:mm:ss} %-5p [%t] %c{1}:%L - %m%n
    
  2. Datadog のインテグレーションパイプラインは、デフォルトで、次の変換パターンをサポートします。

      %d{yyyy-MM-dd HH:mm:ss} %-5p %c{1}:%L - %m%n
      %d [%t] %-5p %c - %m%n
      %r [%t] %p %c %x - %m%n
    

    別の形式に対応する場合は、インテグレーションパイプラインを複製して編集してください。

  3. Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml ファイルでこれを有効にします。

    logs_enabled: true
    
  4. zk.d/conf.yaml の下部にある、コンフィギュレーションブロックのコメントを解除して編集します。

    logs:
      - type: file
        path: /var/log/zookeeper.log
        source: zookeeper
        service: myapp
        #To handle multi line that starts with yyyy-mm-dd use the following pattern
        #log_processing_rules:
        #  - type: multi_line
        #    name: log_start_with_date
        #    pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
    

    path および service パラメーターの値を変更し、環境に合わせて構成します。使用可能なすべてのコンフィギュレーションオプションについては、サンプル zk.d/conf.yaml を参照してください。

  5. Agent を再起動します

コンテナ化

コンテナ環境の場合は、オートディスカバリーのインテグレーションテンプレートのガイドを参照して、次のパラメーターを適用してください。

メトリクスの収集
パラメーター
<INTEGRATION_NAME>zk
<INIT_CONFIG>空白または {}
<INSTANCE_CONFIG>{"host": "%%host%%", "port": "2181"}
ログ収集

Agent バージョン 6.0 以降で利用可能

Datadog Agent で、ログの収集はデフォルトで無効になっています。有効にする方法については、Kubernetes ログ収集を参照してください。

パラメーター
<LOG_CONFIG>{"source": "zookeeper", "service": "<サービス名>"}

検証

Agent の status サブコマンドを実行し、Checks セクションで zk を探します。

収集データ

メトリクス

非推奨メトリクス

次のメトリクスは引き続き送信されますが、今後削除される予定です。

  • zookeeper.bytes_received
  • zookeeper.bytes_sent

イベント

ZooKeeper チェックには、イベントは含まれません。

サービスチェック

トラブルシューティング

ご不明な点は、Datadog のサポートチームまでお問い合わせください。

PREVIEWING: may/embedded-workflows