Configurar opciones de logging en OpenDJ

Hay varias formas de configurar los parámetros de logging en OpenDJ, ya sea a través del panel de control gráfico, la herramienta de línea de comandos dsconfig y su menú, modificando manualmente el LDIF de configuración… Los parámetros que podemos modificar pasan desde la ubicación y nombre de los ficheros de log hasta sus permisos, severidad de registro de datos, políticas de retención, activación de logs de auditoría, etc.

En mi opinión, la forma más rápida aunque quizás no la más sencilla de hacerlo es directamente pasando por parámetros a «dsconfig» los cambios que queremos realizar. Como es complicado saberse de memoria todas las opciones podríamos antes consultar las de cada «publisher» de logs (el de acceso, errores, audit, etc):

# bin/dsconfig get-log-publisher-prop \
 -h localhost \
 -p 5444 \
 --publisher-name "File-Based Error Logger"
Property             : Value(s)
 ---------------------:------------------------------------------------------
 append               : true
 default-severity     : fatal-error, notice, severe-error, severe-warning
 enabled              : true
 log-file             : logs/errors
 log-file-permissions : 640
 override-severity    : -
 retention-policy     : File Count Retention Policy
 rotation-policy      : 7 Days Time Limit Rotation Policy, Size Limit Rotation
 : Policy

A partir de aquí es muy sencillo, en lugar de «get-log-publisher-prop» pasamos a utilizar «set-log-publisher-prop» junto con las propiedades a modificar. En el siguiente ejemplo modificamos los permisos con los que se genera el log de error de 640 a 644:

# bin/dsconfig -h localhost -p 4444 -D "cn=Directory Manager"

Password for user 'cn=Directory Manager': 


>>>> OpenDJ configuration console main menu

What do you want to configure?

    1)   Access Control Handler               21)  Log Publisher
    2)   Access Log Filtering Criteria        22)  Log Retention Policy
    3)   Account Status Notification Handler  23)  Log Rotation Policy
    4)   Administration Connector             24)  Matching Rule
    5)   Alert Handler                        25)  Monitor Provider
    6)   Attribute Syntax                     26)  Password Generator
    7)   Backend                              27)  Password Policy
    8)   Certificate Mapper                   28)  Password Storage Scheme
    9)   Connection Handler                   29)  Password Validator
    10)  Crypto Manager                       30)  Plugin
    11)  Debug Target                         31)  Plugin Root
    12)  Entry Cache                          32)  Replication Domain
    13)  Extended Operation Handler           33)  Replication Server
    14)  External Changelog Domain            34)  Root DN
    15)  Global Configuration                 35)  Root DSE Backend
    16)  Group Implementation                 36)  SASL Mechanism Handler
    17)  Identity Mapper                      37)  Synchronization Provider
    18)  Key Manager Provider                 38)  Trust Manager Provider
    19)  Local DB Index                       39)  Virtual Attribute
    20)  Local DB VLV Index                   40)  Work Queue

    q)   quit

Enter choice: 21


>>>> Log Publisher management menu

What would you like to do?

    1)  List existing Log Publishers
    2)  Create a new Log Publisher
    3)  View and edit an existing Log Publisher
    4)  Delete an existing Log Publisher

    b)  back
    q)  quit

Enter choice [b]: 1


Log Publisher                 : Type                   : enabled
------------------------------:------------------------:--------
File-Based Access Logger      : file-based-access      : true
File-Based Audit Logger       : file-based-audit       : false
File-Based Debug Logger       : file-based-debug       : false
File-Based Error Logger       : file-based-error       : true
File-Based HTTP Access Logger : file-based-http-access : false
Replication Repair Logger     : file-based-error       : true

Press RETURN to continue 


>>>> Log Publisher management menu

What would you like to do?

    1)  List existing Log Publishers
    2)  Create a new Log Publisher
    3)  View and edit an existing Log Publisher
    4)  Delete an existing Log Publisher

    b)  back
    q)  quit

Enter choice [b]: 3


>>>> Select the Log Publisher from the following list:

    1)  File-Based Access Logger
    2)  File-Based Audit Logger
    3)  File-Based Debug Logger
    4)  File-Based Error Logger
    5)  File-Based HTTP Access Logger
    6)  Replication Repair Logger

    c)  cancel
    q)  quit

Enter choice [c]: 4


>>>> Configure the properties of the File Based Error Log Publisher

        Property              Value(s)
        -----------------------------------------------------------------------
    1)  append                true
    2)  default-severity      fatal-error, notice, severe-error, severe-warning
    3)  enabled               true
    4)  log-file              logs/errors
    5)  log-file-permissions  640
    6)  override-severity     All messages with the default severity levels are
                              logged.
    7)  retention-policy      File Count Retention Policy
    8)  rotation-policy       7 Days Time Limit Rotation Policy, Size Limit
                              Rotation Policy

    ?)  help
    f)  finish - apply any changes to the File Based Error Log Publisher
    c)  cancel
    q)  quit

Enter choice [f]: 5


>>>> Configuring the "log-file-permissions" property

    The UNIX permissions of the log files created by this File Based Error Log
    Publisher .

    Syntax:  MODE - A valid UNIX mode string. The mode string must contain
             three digits between zero and seven.

Do you want to modify the "log-file-permissions" property?

    1)  Keep the default value: 640
    2)  Change the value

    ?)  help
    q)  quit

Enter choice [1]: 2


Enter a value for the "log-file-permissions" property: 644

Press RETURN to continue 


>>>> Configure the properties of the File Based Error Log Publisher

        Property              Value(s)
        -----------------------------------------------------------------------
    1)  append                true
    2)  default-severity      fatal-error, notice, severe-error, severe-warning
    3)  enabled               true
    4)  log-file              logs/errors
    5)  log-file-permissions  644
    6)  override-severity     All messages with the default severity levels are
                              logged.
    7)  retention-policy      File Count Retention Policy
    8)  rotation-policy       7 Days Time Limit Rotation Policy, Size Limit
                              Rotation Policy

    ?)  help
    f)  finish - apply any changes to the File Based Error Log Publisher
    c)  cancel
    q)  quit

Enter choice [f]: f

The File Based Error Log Publisher was modified successfully

Press RETURN to continue 

Como podéis observar es mucho más costoso que modificar directamente la propiedad desde la línea de comandos, pero por lo menos así no tiene pérdida y es sencillo de encontrar aunque no estés familiarizado con todas las opciones de OpenDJ.