New Relic に取り込まれたログから属性を視覚的に抽出する簡単な方法をお探しですか? クエリ時の解析により、複雑な正規表現や Grok パターンを記述することなく、UI で直接ログを解析できます。 クエリ時間解析を使用すると、ログから一時的に値を抽出し、これらの変数に対してクエリをすばやく実行できます。 解析はクエリ時に実行されるため、結果は即座に表示されます。
始めるには、この 5 分間のビデオを視聴するか、以下のヒントを参照してください。
クエリ時解析と取り込み解析の違い
どちらのタイプの解析でもログのクエリが容易になりますが、いくつかの重要な違いがあります。
- 取り込み解析:ログ取り込み中の解析では、Grok または正規表現 (またはその両方) を使用して解析ルールを作成します。 ログ レコードが New Relic に取り込まれると、解析ルールが適用され、ログ データとともに NRDB に保存される永続的な属性が作成されます。 これらの属性により、ログ データのクエリが容易になります。
- クエリ時解析:取り込み解析とは対照的に、クエリ時解析では、クエリ変数として使用される一時的な属性を作成できます。 その後、これらの変数を NRQL クエリで使用して、ログ テーブルにデータを入力できます。 UI で選択を行うと、クエリが自動的に作成されます。
両方の解析アプローチを組み合わせて使用することもできます。 以下の表を確認して、クエリ時間解析が適切かどうかを判断してください。
説明 | 取り込み解析 | クエリ時の解析 |
---|---|---|
推奨される使用方法 | 将来的にクエリできる永続的な属性を作成するのに最適 | 永続的ではない属性に対するクイッククエリを実行するのに最適 |
解析言語 | Grokパターンと正規表現を作成します | New RelicはNRQL aparse関数を使用してクエリを作成します |
タイミング | 摂取時に適用 | クエリを実行するときに適用されます |
結果 | 保存されたログに永続的な変更を加える | UI のログを一時的に変更します |
ライブテールログ | ライブテールログには、取り込み解析から抽出された値が含まれます。 | ライブテールログには、クエリ時間解析から抽出された値は含まれません。 |
エクスポートされたログ | エクスポートされたログには、取り込み解析から抽出された値が含まれます。 | エクスポートされたログには、クエリ時間解析から抽出された値は含まれません。 |
属性の数 | 取り込み時に最大255 個の属性が使用可能です (取り込み時に解析できる実際の属性数はログの性質によって異なります) | クエリ時間解析では、すべてのルールにわたって最大32個の一時属性を解析できます。 |
クエリ時間解析ルールを作成する方法
クエリ時間解析ルールを作成するためのガイドを次に示します。 この例では、 message
プロパティからログレベルとスクリプト メッセージの値を抽出する方法を示します。
解析する属性値を選択
解析する属性値を選択することで、クエリ時間解析ルールの作成を開始できます。
ログ テーブルまたはLog details[ログの詳細]ビューで、抽出する値を含むアンカー文字列を強調表示します。 この場合は、
level=info msg="Running script"
強調表示します。 ログ テーブルでは次のようになります。次の点に注意してください。
- 強調表示されたテキストには、抽出する値と、抽出された値の場所を識別するのに役立つ周囲の文字列を含める必要があります。
- 最初のアンカー文字列が元の属性値の中間にある場合は、抽出する値の前後に少なくとも 1 文字を含めます。
- 属性値全体を強調表示する場合は、抽出する値の前後の文字を気にする必要はありません。
- 解析する BLOB 値を強調表示することはできません。
Create query time parsing rule [クエリ時間解析ルールの作成]オプションをクリックします。
値を強調表示して抽出する
Create query time parsing rule [クエリ時間解析ルールの作成]をクリックすると、解析対象として選択した文字列がエディターに表示されます。
値を抽出するには:
文字列内で、抽出する値を強調表示します ( 「値を抽出するためのヒント」を参照)。
Parse as[解析対象]で、クエリ変数として使用されるこの一時属性の名前を入力します。
Save [保存] をクリックすると、強調表示した値が作成した変数に置き換えられます。
クエリ時間解析ルールの作成を完了します
値を選択したら、次の手順を実行します。
エディターで、選択したログにルールがどのように適用されるかを示すテーブルのプレビューを確認します。
ログを取得するクエリで使用されるNRQL関数に興味がある場合は、Query [クエリ]をクリックします。
選択した属性から値を検索して抽出するために使用されるパターン文字列は、値が抽出されるたびに更新されます。
ルールを作成する前に変数の名前を変更する必要がある場合は、名前をクリックして新しい名前を入力し、 Save[保存]をクリックします。 削除したい変数をクリックし、 Delete[削除]をクリックすることでも変数を削除できます。
変数をクリックすると、編集または削除できます。
変数名の確認と編集が完了したら、 Create rule [ルールの作成を]クリックしてルールの作成を完了します。
Log details [ログ詳細]ビューからクエリ時間解析ルールの作成を開始した場合は、ログ テーブルの結果を確認するためにそのビューを閉じる必要があります。
新しく抽出された値を表示したら、Log details [ログの詳細]ビューを閉じます。
ログ テーブルは自動的に更新され、生成されたクエリを適用してログを解析します。
ルールを管理する
ルールは一時的なものであり、現在のユーザー セッションに適用されますが、セッション中にさまざまなタスクを実行することもできます。