Mail sunucusu olarak Zimbra Open Source Edition kullanıyorsanız, sistemin kendi içinde online yedekleme yapamadığınızı göreceksiniz. Online yedekleme sunucunun Network Edition versiyonunda bulunmaktadır.
Yedekleme için kullanabileceğiniz yöntemleri buradaki linkten kontrol edebilirsiniz. Ben buradaki seçeneklerden "HOT Backup and HOT Restore" linkinde bulunan Zmbkpose scriptini kullanarak yedekleme ve geri yükleme yapıyorum.
Öncelikle buradan Zmbkpose scriptinin son versiyonunu indirelim. Zipli dosya içinden çıkan zmbkpose.conf dosyasını /etc/zmbkpose altına kopyalayalım. zmbkpose klasörü yoksa açalım.
zmbkpose scriptini ise /usr/bin içine kopyalayalım. Executable yapmak için aşağıdaki kodu kullanalım.
# chmod +x /usr/bin/zmbkpose
Eğer sunucunuzda curl yüklü değilse aşağıdaki komutla yükleyelim.
# apt-get install curl
Daha sonra /etc/zmbkpose/zmbkpose.conf içindeki ayarları yapalım.
BACKUPUSER=zimbra
WORKDIR=/opt/zimbra/backup
ADMINUSER=admin@yourdomain.com
ADMINPASS=******
LDAPMASTERSERVER=ldap://yourdomain.com:389
LDAPZIMBRADN=uid=zimbra,cn=admins,cn=zimbra
LDAPZIMBRAPASS=*******
diğer değerler varsayılan olarak kalabilir.
Burada dikkat etmemiz gereken birkaç nokta var. ADMINUSER yazarken benim örneğimdeki gibi tam mail adresini yazmalısınız.
LDAP ayarlarını görmek için zimbra kullanıcısına geçerek zmlocalconfig komutunu kullanın. Bu konutu kullandığınızda karşınıza LDAP bilgileri çıkacaktır. zimbra_ldap_user, zimbra_ldap_userdn, ldap_url bilgilerini burada bulacaksınız. LDAPZIMBRAPASS değerini de aşağıdaki komutla bulabilirsiniz.
# zmlocalconfig -m nokey -s zimbra_ldap_password
Bu değerleri configürasyon dosyasına doğru bir şekilde kaydettiyseniz. Doğrudan zmbkpose scriptini Zimbra kullanıcısındayken çalıştırabilirsiniz. Herhangi bir opsiyon vermeden çalıştırırsanız scriptin alacağı değerleri size gösterecektir.
En basit olarak aşağıdaki komut tüm kullanıcıarın mailllerini yedekleyecektir.
# zmbkpose -f
Bu komutla zimbrayı full yedek almış olursunuz. Bu yedekten herhangi bir kullanıcının maillerini geri yüklemek isterseniz aşağıdaki komutu kullanmanız yeterlidir.
# zmbkpose -r user@yourdomain.com full-201210281247
Burada full adıyla başlayan hangi yedekten geri döneceğinizi söylüyor. Aldığınız yedeklerin isimlerini /opt/zimbra/backup içerisindeki sessions.txt dosyasında görebilirsiniz. Ya da bu klasör içindeki klasörlerin isimlerine bakabilirsiniz.
28 Ekim 2012 Pazar
23 Ekim 2012 Salı
Disk yönetimi LVM (Logical Volume Manager) ile yapılan Vmware sanal sunucunun disk boyutunu arttırmak
Bu makalede disk yönetimi LVM (Logical Volume Manager) ile yapılan Vmware sanal sunucunuzun ihtiyaç durumunda disk boyutunu nasıl arttırabileceğinizi göstereceğim.
İlk yapmamız gereken şey sanal sunucumuzun VMware vSphere Client aracılığı ile diskini arttırmak. Arayüz aracılığı ile diskini arttırabilmeniz için iki önemli nokta var.
Birincisi diskinizi oluşturduğunuzda, disk tipi olarak Thin Provision seçmeniz gereklidir. İkincisi ise disk boyutunu arttırabilmek için kayıtlı tüm snapshotların silinmesi gerekir. Aksi takdirde aşağıdaki resimde görülen 40 GB lık kısım gri renkte olacak ve boyutu arttırmanıza izin vermeyecektir.
Ben boyutu 40 GB olan diskimin boyutunu 80 GB'a çıkaracağım. İlk yapmam gereken iş, Vmware sunucuma bağlanıp, diskini arttıracağım sanal sunucumu seçerek özelliklerine girip, disk boyutunu 40 GB tan 80 GB a çıkarmak. 80 GB yapıp tamam diyerek bu işi tamamlıyorum.
Artık sunucumun disk boyutu 80 GB. Sıra bu 80 GB alanın formatlanmamış halde duran kısmını formatlayarak varolan diskimin boyutunu arttırmak için kullanmaya geldi. Formatlanmamış alanı bulup formatlamak için ara bir program kullanacağım. Programın adı gparted. Bu linke tıklayarak programın son versiyonunu indirebilirsiniz.
Programın iso dosyasını indirdikten sonra Vmware sunucu içerisine atalım. Bunun için VMware vSphere Client programında sunucunuzun üstüne tıkladıktan sonra (sanal makinanız değil vmware sunucunuz), sağ tarafta Summary sekmesine geçip, Storage kısmındaki diskinizin üzerine sağ tıklayarak Browse Datastore diyelim.
Bu şekilde Vmware sunucunuzun içerisine bir klasör açarak indirdiğiniz iso dosyasını buraya kopyalayabilirsiniz. Kopyalama tamamlanınca diskini arttıracağınız sanal sunucunuzun CDRom'una bu iso dosyasını takalım.
Bunun için sunucunun ayarlarına girip, CD/DVD Drive seçeneğine gelelim. Burada Device Type seçeneklerinden Datastore ISO File seçerek, Browse tuşuyla Vmware içine attığımız gparted iso dosyasını seçelim. "Connect at power on" seçeneğini işaretleyelim.
Daha sonra Options sekmesinde Boot Options'a gelip, sağ taraftan Force BIOS Setup ayarlarındaki "The next time the virtual machine boots, force entry into the BIOS setup screen" seçeneğini işaretleyelim. Bu sayede sunucumuzun BIOS'una girerek CD den başlaması için gereken ayarları yapacağız.
Tamam dedikten sonra sunucumuzu yeniden başlatalım. Açılırken BIOS ekranına girecek. Bunu görmek için VMware vSphere Client aracılığı ile makinanın konsoluna bağlanalım. Boot ayarlarından ilk CD den başlayacağına emin olduktan sonra ayarları kaydedip çıkalım.
Sunucunuz yeniden başladığında doğrudan gparted programını çalıştıracak ve karşınıza aşağıdaki gibi bir ekran gelecek.
Bu ekranda "Default settings" seçeneğindeyken enter yaparak devam edelim. Sonra karışımıza çıkan ekranda "Don't touch keymap" seçeneğiyle devam edelim.
Karşımıza dil seçeneğini getirecek. Ben varsayılan değerle (33 : US English) ile devam ediyorum.
Daha sonra hangi modu kullanacağımızı soracak. Varsayılanda bırakarak (0) devam edelim.
Bundan sonra karşımıza bir arayğz çıkacak. Bu arayüzde arttırdığımız kadar olan diski "unallocated" olarak en altta göreceğiz. Ben toplamda 40 GB daha eklemiştim.
"unallocated" diskimizin üstine bir kez tıklayıp menüdeki "New" seçeneğini seçelim ve çıkan ekranda hiç bir değişiklik yapmadan Add diyelim.
Pencere kapandıktan sonra aktif olacak olan "Apply" tuşuna basarak yaptığımız değişiklikleri kaydedelim. Her şeyin başarıyla tamamlandığı bir ekran çıkacak. Close diyerek kapatalım.
Artık yeni oluşturduğumuz bölümümüzü göreceğiz. Eğer sizin disk yapınızda benim örneğimdeki ile aynı ise yeni bölüm sda3 olarak görünecek.
Bu programla olan işlemlerimizi tamamladık. şimdi exit diyerek sunucumuzu yeniden başlatalım. Yeniden başlatmadan önce tekrar gparted ile başlamaması için CD yi çıkarmamız veya BIOS'a yeniden girip Boot öncelik sıralamasını değiştirmemiz lazım. Ben CD yi çıkarmayı tercih ediyorum. Sanal sunucumun ayarlarına girerek CD/DVD Drive seçeneklerini ilk haline getiriyorum ve bundan sonra konsoldan gparted programında bulunan EXİT tuşu ile çıkıyorum.
Eklediğimiz diski formatlayarak bir bölüm oluşturmuş olduk. Şimdi sıra geldi bu bölümü varolan diskimize aktarmak. Sunucumuz yeniden başlayıp açıldıktan sonra fidisk -l komutu ile sda3 bölümümüzün göründüğünen emin olalım.
Daha sonra aşağıdaki komutu kullanarak oluşturduğumuz bölümü Fiziksel Bölüme çevirelim.
# pvcreate /dev/sda3
Daha sonra fiziksel bölümümüzü genişletme için aşağıdaki komutu kullanalım.
# vgextend VolumeGroupName /dev/sda3
buradaki VolumeGroupName yerine sizdeki değer bulmak için vgdisplay komutunu kullanın. Bu komut size VG Name i verecektir. Buradaki verilerden en altta disk için arttırabileceğiniz boyutu da görebilirsiniz.
Daha sonra mantıksal bölümü genişletmek için aşağıdaki komutu kullanalım.
# lvextend -L+#G /dev/VolumeGroupName/LogicalVolumeName
buradaki LogicalVolumeName yerine sizdeki değeri bulmak için lvdisplay komutunu kullanın. Yüksek ihtimalle "root" çıkacaktır. Yine buradaki # değeri diski arttıracağınız miktar olacaktır. Ben 40 yazdım. G gigabyte anlamındadır.
Daha sonra aşağıdaki komutu kullanalım.
# resize2fs /dev/VolumeGroupName/LogicalVolumeName
Bu komutla online olarak disk büyütme işlemi yapılacaktır. İşlem tamamlandıktan sonra df -h komutu ile yeni disk boyutunuzu kontrol edebilirsiniz.
İlk yapmamız gereken şey sanal sunucumuzun VMware vSphere Client aracılığı ile diskini arttırmak. Arayüz aracılığı ile diskini arttırabilmeniz için iki önemli nokta var.
Birincisi diskinizi oluşturduğunuzda, disk tipi olarak Thin Provision seçmeniz gereklidir. İkincisi ise disk boyutunu arttırabilmek için kayıtlı tüm snapshotların silinmesi gerekir. Aksi takdirde aşağıdaki resimde görülen 40 GB lık kısım gri renkte olacak ve boyutu arttırmanıza izin vermeyecektir.
Ben boyutu 40 GB olan diskimin boyutunu 80 GB'a çıkaracağım. İlk yapmam gereken iş, Vmware sunucuma bağlanıp, diskini arttıracağım sanal sunucumu seçerek özelliklerine girip, disk boyutunu 40 GB tan 80 GB a çıkarmak. 80 GB yapıp tamam diyerek bu işi tamamlıyorum.
Artık sunucumun disk boyutu 80 GB. Sıra bu 80 GB alanın formatlanmamış halde duran kısmını formatlayarak varolan diskimin boyutunu arttırmak için kullanmaya geldi. Formatlanmamış alanı bulup formatlamak için ara bir program kullanacağım. Programın adı gparted. Bu linke tıklayarak programın son versiyonunu indirebilirsiniz.
Programın iso dosyasını indirdikten sonra Vmware sunucu içerisine atalım. Bunun için VMware vSphere Client programında sunucunuzun üstüne tıkladıktan sonra (sanal makinanız değil vmware sunucunuz), sağ tarafta Summary sekmesine geçip, Storage kısmındaki diskinizin üzerine sağ tıklayarak Browse Datastore diyelim.
Bu şekilde Vmware sunucunuzun içerisine bir klasör açarak indirdiğiniz iso dosyasını buraya kopyalayabilirsiniz. Kopyalama tamamlanınca diskini arttıracağınız sanal sunucunuzun CDRom'una bu iso dosyasını takalım.
Bunun için sunucunun ayarlarına girip, CD/DVD Drive seçeneğine gelelim. Burada Device Type seçeneklerinden Datastore ISO File seçerek, Browse tuşuyla Vmware içine attığımız gparted iso dosyasını seçelim. "Connect at power on" seçeneğini işaretleyelim.
Daha sonra Options sekmesinde Boot Options'a gelip, sağ taraftan Force BIOS Setup ayarlarındaki "The next time the virtual machine boots, force entry into the BIOS setup screen" seçeneğini işaretleyelim. Bu sayede sunucumuzun BIOS'una girerek CD den başlaması için gereken ayarları yapacağız.
Tamam dedikten sonra sunucumuzu yeniden başlatalım. Açılırken BIOS ekranına girecek. Bunu görmek için VMware vSphere Client aracılığı ile makinanın konsoluna bağlanalım. Boot ayarlarından ilk CD den başlayacağına emin olduktan sonra ayarları kaydedip çıkalım.
Sunucunuz yeniden başladığında doğrudan gparted programını çalıştıracak ve karşınıza aşağıdaki gibi bir ekran gelecek.
Karşımıza dil seçeneğini getirecek. Ben varsayılan değerle (33 : US English) ile devam ediyorum.
Daha sonra hangi modu kullanacağımızı soracak. Varsayılanda bırakarak (0) devam edelim.
Bundan sonra karşımıza bir arayğz çıkacak. Bu arayüzde arttırdığımız kadar olan diski "unallocated" olarak en altta göreceğiz. Ben toplamda 40 GB daha eklemiştim.
"unallocated" diskimizin üstine bir kez tıklayıp menüdeki "New" seçeneğini seçelim ve çıkan ekranda hiç bir değişiklik yapmadan Add diyelim.
Pencere kapandıktan sonra aktif olacak olan "Apply" tuşuna basarak yaptığımız değişiklikleri kaydedelim. Her şeyin başarıyla tamamlandığı bir ekran çıkacak. Close diyerek kapatalım.
Artık yeni oluşturduğumuz bölümümüzü göreceğiz. Eğer sizin disk yapınızda benim örneğimdeki ile aynı ise yeni bölüm sda3 olarak görünecek.
Bu programla olan işlemlerimizi tamamladık. şimdi exit diyerek sunucumuzu yeniden başlatalım. Yeniden başlatmadan önce tekrar gparted ile başlamaması için CD yi çıkarmamız veya BIOS'a yeniden girip Boot öncelik sıralamasını değiştirmemiz lazım. Ben CD yi çıkarmayı tercih ediyorum. Sanal sunucumun ayarlarına girerek CD/DVD Drive seçeneklerini ilk haline getiriyorum ve bundan sonra konsoldan gparted programında bulunan EXİT tuşu ile çıkıyorum.
Eklediğimiz diski formatlayarak bir bölüm oluşturmuş olduk. Şimdi sıra geldi bu bölümü varolan diskimize aktarmak. Sunucumuz yeniden başlayıp açıldıktan sonra fidisk -l komutu ile sda3 bölümümüzün göründüğünen emin olalım.
Daha sonra aşağıdaki komutu kullanarak oluşturduğumuz bölümü Fiziksel Bölüme çevirelim.
# pvcreate /dev/sda3
Daha sonra fiziksel bölümümüzü genişletme için aşağıdaki komutu kullanalım.
# vgextend VolumeGroupName /dev/sda3
buradaki VolumeGroupName yerine sizdeki değer bulmak için vgdisplay komutunu kullanın. Bu komut size VG Name i verecektir. Buradaki verilerden en altta disk için arttırabileceğiniz boyutu da görebilirsiniz.
Daha sonra mantıksal bölümü genişletmek için aşağıdaki komutu kullanalım.
# lvextend -L+#G /dev/VolumeGroupName/LogicalVolumeName
buradaki LogicalVolumeName yerine sizdeki değeri bulmak için lvdisplay komutunu kullanın. Yüksek ihtimalle "root" çıkacaktır. Yine buradaki # değeri diski arttıracağınız miktar olacaktır. Ben 40 yazdım. G gigabyte anlamındadır.
Daha sonra aşağıdaki komutu kullanalım.
# resize2fs /dev/VolumeGroupName/LogicalVolumeName
Bu komutla online olarak disk büyütme işlemi yapılacaktır. İşlem tamamlandıktan sonra df -h komutu ile yeni disk boyutunuzu kontrol edebilirsiniz.
17 Ekim 2012 Çarşamba
Vmware sanal makinanızda bios ekranına ulaşmak
Vmware sunucunuza bir sanal makina kurduktan sonra, bu sanal makinanızın biosuna erişmek ihtiyacını duyabilirsiniz. Özellikle makinayı CD den başlatmak gerektiğinde bios ekranına ulaşıp boot sırasını değiştirmeniz gerekiyor.
Bunun için yapmanız gereken aşağıdaki gibi;
Biosuna erişmek istediğiniz sanal makinanızın üzerine sağ tıklayarak "Edit Settings..." e tıklayın.
Açılan pencerede Options sekmesine gein ve alt seçeneklerden Boot Options'a tıklayın. Sağda açılan ekranda Force BIOS Setup kısmında bulunan "The next time the virtual machine boots, force entry into the BIOS setup screen." seçeneğini işaretleyin ve "ok" diyerek pencereyi kapatın.
Sanal makinanızı ilk kez yeniden başlattığınızda direk BIOS ekranına geleceksiniz. Sonraki başlatmalarda tekrar BIOS ekranına gelmek için aynı ayarı her seferinde yapmalısınız.
Bunun için yapmanız gereken aşağıdaki gibi;
Biosuna erişmek istediğiniz sanal makinanızın üzerine sağ tıklayarak "Edit Settings..." e tıklayın.
Açılan pencerede Options sekmesine gein ve alt seçeneklerden Boot Options'a tıklayın. Sağda açılan ekranda Force BIOS Setup kısmında bulunan "The next time the virtual machine boots, force entry into the BIOS setup screen." seçeneğini işaretleyin ve "ok" diyerek pencereyi kapatın.
Sanal makinanızı ilk kez yeniden başlattığınızda direk BIOS ekranına geleceksiniz. Sonraki başlatmalarda tekrar BIOS ekranına gelmek için aynı ayarı her seferinde yapmalısınız.
11 Ekim 2012 Perşembe
Zimbra Desktop 7.2.1 "No such folder exists" hatasının çözümü
Eğer eposta istemcisi olarak Zimbra Desktop kullanıyorsanız, son çıkan versiyon güncellemesi ile Zimbra Desktop 7.2.1 versiyonuna geçiş yaptığınızda Inbox (Gelen Kutusu) klasörünün altında bulunan klaösrlerinize artık ulaşamadığınızı farkedeceksiniz.
Inbox altındaki klasörlerden birine tıkladığınızda "No such folder exists" hatasını alacaksınız. Bu sorunun aslında Türkçe karakter sorunundan kaynaklanıyor.
Herhangi bir klasöre tıkladığınızda dikkat ederseniz aslında bir arama gerçekleşiyor. Epostaların listelendiği alanın hemen üstünde bir arama kutucuğu bulunuyor. Bastığınız klasör adı bu arama kutucuğuna ağaç yapısı ile birlikte geliyor.
Örneğin Inbox'a tıkladığınızda arama kutusunda in: inbox, Inbox altındaki Deneme klasörüne tıkladığınızda arama kutusunda in:"inbox/Deneme" yazıyor.
İşte sorun tam da burada başlıyor. in:"inbox/Deneme" araması sonucunda bulunamayan klasör in:"ınbox/Deneme" arama sonucunda (yani i yerine ı yazarak) bulunuyor. Dolayısıyla sorun inbox adının sunucuda aranırken İnbox olarak aranması yüzünden oluşuyor. Eğer elinizle bu düzeltmeyi yaparsanız her şeyin normale döndüğünü göreceksiniz.
Şimdi çözüm için yapılacak işlem, Inbox klasörünün altındaki klasörlere tıklandığında aramanın i değil ı harfi ile yapılabilmesini sağlamamız gerekiyor.
Bunun için Zimbra Desktop kurulu Windows bilgisayarınızda C:\Program Files (x86)\Zimbra\Zimbra Desktop\jetty\webapps\zimbra\ klasöründe bulunan Startup1_2_all.js javascript dosyasını açalım ve 4652. satırda aşağıdaki değişikliği yapalım.
return t?n:("in:"+n)
yerine
return t?n:("in:"+n.replace("inbox","ınbox"))
yazalım.
Daha sonra Zimbra Desktop programı açık ise kapatalım. Ayrıca Görev Yöneticisi'nden zdclient.exe ve zdesktop.exe servislerini sonlandıralım.
Zimbra Desktop programını tekrar açtığınızda artık Inbox altındaki klasörlere tıkladığınızda inbox yerine ınbox yazdığını göreceksiniz ve tüm alt klasörlere sorunsuz ulaşabileceksiniz.
Inbox altındaki klasörlerden birine tıkladığınızda "No such folder exists" hatasını alacaksınız. Bu sorunun aslında Türkçe karakter sorunundan kaynaklanıyor.
Herhangi bir klasöre tıkladığınızda dikkat ederseniz aslında bir arama gerçekleşiyor. Epostaların listelendiği alanın hemen üstünde bir arama kutucuğu bulunuyor. Bastığınız klasör adı bu arama kutucuğuna ağaç yapısı ile birlikte geliyor.
Örneğin Inbox'a tıkladığınızda arama kutusunda in: inbox, Inbox altındaki Deneme klasörüne tıkladığınızda arama kutusunda in:"inbox/Deneme" yazıyor.
İşte sorun tam da burada başlıyor. in:"inbox/Deneme" araması sonucunda bulunamayan klasör in:"ınbox/Deneme" arama sonucunda (yani i yerine ı yazarak) bulunuyor. Dolayısıyla sorun inbox adının sunucuda aranırken İnbox olarak aranması yüzünden oluşuyor. Eğer elinizle bu düzeltmeyi yaparsanız her şeyin normale döndüğünü göreceksiniz.
Şimdi çözüm için yapılacak işlem, Inbox klasörünün altındaki klasörlere tıklandığında aramanın i değil ı harfi ile yapılabilmesini sağlamamız gerekiyor.
Bunun için Zimbra Desktop kurulu Windows bilgisayarınızda C:\Program Files (x86)\Zimbra\Zimbra Desktop\jetty\webapps\zimbra\ klasöründe bulunan Startup1_2_all.js javascript dosyasını açalım ve 4652. satırda aşağıdaki değişikliği yapalım.
return t?n:("in:"+n)
yerine
return t?n:("in:"+n.replace("inbox","ınbox"))
yazalım.
Daha sonra Zimbra Desktop programı açık ise kapatalım. Ayrıca Görev Yöneticisi'nden zdclient.exe ve zdesktop.exe servislerini sonlandıralım.
Zimbra Desktop programını tekrar açtığınızda artık Inbox altındaki klasörlere tıkladığınızda inbox yerine ınbox yazdığını göreceksiniz ve tüm alt klasörlere sorunsuz ulaşabileceksiniz.
4 Ekim 2012 Perşembe
Zabbix ile windows update kontrolü
Bu makalede Zabbix Agent ile Windows sunucularınızın güncelleştirmelerini ve sunucunuzun yeniden başlatılma gereksinimini nasıl kontrol edeceğinizi anlatacağım.
Öncelikle, Zabbix Agent içerisinde doğrudan bu güncelleştirme ve yeniden başlatma kontrolü olmadığını söyleyeyim. bunun için Zabbix Agent'ın UserParameter özelliğini kullanacağız.
Zabbix Agent UserParameter özelliği ile varsayılan olarak kontrol edemediğimiz özellikleri, kendi yazdığımız scriptleri kullanarak kontrol edebiliyoruz.
UserParameter parametresi Zabbix Agent konfigürasyon dosyası içine yazılarak kullanılıyor. Kullanım şekli aşağıdaki gibi.
UserParameter=<key>,<command>
Örneğin
UserParameter=deneme, %systemroot%\system32\cscript.exe /nologo C:\Zabbix\deneme.vbs
Yukarıdaki örnekte Zabbix Server içerisinde Item oluştururken kullanacağımız key deneme oluyor ve bu key karşılığında alacağımız değeri de deneme.vbs dosyası veriyor. Bu deneme.vbs içine yazacağımız fonksiyon da bize kalıyor.
Windows güvenlik güncelleştirmelerini kontrol eden scripti yazmadan önce şöyle bir bilgi vereyim. Windows Update kontrolü bir script ile 20-40 saniye arasında sürüyor. Bu aslında büyük bir rakam. Zabbix sunucunuz yüzlerce kontrol yaparken böyle bir kontrol için bu kadar zaman harcaması doğru olmaz.
İşte bu yüzden biz windows güncelleştirme kontrolünü doğrudan Zabbix Agent'a yaptırmayacağız. Bunun yerine kontrolleri bir script aracılığı ile ve windowsun kendi zamanlayıcısını kullanarak bir txt dosyaya yazdıracağız. Zabbix Agent ise bu dosyayı okuyacak. bu sayede Zabbix sorgusu çok hızlı olacak ve Zabbix sunucumuzun performansını windows update kontrolü ile düşürmemiş olacağız.
Şimdi ilk olarak windows güncelleştirmelerini kontrol edecek ve sonrasında bir dosyaya yazacak scripti yazalım.
Daha önceden Zabbix ile ilgili dosyalarımın olduğu yere, yani C:\Zabbix klasörü içine checkwinupdates.vbs isimli bir dosya kaydedelim. Dosyanın içeriği aşağıdaki gibi olacak.
ssWindowsUpdate = 2
updatesHigh = 0
updatesOptional = 0
Set objSysInfo = CreateObject("Microsoft.Update.SystemInfo")
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
updateSearcher.ServerSelection = ssWindowsUpdate
Set objResults = updateSearcher.Search("IsInstalled=0")
Set colUpdates = objResults.Updates
Set WSHShell = CreateObject("WScript.Shell")
For i = 0 to colUpdates.Count - 1
If (colUpdates.Item(i).IsInstalled = False AND colUpdates.Item(i).AutoSelectOnWebSites = False) Then
updatesOptional = updatesOptional + 1
ElseIf (colUpdates.Item(i).IsInstalled = False AND colUpdates.Item(i).AutoSelectOnWebSites = True) Then
updatesHigh = updatesHigh + 1
End IF
Next
updatesTotal = (updatesHigh + updatesOptional)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("C:\Zabbix\winupdateresult.txt", True)
IsRequired = 0
If objSysInfo.RebootRequired = "True" Then
IsRequired = 1
End If
' Önce güvenlik güncelleştirme sayısını yazalım
objTextFile.Write(updatesHigh)
' daha sonra satır atlayarak sistemin yeniden başlatılması ile ilgili bilgiyi yazalım
objTextFile.Write(vbCrLf & IsRequired)
objTextFile.Close
WScript.Quit 0
Yukarıdaki script içinde dikkat ederseniz updatesOptional diye bir seçenek de var. Ben sadece önemli güvenlik güncelleştirmelerini kontrol etmek istediğim için bu değeri yazdırmıyorum. Değerleri yine C:\Zabbix içinde winupdateresult.txt dosyasına yazıyorum.
Bu script çalıştığında winupdateresult.txt dosyasına iki satır kaydediyor. İlk satırda kaç güvenlik güncelleştirmesinin olduğu bilgisi, ikinci satırda ise sitemin yeniden başlatılma ihtiyazının olup olmadığı numerik olarak kydediliyor.
0 - yeniden başlatmaya ihtiyaç yok
1 - yeniden başlatmaya ihtiyaç var
Scripti çalıştırmadan önce C:\Zabbix klaösrüne winupdateresult.txt isimli dosyayı oluşturmayı unutmayın. Şimdi scripte çift tıklayarak çalışıp çalışmadığını test edebilirsiniz. Daha önce söylediğim gibi yaklaşık 20-40 saniye arasında sürüyor çalışması.
Not: Eğer scripti çalıştırdığınızda Set objResults = objSearcher.Search("IsInstalled=0") satırında hata veriyorsa, bilgisayarınız windows update için WSUS Server kullanıyor olabilir. Bunu anlamak için Windows Update'i açtığınızda pencerenin alt kısmında "You recieve updates : managed by your system administrator" yazıyorsa WSUS kullanıyorsunuz veya önceden kullanmışsınız ve ayarlarınız böyle kalmış demektir. Bunu düzeltmek için regedit içerisinde aşağıdaki anahtarın değerini 0 yapıp, sistemi yeniden başlatmalısınız.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
Eğer script düzgün çalışıp sonuçları dosyaya yazdıysa, şimdi bu scripti zamanlamaya geçebiliriz. Bunu için windowsun Task Scheduler özelliğini kullanacağız.
Start > Control Panel > Administrative Tools > Task Scheduler programını açalım.
Test yaptığım makina Windows 7 Pro işletim sistemine sahip.
Task Scheduler açıldığında sağ menüden Create Task diyelim.
Açılan pencerede Name kısmına istediğimiz bir ismi verelim. Örneğin CheckWinUpdates. Daha sonra aşağıdan "Run whether user is logged on or not" işaretleyelim. Yine "Run with highest privileges" işaretleyelim. Bu sekmede diğer seçenekleri olduğu gibi bırakarak Trigger sekmesine geçelim.
Triggers sekmesinde zamanlamayı ayarlayacağız. New diyerek yeni bir zamanlama penceresi açıp uygun zamanlamayı yapalım ve ok diyelim. Benim için günde bir kez çalışması yeterli. Siz kendinize göre bu zamanlamayı ayarlayabilirsiniz.
Daha sonra Action sekmesine geçelim. Burada yine New diyerek yeni bir aksiyon tanımlayalım. Action kısmı "Start a program" kalacak. Program seçme bölümünden C:\Zabbix altındaki checkwinupdates.vbs dosyamızı seçelim. Start in (optional) kısmına C:\Zabbix\ yazalım ve ok diyelim.
Bunun dışındaki sekmelerde bir şey yapmadan ok diyerek görev zamanlayıcımızı kapatalım. Çalıştığından emin olmak için yeni oluşturduğumuz görevin üzerine sağ clik yapıp Run diyebilirsiniz.
Böylece günde bir kez scriptimizin çalışmasını sağlamış olduk. Sıra bu scriptin çalışması sonucunda ortaya çıkan sonuçların Zabbix Agent tarafından okunmasına geldi.
Önce winupdateresult.txt dosyasının istediğimiz satırını okuyarak Zabbix Agent'a gönderecek scripti yazalım. Bu scripti yine C:\Zabbix altına getwinupdates.vbs ismiyle kaydedelim.
Scriptin içeriği aşağıdaki şekilde olacak.
Dim ArgObj
Set ArgObj=Wscript.Arguments
Const ForReading = 1
ArgWanted = ArgObj.Item(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("C:\Zabbix\winupdateresult.txt", ForReading)
strLine = 100
If ArgWanted = "updates" Then
strLine = objTextFile.ReadLine
ElseIf ArgWanted = "reboot" Then
objTextFile.ReadLine
strLine = objTextFile.ReadLine
End If
Wscript.Echo strLine
objTextFile.Close
Script içine bir parametre göndereceğiz. Bu sayede güncelleştirmeler ve yeniden başlatma bilgisini tek bir script ile okuyabileceğiz. Dilerseniz her bir bilgi için ayrı bir scripte yazabilirsiniz. Dikkat ederseniz biz iki parametre göndereceğiz. Eğer parametremiz updates ise bize güncelleştirme bilgisini, reboot ise yeniden başlatma bilgisini verecek. Eğer bunlar haricinde bir parametre gelirse bize 100 rakamını döndürecek. Bu sayede doğru bilgi almadığımızı da görmüş olacağız.
Şimdi sıra geldi ZAbbix Agent konfigürasyonuna. Bunun için Zabbix Agent konfigürasyon dosyasını açalım. Benim dosyam C.\Zabbix\zabbix_conf.txt
Konfigürasyon dosyasnın en sonuna aşağıdaki satırı ekleyelim.
UserParameter=check.winupdate[*], %systemroot%\system32\cscript.exe /nologo c:\Zabbix\getwinupdates.vbs $1
<key> yerine check.winupdate[*] yazdık. Köşeli parantez kullanarak parametre göndereceğimizi belirtmiş oluyoruz. <command> sonundaki $1 ise gönderdiğimiz parametreyi vbs dosyasına iletecek.
Konfigürasyon dosyasını kaydedip kapatalım ve Zabbix Agent servisini yeniden başlatalım. Dikkat, konfigürasyon dosyasında yaptığınız değişikliklerin aktif olması için servisi yeniden başlatmalısınız.
Zabix Agent'ın çalıştığından emin olmak için komut satırından aşağıdaki komut ile test gerçekleştirebiliriz.
Not: cmd programını yönetci olarak çalıştırmalısınız.
cd C:\Zabbix diyerek Agent'ımızın olduğu kalsöre gidelim.
zabbix_agentd.exe -c c:\zabbix\zabbix_conf.txt -t check.winupdate[updates]
Eğer herşey yolunda ise bize [t:3] gibi bir sonuç dönecek. 3 rakamı 3 güncelleştirme olduğunu gösteriyor.
Şimdi sıra geldi, Zabbix Server da bir Item yaratmaya. Bunun için hostumuzun içindeki Itemlara girip Create Item diyelim ve aşağıdaki değerleri kullanalım.
Type : Zabbix Agent
Key : check.winupdate[updates] veya check.winupdate[reboot] (ihtiyaca göre)
Type of information : Numeric (unsigned)
Data type : decimal
Update Interval : 86400 (günde bir kez yeterlidir)
Öncelikle, Zabbix Agent içerisinde doğrudan bu güncelleştirme ve yeniden başlatma kontrolü olmadığını söyleyeyim. bunun için Zabbix Agent'ın UserParameter özelliğini kullanacağız.
Zabbix Agent UserParameter özelliği ile varsayılan olarak kontrol edemediğimiz özellikleri, kendi yazdığımız scriptleri kullanarak kontrol edebiliyoruz.
UserParameter parametresi Zabbix Agent konfigürasyon dosyası içine yazılarak kullanılıyor. Kullanım şekli aşağıdaki gibi.
UserParameter=<key>,<command>
Örneğin
UserParameter=deneme, %systemroot%\system32\cscript.exe /nologo C:\Zabbix\deneme.vbs
Yukarıdaki örnekte Zabbix Server içerisinde Item oluştururken kullanacağımız key deneme oluyor ve bu key karşılığında alacağımız değeri de deneme.vbs dosyası veriyor. Bu deneme.vbs içine yazacağımız fonksiyon da bize kalıyor.
Windows güvenlik güncelleştirmelerini kontrol eden scripti yazmadan önce şöyle bir bilgi vereyim. Windows Update kontrolü bir script ile 20-40 saniye arasında sürüyor. Bu aslında büyük bir rakam. Zabbix sunucunuz yüzlerce kontrol yaparken böyle bir kontrol için bu kadar zaman harcaması doğru olmaz.
İşte bu yüzden biz windows güncelleştirme kontrolünü doğrudan Zabbix Agent'a yaptırmayacağız. Bunun yerine kontrolleri bir script aracılığı ile ve windowsun kendi zamanlayıcısını kullanarak bir txt dosyaya yazdıracağız. Zabbix Agent ise bu dosyayı okuyacak. bu sayede Zabbix sorgusu çok hızlı olacak ve Zabbix sunucumuzun performansını windows update kontrolü ile düşürmemiş olacağız.
Şimdi ilk olarak windows güncelleştirmelerini kontrol edecek ve sonrasında bir dosyaya yazacak scripti yazalım.
Daha önceden Zabbix ile ilgili dosyalarımın olduğu yere, yani C:\Zabbix klasörü içine checkwinupdates.vbs isimli bir dosya kaydedelim. Dosyanın içeriği aşağıdaki gibi olacak.
ssWindowsUpdate = 2
updatesHigh = 0
updatesOptional = 0
Set objSysInfo = CreateObject("Microsoft.Update.SystemInfo")
Set updateSession = CreateObject("Microsoft.Update.Session")
Set updateSearcher = updateSession.CreateupdateSearcher()
updateSearcher.ServerSelection = ssWindowsUpdate
Set objResults = updateSearcher.Search("IsInstalled=0")
Set colUpdates = objResults.Updates
Set WSHShell = CreateObject("WScript.Shell")
For i = 0 to colUpdates.Count - 1
If (colUpdates.Item(i).IsInstalled = False AND colUpdates.Item(i).AutoSelectOnWebSites = False) Then
updatesOptional = updatesOptional + 1
ElseIf (colUpdates.Item(i).IsInstalled = False AND colUpdates.Item(i).AutoSelectOnWebSites = True) Then
updatesHigh = updatesHigh + 1
End IF
Next
updatesTotal = (updatesHigh + updatesOptional)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.CreateTextFile("C:\Zabbix\winupdateresult.txt", True)
IsRequired = 0
If objSysInfo.RebootRequired = "True" Then
IsRequired = 1
End If
' Önce güvenlik güncelleştirme sayısını yazalım
objTextFile.Write(updatesHigh)
' daha sonra satır atlayarak sistemin yeniden başlatılması ile ilgili bilgiyi yazalım
objTextFile.Write(vbCrLf & IsRequired)
objTextFile.Close
WScript.Quit 0
Yukarıdaki script içinde dikkat ederseniz updatesOptional diye bir seçenek de var. Ben sadece önemli güvenlik güncelleştirmelerini kontrol etmek istediğim için bu değeri yazdırmıyorum. Değerleri yine C:\Zabbix içinde winupdateresult.txt dosyasına yazıyorum.
Bu script çalıştığında winupdateresult.txt dosyasına iki satır kaydediyor. İlk satırda kaç güvenlik güncelleştirmesinin olduğu bilgisi, ikinci satırda ise sitemin yeniden başlatılma ihtiyazının olup olmadığı numerik olarak kydediliyor.
0 - yeniden başlatmaya ihtiyaç yok
1 - yeniden başlatmaya ihtiyaç var
Scripti çalıştırmadan önce C:\Zabbix klaösrüne winupdateresult.txt isimli dosyayı oluşturmayı unutmayın. Şimdi scripte çift tıklayarak çalışıp çalışmadığını test edebilirsiniz. Daha önce söylediğim gibi yaklaşık 20-40 saniye arasında sürüyor çalışması.
Not: Eğer scripti çalıştırdığınızda Set objResults = objSearcher.Search("IsInstalled=0") satırında hata veriyorsa, bilgisayarınız windows update için WSUS Server kullanıyor olabilir. Bunu anlamak için Windows Update'i açtığınızda pencerenin alt kısmında "You recieve updates : managed by your system administrator" yazıyorsa WSUS kullanıyorsunuz veya önceden kullanmışsınız ve ayarlarınız böyle kalmış demektir. Bunu düzeltmek için regedit içerisinde aşağıdaki anahtarın değerini 0 yapıp, sistemi yeniden başlatmalısınız.
HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU
Eğer script düzgün çalışıp sonuçları dosyaya yazdıysa, şimdi bu scripti zamanlamaya geçebiliriz. Bunu için windowsun Task Scheduler özelliğini kullanacağız.
Start > Control Panel > Administrative Tools > Task Scheduler programını açalım.
Test yaptığım makina Windows 7 Pro işletim sistemine sahip.
Task Scheduler açıldığında sağ menüden Create Task diyelim.
Açılan pencerede Name kısmına istediğimiz bir ismi verelim. Örneğin CheckWinUpdates. Daha sonra aşağıdan "Run whether user is logged on or not" işaretleyelim. Yine "Run with highest privileges" işaretleyelim. Bu sekmede diğer seçenekleri olduğu gibi bırakarak Trigger sekmesine geçelim.
Triggers sekmesinde zamanlamayı ayarlayacağız. New diyerek yeni bir zamanlama penceresi açıp uygun zamanlamayı yapalım ve ok diyelim. Benim için günde bir kez çalışması yeterli. Siz kendinize göre bu zamanlamayı ayarlayabilirsiniz.
Daha sonra Action sekmesine geçelim. Burada yine New diyerek yeni bir aksiyon tanımlayalım. Action kısmı "Start a program" kalacak. Program seçme bölümünden C:\Zabbix altındaki checkwinupdates.vbs dosyamızı seçelim. Start in (optional) kısmına C:\Zabbix\ yazalım ve ok diyelim.
Bunun dışındaki sekmelerde bir şey yapmadan ok diyerek görev zamanlayıcımızı kapatalım. Çalıştığından emin olmak için yeni oluşturduğumuz görevin üzerine sağ clik yapıp Run diyebilirsiniz.
Böylece günde bir kez scriptimizin çalışmasını sağlamış olduk. Sıra bu scriptin çalışması sonucunda ortaya çıkan sonuçların Zabbix Agent tarafından okunmasına geldi.
Önce winupdateresult.txt dosyasının istediğimiz satırını okuyarak Zabbix Agent'a gönderecek scripti yazalım. Bu scripti yine C:\Zabbix altına getwinupdates.vbs ismiyle kaydedelim.
Scriptin içeriği aşağıdaki şekilde olacak.
Dim ArgObj
Set ArgObj=Wscript.Arguments
Const ForReading = 1
ArgWanted = ArgObj.Item(0)
Set objFSO = CreateObject("Scripting.FileSystemObject")
Set objTextFile = objFSO.OpenTextFile("C:\Zabbix\winupdateresult.txt", ForReading)
strLine = 100
If ArgWanted = "updates" Then
strLine = objTextFile.ReadLine
ElseIf ArgWanted = "reboot" Then
objTextFile.ReadLine
strLine = objTextFile.ReadLine
End If
Wscript.Echo strLine
objTextFile.Close
Script içine bir parametre göndereceğiz. Bu sayede güncelleştirmeler ve yeniden başlatma bilgisini tek bir script ile okuyabileceğiz. Dilerseniz her bir bilgi için ayrı bir scripte yazabilirsiniz. Dikkat ederseniz biz iki parametre göndereceğiz. Eğer parametremiz updates ise bize güncelleştirme bilgisini, reboot ise yeniden başlatma bilgisini verecek. Eğer bunlar haricinde bir parametre gelirse bize 100 rakamını döndürecek. Bu sayede doğru bilgi almadığımızı da görmüş olacağız.
Şimdi sıra geldi ZAbbix Agent konfigürasyonuna. Bunun için Zabbix Agent konfigürasyon dosyasını açalım. Benim dosyam C.\Zabbix\zabbix_conf.txt
Konfigürasyon dosyasnın en sonuna aşağıdaki satırı ekleyelim.
UserParameter=check.winupdate[*], %systemroot%\system32\cscript.exe /nologo c:\Zabbix\getwinupdates.vbs $1
<key> yerine check.winupdate[*] yazdık. Köşeli parantez kullanarak parametre göndereceğimizi belirtmiş oluyoruz. <command> sonundaki $1 ise gönderdiğimiz parametreyi vbs dosyasına iletecek.
Konfigürasyon dosyasını kaydedip kapatalım ve Zabbix Agent servisini yeniden başlatalım. Dikkat, konfigürasyon dosyasında yaptığınız değişikliklerin aktif olması için servisi yeniden başlatmalısınız.
Zabix Agent'ın çalıştığından emin olmak için komut satırından aşağıdaki komut ile test gerçekleştirebiliriz.
Not: cmd programını yönetci olarak çalıştırmalısınız.
cd C:\Zabbix diyerek Agent'ımızın olduğu kalsöre gidelim.
zabbix_agentd.exe -c c:\zabbix\zabbix_conf.txt -t check.winupdate[updates]
Eğer herşey yolunda ise bize [t:3] gibi bir sonuç dönecek. 3 rakamı 3 güncelleştirme olduğunu gösteriyor.
Şimdi sıra geldi, Zabbix Server da bir Item yaratmaya. Bunun için hostumuzun içindeki Itemlara girip Create Item diyelim ve aşağıdaki değerleri kullanalım.
Type : Zabbix Agent
Key : check.winupdate[updates] veya check.winupdate[reboot] (ihtiyaca göre)
Type of information : Numeric (unsigned)
Data type : decimal
Update Interval : 86400 (günde bir kez yeterlidir)
Save diyerek kaydedelim. Artık windows güncelleştirmelerini ve sistemin yeniden başlama ihtiyacını kontrol ediyorsunuz.
3 Ekim 2012 Çarşamba
Windows işletim sistemine zabbix agent servisinin kurulması
Zabbix Server kurulumu yaptıktan sonra Windows işletim sistemi kurulu olan makinalarınızı takip etmek için, bu makinalara Zabbix Agent servisini kurmalısınız. Zabbix Agent'ı servis olarak kurmazsanız her seferinde Agent'ı elinizle başlatmanız gerekecektir.
Kurulum için öncelikle ihtiyacınız olan Zabbix Agent dosyalarını indirin. Buradan Zabbix Agent'ın son versiyonunu, buradan da ihtiyacınız olan eski versiyonlarını indirebilirsiniz.
Windows işletim sisteminin 64 Bit ve 32 Bit versiyonları tek bir dosya ile iniyor. Sıkıştırılmış dosyayı bilgisayarınıza indirdiğinizde Win32 ve Win64 olarak iki klasör olduğunu göreceksiniz. Servisi kuracağınız işletim sistemi versiyonuna göre ihtiyacınız olanı kullanmalısınız.
Dosyaları C:\Zabbix içine kaydedelim. Kaydedeceğiniz üç dosya olacak.
zabbix_agentd.exe
zabbix_get.exe
zabbix_sender.exe
Şimdi servisin çalışması için gereken konfigürasyon dosyasını oluşturalım. C:\Zabbix altına zabbix_conf.txt isimli bir dosya oluşturalım. Dosyanın içeriği aşağıdaki şekilde olacak;
Server=zabbix_sunucunuzun_adi
Hostname=zabbix_sunucunuzda_kontrol_icin_bu_bilgisayara_vereceginiz_ad
ListenPort=10050
DebugLevel=3
LogFile= C:\Zabbix\zabbix_agentd.log
Server : Zabbix sunucunuzun full adı veya IP adresi (zabbix.alanadiniz.com gibi)
Hostname : zabbix sunucunuzda bu bilgisayar için vereceğiniz unique ad. Dikkat türkçe karakter kullanmamanızı öneririm. Boşluk karakterini kullanabilirsiniz. Örneğin MailServer
ListenPort : Zabbix sunucunuzun isteklerini hangi porttan dinleyeceğini seçebilirsiniz. Özellikle ADSL arkasında birkaç makina kullanacaksanız tek IP niz olduğundan port yönlendirme ile farklı portlardan bu makinaları tanımlayabilirsiniz. Standardı 10050 dir.
DebugLevel : Olası sorunları bulmanıza yarayacak log kayıt düzeyi. Varsayılan zaten 3 tür. Düzey 3 olduğunda hataları kaydeder. Sorun çözmek için bu düzeyi 4 yapabilirsiniz. 4 olduğunda tüm süreçleri loglar.
LogFile : Logları nereye kaydedeceğini belirten satır
Bu değerleri kendi ihtiyacınıza göre girdikten sonra komut satırını açalım. Dikkat, komut satırını açarken sağ click ve Run as administrator (yönetici olarak çalıştır) demeyi unutmayalım.
Komut satırında C:\Zabbix klasörüne girelim ve aşağıdaki satırı yazıp enter tuşuna basalım.
zabbix_agentd.exe -i -c "C:\Zabbix\zabbix_conf.txt"
-i opsiyonu Zabbix Agent'ın servis olarak kurulmasını, -c opsiyonu da yazdığımız konfigürasyon dosyasını kullanmasını sağlayacaktır.
Bu işlemden sonra Start > Control Panel > Administrative Tools > Services ile servisleri açıp en altta yer alan Zabbix Agent servisini balatmalısnız.
Ayrıca vermiş olduğunuz port için (örnekte 10050) Firewall da port izni vermeyi unutmayın.
Zabbix Agent için olası tüm ayarlar için buraya bakabilirsiniz.
Konfigürasyon dosyasında herhangi bir değişiklik yaparsanız, servisi yeniden başlatmalısınız.
Kurulum için öncelikle ihtiyacınız olan Zabbix Agent dosyalarını indirin. Buradan Zabbix Agent'ın son versiyonunu, buradan da ihtiyacınız olan eski versiyonlarını indirebilirsiniz.
Windows işletim sisteminin 64 Bit ve 32 Bit versiyonları tek bir dosya ile iniyor. Sıkıştırılmış dosyayı bilgisayarınıza indirdiğinizde Win32 ve Win64 olarak iki klasör olduğunu göreceksiniz. Servisi kuracağınız işletim sistemi versiyonuna göre ihtiyacınız olanı kullanmalısınız.
Dosyaları C:\Zabbix içine kaydedelim. Kaydedeceğiniz üç dosya olacak.
zabbix_agentd.exe
zabbix_get.exe
zabbix_sender.exe
Şimdi servisin çalışması için gereken konfigürasyon dosyasını oluşturalım. C:\Zabbix altına zabbix_conf.txt isimli bir dosya oluşturalım. Dosyanın içeriği aşağıdaki şekilde olacak;
Server=zabbix_sunucunuzun_adi
Hostname=zabbix_sunucunuzda_kontrol_icin_bu_bilgisayara_vereceginiz_ad
ListenPort=10050
DebugLevel=3
LogFile= C:\Zabbix\zabbix_agentd.log
Server : Zabbix sunucunuzun full adı veya IP adresi (zabbix.alanadiniz.com gibi)
Hostname : zabbix sunucunuzda bu bilgisayar için vereceğiniz unique ad. Dikkat türkçe karakter kullanmamanızı öneririm. Boşluk karakterini kullanabilirsiniz. Örneğin MailServer
ListenPort : Zabbix sunucunuzun isteklerini hangi porttan dinleyeceğini seçebilirsiniz. Özellikle ADSL arkasında birkaç makina kullanacaksanız tek IP niz olduğundan port yönlendirme ile farklı portlardan bu makinaları tanımlayabilirsiniz. Standardı 10050 dir.
DebugLevel : Olası sorunları bulmanıza yarayacak log kayıt düzeyi. Varsayılan zaten 3 tür. Düzey 3 olduğunda hataları kaydeder. Sorun çözmek için bu düzeyi 4 yapabilirsiniz. 4 olduğunda tüm süreçleri loglar.
LogFile : Logları nereye kaydedeceğini belirten satır
Bu değerleri kendi ihtiyacınıza göre girdikten sonra komut satırını açalım. Dikkat, komut satırını açarken sağ click ve Run as administrator (yönetici olarak çalıştır) demeyi unutmayalım.
Komut satırında C:\Zabbix klasörüne girelim ve aşağıdaki satırı yazıp enter tuşuna basalım.
zabbix_agentd.exe -i -c "C:\Zabbix\zabbix_conf.txt"
-i opsiyonu Zabbix Agent'ın servis olarak kurulmasını, -c opsiyonu da yazdığımız konfigürasyon dosyasını kullanmasını sağlayacaktır.
Bu işlemden sonra Start > Control Panel > Administrative Tools > Services ile servisleri açıp en altta yer alan Zabbix Agent servisini balatmalısnız.
Ayrıca vermiş olduğunuz port için (örnekte 10050) Firewall da port izni vermeyi unutmayın.
Zabbix Agent için olası tüm ayarlar için buraya bakabilirsiniz.
Konfigürasyon dosyasında herhangi bir değişiklik yaparsanız, servisi yeniden başlatmalısınız.
Kaydol:
Kayıtlar (Atom)