
概要
Solr チェックは、Solr クラスターの状態とパフォーマンスを追跡します。インデックス化されたドキュメント数、キャッシュのヒット数、エビクション数、平均リクエスト時間、毎秒の平均リクエスト数などのメトリクスを収集します。
セットアップ
インストール
Solr チェックは Datadog Agent パッケージに含まれています。Solr ノードに追加でインストールする必要はありません。
このチェックは JMX ベースなので、Solr サーバーで JMX リモートを有効にする必要があります。詳細については、JMX チェックに関するドキュメントを参照してください。
構成
ホスト
ホストで実行中の Agent に対してこのチェックを構成するには
Agent のコンフィギュレーションディレクトリのルートにある conf.d/
フォルダーの solr.d/conf.yaml
ファイルを編集します。使用可能な全コンフィギュレーションオプションの詳細については、サンプル solr.d/conf.yaml を参照してください。
init_config:
## @param is_jmx - boolean - required
## Whether or not this file is a configuration for a JMX integration.
#
is_jmx: true
## @param collect_default_metrics - boolean - required
## Whether or not the check should collect all default metrics.
#
collect_default_metrics: true
instances:
## @param host - string - required
## Solr host to connect to.
- host: localhost
## @param port - integer - required
## Solr port to connect to.
port: 9999
Agent を再起動します。
メトリクスのリスト
conf
パラメーターは、インテグレーションによって収集されるメトリクスのリストです。次の 2 つのキーのみが許可されます。
include
(必須): フィルターの辞書。これらのフィルターに一致する属性は、exclude
フィルターにも一致している場合を除き、収集されます (以下を参照)。exclude
(オプション): フィルターの辞書。これらのフィルターに一致する属性は収集されません。
特定の Bean に対して、メトリクスは次のようにタグ付けされます。
mydomain:attr0=val0,attr1=val1
この例では、メトリクスは mydomain
(Bean 内の属性によっては多少異なる) になり、タグ attr0:val0
、attr1:val1
、domain:mydomain
が付きます。
include
キー内の指定したエイリアスが_キャメルケース_として書式設定されている場合、_スネークケース_に変換されます。たとえば MyMetricName
は、Datadog では my_metric_name
と表示されます。
属性フィルター
attribute
フィルターは、次の 2 種類の値を受け入れます。
以前のバージョン
フィルターのリストは、5.3.0 よりも新しい Datadog Agent でのみサポートされます。以前のバージョンを使用している場合は、代わりにシングルトンと複数の include
ステートメントを使用します。
# Datadog Agent > 5.3.0
conf:
- include:
domain: domain_name
bean:
- first_bean_name
- second_bean_name
# Older Datadog Agent versions
conf:
- include:
domain: domain_name
bean: first_bean_name
- include:
domain: domain_name
bean: second_bean_name
コンテナ化
コンテナ環境の場合は、JMX を使用したオートディスカバリーのガイドを参照してください。
ログ収集
Datadog Agent で、ログの収集はデフォルトで無効になっています。以下のように、datadog.yaml
ファイルでこれを有効にします。
Solr はデフォルトで log4j
ロガーを使用します。ログ出力のフォーマットをカスタマイズするには、server/resources/log4j2.xml
ファイルを編集します。デフォルトでは、Datadog のインテグレーションパイプラインが以下のコンバージョンパターンをサポートします。
%maxLen{%d{yyyy-MM-dd HH:mm:ss.SSS} %-5p (%t) [%X{collection} %X{shard} %X{replica} %X{core}] %c{1.} %m%notEmpty{ =>%ex{short}}}{10240}%n
フォーマットが異なる場合は、インテグレーションパイプラインを複製して編集してください。
solr.d/conf.yaml
ファイルのコメントを解除して、ログコンフィギュレーションブロックを編集します。環境に基づいて、 type
、path
、service
パラメーターの値を変更してください。使用可能なすべての構成オプションの詳細については、サンプル solr.d/solr.yaml を参照してください。
logs:
- type: file
path: /var/solr/logs/solr.log
source: solr
# To handle multi line that starts with yyyy-mm-dd use the following pattern
# log_processing_rules:
# - type: multi_line
# pattern: \d{4}\-(0?[1-9]|1[012])\-(0?[1-9]|[12][0-9]|3[01])
# name: new_log_start_with_date
Agent を再起動します。
Kubernetes 環境のログを有効にするには、Kubernetes ログ収集を参照してください。
検証
Agent の status サブコマンドを実行し、Checks セクションで solr
を探します。
収集データ
メトリクス
イベント
Solr チェックには、イベントは含まれません。
サービスチェック
solr.can_connect
Agent が監視対象の SolR インスタンスに接続できず、メトリクスを収集できない場合は、CRITICAL
を返します。それ以外の場合は、OK
を返します。
Statuses: ok, クリティカル
トラブルシューティング
使用可能なメトリクスを表示するコマンド
バージョン 4.1.0 で datadog-agent jmx
コマンドが追加されました。
- 1 つ以上のインスタンス構成に一致する属性をリストする:
sudo datadog-agent jmx list matching
- インスタンス構成の 1 つに一致するが、収集可能なメトリクス数を超えるために収集されない属性をリストする:
sudo datadog-agent jmx list limited
- 現在のインスタンス構成によって収集されると予想される属性をリストします。
sudo datadog-agent jmx list collected
- どのインスタンス構成にも一致しない属性をリストする:
sudo datadog-agent jmx list not-matching
- JMXFetch でサポートされているタイプのすべての使用可能な属性をリストする:
sudo datadog-agent jmx list everything
- 現在の構成に基づいてメトリクスの収集を開始し、コンソールに表示する:
sudo datadog-agent jmx collect
その他の参考資料
文字列値を数値にパースする
jmxfetch が false や true といった文字列値のみを返す場合は、それを Datadog のゲージメトリクスに変換して使用できます。たとえば、jmxfetch で次のような値を返すとします。
"myJmxfetch:false" = myJmxfetch:0
"myJmxfetch:true" = myJmxfetch:1
次のように attribute
フィルターを使用します。
# ...
attribute:
myJmxfetch:
alias: your_metric_name
metric_type: gauge
values:
"false": 0
"true": 1