Un mapa GIS es una representación visual de la localización geográfica de los agentes de la instalación de Pandora FMS. Con este mapa se puede observar la posición actual, así como un pequeño resumen histórico de las posiciones de los agentes.
Para poder utilizar los mapas GIS se deben tener configurados los agentes, el servidor y la consola.
El archivo pandora_agent.conf
de los Agentes Software cuenta con unos parámetros para configurar el posicionamiento del dispositivo:
Puede utilizarse también el parámetro gis_exec
para indicar la ruta de un script que devuelva las coordenadas del dispositivo en una cadena con el formato “latitud,longitud,altitud”.
Ejemplo:
# Agent position parameters # Those parameters define the geographical position of the agent # gis_exec: Call a script that returns a string with "latitude,longitude,altitude" # i.e.: 41.377,-5.105,2.365 #gis_exec /tmp/gis.sh # latitude latitude 40.37346827 # longitude longitude -3.6418548 # altitude altitude 637 # Position description position_description Madrid, Vallecas
Las funcionalidades GIS deben ser habilitadas en el servidor con el parámetro activate_gis
. Cuando este indicador esté fijado en 1
, el servidor procesará toda la información GIS recibida de los agentes.
Con el posicionamiento de datos existe la posibilidad de almacenar posiciones del agente en Pandora FMS, pero estos datos provienen de una fuente que no es completamente fiable, y puede provocar que un agente sin cambios de posición significativos envíe información de cambio de localización. Para evitar esto, el parámetro location_error fija la distancia que se considera como la misma posición. Esto es una tolerancia al error en el umbral de la posición, y mientras que la localización del agente se mantenga en ese umbral, no se considerará que haya algún cambio de posición.
Discovery server e información sobre localización:
Utilizando un algoritmo de geolocalización inverso y una base de datos con la relación de direcciones IP e información de posicionamiento, el Discovery server puede calcular la posición de los agentes descubiertos. Para ello, bien puede usar un fichero formateado de MaxMind GeoIP GeoLiteCity, o un par de tablas en la base de datos con esa información.
Así pues, hay dos parámetros que definen este comportamiento del Discovery server: el recon_reverse_geolocation_file
, utilizado para señalar el fichero con la información de la geolocalización inversa (utilizando el formato MaxMind GPL GeoLiteCity.dat
), y el parámetro recon_location_scatter_radius
. El algoritmo calculará una posición aproximada para los agentes y estos se dispondrán al azar alrededor de las posiciones calculadas, tomando en cuenta el radio indicado en recon_location_scatter_radius
.
También puede usarse el servicio de geolocalización inversa que proporciona el API de Google® u Openstreet Maps®.
google_maps_description
, a 1
.openstreetmaps_description
, a 1.Ejemplo de Configuración:
# Flag to activate GIS (positional information for agents and maps) by default it is deactivated activate_gis 1 # Radius of the Error in meters to consider two gis locations as the same location. location_error 10 # Recon reverse geolocation file (databases with the reverse geolocation information using # MaxMind GPL GeoLiteCity.dat format). # Comment it to disable the IP geolocation on agent creation. recon_reverse_geolocation_file /usr/local/share/GeoIP/GeoLiteCity.dat # Radius (in meters) of the circle in where the agents will be place randomly when found by a recon task # The center of the cicle is guessed by geolocating the IP. recon_location_scatter_radius 1000 # This enables realtime reverse geocoding using Google Maps public api. # This requires internet access, and could have performance penalties processing GIS # information due the connetion needed to resolve all GIS input. google_maps_description 1 # This enables realtime reverse geocoding using Openstreet Maps public api. # This requires internet access, and could have performance penalties processing GIS # information due the connetion needed to resolve all GIS input. # You can alter the code to use a local (your own) openstreet maps server. openstreetmaps_description 1
Existe un plugin que recalcula la localización GIS de los agentes. La ruta por defecto del plugin es (el usuario puede personalizar dicha ruta):
/usr/share/pandora_server/util/agent_gis_update.pl
En la Consola, para utilizar las funcionalidades GIS, primero deberá estar activado en la configuración principal. Vaya al menú Management → Setup → Setup → General setup. Haga clic en Enable GIS features y luego pulse el botón Update. Con esto estarán disponibles algunas secciones nuevas de la interfaz de usuario (por ejemplo Operation → Topology maps → GIS Maps).
En Setup → Setup → GIS map connection definirá las conexiones que pueden ser utilizadas con map servers para proporcionar mapas para las funcionalidades GIS.
Una vez que los parámetros básicos están configurados, el administrador debe seleccionar un tipo de conexión y, dependiendo del tipo, existirán diferentes opciones.
La instalación por defecto de Pandora FMS tiene una conexión predefinida con OpenStreetMap®, por lo que los usuarios pueden probar y ver directamente las funcionalidades GIS.
Para usar un tipo de mapa OpenStreet®, el único parámetro que se necesita es la URL del title server, tal como se muestra en esta imagen:
Ejemplos:
http://tiles.example.com/${z}/${x}/${y}.png http://tile.example.com/${z}/${x}/${y}.png
Puede consultar una lista oficial de servidores en el sitio web de OpenStreetMap®, siga atentamente las instrucciones de nombrado y acreditación.
Pandora FMS también incluye la conexión a Google Maps®. Para ello, es necesario que una contraseña válida sea obtenida desde Google® (ver Google Maps API policy ) y sea colocada en el campo correspondiente de la definición de la conexión.
Con esta contraseña es posible definir varias conexiones utilizando diferentes tipos de mapas base: Hybrid, Physical o Satelite.
Es posible que esta contraseña tarde varios minutos en funcionar tras ser obtenida.
Otro tipo de conexión provista es utilizar una Static Image como mapa. Para utilizar este tipo de mapa, la imagen debe estar como EPSG:4326 (WGS84).
En este caso los parámetros que se necesitan para la definición del mapa son url de la imagen, la altura y el ancho de la imagen, y los límites posicionales (longitud y latitud) de los bordes de la imagen (derecha, izquierda, parte superior y parte inferior).
Si el servidor de Pandora FMS está en un lugar sin acceso directo a Internet no es posible usar un servicio de mapas en línea. También puede preferir utilizar su propio servidor de mapas para tener mayor flexibilidad, ir más rápido, o definir su propio tipo de mosaicos.
Desde la versión 723 es posible añadir conexiones a servidores WMS (Web Map Service), tales como GeoServer. Para ello, es necesario introducir la dirección en la que se provee el servicio y el nombre o nombres de las capas a obtener de él.
Puede ver cómo realizar una instalación y configuración mínima de un servidor GeoServer en este anexo técnico.
Lo último que hay que definir en una conexión de mapa es el centro del mapa y la posición por defecto para agentes sin datos posicionales. Para definirlos, es posible previsualizar el mapa y hacer clic en él para fijar estos parámetros, dependiendo de cuál (Map centre o Default position for agents without GIS data) se haya seleccionado con el selector Change in the Map.
En este mapa de previsualización es posible desplazarse utilizando las flechas verdes de la parte superior izquierda, cambiar el nivel de zoom con los iconos + y - , o usar la lupa para verlo en zoom completo.
También es posible fijar la posición introduciendo los valores en sus celdas de entrada correspondientes (el separador decimal es el punto).
Una vez que todos los parámetros de conexión hayan sido fijados, será posible guardar la conexión para utilizarla en el configurador de mapas pulsando en el botón Save.
Una vez que haya definido las conexiones, estas podrán utilizarse para definir mapas en el menú GIS Maps.
El menú lleva al usuario a una pantalla con mapas definidos, donde es posible editar un mapa, visualizar el mapa, fijar el mapa por defecto (default map) o borrar un mapa.
Mapa de muestra:
Existe también un botón para crear nuevos mapas (botón Create).
Debe establecerse un mapa por defecto, que será el empleado en la vista del agente para mostrar su posición.
Crear un Mapa GIS
Cuando esté en la página de creación del mapa, lo primero que tiene que hacer es añadir un nombre (Map Name) y una conexión de mapa (Add Map connection), seleccionando alguna de las que ya están disponibles. Es posible añadir más de una, que estará disponible después como capa base (solo una de ellas puede estar activa al mismo tiempo).
Después seleccionar la conexión (o cuando la conexión por defecto del mapa se cambia) la consola de Pandora FMS le preguntará si quiere usar los datos por defecto de la conexión para el mapa. En caso afirmativo la consola rellenará (o actualizará) todos los datos de posicionamiento con los ya definidos en la conexión, y el usuario tendrá que fijar únicamente el nivel zoom por defecto. Si se rechaza el uso de los valores por defecto, no se realizará ningún cambio y simplemente se añadirá la conexión.
Definición de Capa
Cuando los parámetros básicos del mapa hayan sido fijados, será el momento de definir las capas (LAYERS) del mapa que se utilizarán para seleccionar qué elementos mostrar en el mismo. Si es el mapa por defecto es innecesario definir capa alguna porque se utilizará para mostrar la posición del agente en la vista de agentes.
Cada mapa tiene una o más capas para mostrar los agentes. Cada capa puede mostrar los agentes de un grupo, una lista de agentes y/o un grupo con un agente como representante. De este modo es fácil fijar los agentes que se mostrarán en cada capa.
Las capas se pueden configurar como visibles u ocultas, y es posible:
Una vez se ha creado un grupo en una capa con su agente representante, no se puede generar otro grupo igual con otro agente.
Una vez que la capa está configurada (estará completamente guardada, con el mapa completo, al hacer clic en el botón Save map) será desplazada a la columna de la izquierda de las capas definidas, donde es posible ordenarlas (mover hacia arriba y hacia abajo), borrarlas o editarlas de nuevo.
Una vez que termine con la definición de las capas del mapa, puede guardarlas todas con el botón Save map (botón Update map en el caso de la edición de un mapa).
El menú de mapas GIS despliega todos los mapas definidos. Cada uno puede visualizarse desplegando el mapa con los parámetros definidos en el mapa. A su vez, una vez abierto, cada mapa se puede editar pulsando cobre el botón de Setup ubicado en el borde superior.
Los controles para el mapa incluyen cuatro flechas verdes en la esquina superior izquierda que permiten desplazarse por el mapa en cada una de las direcciones. Con los iconos + y - para aumentar y disminuir el nivel de zoom, y una barra de zoom para seleccionar directamente el nivel deseado.
Arrastrando el mapa también es posible desplazarse.
Se puede hacer clic sobre los agentes mostrados en el mapa para obtener más información acerca del agente (y una vez que el globo con la información extra se despliegue, el nombre del agente es un enlace a la vista de agente).
Si pulsamos sobre el botón + de la derecha se abrirán los controles de capas. Despliega una caja verde donde es posible seleccionar la capa base (la conexión al servidor de mapa, si se hubiese definido más de una para el mapa), y ver qué capas están visibles.
También existe una capa especial definida por el sistema llamada Jerarquía de agentes (Agent hierarchy). Si esta capa se puede visualizar, mostrará lineas punteadas de rojo conectando un agente con su agente padre (si ambos están visibles).
Encima del mapa hay opciones de filtrado por el estado de los agentes:
Al lado de los botones de filtro hay una casilla combo llamada Refresh para seleccionar el rango de actualización del mapa. El mapa emplea llamadas AJAX para refrescar los agentes en el mapa utilizando el periodo elegido.
La vista de agente de la consola de Pandora FMS también tiene funcionalidades GIS. Lo primero que aparece en la vista principal es la localización del agente en términos de longitud, latitud y altitud.
Hay un botón en la barra superior (siempre que GIS esté activado) que muestra la vista GIS del agente.
Esta vista muestra la posición del agente en el mapa por defecto, en una tabla con toda la información reportada por el agente, incluyendo un sistema de geolocalización inversa que muestra la dirección del agente con la calle, la ciudad y el país donde se encuentra.
Entre las pestañas de administración del agente, hay una opción para fijar de modo manual la posición del agente. También la pestaña agent manage tiene algunos parámetros que afectan a las funcionalidades GIS.
En la pestaña agent manage hay una opción llamada Update new GIS data. Si está activada, el servidor actualizará toda la información posicional recibida del agente y dejará de usar los últimos valores válidos para este agente. Al estar inactiva esta opción, es útil si un agente esté reportando una posición errónea o haya que situarlo en un lugar fijo.
La pestaña Gis Data muestra el mapa por defecto. Es posible hacer clic en él para definir la nueva posición del agente, o bien fijarla utilizando el formulario de la parte inferior del mapa.
Fijar manualmente la posición del agente activará también la opción de ignorar nuevos datos GIS (Ignore new GIS data - que luego tomará valor contrario en la opción "Update new GIS data" - ), para así evitar que el siguiente paquete de datos con información posicional del agente reajuste de nuevo la posición.
Si esta no es esta la conducta deseada, recuerde desactivar la opción Ignore new GIS data antes de pulsar el botón Update.