Hostgroups और टेम्पलेट्स।
टेम्पलेट आपको अपने मेजबानों और सेवाओं के लिए कक्षाएं परिभाषित करने देते हैं, जैसे "सामान्य सेवा", "महत्वपूर्ण सेवा", "कम-प्राथमिकता वाले मेजबान"। यदि आप विभिन्न जिम्मेदारियों के साथ कई टीमों को प्राप्त कर चुके हैं, तो वे जिम्मेदारियों को विभाजित करने के लिए एक उपयोगी तरीके के रूप में भी काम करते हैं, इसलिए आपके पास एक "लिनक्स होस्ट" टेम्पलेट और एक "विंडोज़ होस्ट" टेम्पलेट हो सकता है, प्रत्येक के साथ उचित संपर्क जानकारी को परिभाषित करना होगा।
आप एक ही संसाधन पर कई टेम्पलेट्स का उपयोग कर सकते हैं, ताकि आप उचित रूप से-ऑर्थोगोनल टेम्पलेट्स की रचना कर सकें। उदाहरण के लिए, आपके पास हो सकता है
host foo {
use windows-host,normal-priority-host
...
}
जो कि विंडोज टीम और "सामान्य" होस्ट के लिए पोलिंग रेट और थ्रेसहोल्ड के लिए संपर्क जानकारी (और एस्केलेशन) में खींच जाएगा।
Hostgroups आप अपने मेजबान के एक सबसेट के लिए चेक के सभी एक साथ समूह। "बेसलाइन-लाइनक्स-होस्ट" जैसी चीजें हैं जो लोड, डिस्क स्थान, sshक्षमता, और जो भी अन्य चीजें आपको मॉनिटर करती हैं, उन सभी चीजों की जांच करनी चाहिए। HTTP कनेक्टिविटी, HTTPS कनेक्टिविटी और एसएसएल सर्टिफिकेट एक्सपायरी डेट के चेक के साथ "https-server" जैसे ग्रुप जोड़ें; NFS और SMB पहुँच क्षमता और शायद अधिक आक्रामक डिस्क जाँच के लिए "fileservers"; या "वर्चुअल-मशीन" चेक के साथ कि क्या VM एक्सेसिबिलिटी टूल ठीक से चल रहे हैं।
प्रत्येक होस्ट और होस्टग्रुप को अपनी फ़ाइल में रखें। उस फ़ाइल में पहले होस्ट या होस्टग्रुप परिभाषा होनी चाहिए, उसके बाद उस पर लागू होने वाली सेवाओं की परिभाषाएँ।
यदि आप cfg_dirअपनी nagios.cfgफ़ाइल में निर्देश का उपयोग करते हैं, तो Nagios उस निर्देशिका के माध्यम से पुन: खोज करेगा। उस का उपयोग करें। सेटिंग के लिए cfg_dir=/etc/nagios/conf.d, आपके पास निम्न की तरह एक निर्देशिका ट्री हो सकता है:
- /etc/nagios/conf.d/
- commands.d /
- http.cfg
- nrpe.cfg
- smtp.cfg
- ssh.cfg
- hosts.d /
- host1.cfg
- host2.cfg
- host3.cfg
- hostgroups.d /
- hostgroup1.cfg
- hostgroup2.cfg
मैं सेवाओं को छोड़कर प्रत्येक संसाधन प्रकार (कमांड, संपर्क समूह, संपर्क, एस्केलेशन, होस्टग्रुप, होस्ट, सर्विसग्रुप, टाइमपरियोड) के लिए एक निर्देशिका बनाता हूं, जो होस्ट या होस्टग्रुप के साथ समूहीकृत हो जाते हैं जो उनका उपयोग करते हैं।
आपकी संगठनात्मक आवश्यकताओं के अनुसार सटीक संरचना भिन्न हो सकती है। पिछली नौकरी में, मैंने hosts.dप्रत्येक अलग साइट के लिए उपनिर्देशिका का उपयोग किया । मेरी वर्तमान नौकरी में, अधिकांश Nagios होस्ट परिभाषाएं कठपुतली द्वारा प्रबंधित की जाती हैं, इसलिए कठपुतली प्रबंधित मेजबान के लिए एक निर्देशिका और हाथ से प्रबंधित मेजबान के लिए एक अलग है।
ध्यान दें कि ऊपर भी कई फाइलों में कमांड्स टूट जाती हैं, आम तौर पर प्रोटोकॉल द्वारा। इस प्रकार, nrpe.cfgफ़ाइल आदेशों के लिए होता है check_nrpeऔर check_nrpe_1arg, जबकि http.cfgहो सकता था check_http, check_http_port, check_https, check_https_port, और check_https_cert। 1
मेरे पास आमतौर पर बहुत अधिक संख्या में टेम्पलेट नहीं हैं, इसलिए मेरे पास आमतौर पर केवल एक hosts.d/templates.cfgफ़ाइल और एक services.d/templates.cfgफ़ाइल है। यदि आप उन्हें अधिक भारी उपयोग करते हैं, तो वे एक templates.dनिर्देशिका में उचित रूप से नामित फ़ाइलों में जा सकते हैं ।
1 मुझे एक check_http_blindlyकमान भी पसंद है , जो मूल रूप से है check_http -H $HOSTADDRESS$ -I $HOSTADDRESS$ -e HTTP/1.; यदि यह 403 प्रतिसाद कोड प्राप्त करता है तो भी यह ठीक है।