OdooWiki OCA HUB
Tools Licencia: AGPL-3

Este es un módulo técnico para enviar alertas pasivas a tu daemon NSCA favorito (Nagios, Shinken...). Este módulo se basa en el sistema cron de Odoo y requiere un cliente NSCA instalado en el sistema para satisfacer el comando /usr/sbin/send_nsca.

Traducción automática al español (DeepSeek) de la descripción original de OCA, que está en inglés.

auto_awesome Qué hace este módulo

Generado por IA a partir del código · Odoo 16.0

Configure servidores de monitorización y comprobaciones programadas que envían alertas pasivas desde Odoo a un daemon NSCA (Nagios, Shinken, etc.).

Este módulo añade un nuevo menú 'NSCA Client' bajo el menú Custom, con dos pantallas: Servers y Checks.

En la pantalla Servers se registra cada servidor de monitorización: hostname, puerto, contraseña, método de cifrado y el hostname del nodo de Odoo actual. Se escribe automáticamente un archivo de configuración cuando se crea o modifica un servidor, y un botón en el formulario del servidor muestra cuántos checks están vinculados a él y los abre.

En la pantalla Checks se definen los checks programados. Cada check está vinculado a un servidor, tiene un nombre de servicio, una frecuencia (número de intervalo y tipo), una fecha de próxima llamada y un indicador de activo. También se elige el modelo y el método de Odoo que se van a ejecutar, además de argumentos opcionales. El método debe devolver un código de resultado y un mensaje (0 OK, 1 WARNING, 2 CRITICAL, 3 UNKNOWN); si no devuelve nada, se envía un mensaje CRITICAL a menos que marque 'Allow void result'. Cualquier error se informa como CRITICAL.

Los checks se ejecutan a través del sistema de trabajos programados de Odoo y envían su resultado al demonio NSCA mediante el comando send_nsca, que debe estar instalado en el servidor. Un método de estado integrado informa del número de CPU, RAM y usuarios en línea. El acceso está limitado al grupo ERP manager.

Depende de

base

Menús que añade

menu_action_nsca_check_treeNSCA Clientmenu_action_nsca_server_tree
Modelos y campos (2)
  • nsca.check · modelo nuevocron_id (Cron), service, nsca_args (Arguments), server_id (Server), nsca_model (NSCA Model), nsca_function (Method), allow_void_result (Allow void result)
  • nsca.server · modelo nuevoname (Hostname), port, password, check_ids (Checks), check_count, node_hostname (Hostname of this node), config_dir_path (Configuration directory), config_file_path (Configuration file), encryption_method (Encryption method)

Texto generado por IA (DeepSeek) al leer el código de la versión 16.0 en GitHub; puede contener errores, así que verifícalo en el código antes de decidir. Ver el código en GitHub

Disponibilidad por versión

Revisado: 2026-11-03
Confirmado (verificado en repositorio y rama) Estimado (sin verificar) Sin información

Estado de confirmación: 4 confirmadas, 5 sin información de 9 versiones.

Fuentes · Odoo 16.0

Confirmado el 2026-11-03 en la rama 16.0 de OCA/server-tools.

terminal Instalación y uso

Documentación de OCA · Odoo 16.0

Para usar este módulo, necesita instalar un cliente NSCA.

En Debian/Ubuntu:

$ sudo apt-get install nsca-client

Para configurar este módulo, necesita:

  • Configurar su servidor y un servicio pasivo en su herramienta de monitorización (p. ej. el servicio Odoo Mail Queue en el host MY-SERVER).
  • Declarar su servidor NSCA en el menú Configuration / Technical / NSCA Client / Servers
  • Crear comprobaciones NSCA en el menú Configuration / Technical / NSCA Client / Checks
  • Codificar los métodos que serán llamados por las comprobaciones NSCA.

Dichos métodos deben devolver una tupla (RC, MESSAGE, PERFORMANCE_DATA) donde RC es un entero, MESSAGE una cadena unicode Y PERFOMANCE_DATA es un diccionario. Los valores de RC y el estado correspondiente son:

  • 0: OK
  • 1: WARNING
  • 2: CRITICAL
  • 3: UNKNOWN

PERFORMANCE_DATA no es obligatorio, por lo que podría ser posible enviar (RC, MESSAGE). Cada elemento de PERFORMANCE_DATA será un diccionario que podría contener:

  • value: valor del dato (obligatorio)
  • max: Valor máximo en el gráfico
  • min: Valor mínimo en el gráfico
  • warn: Valor de advertencia en el gráfico
  • crit: Valor crítico en el gráfico
  • uom: Unidad de medida en el gráfico (s - Seconds, % - Percentage, B - Bytes, c - Continuous)

La clave del diccionario se utilizará como etiqueta de performance_data.

Ej.:

class MailMail(models.Model):
    _inherit = 'mail.mail'

    @api.model
    def nsca_check_mails(self):
        mails = self.search([('state', '=', 'exception')])
        if mails:
            return (1, u"%s mails not sent" % len(mails), {
              'exceptions': {'value': len(mails)}})
        return (0, u"OK", {'exceptions': {'value': len(mails)}})

En el ejemplo, los datos de rendimiento utilizarán la etiqueta exceptions y el valor será el número de excepciones de correos.

Traducción automática al español (DeepSeek) de la documentación original de OCA; los comandos y el código no se traducen. Sin información verificada en OCA: Uso.

info

Datos importados de GitHub: esta ficha refleja la última revisión del catálogo, no una consulta en directo. Verifica siempre en la documentación del módulo y en staging antes de instalar en producción.