設定を更新します。 設定がマシングループに適用されると、対応するマシンも更新されます。
例:
PUT /configs/{configName}
リクエスト構文
PUT /configs/<configName> 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"],
"topicFormat": "none"
},
"outputType": "LogService",
"outputDetail":
{
"logstoreName": "perfcounter"
}
}
リクエストパラメーター
属性名 | データ型 | 必須/省略可能 | 説明 |
---|---|---|---|
configName | string | 必須 | 同じプロジェクト内で一意の Logtail 設定名 |
inputType | string | 必須 | 入力タイプ (現時点でファイルのみサポート) |
inputDetail | json | 必須 | 出力タイプ 現在、サポートされているのは LogService のみです。 |
outputType | string | 必須 | 出力タイプ 現在、LogService のみサポートされています。 |
outputDetail | JSON | 必須 | 次の表の説明を参照してください。 |
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 | 省略可能 | ログファイルパスの一部をトピックとして使用します (例:/var/log/(. *).log ) デフォルト値は none (トピックが空であることを示します)
|
preserve | boolean | 省略可能 | true は、監視対象のディレクトリがタイムアウトしないことを示します。false は、監視対象ディレクトリのタイムアウトが 30 分であることを示します (デフォルトは 0)。 |
preserveDepth | integer | 省略可能 | preserve が false に設定されている場合は、監視タイムアウトなしでディレクトリの深さを指定します。 最大深度は 3 です。 |
fileEncoding | string | 省略可能 | utf8 と gbk の 2 種類がサポートされています。 (デフォルトは utf8)。 |
outputDetail の内容
属性名 | データ型 | 必須/省略可能 | 説明 |
---|---|---|---|
logstoreName | string | 必須 | Logstore 名 |
UpdateConfig API には特別なリクエストヘッダーはありません。 UpdateConfig API には特別なリクエストヘッダーはありません。
レスポンスヘッダーUpdateConfig API には特別なレスポンスヘッダーはありません。 Log Service API のパブリックレスポンスヘッダーの詳細については、「パブリックレスポンスヘッダー」をご参照ください。
レスポンス要素返される HTTP ステータス コードは 200 です。
エラーコードまた、 一般的なエラー コード の他に、UpdateConfig API から次の特殊なエラー コードが返される場合があります。
HTTP ステータスコード | エラーコード | エラー メッセージ |
---|---|---|
404 | ConfigNotExist | config {Configname} が存在しません |
400 | InvalidParameter | config resource json が無効です |
400 | BadRequest | config resource configname がリクエストと一致しません |
500 | InternalServerError | 内部サーバーエラー |
作成中にエラーが発生した場合 (たとえば、設定が既に存在する、形式が正しくない、必要なパラメーターが見つからない、クォータを超えているなど) 、設定の作成は失敗します。
例
リクエスト例:
PUT /configs/logtail-config-sample
Header :
{
"Content-Length": 737,
"Host": "ali-test-project.cn-hangzhou-devcommon-intranet.sls.aliyuncs.com",
"x-log-bodyrawsize": 737,
"Content-MD5": "431263EB105D584A5555762A81E869C0",
"x-log-signaturemethod": "hmac-sha1",
"Date": "Mon, 09 Nov 2015 09:14:32 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 :
{
"outputDetail": {
"logstoreName": "sls-test-logstore"
},
"inputType": "file",
"inputDetail": {
"regex": "([\\d\\.] +) \\S+ \\S+ \\[(\\S+) \\S+\\] \"(\\w+) ([^\"]*)\" ([\\d\\.]+) (\\d+) (\\d+) (\\d+|-) \"([^\"]*)\" \"([^\"]*)\".*",
"filterKey": [],
"logPath": "/var/log/nginx/",
"logBeginRegex": "\\d+\\.\\d+\\.\\d+\\.\\d+ - .*",
"logType": "common_reg_log",
"topicFormat": "none",
"localStorage": true,
"key": [
"ip",
"time",
"method",
"url",
"request_time",
"request_length",
"status",
"length",
"ref_url",
"browser"
],
"filePattern": "access*.log",
"timeFormat": "%d/%b/%Y:%H:%M:%S",
"filterRegex": []
},
"outputType": "LogService",
"configName": "logtail-config-sample"
}
レスポンス例
{
"date": "Mon, 09 Nov 2015 09:14:32 GMT",
"connection": "close",
"x-log-requestid": "564063F899248CAA2300B778",
"content-length": "0",
"server": "nginx/1.6.1"
}