10 votos

Hay alguna forma de recibir un correo electrónico cuando de servicios de ArcGIS Server se detiene o hacia abajo?

Ocasionalmente, pero demasiado a menudo, por desgracia, mis AGS servicios a dejar por ningún motivo. Normalmente no me aviso de esto hasta que los usuarios me llaman y me preguntan por qué sus mapas no tienen datos.

Es allí cualquier manera (yo estaba pensando en Python) que puede obtener una respuesta de AGS cuando los servicios se detienen? Cómo hacer otros AGS usuarios de lidiar con este problema?

7voto

Jordan Arron Puntos 20994

Actualmente utilizamos este ServiceMonitor secuencia de comandos por lotes, lo que hace notificaciones por correo electrónico. Nos lo configure como una tarea programada de Windows para que se ejecute cada mañana.

El único inconveniente es que se necesita bastante tiempo para ejecutar ya que disponemos de un gran número de servicios, por lo que no puede correr tan a menudo como nos gustaría. Tal vez la Administración de API de REST o de ArcPy sería más rápido.

4voto

saint_groceon Puntos 2696

Me gustaría echar un vistazo en el ArcGIS Server Admin API de REST para esto.

Parece que podría escribir una secuencia de comandos de python que se ejecuta en y programarla para que se ejecute periódicamente. El script podría obtener todos los servicios en un clúster, y luego a ver si el servicio de interés está presente, y si a fin de comprobar su estado.

De lo contrario, correo electrónico una notificación.

El script podría también (re)iniciar el servicio, si usted quería.

No estoy seguro, pero el ArcPy admin paquete de administración podría proporcionar una manera de trabajar con esta API.

3voto

Emma Puntos 1

Me han resuelto el mismo problema y tengo la solución. He escrito en Python este código siguiente ("localhost" en el cambio de URL a nombre de su AGS servidor):

# -*- coding: cp1250 -*-
import smtplib, urllib


from email import Encoders
from email.MIMEBase import MIMEBase
from email.MIMEMultipart import MIMEMultipart
from email.Utils import formatdate
from email.MIMEText import MIMEText
from email.MIMEMessage import MIMEMessage

COMMASPACE = ', '
SERVER = "IP adresss of post server"
FROM = "email adress from"
TO = ['1.email adress to','2.email adress to']

SUBJECT = "Some services on ArcGIS Server are down"

ServicesDown = []
CountOfServicesDown=0
TEXT="No problem"


# 1. Service - mapservice1
print "Test of service - mapservice1"
opener = urllib.FancyURLopener({})

f = opener.open("http://"localhost"/arcgis/rest/services/mapservice1/MapServer?wsdl")
code = urllib.urlopen("http://"localhost"/arcgis/rest/services/mapservice1/MapServer?wsdl"?wsdl").getcode()

if code is not 200:
    print "code: ", code
    print "mapservice1 is down"
    ServicesDown.append("mapservice1")
    CountOfServicesDown=CountOfServicesDown+1
else:
    print "service is OK"


# 2. Service - mapservice2
print "Test of service - mapservice2"
opener = urllib.FancyURLopener({})

f = opener.open("http://"localhost"/arcgis/rest/services/mapservice2/MapServer?wsdl")
code = urllib.urlopen("http://"localhost"/arcgis/rest/services/mapservice2/MapServer?wsdl"?wsdl").getcode()

if code is not 200:
    print "code: ", code
    print "mapservice1 is down"
    ServicesDown.append("mapservice2")
    CountOfServicesDown=CountOfServicesDown+1
else:
    print "service is OK"


print "\r\n"+"ServicesDown: ",ServicesDown
print "CountOfServicesDown= ",CountOfServicesDown

if CountOfServicesDown > 0:
    TEXT = "There are down this services: "+str(ServicesDown[:CountOfServicesDown])
    print "TEXT: ", TEXT


    # Prepare actual message

    message = """\
From: %s
To: %s
Subject: %s

%s
""" % (FROM, ", ".join(TO), SUBJECT, TEXT)


    server = smtplib.SMTP(SERVER)
    server.sendmail(FROM, TO, message)
    server.quit()
    print "\r\n"+"Email was send"

else:
    print "\r\n"+"There is no problem on AGS services" 

1voto

Marcel Jackwerth Puntos 20632

En el tiempo libre que he trabajado en una secuencia de comandos de Python que genera una solicitud web de ArcGIS server RESTO de la url y se evalúa la respuesta del servicio. Si la respuesta es negativa, se enviará una alerta de correo electrónico a una dirección de correo electrónico específica.

Creo que es simple, pero útil para el seguimiento individual de los servicios de ArcGIS Server. Espero que sea útil para alguien.

Toda la info en nuestro blog: http://oneteamgis.wordpress.com/2014/03/24/uno-script-python-che-monitora-i-servizi-di-arcgis-server/

Damián

i-Ciencias.com

I-Ciencias es una comunidad de estudiantes y amantes de la ciencia en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X