.. _task-mysql: Importación por Base de Datos MySQL (MySQL_Import) ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ La **Importación por Base de Datos MySQL** (MySQLImport) permite la importación de activos a través de la consulta de una tabla en una ``BBDD MySQL``. .. Note:: MySQL es una tecnología de Base de Datos Relacional muy popular y de uso muy extendido. Este sistema de importación es ideal para importar información de activos de una CMDB (Base de Datos de Gestión de configuración) que utilice dicha tecnología. A continuación, se detallan uno por uno los distintos campos que el usuario debe rellenar, así como las instrucciones de consulta de la tabla MySQL. .. image:: ../images/setup/4_019_import-tool_tasks_msql-import_0-50.png :align: center **Realm Name** Este campo no es editable e indica el nombre del Reino objeto de la Tarea de Importación. **Task Type** Este campo indica el :ref:`Tipo de Tarea` que va a generarse. Es el primer campo seleccionable en el desplegable y que condiciona el resto de los campos. Si se selecciona otro tipo de Tarea distinta antes de guardar los cambios, los datos introducidos anteriormente se perderán. **Name** El campo recoge el nombre escogido por el usuario para identificar la nueva Tarea creada. **Enabled** Marcando esta casilla se habilita y activa esta Nueva Tarea de Importación para su próxima ejecución. Por defecto esta opción está habilitada. **Interval** Mediante este desplegable es posible escoger con qué frecuencia se ejecutará la importación de activos de esta nueva tarea. Las posibles opciones disponibles son: - Tarea ejecutada a diario (Every 1 days). - Tarea ejecutada cada segundo (Every 1 second). **Contrab** Opción alternativa para establecer la periodicidad en la que la Tarea será ejecutada. Su configuración se realiza empleando el :ref:`crontab`, ofreciendo mayor flexibilidad para casos de uso más específicos. Amplie información sobre la definición de periodos de ejecución :ref:`aquí`. **Host name** En este campo el usuario deberá introducir el nombre del Dispositivo o la dirección IP del Dispositivo donde reside la BBDD. **Database user** En este campo hay que introducir un nombre de usuario válido dentro de la BBDD de la que se quieren extraer los datos de la importación. **Database password** En este campo hay que introducir la contraseña asociada a la cuenta de usuario antes indicada. **Database name** En este campo hay que indicar el nombre de la Base de Datos que contiene la información a importar. **Database table** En este campo hay que registrar el nombre de la tabla de la Base de Datos antes indicada, que contiene la información de los Dispositivos a importar a WOCU-Monitoring. **Conditions** En este campo se pueden especificar condiciones para la importación de Activos y sus correspondientes datos. Es posible definir como condiciones ``WHERE ... AND ...``, permitiendo de este modo filtrar y devolver solo ciertos datos que se quieran importar y que WOCU-Monitoring requiera para la monitorización. La condición debe seguir la siguiente sintaxis: :: { "address": "127.0.0.1", "cif": "B0000000" } **Mapping** En este campo se establece una relación y correspondencia entre los campos de la tabla a importar y las variables que utiliza internamente WOCU-Monitoring para almacenar los datos sobre los Dispositivos monitorizados. El mapeo se realiza introduciendo en el campo **Mapeado** (*Mapping*) qué variable o campo interno de WOCU-Monitoring alojará los valores de un cierto campo de la tabla de la BBDD utilizada para realizar la importación. El mapeo sigue esta sintaxis: :: {'_DEVICEVENDOR': '$vendor', '_IFACES': '$interfaces_macro_byid', '_IFACES_BYNAME': '$interfaces_macro', '_SNMPCOMMUNITY': '$community', '_SNMPVERSION': '$snmpversion', 'active_checks_enabled': '$active_checks_enabled', 'address': '$ipgest', 'alias': '$alias', 'business_impact': '$business_impact', 'check_command': '$check_command', 'check_interval': '$check_interval', 'check_period': '$checkperiod', 'check_period_link': '$check_period_link', 'display_name': '$display_name', 'host_name': '$mnemonico', 'hostgroups': '$hostgroups', 'latitude': '$latitude', 'longitude': '$longitude', 'macros': '$macros', 'max_check_attempts': '$max_check_attempts', 'notification_period': '$notificationperiod', 'notification_period_link': '$notification_period_link', 'notifications_enabled': '$notifications_enabled', 'parents': '$parents', 'poller_tag': '$poller_tag', 'realm': '$realm', 'retry_interval': '$retry_interval', 'service_excludes': '$service_excludes', 'service_includes': '$service_includes', 'service_overrides': '$service_overrides', 'use_packs': '$use_packs', 'use_templates': '$use_templates'} .. note:: Por ejemplo, el campo ``host_name`` de la BBDD MySQL utilizada para la importación se corresponde con el campo interno de WOCU-Monitoring ``$mnemonico`` donde se guarda el nombre de los Dispositivos. El texto adyacente al bloque de edición ofrece el siguiente listado: :: Allowed fields for Host: host_name;use_templates;use_packs;alias;address;check_interval; check_command;max_check_attempts;active_checks_enabled;latitude; longitude;retry_interval;service_excludes;service_includes; service_overrides;business_impact;parents;poller_tag;macros; display_name;realm;hostgroups;check_period;check_period_link; notifications_enabled;notification_period;notification_period_link; Además, situando el cursor sobre el botón de ayuda (**ℹ**) emergerá una nueva vista con la siguiente información: :: Mapping for database extraction. Example: {"host_name": "$column_host", "address": "$column_ip", "check_command": "$check_command"} Also allowed any macros. Example: {"_SNMPCOMMUNITY": "$community", "_SNMPVERSION": "$snmpversion","_DEVICEVENDOR": "$column_vendor"} **Overwrite simple macros** Esta opción permite habilitar o dejar inhabilitada la actualización de las macros simples de los Activos. Por defecto esta opción está habilitada. **Overwrite complex macros** Esta opción permite habilitar o dejar inhabilitada la actualización de las macros complejas de los Activos. Por defecto esta opción está inhabilitada. .. Attention:: Las macros son elementos que WOCU-Monitoring utiliza internamente para almacenar propiedades e información de los Activos monitorizados. Una macro simple almacena un único valor. Un ejemplo es ``_DEVICEVENDOR``, macro que almacena como valor el nombre del fabricante del Dispositivo. Por ejemplo, para un switch **Cisco** esta macro tendría el valor: ``_DEVICEVENDOR:Cisco`` Una macro compleja, en cambio, puede almacenar multitud de valores dentro de una tabla. Un ejemplo es ``_IFACES``, macro que almacena todos los datos de los puertos e interfaces de red de un Dispositivo. Por ejemplo, para un switch **Cisco** esta macro de tendría el valor: ``_IFACES:Fa0/0$(1)$$(0)$$(0)$$(m)$,Fa1/1$(4)$$(0)$$(0)$$(m)$, WAN_CPD_01$(8)$$(0)$$(0)$$(m)$...`` Dada la dificultad de configuración de algunas macros complejas, que pueden requerir una configuración complementamente manual, puede resultar preferible evitar sobreescribir las mismas al ejecutarse una Tarea de Importación. Es por ello que esta opción de sobreescribir macros complejas aparece deshabilitada por defecto. Se aconseja utilizar únicamente esta opción con precaución, cuando el usuario esté seguro de que la ejecución de la misma no vaya a causar desajustes importantes en la configuración de los Activos. **Register as active** Habilitando esta opción, los activos importados mediante bases de datos MySQL, serán enviados directamente al listado de :ref:`active_assets`, es decir, se omitirá el alta en :ref:`pending` y pasarán directamente a monitorización. **Exclude fields** Las distintas tareas de importación en WOCU-Monitoring cuentan con un conjunto de atributos de Dispositivo ignorados por defecto, durante la importación o actualización del perfil de configuración de activos. En este campo el usuario puede editar de forma manual los campos excluidos durante la comprobación de activos a través de la consulta de una tabla en una ``BBDD MySQL``. Es posible modificar el listado añadiendo nuevos campos o eliminando algunos de los preestablecidos. Una vez introducidos los datos en los campos correspondientes habrá que pulsar el botón azul **Add Tasks** para guardar la nueva Tarea en el listado. .. Note:: Haciendo clic en el botón identificado por el icono **i** (Información), aparecerá una nueva ventana con información de ayuda de los distintos campos. Esta acción no efectúa cambio alguno en la configuración. .. image:: ../images/setup/4_010_import-tool_tasks_info-button_0-36.png :align: center