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 प्रतिसाद कोड प्राप्त करता है तो भी यह ठीक है।