Datakit Operator¶
前提条件¶
- Kubernetes v1.24.1 以上を使用し、インターネットにアクセス可能であること(yaml ファイルのダウンロードおよび対応するイメージのプルが可能であること)。
- MutatingAdmissionWebhook および ValidatingAdmissionWebhook コントローラーが有効になっていることを確認してください。
- admissionregistration.k8s.io/v1 API が有効になっていることを確認してください。
DataKit Agent のインストール¶
DataKit は、システムやアプリケーションから収集したトレースデータを受信するために使用されます。あらかじめKubernetes 環境に DataKit Agent をインストールしておいてください。
インストール時に、DDTrace コレクターを同時に有効にすることができます。
DDTrace コレクターを有効にする¶
datakit.yaml ファイルを変更し、デフォルトで有効になっているコレクターの設定に ddtrace を追加します。
- name: ENV_DEFAULT_ENABLED_INPUTS
value: cpu,disk,diskio,mem,swap,system,hostobject,net,host_processes,container,ddtrace
アプリケーションを再起動します。
DataKit Operator のインストール¶
Datakit Operator は、アプリケーションやサービスのデプロイを自動化し、DDTrace SDK を自動注入して、起動時にそれらを計測することができます。
- 最新の datakit-operator.yaml ファイルをダウンロードします
$ kubectl create namespace datakit
$ wget https://static.guance.com/datakit-operator/datakit-operator.yaml
2. 設定ファイルを更新します
{
"server_listen": "0.0.0.0:9543",
"log_level": "info",
"admission_inject": {
"ddtrace": {
"enabled_namespaces": [],
"enabled_labelselectors": [],
"images": {
"java_agent_image": "pubrepo.guance.com/datakit-operator/dd-lib-java-init:latest"
},
"envs": {
"DD_JMXFETCH_STATSD_HOST": "datakit-service.datakit.svc",
"DD_JMXFETCH_STATSD_PORT": "8125",
"POD_NAME": "{fieldRef:metadata.name}",
"POD_NAMESPACE": "{fieldRef:metadata.namespace}",
"NODE_NAME": "{fieldRef:spec.nodeName}",
"DD_SERVICE": "{fieldRef:metadata.labels['service']}",
"DD_AGENT_HOST": "datakit-service.datakit.svc",
"DD_TRACE_AGENT_PORT": "9529",
"DD_TAGS": "pod_name:$(POD_NAME),pod_namespace:$(POD_NAMESPACE),host:$(NODE_NAME)"
}
},
"logfwd": {
"options": {
"reuse_exist_volume": "false"
},
"images": {
"logfwd_image": "pubrepo.guance.com/datakit/logfwd:1.28.1"
}
}
}
}
画面上で、以下のパラメーターを直接変更できます。
- Service
- Env
- 以下の項目を有効にするかどうかを選択します。
- カスタム DataKit リスニングアドレス
- プロファイリングデータの収集:有効にすると、アプリケーションのランタイムに関する詳細情報を確認できます
namespacesの設定selectorsの設定
3. インストールコマンドを実行します
アプリケーションを再起動する¶
インストールが完了したら、アプリケーションの Pod を再起動してください。