Sunucuları ve sistemleri izlememize imkan veren ve açık kaynak olarak kullanılabilen Zabbix yazılımının nasıl kurulduğuna ve temel kullanım senaryolarına buradaki yazımda değinmiştim. Bu yazımda ise biraz daha detay kullanım senaryolarına değineceğim.
Sistemlerimizde her zaman anlık problemleri takip etmeyiz. Bazı sorunların tespitinin yapılabilmesi için geçmişe dönük incelemelere ihtiyaç duyulabilir. Bu incelemeleri yapabileceğimiz adreslerden ilki Monitoring > Problems
sekmesi.
Bu sekmede belirli filtreler uygulayıp sisteminiz genelindeki problemler üzerinde incelemeler yapabilirsiniz. Aşağıdaki filtrelerin ne anlama tek tek açıklamaya gerek olduğunu düşünmüyorum. Merak ettiğiniz bir filtre olursa yorum kısmından belirtebilirsiniz.
Geçmişe dönük izleme yapabileceğimiz bir başka konum ise Monitoring > Latest data
. Problems kısmında aslında bizim görüntülediklerimiz trigger tanımlarının tetiklenmiş olduğu değerledi. Burada ise host içerisinde tanımlanmış olan itemler özelinde incelemelerde bulunabiliyoruz. Listelenen Itemların sağ taraflarında bulunan Graph
butonuna tıklarsanız seçtiğiniz item tarafından geçmiş dönük alınmış verileri görüntüleyebilirsiniz.
Eğer sağ üstte bulunan View as
kısmını Graph seçeneğinden Values
seçeneğine getirirseniz, alınan değerleri liste halinde gösterecektir. 500 latest values
seçeneği ise item tarafından toplanan son 500 değeri listeler.
Zabbix’in beğendiğim özelliklerinden bir tanesi de ağ haritası oluşturmamıza izin vermesidir. Bu özellik sayesinde network topolojinizi görsel olarak oluşturabilir ve takibini yapabilirsiniz. Yeni bir ağ haritası oluşturmak için öncelikle Monitoring > Maps
seçmesine giriyoruz ve Sağ üstte Bulunan Create map
seçeneğine tıklıyoruz.
Açılan menüde Map
sekmesinde konfigürasyonlarımızı yaptıktan sonran Add
butonuna tıklayarak düzenlemeye geçebiliriz. Bu ayarları daha sonra Monitoring > Maps
sekmesinde bulunan haritaların sağ taraflarında bulunan Properties
butonuna tıklayarak da düzenleyebilriz. Sharing
sekmesinde ise bu haritanın kimler tarafından görüntülenebileğini seçebiliriz.
Yukarıda görmüş olduğunuz gibi 800x600 piksel çalışma ortamımız açıldı. Buraya yen bir nesne eklemek için sol üstteki Map element
kısmının yanında bulunan Add
butonunu kullanıyoruz.
Ekleyeceğimiz nesnenin ne iş yapacağına ne şekilde görüneceğine hatta etiketlerinin nerede konumlandırılacağına karar verebileceğimiz bir ekran açılıyor.
Type
Nesnemizin tipini seçtiğimiz bölümdür. Varsayılan fotmatında gelir; Host, Host Group, Trigger ve Map tanımları yapabiliriz. Altındaki ayarlar da buna göre değişecektir.Label
Nesnemizi tanımlayan bir etikettir. Bunu istersek map ayarlarındanHost label type
kısmınıCustom label
seçeneği ile düzenleyerek macro tanımları ile kullanabiliriz.Label location
Etiketin bulunacağı konumu seçmemizi sağlar.Application
sadece host tanımlarında bulunanApplication
‘lardaki triggerların problemlerini göstermesini sağlar.Icons
Hangi durumda hangi ikonun gösterileceğini seçebiliriz. Zabbix bize burada bulunan ikonların haricinde ikon ve gif ekleme imkanı veriyor.Coordinates
simetri takıntısı olanlar için (Mesela ben 🙂) nesnelerin yerlerini piksel piksel ayarlamamıza imkanı veriyor.URLs
kısmı ise üzerine tıklandığında listelenen bir URL listesi oluşturmamızı sağlıyor.
Ben neler yapılabileceğini göstermek amacıyla aşağıda bir sistem haritası hazırladım. Burada gördüğünüz gibi kabinet olarak konumlandırılmaya imkan verildiği gibi topolojik olarak da tasarımlar yapılmasını mümkün kılıyor.
Haritamızı çok güzel bir şekilde özene bezene hazırladık. Fakat göz önünde olmadığı sürece hiçbir işe yaramaz. O halde sıra geldi oluşturduğumuz haritayı Dashboard’a eklemeye. Dashboard’da düzenleme moduna geçiyoruz ve Add widget
butonunu tıklıyoruz. Type olarak Map
seçip bu widgeta bir isim veriyoruz. En altta bulunan Map
seçeneği ile de biraz önce oluşturduğumuz haritayı seçip Add
butonun tıklıyoruz. Tebrik ederim bu kadar! 🙂
Objelerden herhangi birinde bir sorun olduğunda ise aşağıdaki gibi görünecektir. Tabi ki isterseniz objelerden birinde hata alındığında başka türlü şekil veya gif olarak görünmesini sağlayabilirsiniz. Her şey size kalmış.
Discovery Rule kullanarak envanterinize yeni eklediğiniz sunucuları tek tek izleme ekranına eklemek zorunda kalmadan otomatize bir şekilde zabbix ekranlarına eklenmesini sağlayabilirsiniz. Sadece ekleme işlemi değil, hangi host group’a dahil olacak, hangi template’ler kullanılacak bunları seçmenizi sağlıyor. Discovery tanımları nasıl yapılır şimdi ona bakalım.
Öncelikle Configuration > Discovery
sekmesinde sağ üstte Create discovery rule
butonunu tıklıyoruz.
Bu kısım, sunucularınızın hangi kriterlere göre nerede taranacağını tanımladığımız yerdir.
IP range
kısmına aralarına virgül koyarak birden fazla IP aralığı tanımı yapabilirsiniz.Update interval
Kontrol sıklığını belirtir. Burada belirttiğimiz IP aralığını saatte bir kontrol yapılmasını istediğimizi söyledik.Checks
Bu aralıkta bir sunucu bulursa hangi parametre veya tanımın kontrol edileceğini seçtiğimiz kısımdır.Device uniqueness criteria
tekilliğin neye göre belirleneceğini belirttiğimiz kısımdır. Burada seçilen kriter eğer sistemde bulunursa üzerinde yeni bir işlem yapılmayacaktır.Host name
veVisible name
Host tanımlarında ilgili kısımların nasıl doldurulacağını seçtiğimiz kısımdır.
Checks bölümünde Add
butonuna tıkladıktan sonra nasıl bir kontrol yapmak istediğimizi giriyoruz. Ben burada system.uname
parametresinin kontrol edilmesini istedim çünkü tanımlamaları yaparken eğer bulduğum sunucu bir Linux işletim sistemine sahipse uname
çıktısından bunu yakalamak istiyorum. ( Bu kısımda girilen keylerin önceden agent üzerinde veya item olarak tanımlanmış olması gerekmektedir. Yoksa Zabbix agent bu parametrenin ne olduğunu anlayamayacaktır. system.uname
varsayılan gelen bir parametredir.) Checks kısmında yer alan bilgiler aksiyon tanımları yaparken “Received Values” olarak karşımıza çıkacak.
Yaptığım son tanımlamaları aşağıda görebilirsiniz. Burada tekillik kriterine IP adresini, hostname ve visible name kısımlarına ise Zabbix agenttan çekilecek olan hostname bilgisinin yazılmasını istedik. Eğer sunucularda Zabbix agent konfigürasyon dosyasında HostnameItem=system.hostname
parametresini aktif ederseniz hostname bilgisi direk sunucunun kendisinden gelecek ve ayrıca bir tanım yapmanıza gerek kalmayacaktır.
Discovery rule tanımlamamız bu kadar. Şimdi aksiyon alma vakti. Hatırlayacaksınız, Trigger aksiyon tanımlarını yaparken aşağıdaki sayfaya girmiştik. Şimdi ise Trigger actions
başlığına tıklayarak Discovery actions
sayfasına giriyoruz ve Create action
butonuna tıklıyoruz.
Actions
sekmesinde keşfedilmiş olarak gelen cihazlarımız arasında filtre uyguluyoruz. Yukarıda oluşturduğumuz “Zabbix Network” Discovery kuralına uyan sunucular içerisinde Linux parametresi geçen sunucuları seçiyoruz.
Son durum aşağıdaki gibi oldu. Burada yine triggerlar için action tanımı yaptığımız gibi önceliklendirme yapabiliyoruz.
Operations
sekmesinde, uyguladığımız filtrelere uyan cihazlara nasıl bir konfigürasyon yapılacağını seçiyoruz. Ben burada önce ekleneceği host gruplarını belirledim, daha sonra envanter bilgilerinin otomatik çekilebilmesi için inventory mode
seçeneğini otomatiğe çektim. Eklenen sunucuların izlenebilmesi için gerekli olan parametrelerin ayarlanabilmesi için bir template ayarladım. Eğer istersek Send message
seçeneği ile belirli bir kullanıcı veya kullanıcı grubuna mail de atabiliriz.
Son tanımlamalarımız aşağıdaki gibi oldu. Artık envanterimize eklenen yeni sunucu ve cihazlarımız eğer belirlediğimiz kurallara uyuyorsa aşağıdaki konfigürasyonlar uygulanarak izlenmeye başlanacaktır.
Her kullanıcı bir gruba ait olmalıdır. Bu gruplar sayesinde kullanıcı yetkilerini ve giriş yöntemlerini düzenleyebiliriz. Yeni bir kullanıcı eklemek için Administration > User Groups
sekmesine gidiyoruz ve sağ üstte bulunan Create user group butonuna tıklıyoruz.
Açılan User Group sekmesinde oluşturacağımız grubun ismini yazıyoruz ve ekleyeceğimiz kullanıcıları seçiyoruz. Frontend access
kısmında bu gruba ait kullanıcıların Zabbix arayüzüne erişimi olup olmayacağı hakkında seçim yapabiliriz.
Önemli gördüğüm noktalardan birisi olarak Permissions
kısmında oluşturulan bu gruba sahip kullanıcıların ne gibi yetkilerinin olduğunu seçiyoruz. Burada verebileceğimiz yetkiler;
Read-write
sunucu parametreleri üzerinde değişiklik yapabilir ve aldığı değerleri görüntüleyebilir.Read
parametrelerin aldığı değerleri görüntüleyebilir fakat değişiklik yapamazDeny
Bu grupta bulunan sunucuların verilerin görüntülenmesi ve değiştirilmesi engellenir.Include subgroups
Zabbix de Host group’larda/
karakteri ile alt gruplamalar tanımlayabilir, bu sayede bir host group ağacı oluşturabiliriz. Fakat bu gruplamalar sadece yazım gruplamasıdır. Birkaç yer dışında etki eden bir yer bulunmamaktadır. (Zabbix 5.0 öncesinde gruplama\
karakteri ile yapılmaktaydı.)
Tag Filter
sekmesini kullarak da belirli bir host group içerisinde belirli etikete sahip sunuculara bu kullanıcı grubuna sahip kullanıcıların erişebilmesini sağlayabiliriz.
Template’ler aracılığı ile kolay bir şekilde birden fazla sunucuya item, trigger, macro, etiket vb. tanımları tek kalemden yapabiliriz. Şimdiye kadar hep önceden hazır olarak gelen template’lerden bahsettik. Zabbix hazır template’leri kullanmamıza izin vermesinin yanında kendi template’lerimizi de oluşturmamıza imkan verir. Kendi tamplate’imizi oluşturmak için öncelikle Configuration > Templates
sekmesinden Create Template
butonuna basıyoruz.
İlk sekmesinde Template’imizin temel bilgilerini giriyoruz.
Linked Templates
sekmesinde ilişkilendireceğimiz template’leri seçiyoruz. İlişkilendirdiğimiz template’lerde bulunan tüm item ve trigger’ların hepsinin bu template içerisinde de bulunması için kullanmaktayız.
Tags
ve Macros
sekmelerinde ise Etiket ve Macro tanımlamaları yapabiliriz.
Sıra geldi item ve triggerları oluşturduğumuz template’e eklemeye. Eklemek istediğimiz item’ı seçiyoruz ve copy butonuna tıklıyoruz.
Gelen ekranda Target Type
kısmında Templates
seçeneğini seçiyoruz. Target
kısmına da oluşturmuş olduğumuz template ismini yazıyoruz ve Copy
butonuna tıklıyoruz.
İşlem bu kadar. Eklediğimiz item artık yeni template’imizde artık. Oluşturduğumuzda sunucularda kullanılabilir durumda. İstersek oluşturduğumuz template’i diğer kullanıcılar ile de paylaşabiliriz.
Tetiklenen triggerların mail atabilmesi için öncelikle kullanıcı tanımlarını yapmamız gerekmektedir. Yeni bir kullanıcı oluşturmak için Administration > Users
sekmesinden Create User
butonuna tıklıyoruz.
User
sekmesinde;
Alias
kullanıcı girişi yaparken kullanılacak olan kullanıcı adıdır.Groups
kullanıcımızı dahil edeceğimiz kullanıcı gruplarını gösterir. Her kullanıcı en az bir gruba dahil olmalıdır.Password
kullanıcının sisteme giriş için kullanacağı parolası (Eğer LDAP kullanıyorsak burayı boş bırakabiliriz.)Language
Kullanıcı giriş yaptıktan sonra kullanılacak olan dil.Theme
kısmını kullanarak kullanıcıya ait tema belirleyebiliriz.Auto-login
kullanıcı giriş bilgilerinin tarayıcıya kaydedilmesini sağlar.Auto-logout
kullanıcı hesabının aktivitesi sonlandıktan sonra otomatik logout olmasını sağlar.Refresh
kullanıcı dashboardlarındaki varsayılan yenileme süresini belirlememizi sağlar.Row per page
listelediğimiz sayfalarda kullanıcı için her sayfada listelenecek satır sayısını belirtir.URL
kullanıcı sisteme giriş yaptıktan sonra yönlendirilecek olan sayfayı belirler.
Kullanıcı tanımı için gerekli bildirimleri girmemizin ardından kullanıcıya bir media tanımı yapmamız gerekiyor. Oluşturduğumuz kullanıcıya bir bildirim gönderileceği zaman burada belirlemiş olduğumuz media yöntemleri kullanılacaktır.
Type
Hangi media yönetemi kullanılarak bildirimde bulunacağımız seçiyoruz.Send to
gönderilen bildirimin hangi adrese gönderileceğini belirtiyoruz.When active
hangi gün ve saatler arasında bildirimde bulunulacağının seçimimim yapılmasını sağlar.Use if severity
ilgili kullanıcıya sadece belirli bir uyarı seviyesi bildirimlerin gitmesini istiyorsak buradan seçebiliriz.Enabled
girmiş olduğumuz bu kullanıcı mediasının aktif olarak mı yoksa pasif olarak mı oluşturulacağını belirttiğimiz alandır.
Burası oluşturduğumuz kullanıcılara yetki verdiğimiz alandır.
- Zabbix User: Sistem üzerinde bulunan cihazlarda sadece görüntüleme yapabilen kullanıcı tipidir. Sunucu bilgilerini, item ve trigger değerlerini değiştirme yetkisi yoktur.
- Zabbix Admin: Sistem üzerinde bulunan cihazlar üzerinde configürasyon değişikliğinin yapılmasına izin verilen kullanıcı tipidir.
- Zabbix Super Admin: Zabbix altyapısına dair tüm ayarları yönetebilen kullanıcı tipidir.
Eğer sistemimizde LDAP giriş doğrulama sistemi kullanıyorsak parola yönetim sistemimizi buraya entegre edebiliriz. Öncelikle Administration > Authentication
sayfasında Authentication
sekmesinde Default Authentication seçeneğini LDAP olarak değiştiriyoruz.
LDAP Settings
sekmesinde LDAP sunucumuza ait gerekli bilgileri girdik. Altta bulunan test kısmından girdiğimiz sunucu bilgilerinin doğruluğunu kontrol edebiliriz.
Her zaman zabbix içerisinde kullandığımız item’lar yeterli gelmeyebilir veya özel bir komuttan aldığımız çıktıları izlemek isteyebiliriz. Bu işlem için sunuculardaki zabbix agent dosyalarında bir parametre ekleyerek gerçekleştirebiliyoruz.
Komutun çalıştırılacağı client üzerindeki zabbix agent konfigürasyon dosyasını (konfigürasyon dosyası; zabbix-agent için /etc/zabbix/zabbix_agent.conf
, zabbix-agent2 için /etc/zabbix/zabbix_agent2.conf
konumunda bulunmaktadır.) açıyoruz. Tanımlama yaparken kullanacağımız format;
UserParameter=<key>,<shell command>
key
: item tanımlarken tanımlayıcı olarak kullanacağımız anahtar kelime
shell command
: tanımlamanın yapıldığı sunucu üzerinde çalıştırmak istediğimiz komut
Örnek olarak /boot dizininin boyutunu takip eden item oluşturalım. Agent konfigürasyon dosyasına aşağıdaki satırı ekliyoruz.
UserParameter=bootsize,df -h | grep boot | awk '{ print $4 }' | awk -F'M' '{ print $1 }'
Sonrasında servisi restart etmemiz gerekiyor.
[root@zabbix-client burak]# service zabbix-agent2 restart
Redirecting to /bin/systemctl restart zabbix-agent2.service
Sıra uygulama tarafındaki konfigürasyonları yapmada.. Konfigürasyon dosyasını düzenlediğimiz sunucuya aşağıdaki gibi item tanımlaması yapıyoruz.
Item tanımlamasının yapılmasının ardından Test butonuna tıklayarak düzgün yapılandırmış mıyız kontrol edebiliriz.
Artık yapılandırmamızın doğru olduğunu gördükten sonra Add butonuna tıklayarak item oluşturmamızı tamamlayabiliriz. Monitoring > Latest
sekmesinden gelen verilerin takibini yapabiliriz.
Yazımı okuduğunuz için çok teşekkür ederim. Yazımı faydalı bulduysanız paylaşmayı unutmayınız. Her türlü sorularınızı yorum kısmından veya iletişim kısmında bana sorabiliriniz. Sevgiler..
Yazımı beğendiniz mi? Yorum yapın.