sentry-logger-set-schedule

Updates the cron-format logging schedule of a specific sentry logger.

Syntax

sentry-logger-set-schedule [timeout=INT]
Parameter
timeout=INT
RPC timeout in seconds (default: 30 seconds)

Description

This query command sends asynchronous RPC request messages to 100 sentries at the same time and waits for responses.The RPC request message queue operates on a first-in, first-out (FIFO) basis. For example, if the Logpresso server needs to send RPC messages to 150 sentries, the server sends an RPC message to 100 sentries first and waits until RPC responses. If the waiting time exceeds the time specified in the timeout (default: 30 seconds), it is considered that an error has occurred on the sentry side. If 32 out of 100 sentries respond or timeout is exceeded, the Logpresso server sends an RPC message to the additional 32 sentries.

The query command outputs the results of RPC response messages in the order they are received. Depending on the load or network conditions of the host where Sentry is installed, the order of the responses may vary with each execution. Use the output data but do not rely on the order of the records.

Tip
Logpresso environment variable `logpresso.core.sentry_rpc_parallel` determines the length of the asynchronous RPC request message queue. The default value is `100` and you can adjust the length by modifying the value of this environment variable.
Input Field

This query requires that the input record contains guid, name and cron_schedule field values.

FieldTypeRequiredDescription
guidStringOUnique sentry identifier (Not relevant to GUID in JAVA)
nameStringOUnique logger identifier in the sentry namespace
cron_scheduleStringXLogging schedule in cron job format (If null is given, the existing schedule is deleted.)
  • cron_schedule: A schedule is defined using the unix-cron string format. For more details on scheduling, use man 5 crontab on your Linux.
Output Fields

If any error occurs, this query command returns an _error field in addition to the fields from input record. Possible errors are as follows:

Error MessageDescription
guid is nullguid field value from input record is null.
guid should be stringguid field value from input record is not a string.
guid should be non empty stringguid field value from input record is empty.
name should be not nullname field value from input record is null.
name should be stringname field value from input record is not a string.
name should be non empty stringname field value from input record is empty.
cron_schedule should be stringcron_schedule field value from input record is not a string.
wrong cron expression format: exprcron_schedule field value from input record is not of valid cron format.
logger not found: nameLogger of the specified name (name) is not found.
logger is running: nameYou cannot update the schedule of the running logger (name).
timeoutRPC request timeout exceeded
disconnectedDisconnected while processing RPC request
not connectedSentry is not connected.
sentry method not found: setLoggerScheduleSentry version is earlier than 3.10.2106.0. This command is not supported.

Depending on the system where the sentry is installed, an RPC exception message other than the above can be issued.

Usage

  1. Set 'wtmp_linux' loggers in all connected sentries to run at minute 0.

    sentry
    | sentry-loggers
    | search name == "wtmp_linux"
    | eval cron_schedule="0 * * * *"
    | sentry-logger-set-schedule