データソースタイプ | ログソース | アクセスシナリオ | 関連ドキュメント |
ホストログ | Linux/Unixホストファイルログ | LogListenerを使用してアプリケーションおよびシステムファイルのログを収集します。Tencent Cloud CVM、自社構築IDC、およびその他のクラウドプロバイダーのサーバーに適用されます。 | |
| Windowsホストファイルログ | LogListener Windows版を使用してテキストログを収集します。 | |
| Windowsイベントログ | LogListener Windows版を使用して、Application、System、Securityなどのイベントチャネルログを収集します。 | |
| ネットワークデバイスおよびサーバーのSyslog | LogListenerを使用してTCPまたはUDPポートを監視し、Syslogログを収集・解析します。 | |
コンテナログ | Tencent Cloud TKEクラスタ | コンテナの標準出力、コンテナファイル、ノードファイルのログを収集し、Pod、Namespace、Containerなどのメタデータに関連付けます。 | |
| 自社構築または他クラウドのKubernetesクラスタ | クラスタにLogListenerをデプロイし、コンテナの標準出力およびコンテナファイルのログを収集します。 | |
クライアントログ | Android、iOS、HarmonyOS、Flutter | 対応するクライアントSDKを使用してアプリケーションログを収集・アップロードします。 | |
| Webページ、WeChatミニプログラム | ブラウザまたはミニアプリのJavaScript SDKを使用してログをアップロードします。認証不要のシナリオでは匿名ログアップロードを使用できます。 | |
アプリケーションログ | アプリケーションが生成する構造化ログ | CLS SDKまたはAPIを使用して、構造化ログをCLSに直接アップロードします。 | |
| Java Logback、Log4jログ | Appenderを使用してログを直接アップロードします。非同期送信、キャッシュ、失敗時の再試行をサポートします。 | |
| OpenTelemetry Log | 標準のOTLP/HTTP Exporterを使用してログをCLSに報告します。CLS専用SDKを導入する必要はありません。 | |
オープンソース収集コンポーネント | Filebeat、Winlogbeat、Logstash、Fluentd、Fluent Bit | 既存コンポーネントの出力設定を変更し、Kafkaプロトコルを使用してログをCLSにアップロードします。 | |
メッセージキュー | アプリケーションはKafka Producerを使用して直接報告します。 | CLSをKafka Producerの宛先として設定し、Kafkaプロトコルを介してログをアップロードします。 | |
| 自社構築KafkaまたはTencent Cloud CKafka内の既存ログ | CLSが指定されたKafka Topicを能動的にサブスクライブして消費するため、既存のプロデューサー側を変更する必要はありません。 | |
専用データソース | Nginxアクセスログ | プリセットのNginx収集・解析ソリューションを使用してアクセスログを取り込みます。 | |
| MySQL BinLog | LogListenerを使用してMySQLバイナリログを収集します。データ変更のクエリ、分析、監査に適しています。 | |
クラウド製品ログ | Tencent Cloud製品ログ | クラウド製品コンソールまたはCLSクラウド製品ログ取り込み機能を通じて、ネイティブ取り込みを完了します。 | |
データインポート | Tencent Cloud COS | COS内のログファイルをCLSにインポートします。一度きりのインポートまたは継続的なバッチインポートをサポートします。 | |
| AWS S3 | AWS S3バケット内のログファイルをCLSにインポートします。 | |
| Elasticsearch | Elasticsearch内の履歴データのインポートをサポートし、新規データの継続的なインポートもサポートします。 | |
10.20.20.10;[Tue Jan 22 14:49:45 CST 2019 +0800];GET /online/sample HTTP/1.1;127.0.0.1;200;647;35;http://127.0.0.1/
;セミコロンを区切り文字として使用すると、このログを複数のフィールドグループに解析できます。各フィールドグループはkey-valueキー値ペアの形式で構成され、各keyにキー名を定義します。以下に示します:IP: 10.20.20.10time: [Tue Jan 22 14:49:45 CST 2019 +0800]request: GET /online/sample HTTP/1.1host: 127.0.0.1status: 200length: 647bytes: 35referer: http://127.0.0.1/
Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64
__CONTENT__:Tue Jan 22 12:08:15 CST 2019 Installed: libjpeg-turbo-static-1.2.90-6.el7.x86_64
2019-12-15 17:13:06,043 [main] ERROR com.test.logging.FooFactory:java.lang.NullPointerExceptionat com.test.logging.FooFactory.createFoo(FooFactory.java:15)at com.test.logging.FooFactoryTest.test(FooFactoryTest.java:11)
\\d{4}-\\d{2}-\\d{2}\\s\\d{2}:\\d{2}:\\d{2},\\d{3}\\s.+
__CONTENT__:2019-12-15 17:13:06,043 [main] ERROR com.test.logging.FooFactory:\\njava.lang.NullPointerException\\n at com.test.logging.FooFactory.createFoo(FooFactory.java:15)\\n at com.test.logging.FooFactoryTest.test(FooFactoryTest.java:11)
10.135.46.111 - - [22/Jan/2019:19:19:30 +0800] "GET /my/course/1 HTTP/1.1" 127.0.0.1 200 782 9703 "http://127.0.0.1/course/explore?filter%5Btype%5D=all&filter%5Bprice%5D=all&filter%5BcurrentLevelId%5D=all&orderBy=studentNum" "Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0" 0.354 0.354
(\\S+)[^\\[]+(\\[[^:]+:\\d+:\\d+:\\d+\\s\\S+)\\s"(\\w+)\\s(\\S+)\\s([^"]+)"\\s(\\S+)\\s(\\d+)\\s(\\d+)\\s(\\d+)\\s"([^"]+)"\\s"([^"]+)"\\s+(\\S+)\\s(\\S+).*
body_bytes_sent: 9703http_host: 127.0.0.1http_protocol: HTTP/1.1http_referer: http://127.0.0.1/course/explore?filter%5Btype%5D=all&filter%5Bprice%5D=all&filter%5BcurrentLevelId%5D=all&orderBy=studentNumhttp_user_agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0remote_addr: 10.135.46.111request_length: 782request_method: GETrequest_time: 0.354request_url: /my/course/1status: 200time_local: [22/Jan/2019:19:19:30 +0800]upstream_response_time: 0.354
[2018-10-01T10:30:01,000] [INFO] java.lang.Exception: exception happenedat TestPrintStackTrace.f(TestPrintStackTrace.java:3)at TestPrintStackTrace.g(TestPrintStackTrace.java:7)at TestPrintStackTrace.main(TestPrintStackTrace.java:16)
\\[\\d+-\\d+-\\w+:\\d+:\\d+,\\d+]\\s\\[\\w+]\\s.*
\\[(\\d+-\\d+-\\w+:\\d+:\\d+,\\d+)\\]\\s\\[(\\w+)\\]\\s(.*)
()キャプチャグループに基づいて対応するkey-valueを抽出した後、各グループのkey名を以下のようにカスタマイズできます:time: 2018-10-01T10:30:01,000`level: INFO`msg:java.lang.Exception: exception happenedat TestPrintStackTrace.f(TestPrintStackTrace.java:3)at TestPrintStackTrace.g(TestPrintStackTrace.java:7)at TestPrintStackTrace.main(TestPrintStackTrace.java:16)
{"remote_ip":"10.135.46.111","time_local":"22/Jan/2019:19:19:34 +0800","body_sent":23,"responsetime":0.232,"upstreamtime":"0.232","upstreamhost":"unix:/tmp/php-cgi.sock","http_host":"127.0.0.1","method":"POST","url":"/event/dispatch","request":"POST /event/dispatch HTTP/1.1","xff":"-","referer":"http://127.0.0.1/my/course/4","agent":"Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0","response_code":"200"}
agent: Mozilla/5.0 (Windows NT 10.0; WOW64; rv:64.0) Gecko/20100101 Firefox/64.0body_sent: 23http_host: 127.0.0.1method: POSTreferer: http://127.0.0.1/my/course/4remote_ip: 10.135.46.111request: POST /event/dispatch HTTP/1.1response_code: 200responsetime: 0.232time_local: 22/Jan/2019:19:19:34 +0800upstreamhost: unix:/tmp/php-cgi.sockupstreamtime: 0.232url: /event/dispatchxff: -
10.20.20.10 - ::: [Tue Jan 22 14:49:45 CST 2019 +0800] ::: GET /online/sample HTTP/1.1 ::: 127.0.0.1 ::: 200 ::: 647 ::: 35 ::: http://127.0.0.1/
:::に指定すると、このログは8つのフィールドに分割され、これら8つのフィールドに一意のkeyが定義されます。以下に示します:IP: 10.20.20.10 -bytes: 35host: 127.0.0.1length: 647referer: http://127.0.0.1/request: GET /online/sample HTTP/1.1status: 200time: [Tue Jan 22 14:49:45 CST 2019 +0800]
1571394459、http://127.0.0.1/my/course/4|10.135.46.111|200、status:DEAD,
{"processors": [{"type": "processor_split_delimiter","detail": {"Delimiter": ",","ExtractKeys": [ "time", "msg1","msg2"]},"processors": [{"type": "processor_timeformat","detail": {"KeepSource": true,"TimeFormat": "%s","SourceKey": "time"}},{"type": "processor_split_delimiter","detail": {"KeepSource": false,"Delimiter": "|","SourceKey": "msg1","ExtractKeys": [ "submsg1","submsg2","submsg3"]},"processors": []},{"type": "processor_split_key_value","detail": {"KeepSource": false,"Delimiter": ":","SourceKey": "msg2"}}]}]}
time: 1571394459submsg1: http://127.0.0.1/my/course/4submsg2: 10.135.46.111submsg3: 200status: DEAD
111.121.0.1 - - [06/Aug/2019:12:12:19 +0800] "GET /nginx-logo.png HTTP/1.1" 200 368 "http://119.x.x.x/" "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36" "-"
log_format main '$remote_addr - $remote_user [$time_local] ''"$request" $status $body_bytes_sent ''"$http_referer" "$http_user_agent"';
(\\S+)\\s*-\\s*(\\S+)\\s*\\[(\\d+\\S+\\d+:\\d+:\\d+:\\d+)\\s+\\S+\\]\\s*\\"(\\S+)\\s+(\\S+)\\s+\\S+\\"\\s*(\\S+)\\s*(\\S+)\\s*\\"([^"]*)\\"\\s*\\"([^"]*)\\".*
remote_addr: 111.121.0.1remote_user: -time_local: 06/Aug/2019:12:12:19request_method: GETrequest_uri: /nginx-logo.pngstatus: 200body_bytes_sent: 368http_referer: http://119.x.x.x/http_user_agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10_14_5) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/75.0.3770.142 Safari/537.36
フィードバック