Logtail を使用してログを収集する場合、Logtail プラグインを追加して、正規表現、アンカー、CSV、単一文字デリミタ、複数文字デリミタ、キーと値のペア、および Grok モードでログフィールドからコンテンツを抽出できます。このトピックでは、Logtail プラグインのパラメーターについて説明し、プラグインを構成する例を示します。
制限
テキストログとコンテナーの stdout および stderr の入力プラグインは、フォーム構成のみをサポートしています。その他の入力プラグインは、JSON のエディター構成のみをサポートしています。
エントリポイント
Logtail プラグインを使用してログを処理する場合、Logtail 構成を作成または変更するときに Logtail プラグイン構成を追加できます。詳細については、「データ処理のための Logtail プラグインの概要」をご参照ください。
正規表現モード
正規表現を使用して、ログフィールドからコンテンツを抽出できます。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出 (正規表現モード)] に設定します。次に、次の表に基づいて他のパラメーターを構成します。
パラメーター
説明
[元のフィールド]
元のフィールドの名前。
[正規表現]
正規表現。コンテンツを抽出するフィールドを括弧
()
で囲む必要があります。[新しいフィールド]
抽出されたコンテンツに指定するフィールド名。複数のフィールド名を指定できます。
[元のフィールドが見つからないエラーを報告する]
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
[正規表現の不一致エラーを報告する]
元のフィールドの値が正規表現と一致しない場合にエラーを報告するかどうかを指定します。
[元のフィールドを保持する]
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
[解析に失敗した場合に元のフィールドを保持する]
生のログの解析に失敗した場合に、取得された新しいログに元のフィールドを保持するかどうかを指定します。
[完全一致の正規表現]
[新しいフィールド] パラメーターで指定されたすべてのフィールドが、[正規表現] で指定された正規表現に基づいて元のフィールドの値と一致する場合にのみ、元のフィールドの値が抽出されます。
例
次の例は、正規表現モードで content フィールドの値を抽出し、値のフィールド名
ip
、time
、メソッド、URL、リクエスト時間、リクエスト長、ステータス、長、参照 URL、ブラウザ を指定する方法を示しています。生のログ
"content" : "10.200.**.** - - [10/Aug/2022:14:57:51 +0800] \"POST /PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1\" 0.024 18204 200 37 \"-\" \"aliyun-sdk-java"
データ処理のための Logtail プラグイン構成
処理結果
"ip" : "10.200.**.**" "time" : "10/Aug/2022:14:57:51" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "length" : "27" "ref_url" : "-" "browser" : "aliyun-sdk-java"
JSON のエディター構成
パラメーター
type パラメーターを processor_regex に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
Regex
文字列
はい
正規表現。コンテンツを抽出するフィールドを括弧
()
で囲む必要があります。Keys
文字列配列
はい
抽出されたコンテンツに指定するフィールド名。例: ["ip", "time", "method"]。
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false (デフォルト)
NoMatchError
ブール値
いいえ
元のフィールドの値が正規表現と一致しない場合にエラーを報告するかどうかを指定します。有効な値:
true (デフォルト)
false
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true
false (デフォルト)
FullMatch
ブール値
いいえ
完全一致モードで元のフィールドの値を抽出するかどうかを指定します。有効な値:
true (デフォルト): Keys で指定されたすべてのフィールドが、Regex で指定された正規表現に基づいて元のフィールドの値と一致する場合にのみ、元のフィールドの値が抽出されます。
false: Keys で指定された一部のフィールドのみが、Regex で指定された正規表現に基づいて元のフィールドの値と一致する場合でも、元のフィールドの値が抽出されます。
KeepSourceIfParseError
ブール値
いいえ
生のログの解析に失敗した場合に、取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true (デフォルト)
false
例
次の例は、正規表現モードで content フィールドの値を抽出し、値に ip、time、method、url、request_time、request_length、status、length、ref_url、browser というフィールド名を指定する方法を示しています。
生のログ
"content" : "10.200.**.** - - [10/Aug/2022:14:57:51 +0800] \"POST /PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature> HTTP/1.1\" 0.024 18204 200 37 \"-\" \"aliyun-sdk-java"
データ処理のための Logtail プラグイン構成
{ "type" : "processor_regex", "detail" : {"SourceKey" : "content", "Regex" : "([\\d\\.]+) \\S+ \\S+ \\[(\\S+) \\S+\\] \"(\\w+) ([^\\\"]*)\" ([\\d\\.]+) (\\d+) (\\d+) (\\d+|-) \"([^\\\"]*)\" \"([^\\\"]*)\" (\\d+)", "Keys" : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"], "NoKeyError" : true, "NoMatchError" : true, "KeepSource" : false } }
処理結果
"ip" : "10.200.**.**" "time" : "10/Aug/2022:14:57:51" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "length" : "27" "ref_url" : "-" "browser" : "aliyun-sdk-java"
アンカーモード
開始キーワードと終了キーワードをアンカーすることにより、ログ フィールドからコンテンツを抽出できます。 JSON フォーマットのフィールドからコンテンツを抽出する場合は、フィールドを展開できます。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(アンカーモード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
[元のフィールド]
元のフィールドの名前。
[アンカーパラメーター]
アンカーキーワードに構成されているフィールド。
[開始キーワード]
アンカーの開始を指定するキーワード。このパラメーターを構成しない場合、文字列の先頭が一致となります。
[終了キーワード]
アンカーの終了を指定するキーワード。このパラメーターを構成しない場合、文字列の末尾が一致となります。
[新しいフィールド]
抽出されたコンテンツに指定するフィールド名。
[フィールドタイプ]
フィールドのタイプ。有効な値:string および json。
[JSON展開]
JSON 形式のフィールドを展開するかどうかを指定します。
[展開キーを連結する文字]
展開キーを連結するために使用される文字。デフォルト値はアンダースコア(_)です。
[JSON 展開の最大深度]
JSON 展開の最大深度。デフォルト値:0。最大深度が無制限であることを示します。
[元のフィールド欠落エラーを報告する]
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
[キーワード欠落エラーを報告する]
生のログでキーワードが一致しない場合にエラーを報告するかどうかを指定します。
[元のフィールドを保持する]
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
例
次の例は、アンカーモードで content フィールドの値を抽出し、値に time、val_key1、val_key2、val_key3、value_key4_inner1、value_key4_inner2 というフィールド名を指定する方法を示しています。
生のログ
"content" : "time:2022.09.12 20:55:36\t json:{\"key1\" : \"xx\", \"key2\": false, \"key3\":123.456, \"key4\" : { \"inner1\" : 1, \"inner2\" : false}}"
データ処理用の Logtail プラグイン構成
処理結果
"time" : "2022.09.12 20:55:36" "val_key1" : "xx" "val_key2" : "false" "val_key3" : "123.456" "value_key4_inner1" : "1" "value_key4_inner2" : "false"
JSON でのエディター構成
パラメーター
type パラメーターを processor_anchor に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
Anchors
アンカー配列
はい
アンカーキーワードに構成されているフィールド。
Start
文字列
はい
アンカーの開始を指定するキーワード。このパラメーターを構成しない場合、文字列の先頭が一致となります。
Stop
文字列
はい
アンカーの終了を指定するキーワード。このパラメーターを構成しない場合、文字列の末尾が一致となります。
FieldName
文字列
はい
抽出されたコンテンツに指定するフィールド名。
FieldType
文字列
はい
フィールドのタイプ。有効な値:string および json。
ExpondJson
ブール値
いいえ
JSON 形式のフィールドを展開するかどうかを指定します。有効な値:
true
false (デフォルト)
このパラメーターは、FieldType を json に設定した場合にのみ有効になります。
ExpondConnecter
文字列
いいえ
展開キーを連結するために使用される文字。デフォルト値はアンダースコア(_)です。
MaxExpondDepth
整数
いいえ
JSON 展開の最大深度。デフォルト値:0。最大深度が無制限であることを示します。
NoAnchorError
ブール値
いいえ
生のログでキーワードが一致しない場合にエラーを報告するかどうかを指定します。有効な値:
true
false (デフォルト)
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false (デフォルト)
例
次の例は、アンカーモードで content フィールドの値を抽出し、値に time、val_key1、val_key2、val_key3、value_key4_inner1、value_key4_inner2 というフィールド名を指定する方法を示しています。
生のログ
"content" : "time:2022.09.12 20:55:36\t json:{\"key1\" : \"xx\", \"key2\": false, \"key3\":123.456, \"key4\" : { \"inner1\" : 1, \"inner2\" : false}}"
データ処理用の Logtail プラグイン構成
{ "type" : "processor_anchor", // タイプ:アンカープロセッサ "detail" : {"SourceKey" : "content", // ソースキー:content "Anchors" : [ // アンカー { "Start" : "time", // 開始:time "Stop" : "\t", // 終了:タブ "FieldName" : "time", // フィールド名:time "FieldType" : "string", // フィールドタイプ:文字列 "ExpondJson" : false // JSON を展開:false }, { "Start" : "json:", // 開始:json: "Stop" : "", // 終了:なし "FieldName" : "val", // フィールド名:val "FieldType" : "json", // フィールドタイプ:json "ExpondJson" : true // JSON を展開:true } ] } }
処理結果
"time" : "2022.09.12 20:55:36" "val_key1" : "xx" "val_key2" : "false" "val_key3" : "123.456" "value_key4_inner1" : "1" "value_key4_inner2" : "false"
CSV モード
CSV モードでは、CSV フォーマットのログを解析し、ログ内のフィールドからコンテンツを抽出できます。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(CSV モード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
元のフィールド
元のフィールドの名前。
新しいフィールド
抽出されたコンテンツに指定するフィールド名。複数のフィールド名を指定できます。
重要[新しいフィールド] パラメーターで指定されたフィールドが元のフィールドの値で見つからない場合、そのフィールドはスキップされます。
デリミタ
デリミタ。デフォルト値はカンマ(,)です。
超過部分の保持
システムが [新しいフィールド] パラメーターで指定された各フィールドと値が一致した後に、元のフィールドの値に残っているコンテンツを保持するかどうかを指定します。理解を容易にするため、このトピックでは、このコンテンツを超過部分と呼びます。
超過部分の解析
超過部分を解析するかどうかを指定します。このオプションを選択した場合、[超過部分が割り当てられるフィールドの名前のプレフィックス] パラメーターを構成して、超過部分が割り当てられるフィールドの名前のプレフィックスを指定できます。
[超過部分の保持] パラメーターを選択し、[超過部分の解析] パラメーターを選択しない場合、超過部分は _decode_preserve_ フィールドに格納されます。
説明超過部分に無効なデータが含まれている場合は、CSV 形式でデータを標準化してから保存する必要があります。
超過部分が割り当てられるフィールドの名前のプレフィックス
超過部分が割り当てられるフィールドの名前のプレフィックス。たとえば、このパラメーターを expand_ に設定すると、フィールド名は expand_1 と expand_2 になります。
フィールドの前にあるスペースを無視する
元のフィールドの値の先頭にあるスペースをスキップするかどうかを指定します。
元のフィールドを保持する
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
元のフィールドがないエラーを報告する
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
例
次の例は、csv フィールドの値を抽出する方法を示しています。
生のログ
{ "csv": "2022-06-09,192.0.2.0,\"{\"\"key1\"\":\"\"value\"\",\"\"key2\"\":{\"\"key3\"\":\"\"string\"\"}}\"", // ... }
データ処理用の Logtail プラグイン構成
処理結果
{ "date": "2022-06-09", "ip": "192.0.2.0", "content": "{\"key1\":\"value\",\"key2\":{\"key3\":\"string\"}}" // ... }
JSON でのエディター構成
パラメーター
type パラメーターを processor_csv に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
SplitKeys
文字列配列
はい
抽出されたコンテンツに指定するフィールド名。例:["date", "ip", "content"]。
重要SplitKeys パラメーターで指定されたフィールドが元のフィールドの値で見つからない場合、そのフィールドはスキップされます。
PreserveOthers
ブール値
いいえ
システムが SplitKeys パラメーターで指定された各フィールドと値が一致した後に、超過部分を保持するかどうかを指定します。有効な値:
true
false (デフォルト)
ExpandOthers
ブール値
いいえ
超過部分を解析するかどうかを指定します。有効な値:
true。
ExpandOthers パラメーターを true に設定して超過部分を解析し、ExpandKeyPrefix パラメーターを構成して、超過部分が割り当てられるフィールドの名前のプレフィックスを指定できます。
false (デフォルト)。
PreserveOthers パラメーターを true に、ExpandOthers パラメーターを false に設定すると、超過部分は _decode_preserve_ フィールドに格納されます。
説明超過部分に無効なデータが含まれている場合は、CSV 形式でデータを標準化してから保存する必要があります。
ExpandKeyPrefix
文字列
いいえ
超過部分が割り当てられるフィールドの名前のプレフィックス。たとえば、このパラメーターを expand_ に設定すると、フィールド名は expand_1 と expand_2 になります。
TrimLeadingSpace
ブール値
いいえ
元のフィールドの値の先頭にあるスペースをスキップするかどうかを指定します。有効な値:
true
false (デフォルト)
SplitSep
文字列
いいえ
デリミタ。デフォルト値はカンマ(,)です。
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true
false (デフォルト)
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false (デフォルト)
例
次の例は、csv フィールドの値を抽出する方法を示しています。
生のログ
{ "csv": "2022-06-09,192.0.2.0,\"{\"\"key1\"\":\"\"value\"\",\"\"key2\"\":{\"\"key3\"\":\"\"string\"\"}}\"", // ... }
データ処理用の Logtail プラグイン構成
{ // ... "type":"processor_csv", "detail":{ "SourceKey":"csv", "SplitKeys":["date", "ip", "content"], } // ... }
処理結果
{ "date": "2022-06-09", "ip": "192.0.2.0", "content": "{\"key1\":\"value\",\"key2\":{\"key3\":\"string\"}}" // ... }
単一文字デリミタモード
ログフィールドからコンテンツを抽出するには、単一文字のデリミタを使用できます。デリミタを囲むには、引用符を使用できます。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(単一文字デリミタモード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
[元のフィールド]
元のフィールドの名前。
[デリミタ]
デリミタ。デリミタは 1 文字である必要があります。非表示文字を単一文字デリミタとして指定できます。例:\u0001。
[新しいフィールド]
抽出されたコンテンツに指定するフィールド名。
[引用符を使用]
指定されたデリミタを引用符で囲むかどうかを指定します。
[引用符]
引用符。引用符は 1 文字である必要があります。非表示文字を引用符として指定できます。例:\u0001。
[元のフィールド欠落エラーを報告]
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
[デリミタ不一致エラーを報告]
生のログのデリミタが指定されたデリミタと一致しない場合にエラーを報告するかどうかを指定します。
[元のフィールドを保持]
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
例
次の例は、縦棒(|)をデリミタとして使用して content フィールドの値を抽出し、値に ip、time、method、url、request_time、request_length、status、length、ref_url、browser というフィールド名を指定する方法を示しています。
生のログ
"content" : "10.**.**.**|10/Aug/2022:14:57:51 +0800|POST|PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|0.024|18204|200|37|-| aliyun-sdk-java"
データ処理用の Logtail プラグイン構成
処理結果
"ip" : "10.**.**.**" "time" : "10/Aug/2022:14:57:51 +0800" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "length" : "27" "ref_url" : "-" "browser" : "aliyun-sdk-java"
JSON でのエディター構成
パラメーター
type パラメーターを processor_split_char に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
SplitSep
文字列
はい
デリミタ。デリミタは 1 文字である必要があります。非表示文字を単一文字デリミタとして指定できます。例:\u0001。
SplitKeys
文字列配列
はい
抽出されたコンテンツに指定するフィールド名。例:["ip", "time", "method"]。
PreserveOthers
ブール値
いいえ
システムが SplitKeys パラメーターで指定された各フィールドの値から一致を検出した後、超過部分を保持するかどうかを指定します。有効な値:
true
false(デフォルト)
QuoteFlag
ブール値
いいえ
指定されたデリミタを引用符で囲むかどうかを指定します。有効な値:
true
false(デフォルト)
Quote
文字列
いいえ
引用符。引用符は 1 文字である必要があります。非表示文字を引用符として指定できます。例:\u0001。
このパラメーターは、QuoteFlag パラメーターが true に設定されている場合にのみ有効になります。
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false(デフォルト)
NoMatchError
ブール値
いいえ
生のログのデリミタが指定されたデリミタと一致しない場合にエラーを報告するかどうかを指定します。有効な値:
true
false(デフォルト)
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true
false(デフォルト)
例
次の例は、縦棒(|)をデリミタとして使用して content フィールドの値を抽出し、値に ip、time、method、url、request_time、request_length、status、length、ref_url、browser というフィールド名を指定する方法を示しています。
生のログ
"content" : "10.**.**.**|10/Aug/2022:14:57:51 +0800|POST|PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|0.024|18204|200|37|-| aliyun-sdk-java"
データ処理用の Logtail プラグイン構成
{ /* JSON 構成 */ "type" : "processor_split_char", /* プロセッサタイプ */ "detail" : {"SourceKey" : "content", /* 元のキー */ "SplitSep" : "|", /* デリミタ */ "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"] /* 抽出されたコンテンツのフィールド名 */ } }
処理結果
"ip" : "10.**.**.**" "time" : "10/Aug/2022:14:57:51 +0800" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "length" : "27" "ref_url" : "-" "browser" : "aliyun-sdk-java"
複数文字のデリミタモード
複数文字のデリミタを使用して、ログフィールドからコンテンツを抽出できます。デリミタを囲むために引用符を使用することはできません。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(複数文字デリミターモード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
元のフィールド
元のフィールドの名前。
デリミター文字列
デリミター。複数文字のデリミターとして、印字不可能な文字を指定できます。例:\u0001\u0002。
新しいフィールド
抽出されたコンテンツに指定するフィールド名。
重要[新しいフィールド] パラメーターで指定されたフィールドが元のフィールドの値で見つからない場合、そのフィールドはスキップされます。
元のフィールド欠落エラーの報告
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
デリミター不一致エラーの報告
生のログのデリミターが指定されたデリミターと一致しない場合にエラーを報告するかどうかを指定します。
元のフィールドを保持
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
超過部分を保持
システムが [新しいフィールド] パラメーターで指定された各フィールドの値と一致するものを検出した後、超過部分を保持するかどうかを指定します。
超過部分を解析
超過部分を解析するかどうかを指定します。このオプションを選択した場合、[超過部分が割り当てられるフィールドの名前のプレフィックス] パラメーターを構成して、超過部分が割り当てられるフィールドの名前のプレフィックスを指定できます。
超過部分が割り当てられるフィールドの名前のプレフィックス
超過部分が割り当てられるフィールドの名前のプレフィックス。たとえば、このパラメーターを expand_ に設定すると、フィールド名は expand_1 と expand_2 になります。
例
次の例は、content フィールドの値をデリミター |#| を使用して抽出し、値にフィールド名 ip、time、method、url、request_time、request_length、status、expand_1、expand_2、expand_3 を指定する方法を示しています。
生のログ
"content" : "10.**.**.**|#|10/Aug/2022:14:57:51 +0800|#|POST|#|PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|#|0.024|#|18204|#|200|#|27|#|-|#| aliyun-sdk-java"
データ処理用の Logtail プラグイン構成
処理結果
"ip" : "10.**.**.**" "time" : "10/Aug/2022:14:57:51 +0800" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "expand_1" : "27" "expand_2" : "-" "expand_3" : "aliyun-sdk-java"
JSON でのエディター構成
パラメーター
type パラメーターを processor_split_string に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
SplitSep
文字列
はい
デリミター。複数文字のデリミターとして、印字不可能な文字を指定できます。例:\u0001\u0002。
SplitKeys
文字列配列
はい
抽出されたコンテンツに指定するフィールド名。例:["key1","key2"]。
説明SplitKeys パラメーターで指定されたフィールドが元のフィールドの値で見つからない場合、そのフィールドはスキップされます。
PreserveOthers
ブール値
いいえ
システムが SplitKeys パラメーターで指定された各フィールドの値と一致するものを検出した後、超過部分を保持するかどうかを指定します。有効な値:
true
false(デフォルト)
ExpandOthers
ブール値
いいえ
超過部分を解析するかどうかを指定します。有効な値:
true。
ExpandOthers パラメーターを true に設定して超過部分を解析し、ExpandKeyPrefix パラメーターを構成して、超過部分が割り当てられるフィールドの名前のプレフィックスを指定できます。
false(デフォルト)。
ExpandKeyPrefix
文字列
いいえ
超過部分が割り当てられるフィールドの名前のプレフィックス。たとえば、このパラメーターを expand_ に設定すると、フィールド名は expand_1 と expand_2 になります。
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false(デフォルト)
NoMatchError
ブール値
いいえ
生のログのデリミターが指定されたデリミターと一致しない場合にエラーを報告するかどうかを指定します。有効な値:
true
false(デフォルト)
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true
false(デフォルト)
例
次の例は、content フィールドの値をデリミター |#| を使用して抽出し、値にフィールド名 ip、time、method、url、request_time、request_length、status、expand_1、expand_2、expand_3 を指定する方法を示しています。
生のログ
"content" : "10.**.**.**|#|10/Aug/2022:14:57:51 +0800|#|POST|#|PutData? Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>|#|0.024|#|18204|#|200|#|27|#|-|#| aliyun-sdk-java"
データ処理用の Logtail プラグイン構成
{ "type" : "processor_split_string", // タイプを processor_split_string に設定します "detail" : {"SourceKey" : "content", // 元のキー "SplitSep" : "|#|", // デリミター "SplitKeys" : ["ip", "time", "method", "url", "request_time", "request_length", "status"], // 抽出するキーの配列 "PreserveOthers" : true, // 超過部分を保持するかどうか "ExpandOthers" : true, // 超過部分を展開するかどうか "ExpandKeyPrefix" : "expand_" // 展開されたキーのプレフィックス } }
処理結果
"ip" : "10.**.**.**" "time" : "10/Aug/2022:14:57:51 +0800" "method" : "POST" "url" : "/PutData?Category=YunOsAccountOpLog&AccessKeyId=<yourAccessKeyId>&Date=Fri%2C%2028%20Jun%202013%2006%3A53%3A30%20GMT&Topic=raw&Signature=<yourSignature>" "request_time" : "0.024" "request_length" : "18204" "status" : "200" "expand_1" : "27" "expand_2" : "-" "expand_3" : "aliyun-sdk-java"
キーと値のペア モード
キーと値のペアを分割することで、ログ フィールドからコンテンツを抽出できます。
Logtail V0.16.26 以降では、processor_split_key_value プラグインがサポートされています。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(キーと値のペアモード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
元のフィールド
元のフィールドの名前。
キーと値のペアのデリミタ
キーと値のペアを区切るために使用されるデリミタ。デフォルト値はタブ文字(
\t
)です。キーと値のデリミタ
単一のキーと値のペアでキーと値を区切るために使用されるデリミタ。デフォルト値はコロン(:)です。
元のフィールドを保持
元のフィールドを保持するかどうかを指定します。
元のフィールドがないエラーを報告
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
デリミタと一致しないキーと値のペアを削除
生のログのデリミタが指定されたデリミタと一致しない場合に、キーと値のペアを破棄するかどうかを指定します。
キーと値のデリミタがないエラーを報告
生のログに指定されたデリミタが含まれていない場合にエラーを報告するかどうかを指定します。
空のキーのエラーを報告
区切り後にキーが空の場合にエラーを報告するかどうかを指定します。
引用符
引用符。キー値が指定された引用符で囲まれている場合、引用符内のキー値が抽出されます。引用符として複数の文字を指定できます。
重要指定された引用符で囲まれたキー値にバックスラッシュ(\)が含まれており、バックスラッシュ(\)が引用符に隣接している場合、バックスラッシュ(\)はキー値の一部として抽出されます。
例
例 1:キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。生のログ
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\""
データ処理用の Logtail プラグイン構成
処理結果
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\"" "class": "main" "userid": "123456" "method": "get" "message": "\"wrong user\""
例 2:引用符が使用されている場合に、キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。使用される引用符は二重引用符(")です。生のログ
"content": "class:main http_user_agent:\"User Agent\" \"Chinese\" \"hello\\t\\\"ilogtail\\\"\\tworld\""
データ処理用の Logtail プラグイン構成
処理結果
"class": "main", "http_user_agent": "User Agent", "no_separator_key_0": "Chinese", "no_separator_key_1": "hello\t\"ilogtail\"\tworld",
例 3:複数文字の引用符が使用されている場合に、キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。使用される引用符は二重引用符("")です。生のログ
"content": "class:main http_user_agent:\"\"\"User Agent\"\"\" \"\"\"Chinese\"\"\""
データ処理用の Logtail プラグイン構成
処理結果
"class": "main", "http_user_agent": "User Agent", "no_separator_key_0": "Chinese",
JSON でのエディター構成
パラメーター
type パラメーターを processor_split_key_value に設定します。次に、以下の表に基づいて detail の他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
SourceKey
文字列
はい
元のフィールドの名前。
Delimiter
文字列
いいえ
キーと値のペアを区切るために使用されるデリミタ。デフォルト値はタブ文字(
\t
)です。Separator
文字列
いいえ
単一のキーと値のペアでキーと値を区切るために使用されるデリミタ。デフォルト値はコロン(:)です。
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true
false (デフォルト)
ErrIfSourceKeyNotFound
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true (デフォルト)
false
DiscardWhenSeparatorNotFound
ブール値
いいえ
生のログのデリミタが指定されたデリミタと一致しない場合に、キーと値のペアを破棄するかどうかを指定します。有効な値:
true
false (デフォルト)
ErrIfSeparatorNotFound
ブール値
いいえ
生のログに指定されたデリミタが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true (デフォルト)
false
ErrIfKeyIsEmpty
ブール値
いいえ
区切り後にキーが空の場合にエラーを報告するかどうかを指定します。有効な値:
true (デフォルト)
false
Quote
文字列
いいえ
引用符。キー値が指定された引用符で囲まれている場合、引用符内のキー値が抽出されます。引用符として複数の文字を指定できます。デフォルトでは、引用符機能は無効になっています。
重要二重引用符("")を引用符として指定する場合、各二重引用符("")のペアにエスケープ文字としてバックスラッシュ(\)を追加する必要があります。
指定された引用符で囲まれたキー値にバックスラッシュ(\)が含まれており、バックスラッシュ(\)が引用符に隣接している場合、バックスラッシュ(\)はキー値の一部として抽出されます。
例
例 1:キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。生のログ
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\""
データ処理用の Logtail プラグイン構成
{ "processors":[ { "type":"processor_split_key_value", // タイプ:processor_split_key_value "detail": { "SourceKey": "content", // 元のキー "Delimiter": "\t", // キーと値のペアのデリミタ "Separator": ":", // キーと値のデリミタ "KeepSource": true // 元のフィールドを保持 } } ] }
処理結果
"content": "class:main\tuserid:123456\tmethod:get\tmessage:\"wrong user\"" "class": "main" "userid": "123456" "method": "get" "message": "\"wrong user\""
例 2:キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。使用される引用符は二重引用符(")です。生のログ
"content": "class:main http_user_agent:\"User Agent\" \"Chinese\" \"hello\\t\\\"ilogtail\\\"\\tworld\""
データ処理用の Logtail プラグイン構成
{ "processors":[ { "type":"processor_split_key_value", // タイプ:processor_split_key_value "detail": { "SourceKey": "content", // 元のキー "Delimiter": " ", // キーと値のペアのデリミタ "Separator": ":", // キーと値のデリミタ "Quote": "\"" // 引用符 } } ] }
処理結果
"class": "main", "http_user_agent": "User Agent", "no_separator_key_0": "Chinese", "no_separator_key_1": "hello\t\"ilogtail\"\tworld",
例 3:キーと値のペアモードで指定されたフィールドの値を抽出する。
キーと値のペアモードで content フィールドの値を抽出します。キーと値のペアを区切るために使用されるデリミタはタブ文字(
\t
)です。単一のキーと値のペアでキーと値を区切るために使用されるデリミタはコロン(:)です。使用される引用符は二重引用符(""")です。生のログ
"content": "class:main http_user_agent:\"\"\"User Agent\"\"\" \"\"\"Chinese\"\"\""
データ処理用の Logtail プラグイン構成
{ "processors":[ { "type":"processor_split_key_value", // タイプ:processor_split_key_value "detail": { "SourceKey": "content", // 元のキー "Delimiter": " ", // キーと値のペアのデリミタ "Separator": ":", // キーと値のデリミタ "Quote": "\"\"\"" // 引用符 } } ] }
処理結果
"class": "main", "http_user_agent": "User Agent", "no_separator_key_0": "Chinese",
Grok モード
Grok 式を使用して、ログ フィールドからコンテンツを抽出できます。
Logtail V1.2.0 以降では、processor_grok プラグインがサポートされています。
フォーム構成
パラメーター
[プロセッサの種類] パラメーターを [フィールドの抽出(Grok モード)] に設定します。次に、以下の表に基づいて他のパラメーターを構成します。
パラメーター
説明
元のフィールド
元のフィールドの名前。
Grok 式の配列
Grok 式の配列。 processor_grok プラグインは、指定された式に基づいてログフィールドを順番に照合し、最初の一致に基づいて抽出されたコンテンツを返します。
processor_grok でサポートされているデフォルトの式については、「processor_grok」をご参照ください。リンク先のページで提供されている式がビジネス要件を満たしていない場合は、[カスタム Grok パターン] パラメーターでカスタム Grok 式を指定できます。
説明複数の Grok 式を指定すると、処理パフォーマンスに影響する可能性があります。 5 つ以下の式を指定することをお勧めします。
カスタム Grok パターン
ルール名と Grok 式で構成されるカスタム Grok パターン。
カスタム Grok パターンファイルディレクトリ
カスタム Grok パターンファイルが保存されているディレクトリ。 processor_grok プラグインは、ディレクトリ内のすべてのファイルを読み取ります。
重要カスタム Grok パターンファイルを更新する場合、更新は Logtail を再起動した後にのみ有効になります。
最大タイムアウト
Grok 式を使用して元のフィールドからコンテンツを抽出するタイムアウト期間。単位:ミリ秒。このパラメーターを構成に含めないか、このパラメーターを 0 に設定すると、抽出はタイムアウトしません。
解析に失敗したログを保持する
生のログが解析に失敗した場合に、生のログを保持するかどうかを指定します。
元のフィールドを保持する
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。
元のフィールドが見つからないエラーを報告する
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。
一致する式がないエラーを報告する
元のフィールドの値が [Grok 式の配列] パラメーターで指定された式と一致しない場合にエラーを報告するかどうかを指定します。
一致のタイムアウトエラーを報告する
一致がタイムアウトした場合にエラーを報告するかどうかを指定します。
例
次の例は、Grok モードで content フィールドの値を抽出し、値に year、month、day というフィールド名を指定する方法を示しています。
生のログ
"content" : "2022 October 17"
データ処理用の Logtail プラグイン構成
処理結果
"year":"2022" "month":"October" "day":"17"
JSON でのエディター構成
パラメーター
type パラメーターを processor_grok に設定します。次に、以下の表に基づいて detail セクションの他のパラメーターを構成します。
パラメーター
タイプ
必須
説明
CustomPatternDir
文字列配列
いいえ
カスタム Grok パターンファイルが保存されているディレクトリ。 processor_grok プラグインは、ディレクトリ内のすべてのファイルを読み取ります。
このパラメーターを構成に含めない場合、システムはカスタム Grok パターンファイルをインポートしません。
重要カスタム Grok パターンファイルを更新する場合、更新は Logtail を再起動した後にのみ有効になります。
CustomPatterns
マップ
いいえ
カスタム Grok パターン。 key はルール名を指定し、value は Grok 式を指定します。
processor_grok でサポートされているデフォルトの式については、「processor_grok」をご参照ください。リンク先のページで提供されている式がビジネス要件を満たしていない場合は、Match パラメーターでカスタム Grok 式を指定できます。
このパラメーターを構成に含めない場合、システムはカスタム Grok パターンを使用しません。
SourceKey
文字列
いいえ
元のフィールドの名前。デフォルト値は content です。
Match
文字列配列
はい
Grok 式の配列。 processor_grok プラグインは、指定された式に基づいてログフィールドを順番に照合し、最初の一致に基づいて抽出されたコンテンツを返します。
説明複数の Grok 式を指定すると、処理パフォーマンスに影響する可能性があります。 5 つ以下の式を指定することをお勧めします。
TimeoutMilliSeconds
Long
いいえ
Grok 式を使用して元のフィールドからコンテンツを抽出するタイムアウト期間。単位:ミリ秒。
このパラメーターを構成に含めないか、このパラメーターを 0 に設定すると、抽出はタイムアウトしません。
IgnoreParseFailure
ブール値
いいえ
生のログが解析に失敗した場合に、生のログを無視するかどうかを指定します。有効な値:
true(デフォルト):生のログが解析に失敗した場合、生のログを無視します。
false:生のログが解析に失敗した場合、生のログを削除します。
KeepSource
ブール値
いいえ
解析後に取得された新しいログに元のフィールドを保持するかどうかを指定します。有効な値:
true(デフォルト):元のフィールドを保持します。
false:元のフィールドを破棄します。
NoKeyError
ブール値
いいえ
生のログに元のフィールドが含まれていない場合にエラーを報告するかどうかを指定します。有効な値:
true
false(デフォルト)
NoMatchError
ブール値
いいえ
元のフィールドの値が Match で指定された式と一致しない場合にエラーを報告するかどうかを指定します。有効な値:
true(デフォルト)
false
TimeoutError
ブール値
いいえ
一致がタイムアウトした場合にエラーを報告するかどうかを指定します。有効な値:
true(デフォルト)
false
例 1
Grok モードで content フィールドの値を抽出し、値に year、month、day というフィールド名を指定します。
生のログ
"content" : "2022 October 17"
データ処理用の Logtail プラグイン構成
{ "type" : "processor_grok", "detail" : { "KeepSource" : false, "Match" : [ "%{YEAR:year} %{MONTH:month} %{MONTHDAY:day}" // 年、月、日を抽出するための Grok パターン ], "IgnoreParseFailure" : false } }
処理結果
"year":"2022" "month":"October" "day":"17"
例 2
複数のログから Grok モードで content フィールドの値を抽出し、異なる Grok 式に基づいて抽出された値を異なる結果に解析します。
生のログ
{ "content" : "begin 123.456 end" } { "content" : "2019 June 24 \"I am iron man"\" } { "content" : "WRONG LOG" } { "content" : "10.0.0.0 GET /index.html 15824 0.043" }
データ処理用の Logtail プラグイン構成
{ "type" : "processor_grok", "detail" : { "CustomPatterns" : { "HTTP" : "%{IP:client} %{WORD:method} %{URIPATHPARAM:request} %{NUMBER:bytes} %{NUMBER:duration}" // カスタム Grok パターンの定義 }, "IgnoreParseFailure" : false, "KeepSource" : false, "Match" : [ "%{HTTP}", // カスタムパターン HTTP を使用 "%{WORD:word1} %{NUMBER:request_time} %{WORD:word2}", // 単語と数値を抽出 "%{YEAR:year} %{MONTH:month} %{MONTHDAY:day} %{QUOTEDSTRING:motto}" // 年月日と引用符付き文字列を抽出 ], "SourceKey" : "content" }, }
処理結果
この例では、processor_grok プラグインは最初のログを Deploy a WordPress site to Azure App Service using the Azure CLI - Azure App Service Deploy a WordPress site to Azure App Service using the Azure CLI This tutorial shows you how to deploy a WordPress site to Azure App Service using the Azure CLI. For more information, see Quickstart: Create a PHP app in Azure App Service on Linux. Prerequisites An Azure account with an active subscription. Create an account for free. The Azure CLI installed locally. 1. Create a resource group Create a resource group with the az group create command. 2. Create an App Service plan Create an App Service plan in the resource group with the az appservice plan create command. ``` ```html Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする - Azure App Service Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする このチュートリアルでは、Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする方法について説明します。詳細については、「クイックスタート: Linux 上の Azure App Service で PHP アプリを作成する」をご参照ください。 前提条件 アクティブなサブスクリプションが含まれる Azure アカウント。無料アカウントを作成します。 ローカルにインストールされている Azure CLI。 1. リソース グループを作成する az group create コマンドを使用して、リソース グループを作成します。 2. App Service プランを作成する
Configure WordPress to use Azure Blob storage WordPress を Azure Blob Storage で使用するように構成する このチュートリアルでは、WordPress アプリケーションでメディアのアップロードと配信に Azure Blob Storage を使用する方法について説明します。この構成により、WordPress サイトのパフォーマンスとスケーラビリティが向上します。 Azure Blob Storage は、画像、ビデオ、ドキュメントなどの非構造化データを保存するための、スケーラブルでコスト効率の高いソリューションです。WordPress と統合することで、メディア ファイルをクラウドに保存し、Azure のグローバルなインフラストラクチャを活用して配信できます。 前提条件 アクティブな Azure サブスクリプション。 無料アカウントを作成する WordPress がインストールされている Web サーバー。 Windows Azure Storage プラグイン。 手順 Azure portal にサインインします。 新しいストレージ アカウントを作成します。 ストレージ アカウントにコンテナーを作成します。 WordPress プラグインをインストールしてアクティブ化します。 プラグイン設定で、ストレージ アカウント名、アカウント キー、コンテナー名を入力します。 [保存] をクリックします。 これで、WordPress はメディア ファイルを Azure Blob Storage にアップロードするようになります。 詳細については、「Azure Blob Storage のドキュメント」をご参照ください。 ```
コマンドを使用して、リソース グループに App Service プランを作成します。 ```Match で指定された最初の式%{WORD:word1} %{NUMBER:request_time} %{WORD:word2}
と照合し、一致は失敗します。次に、processor_grok プラグインはログを 2 番目の式 と照合し、一致は成功します。この場合、2 番目の式に基づいて抽出されたコンテンツが返されます。結果では、KeepSource が false に設定されているため、生のログの content フィールドは破棄されます。
この例では、processor_grok プラグインは 2 番目のログを
%{HTTP}
%{WORD:word1} %{NUMBER:request_time} %{WORD:word2}
Match で指定された最初の式%{YEAR:year} %{MONTH:month} %{MONTHDAY:day} %{QUOTEDSTRING:motto}
と 2 番目の式 と順番に照合し、両方とも一致は失敗します。次に、processor_grok プラグインは 2 番目のログを 3 番目の式 と照合し、一致は成功します。この場合、3 番目の式に基づいて抽出されたコンテンツが返されます。この例では、processor_grok プラグインは 3 番目のログを Match で指定された 3 つの式と順番に照合し、すべて一致は失敗します。 IgnoreParseFailure が false に設定されているため、ログは破棄されます。
この例では、processor_grok プラグインは 4 番目のログを Deploy a WordPress site to Azure App Service using the Azure CLI - Azure App Service Deploy a WordPress site to Azure App Service using the Azure CLI This tutorial shows you how to deploy a WordPress site to Azure App Service using the Azure CLI. You'll create a web app and a MySQL database, then configure WordPress to connect to the database. Prerequisites An Azure account with an active subscription. Create an account for free. The Azure CLI installed locally. 1. Create resources Create a resource group, an App Service plan, and a web app. In the Cloud Shell, run the following command: az group create --name myResourceGroup --location eastus az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku B1 --is-linux az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime "PHP|8.1" --deployment-local-git Replace <app-name> with a unique app name. The --runtime parameter sets the runtime stack to PHP 8.1. Next, create a MySQL flexible server. In the Cloud Shell, run the following command: az mysql flexible-server create --resource-group myResourceGroup --name myMySQLServer --location eastus --admin-user myadmin --admin-password <password> --sku-name B_Standard_B1ms --storage-size 20 Replace <password> with a strong password. The --sku-name parameter sets the server SKU to B_Standard_B1ms, and the --storage-size parameter sets the storage size to 20 GB. For more information, see Create an Azure Database for MySQL flexible server using the Azure CLI. ``` ```html Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする - Azure App Service Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする このチュートリアルでは、Azure CLI を使用して WordPress サイトを Azure App Service にデプロイする方法について説明します。Web アプリと MySQL データベースを作成し、WordPress がデータベースに接続するように構成します。 前提条件 アクティブなサブスクリプションが含まれる Azure アカウント。無料アカウントを作成します。 ローカルにインストールされている Azure CLI。 1. リソースの作成 リソース グループ、App Service プラン、および Web アプリを作成します。Cloud Shell で、次のコマンドを実行します。 az group create --name myResourceGroup --location eastus az appservice plan create --name myAppServicePlan --resource-group myResourceGroup --sku B1 --is-linux az webapp create --resource-group myResourceGroup --plan myAppServicePlan --name <app-name> --runtime "PHP|8.1" --deployment-local-git <app-name> を一意のアプリ名に置き換えます。--runtime パラメーターは、ランタイム スタックを PHP 8.1 に設定します。 次に、MySQL フレキシブル サーバーを作成します。Cloud Shell で、次のコマンドを実行します。 az mysql flexible-server create --resource-group myResourceGroup --name myMySQLServer --location eastus --admin-user myadmin --admin-password <password> --sku-name B_Standard_B1ms --storage-size 20 <password> を強力なパスワードに置き換えます。--sku-name パラメーターはサーバー SKU を B_Standard_B1ms に設定し、
Configure WordPress to use Azure Blob storage WordPress を Azure Blob Storage で使用するように構成する このチュートリアルでは、WordPress アプリケーションでメディアのアップロードと配信に Azure Blob Storage を使用する方法について説明します。Azure Blob Storage は、画像、ビデオ、ドキュメントなどの非構造化データをクラウドに格納するための費用対効果の高いソリューションです。Azure CDN と組み合わせることで、世界中のユーザーにメディアを配信するための高パフォーマンスでスケーラブルなソリューションを実現できます。 このチュートリアルでは、以下の手順を実行します。 Azure Storage アカウントを作成する Azure CDN プロファイルを (省略可能) 作成する WordPress プラグインをインストールして構成する メディアを Azure Blob Storage にアップロードする 前提条件 アクティブな Azure サブスクリプション。 無料アカウントを作成できます。 WordPress アプリケーション。 WordPress のダウンロード Azure Storage アカウントを作成する Azure Storage アカウントを作成するには、次の手順に従います。 Azure portal にサインインします。 「ストレージ アカウント」 を検索して選択します。 「+ 作成」 をクリックします。 詳細については、「ストレージ アカウントの作成」をご参照ください。 ```
パラメーターはストレージ サイズを 20 GB に設定します。 詳細については、「Azure CLI を使用して Azure Database for MySQL フレキシブル サーバーを作成する」をご参照ください。 ```Match で指定された最初の式 と照合し、一致は成功します。この場合、最初の式に基づいて抽出されたコンテンツが返されます。
{ "word1":"begin", "request_time":"123.456", "word2":"end", } { "year":"2019", "month":"June", "day":"24", "motto":"\"I am iron man"\", } { "client":"10.0.0.0", "method":"GET", "request":"/index.html", "bytes":"15824", "duration":"0.043", }