Bir nagios kontrolünü komut satırından elle nasıl çalıştırabilirim?


24

Nagios'ta yeni hizmetler tanımlarken ve test ederken, nagios'u yeniden başlattım, sonra servisi tıklattım ve en kısa zamanda bir çek yeniden planladım, sonra kontrol gerçekleşene kadar bekledim.

Bunu yapmanın daha etkili bir yolu var mı? Bu kontrolü çalıştırmak ve çıktı almak için komut satırını kullanmak istiyorum.

Yanıtlar:


31

Bazen bir eklentinin tam olarak ne yaptığını bulmak zor bulur. Bunu anlamak için nagios'u böyle bir yapılandırma ile hata ayıklama moduna getirdim. debug_level=2048 Hata ayıklama modunda nagios ile sadece debug_logdosyayı kuyruk debug_file=/var/log/nagios3/nagios.debug. Bir kontrolü zorladığınızda komutun nasıl çalıştığını tam olarak göreceksiniz. Bu ayarı normalde açık bırakmam, çok ayrıntılı ve günlük dosyanızı hızlı bir şekilde doldurur.


müthiş. bu daha çok ne demek istediğimin hatları boyunca. sadece hangi komutların çalıştığını anlamak için commands.cfg dosyasına zaten bakmıştım, ama hangi bayrakların ayarlandığını bilmek istedim. Teşekkürler! :)
cwd

2
Ayrıca, yeni kullanıcılar için kullanmanın tail -f, dosyadaki güncellemeleri gerçek zamanlı olarak görmeye devam etmenize izin vereceğini ve control+cbunu iptal edeceğini belirleyeceğim.
cwd

2
Debug_levels ikilidir - 2048 sadece makrolardan gelen mesajları açar. Ayarlamak istediğiniz her şeyi açmak için debug_level = 4095. (+ ... + 2048 1 + 2)
JWG

18

Bu oldukça basit. Sadece plugins dizinine cd (ya da değil) (bu dizin konumu nasıl kurduğuna bağlı olarak değişir, ancak / usr / local / nagios veya / usr / lib / nagios 'u işaretleyin).

Çalıştırmak istediğiniz eklentiyi bulun (eğer emin değilseniz, Linux kutunuzdaki eklentiler dizinde gördüğünüzü burada bulunan eklentilerle karşılaştırın: http://exchange.nagios.org/directory/Plugins veya çalıştırmayı deneyin "./plugin-name -h" eklentisi hakkında yardım bilgisi almak için).

Bu "eklentilerden" komut satırından herhangi birini kullanmanın yöntemi, diğer Linux komut dosyalarıyla aynıdır: "./plugin-name" komutunu kontrol etmek istediğiniz uygun bayraklarla çalıştırın ve işte!


1
+1 ... ve eğer bu çok fazla sorun gibi görünüyorsa, hangi komut ve parametrelerin çalıştırılması gerektiğini görmek için her zaman Nagios config dosyalarına bakabilirsiniz. Eklenti dizininin konumu bile orada.
John Gardeniers

5
Ve bunu daima nagioskullanıcıyla yaptığınızı unutmayın su - nagios -s /bin/bash.
kuantumların

Güzel. ve -bu kullanıcının çevresel değişkenlerini yüklüyor mu?
cwd

Evet, diğer linux bayraklarında olduğu gibi, "-" kullandığınız bayraklarla birlikte bayrağı yükler. (Eğer linux CLI'de df -h çalıştırıyor olsaydım, "h" bayrağını kullanıyorum - df komutunda h "insan tarafından okunabilir" anlamına gelir.) Yani, check_http kontrolünü çalıştırmak istiyorsanız CLI’dan, ben / IP adresini ( nagiosplugins.org/man/check_http ) temsil ettiği yerde ./check_http -I . nagiosplugins.org/man'ın yanı sıra daha önce bağladığım Eklentiler dizini de yardımcı olabilir.
David W

Yardım seçeneği - yardımcı olmalıdır. nagios-plugins.org/doc/guidelines.html
dmourati

5

@Zoredache’dan biraz daha kaba kuvvet kullanıyorum, nagios sunucusunda oturum açıyorum ve "doğru olsa; ps awwlx | grep NAGIOS_CHECK_NAME; yapıldı" yapıyorum, ancak NAGIOS_CHECK_NAME ya da servisin yeniden kontrol edilmesini zorluyorum kontrol adının bir kısmı veya aradığım sunucunun IP adresi. Genellikle birkaç saniye içinde tam kontrol komutu açılır ve ardından while döngüsünü öldürür ve kontrol komutunu çalıştırırım.

Evet, tamamen kaba bir kuvvet, ama <shrug> benim için çalışıyor.


While döngüsü yerine "izle" yi deneyin. linux.about.com/library/cmd/blcmdl1_watch.htm
dmourati

3

Ayrıca 'yakalama' eklentisini denemek isteyebilirsiniz. Temelde 2048 hata ayıklama seviyesiyle aynı şeyi yapar, ancak eklenti bazında kullanılabilir. Bu kazmak için daha az çıktı verir.

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


1
Ben yanlış (çaylak) yaptığını değil emin ne işe bu almak için mücadele etti ama debug_level hile :) benim için çalıştı
sbditto85

2

Eklenti dizininize gidin - benim örneğimde bu

/usr/lib64/nagios/plugins/

Eklenti adını yazın - örneğimde öyle

check_tcp

şimdi tam komutu çalıştırın - (eklenti adı) -H (ana bilgisayar adı) -p (bağlantı noktası numarası)

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

çıktı

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

Ancak bu örnekte port numarası isteğe bağlıdır

başka bir örnek -

Aşağıdaki gibi görünen config dosyasında (myserver.cfg) ve check_cpu komut satırından çalıştırmak istiyorum

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
}

anında kontrol etmek (GUI yeşil veya kırmızı olmadan)

Bunu dene - (tam eklenti tam yolu) - H (sunucu adı)

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

çıktı -

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

Bu kadar

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.