¡Esta es una revisión vieja del documento!
Consola GIS
Pandora GIS
Introducción
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.
Instalación
Configuración del Agente
El archivo pandora_agent.conf
de los Agentes Software cuenta con unos parámetros para configurar el posicionamiento del dispositivo:
- Longitud.
- Latitud.
- Altitud.
- Descripción de posición.
Puede utilizarse también el parámetro gis_exec
para indicar la ruta de un guión (script) que devuelva las coordenadas del dispositivo en una cadena con el formato “latitud,longitud,altitud”.
Ejemplo:
# Agent position paramters # 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
Configuración del Servidor
Las funcionalidades GIS también deben ser habilitadas en el servidor, habilitando 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®.
- Puede activar la geolocalización inversa de Google® poniendo el parámetro
google_maps_description
a1
. - Puede activar la geolocalización inversa de Openstreet Maps® poniendo el parámetro
openstreetmaps_description
a 1. - Tenga mucho cuidado usando esta funcionalidad porque disminuye el rendimiento del servidor de Pandora FMS.
- Tenga también también en cuenta que necesita acceso a Internet para usar el API Google® u Openstreet Maps® y que, por supuesto, esta funcionalidad depende de la disponibilidad de los proveedores de estos servicios.
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 /usr/share/pandora_server/util/agent_gis_update.pl
, pero se puede localizar en la carpeta que el usuario prefiera.
Ejemplo:
/usr/share/pandora_server/util/agent_gis_update.pl /etc/pandora/pandora_server.conf
Configuración de la Consola
En la Consola, para utilizar las funcionalidades GIS, primero deberá estar activado en la configuración principal. Vaya al menú 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.
En Setup → Setup → GIS map connection definirá las conexiones que pueden ser utilizadas con map servers para proporcionar mapas para las funcionalidades GIS.
Configuración Básica
La conexión tiene varios parámetros básicos:
- Connection name: Un nombre para la configuración, para que pueda ser reconocido cuando se seleccione una conexión en la pantalla de definición del mapa.
- Group: El grupo al que pertenece la conexión. Aunque el usuario quien está creando la conexión de mapa GIS no pertenezca explícitamente al grupo TODOS (ALL), aún así podrá asignar el grupo ALL como grupo al que pertenece la conexión.
- Number of zoom levels: El número de niveles de aumento (zoom) definido en el mapa.
- Default zoom level: El nivel de aumento por defecto recomendado para el mapa (que se puede redefinir en el mapa) y es el nivel de zoom utilizado cuando el mapa está desplegado.
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.
OpenStreetMap
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®, lea (en inglés) y siga atentamente las instrucciones de nombrado y acreditación.
Google Maps
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 clave tarde varios minutos en funcionar tras ser obtenida.
Imagen Estática
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).
Servidor WMS
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 por 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.
Centro del Mapa y Posición por Defecto
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.
GIS Maps
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 (icono + encerrado en un círculo).
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.
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 respresentante. 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:
- Seleccionar el grupo con el selector para añadir sus agentes.
- Añadir agentes con la celda de manera individual.
- Añadir un grupo con un único agente como representante.
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).
Operación
Una vez que haya al menos un mapa definido, será posible empezar a utilizar las funcionalidades GIS.
Mapas GIS
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.
Desplazarse por el mapa
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 click 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).
Las Capas Ocultar/Mostrar/ Seleccionar
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. Si esta capa se puede visualizar, mostrará lineas punteadas de rojo conectando un agente con su agente padre (si ambos están visibles).
Filtros
Encima del mapa hay opciones de filtrado por el estado de los agentes:
- Ok
- Critical
- Warning
- Other
Refrescar el Mapa
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 http://en.wikipedia.org/wiki/AJAX AJAX para refrescar los agentes en el mapa utilizando el periodo elegido.
Edición del mapa y Pantalla completa
Los tres últimos botones en la parte superior del mapa son un link a la Visual Console, un link al GIS Map Builder para editar el Mapa, y un botón para ver el mapa en Pantalla completa.
Vista de Agente
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.
Vista Histórica GIS
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, con una tabla que muestra el historial de posiciones previas del agente y una ruta de estas posiciones en el mapa.
Cada posición en el mapa está representada por un punto (excepto la actual, que está representada por el icono del agente). Es posible hacer clic en cualquiera de estos puntos para conseguir información relativa a esa posición, y también hacer clic en el icono del agente para mostrar la información actual del mismo. La siguiente imagen muestra el camino recorrido por el agente de Pandora FMS para dispositivos Android.
Además, puede verse 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.
Configuración del Agent GIS
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.
Ignorar datos GIS
En la pestaña agent manage hay una opción llamada Ignore GIS data. Si está activada, el servidor ignorará toda la información posicional recibida del agente y seguirá usando los últimos valores válidos para este agente. Esto es útil en caso de que un agente esté reportando una posición errónea o haya que situarlo en un lugar fijo.
Posición manual del agente
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, para evitar el siguiente paquete de datos con información posicional del agente para reajustar de nuevo la posición. Si esta no es la conducta deseada, no olvide desactivar la opción Ignore new GIS data antes de pulsar el botón Update
Enlaces útiles
Colección de enlaces útiles para el montaje del entorno de pruebas y el desarrollo con OpenLayers.
OpenLayers
- Página en Wikipedia de OpenLayers
- Documentación de Openlayers (hecha con Natural Docs): Openlayers doc
- Más sobre estilo de Openlayers Documentación Oficial de Estilos
- Ayuda para la depuración con Firebug Openlayers Debug
OpenStreetMap
- Descarga de ficheros OSM
OS Geo
The Open Source Geospatial Foundation
Geo Server
- Página principal geoserver.org
- Última versión estable
PostgreSQL
- Documentación de PostgreSQL 8.1