• ログイン無料アカウント

本書は、お客様のご参考のために原文の英語版を機械翻訳したものです。

英語版と齟齬がある場合、英語版の定めが優先するものとします。より詳しい情報については、本リンクをご参照ください。

問題を作成する

NerdGraphチュートリアル。ログ解析ルールの管理

api.newrelic.com/graphiql で NerdGraph を使用して、 ログの解析ルール を作成、照会、管理することができます。NerdGraphは、GraphQL形式のAPIエクスプローラーです。

データ解析用のスキーマ

利用可能な構文解析ルールのフィールドは以下の通りです。

フィールド

説明

id

データ解析用のユニークな識別子。

パーシングルール

パーシングルールの名前です。

説明

この解析ルールが何を表しているかの説明。

grok

この解析ルールのGrok パターンです。たとえば、 組み込みの解析ルール で使用している Grok パターンに対して、 logtype = 'alb' のように、 logtype を含めることができます。ただし、 logtype の使用に限定されるものではなく、どのような属性でもマッチング基準として使用することができます。

ルーセント

New Relic UI から使用される検索値。例: logtype:alb 。New Relic UI で有効な Lucene 関数の詳細については、 logs query syntax に関するドキュメントを参照してください。

accountId

ユーザーのNew RelicアカウントIDです。

nrql

クエリに使用される NRQL クエリ(該当する場合)。

"SELECT * FROM Log WHERE `logtype` = 'testLogs'"

作成者

ルールを作成したユーザーです。オプション: email, gravatar, id, name も一緒に入れることができます。

更新日時

ルールを最後に更新したユーザー。オプション: email, gravatar, id, name も一緒に入れることができます。

enabled

この解析ルールが有効であるかどうか。

削除

この構文解析ルールが削除されたかどうか。解析ルールを削除しても、すでにルーティングされているログは削除されません。

ログ解析ルールのクエリ例

このNerdGraph APIリクエストの例では、指定されたアカウントのすべての解析ルールを取得しています。この例では、利用可能なすべてのフィールドを要求しています。

query {
actor {
account(id: 12345678) {
logConfigurations {
parsingRules {
accountId
createdBy {
email
gravatar
id
name
}
deleted
description
enabled
grok
id
lucene
nrql
updatedAt
updatedBy {
email
gravatar
id
name
}
}
}
}
}
}

返されるレスポンスは以下のようになります。

{
"data": {
"actor": {
"account": {
"id": 12345678,
"logConfigurations": {
"parsingRules": [
{
"accountId": 12345678,
"createdBy": {
"email": "myname@ncompany.com",
"gravatar": "https://secure.gravatar.com/avatar/d0a88888888d666d111111111111111f",
"id": 7777777,
"name": "My Name"
},
"deleted": false,
"description": "Integer Test",
"enabled": true,
"grok": "source=%{NUMBER:test:int}",
"id": "123",
"lucene": ,
"nrql": "SELECT * FROM Log WHERE `logtype` = 'integer'",
"updatedAt": "2021-08-23T17:25:06.553Z[UTC]",
"updatedBy": {
"email": "myname@ncompany.com",
"gravatar": "https://secure.gravatar.com/avatar/d0a88888888d666d111111111111111f",
"id": 7777777,
"name": "My Name"
}
}
...

構文解析ルールの作成

この例では、新しいログ解析ルールを作成します。ルールを作成する前に、 ログ解析ビルトイン解析ルール に関するドキュメントを必ず確認してください。

mutation {
logConfigurationsCreateParsingRule(
accountId: 12345678
rule: {
description: "example parsing rule"
enabled: false
grok: "sampleattribute=%{NUMBER:test:int}"
lucene: "logtype:testLogs"
nrql: "SELECT * FROM Log WHERE `logtype` = 'testLogs'"
}
) {
rule {
id
enabled
description
grok
}
errors {
message
type
}
}
}

構文解析ルールの更新

この例では、 id" 123" である解析ルールを更新しています。 description, enabled, grok, lucene, nrql のいずれかのフィールドを必要に応じて更新することができます。

mutation {
logConfigurationsUpdateParsingRule(
accountId: 12345678
rule: {
description: "example parsing rule"
enabled: false
grok: "sampleattribute=%{NUMBER:test:int}"
lucene: "logtype:testLogs"
nrql: "SELECT * FROM Log WHERE `logtype` = 'testLogs'"
}
id: "123"
) {
errors {
message
type
}
rule {
id
grok
description
enabled
}
}
}

構文解析ルールの削除

解析ルールを削除しても、すでに解析されたデータは削除されません。データは、 retentionPolicy フィールドで定義された所定の期間、保持されます。

mutation {
logConfigurationsDeleteParsingRule(accountId: 123456789, id: "123") {
errors {
message
type
}
}
}
Copyright © 2022 New Relic Inc.