Difference between revisions of "PEC-REP/Current/PulsePEGuide/Logging"

From Genesys Documentation
Jump to: navigation, search
(Published)
 
 
(One intermediate revision by one other user not shown)
Line 5: Line 5:
 
|ComingSoon=No
 
|ComingSoon=No
 
|Section={{Section
 
|Section={{Section
 +
|sectionHeading=Log output
 
|alignment=Vertical
 
|alignment=Vertical
|structuredtext=For more verbose log levels of legacy components you must to set the output to HostPath or PVC.
+
|structuredtext=For verbose log levels of legacy components, set the output to '''HostPath or PVC''' as described in the following table:
 
+
{{{!}} class="wikitable" role="grid" resolved
Please, refer to table below:
+
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" scope="col" role="columnheader" aria-label="Pod: No sort applied, activate to apply an ascending sort" tabindex="0" aria-disabled="false" unselectable="on" aria-sort="none"{{!}}'''Pod'''
{{{!}} class="wikitable" role="grid" resolved=""
+
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" scope="col" role="columnheader" aria-label="Container: No sort applied, activate to apply an ascending sort" tabindex="0" aria-disabled="false" unselectable="on" aria-sort="none"{{!}}'''Container'''
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="0" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" aria-sort="none" aria-label="Pod: No sort applied, activate to apply an ascending sort" {{!}}'''Pod'''
+
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" scope="col" role="columnheader" aria-label="Stdout: No sort applied, activate to apply an ascending sort" tabindex="0" aria-disabled="false" unselectable="on" aria-sort="none"{{!}}'''Stdout'''
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="1" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" aria-sort="none" aria-label="Container: No sort applied, activate to apply an ascending sort" {{!}}'''Container'''
+
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" scope="col" role="columnheader" aria-label="HostPath or PVC: No sort applied, activate to apply an ascending sort" tabindex="0" aria-disabled="false" unselectable="on" aria-sort="none"{{!}}'''HostPath or PVC'''
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="2" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" aria-sort="none" aria-label="Stdout: No sort applied, activate to apply an ascending sort" {{!}}'''Stdout'''
 
! class="confluenceTh tablesorter-header sortableHeader tablesorter-headerUnSorted" data-column="3" tabindex="0" scope="col" role="columnheader" aria-disabled="false" unselectable="on" aria-sort="none" aria-label="HostPath or PVC: No sort applied, activate to apply an ascending sort" {{!}}'''HostPath or PVC'''
 
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}pulse
+
{{!}} class="confluenceTd"{{!}}pulse
{{!}} class="confluenceTd" {{!}}pulse
+
{{!}} class="confluenceTd"{{!}}pulse
{{!}} class="confluenceTd" {{!}}info
+
{{!}} class="confluenceTd"{{!}}info
{{!}} class="confluenceTd" {{!}}http access log
+
{{!}} class="confluenceTd"{{!}}HTTP access log
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}dcu
+
{{!}} class="confluenceTd"{{!}}dcu
{{!}} class="confluenceTd" {{!}}csproxy
+
{{!}} class="confluenceTd"{{!}}csproxy
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}dcu
+
{{!}} class="confluenceTd"{{!}}dcu
{{!}} class="confluenceTd" {{!}}collector
+
{{!}} class="confluenceTd"{{!}}collector
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}dcu
+
{{!}} class="confluenceTd"{{!}}dcu
{{!}} class="confluenceTd" {{!}}statserver
+
{{!}} class="confluenceTd"{{!}}statserver
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}lds
+
{{!}} class="confluenceTd"{{!}}lds
{{!}} class="confluenceTd" {{!}}csproxy
+
{{!}} class="confluenceTd"{{!}}csproxy
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}lds
+
{{!}} class="confluenceTd"{{!}}lds
{{!}} class="confluenceTd" {{!}}lds
+
{{!}} class="confluenceTd"{{!}}lds
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}permissions
+
{{!}} class="confluenceTd"{{!}}permissions
{{!}} class="confluenceTd" {{!}}csproxy
+
{{!}} class="confluenceTd"{{!}}csproxy
{{!}} class="confluenceTd" {{!}}standard
+
{{!}} class="confluenceTd"{{!}}standard
{{!}} class="confluenceTd" {{!}}all
+
{{!}} class="confluenceTd"{{!}}all
 
{{!}}- role="row"
 
{{!}}- role="row"
{{!}} class="confluenceTd" {{!}}permissions
+
{{!}} class="confluenceTd"{{!}}permissions
{{!}} class="confluenceTd" {{!}}permissions
+
{{!}} class="confluenceTd"{{!}}permissions
{{!}} class="confluenceTd" {{!}}debug
+
{{!}} class="confluenceTd"{{!}}debug
{{!}} class="confluenceTd" {{!}}-
+
{{!}} class="confluenceTd"{{!}} -
 
{{!}}}
 
{{!}}}
  
See the Prerequisites section for log storage requirements.
+
===Output all logs to stdout===
 +
To output all logs to stdout only, use simple config:
 +
 
 +
#Set the following values in the .yaml files for the Pulse, DCU, LDS, and Permissions charts:
 +
#:<source lang="bash"># common log configuration
 +
log:
 +
  # log volume type: none | hostpath | pvc
 +
  volumeType: none</source>
 +
#Apply tenant configuration using GWS API::
 +
##Run the configurator container:
 +
##:<source lang="bash">docker run \
 +
-e CCID=<tenant-uuid> \
 +
-e GAUTHURL=<gauth-url-external> \
 +
-e GWSURL=<gws-url-external> \
 +
-e CLIENT_ID=<gauth-client-id> \
 +
-e CLIENT_SECRET=<gauth-client-secret> \
 +
-e CONFIG_PATH=/usr/src/scripts/cfgupdate/data \
 +
-v <config-folder>:/usr/src/scripts/cfgupdate/data \
 +
--rm <docker-registry>/pulse/configurator:<image-version> sh ./cfgupdate/run.sh <command></source>
 +
##:'''Where''':
 +
##*<tt>&lt;command&gt;</tt> is the command to run (<code>plan</code> or <code>apply</code>).
 +
##*<tt>&lt;gauth-client-id&gt;/&lt;gauth-client-secret&gt;</tt> is the credentials pair, with Client Credentials grant type.
 +
##*<tt>&lt;config-folder&gt;</tt> is the absolute path to the folder containing configuration files ('''pulse-csp.json''', '''pulse-dcu-statserver.json''', '''pulse-lds.json''', and '''pulse-lds-vq.json''').
 +
##Set the following values in '''pulse-csp.json''', '''pulse-dcu-statserver.json''', '''pulse-lds.json''', and '''pulse-lds-vq.json''':
 +
##:<source lang="bash">
 +
{
 +
    "log": {
 +
        "all": "stdout"
 +
    }
 +
}</source>
 +
 
 +
===Common log output settings===
 +
Instead of outputting all logs to stdout, you can control common log output settings individually, by setting the following options:
 +
<source lang="bash"># common log configuration
 +
log:
 +
  # target directory where log will be stored, leave empty for default
 +
  logDir: ""
 +
  # path where volume will be mounted
 +
  volumeMountPath: /data/log
 +
  # log volume type: none | hostpath | pvc
 +
  volumeType: hostpath
 +
  # log volume hostpath, used with volumeType "hostpath"
 +
  volumeHostPath: /mnt/log
 +
  # log PVC parameters, used with volumeType "pvc"
 +
  pvc:
 +
    name: <name>
 +
    accessModes:
 +
      - ReadWriteMany
 +
    capacity: 10Gi
 +
    class: files-standard-zrs-retain
 +
</source>
 +
Where '''name: &lt;name&gt;''' is set as follows:
 +
 
 +
*For Pulse chart:
 +
*:<source lang="bash">pvc:
 +
    name: pulse-logs
 +
    ...</source>
 +
*For DCU chart:
 +
*:<source lang="bash">pvc:
 +
    name: pulse-dcu-logs
 +
    ...</source>
 +
*For LDS chart:
 +
*:<source lang="bash">pvc:
 +
    name: pulse-lds-logs
 +
    ...</source>
 +
*For Permissions Chart:
 +
*:<source lang="bash">pvc:
 +
    name: pulse-permissions-logs
 +
    ....</source>
 +
|Status=No
 +
}}{{Section
 +
|sectionHeading=Log level
 +
|alignment=Vertical
 +
|structuredtext=Set Pulse container (Pulse pod) log level in '''values-override-pulse.yaml''':
 +
<source lang="bash">options:
 +
  # application log level
 +
  logLevel: INFO
 +
  # append access log
 +
  accessLogAppend: true
 +
  # enable access log
 +
  accessLogEnable: true
 +
  # enable extended NCSA format
 +
  accessLogExtended: false
 +
  # enable logging of the request cookies
 +
  accessLogCookies: false
 +
  # enable logging of request processing time
 +
  accessLogLatency: false
 +
  # enable logging of the request hostname
 +
  accessLogServer: false
 +
  # number of days before rotated log files are deleted
 +
  accessLogRetentionPeriod: 31</source>
 +
Set the Collector container (DCU pod) log level in '''values-override-dcu.yaml''':
 +
<source lang="bash">collector:
 +
  appOptions:
 +
    # [log]
 +
    collector__log__buffering: "true"
 +
    collector__log__time_format: iso8601
 +
    collector__log__verbose: all
 +
    collector__log__segment: "1 hr"
 +
    collector__log__expire: "3 day"
 +
    collector__log__standard: stdout
 +
    # [log-db]
 +
    collector__log_db__buffering: "true"
 +
    collector__log_db__time_format: iso8601
 +
    collector__log_db__verbose: standard
 +
    collector__log_db__segment: "1 hr"
 +
    collector__log_db__expire: "3 day"
 +
    collector__log_db__standard: stdout</source>
 +
Set the Permissions container (Permissions pod) log level in '''values-override-permissions.yaml''':
 +
<source lang="bash">app:
 +
  options:
 +
    # Level of logging. Can be NONE, ERROR, WARN, INFO, DEBUG
 +
    logLevel: DEBUG</source>
 
|Status=No
 
|Status=No
 
}}
 
}}
 
|PEPageType=7a5823f3-05b5-412b-b580-e73e34079c41
 
|PEPageType=7a5823f3-05b5-412b-b580-e73e34079c41
 
}}
 
}}

Latest revision as of 19:46, April 11, 2022

This topic is part of the manual Genesys Pulse Private Edition Guide for version Current of Reporting.

Learn how to store logs for Genesys Pulse.

Log output

For verbose log levels of legacy components, set the output to HostPath or PVC as described in the following table:

Pod Container Stdout HostPath or PVC
pulse pulse info HTTP access log
dcu csproxy standard all
dcu collector standard all
dcu statserver standard all
lds csproxy standard all
lds lds standard all
permissions csproxy standard all
permissions permissions debug -

Output all logs to stdout

To output all logs to stdout only, use simple config:

  1. Set the following values in the .yaml files for the Pulse, DCU, LDS, and Permissions charts:
    # common log configuration
    log:
      # log volume type: none | hostpath | pvc
      volumeType: none
  2. Apply tenant configuration using GWS API::
    1. Run the configurator container:
      docker run \
       -e CCID=<tenant-uuid> \
       -e GAUTHURL=<gauth-url-external> \
       -e GWSURL=<gws-url-external> \
       -e CLIENT_ID=<gauth-client-id> \
       -e CLIENT_SECRET=<gauth-client-secret> \
       -e CONFIG_PATH=/usr/src/scripts/cfgupdate/data \
       -v <config-folder>:/usr/src/scripts/cfgupdate/data \
       --rm <docker-registry>/pulse/configurator:<image-version> sh ./cfgupdate/run.sh <command>
      Where:
      • <command> is the command to run (plan or apply).
      • <gauth-client-id>/<gauth-client-secret> is the credentials pair, with Client Credentials grant type.
      • <config-folder> is the absolute path to the folder containing configuration files (pulse-csp.json, pulse-dcu-statserver.json, pulse-lds.json, and pulse-lds-vq.json).
    2. Set the following values in pulse-csp.json, pulse-dcu-statserver.json, pulse-lds.json, and pulse-lds-vq.json:
      {
          "log": {
              "all": "stdout"
          }
      }

Common log output settings

Instead of outputting all logs to stdout, you can control common log output settings individually, by setting the following options:

# common log configuration
log:
  # target directory where log will be stored, leave empty for default
  logDir: ""
  # path where volume will be mounted
  volumeMountPath: /data/log
  # log volume type: none | hostpath | pvc
  volumeType: hostpath
  # log volume hostpath, used with volumeType "hostpath"
  volumeHostPath: /mnt/log
  # log PVC parameters, used with volumeType "pvc"
  pvc:
    name: <name>
    accessModes:
      - ReadWriteMany
    capacity: 10Gi
    class: files-standard-zrs-retain

Where name: <name> is set as follows:

  • For Pulse chart:
    pvc:
         name: pulse-logs
        ...
  • For DCU chart:
    pvc:
        name: pulse-dcu-logs
        ...
  • For LDS chart:
    pvc:
        name: pulse-lds-logs
        ...
  • For Permissions Chart:
    pvc:
        name: pulse-permissions-logs
        ....

Log level

Set Pulse container (Pulse pod) log level in values-override-pulse.yaml:

options:
  # application log level
  logLevel: INFO
  # append access log
  accessLogAppend: true
  # enable access log
  accessLogEnable: true
  # enable extended NCSA format
  accessLogExtended: false
  # enable logging of the request cookies
  accessLogCookies: false
  # enable logging of request processing time
  accessLogLatency: false
  # enable logging of the request hostname
  accessLogServer: false
  # number of days before rotated log files are deleted
  accessLogRetentionPeriod: 31

Set the Collector container (DCU pod) log level in values-override-dcu.yaml:

collector:
  appOptions:
    # [log]
    collector__log__buffering: "true"
    collector__log__time_format: iso8601
    collector__log__verbose: all
    collector__log__segment: "1 hr"
    collector__log__expire: "3 day"
    collector__log__standard: stdout
    # [log-db]
    collector__log_db__buffering: "true"
    collector__log_db__time_format: iso8601
    collector__log_db__verbose: standard
    collector__log_db__segment: "1 hr"
    collector__log_db__expire: "3 day"
    collector__log_db__standard: stdout

Set the Permissions container (Permissions pod) log level in values-override-permissions.yaml:

app:
  options:
    # Level of logging. Can be NONE, ERROR, WARN, INFO, DEBUG
    logLevel: DEBUG
Comments or questions about this documentation? Contact us for support!