docs: Add syslog drainer documentation#569
docs: Add syslog drainer documentation#569analytically wants to merge 1 commit intoconcourse:masterfrom
Conversation
Document configuration and usage of the syslog drainer for forwarding build logs to external syslog servers via TCP, UDP, or TLS transport. Fixes concourse#488 Signed-off-by: Mathias Bogaert <mathias.bogaert@gmail.com>
| --syslog-ca-cert /etc/concourse/ca-cert2.pem | ||
| }}} | ||
|
|
||
| Environment variable: \code{CONCOURSE_SYSLOG_CA_CERT} (can be specified multiple times) |
There was a problem hiding this comment.
Env vars can't be specified multiple times. When using the env vars users need to pass in a comma separated list of file paths.
CONCOURSE_SYSLOG_CA_CERT=/etc/concourse/ca-cert1.pem,/etc/concourse/ca-cert2.pem
Example of this: https://concourse-ci.org/concourse-worker.html#pointing-to-external-dns-servers
| # Verify the component is configured (look for ComponentSyslogDrainer) | ||
| curl http://web-node:8080/api/v1/info |
There was a problem hiding this comment.
LLM hallucination? Internal components are not listed in the info endpoint. See:
- https://github.com/concourse/concourse/blob/750ce8b641a756fb26caa1571d91f8e0955f2ab8/atc/api/infoserver/info.go#L14-L19
- https://github.com/concourse/concourse/blob/750ce8b641a756fb26caa1571d91f8e0955f2ab8/atc/info.go
- https://github.com/concourse/concourse/blob/750ce8b641a756fb26caa1571d91f8e0955f2ab8/atc/feature_flags.go
| \section{ | ||
| \title{BOSH Deployment} | ||
|
|
||
| For BOSH deployments, configure in your deployment manifest: | ||
|
|
||
| \codeblock{yaml}{{{ | ||
| instance_groups: | ||
| - name: web | ||
| jobs: | ||
| - name: web | ||
| properties: | ||
| syslog: | ||
| address: syslog.example.com:514 | ||
| transport: tcp | ||
| hostname: concourse-prod | ||
| drain_interval: 30s | ||
| ca_certs: | ||
| - | | ||
| -----BEGIN CERTIFICATE----- | ||
| MIIDQTCCAimgAwIBAgITBmyfz... | ||
| -----END CERTIFICATE----- | ||
| }}} | ||
| } |
There was a problem hiding this comment.
The docs as they currently are, avoid packaging specific instructions for both the Bosh release and Helm chart. Also kinda weird that you added steps for Bosh but not Helm. I'd remove this section.
| \section{ | |
| \title{BOSH Deployment} | |
| For BOSH deployments, configure in your deployment manifest: | |
| \codeblock{yaml}{{{ | |
| instance_groups: | |
| - name: web | |
| jobs: | |
| - name: web | |
| properties: | |
| syslog: | |
| address: syslog.example.com:514 | |
| transport: tcp | |
| hostname: concourse-prod | |
| drain_interval: 30s | |
| ca_certs: | |
| - | | |
| -----BEGIN CERTIFICATE----- | |
| MIIDQTCCAimgAwIBAgITBmyfz... | |
| -----END CERTIFICATE----- | |
| }}} | |
| } |
| Monitor the syslog drainer through: | ||
|
|
||
| \list{ | ||
| \bold{Web logs} - Look for \code{syslog.drainer} log entries for errors |
There was a problem hiding this comment.
Looking at the code, I don't think the built-up logger would emit as syslog.drainer. The base name syslog is right (see), but I think the drainer part would actually be drain-build based on this line further down in the same file.
| \bold{Web logs} - Look for \code{syslog.drainer} log entries for errors | |
| \bold{Web logs} - Look for \code{syslog.drain} log entries for errors |
There was a problem hiding this comment.
Maybe the LLM was looking here? https://github.com/concourse/concourse/blob/750ce8b641a756fb26caa1571d91f8e0955f2ab8/atc/atccmd/command.go#L804-L807
Even then, it looks like the component name ends up as drainer-drainer (1, 2)
So in the logs the full string for this component might be drainer.drain.syslog.drain-build 😕
Anyways, definitely doesn't look like syslog.drainer would ever be found in the logs, unless I'm reading the code wrong, which is very possible! The way the logger builds up is stretched over many files 😅
Document configuration and usage of the syslog drainer for forwarding build logs to external syslog servers via TCP, UDP, or TLS transport.
Fixes #488