Install Datakit Operator¶
Concepts¶
Field | Description |
---|---|
namespaces , selectors |
enabled_namespaces and enabled_labelselectors are exclusive to ddtrace. They are arrays of objects that require specifying namespace and language . The arrays have an "OR" relationship. Currently, only java is supported as the language.If a Pod satisfies both enabled_namespaces and enabled_labelselectors , the enabled_labelselectors configuration takes precedence. |
Enable DDTrace Collector¶
Modify the datakit.yaml file and append DDTrace to the default enabled collectors.
- name: ENV_DEFAULT_ENABLED_INPUTS
value: cpu,disk,diskio,mem,swap,system,hostobject,net,host_processes,container,ddtrace
Restart the application:
Install DataKit Operator¶
Datakit Operator can automate the deployment of applications and services, automatically inject DDTrace SDK, and instrument them upon startup.
Click to download the latest datakit-operator.yaml
file:
$ kubectl create namespace datakit
$ wget https://static.truewatch.com/datakit-operator/datakit-operator.yaml
Update Configuration File¶
Datakit Operator configuration is in JSON format, stored separately in Kubernetes as a ConfigMap, and loaded into the container as environment variables.
{
"server_listen": "0.0.0.0:9543",
"log_level": "info",
"admission_inject": {
"ddtrace": {
"enabled_namespaces": [],
"enabled_labelselectors": [],
"images": {
"java_agent_image": "pubrepo.truewatch.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.truewatch.com/datakit/logfwd:1.28.1"
}
}
}
}
Parameter Configuration:
service
: Service name;env
: Environment information of the application service;- Custom DataKit listening address, if not set, follows the default address;
- Collect Profiling data: Enabling this allows viewing more runtime information of the application;
- Configure
namespaces
; - Configure
selectors
.
Execute Installation Command¶
Restart Application¶
After installation, restart the application Pod.