- 重要な情報
- はじめに
- 用語集
- ガイド
- エージェント
- インテグレーション
- OpenTelemetry
- 開発者
- API
- CoScreen
- アプリ内
- Service Management
- インフラストラクチャー
- アプリケーションパフォーマンス
- 継続的インテグレーション
- ログ管理
- セキュリティ
- UX モニタリング
- 管理
観測可能性パイプラインワーカーの構成は、ログ、メトリクス、トレースを収集し、変換し、任意のソースから任意の宛先にルーティングすることができます。コンフィギュレーションファイルは、YAML、TOML、JSON をサポートします。主な構成要素は、ソース、トランスフォーム、シンクの 3 つです。
ソースコンポーネントは、観測可能性パイプラインワーカーが可観測性データソースからどのようにデータを収集し、または受信するかを定義します。
YAML コンフィギュレーションファイルを作成し、以下のソースの例を追加します。
sources:
generate_syslog:
type: demo_logs
format: syslog
count: 100
[sources.generate_syslog]
type = "demo_logs"
format = "syslog"
count = 100
"sources": {
"generate_syslog": {
"type": "demo_logs",
"format": "syslog",
"count": 100
}
}
この source
コンポーネントは generate_syslog
という一意の ID を持っています。こ一意の ID は sink
コンポーネントでデータを変換してルーティングする際に重要です。
type
は、観測可能性パイプラインワーカーが観測可能性データを収集するソースの種類です。この例では demo_logs
ソースを使用しています。このソースは、さまざまな形式のイベントの種類をシミュレートできるように、サンプルログデータを作成します。format
オプションは demo_logs
ソースに対して、どのタイプのログを出力するかを指定します (この場合、Syslog フォーマット)。count
オプションは demo_logs
ソースに対して、何行のログを出力するかを指定します。
サポートされているすべてのソースは、ソースドキュメントをご覧ください。
次の例を使用して、demo_logs
ソースから収集したデータを操作するトランスフォームコンポーネントを定義します。
transforms:
remap_syslog:
inputs:
- generate_syslog
type: remap
source: |2
structured = parse_syslog!(.message)
. = merge(., structured)
[transforms.remap_syslog]
inputs = ["generate_syslog" ]
type = "remap"
source = '''
structured = parse_syslog!(.message)
. = merge(., structured)
'''
"transforms": {
"remap_syslog": {
"inputs": [
"generate_syslog"
],
"type": "remap",
"source": " structured = parse_syslog!(.message)\n . = merge(., structured)\n"
}
}
この transforms.remap_syslog
コンポーネントでは、inputs
オプションが generate_syslog
に設定されており、先に定義した generate_syslog
ソースからイベントを受信することになります。このトランスフォームのコンポーネントタイプは remap
です。
source
には、観測可能性パイプラインワーカーが受け取る各イベントに適用する再マッピング変換のリストが含まれています。この例では、parse_syslog
という 1 つの処理のみを実行していますが、複数の処理を追加することもできます。
parse_syslog
関数は message
という単一のフィールドを受け取ります。このフィールドには、generate_syslog
ソースで生成された Syslog イベントが格納されています。この関数は Syslog フォーマットのメッセージの内容をパースして、構造化イベントとして出力します。
この変換例は、ログ、メトリクス、およびトレースを形成し変換するための観測可能性パイプラインワーカーの能力のほんの一部を紹介するものです。サンプリング、フィルター、リッチ化など、サポートされているすべての変換については、トランスフォームのドキュメントを参照してください。
transform
コンポーネントでパースされたデータを、次のシンクの例を使って、宛先にルーティングします。
sinks:
emit_syslog:
inputs:
- remap_syslog
type: console
encoding:
codec: json
[sinks.emit_syslog]
inputs = [ "remap_syslog" ]
type = "console"
[sinks.emit_syslog.encoding]
codec = "json"
"sinks": {
"emit_syslog": {
"inputs": [
"remap_syslog"
],
"type": "console",
"encoding": {
"codec": "json"
}
}
}
この sink
(または宛先) コンポーネントは emit_syslog
という ID を持ちます。inputs
オプションは、remap_syslog
トランスフォームによって生成されたイベントをこのシンクで処理することを指定します。encoding
オプションは、イベントを JSON フォーマットで出力するようにシンクに指示します。
サポートされているすべてのシンクについては、シンクのドキュメントを参照してください。
ソース、トランスフォーム、シンクの 3 つの基本コンポーネントが揃えば、これで観測可能性パイプラインのコンフィギュレーションファイルは完成です。
sources:
generate_syslog:
type: demo_logs
format: syslog
count: 100
transforms:
remap_syslog:
inputs:
- generate_syslog
type: remap
source: |2
structured = parse_syslog!(.message)
. = merge(., structured)
sinks:
emit_syslog:
inputs:
- remap_syslog
type: console
encoding:
codec: json
[sources.generate_syslog]
type = "demo_logs"
format = "syslog"
count = 100
[transforms.remap_syslog]
inputs = [ "generate_syslog" ]
type = "remap"
source = '''
structured = parse_syslog!(.message)
. = merge(., structured)
'''
[sinks.emit_syslog]
inputs = [ "remap_syslog" ]
type = "console"
[sinks.emit_syslog.encoding]
codec = "json"
{
"sources": {
"generate_syslog": {
"type": "demo_logs",
"format": "syslog",
"count": 100
}
},
"transforms": {
"remap_syslog": {
"inputs": [
"generate_syslog"
],
"type": "remap",
"source": " structured = parse_syslog!(.message)\n . = merge(., structured)\n"
}
},
"sinks": {
"emit_syslog": {
"inputs": [
"remap_syslog"
],
"type": "console",
"encoding": {
"codec": "json"
}
}
}
}
この構成をコンパイルして実行するには、以下のコマンドを実行します。
vector --config ./<configuration_filename>
設定に成功すると、パースされたデモログが JSON 形式で出力されます。
お役に立つドキュメント、リンクや記事: