Skip to content

Commit a080924

Browse files
authored
Merge pull request #246 from katzchang/otel-collector-ja
Translated Otel Collector workshop into Japanase
2 parents c59e8a7 + 079b13c commit a080924

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

42 files changed

+4226
-2
lines changed

content/ja/other/_index.md

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,9 @@
11
---
22
archetype: "home"
3-
title: さらなるワークショップ
3+
title: Ninja Workshops
4+
menuPost: " <i class='fa fa-user-ninja'></i>"
45
weight: 19
56
---
67

7-
{{%children containerstyle="div" style="h3" description="true" %}}
8+
{{%children containerstyle="div" style="h5" description="true" %}}
9+
Lines changed: 308 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,308 @@
1+
---
2+
title: OpenTelemetry Collector Contribをインストールする
3+
linkTitle: 1.1 インストールを確認する
4+
weight: 1
5+
---
6+
7+
## Collector が動作していることを確認する
8+
9+
これで、Collector が動いているはずです。root権限で `systemctl` コマンドを使って、それを確かめてみましょう。ステータス表示を中止するには `q` を押してください。
10+
11+
{{< tabs >}}
12+
{{% tab title="Command" %}}
13+
14+
``` bash
15+
sudo systemctl status otelcol-contrib
16+
```
17+
18+
{{% /tab %}}
19+
{{% tab title="Status Output" %}}
20+
21+
``` text
22+
● otelcol-contrib.service - OpenTelemetry Collector Contrib
23+
Loaded: loaded (/lib/systemd/system/otelcol-contrib.service; enabled; vendor preset: enabled)
24+
Active: active (running) since Tue 2023-05-16 08:23:23 UTC; 25s ago
25+
Main PID: 1415 (otelcol-contrib)
26+
Tasks: 5 (limit: 1141)
27+
Memory: 22.2M
28+
CPU: 125ms
29+
CGroup: /system.slice/otelcol-contrib.service
30+
└─1415 /usr/bin/otelcol-contrib --config=/etc/otelcol-contrib/config.yaml
31+
32+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: NumberDataPoints #0
33+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: Data point attributes:
34+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: -> exporter: Str(logging)
35+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: -> service_instance_id: Str(df8a57f4-abdc-46b9-a847-acd62db1001f)
36+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: -> service_name: Str(otelcol-contrib)
37+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: -> service_version: Str(0.75.0)
38+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: StartTimestamp: 2023-05-16 08:23:39.006 +0000 UTC
39+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: Timestamp: 2023-05-16 08:23:39.006 +0000 UTC
40+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: Value: 0.000000
41+
May 16 08:23:39 ip-10-0-9-125 otelcol-contrib[1415]: {"kind": "exporter", "data_type": "metrics", "name": "logging"}
42+
```
43+
44+
{{% /tab %}}
45+
{{< /tabs >}}
46+
47+
このワークショップでは、ここで設定した `otelcol-contrib` のスタンドアローンで動作するバイナリーを使っていきます。サービスを停止して、自動起動を無効化するために、次のコマンドを使ってください:
48+
49+
{{< tabs >}}
50+
{{% tab title="Command" %}}
51+
52+
``` bash
53+
sudo systemctl stop otelcol-contrib
54+
```
55+
56+
{{% /tab %}}
57+
{{< /tabs >}}
58+
59+
{{< tabs >}}
60+
{{% tab title="Command" %}}
61+
62+
``` bash
63+
sudo systemctl disable otelcol-contrib
64+
```
65+
66+
{{% /tab %}}
67+
{{< /tabs >}}
68+
69+
---
70+
71+
{{% expand title="{{% badge style=primary icon=user-ninja %}}**Ninja:** Open Telemetry Collector Builder (ocb) を使って、独自のコレクターを作る {{% /badge %}}" %}}
72+
73+
このパートでは、お使いのシステムに以下のものがインストールされている必要があります:
74+
75+
- Go (latest version)
76+
77+
``` bash
78+
cd /tmp
79+
wget https://golang.org/dl/go1.20.linux-amd64.tar.gz
80+
sudo tar -C /usr/local -xzf go1.20.linux-amd64.tar.gz
81+
```
82+
83+
`.profile` を編集して、次の環境変数をセットします:
84+
85+
``` bash
86+
export GOROOT=/usr/local/go
87+
export GOPATH=$HOME/go
88+
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
89+
```
90+
91+
そして、シェルのセッションを更新します:
92+
93+
``` bash
94+
source ~/.profile
95+
```
96+
97+
Go のバージョンを確認します:
98+
99+
``` bash
100+
go version
101+
```
102+
103+
- ocb のインストール
104+
- ocb バイナリーを [project releases](https://github.com/open-telemetry/opentelemetry-collector/releases/tag/cmd%2Fbuilder%2Fv0.80.0)
105+
からダウンロードして、次のコマンドを実行します:
106+
107+
```bash
108+
mv ocb_0.80.0_darwin_arm64 /usr/bin/ocb
109+
chmod 755 /usr/bin/ocb
110+
```
111+
112+
別のアプローチとして、Go のツールチェーンを使ってバイナリをローカルにビルドする方法もあります:
113+
114+
```bash
115+
go install go.opentelemetry.io/collector/cmd/[email protected]
116+
mv $(go env GOPATH)/bin/builder /usr/bin/ocb
117+
```
118+
119+
- (Optional) Docker
120+
121+
## なぜ独自のコレクターをビルドするの?
122+
123+
コレクターのデフォルトのディストリビューション(core および contrib)は、含まれれるコンポーネントが少なすぎたり、もしくは多すぎたりします。
124+
125+
本番環境で contrib コレクターを実行することはできますが、インストールされているコンポーネントの量が多く、デプロイに必要ではないものも含まれるため、一般的には推奨されません。
126+
127+
## 独自のコレクターをビルドする利点は?
128+
129+
独自のコレクターバイナリー(通常は「ディストリビューション」と呼ばれる)を作成することで、必要なものだけをビルドすることができます。
130+
131+
メリットは次のとおりです:
132+
133+
1. バイナリーのサイズが小さい
134+
2. 一般的な Go の脆弱性スキャナーを利用できる
135+
3. 組織独自のコンポーネントを組み込むことができる
136+
137+
## カスタムコレクターをビルドするときの注意事項は?
138+
139+
さて、これは Ninja ゾーンの人たちにあえて言うことではないかもしれませんが:
140+
141+
1. Go の開発経験を、必須ではないが、推奨される
142+
1. Splunk の **サポートがない**
143+
1. ディストリビューションのライフサイクルを管理しなければならない
144+
145+
プロジェクトは安定性に向けて進んでいますが、行われた変更がワークフローを壊す可能性があることに注意してください。Splunk チームは、より高い安定性とサポートを提供し、デプロイメントニーズに対応するためのキュレーションされた経験を提供しています。
146+
147+
## Ninja ゾーン
148+
149+
必要なツールをすべてインストールしたら、以下のディレクトリ構造に従い、 `otelcol-builder.yaml` という新しいファイルを作成します:
150+
151+
152+
``` bash
153+
.
154+
└── otelcol-builder.yaml
155+
```
156+
157+
ファイルを作成したら、インストールするコンポーネントのリストと追加のメタデータを追加する必要があります。
158+
159+
この例では、導入設定に必要なコンポーネントのみをインストールするためのビルダーマニフェストを作成します:
160+
161+
```yaml
162+
dist:
163+
name: otelcol-ninja
164+
description: A custom build of the Open Telemetry Collector
165+
output_path: ./dist
166+
167+
extensions:
168+
- gomod: go.opentelemetry.io/collector/extension/ballastextension v0.80.0
169+
- gomod: go.opentelemetry.io/collector/extension/zpagesextension v0.80.0
170+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/httpforwarder v0.80.0
171+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/extension/healthcheckextension v0.80.0
172+
173+
exporters:
174+
- gomod: go.opentelemetry.io/collector/exporter/loggingexporter v0.80.0
175+
- gomod: go.opentelemetry.io/collector/exporter/otlpexporter v0.80.0
176+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/splunkhecexporter v0.80.0
177+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/signalfxexporter v0.80.0
178+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/exporter/sapmexporter v0.80.0
179+
180+
processors:
181+
- gomod: go.opentelemetry.io/collector/processor/batchprocessor v0.80.0
182+
- gomod: go.opentelemetry.io/collector/processor/memorylimiterprocessor v0.80.0
183+
184+
receivers:
185+
- gomod: go.opentelemetry.io/collector/receiver/otlpreceiver v0.80.0
186+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/hostmetricsreceiver v0.80.0
187+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/jaegerreceiver v0.80.0
188+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/prometheusreceiver v0.80.0
189+
- gomod: github.com/open-telemetry/opentelemetry-collector-contrib/receiver/zipkinreceiver v0.80.0
190+
```
191+
192+
_ocb_ のためのyamlファイルを作成して更新したら、 次のコマンドを実行します:
193+
194+
```shell
195+
ocb --config=otelcol-builder.yaml
196+
```
197+
198+
すると、次のようなディレクトリ構造が作成されます:
199+
200+
``` text
201+
├── dist
202+
│   ├── components.go
203+
│   ├── components_test.go
204+
│   ├── go.mod
205+
│   ├── go.sum
206+
│   ├── main.go
207+
│   ├── main_others.go
208+
│   ├── main_windows.go
209+
│   └── otelcol-ninja
210+
└── otelcol-builder.yaml
211+
```
212+
213+
### リファレンス
214+
215+
1. [https://opentelemetry.io/docs/collector/custom-collector/](https://opentelemetry.io/docs/collector/custom-collector/)
216+
217+
{{% /expand %}}
218+
219+
---
220+
221+
## デフォルト設定
222+
223+
OpenTelemetry Collector は YAML ファイルを使って設定をしていきます。これらのファイルには、必要に応じて変更できるデフォルト設定が含まれています。提供されているデフォルト設定を見てみましょう:
224+
225+
{{< tabs >}}
226+
{{% tab title="Command" %}}
227+
228+
```bash
229+
cat /etc/otelcol-contrib/config.yaml
230+
```
231+
232+
{{% /tab %}}
233+
{{% tab title="config.yaml" %}}
234+
235+
```yaml { lineNos="table" wrap="true"}
236+
extensions:
237+
health_check:
238+
pprof:
239+
endpoint: 0.0.0.0:1777
240+
zpages:
241+
endpoint: 0.0.0.0:55679
242+
243+
receivers:
244+
otlp:
245+
protocols:
246+
grpc:
247+
http:
248+
249+
opencensus:
250+
251+
# Collect own metrics
252+
prometheus:
253+
config:
254+
scrape_configs:
255+
- job_name: 'otel-collector'
256+
scrape_interval: 10s
257+
static_configs:
258+
- targets: ['0.0.0.0:8888']
259+
260+
jaeger:
261+
protocols:
262+
grpc:
263+
thrift_binary:
264+
thrift_compact:
265+
thrift_http:
266+
267+
zipkin:
268+
269+
processors:
270+
batch:
271+
272+
exporters:
273+
logging:
274+
verbosity: detailed
275+
276+
service:
277+
278+
pipelines:
279+
280+
traces:
281+
receivers: [otlp, opencensus, jaeger, zipkin]
282+
processors: [batch]
283+
exporters: [logging]
284+
285+
metrics:
286+
receivers: [otlp, opencensus, prometheus]
287+
processors: [batch]
288+
exporters: [logging]
289+
290+
extensions: [health_check, pprof, zpages]
291+
```
292+
293+
{{% /tab %}}
294+
{{< /tabs >}}
295+
296+
おめでとうございます!OpenTelemetry Collector のダウンロードとインストールに成功しました。あなたは OTel Ninja になる準備ができました。しかしまずは、設定ファイルと OpenTelemetry Collector の異なるディストリビューションについて見ていきましょう。
297+
298+
{{% notice style="note" %}}
299+
300+
Splunk は、自社で完全にサポートされた OpenTelemetry Collector のディストリビューションを提供しています。このディストリビューションは、[Splunk GitHub Repository](https://github.com/signalfx/splunk-otel-collector) からインストールするか、Splunk Observability Cloud のウィザードを使用して、簡単なインストールスクリプトを作成し、コピー&ペーストすることで利用できます。このディストリビューションには、OpenTelemetry Collector Contrib ディストリビューションにはない追加機能や強化が含まれています。
301+
302+
- Splunk の OpenTelemetry Collector ディストリビューションは本番環境でテスト済みであり、多くの顧客が本番環境で使用しています。
303+
- このディストリビューションを使用する顧客は、公式の Splunk サポートから、SLA の範囲内で直接支援を受けることができます。
304+
- メトリクスとトレース収集のコア構成体験に将来的な破壊的変更がないことを心配せずに、Splunk の OpenTelemetry Collector ディストリビューションを使用または移行することができます(OpenTelemetry ログ収集の設定はベータ版です)。Collector 自身のメトリクスに破壊的変更がある可能性はあります。
305+
306+
{{% /notice %}}
307+
308+
このセクションでは、ホストメトリクスを Splunk Observability Cloud に送信するために、設定ファイルの各セクションを詳しく見ていき、変更する方法について説明します。
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
---
2+
title: OpenTelemetry Collector Contrib をインストールする
3+
linkTitle: 1. インストール
4+
weight: 1
5+
---
6+
7+
## OpenTelemetry Collector の Contrib ディストリビューションをダウンロードする
8+
9+
OpenTelemetry Collector のインストールのために、まずはダウンロードするのが最初のステップです。このラボでは、 `wget` コマンドを使って OpenTelemetry の GitHub リポジトリから `.deb` パッケージをダウンロードしていきます。
10+
11+
[OpenTelemetry Collector Contrib releases page](https://github.com/open-telemetry/opentelemetry-collector-releases/releases)
12+
から、ご利用のプラットフォーム用の `.deb` パッケージを入手してください。
13+
14+
``` bash
15+
wget https://github.com/open-telemetry/opentelemetry-collector-releases/releases/download/v0.80.0/otelcol-contrib_0.80.0_linux_amd64.deb
16+
```
17+
18+
## OpenTelemetry Collector の Contrib ディストリビューションをインストールする
19+
20+
`dpkg` を使って、 `.deb` パッケージをインストールします。下記の **dpkg Output** のようになれば、インストールは成功です!
21+
22+
{{< tabs >}}
23+
{{% tab title="Install" %}}
24+
25+
``` bash
26+
sudo dpkg -i otelcol-contrib_0.80.0_linux_amd64.deb
27+
```
28+
29+
{{% /tab %}}
30+
{{% tab title="dpkg Output" %}}
31+
32+
``` text
33+
Selecting previously unselected package otelcol-contrib.
34+
(Reading database ... 64218 files and directories currently installed.)
35+
Preparing to unpack otelcol-contrib_0.75.0_linux_amd64.deb ...
36+
Unpacking otelcol-contrib (0.75.0) ...
37+
Setting up otelcol-contrib (0.75.0) ...
38+
Created symlink /etc/systemd/system/multi-user.target.wants/otelcol-contrib.service → /lib/systemd/system/otelcol-contrib.service.
39+
```
40+
41+
{{% /tab %}}
42+
{{< /tabs >}}

0 commit comments

Comments
 (0)