यह लेख बताता है कि Windows मशीनों की "प्राइवेट" सेवाओं जैसे CPU लोड, डिस्क उपयोग, मेमोरी उपयोग, सेवाएं, आदि को कैसे मॉनिटर किया जाए। इसके लिए, हमें Windows मशीन पर NSClient++ एडऑन इंस्टॉल करना आवश्यक है। एडऑन Windows मशीन और Nagios के बीच एक प्रॉक्सी के रूप में कार्य करता है और check_nt प्लगइन के साथ संचार करके वास्तविक सेवाओं की निगरानी करता है। check_nt प्लगइन पहले से ही Nagios मॉनिटरिंग सर्वर पर इंस्टॉल है, यदि आपने हमारे Nagios इंस्टॉलेशन गाइड का पालन किया है।
हम मानते हैं कि आपने पहले ही हमारे निम्नलिखित गाइड के अनुसार Nagios सर्वर इंस्टॉल और कॉन्फ़िगर कर लिया है।
- RHEL/CentOS 6.x/5.x और Fedora 19/18/17 पर Nagios 4.0.1 कैसे इंस्टॉल करें
- Nagios मॉनिटरिंग सर्वर में लिनक्स होस्ट जोड़ें
Windows मशीनों को मॉनिटर करने के लिए आपको कई चरणों का पालन करना होगा और वे हैं:
- Windows मशीन पर NSClient++ एडऑन इंस्टॉल करें।
- Windows मशीन की मॉनिटरिंग के लिए Nagios सर्वर कॉन्फ़िगर करें।
- Windows मशीन मॉनिटरिंग के लिए नए होस्ट और सर्विस परिभाषाएं जोड़ें।
- Nagios सेवा को पुनरारंभ करें।
इस गाइड को सरल और आसान बनाने के लिए, Nagios इंस्टॉलेशन में आपके लिए कुछ कॉन्फ़िगरेशन पहले से ही किए गए हैं।
- एक check_nt कमांड परिभाषा पहले से ही command.cfg फाइल में जोड़ी गई है। यह परिभाषा कमांड check_nt प्लगइन द्वारा Windows सेवाओं की निगरानी के लिए उपयोग की जाती है।
- एक windows-server होस्ट टेम्पलेट पहले से ही templates.cfg फाइल में बनाया गया है। यह टेम्पलेट आपको नई Windows होस्ट परिभाषाएं जोड़ने की अनुमति देता है।
उपरोक्त दो फाइलें "command.cfg" और "templates.cfg" /usr/local/nagios/etc/objects/ डायरेक्टरी में पाई जा सकती हैं। आप अपनी आवश्यकता के अनुसार अपनी परिभाषाओं को संशोधित और जोड़ सकते हैं। लेकिन, मैं आपको इस लेख में वर्णित निर्देशों का पालन करने की सलाह दूंगा और आप 20 मिनट से कम समय में अपने Windows होस्ट को सफलतापूर्वक मॉनिटर करेंगे।
चरण 1: Windows मशीन पर NSClient++ एजेंट इंस्टॉल करना
कृपया रिमोट Windows होस्ट पर NSClient++ एजेंट इंस्टॉल करने के लिए नीचे दिए गए निर्देशों का उपयोग करें। सबसे पहले नीचे दिए गए लिंक पर पाए जाने वाले नवीनतम स्थिर संस्करण NSClient++ 0.3.1 एडऑन सोर्स फाइल्स डाउनलोड करें।
- https://sourceforge.net/projects/nscplus/
एक बार जब आप नवीनतम स्थिर संस्करण डाउनलोड कर लेते हैं, तो NSClient++ फाइलों को एक नए C:\NSClient++ डायरेक्टरी में अनज़िप करें।
अब Start Screen –> Run –> 'cmd' टाइप करें और एंटर दबाकर एक MS-DOS कमांड प्रॉम्प्ट खोलें और C:\NSClient++ डायरेक्टरी में बदलें।
C:\NSClient++
अगला, निम्न कमांड के साथ सिस्टम पर NSClient++ सेवा रजिस्टर करें।
nsclient++ /install
अंत में, निम्न कमांड के साथ NSClient++ systray इंस्टॉल करें।
nsclient++ SysTray
Windows Services Manager खोलें और NSClient पर राइट क्लिक करें, Properties पर जाएं और फिर 'Log On' टैब पर जाएं और उस चेक बॉक्स पर क्लिक करें जो कहता है "Allow service to interact with the desktop"। यदि यह पहले से अनुमति नहीं है, तो कृपया इसे अनुमति देने के लिए बॉक्स चेक करें।

C:\NSClient++ डायरेक्टरी में स्थित NSC.INI फाइल खोलें और "CheckWMI.dll" और "RemoteConfiguration.dll" को छोड़कर "modules" सेक्शन में परिभाषित सभी मॉड्यूल को अनकमेंट करें।
[modules] ;# NSCLIENT++ MODULES ;# स्टार्टअप पर लोड करने के लिए DLLs की सूची। ; आपको NSClient++ के काम करने के लिए इनमें से कुछ को सक्षम करने की आवश्यकता होगी। ; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ; * * ; * N O T I C E ! ! ! - Y O U H A V E T O E D I T T H I S * ; * * ; ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! FileLogger.dll CheckSystem.dll CheckDisk.dll NSClientListener.dll NRPEListener.dll SysTray.dll CheckEventLog.dll CheckHelpers.dll ;CheckWMI.dll ; ; RemoteConfiguration IS AN EXTREM EARLY IDEA SO DONT USE FOR PRODUCTION ENVIROMNEMTS! ;RemoteConfiguration.dll ; NSCA Agent एक नया बीटा मॉड्यूल है सावधानी से उपयोग करें! ;NSCAAgent.dll ; LUA स्क्रिप्ट मॉड्यूल अपने स्वयं के "चेक डेमॉन" लिखने के लिए (तरह का) प्रारंभिक बीटा। ;LUAScript.dll ; बाहरी स्क्रिप्ट और/या आंतरिक उपनामों की जांच करने के लिए स्क्रिप्ट, प्रारंभिक बीटा। ;CheckExternalScripts.dll ; NRPE के माध्यम से अन्य होस्ट की जांच करें चरम बीटा और शायद थोड़ा खतरनाक! :) ;NRPEClient.dll
"Settings" सेक्शन में "allowed_hosts" को अनकमेंट करें और अपने Nagios मॉनिटरिंग सर्वर का IP एड्रेस परिभाषित करें या किसी भी होस्ट को कनेक्ट करने की अनुमति देने के लिए इसे खाली छोड़ दें।
[Settings] ;# अनुमत होस्ट एड्रेस ; यह उन होस्ट के IP एड्रेस की कॉमा-डिलिमिटेड सूची है जिन्हें सभी डेमॉन से बात करने की अनुमति है। ; यदि इसे खाली छोड़ दिया जाए तो कोई भी डेमॉन को दूरस्थ रूप से एक्सेस कर सकता है (NSClient को अभी भी एक वैध पासवर्ड की आवश्यकता है)। ; सिंटैक्स होस्ट या ip/mask है इसलिए 192.168.0.0/24 उस सबनेट पर किसी को भी एक्सेस की अनुमति देगा allowed_hosts=172.16.27.41
"NSClient" सेक्शन में "port" को अनकमेंट करें और डिफ़ॉल्ट पोर्ट '12489' पर सेट करें। '12489' पोर्ट को Windows Firewall पर खोलना सुनिश्चित करें।
[NSClient] ;# NSCLIENT पोर्ट नंबर ; यह वह पोर्ट है जिस पर NSClientListener.dll सुनेगा। port=12489
अंत में निम्न कमांड के साथ NSClient++ सेवा शुरू करें।
nsclient++ /start
यदि आपने सही ढंग से इंस्टॉल और कॉन्फ़िगर किया है, तो आपको सिस्टम ट्रे में एक नया आइकन दिखाई देना चाहिए जिसमें काले 'M' के साथ पीला सर्कल हो।
चरण 2: Nagios सर्वर कॉन्फ़िगर करना और Windows होस्ट जोड़ना
अब Nagios सर्वर में लॉगिन करें और नए Windows मशीन की निगरानी के लिए Nagios कॉन्फ़िगरेशन फाइलों में कुछ ऑब्जेक्ट परिभाषाएं जोड़ें। Vi एडिटर के साथ windows.cfg फाइल को संपादन के लिए खोलें।
[root@tecmint]# vi /usr/local/nagios/etc/objects/windows.cfg
windows.cfg फाइल में Windows मशीन के लिए एक नमूना होस्ट परिभाषा पहले से ही परिभाषित है, आप बस host_name, alias, और address फील्ड को अपने Windows मशीन के उपयुक्त मानों में बदल सकते हैं।
###############################################################################
###############################################################################
#
# होस्ट परिभाषाएं
#
###############################################################################
###############################################################################
# उस Windows मशीन के लिए होस्ट परिभाषित करें जिसकी हम निगरानी करेंगे
# अपनी स्थिति के अनुरूप host_name, alias, और address बदलें
define host{
use windows-server ; टेम्पलेट से डिफ़ॉल्ट मान इनहेरिट करें
host_name winserver ; इस होस्ट को दिया गया नाम
alias My Windows Server ; होस्ट से जुड़ा एक लंबा नाम
address 172.31.41.53 ; होस्ट का IP एड्रेस
}
निम्नलिखित सेवाएं पहले से ही windows.cfg फाइल में जोड़ी और सक्षम हैं। यदि आप कुछ और सर्विस परिभाषाएं जोड़ना चाहते हैं जिनकी निगरानी करने की आवश्यकता है, तो आप बस उन परिभाषाओं को उसी कॉन्फ़िगरेशन फाइल में जोड़ सकते हैं। ऊपर के चरण में परिभाषित host_name के साथ इन सभी सेवाओं के लिए host_name बदलना सुनिश्चित करें।
define service{
use generic-service
host_name winserver
service_description NSClient++ Version
check_command check_nt!CLIENTVERSION
}
अपटाइम मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें।
define service{
use generic-service
host_name winserver
service_description Uptime
check_command check_nt!UPTIME
}
CPU उपयोग मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें और यदि 5-मिनट CPU लोड 90% या अधिक है तो CRITICAL अलर्ट जनरेट करें या यदि 5-मिनट लोड 80% या अधिक है तो WARNING अलर्ट।
define service{
use generic-service
host_name winserver
service_description CPU Load
check_command check_nt!CPULOAD!-l 5,80,90
}
मेमोरी उपयोग मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें और यदि मेमोरी उपयोग 90% या अधिक है तो CRITICAL अलर्ट जनरेट करें या यदि मेमोरी उपयोग 80% या अधिक है तो WARNING अलर्ट।
define service{
use generic-service
host_name winserver
service_description Memory Usage
check_command check_nt!MEMUSE!-w 80 -c 90
}
Windows सर्वर पर C:\ ड्राइव के उपयोग को मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें और यदि डिस्क उपयोग 90% या अधिक है तो CRITICAL अलर्ट जनरेट करें या यदि डिस्क उपयोग 80% या अधिक है तो WARNING अलर्ट।
define service{
use generic-service
host_name winserver
service_description C:\ Drive Space
check_command check_nt!USEDDISKSPACE!-l c -w 80 -c 90
}
Windows मशीन पर W3SVC सर्विस स्टेट मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें और यदि सर्विस रुकी हुई है तो CRITICAL अलर्ट जनरेट करें।
define service{
use generic-service
host_name winserver
service_description W3SVC
check_command check_nt!SERVICESTATE!-d SHOWALL -l W3SVC
}
Windows मशीन पर Explorer.exe प्रोसेस मॉनिटर करने के लिए निम्न सर्विस परिभाषा जोड़ें और यदि प्रोसेस नहीं चल रहा है तो CRITICAL अलर्ट जनरेट करें।
define service{
use generic-service
host_name winserver
service_description Explorer
check_command check_nt!PROCSTATE!-d SHOWALL -l Explorer.exe
}
अंत में, windows.cfg फाइल को /usr/local/nagios/etc/nagios.cfg में अनकमेंट करें।
[root@tecmint]# vi /usr/local/nagios/etc/nagios.cfg
# Windows मशीन की निगरानी के लिए परिभाषाएं cfg_file=/usr/local/nagios/etc/objects/windows.cfg
अंत में, किसी भी एरर के लिए Nagios कॉन्फ़िगरेशन फाइलों को सत्यापित करें।
[root@tecmint]# /usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
Total Warnings: 0 Total Errors: 0 Things look okay - No serious problems were detected during the pre-flight check
यदि सत्यापन प्रक्रिया कोई एरर संदेश देती है, तो उन एरर को ठीक करें जब तक कि सत्यापन प्रक्रिया बिना किसी एरर संदेश के पूरी न हो जाए। एक बार जब आप उन एरर को ठीक कर लेते हैं, तो Nagios सेवा को पुनरारंभ करें।
[root@tecmint]# service nagios restart Running configuration check...done. Stopping nagios: done. Starting nagios: done.
बस इतना ही। अब "https://Your-server-IP-address/nagios" या "https://FQDN/nagios" पर Nagios मॉनिटरिंग वेब इंटरफ़ेस पर जाएं और यूज़रनेम "nagiosadmin" और पासवर्ड प्रदान करें। जांचें कि रिमोट Windows होस्ट जोड़ा गया था और निगरानी की जा रही है।

अभी के लिए बस इतना ही, मेरे अगले लेख में मैं आपको दिखाऊंगा कि Printer और Switches को Nagios मॉनिटरिंग सर्वर में कैसे जोड़ें। यदि आपको Windows होस्ट को Nagios में जोड़ने में कोई कठिनाई हो रही है। कृपया कमेंट सेक्शन के माध्यम से अपने प्रश्न कमेंट करें, तब तक Tecmint.com से जुड़े रहें ऐसे ही मूल्यवान लेखों के लिए।