es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

A pesar de intentar utilizar regex posix, se obtiene el siguiente error en monit.

Tengo esta sintaxis de monit,

check file access_log_1 with path /app/DNIF_logs/access_log_1
        ignore content = ".*favicon.*"
        if content = "^([:digit:]{1,3}\.){3}[:digit:]{1,3}[:space:]((((([:digit:]{1,3}\.){3}[:digit:]{1,3})|\-)[:space:]([:digit:]{6,7}|\-)[:space:][-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&=]*)[:space:])|)-[:space:]-[:space:]\[[:digit:]{2}\/([A-Z]|[a-z]){3}\/[:digit:]{4}\:[:digit:]{2}\:[:digit:]{2}\:[:digit:]{2}[:space:]\+[:digit:]{4}\][:space:]\"(.*)\"[:space:](500|502|503)([:digit:]|[:space:])*\"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/\/=]*)\"(.*)" then alert

Al ejecutar este monit, estoy obteniendo este error

/monitrc:40: error de sintaxis '.*'

Intenté eliminar el primer .* y obtuve

monitrc:41: error de sintaxis '"[:space:](500|502|503)([:digit:]|[:space:])*\"'

así que me di cuenta de que el error está en la primera aparición de (.).
Según la respuesta aquí, debemos usar la sintaxis regex de posix. ¿Hay una sintaxis posix diferente para .
o qué debo hacer?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para solucionar el error de sintaxis en la sintaxis de monit, puedes reemplazar .* con .*?, que es una sintaxis de expresión regular POSIX válida para hacer coincidencias perezosas con cualquier carácter. Esto debería resolver el problema y permitir que la sintaxis de monit se ejecute sin errores.

    Aquí está la sintaxis de monit actualizada con la corrección:

    check file access_log_1 with path /app/DNIF_logs/access_log_1
            ignore content = ".*?favicon.*"
            if content = "^([:digit:]{1,3}\.){3}[:digit:]{1,3}[:space:]((((([:digit:]{1,3}\.){3}[:digit:]{1,3})|\-)[:space:]([:digit:]{6,7}|\-)[:space:][-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&=]*)[:space:])|)-[:space:]-[:space:]\[[:digit:]{2}\/([A-Z]|[a-z]){3}\/[:digit:]{4}\:[:digit:]{2}\:[:digit:]{2}\:[:digit:]{2}[:space:]\+[:digit:]{4}\][:space:]\"(.*)\"[:space:](500|502|503)([:digit:]|[:space:])*\"https?:\/\/(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&\/\/=]*)\"(.*)" then alert
    

Comments are closed.