मैं कमांड लाइन से मैन्युअल रूप से नैगियोस चेक कैसे चला सकता हूं?


24

जब मैं nagios में नई सेवाओं को परिभाषित और परीक्षण कर रहा हूं, तो मैं nagios को फिर से शुरू कर रहा हूं, फिर सेवा पर क्लिक कर रहा है, और जितनी जल्दी हो सके एक चेक का पुनर्निर्धारण कर रहा है, तब तक चेक होने तक प्रतीक्षा कर रहा है।

क्या ऐसा करने का अधिक कुशल तरीका है? मैं कमांड लाइन का उपयोग उस विशेष जांच को चलाने और आउटपुट प्राप्त करने के लिए करना चाहता हूं।

जवाबों:


31

कभी-कभी मुझे लगता है कि यह मुश्किल है कि एक प्लगइन क्या कर रहा है। यह पता लगाने के लिए मैं इस तरह के विन्यास के साथ डीबग मोड में नागों को सेट करता हूं। debug_level=2048 डीबग मोड में नागों के साथ मैं बस debug_logफ़ाइल को पूंछता हूं debug_file=/var/log/nagios3/nagios.debug। एक चेक को बल दें और आप देखेंगे कि कमांड कैसे चलाया जा रहा है। मैं इस सेटिंग को सामान्य रूप से नहीं छोड़ूंगा, हालांकि, यह बहुत ही क्रियात्मक है और आपकी लॉग फ़ाइल को तीव्र दर से भरता है।


बहुत बढ़िया। यह मेरे मतलब की रेखाओं के साथ अधिक है। सिर्फ इसलिए कि मैं पहले से ही आदेशों को देखने के लिए command.cfg फाइल में देख चुका था कि कौन सी कमांड चल रही है, लेकिन मैं जानना चाहता था कि क्या झंडे लगाए जा रहे थे। धन्यवाद! :)
cwd

2
मैं नए उपयोगकर्ताओं के लिए भी सलाह tail -fदूंगा कि आप वास्तविक समय में फ़ाइल में अपडेट देखना जारी रखेंगे और control+cइसे रद्द कर देंगे।
cwd

2
डीबग_वेल्स बाइनरी हैं - 2048 केवल मैक्रोज़ के संदेशों को चालू करता है। सब कुछ चालू करने के लिए, आप डिबग_लेवल = 4095 सेट करना चाहते हैं। (1 + 2 + ... + 2048)
jwg

18

यह बहुत आसान है। प्लग इन निर्देशिका में बस सीडी (या नहीं) (यह निर्देशिका स्थान भिन्न होता है, यह इस बात पर निर्भर करता है कि आपने इसे कैसे स्थापित किया है, लेकिन चेक / usr / स्थानीय / nagios, या / usr / lib / nagios)।

वह प्लगइन ढूंढें जिसे आप चलाना चाहते हैं (यदि आप निश्चित नहीं हैं, तो अपने प्लगइन्स निर्देशिका में अपने प्लगइन्स निर्देशिका में जो कुछ भी है, उसकी तुलना यहां स्थित प्लगइन्स से करें: http://exchange.nagios.org/directory/Plugins , या चलाने का प्रयास करें "./plugin-name -h" प्लगइन के बारे में मदद जानकारी प्राप्त करने के लिए)।

कमांड लाइन से इन "प्लगइन्स" में से किसी का उपयोग करने की विधि किसी भी अन्य लिनक्स स्क्रिप्ट के समान है: बस चलाएं "//plugin-name "उपयुक्त झंडे के साथ जिसे आप जांचना चाहते हैं, और वॉइला!


1
+1 ... और अगर यह बहुत अधिक परेशानी की तरह लगता है, तो आप हमेशा यह देखने के लिए कि क्या कमांड और मापदंडों को चलाने की जरूरत है, नागोइस कॉन्फ़िगर फ़ाइलों को देख सकते हैं। यहां तक ​​कि प्लगइन्स निर्देशिका का स्थान भी इसमें है।
जॉन गार्डनियर्स

5
और ध्यान रखें कि इसे हमेशा nagiosउपयोगकर्ता के साथ करें su - nagios -s /bin/bash
क्वांटा

अच्छा। और -उस उपयोगकर्ता के लिए पर्यावरण चर लोड करता है?
cwd

हाँ, किसी भी अन्य झंडे के समान, "-" जो भी झंडे आप उपयोग करते हैं, वह ध्वज को लोड करेगा। (यदि मैं Linux CLI पर df -h चला रहा था, तो मैं "h" ध्वज का उपयोग कर रहा हूं - df कमांड के मामले में, h "मानव पठनीय" के लिए खड़ा है।) इसलिए यदि आप check_http चेक चलाना चाहते हैं। CLI से, आप दौड़ेंगे ।/check_http -I, जहाँ I ध्वज IP पते ( nagiosplugins.org/man/check_http ) के लिए खड़ा है । nagiosplugins.org/man सहायक हो सकता है, साथ ही प्लगइन्स निर्देशिका मैं पहले से जुड़ा हुआ है।
डेविड डब्ल्यू

सहायता विकल्प --help होना चाहिए। nagios-plugins.org/doc/guidelines.html
dmourati

5

मैं @Zoredache की तुलना में थोड़ा अधिक क्रूर-बल दिशा लेता हूं, मैं nagios सर्वर पर लॉग इन करता हूं और "सच करता हूं; ps awwlx | grep NAGIOS_CHECK_NAME; किया गया" करता हूं, जबकि मैं सेवा की पुन: जांच के लिए बाध्य करता हूं, जहां NAGIOS_CHECK_NAME या तो है। चेक नाम या सर्वर के आईपी का हिस्सा जिसे मैं देख रहा हूं। आमतौर पर कुछ सेकंड के भीतर पूरा चेक कमांड पॉप अप हो जाता है और मैं तब लूप को मारता हूं और चेक कमांड चलाता हूं।

हाँ, यह पूरी तरह से क्रूर है, लेकिन <श्रग> यह मेरे लिए काम करता है।


लूप के स्थान पर "घड़ी" का प्रयास करें। linux.about.com/library/cmd/blcmdl1_watch.htm
dmourati

3

आप 'कैप्चर' प्लगइन को आज़माना भी चाह सकते हैं। यह अनिवार्य रूप से 2048 के डिबग स्तर के समान काम करता है, लेकिन प्रति-प्लगिन आधार पर उपयोग किया जा सकता है। इसके माध्यम से खुदाई करने के लिए कम उत्पादन प्राप्त होता है।

http://www.waggy.at/nagios/capture_plugin.htm


1
मैंने इसे काम करने के लिए संघर्ष किया, यह सुनिश्चित नहीं किया कि मैं क्या गलत कर रहा था (noob) लेकिन debug_level चाल ने मेरे लिए काम किया :)
sbditto85

2

अपने प्लगइन निर्देशिका पर जाएं - मेरे उदाहरण में यह है

/usr/lib64/nagios/plugins/

आप प्लगइन नाम टाइप करें - मेरे उदाहरण में यह है

check_tcp

अब पूरा कमांड चलाएं - (प्लगइन नाम) -एच (होस्टनाम) -पी (पोर्ट नंबर)

/usr/lib64/nagios/plugins/check_tcp -H myservername -p 8080

उत्पादन

TCP OK - 0.004 second response time on port 8080|time=0.004146s;;;0.000000;10.000000

हालाँकि इस उदाहरण में पोर्ट नंबर वैकल्पिक है

एक और उदाहरण -

आपकी कॉन्फिग फ़ाइल में जो नीचे की तरह कुछ दिखाई देता है (myserver.cfg) और आप कमांड लाइन से check_cpu चलाना चाहते हैं

define service{
  use                             generic-service
  host_name                       myserver
  servicegroups                   windows
  service_description             CPU
  contact_groups                  sysadmin_email_only
  notification_options            w,c,r
  check_command                   check_nrpe!check_cpu
}

तुरन्त जाँच करने के लिए (बिना जीयूआई हरे या लाल)

इसे आज़माएं - (प्लगइन फुल पाथ) - H (servername) -c (checkname)

/usr/lib64/nagios/plugins/check_nrpe -H spc7atc01 -c check_cpu

आउटपुट -

OK CPU Load ok.|'5'=4;80;90; '10'=3;80;90; '15'=3;80;90;

बस

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