Supported OS
概要 ZooKeeper チェックは、クライアント接続とレイテンシーの追跡、未処理リクエスト数の監視などを行います。
セットアップ インストール ZooKeeper チェックは Datadog Agent パッケージに含まれています。ZooKeeper サーバーに追加でインストールする必要はありません。
構成 包含リスト バージョン 3.5 以降、ZooKeeper には 4lw.commands.whitelist
パラメーターが追加されました。4 文字コマンド を許可する例については、ZooKeeper クラスターオプション を参照してください。デフォルトでは、srvr
だけがホワイトリストに登録されています。インテグレーションはこれらのコマンドに基づいて行われるので、stat
と mntr
をホワイトリストに追加してください。
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_cert
と client_cert
を持っているとします。つまり、Java ZooKeeper クライアントがすでに ZooKeeper サーバーに接続できる状態です。
秘密キーにパスワードが設定されている場合は、コンフィグオプション tls_private_key_password
の config.yaml
ファイルにこのパスワードが含まれていることを確認してください。
JKS ファイルを PEM ファイルに変換するには
クライアントの truststore には信頼できるサーバーの証明書が含まれているため、ca_cert.pem
ファイルを client_truststore.jks
から取得します。
keytool - exportcert - file ca_cert . pem - keystore client_truststore . jks - alias server_cert - rfc
クライアントの keystore
にはエイリアス client_cert
のクライアントの証明書が含まれているため、cert.pem
ファイルを client_keystore.jks
から取得します。
keytool - importkeystore - srckeystore client_keystore . jks - destkeystore cert . p12 - srcstoretype jks - deststoretype pkcs12 - srcalias client_cert
openssl pkcs12
コマンドを実行します。これにより、クライアント証明書と証明書の秘密キーをエクスポートします。tls_cert
コンフィグオプションにより、証明書と秘密キーを含む PEM ファイルを読み取って、パースできます。パスワード保護されていないファイルを取得するには、このコマンドに -nodes
を追加します。
openssl pkcs12 -in cert.p12 -out cert.pem
ホスト ホストで実行中の Agent に対してこのチェックを構成するには
ZooKeeper のメトリクス とログ の収集を開始するには、Agent のコンフィギュレーションディレクトリ のルートにある conf.d/
フォルダーの zk.d/conf.yaml
ファイルを編集します。
使用可能なすべてのコンフィギュレーションオプションについては、サンプル zk.d/conf.yaml を参照してください。
Agent を再起動します 。
ログ収集 Agent バージョン 6.0 以降で利用可能
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
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
別の形式に対応する場合は、インテグレーションパイプラインを複製して編集してください。
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
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 を参照してください。
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 のサポートチーム までお問い合わせください。