क्या आर्कगिस सर्वर सेवाओं को बंद / डाउन करने पर ईमेल प्राप्त करने का कोई तरीका है?


10

कभी-कभी, लेकिन सभी अक्सर दुर्भाग्य से, मेरी एजीएस सेवाएं बिना किसी कारण के रुक जाती हैं। जब तक उपयोगकर्ता मुझे फोन नहीं करते और उनके नक्शे में कोई डेटा क्यों नहीं है, यह मैं आमतौर पर नहीं देखता।

क्या कोई रास्ता है (मैं पायथन सोच रहा था) कि मैं एजीएस से प्रतिक्रिया प्राप्त कर सकता हूं जब सेवाएं बंद हो जाती हैं? अन्य एजीएस उपयोगकर्ता इस समस्या से कैसे निपटते हैं?


यह आर्कजीआईएस सर्वर (संस्करण 10.1) के लिए आर्कपी का उपयोग करना संभव है। मैं इस मुद्दे पर अपनी तरफ से काम कर रहा हूं। अधिक जानकारी के लिए कृपया संसाधनों की जांच करें ।arcgis.com/en/help/main/10.1/index.html#//…… और आपको बताएंगे कि चीजें मेरे पक्ष में कब सही होंगी: )
सुनील

+ 1 क्या आपको सभी सेवाओं या विशिष्ट सेवाओं के लिए इसकी आवश्यकता है? + अधिक जानकारी के लिए ArcGIS एडमिन API डाउनलोड करें
सुनील

मुझे वास्तव में सभी सेवाओं के लिए इसकी आवश्यकता है ... लेकिन कुछ दूसरों की तुलना में अधिक महत्वपूर्ण हैं क्योंकि कुछ सेवाएं ग्राहकों को डेटा प्रदान करती हैं, और अन्य आंतरिक उपयोग के लिए हैं।
रॉबर्ट बकले

ऐसी स्थिति में, किसी भी सेवा के पुनर्चक्रण या स्वास्थ्य जांच सेटिंग का उद्देश्य क्या होगा?
डीप

जवाबों:


3

मैंने उसी समस्या को हल किया है और मेरे पास इसका समाधान है। मैंने पायथन में इस कोड को नीचे लिखा है ("लोकलहोस्ट" URL में अपने एजीएस सर्वर के नाम में परिवर्तन):

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

हाय- क्या रुकी हुई सेवा के लिए अंतिम लॉग जोड़ना संभव होगा?
दीप

4

मैं इसके लिए आर्कजीस सर्वर एडमिन रीस्ट एपीआई पर एक नज़र डालूंगा

ऐसा लगता है कि आप एक पायथन स्क्रिप्ट लिख सकते हैं जो समय पर चलती है और समय-समय पर इसे चलाने के लिए शेड्यूल करती है। स्क्रिप्ट को एक क्लस्टर में सभी सेवाएं मिलेंगी , फिर यह देखने के लिए कि क्या ब्याज की सेवा मौजूद है, और यदि इसकी स्थिति की जाँच करें ।

अन्यथा, एक अधिसूचना ईमेल करें।

यदि आप चाहते हैं तो स्क्रिप्ट भी सेवा को फिर से शुरू कर सकती है।

मुझे यकीन नहीं है, लेकिन ArcPy व्यवस्थापक पैकेज व्यवस्थापक इस API के साथ काम करने का एक तरीका प्रदान कर सकता है।


धन्यवाद किर्क .... मैं उस पर एक नज़र है। यह इसके बारे में जाने के लिए एक तार्किक तरीका लगता है।
रॉबर्ट बकले

1

वर्तमान में हम इस ServiceMonitor बैच स्क्रिप्ट का उपयोग करते हैं , जो ईमेल सूचनाएँ करता है। हम इसे विंडोज शेड्यूल किए गए कार्य के रूप में सेट करते हैं इसलिए यह हर सुबह चलता है।

केवल नकारात्मक पक्ष यह है कि हमें चलाने के लिए काफी समय लगता है क्योंकि हमारे पास बड़ी संख्या में सेवाएं हैं, इसलिए हम इसे जितनी बार चाहें उतनी बार नहीं चला सकते हैं। हो सकता है कि एडमिन रीस्ट एपीआई या आर्कपी जल्दी हो।


ऐसा लगता है कि यह केवल 10.0 पर काम करता है? यदि आप 10.1 / 10.2 का उपयोग करते हैं और यह आपके लिए काम कर रहा है, तो बस उत्सुक।
एलेक्स तेरेशेनकोव

1
मैंने इसे 10.2 पर संक्षिप्त रूप से चलाया और यह ठीक काम करने लगा, लेकिन हमने अपने 10.2 सर्वर के साथ अन्य मुद्दों में भाग लिया, इसलिए मैंने इसे बड़े पैमाने पर परीक्षण नहीं किया है। मैंने इसे 10.1 के साथ परीक्षण नहीं किया है, लेकिन इसे किसी भी संस्करण पर काम करना चाहिए क्योंकि यह मूल रूप से सिर्फ यह देखने के लिए जाँच कर रहा है कि प्रत्येक सेवा के लिए WSDL उपलब्ध है।
मेरोहल्फ

मैं देखता हूं, जानकारी के लिए धन्यवाद। यदि आपको कभी एसेरी के सर्विस मॉनिटर (कुछ महीने पहले जारी किया गया) की कोशिश करने का मौका मिलता है, तो मुझे लगता है कि यह आपकी आवश्यकताओं के अनुरूप होगा ( arcgis.com/home/item.html?id=848f48b0f88e4de7e7367197457efe )। यहाँ कुछ अन्य उपयोगी संसाधन हैं - gis.stackexchange.com/questions/73863/…
एलेक्स टेरेशेंकोव

वाह, यह वास्तव में उपयोगी लग रहा है - धन्यवाद! गतिशील सेवा खोज और निगरानी हमें जो चाहिए, उसके लिए एकदम सही लगती है।
मूरहल्फ

1

खाली समय में मैंने पायथन स्क्रिप्ट पर काम किया जो आर्कगिस सर्वर रीस्ट यूआरएल के लिए एक वेब अनुरोध उत्पन्न करता है और सेवा की प्रतिक्रिया का मूल्यांकन करता है। यदि उत्तर नकारात्मक है, तो एक विशिष्ट ई-मेल पते पर ईमेल अलर्ट भेजा जाएगा।

मुझे लगता है कि यह आर्कगिस सर्वर की व्यक्तिगत सेवाओं की निगरानी के लिए सरल लेकिन उपयोगी है। मुझे उम्मीद है कि किसी के लिए उपयोगी है।

हमारे ब्लॉग की सभी जानकारी: http://oneteamgis.wordpress.com/2014/03/24/uno-script-python-che-monitora-i-servizi-di-arcgis-server/

डेमियानो


ब्लॉग पोस्ट अब ऑनलाइन नहीं है, दुर्भाग्य से।
एरिका
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.