KBEC-00173 - Default locations and use scenarios for CloudBees CD (CloudBees Flow) log files

Article ID:360033193431
3 minute readKnowledge base

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)
```
  1. Defaults for Windows data (database, logs, configuration files):

    1. for Windows XP, 2003

       C:\Documents and Settings\All Users\Application Data\Electric Cloud\ElectricCommander
    2. 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)

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
  1. %h Remote host

  2. %l Remote logname (from identd, if supplied). This will return a dash unless IdentityCheck is set On.

  3. %u Remote user (from auth; may be bogus if return status (%s) is 401)

  4. %t Time the request was received (standard English format)

  5. %r First line of request

  6. %s Status

  7. %b bytes

  8. %D The time taken to serve the request, in microseconds.

  9. %X keepalive status, "X" = connection aborted, "+" = connection may be kept alive, "-" = connection will be closed

  10. %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 `