Integraciones
- 1 Para Open-AudIT 4.2.0 en adelante
- 1.1 Introducción
- 1.2 "Simplemente funciona" con NMIS
- 1.3 Creando una Integración
- 1.4 Nuestra integración predeterminada
- 1.5 Explicación del atributo de Integración
- 1.6 Los campos
- 1.7 Tipos de campos externos
- 1.8 Solución de problemas
- 1.9 Ejemplos con capturas de pantalla
- 1.10 Esquema de base de datos
- 1.11 API / acceso web
- 2 Pre Open-AudIT 4.2.0
Para Open-AudIT 4.2.0 en adelante
Introducción
Esto es como era antes de 4.2.0. Con 4.2.0 en adelante, hemos reescrito el código desde cero para que funcione de una manera independiente del sistema externo. Con la versión 4.2.0 enviamos con una Integración predeterminada ya creada para NMIS. En el futuro, se admitirán otros sistemas externos. Todo lo que se requiere es un nuevo archivo para implementar las funciones requeridas que necesita una integración. No hay dependencias externas ni requisitos previos.
Por motivos de brevedad, puede sustituir cualquier sistema externo cuando se refiera a NMIS a continuación (cuando esté implementado).
NOTA: Los usuarios de RedHat 8 deberán editar la integración y agregar credenciales. Las integraciones no funcionarán localmente para RedHat 8 en este momento (sin credenciales). Nuestro objetivo es abordar esto lo antes posible. Agregue credenciales y el problema estará resuelto. Disculpas por los inconvenientes que esto pueda ocasionar.
"Simplemente funciona" con NMIS
Nuestro objetivo con el lanzamiento de las integraciones iniciales era específicamente que la integración de NMIS a Open-AudIT "simplemente funcionara". Si está utilizando los programas en Linux, puede literalmente hacer clic en un solo botón para ejecutar la integración. No se requiere nada más. Dicho esto, la integración en sí es extremadamente configurable, por lo que si algo no es de su preferencia, se puede cambiar fácilmente.
Si está utilizando Open-AudIT en Windows o si su servidor NMIS no está en su servidor Open-AudIT (en el caso de algunas instalaciones de Linux), deberá proporcionar las credenciales de acceso y una URL al NMIS remoto y ¡eso es todo! Sí, las integraciones entre NMIS y Open-AudIT incluso funcionan ahora con Open-AudIT basado en Windows.
Creando una Integración
Como de costumbre, vaya a Menu → Manage → Integrations → Create Integration. Como se indicó anteriormente, si se está ejecutando en Linux y tiene NMIS en el mismo servidor, no necesita hacer nada más que hacer clic en 'Submit'.
Si está en Windows o su servidor NMIS es remoto, deberá proporcionar la URL, el nombre de usuario y la contraseña para acceder a ese servidor.
Arriba están los únicos elementos obligatorios.
Si desea profundizar y personalizar la Integración, haga clic en el botón Advanced.
Puede personalizar toda la integración hasta qué sistema (NMIS o Open-AudIT) es la autoridad por campo. Hay opciones para crear y/o actualizar dispositivos en Open-AudIT o NMIS. ¿Deberíamos ejecutar un descubrimiento en un dispositivo creado o actualizado y mucho más? Hay explicaciones para cada elemento en el lado derecho de la página.
Puede seleccionar los dispositivos que se integrarán eligiendo cualquier atributo en la tabla del sistema (dispositivo) y haciendo coincidir (consulte el Menu → Admin → Database → List Tables → System for a list of fields). Una coincidencia de atributo solo puede coincidir con un valor único.
Si desea ejecutar un Descubrimiento en un dispositivo proporcionado externamente, seleccione la opción y cuando se cree la Integración, verá el Descubrimiento.
¿Qué pasa con los campos que quiero de NMIS que no están en Open-AudIT? Cualquier campo del sistema externo (NMIS) que no exista en Open-AudIT se creará automáticamente, como campos personalizados de Open-AudIT.
Nuestra integración predeterminada
De forma predeterminada, integramos todos los dispositivos con su atributo nmis_manage establecido en 'y'. Con la versión 4.2.0 también enviamos una regla que dice "si descubrimos un dispositivo y tiene un OID SNMP válido, marque ese dispositivo como administrado por NMIS". Obviamente, puede desactivar esto si no es lo que desea.
Para seleccionar los dispositivos que se integrarán, usamos nmis_manage=y, pero puede que le guste (por ejemplo) type=router. También puede utilizar un grupo o una consulta si prefiere algo más complejo.
Nuestra integración predeterminada también permite un descubrimiento en cualquier dispositivo suministrado externamente. Por lo tanto, enviamos un descubrimiento predeterminado para la Integración Predeterminada listo para usar. Estos utilizan las reglas de coincidencia predeterminadas, pero también permiten la coincidencia en la dirección IP.
Hablando de descubrimientos, en la versión 4.2.0 también enviamos un descubrimiento de subred para la subred en la que está instalado el servidor Open-AudIT; consulte aquí las Notas de la versión de Open-AudIT v4.2.0.
Las integraciones se pueden programar según Descubrimientos, Consultas, etc.
Explicación del atributo de Integración
A continuación, se muestran explicaciones de los atributos utilizados por una integración.
create_internal_from_external: Al integrar dispositivos del sistema externo, si el dispositivo no existe en Open-AudIT, ¿debemos crearlo?update_internal_from_external: Al integrar dispositivos del sistema externo, si el dispositivo se ha actualizado en el sistema externo, ¿debemos actualizarlo en Open-AudIT?discovery_run: Cuando recuperamos un dispositivo externo, ¿deberíamos ejecutar el descubrimiento en él?
select_internal_type: ¿Cómo debemos seleccionar los dispositivos para integrarlos (usando un Atributo, una Consulta o un Grupo)?select_internal_attribute: El atributo a probar (de la tabla 'sistema').select_internal_value: Este artículo debe coincidir con el valor del atributo seleccionado.
create_external_from_internal: Si un dispositivo Open-AudIT no está en el sistema externo, ¿deberíamos crearlo?update_external_from_internal: Si se ha cambiado un dispositivo Open-AudIT, deberíamos actualizar el sistema externo.delete_external_from_internal: Si un dispositivo remoto no existe en los dispositivos seleccionados de Open-AudIT, ¿deberíamos eliminarlo del sistema remoto?
select_external_type: Qué dispositivos debe crear Open-AudIT desde el sistema remoto (si corresponde). Usando Todo, Ninguno o un Atributo dado.select_external_attribute: El atributo a probar (debe coincidir con un nombre de campo externo de abajo).select_external_value: Este artículo debe coincidir con el valor del atributo seleccionado.
fields: Una matriz JSON de objetos, como se muestra a continuación.
Los campos
Los campos asociados con una integración se almacenan en la base de datos como una matriz JSON de objetos. Cada campo tiene los siguientes atributos:
internal_field_name: Este debe ser el nombre de campo completo en la base de datos. Actualmente se admiten columnas del sistema, campos y tablas de credenciales. Por ejemplo: system.nmis_role.
external_field_name: El nombre completo devuelto por el sistema externo. Por ejemplo: para NMIS usamos configuration.roleType.
prioridad: Cuando se combinan dispositivos, qué sistema es la fuente autorizada de información.
valor_predeterminado: Si no hay ningún valor presente, proporcione este valor. Por ejemplo: para system.nmis_group/configuraion.group usamos Open-AudIT.
matching_attribute: ¿Deberíamos usar este valor para hacer coincidir los dispositivos externos e internos? Nuestra integración predeterminada usa IP y UUID aquí. Si alguno de estos coincide entre el dispositivo externo y el interno, consideramos que son el mismo dispositivo.
external_field_type: Cuando estamos convirtiendo un dispositivo seleccionado internamente en un objeto para el sistema externo, ¿cuáles deberían ser los datos externos? Por ejemplo: integer, string, etc.
Tipos de campos externos
texto: Un campo de texto.
entero: Un número.
bool: Verdadero o Falso (en contexto JSON).
bool_one_zero: Si el campo local es verdadero (bool) o y (string) o Y (string) o 1 (integer), establezca los datos externos en 1.
bool_y_n: Si el campo local es verdadero (bool) o y (string) o Y (string) o 1 (integer), establezca los datos externos en y.
capitalize: Establece el texto externo en la versión en mayúscula de los datos internos.
lower: Establece el texto externo en minúsculas.
upper: Establece el texto externo en mayúsculas.
datetime_now: La fecha y hora actuales en el formato "Y-m-d H:i:s".
datetime_Y-m-d H:i:s: El valor interno, reformateado en este formato.
date_now: La fecha actual en formato "Y-m-d".