Bir BT çalışanı için fiziksel veya sanal sunucuların ve uygulamaların son durumları hakkında bilgi sahibi olmak büyük önem arz etmektedir. Bu da monitoring uygulamalarının önemini ortaya çıkarır. Bir çok monitoring uygulaması vardır. Bu yazımda bunlardan bir tanesi olan “Zabbix“i inceleyeceğiz. Açık kaynak olan uygulama, çok güzel anlatılmış bir dökümantasyona sahip. Bu da, kurulumları doğru bir şekilde yapıldıktan sonra sistemimizi geliştirmek için çok güzel bir kaynak sunuyor.
Topoloji

Yukarıdaki grafikte görüldüğü üzere Zabbix; kendine ait agent’ı ve önceden belirlenmiş veya sizin belirleyeceğiniz herhangi bir port üzerinden izleme işlemlerini yapabilir. Bu sayede kendi yazdığınız bir uygulamanın sizin belirleyeceğiniz portlarından uygulamanızın durumunu taklip edebilirsiniz.
Server Kurulumu
Kurulum Bilgileri:
- Centos 7
- postgres (PostgreSQL)
- Zabbix Server 5.0
Zabbix Repo kurulumu
rpm -Uvh https://repo.zabbix.com/zabbix/5.0/rhel/7/x86_64/zabbix-release-5.0-1.el7.noarch.rpm
yum clean all
Zabbix server ve agent kurulumu
yum install zabbix-server-pgsql zabbix-agent
Zabbix frontend kurulumu
Red Hat Software Collections’ı aktif ediyoruz.
yum install centos-release-scl
/etc/yum.repos.d/zabbix.repo dosyasındaki zabbix-frontend repository’nin altında bulunan enabled satırını aşağıdaki gibi düzenliyoruz.
[zabbix-frontend]
...
enabled=1
...
Zabbix frontend paketlerini yüklüyoruz.
yum install zabbix-web-pgsql-scl zabbix-apache-conf-scl
Postgresql Database ve PHP kurulumu:
yum update -y
yum install -y php postgresql-server postgresql-contrib php-pgsql dejavu-sans-fonts php-bcmath php-gd php-ldap php-mbstring php-xml wget
# Servisi başlatıyoruz
service postgresql initdb
systemctl start postgresql
# Servisi yeniden başlatma listesine ekliyoruz
systemctl enable postgresql
service postgresql restart
Database Yapılandırması:
# zabbix isminde bir kullanıcı oluşturuyoruz.
sudo -u postgres createuser --pwprompt zabbix
# Sahibi zabbix kullanıcı olan zabbix isminde bir veritabanı oluşturuyoruz.
sudo -u postgres createdb -O zabbix -E Unicode -T template0 zabbix
Ben bu tanımlamaları “root” kullanıcısı ile yaptım. Eğer sunucu üzerinde postgres kullanıcısı ile yapılacak ise üstteki komutların başına bulunan sudo -u postgres komutunu kaldırabiliriz.
Database şablonlarını import ediyoruz.
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix
Zabbix server Yapılandırması:
vi /etc/zabbix/zabbix-server.conf
Bu konfigürasyon dosyası içerisinde aşağıdaki satırları bulup değiştirelim.
# Eğer veritabanı başka bir sunucu üzerinde
# tutulacak ise buraya o sunucunun bilgileri girilmelidir.
DBHost=localhost
# Yukarıda oluşturduğumuz veritabanı
DBName=zabbix
# Yukarıda kullanıcı oluştururken belirlediğimiz kullanı ve parola
DBUser=zabbix
DBPassword=zabbix1234
Zabbix frontend PHP yapılandırması için /etc/opt/rh/rh-php72/php-fpm.d/zabbix.conf dosyasını düzenliyoruz.
# Türkiye zaman ayarını yapmak için başındaki ';' karakterini kaldırıp aşağıdaki gibi düzenliyoruz.
php_value[date.timezone] = Europe/Istanbul
Firewall Yapılandırması:
Eğer linux firewall kullanıyorsanız aşağıdaki konfigürasyonları yapmanız gerekmektedir.
firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
firewall-cmd --permanent --add-port=80/tcp
firewall-cmd --reload
systemctl restart firewalld
IP Table kullanıcısı iseniz aşağıdaki komutları girebilirsiniz.
iptables -I INPUT 5 -i eth0 -p tcp --dport 80 -m state --state NEW,ESTABLISHED -j ACCEPT
iptables -I INPUT 5 -p tcp -m tcp --dport 10050 -j ACCEPT
iptables -I INPUT 5 -p tcp -m tcp --dport 10051 -j ACCEPT
Benim kurulum yaptığım sunucu üzerinde selinux disable ve firewalld servisi kapalı durumdadır. Bu sebeple yukarıdaki firewall yapılandırmalarını uygulamadığımı belirtmek isterim. Bu konuda herhangi bir sıkıntı ile karşılaşırsanız yorum kısmından belirtebilirsiniz.
Buraya kadar başarılı bir şekilde geldiysek, Zabbix’i artık tarayıcıdan görme vakti geldi demektir. Tarayıcımıza aşağıdaki adresi yazalım:
http://<server_adresi>/zabbix
Aşağıdaki gibi bir sayfayla karşılaşmış olmamız lazım

Gereksinimlerin hepsi OK mi bakıyoruz.

Veritabanı konfigürasyonlarını kontrol ediyoruz.

Zabbix Server detaylarını giriyoruz.

Son olarak bize kurulumda yapılan konfigürasyonların özetini gösteriyor. Burada yaptığımız konfigürasyonların doğruluğunu kontrol edelim. Eğer sıkıntı yoksa Next Step butonuna tıklayarak kurulumu tamamlayabiliriz.

Kurulum tamamlandıktan sonra karşımıza aşağıdaki gibi bir ekranın gelmesi gerekir.

Bu adıma kadar sorunsuz bir şekilde geldiysek tebrik ederim, artık monitoring uygulamamız kullanıma hazır. Sıra izleyeceğimiz sunucular üzerine agent kurmaya geldi.
Kurulum sırasında bazı hatalar ile karşılaşmış olabilirsiniz. Bu hataların nasıl giderileceğini makalenin sonunda yer alan Hatalar ve Çözümleri başlığında bulabilirsiniz. Bu kısımda yer almayan hatalar için her zaman benimle iletişime geçebilirsiniz. Elimden geldiğince yardımcı olmaya çalışacağım.
Sunucuları izleme vakti
Client kurulumu server kurulumuna göre çok çok basit. Buradaki adresten sistemimize uygun zabbix agent çalıştırılabilir dosyamızı indiriyoruz ve izlemek istediğimiz sunucu üzerinde indirdiğimiz dosyayı çalıştırarak kurulumunu yapıyoruz.

Kurulumunu yaptıktan sonra yapılması gereken tek ayar konfigürasyon dosyasının düzenlenmesi olacaktır. Bu dosyanın konumu, kullanılan işletim sistemleri arasında değişkenlik gösterebilir. Linux dağıtımlarında /etc/zabbix/zabbix_agent.conf konumunda bulunmaktadır. Windws makinelerde ise C:\zabbix\zabbix_agent.conf konumunda bulunur. Temel olarak yapılması gereken değişiklikler aşağıdaki gibidir.
Server=127.0.0.1,serveradresi.com
Server=<IP_adresi>,<DNS_adresi> gibi Zabbix server ile iletişime geçebileceği IP adresi girilir.
ServerActive=127.0.0.1
Server kısmında yazanın aynısını yazabilirsiniz.
HostName=Zabbix
Burada sunucumuzun ismini giriyoruz. Zabbix Discovery özelliği ile sunucuyu keşfettiği zaman buradaki ismi kullanacak. Eğer istersek kolaylık olarak bu kısmın önüne # karakteri koyup devredışı bırakarak biraz altında bulunan HostnameItem=system.hostname (ilerideki geliştirmelerde sıkıntı yaşamamak için tavsiyedir.) özelliğini aktif edebiliriz. Bu özellik tarama yapılırken sunucumuzun hostname’ine göre keşif yapılmasını sağlar. Bu sayede örneğin 200 adet sunucumuz varsa ve konfigürasyon dosyasında bir değişiklik yapacaksak; bu değişikliği tek bir dosya olarak oluşturup tüm sunuculara gönderebiliriz. Aksi halde bu 200 sunucuya giriş yapıp bu dosyaları tek tek düzenlememiz gerekecektir.
Client sunucularımızda konfigürasyon tanımlarımız bu kadar. Bu adımdan sonra istersek discovery özelliğimizin sunucumuzu taramasını bekleyebilir veya kendimiz ekleyebiliriz.
İşte Zabbix!
Server kurulumu kısmında belirttiğim http://<zabbix_server_IP>/zabbix adresine girdiğimizde aşağıdaki gibi bir giriş ekranı karşılayacak bizi. buraya Admin kullanıcı adı (Evet A büyük olacak ) ve zabbix parolasıyla giriş yapıyoruz.

Giriş yaptıktan sonra bizi aşağıdaki gibi bir dashboard karşılayacak.

Host ekleme
Sistemimize yeni sunucu ekleme için soldaki panelden Configuration → Hosts sekmesine giriyoruz.

Sağ üstte Create Host ve Import şeklinde iki seçenek bulunmaktadır. Create Host, birazdan göstereceğim gibi zabbix ekranından yeni sunucu eklememizi sağlar. Import ise önceden hazırlanmış bir JSON dosyası kullanılarak sunucuların eklenmesini sağlar. Create Host menümüz aşağıdaki gibidir.

Templates sekmesinde, sunucuları oluşturduğumuz zaman bizim esas işimizi görecek olan item ve trigger’ları tek tek eklememiz gerekmeyecek. Bunları tamplate’ler halinde saklayıp eklediğimiz sunuculara bunları linkleyip kullanabiliriz.

IPMI sekmesinde, eğer sunucularınızı IPMI ile izleme şansınız bulunuyorsa Zabbix ile buradan gelecek verileri de izleyebilmenize imkan verir.

Tags sekmesinden eklediğimiz sunuculara etiketler vererek sınıflandırabiliriz.

Macros sekmesinde, tanımlar yaparak Item ve Trigger detaylarında sunuculara özel açıklamalar ekleyebilirsiniz. Örnek vermek gerekirse, iki tane sunucumuz var, bunların ikisi de farklı birimler tarafından yönetiliyor. Bu senaryoda item ve trigger açıklamalarını tek tek hangi birimin ilgileneceğini belirterek girmeniz gerekecektir. Bunun yerine, Template içerisindeki item ve trigger açıklamalarında {$BIRIM} şeklinde bir makro girip, her sunucunun ‘Macros’ sekmesinde buna uygun açıklamayı yaparsak 50 tane sunucuda 200’er tane tanım olsa bile hepsi bu makro sayesinde uygun bir şekilde değişecektir.

Inventory sekmesi sunucularımızın envanter bilgilerinin tutulduğu yerdir. Buradaki envanter bilgileri manual olarak girilebileceği gibi sunucularımızda bulunan item’lar sayesinde bunları otomatik olarak da tanımlayabiliriz.

Sunucularımıza erişimde herhangi bir şifreleme özelliği kullnılıyorsa Encryption sekmesinden bu şifreleme yöntemini girerek ilerleyebiliriz.

Host Groups
Host grupları tahmin edeceği gibi niz gibi sunucularımızı gruplamamızı sağlar. Her sunucu en az bir host grubuna sahip olmak zorundadır, birden fazla host grubuna sahip olabilir. Host grubu tanımı yapmak için iki seçeneğimiz bulunmaktadır:
- Sol panelden
Configuration→Host Groupssekmesine geçiyoruz. Sağ üsttekiCreate host groupbutonunu kullanarak yeni bir host group oluşturabiliriz.- Host tanımı yaparken
Groupskısmına eğer mevcut olmayan bir grup tanımlaması girilmişse otomatik olarak tanımlanacaktır. Tanımlanacağını yazdığınız grup isminin yanında bulunan(new)yazısından anlayabilirsiniz.

Item Tanımlama
Yukarıda yazdıklarımı okuduysanız, çok fazla ‘item’ ifadesini kullandığımı görmüşsünüzdür. Nedir bu ‘item’? Temel olarak sistemlerimizi izlememiz için, verilen paramtreleri kulllanarak gereken verileri toplayan objeler olarak açıklayabiliriz. Bu objeler sayesinde belirtmiş olduğumuz aralıklarda sistemlerimiz hakkında bilgi toplanır ve bu bilgiler veritabanına kaydedilir. Sunucularımız üzerindeki item’lar görmek için sunucu bilgilerine girip üst sekmede bulunan Items sekmesini inceleyebiliriz. Burada tanımlanmış (sizin özel olarak tanımladığınız veya linklenmiş olan template’ler aracılığı ile gelen) item’lar bulunmaktadır.

Sunucu için özel bir item oluşturmak için yukarıdaki resimde bulunan Create Item butonuna tıklıyoruz. Karşımıza aşağıdaki gibi bir ekran gelecektir.

Bu ekrandakilerin ne anlama geldiğini ve ne işe yaradıklarını biraz açıklamak isterim:
NameItem’a vereceğimiz ismi belirler. Anlamlı bir isim olmalıdır diğerItemssekmesinde diğer itemlarla birlikte listelenecektir. Etik isimlendirme standardında yapılan iş kullanılır. Örneğin; ‘Zabbix Kontrol’ veya ‘5000 Portu Durumu’ gibi.TypeComboBox yardımıyla kontrolün nasıl yapılacağını seçmemizi ister. Zabbix Agent, SNMP Agent, Simple Check ve JMX Agent vb. seçenekler mevcuttur.KeyItemlar keyler yardımı ile ne yapacağını anlar ve parametre alırlar. Bu keyler seçilen kontrol yöntemine göre değişiklik gösterir. Hatta Zabbix Agent kullanılıyorsa kendi keylerimizi bile yazabiliriz.Host InterfaceSunucuya bağlanılacak arayüzü diğer bir manada portu seçmemize yardımcı olur.Type of informationKontrollerden nasıl bir sonuç geleceğini belirtir. Örneğin nümerik bir sonuç mu gelecek, karakter mi gelecek yoksa log veya text içerik mi gelecek bunu seçeriz.UnitsSonuçların birimlerini belirler Örneğin; GB yazarsak gelen verileri GB cinsinden gösterecektir.Update IntervalNe kadar zaman aralıkları ile kontroller yapılacağını belirtir.Custom IntervalBelirli saatler arası belirli aralıklarla kontrol yapmasını sağlar.History Storage Period,Trend Storage PeriodZabbix’te veriler 2 tipte saklanır. History Storage, tam verilerdir. Itemlardan gelen tüm veriler saklanır. Trend Storage ise özet verilerdir. Belirli aralıklarla ortalama değerler alınarak bulunur.ApplicationsKontrollerin ne ile ilgili olduğunu gösterir. Ctrl tuşuna basılı tutarak birden fazla application seçebiliriz.Populates host inventory fieldEğer buradan gelecek veri bir envanter verisi ise bize envanter ekranı ile eşitleme imkanı verir. Kısaca bu itemdan gelecek veri envanter ekranında seçtiğimiz alanda görünecektir.DescriptionItem için açıklama yazabiliriz.
Trigger Tanımlama
Triggerlar monitoring için en önemli kısımlardan birisidir. Çünkü itemlar ile toplanan veriler burada anlam kazanmaya başlar. Biz bir eşik değeri belirleriz, ve bu eşik değerinin bizim için ne anlam ifade ettiğini söyleriz. Zabbix de buna göre davranarak uyarı verir.

Trigger oluşturmak için aynı itemlarda olduğu gibi Triggers sekmesindeki sağ üstte bulunan Create Trigger butonumuza tıklıyoruz. ve aşağıdaki gibi bir ekran bizi karşılıyor.

Bu ekranda;
SeverityBu uyarının bizim için önemi nedir. Bu önem seviyesini göre ileride mail atmak için kullanacağız.NameTrigger’a verilen isim. Etik isimlendirme standardında bir olay belirten isimler kullanılır. Örneğin; ‘/ dizininde disk boyutu %90 seviyesine çıktı’ veya ‘X sunucusuna ulaşılamıyor.’Operational dataAnlık veri kısmında gösterilen verinin hangi değer olacağını belirtir. Örneğin;{ITEM.LASTVALUE1}yazarsak, alınan son değeri gösterecektir.ExpressionBu kısımda takip etmek istediğimiz Item’ın hangi koşullada bu uyarıya takılacağını tarif ederiz. Örneğin takip ettiğimiz bir diskin doluluğu için şöyle bir tarif yapabiliriz; Eğer belirlenen disk %85 doluluğa ulaşmışsa Problem konumuna çek.OK event generationBuraki seçenek Expression ise belirlenen eşik çizgisine göre hareket edecektir. Fakat bazı durumlarda itemdan gelen veri tam bu çizginin üzerinde durabilir. Bu da size aynı problem ve normal bildiriminin veya mailinin birkaç defa gelmesine neden olur. Tabiki istenen bir durum değildir bu. Recovery Expression seçeneğini kullanırsak ne zaman normal olduğuna dair Zabbix’e bilgi verebiliriz. Üstteki örneğimizi uyarlayacak olrsak; Eğer belirlenen disk %85 doluluğa ulaşmışsa Problem konumuna çek, %80’in altına inerse Normal konuma çek diyabiliriz. Bu sayede doluluğun %85 ile %84 arasında yaptığı küçük dalgalanma bize bir tane problem maili olarak bildirilecektir.Allow manual closeBurası tikli olursa Dashboard üzerinde görünen bildirimde Acknowledge seçeneğini tıklayarak problemi manual olarak kapatabiliriz. Çok fazla istenilen birşey değildir. Sonuçta gelen uyarıyı elle kapatacaksak otomatize izlemenin bir anlamı kalmıyor. Bunun en mantıklısı zabbix tarafından kapatılması için gerekli iyileştirmelerin yapılmasıdır. Fakat yine de bazı durumlar için ihtiyaç olabiliyor.DescriptionTrigger’da açıklama yazmak için kullanılır. Hatanın nereden kaynaklandığı ve nerelerin kontrol edilmesi gerektiği yazılabilir.
Action Tanımlama
Action’lar sistemimizde bir sorun ile karşılaştığımızda zabbix’in bunu bize bildirmesini sağladığımız tanımlamalardır. Örnek vereyim; zabbix-client sunucusunda zabbix-agent’a ulaşamazsan [email protected] adresine mail at diyebiliriz. Buna ek olarak Zabbix 5.0 ile gelen bir özellik olarak JIRA, MS Teams, Slack, Telegram vb. ortamlardan ticket açılmasını da sağlayabiliyoruz.

Action oluşturmak için sağ üstte bulunan Create Action butonuna tıklıyoruz. Gelen sayfada hangi durumlarda bildirim gelmesi gerektiğini tanımlayacağız. Condition kısmında bulunan Add butonuna tıklayalım. Burada koşullarımızı gireceğiz. Mesela şu hostname bilgisine sahip sunucuda bu trigger’lar ‘Problem’ durumuna geçerse… veya bu host grubundaki sunucularda şu önem seviyesi üzerindeki triggerlar tetiklenirse… gibi koşulları buradan ayarlıyoruz.

Yapacağımız tanımlamanın tipisi seçtik. Trigger seçimi yapabilmemiz için istediğimiz triggerın bulundupu host’u seçiyoruz. Sonrasında o host’a tanımlı triggları görebiliriz.



Örnek olması amacıyla 2 tane trigger seçtim. Şu an gerek yok fakat 20 tane trigger seçimi yaptığımızı düşünürsek bunları önceliklendirmemiz ve birbirine bağlamamız gerekecektir. Type of Calculation tam da bu göreve hizmet ediyor. Eğer orada 4 adet seçenek bulunmakta:
And/Orönceliklendirmeleri otomatik yapacak demektir.
Andburada yazılan seçilen kuralların hepsinin geçerli olması durumunda çalışacaktır.
Ortanımlanan kuralların herhangi biri oluşursa çalışacak demektir.
Custom ExpressionÖnceliklendirmeleri elimize aldığımız kısımdır. Burada bulunan label’lar kalabalıklaşırsa koşul algoritmasının çok iyi kurulması gerektiğini hatırlatmam gerekiyor. Yoksa ya beklediğiniz yerden uyarı gelmiyor, ya da farklı yerlerden beklemediğiniz uyarılar gelebiliyor. Tanımlamaları yaparken ilgili tanımlamanın başında bulunan harfleri kullanıyoruz.



Artık yukarıda tanımladığımız koşulların gerçekleşmesi durumunda ne yapılacağını tanımlamaya geçiyoruz. Bu yazımda action oluştururken mail ile bildirim kısmını göstereceğim.

Operations kısmında;
Operation TypeAşağıda seçilen kullanıcılar veya kullanıcı gruplarına mesaj bildirimi yapılacağını (Send Message) veya komut çalıştırmak istediğimizi (Remote Command) belirtiyoruz.
Send to User groupsİlgili bildirimin gönderileceği kullanıcı gruplarını seçmek için kullanıyoruz.
Send to UsersHangi kullanıcılara bildirim gönderileceğini seçiyoruz.
Send only toYapılacak bildirimin nasıl olacağını seçiyoruz. Burada email ile bildirimin dışında Zabbix 5.0 ile birlikte JIRA, MS Teams, Slack, Telegram vb. ortamlardan bildirim veya ticket açılmasını sağlayabiliyoruz.
Custom MessageGönderilecek bildirimi özelleştirmemizi sağlar.
Gerekli tanımlamalarımızı yaptıktan sonra Add butonuna tıklıyoruz.



Eğer sorun giderildiğinde de bilgilendirilmek istiyorsak Recovery operations kısmında bulunan aşağıdaki tanımlamaları da Operations kısmına benzer şekilde tamamlıyoruz. Update operations kısmında ise soruna birisi tarafından yorum girilmesi veya durum değiştirilmesi durumunda yapılacak bilgilendirmeler için kullanılıyor.


Dashboard oluşturma
Dashboard’lar yukarıda yaptığımız tanımlamalarımızı görselleştirdiğimiz yerdir. Zabbix kurulumda bize aşağıdaki gibi bir dashboard sunacaktır. Bu dashboard’u düzenleyebileceğimiz gibi yeni dashboardlar da oluşturabiliriz.

Yeni dashboard oluşturmak için sağ üstte bulunan Edit dashboard butonun hemen yanında bulunan 3 çizgi’ye tıklayıp Create New seçeneğini seçiyoruz. ikinci bir seçenek olarak da sol üstteki Global View başlığının hemen altında bulunan All dashboards sayfasına dönerek oluşturabiliriz.

Burada oluşturacağımız dashboard’a sahiplik vermemiz gerekiyor. Sadece bir kişi bu dashboard’ın sahibi olabilir. Eğer birden fazla kişi tarafından kontrol edilecek ise oluşturduktan sonra sağ üstteki 3 çizgi olan butona tıklayıp Share seçeneği ile diğer kullanıcıların bu dashboard’ı kullanabilmeleri için Read-only veya Read-Write yetki verebilirsiniz. Burada ben “Operator” isminde bir ekran oluşturuyorum.


Şimdi sıra ouşturduğumuz ekrana eklediğimiz objeleri görselleştirecek widget’ları eklemede. Yeni bir widget eklemek için düzenleme modunda iken boş bir alana tıklamamız yeterli olacaktır.

Type kısmında uzun bir liste halinde bazı seçenekler sunuyor. Bu kısımda item’lardan gelen çıktıları listeleyen (Action Log) widgetlar olduğu gibi anlık problemler (Problems) ve bir web sitesinin takibi (URL) gibi işleri yapabilen widgetlar da mevcuttur. Aşağıda en çok işimize yaracak widgetlardan biri olan ‘Problems’ widgetının konfigürasyonunu görebilirsiniz.
Refresh intervalWidget’ın dashboard’da yenilenme süresidir.
ShowGösterilecek Problemleri seçmenizi sağlar.Recent problemsseçeneği O anda çözülmemiş ve açık olan problemleri zaman sıralamasına göre gösterir.Problemsseçeneği açılmış problemlerin hepsini gösterirken; Histroy seçeneği geçmişe dönük açılmış ve çözülmüş problemleri zaman sıralamasına göre listeler.
Host groupsHangi hostlardan gelen problemlerin gösterileceğini seçeriz.
Exclude host groupsBir sunucu birden fazla host grubunda bulunabilir. Seçtiğimiz host grupları içerisinde görünmesini istemediğimiz host grupları varsa onları ayıklamamızı sağlar.
HostsTek tek host eklememizi sağlar.
SeverityHangi önem seviyesine sahip triggerlarda sorun olursa gösterileceğini seçeriz. Örneğin; sadece ‘High’ ve ‘Disaster’ seçeneğini seçtiğimizi düşünürsek, ekranımıza sadece ‘High’ ve ‘Disaster’ önem seviyesine sahip bildirimler gelecektir.
TagsEtiketlere göre gösterim yapabilmemizi sağlar.
Show unacknowledged problemsgelen uyarılar bazen bilgimiz dahilinde olabilir. Bu uyarıların ekranda görünmesini istemeyebiliriz. Acknowledged olarak işaretlenmiş problemlerin ekranda görünmemesi için bu seçeneği tikleyebiliriz.
Show linesaynı anda kaç tane problemin görüneceğini belirtir. Eğer burada yazan sınırın üzerine çıkılırsa 2. 3. sayfalar oluşturularak devam edilir.
Gerekli bilgileri doldurdukran sonra Add butonuna tıklayarak widget’ımızı ekliyoruz.


Yapılan değişikliklerimizi kaydetmek için sağ üstte bulunan Save Changes butonuna tıklıyoruz.

Artık suncuularımızda yaşanan problemleri aşağıdaki gibi görebileceğiz.

Problem giderildiği zaman ise belirli bir süre RESOLVED şekilde ekranda durup kaybolacaktır.
Buraya kadar okuduğunu için çok teşekkür ederim. Yazının devamına buradaki bağlantıdan ulaşabilirsiniz. Kurulum sırasında alabileceğiniz muhtemel hatalar ve çözümlerini aşağıda bulabilirsiniz. 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. Saygılarımla…
Hatalar ve Çözümleri
DB Connection

/var/lib/pgsql/data/postgresql.conf dosyası içerisinde listen_addresses = '*' satırı ekliyoruz.
/var/lib/pgsql/data/postgresql.conf dosyası içerisinde normalde listen_addresses kısmı yorum satırı olarak tanımlıdır. Bu satırı yukarıdaki gibi düzenliyoruz veya altına ekliyoruz.
/var/lib/pgsql/data/pg_hba.conf dosyasında en alt satıra aşağıdaki satırı ekliyoruz.
# TYPE DATABASE USER ADDRESS METHOD
host all all 0.0.0.0/0 md5
Bu tanımlamalar yapıldıktan sonra postgresql servisinin yeniden başlatılması gerekmektedir.
Charset uyumsuzluğu

Eğer yukarıdaki gibi bir hata almışsanız üzgünüm ki düzeltme imkanımız yok. postgres kullanıcısına geçip dropdb zabbix komutunu çalıştırıyoruz.
Eğer işlem sırasında parola isterse /var/lib/pgsql/data/pg_hba.conf dosyasındaki md5 olarak düzenlediğiniz satırları ident olarak değişitirin. Sorasında postgresql servisini yeniden başlatmamız gerekecektir.
Veritabanını sildikten sonra yeniden uygun charseti kullanarak yeni bir veritabanı açıyoruz ve şemaları import ediyoruz.
createdb -O zabbix -E Unicode -T template0 zabbix
zcat /usr/share/doc/zabbix-server-pgsql*/create.sql.gz | sudo -u zabbix psql zabbix



