Dispatch Logging in Kibana
In Konvoy clusters, logs from Dispatch components and tasks can be found in Kibana.
Dispatch Component logs
The Dispatch CLI supports viewing the logs of the Pipelines Controller and Event Sink components.
To view the logs for pipelines-controller
:
dispatch debug pipelines-controller
Log levels can be adjusted by setting them in Deployment object for controller. Controller output is structured by default and contains information about the pipeline launches.
To view the logs for event-sink
(which is responsible for listening and processing Git repo events):
dispatch debug event-sink
In order to view the Dispatch component logs from Kibana UI, query syntax can be used. For example:
- To view
event-sink
pod logs:
{
"query": {
"match": {
"kubernetes.labels.component": {
"query": "event-sink",
"type": "phrase"
}
}
}
}
- To view the
repository-controller
pod logs:
{
"query": {
"match": {
"kubernetes.labels.component": {
"query": "repository-controller",
"type": "phrase"
}
}
}
}
Component logs can be filtered by the following labels:
Label | Example Value |
---|---|
kubernetes.annotations.cni_projectcalico_org/podIP | 192.168.70.76/32 |
kubernetes.container_name | repository-controller |
kubernetes.docker_id | 8d2e195a4487afa384e47b98ec27fb7b2c12c3431980ed71563fd0802543508e |
kubernetes.host | ip-10-0-131-65.us-west-2.compute.internal |
kubernetes.labels.component | repository-controller |
kubernetes.labels.pod-template-hash | 6c6f675c9c |
kubernetes.namespace_name | dispatch |
kubernetes.pod_id | 0c84769a-25aa-497b-ba16-986969a694af |
kubernetes.pod_name | dispatch-kubeaddons-repository-controller-6c6f675c9c-dqs7n |
message | 2019-11-21T14:28:07.128Z DEBUG controller-runtime.controller Successfully Reconciled |
stream | stderr |
Dispatch pipeline and task logs
Using the CLI to view the logs
In order to list pipeline runs:
dispatch ci list pipelineruns
The above command accepts an optional namespace
flag to print pipelines from a specific namespace.
To list the tasks in a pipeline run (also prints the status of the task):
dispatch ci list tasks --pipelinerun <pipelineRunId>
Both the above commands accept --json
flag for emitting JSON output for automation purposes
To view the logs of a task in a pipeline (or the pipeline logs if the pipeline is still active):
dispatch ci logs --pipelinerun <pipelineRunId> --task <taskName>
Using the Kibana dashboard to view the logs
You can also view the task logs for individual tasks and pipelines in Kibana. For example:
If you have CI configured for a repository called cicd-hello-world
under the
your-user
GitHub account, and you create a PR from a branch called
modify-readme
, you can find the output generated by the build
task using the
following query:
{
"query": {
"bool": {
"must": [
{
"match_all": {}
},
{
"match_phrase": {
"kubernetes.labels.build": {
"query": "modify-readme"
}
}
},
{
"match_phrase": {
"kubernetes.labels.tekton_dev/task": {
"query": "build"
}
}
},
{
"match_phrase": {
"kubernetes.labels.owner": {
"query": "your-user"
}
}
},
{
"match_phrase": {
"kubernetes.labels.repository": {
"query": "cicd-hello-world"
}
}
}
]
}
}
}
Task logs are annotated with the following labels, which can all be queried in Kibana:
Label | Example Value |
---|---|
kubernetes.annotations.cni_projectcalico_org/podIP | 192.168.36.91/32 |
kubernetes.annotations.tasks | test,build |
kubernetes.annotations.tekton_dev/ready | READY |
kubernetes.container_name | step-build-and-push |
kubernetes.docker_id | c7561c4dc2425703e743d02d33b04acd21da32c2c479ef2dfd10aa9a64e14c36 |
kubernetes.host | ip-10-0-131-119.us-west-2.compute.internal |
kubernetes.labels.app_kubernetes_io/managed-by | tekton-pipelines |
kubernetes.labels.build | gpaul-patch-2 |
kubernetes.labels.commit | ca9249b5645808228928b83269676f42f2b19d9 |
kubernetes.labels.owner gpaul | |
kubernetes.labels.repository | cicd-hello-world |
kubernetes.labels.tekton_dev/pipeline | gpaul-cicd-hello-world-gpaul-patch-2-cca9249-rpqsv |
kubernetes.labels.tekton_dev/pipelineRun | gpaul-cicd-hello-world-gpaul-patch-2-cca9249-rpqsv |
kubernetes.labels.tekton_dev/pipelineTask | build |
kubernetes.labels.tekton_dev/task | build-hxskm |
kubernetes.labels.tekton_dev/taskRun | gpaul-cicd-hello-world-gpaul-patch-2-cca9249-rpqsv-build-lg9wm |
kubernetes.namespace_name | dispatch |
kubernetes.pod_id | d867bc76-1121-42ca-a53f-a1806b132513 |
kubernetes.pod_name | gpaul-cicd-hello-world-gpaul-patch-2-cca9249-rpqsv-build-lg9wm-pod-dfedbc |
message | some line of output generated by the build |
stream | stderr |