Description
The health and status of your CloudBees CD (CloudBees Flow) installation is recorded in log files that often remain hidden in the CloudBees CD (CloudBees Flow) (Commander) directory structure. This article provides a reference for locations and characteristics of these log files. The where/how/why/what for log files.
Default Installation Directories
You can change the installation directories if you need to do so.
1 . Kubernetes:
$ kubectl get pods -n cloudbees-cd | grep flow-server flow-server-588557cfbb-4kndx 1/1 Running 0 5m46s $ kubectl cp -n cloudbees-cd flow-server-588557cfbb-4kndx:/opt/cbflow/logs ./cd-server-logs
2 . Linux/UNIX/Mac:
``` /opt/cloudbees/sda (CloudBees CD v10.1 and up) /opt/electriccloud/electriccommander (Earlier versions) ```
3 . Windows:
``` C:\ProgramData\CloudBees\Software Delivery Automation (CloudBees CD v10.1 and up) C:\Program Files\Electric Cloud\ElectricCommander (Earlier versions) ```
-
Defaults for Windows data (database, logs, configuration files):
-
for Windows XP, 2003
C:\Documents and Settings\All Users\Application Data\Electric Cloud\ElectricCommander
-
for Windows Vista, 2008, Windows 7
C:\ProgramData\CloudBees\Software Delivery Automation\ (CloudBees CD v10.1 and up) C:\ProgramData\Electric Cloud\ElectricCommander (Earlier versions)
-
Product documentation is also available here: https://docs.cloudbees.com/docs/cloudbees-cd/latest/maintain-cdro/collect-logs#_collecting_logs_manually
Complete Description with Notes
File Name | Default Linux Location |
Default Windows Location |
Size Budget | What to look for |
---|---|---|---|---|
commander.log |
logs |
logs |
gigs |
exceptions |
agent.log |
logs/agent |
logs\agent |
megs |
exceptions |
jagent.log |
logs/agent |
logs\agent |
megs |
exceptions |
jagent-service.log |
logs/agent |
logs\agent |
kilo |
reasons for agent start and stop |
repository.log |
logs/repository |
logs\repository |
megs |
Retrieval/publish requests and exceptions |
service.log or commander-service.log |
logs |
logs |
kilo |
reasons for Flow start and stops |
error.log |
apache/logs |
apache\logs |
megs |
bad urls, apache restarts and why |
access.log |
apache/logs |
apache\logs |
megs |
every URL reference with access timing |
3.6 and after installer conventions |
||||
installer.log |
/var/tmp |
%TEMP% (C:\Documents and Settings\build\Local Settings\Temp\ijtmp_UUID) |
megs |
install errors |
upgrade.log |
/var/tmp |
%TEMP% |
megs |
upgrade errors |
Log Retrieval on Kubernetes / Openshift
You are unable to collect logs using the Flow Log Collector plugin in a Kubernetes or OpenShift environment.
This is because the local agent resides on a different pod than the CD server so it is unable to access the logs on the CD server’s filesystem.
As a workaround, you can use the get-logs.sh
utility to fetch/copy Logs for CloudBees CD components from deployed Kubernetes/OpenShift namespaces.
The script and usage instructions are available in this GitHub repository.
Format of the contents of the log files
The Commander server log format is:
Timestamp %-23date{yyyy-MM-dd 'T' HH:mm:ss.SSS} Log level (TRACE,DEBUG,INFO,WARN,ERROR,FATAL) | %-5level The name of the thread | %-20.20thread The unique operation context id | %7.7mdc{context} The related job id, if any | %7.7mdc{job} Stack of operation names |-45>.45mdc{NDC} The class doing the logging | %-30.30logger{ 0 } The contents of the message | %message%n
Example
2011-07-19T08:31:13.332| INFO | stateMachine-008 | 5376481| 1569841| completeStep#5408324 | TransactionRetryAspect | Success after 1 retry, delayed for 31ms
The CloudBees CD (CloudBees Flow) Agent log (agent.log) format is:
timestamp %-23date{yyyy-MM-dd 'T' HH:mm:ss.SSS} log-level | thread-id | message
Example
2011-02-09T07:54:55.984| INFO | 0xaf4520 | pluginsPath: C:/EC_Data/plugins
The CloudBees CD (CloudBees Flow) Agent java log (jagent.log) format is:
timestamp %-23date{yyyy-MM-dd 'T' HH:mm:ss.SSS} log-level | thread-id | ? | ? | ? | ? | ? | message
Example
` 2014 - 04-03T02:55:46.833 |
DEBUG |
AgentHttp-007 |
g-34-sup-cmdr-rh63-s2.electric-cloud.com:7800 |
AgentProtocolListener |
Finished processing request ` |
The apache Web Server access log format is:
LogFormat "%h %l %u %t \"%r\" %>s %b %D %X %{hextid}P" common
-
%h Remote host
-
%l Remote logname (from identd, if supplied). This will return a dash unless IdentityCheck is set On.
-
%u Remote user (from auth; may be bogus if return status (%s) is 401)
-
%t Time the request was received (standard English format)
-
%r First line of request
-
%s Status
-
%b bytes
-
%D The time taken to serve the request, in microseconds.
-
%X keepalive status, "X" = connection aborted, "+" = connection may be kept alive, "-" = connection will be closed
-
%P = thread id
Example
` 10.23.235.48 - - [28/Nov/2011:10:42:18 -0800] "GET /commander/link/projects?s=Projects HTTP/1.1" 200 32611 16437500 - 756 `