製品アップデート情報
製品リリース記録
apiVersion: cls.cloud.tencent.com/v1kind: LogConfig ## デフォルト値metadata:name: test ## CRDリソース名。クラスター内で一意spec:clsDetail: ## CLSへの配信の設定...inputDetail: ## 収集データソース設定...kafkaDetail: ## ckafkaまたは自作kafkaへの配信の設定...status: ## CRDリソースの状態status: ""code: "" ## インターフェース呼び出しエラーが発生した場合に、インターフェースから返されるエラーコードreason: "" ## エラー理由
clsDetail:## ログトピックを自動作成します。ログセットおよびトピックのnameを同時に指定する必要がありますlogsetName: test ## CLSログセットのname。このnameのログセットがなければ自動的に作成し、ある場合は、このログセットの下にログトピックを作成しますtopicName: test ## CLSログトピックのname。このnameのログトピックがなければ自動的に作成します# 既存のログセットとログトピックを選択します。ログセットが指定されていて、ログトピックが指定されていない場合は、自動的にログトピックが作成されますlogsetId: xxxxxx-xx-xx-xx-xxxxxxxx ## CLSログセットのID。ログセットはCLS内にあらかじめ作成しておく必要がありますtopicId: xxxxxx-xx-xx-xx-xxxxxxxx ## CLSログトピックのID。ログトピックはCLS内にあらかじめ作成し、かつ他の収集設定に占有されていないことが必要ですlogType: json_log ## ログ収集の形式。json_logはjson形式を表し、delimiter_logは区切り文字形式を表します。minimalist_logはシングルライン全文形式を、multiline_logはマルチライン全文形式を、fullregex_logは完全正規表現形式をそれぞれ表します。デフォルトではminimalist_logですlogFormat: xxx ## ログのフォーマットperiod: 30 ## ライフサイクル。単位は日、可能な値の範囲は1~3600です。値が3640の場合は永久保存を表しますpartitionCount: ## Integerタイプで、ログトピックのパーティション数です。デフォルトでは1個作成し、最大で10個のパーティションを作成できます。tags: ## タグ記述リスト。このパラメータを指定することで、タグを同時に対応するログトピックにバインドできます。最大9個のタグキーバリューペアを作成できますが、同一のリソースは同一のタグキーにしかバインドできません。- key: xxx ## タグkeyvalue: xxx ## タグvalueautoSplit: false ## booleanタイプ、自動分割を有効にするかどうか。デフォルト値はtrueですmaxSplitPartitions:storageType: hot ## ログトピックのストレージタイプ。オプション値はhot(標準ストレージ)、cold(低頻度ストレージ)で、デフォルトではhotです。excludePaths: ## ブラックリストパスリストの収集- type: File ## タイプ、オプションはFileまたはPathですvalue: /xx/xx/xx/xx.log ## typeの対応する値indexs: ## topic作成時にカスタマイズ可能なインデックス方式およびフィールド- indexName: ## キー値またはメタフィールドインデックスのフィールドを設定する必要があります。メタフィールドKeyにはプレフィックス__TAG__.を追加する必要がなく、ログをアップロードする際に対応するフィールドKeyが一致することで設定できます。Tencent Cloudコンソールで表示する際はプレフィックス__TAG__.が自動的に追加されますindexType: ## フィールドタイプ。現在はlong、text、doubleタイプをサポートしていますtokenizer: ## フィールドの区切り文字。この中のそれぞれの文字が区切り文字を表します。英字記号および\\n\\t\\rのみをサポートしています。longおよびdoubleタイプのフィールドは空にしておきます。textタイプのフィールドでは @&?|#()='",;:<>[]{}/ \\n\\t\\r\\ を区切り文字として使用することを推奨します。sqlFlag: ## boolean フィールドで分析機能を有効にしているかどうかcontainZH: ## boolean 中国語が含まれるかどうかregion: ap-xxx ## topicの所在リージョン。クロスリージョン配信に使用しますuserDefineRule: xxxxxx ## ユーザー定義の収集ルール。Json形式でシリアライズした文字列ですextractRule: {} ## 抽出、フィルタリングルール。 ExtractRuleを設定した場合は、LogTypeを設定する必要があります
inputDetail:type: container_stdout ## ログ収集のタイプ。container_stdout(コンテナ標準出力)、container_file(コンテナファイル)、host_file(ホストファイル)が含まれますcontainerStdout: ## コンテナ標準出力namespace: default ## 収集コンテナのkubernetesネームスペース。複数のネームスペースをサポートしており、複数のネームスペースがある場合は「,」で区切ります(例:default,namespace)。 指定しない場合はすべてのネームスペースを表します。注意:excludeNamespaceとは同時に指定できませんexcludeNamespace: nm1,nm2 ## 収集コンテナのkubernetesネームスペースを除外します。複数のネームスペースをサポートしており、複数のネームスペースがある場合は「,」で区切ります(例::nm1,nm2)。 指定しない場合はすべてのネームスペースを表します。注意:namespaceとは同時に指定できませんnsLabelSelector: environment in (production),tier in (frontend) ## ネームスペースlabelに基づくフィルタリングで合致したnamespaceallContainers: false ## 指定のネームスペース内のすべてのコンテナの標準出力を収集するかどうか。注意:allContainers=trueの場合はworkloa、includeLabels、excludeLabelsを同時に指定することはできませんcontainer: xxx ## ログを収集するコンテナ名。空の場合は、コンテナに合致するログ名をすべて収集することを表します。excludeLabels: ## 収集に指定のlabelを含むPodを含めません。workload、namespace、excludeNamespaceとは同時に指定できませんkey2: value2 ## 同一のkey下にある複数のvalue値のpodのマッチングをサポートします。例えばenviroment = production,qaと入力した場合、keyがenviroment、value値がproductionまたはqaの場合はすべて除外されることを表します。複数のvalue値を入力する場合はコンマで区切ることにご注意ください。includeLabelsを同時に指定すると、includeLabelsとの共通部分のpodがマッチしますincludeLabels: ## 指定のlabelを含むPodを収集します。workload、namespace、excludeNamespaceとは同時に指定できませんkey: value1 ## 収集ルールで収集されたログにはmetadataが含まれ、コンシューマー側にレポートされます。同一のkey下にある複数のvalue値のpodのマッチングをサポートします。例えばenviroment = production,qaと入力した場合、keyがenviroment、value値がproductionまたはqaの場合はすべてマッチングされることを表します。複数のvalue値を入力する場合はコンマで区切ることにご注意ください。excludeLabelsを同時に指定すると、excludeLabelsとの共通部分のpodがマッチしますmetadataLabels: ## 具体的にどのpod labelがメタデータとして収集されるかを指定します。指定しない場合はすべてのpod labelがメタデータとして収集されます- label1customLabels: ## ユーザー定義のmetadatalabel: l1workloads:- container: xxx ## 収集するコンテナ名。指定しない場合はworkload Pod内のすべてのコンテナを表しますkind: deployment ## workloadタイプ。deployment、daemonset、statefulset、job、cronjobをサポートしますname: sample-app ## workloadの名前namespace: prod ## workloadのネームスペースcontainerFile: ## コンテナ内のファイルnamespace: default ## 収集コンテナのkubernetesネームスペース。1つのネームスペースを必ず指定する必要がありますexcludeNamespace: nm1,nm2 ## 収集コンテナのkubernetesネームスペースを除外します。複数のネームスペースをサポートしており、複数のネームスペースがある場合は「,」で区切ります(例::nm1,nm2)。 指定しない場合はすべてのネームスペースを表します。注意:namespaceとは同時に指定できませんnsLabelSelector: environment in (production),tier in (frontend) ## ネームスペースlabelに基づくフィルタリングで合致したnamespacecontainer: xxx ## ログを収集するコンテナ名。 * の場合は、コンテナに合致するログ名をすべて収集することを表しますlogPath: /var/logs ## ログフォルダ。ワイルドカードはサポートしていませんfilePattern: app_*.log ## ログファイル名。ワイルドカード * と ? をサポートしています。* は複数の任意の文字をマッチングすることを表し、? は単一の任意の文字をマッチングすることを表しますcustomLabels: ## ユーザー定義のmetadatakey: valueexcludeLabels: ## 収集に指定のlabelを含むPodを含めません。workloadとは同時に指定できませんkey2: value2 ## 同一のkey下にある複数のvalue値のpodのマッチングをサポートします。例えばenviroment = production,qaと入力した場合、keyがenviroment、value値がproductionまたはqaの場合はすべて除外されることを表します。複数のvalue値を入力する場合はコンマで区切ることにご注意ください。includeLabelsを同時に指定すると、includeLabelsとの共通部分のpodがマッチしますincludeLabels: ## 指定のlabelを含むPodを収集します。workloadとは同時に指定できませんkey: value1 ## 収集ルールで収集されたログにはmetadataが含まれ、コンシューマー側にレポートされます。同一のkey下にある複数のvalue値のpodのマッチングをサポートします。例えばenviroment = production,qaと入力した場合、keyがenviroment、value値がproductionまたはqaの場合はすべてマッチングされることを表します。複数のvalue値を入力する場合はコンマで区切ることにご注意ください。excludeLabelsを同時に指定すると、excludeLabelsとの共通部分のpodがマッチしますmetadataLabels: ## 具体的にどのpod labelがメタデータとして収集されるかを指定します。指定しない場合はすべてのpod labelがメタデータとして収集されます- label1 ## pod labelworkload:container: xxx ## 収集するコンテナ名。指定しない場合はworkload Pod内のすべてのコンテナを表しますname: sample-app ## workloadの名前hostFile: ## ノードファイルパスfilePattern: '*.log' ## ログファイル名。ワイルドカード * と ? をサポートしています。* は複数の任意の文字をマッチングすることを表し、? は単一の任意の文字をマッチングすることを表しますlogPath: /tmp/logs ## ログフォルダ。ワイルドカードはサポートしていませんcustomLabels: ## ユーザー定義のmetadatalabel1: v1
名前 | タイプ | 入力必須項目 | 説明 |
timeKey | String | いいえ | 時間フィールドのkeyの名前。time_keyとtime_formatは必ず対になります。 |
timeFormat | String | いいえ | 時間フィールドの形式。C言語のstrftime関数の時間形式についての説明を参照してパラメータを出力します。 |
delimiter | String | いいえ | 区切り文字タイプのログの区切り文字。log_typeがdelimiter_logの場合のみ有効です。 |
logRegex | String | いいえ | ログ全体のマッチングルール。log_typeがfullregex_logの場合のみ有効です。 |
beginningRegex | String | いいえ | 行頭のマッチングルール。log_typeがmultiline_logまたはfullregex_logの場合のみ有効です。 |
unMatchUpload | String | いいえ | 解析に失敗したログをアップロードするかどうか。trueはアップロードすること、falseはアップロードしないことを表します。 |
unMatchedKey | String | いいえ | 失敗したログのkey。 |
backtracking | String | いいえ | 増分収集モードでのバックトラッキングデータ量。デフォルトでは-1(全量収集)であり、0は増分を表します。 |
keys | Array of String | いいえ | 取得した各フィールドのkeyの名前。空のkeyはこのフィールドが破棄されたことを表します。log_typeがdelimiter_logの場合のみ有効です。json_logのログはjson自体のkeyを使用します。 |
filterKeys | Array of String | いいえ | フィルタリングしたいログのkey。添え字によってFilterRegexに対応します。 |
filterRegex | Array of String | いいえ | フィルタリングしたいログのkeyに対応するregex。添え字によってFilterKeysに対応します。 |
isGBK | String | いいえ | Gbkエンコードかどうか。0:いいえ、1: はい。 注意:このフィールドは、有効な値が取得できないことを表すnullを返す場合があります。 |
jsonStandard | String | いいえ | 標準jsonかどうか。0:いいえ、1: はい。 注意:このフィールドは、有効な値が取得できないことを表すnullを返す場合があります。 |
kafkaDetail:brokers: x.x.x.x:p ## 入力必須、brokerアドレス。通常はドメイン名:ポートであり、複数のアドレスは「,」で区切りますtopic: test ##kafkaType: CKafka ## kafkaタイプ。CKafka - ckafka、SelfBuildKafka - 自作kafkainstanceId: xxxx ## kafkaType = CKafkaの場合、ckafkaインスタンスidを設定しますlogType: minimalist_log ## kafkaログ解析タイプ。"minimalist_log"または""はシングルライン全文、"multiline_log"はマルチライン全文、"json"はjson形式timestampFormat: xxx ## タイムスタンプの形式。デフォルトではdoubletimestampKey: xxx ## タイムスタンプのkey値。デフォルトでは"@timestamp"metadata:formatType: default ## metatdata形式。 "default"はデフォルト形式(eks kafkaキャプチャと同じ)、"filebeat"はfilebeat形式、"fluent-bit"はfluent-bit形式messageKey: ## 1個のKeyを指定し、ログを指定のパーティションに配信することができます。デフォルトでは無効で、日付によってランダムに送信されます。有効にすると、同様のKeyを持つログは同一のパーティション内に配信されます。PodフィールドをKeyとして選択できます。Pod nameの場合、Field>metadata.nameを選択してくださいvalue: Field ## 入力必須、topicIDvalueFrom:fieldRef:fieldPath: metadata.name ## keyがFieldの場合にmetadata.name、metadata.namespace、spec.nodeName、spec.serviceAccountNameを選択できます
status | 説明 |
ステータスが空 | 初期状態 |
Synced | 収集設定の処理に成功しました |
Stale | 収集設定の処理に失敗しました |
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: "test"spec:clsDetail:.......topicId: xxxxxx-xx-xx-xx-xxxxxxxxinputDetail:containerStdout:allContainers: truenamespace: default,kube-publictype: container_stdout
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: "test"spec:clsDetail:........topicId: xxxxxx-xx-xx-xx-xxxxxxxxinputDetail:containerStdout:allContainers: trueexcludeNamespace: kube-system,kube-node-leasetype: container_stdout
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: "test"spec:clsDetail:......topicId: xxxxxx-xx-xx-xx-xxxxxxxxinputDetail:containerStdout:allContainers: falseworkloads:- container: prodkind: deploymentname: sample-appnamespace: kube-systemtype: container_stdout
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: testspec:clsDetail:......topicId: xxxxxx-xx-xx-xx-xxxxxxxxinputDetail:containerStdout:container: prodexcludeLabels:key2: v2includeLabels:key1: v1namespace: default,kube-systemtype: container_stdout
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: testspec:clsDetail:.......topicId: xxxx-xx-xx-xx-xxxxinputDetail:containerFile:container: prodfilePattern: '*.log'logPath: /tmp/logsnamespace: kube-systemworkload:kind: deploymentname: sample-apptype: container_file
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:name: testspec:clsDetail:.......topicId: xxxx-xx-xx-xx-xxxxinputDetail:containerFile:container: prodfilePattern: '*.log'includeLabels:key1: v1excludeLabels:key2: v2logPath: /tmp/logsnamespace: default,kube-publictype: container_file
apiVersion: cls.cloud.tencent.com/v1kind: LogConfigmetadata:creationTimestamp: "2022-03-13T12:48:49Z"generation: 4name: testresourceVersion: "11729531"selfLink: /apis/cls.cloud.tencent.com/v1/logconfigs/testuid: 233f4b72-cfef-4a43-abb8-e4d033185097spec:clsDetail:.......topicId: xxxx-xx-xx-xx-xxxxinputDetail:hostFile:customLabels:testmetadata: v1filePattern: '*.log'logPath: /var/logstype: host_file
フィードバック