Debian Squeeze Nagios Monitoring

Nagios Nedir? NAGIOS sistem ve ağ denetleme uygulamasıdır.Belirtilen makine üzerinde çalışan servislerin durumunu kontrol eder ve uygulamalarda bir problem olduğunda belirtilen yöntemle kullanıcıya bildirir.Aynı segmentte ya da değil Nagios ile belirtilen makina,servisler kontrol edilebilir.

Nagios ile ne yapılabilir:

  • Network servisleri denetleneme (SMTP, POP3, HTTP, NNTP, PING, vs)
  • Makine kaynakları denetleneme (disk kullanımı vs )
  • Otomatik log döndürme (log rotation)
  • Belirtilen servisler yada makineler üzerinde belirtilen durumlarda kullanıcıya çeşitli yöntemlerle uyarı verme
  • Mail , SMS , Telefon , ICQ vb yöntemlerle uyarı verebilme
  • Web arayüzünden makinelerin , servislerin ,logların ayrıntılı takibi
olarak sıralanabilir. [1]

Nagios hakkında kısa bir bilgi verdikten sonra,Debian Squeeze üzerine Nagios kurulumunu ve diğer Debian Squeeze sunucuların nasıl monitor edileceği hakkında kısaca değineceğim.

İlk olarak Nagios'u monitoring yapacağımız makinaya kurulumunu yapalım ve daha sonra nagios client ile  izleyeceğimiz diğer sunuculara geçelim.Kısaca bir makinamız Nagios Server ve diğer izleyeceğimiz sunucu ise Nagios Client olarak anabiliriz.

Nagios Server Kurulumu :
Debian Squeeze depolarında nagios paketlerini bulunduğu için ,direk depodan kurulum yapacağım.Kaynak koddan kurulum yapmayacağım.Kaynak kodlardan kurulum için bu adrese bakabilirsiniz.

Depodan gerekli paketleri kuralım:

Nagios Server

# apt-get install nagios3 nagios-plugins nagios-nrpe-plugin
Bu kurulum aşamasında SAMBA sizden workgroup adı isteyecektir.Öntanımlı ayarları onaylayarak geçebilirsiniz.Ayrıca Nagiosadmin için sizden parola belirlemenizi isteyecektir.İsteğinize göre parola belirleyip devam edin.

Şimdi Nagios Client olan sunucumuza gerekli kurulumları yapabiliriz.

Nagios Client

# apt-get install nagios-nrpe-server nagios-plugins

Nagios Client sunucumuzda gerekli paketleri kurduktan sonra yapılandırmalara geçelim.Nagios Client sunucumuzda Nagios Server'ımızın ip adresini verelim.Bunun " /etc/nagios/nrpe.cfg " dosyasında gerekli değişiklikleri yapalım:

# vi /etc/nagios/nrpe.cfg
Dosyamızı açtıktan "allowed_hosts= " ile başlayan satırı bulun ve ;

allowed_hosts=127.0.0.1

yerine Nagios Server'ımızın ip'sini girelim.( Örnek olarak 192.168.1.45 Nagios Server'ımın ip'si)

allowed_hosts=192.168.1.45

Şeklinde değiştirin.Yapacağımız diğer bir ayar ise eğer disk kullanımını izlemek istiyorsak gerekli değişikliği yapmalıyız.

Bunun içinde Nagios Client makinamızdaki izleyeceğimiz disk ve partition'ı belirleyip,nagios'a bunu bildirmek.

İzleyeceğiniz disk ve partition'ı yine "/etc/nagios/nrpe.cfg" dosyasında belirtelim. (disklerimizi ve partitionlarınızı 'df -h' komutuyla görebilirsiniz.) Örnek olarak 'sda5' partition'ı izlemek için gerekli ayarlar:

# vi /etc/nagios/nrpe.cfg

Dosyamızı açtıktan sonra aşağıdaki satırı bulup gerekli değişiklikleri yapalım.

command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
yerine

command[check_sda5]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/sda5

şeklinde değiştirin.

Nagios Client tarafında gerekli ayarlamaları yaptıktan sonra 'nagios-nrpe' servisini yeniden başlatın.

# /etc/init.d/nagios-nrpe-server restart

Şimdilik Nagios Client tarafındaki işlemlerimiz bitti.Artık Nagios Server tarafındaki ayarlamalara geçelim. İlk olarak Nagios Server'a izleyeceğimiz client'ı ve bu client üzerinde izleyeceğimiz servislerin ayarlarını yapalım. Biraz önce Client ayarlarını yaparken Nagios Server'ımızın ip adresini(192.168.1.45) vermiştik,şimdi de Nagios Server'a Client'ın ip'sini ve izleyeceğimiz servisleri verelim.(Client makinamın ip'si 192.168.1.91 ve izleyeceğim servisler HTTP servisi,disk durumu,load avarage,prossesler )

Nagios Server'a bunları belirtmek için her ayrı client'a özel "/etc/nagios3/conf.d/ " dizini altında bir konfigurasyon dosyası oluşturalım.

# touch /etc/nagios3/conf.d/client1_nagios.cfg

dosyamızı oluşturduktan sonra aşağıdaki ayarları dosyaya yazıp,kaydedelim.

define host{
        use             generic-host
        host_name       client1
        alias           client1
        address         192.168.1.91
}
define service{
        use                     generic-service
        host_name               client1
        service_description     HTTP-Server
        check_command           check_http
}
define service{
        use                     generic-service
        host_name               client1
        service_description     Current Load
        check_command           check_nrpe_1arg!check_load
}
define service{
        use                     generic-service
        host_name               client1
        service_description     Current Users
        check_command           check_nrpe_1arg!check_users
}
define service{
        use                     generic-service
        host_name               client1
        service_description     Disk Space
        check_command           check_nrpe_1arg!check_sda5
}
define service{
        use                     generic-service
        host_name               client1
        service_description     Total Processes
        check_command           check_nrpe_1arg!check_total_procs
}
Yukardaki gibi girildikten sonra Nagios servisini yeniden başlatalım.

# /etc/init.d/nagios3 restart

Artık bir client için gerekli ayarları yaptık.Şimdi ayarlarımızı ve çalışıp,çalışmadığını test edelim:

# cd /usr/lib/nagios/plugins/ # ./check_nrpe -H 192.168.1.91 -c check_users

Eğer düzgün çalışıyorsa aşağıdaki gibi bir sonuç alacaksınız :

USERS OK - 2 users currently logged in |users=2;5;10;0

Nagios kurulumunu burada tamamladık. Buarada anlatılanlardan daha fazla servis ve client ekleyebilirsiniz,hepsi size kalmış :)

Centos 5.5 MongoDB

Centos ve diğer RedHat tabanlı dağıtımlar üstünde MongoDB ihtiyacı duyuyorsanız, resmi depolarda olmadığı için güvenilir ve sürekli güncellenen bir depoya ihtiyacınız olabilir.MongoDB geliştiricileri bu noktada ihtiyacınız olan depoyu oluşturmuşlar.Depoyu ekleyip,sisteme hemen kurulum yapabilirsiniz.

MongoDB geliştiricilerinin oluşturduğu depoda 2 farklı platform(x86 , x86_64)  için 3 sürümü( stable , unstable, snapshot) bulunuyor.İstediğiniz sürümü depodan yükleyebilirsiniz.

İlk olarak depomuzu ekleyelim:

#  touch /etc/yum.repos.d/10gen-mongodb.repo
Oluşturduğumuz "10gen-mongodb.repo" dosyasına depo bilgilerini aşağıdaki gibi platformunuza göre ekleyin.

vi /etc/yum.repos.d/10gen-mongodb.repo

X86_64 için :

[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/x86_64 gpgcheck=0 

X86 için :

[10gen] name=10gen Repository baseurl=http://downloads-distro.mongodb.org/repo/redhat/os/i686 gpgcheck=0

Depomuzu ekledikten sonra MongoDB Server ve Client paketlerini yükleyebiliriz:

MongoDB Server ve Client Stable Sürüm :

yum install mongo-10gen mongo-10gen-server

MongoDB Server ve Client Unstable Sürüm :
# yum install mongo-10gen-unstable mongo-10gen-unstable-server
MongoDB için ayar yapmak için konfigurasyon dosyasından gerekli değişiklikleri yapabiliriz."/etc/mongodb.conf " dosyasında istediğiniz değişiklikleri yapabilirsiniz.
" /etc/mongodb.conf " için :
logpath = ' Bu kısıma mongodb için log tutulacak dosyanın yolunu yazın.'
port = ' Burada mongodb 'nin kullanacağı portu belirtin.'
dbpath = ' mongodb için kullanacağı dizin yolunu belirtin.'
Bu dosyada gerekli değişiklikleri yaparken dikkat etmeniz gereken öntanımlı ayarların en uygun ayarlar olduğunu göz önünde bulundurun.
Yukarda mongodb için "dbpath" belirtiyseniz herhangi bir sorun yaşanmaması için izinlerini vermeyi unutmayın.Bunun içinde :
# chown -R mongod.mongod 'dbpath_icin_yazdiginiz_yol'
Dikkat edilmesi diğer bir nokta ise yine " mongodb.conf " dosyasında belirtmiş olduğunuz portun firewall tarafından izin verilip,verilmediğini kontrol edin.
Artık MongoDB'yi başlatalım ve açılışa ekleyelim :
# /etc/init.d/mongod start
# chkconfig --levels 235 mongod on
Ve son olarak Mongo'nun çalışıp çalışmadığını test edin :
# mongo 

SunFire T2000

Kıyıda köşede uzun süredir yatan sparc işlemcili SunFire T2000 makinayı canlandırmaya karar verdim.Sparc portu olan tüm linux dağıtımlarını denememe rağmen "kernel'ini aşağıdaki gibi panic'liyordu".

[    0.000000] I7: <paging_init+0xa4c/0xe18> [    0.000000] Disabling lock debugging due to kernel taint [    0.000000] Caller[00000000008ab1cc]: paging_init+0xa4c/0xe18 [    0.000000] Caller[00000000008a6db4]: setup_arch+0x394/0x3a4 [    0.000000] Caller[00000000008a4554]: start_kernel+0x74/0x36c [    0.000000] Caller[0000000000723224]: tlb_fixup_done+0x80/0x88 [    0.000000] Caller[0000000000000000]: (null) [    0.000000] Instruction DUMP: 92100010  7fee366e  90100011 <d25a0000> 11001ee f  7ffa2a19  90122270  15001eef  90100011 [    0.000000] Kernel panic - not syncing: Attempted to kill the idle task! [    0.000000] Call Trace: [    0.000000]  [000000000045f360] do_exit+0x64/0x6ac [    0.000000]  [0000000000427c08] die_if_kernel+0x264/0x290 [    0.000000]  [0000000000736f10] unhandled_fault+0x90/0x9c [    0.000000]  [000000000073748c] do_sparc64_fault+0x570/0x650 [    0.000000]  [0000000000407900] sparc64_realfault_common+0x10/0x20 [    0.000000]  [00000000008a9714] sun4v_mdesc_init+0x1cc/0x2ac [    0.000000]  [00000000008ab1cc] paging_init+0xa4c/0xe18 [    0.000000]  [00000000008a6db4] setup_arch+0x394/0x3a4 [    0.000000]  [00000000008a4554] start_kernel+0x74/0x36c [    0.000000]  [0000000000723224] tlb_fixup_done+0x80/0x88 [    0.000000]  [0000000000000000] (null) [    0.000000] Press Stop-A (L1-A) to return to the boot prom

Uzun bir uğraştan sonra sadece 2.6.20-r4 kernelli Gentoo 2007 Universal Live Cd açıp,sapasağlam bir Gentoo kurulumu yaptım.Fakat bu haliyle makinayı hiçbir güncelleme yapılamayacaktı.Çünkü güncel bir kernelde panik yapıyordu.

Mail listelerinde bir araştırmadan sonra aynı hata ile karşılaşan bir kişinin firmware güncelleyerek linux kurulumunu başarıyla yaptığını okudum.Hemen firmware güncellemeye geçtik.Tabi sorun burada da bitmiyor ,bir de "sc" ye giriş yapmak için parolayı bilmiyorduk ve birde parola sıfırlamaya giriştik.

Parolayı sıfırlamak için;
1. İlk olarak güç bağlantısını çıkarın ve 5 sn bekleyin.Daha sonra tekrar bağlayın.
2.Alom boot etmeye başlayacaktır ve "Return to Boot Monitor for Handshake ESC keypress detected." yazısını gördüğünüz anda "ESC" tuşuna basın.

3. "ESC" tuşuna bastıktan sonra "ALOM boot escape menu" karşınıza gelecektir.

ALOM  Menu

e - Erase ALOM NVRAM. m - Run POST Menu. R - Reset ALOM. r - Return to bootmon. Your selection:

4. Yukardaki gibi menu karşımıza çıktıktan sonra ilk NVRAM'i silip,daha sonra ALOM'u boot etmesine devam edelim.Bunun için ilk önce "e" ve daha sonra "r" yi tuşlayalım.

5.Bu adımlardan sonra "sc" ye doğrudan admin olarak giriş yapabileceksiniz.

Firmware Güncelleme :

SunFire T2000'in üstündeki firmware 6.1.10 ve bu firmware ile herhangi port edilmiş bir linux dağıtımını rahatlıkla kuramıyorsunuz.Bunun için firmware güncellemesi gerekli.Fakat dikkat edilecek nokta eğer  Oracle "CIS" numaranızı bilmiyorsanız "OpenSourceLab" ftp'sindeki 6.3.0 sürümünü indirip yükleyin.Aynı depoda 6.7.6 sürümü de mevcut fakat bu firmware geçersiz uyarısı alabilirsiniz."CIS" numaranız varsa zaten böyle bir sıkıntınız da olmayacaktır.

SunFire T2000 'de ya da herhangi Sun Sparc makina da "sc" ye düştükten sonra;

showhost

komutuyla firmware versiyonunuzu öğrenebilirsiniz.Güncellemek için ben ilk olarak firmware'i indirip local'deki bir ftp sunucuya koydum ve flashupdate komutuyla güncelledim.Tabi ftp'ye bağlanmak için "NET MGT" portuna bağlantıyı takmanız lazım.Eğer ağınız otomatik ip almıyorsa;

# setupsc
komutunu vererek ip atayabilirsiniz.

Firmware'i buradan indirip,bir public ftp'ye attıktan sonra aşağıdaki gibi güncelleyebilirsiniz:

# flashupdate -s [ftp_ip_adresi] -f /pub/Sun_System_Firmware-6_3_0-Sun_Fire_T2000.bin
Artık firmware'miz güncelledi."resetsc" komutunu verip yeniden başlatın ve "showhost" komutuyla güncellenip güncellenmediğini kontrol edin.

Debian 6.0 Squeeze yayınlandı

Uzun bir test sürecinin ardından Debian'ın kararlı sürümü "Debian 6.0 Squeeze" yayınlandı.Yine dopdolu paket deposu (29000'den fazla paket ile) ,desteklediği multi platformları ve en önemlisi çekirdeğinde hiçbir non-free firmware bulunmayarak tamamen özgür bir Debian sürümü karşımızda.

Basın duyurusuna ulaşmak için buradan .

Hemen Debian edinmek için buradan .

Örnek Ekran Görüntüleri:

Özgür Yazılım Lisansları

Özgür Yazılım Derneği ( FSF ) en son güncellenmesi 24 Ocak tarihinde yapılan GNU GPL ile uyumlu ,yazılımları "Özgür Yazılım" olarak niteleyebilecek lisansların listesini hazırlamış.Bu listede olan lisanslarla dağıtılan yazılımlar tamamen GNU GPL lisansı ile uyumlu ve özgür yazılımlardır.Hazırlanan liste içinde aynı zamanda "özgür yazılım" olan fakat GNU GPL lisansı ile uyumlu olmayan lisansların listesine ve ayrıca yazılımları kesinlikle  "özgür yazılım" yapamayacak lisanslara da yer verilmiş.Şu listeye bir göz atalım:

GNU GPL ile uyumlu ÖZGÜR YAZILIM LİSANSLARI

Aşağıdaki listede "Özgür Yazılım" lisansı olan fakat GNU GPL uyumlu olmayan lisanslar listelenmiştir:

GNU GPL ile uyumlu olmayan ÖZGÜR YAZILIM LİSANSLARI :

Aşağıdaki listede de "özgür olmayan" yazılım lisansları sıralandı.Tabi bunlar doğal olarak da GNU GPL ile de uyumlu değil.Önerim bu lisanslarla gelen yazılımlardan uzak durun!

ÖZGÜR  OLMAYAN YAZILIM LİSANSLARI

Listedeki lisansların daha detaylı açıklamasına ve neden bu kategorilerde listelendikleri hakkında daha detaylı bilgi almak için burayı ziyaret edin.