プロジェクトで Logtail 設定を作成します。
例:
POST /configs
リクエスト構文
POST /configs HTTP/1.1
Authorization: <AuthorizationString>
Content-Type:application/json
Content-Length:<Content Length>
Content-MD5<:<Content MD5>
Date: <GMT Date>
Host: <Project Endpoint>
x-log-apiversion: 0.6.0
x-log-signaturemethod: hmac-sha1
{
"configName": "testcategory1",
"inputType": "file",
"inputDetail": {
"logType": "common_reg_log",
"logPath": "/var/log/httpd/",
"filePattern": "access*.log",
"localStorage": true,
"timeFormat": "%Y/%m/%d %H:%M:%S",
"logBeginRegex": ".*",
"regex": "(\w+)(\s+)",
"key" :["key1", "key2"],
"filterKey":["key1"],
"filterRegex":["regex1"],
"fileEncoding":"utf8",
"topicFormat": "none"
},
"outputType": "LogService",
"outputDetail":
{
"logstoreName": "perfcounter"
}
}
リクエストパラメーター
パラメーター名 | データ型 | 必須/省略可能 | 説明 |
---|---|---|---|
configName | string | 必須 | 同じプロジェクト内で一意の Logstore 名 |
inputType | string | 必須 | 入力タイプ (現時点でファイルのみサポート) |
入力詳細 | json | 必須 | 次の表の説明を参照してください。 |
outputType | string | 必須 | 出力タイプ 現在、サポートされているのは LogService のみです。 |
outputDetail | json | 必須 | 次の表の説明を参照してください。 |
logSample | string | 省略可能 | Logtail 設定のログ サンプル。 ログサイズは 1,000 バイトを超えることはできません。 |
inputDetail の内容
属性名 | データ型 | 必須/省略可能 | 説明 |
---|---|---|---|
logType | string | 必須 | ログタイプ (現時点で common_reg_log のみをサポート) |
LogPath | string | 必須 | ログが存在する親ディレクトリ (例:/var/logs/ )
|
filePattern | string | 必須 | ログ ファイルのパターン (例:access*.log )
|
Localstorage | boolean | 必須 | ローカル キャッシュをアクティブにするかどうかを設定します。 Log Service へのリンクが切断されると、1 GB のログをローカルにキャッシュできます。 |
timeFormat | string | 必須 | ログ時刻の形式 (例:%Y/%m/%d %H:%M:%S) |
logBeginRegex | string | 必須 | 最初のログ行の特性 (正規表現) 。複数の行で構成されるログと一致させるために使用します。 |
Regex | string | 必須 | ログの抽出に使用される正規表現。 |
key | array | 必須 | ログの抽出後に生成されたキー |
filterKey | array | 必須 | ログのフィルター処理に使用されるキー。 ログは、対応する filterRegex 列で指定された正規表現とキー値が一致する場合のみ、要件を満たします。 |
filterRegex | array | 必須 | 各 filterKey に対応する正規表現。 フィルターの長さは、filterKey の長さと同じでなければなりません。 |
topicFormat | string | 省略可能 | トピック生成モード。 次の 4 つのモードがサポートされています。
|
preserve | boolean | 省略可能 | true は、監視対象のディレクトリがタイムアウトしないことを示します。false は、監視対象ディレクトリのタイムアウトが 30 分であることを示します (デフォルトは 0)。 |
preserveDepth | integer | 省略可能 | preserve が false に設定されている場合は、監視タイムアウトなしでディレクトリの深さを指定します。 最大深度は 3 です。 |
fileEncoding | string | 省略可能 | utf8 と gbk の 2 種類がサポートされています。 |
outputDetail の内容
属性名 | データ型 | 必須/省略可能 | 説明 |
---|---|---|---|
logstoreName | string | 必須 | Logstore 名 |
CreateConfig API には特別なリクエストヘッダーはありません。 Log Service API のパブリックリクエストヘッダーの詳細については、「パブリックリクエストヘッダー」をご参照ください。
レスポンスヘッダーCreateConfig API には特別なレスポンスヘッダーはありません。 Log Service API のパブリックレスポンスヘッダーの詳細については、「パブリックレスポンスヘッダー」をご参照ください。
レスポンス要素返される HTTP ステータス コードは 200 です。
エラーコードまた、 一般的なエラー コード の他に、CreateConfig API から次の特殊なエラー コードが返される場合があります。
HTTP ステータスコード | エラーコード | エラーメッセージ |
---|---|---|
400 | ConfigAlreadyExist | config {Configname} already exists |
400 | InvalidParameter | invalid config resource json |
500 | InternalServerError | internal server error |
作成中にエラーが発生した場合 (たとえば、設定が既に存在する、形式が正しくない、必要なパラメーターが見つからない、クォータを超えているなど) 、設定の作成は失敗します。
例
リクエスト例
POST /configs HTTP/1.1
Header :
{
'Content-Length': 737,
'Host': 'ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com',
'x-log-bodyrawsize': 737,
'Content-MD5': 'FBA01ECF7255BE143379BC70C56BBF68',
'x-log-signaturemethod': 'hmac-sha1',
'Date': 'Mon, 09 Nov 2015 07:45:30 GMT',
'x-log-apiversion': '0.6.0',
'User-Agent': 'log-python-sdk-v-0.6.0',
'Content-Type': 'application/json',
'Authorization': 'LOG <yourAccessKeyId>:<yourSignature>'
}
Body:
{
"configName": "sample-logtail-config",
"inputType": "file",
"inputDetail": {
"logType": "common_reg_log",
"logPath": "/var/log/httpd/",
"filePattern": "access*.log",
"localStorage": true,
"timeFormat": "%d/%b/%Y:%H:%M:%S",
"logBeginRegex": "\\d+\\.\\d+\\.\\d+\\.\\d+ - .*",
"regex": "([\\d\\.] +) \\S+ \\S+ \\[(\\S+) \\S+\\] \"(\\w+) ([^\"]*)\" ([\\d\\.]+) (\\d+) (\\d+) (\\d+|-) \"([^\"]*)\" \"([^\"]*)\".*",
"key": ["ip", "time", "method", "url", "request_time", "request_length", "status", "length", "ref_url", "browser"],
"filterKey": [],
"filterRegex": [],
"topicFormat": "none",
"fileEncoding": "utf8"
},
"outputType": "LogService",
"outputDetail":
{
"logstoreName": "sls-test-logstore"
}
}
レスポンス例:
HTTP/1.1 200 OK
Header
{
'date': 'Mon, 09 Nov 2015 07:45:30 GMT',
'connection': 'close',
'x-log-requestid': '56404F1A99248CA26C002180',
'content-length': '0',
'server': 'nginx/1.6.1'
}