ArcGIS Server 서비스가 중지 / 종료 될 때 이메일을받을 수있는 방법이 있습니까?


10

때때로, 그러나 불행히도 종종 내 AGS 서비스는 아무 이유없이 멈 춥니 다. 일반적으로 사용자가 전화하여지도에 데이터가없는 이유를 묻기 전까지는이 사실을 알지 못합니다.

서비스가 중지되면 AGS로부터 응답을받을 수있는 방법이 있습니까? 다른 AGS 사용자는이 문제를 어떻게 처리합니까?


이는 ArcPy for ArcGIS Server (버전 10.1)를 사용하여 가능합니다. 나는 내 편 에서이 문제에 대해 연구하고있다. 더 많은 도움이 필요 하면 resources.arcgis.com/en/help/main/10.1/index.html#//… 를 확인 하고 내 편이 완벽 할 때 알려 주십시오 . )
Sunil

+ 1 모든 서비스 또는 특정 서비스에이 기능이 필요합니까? + 자세한 내용은 ArcGIS Admin API 다운로드
Sunil

모든 서비스에 실제로 필요하지만 일부 서비스는 클라이언트에게 데이터를 제공하고 다른 서비스는 내부 용이기 때문에 다른 서비스보다 더 중요합니다.
Robert Buckley

그러한 상황에서 서비스의 재활용 또는 건강 점검 설정의 목적은 무엇입니까?
Deep

답변:


3

나는 같은 문제를 해결 했으며이 솔루션을 가지고 있습니다. 아래 코드를 Python으로 작성했습니다 (URL의 "localhost"가 AGS 서버 이름으로 변경됨).

# -*- 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" 

Hi- 중지 된 서비스에 대한 최종 로그를 추가 할 수 있습니까?
Deep

4

ArcGIS Server Admin REST API 를 살펴 보겠습니다 .

실행중인 파이썬 스크립트를 작성하고 주기적으로 실행되도록 예약 할 수있는 것처럼 보입니다. 스크립트는 클러스터에있는 모든 서비스를 가져온 다음 관심있는 서비스가 있는지 확인하고 상태가 있는지 확인 합니다 .

그렇지 않으면 알림 이메일을 보내십시오.

원하는 경우 스크립트가 서비스를 다시 시작할 수도 있습니다.

확실하지 않지만 ArcPy 관리자 패키지 관리자는이 API를 사용하는 방법을 제공 할 수 있습니다.


고마워 커크 .. 그걸 좀 볼게. 그것은 그것에 대한 논리적 인 방법처럼 보입니다.
Robert Buckley

1

현재이 ServiceMonitor 배치 스크립트를 사용합니다.이 스크립트는 전자 메일 알림을 수행합니다. 매일 아침 실행되도록 Windows 예약 작업으로 설정했습니다.

유일한 단점은 많은 서비스가 있기 때문에 실행하는 데 시간이 오래 걸리므로 원하는만큼 자주 실행할 수 없다는 것입니다. 어쩌면 Admin REST API 또는 ArcPy가 더 빠를 수 있습니다.


이것은 10.0에서만 작동하는 것 같습니다. 10.1 / 10.2를 사용하고 당신을 위해 그것을 만든 경우 궁금합니다.
Alex Tereshenkov

1
10.2에서 간략하게 실행했지만 정상적으로 작동하는 것처럼 보이지만 10.2 서버에 다른 문제가 발생하여 광범위하게 테스트하지 않았습니다. 나는 10.1로 전혀 테스트하지는 않았지만 기본적으로 각 서비스의 WSDL에 도달 할 수 있는지 확인하기 때문에 모든 버전에서 작동해야합니다.
mrohlf

정보 감사합니다. Esri의 서비스 모니터 (몇 달 전에 출시 된)를 사용해 볼 기회가 있다면 귀하의 요구에 잘 맞을 것이라고 생각합니다 ( arcgis.com/home/item.html?id=848f48b0f88e4de7a036377197453efe ). 다음은 몇 가지 다른 유용한 자원이다 - gis.stackexchange.com/questions/73863/...
알렉스 Tereshenkov

와우, 정말 유용한 것 같습니다-감사합니다! 다이나믹 한 서비스 검색 및 모니터링은 우리가 필요로하는 것에 완벽하게 들립니다.
mrohlf

1

자유 시간에 ArcGIS 서버 REST URL에 대한 웹 요청을 생성하고 서비스의 응답을 평가하는 Python 스크립트를 작업했습니다. 답변이 부정적이면 특정 이메일 주소로 이메일 알림이 전송됩니다.

ArcGIS Server의 개별 서비스를 모니터링하는 데 간단하지만 유용하다고 생각합니다. 나는 그것이 누군가에게 도움이되기를 바랍니다.

블로그의 모든 정보 : http://oneteamgis.wordpress.com/2014/03/24/uno-script-python-che-monitora-i-servizi-di-arcgis-server/

다미아노


불행히도 블로그 게시물은 더 이상 온라인 상태가 아닙니다.
Erica
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.