Giriş Proje Hakkında Zabbix Nedir? Zabbix Nedir? Zabbix, Zabbix SIA tarafından geliştirilen ağlar ve uygulamalar için kurumsal açık kaynak izleme çözümüdür. Bu yazılım, bir ağın ve çeşitli diğer sistemlerin sağlığını izleyerek sunucuların, sanal makinelerin, uygulamaların, hizmetlerin, veri tabanlarının, web sitelerinin ve bulut hizmetlerinin bütünlüğünü korur. Zabbix, kullanıcıların esnek bildirim mekanizması sayesinde e-posta tabanlı uyarıları yapılandırmasına imkan tanır, bu da sunucu sorunlarına hızlı yanıt verilmesini sağlar. Ayrıca, saklanan verilere dayalı olarak mükemmel raporlama ve veri görselleştirme özellikleri sunar, bu da Zabbix'i kapasite planlaması için ideal bir çözüm haline getirir. Zabbix, hem yoklamayı hem de yakalamayı destekler ve tüm raporlar, istatistikler ve yapılandırma parametreleri web tabanlı bir ön uç aracılığıyla erişilebilir durumdadır. Bu web tabanlı arayüz, ağ durumunun ve sunucu sağlığının herhangi bir yerden değerlendirilmesini sağlar. Düzgün yapılandırıldığında Zabbix, BT altyapısının izlenmesinde kritik bir rol oynayabilir. Zabbix, GPL Genel Kamu Lisansı sürüm 2 kapsamında ücretsiz olarak sunulur ve ticari destek ise Zabbix Şirketi ve dünya çapındaki ortakları tarafından sağlanmaktadır. Zabbix Tarihçesi Zabbix Tarihçesi Zabbix, ağ ve uygulama izleme yazılımı olarak 2001 yılında Alexei Vladishev tarafından başlatıldı. Açık kaynak kodlu olarak geliştirilen Zabbix, kullanıcı tabanı ve topluluk desteğiyle zamanla büyüdü ve gelişti. İlk genel sürümü 2004 yılında piyasaya sürüldü ve temel ağ izleme işlevlerini sunuyordu. Ardından sırasıyla 1.6, 1.8 ve 2.0 gibi sürümlerle performansı ve özellik setini sürekli olarak güçlendirdi. Zabbix, 2010'lu yıllarda web tabanlı yönetim arayüzü, raporlama seçenekleri, IoT cihaz desteği gibi yeni özelliklerle kullanıcıların ihtiyaçlarına cevap verdi. 2020 yılında piyasaya sürülen Zabbix 5.0 sürümü ise gelişmiş veri görselleştirmesi ve güncellenmiş API seçenekleriyle kullanıcı deneyimini daha da ileri taşıdı. Şu an Zabbix 7.0 güncel sürüm olarak kullanılmaktadır ve Zabbix 7.2 sürümünün de gelişim aşamasında olduğu bilinmektedir. Zabbix geniş ölçekli ağ ve sistem izleme ihtiyaçlarını karşılamak için önde gelen çözümlerden biri olarak kabul edilmektedir.   Gereksinimler Gereksinimler 1.1- Zabbix’in Gereksinimleri 1.1.1- Donanım Hafıza Zabbix hem fiziksel hem de disk belleği gerektirir. Gerekli disk belleği miktarı açıkça izlenen ana bilgisayar ve parametre sayısına bağlıdır. İzlenen parametrelerin uzun bir geçmişini tutmayı planlıyorsanız, geçmişi veri tabanında depolamak için yeterli alana sahip olmak için en azından birkaç gigabayt düşünmelisiniz. Her Zabbix daemon işlemi bir veri tabanı sunucusuna birkaç bağlantı gerektirir. Bağlantı için ayrılan bellek miktarı veri tabanı motorunun yapılandırmasına bağlıdır. Not: Fiziksel belleğiniz ne kadar fazlaysa, veri tabanı (ve dolayısıyla Zabbix) o kadar hızlı çalışır.   İşlemci Zabbix ve özellikle Zabbix veri tabanı, izlenen parametre sayısına ve seçilen veri tabanı motoruna bağlı olarak önemli miktarda CPU kaynağı gerektirebilir.   Diğer Donanımlar Zabbix'te SMS bildirim desteğini kullanmak için seri haberleşme portu ve seri GSM modem gereklidir. USB-seri dönüştürücü de işe yarayacaktır.   Donanım Yapılandırma Örnekleri Tabloda Linux/BSD/Unix platformu varsayılarak donanım yapılandırmasına dair örnekler verilmiştir. Bunlar başlamak için boyut ve donanım yapılandırma örnekleridir. Her Zabbix kurulumu benzersizdir. Zabbix kurulumunu üretim ortamına dağıtmadan önce gereksinimlerinizi tam olarak anlayabilmeniz için Zabbix sisteminizin performansını bir hazırlama veya geliştirme ortamında kıyasladığınızdan emin olun.   Kurulum Boyutu İzlenen Metric’ler CPU/vCPU Çekirdekleri Bellek (GiB) Veri Tabanı Amazon EC2  Küçük 1.000 2 8 MySQL Server, Percona Server, MariaDB Server, PostgreSQL m6i.large/m6g.large Orta 10.000 4 16 MySQL Server, Percona Server, MariaDB Server, PostgreSQL m6i.xlarge/m6g.xlarge Büyük 100.000 16 64 MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle m6i.4xlarge/m6g.4xlarge Çok Büyük 1.000.000 32 96 MySQL Server, Percona Server, MariaDB Server, PostgreSQL, Oracle m6i.8xlarge/m6g.8xlarge İzlenen Metric’ler: 1 metric = 1 item + 1 trigger + 1 graph Amazon EC2: ARM64 veya x86_64 mimarisini kullanan Amazon genel amaçlı EC2 örnekleri için, üretim ortamına kurulumdan önce Zabbix kurulum değerlendirmesi ve testi sırasında Compute/Memory/Storage için optimize edilmiş uygun bir örnek türü seçilmelidir. Not: Gerçek yapılandırma etkin öğelerin sayısına ve yenileme hızlarına çok bağlıdır. Büyük kurulumlar için veri tabanını ayrı bir sunucuda çalıştırmanız şiddetle önerilir. Desteklenen Platformlar Güvenlik gereksinimleri ve izleme sunucusunun kritik görev yapısı nedeniyle UNIX, gerekli performansı, hata toleransını ve dayanıklılığı sürekli olarak sağlayabilen tek işletim sistemidir. Zabbix, pazar lideri sürümlerde çalışır. Zabbix bileşenleri aşağıdaki platformlar için mevcuttur ve test edilmiştir: Platform Server Agent Agent2 Linux X X X IBM AIX X X - FreeBSD X X - NetBSD X X - OpenBSD X X - HP-UX X X - Mac OS X X X - Solaris X X - Windows - X X Not: Zabbix server/agent diğer Unix benzeri işletim sistemlerinde de çalışabilir. Zabbix agent XP'den (64 bit sürüm) itibaren tüm Windows masaüstü ve sunucu sürümlerinde desteklenir. Zabbix agent 6.1 TL07 / AIX 7.1 TL01 sürümlerinin altındaki AIX platformlarında çalışmaz. Zabbix agent 2'deki kritik güvenlik açıklarını önlemek için yalnızca desteklenen Go sürümleriyle derlenir. Go 1.21 itibarıyla, gereken minimum Windows sürümleri yükseltilmiştir, bu nedenle Zabbix agent 2 için minimum Windows sürümü Windows 10/Server 2016'dır. Zabbix, şifreleme ile derlenmişse çekirdek dökümlerini devre dışı bırakır ve sistem çekirdek dökümlerinin devre dışı bırakılmasına izin vermiyorsa başlamaz. Gerekli Yazılım Zabbix, modern web sunucuları, önde gelen veri tabanı motorları ve PHP betik dili etrafında oluşturulmuştur. Third-party External Surrounding Yazılımı Zorunlu olarak belirtilirse, gerekli yazılım/kütüphane kesinlikle gereklidir. İsteğe bağlı olanlar, belirli bir işlevi desteklemek için gereklidir. Yazılım Zorunluluk Durumu Desteklenen Sürümler Açıklama MySQL/Percona Biri zorunlu 8.0.30-8.4.X MySQL (veya Percona) Zabbix arka uç veritabanı olarak kullanılıyorsa gereklidir. InnoDB motoru gereklidir.   MySQL sürümleri için destek eklendi: - Zabbix 7.0.1'den beri 8.4.X. Sunucu/proxy oluşturmak için C API (libmysqlclient) Kitaplığını kullanmanızı öneririz. MariaDB 10.5.00-11.4.X InnoDB motoru gereklidir.   Önerilen sürüm 10.5'tir. server/proxy oluşturmak için MariaDB Connector/C Kütüphanesini kullanmanızı öneririz. MariaDB sürümleri için destek eklendi: Zabbix 7.0.1'den itibaren 11.4.X. Oracle 19c - 21c Oracle, Zabbix arka uç veritabanı olarak kullanılıyorsa gereklidir. Oracle DB desteği Zabbix 7.0'dan beri kullanım dışıdır. PostgreSQL 13.0-16.X PostgreSQL, Zabbix arka uç veri tabanı olarak kullanılıyorsa gereklidir. Kurulum boyutuna bağlı olarak, belirli bir işlem için veri tabanı tarafından kullanılan bellek miktarının yeterli olması ve sorgu yürütmenin çok fazla zaman almaması için PostgreSQL work_mem yapılandırma özelliğinin (varsayılan değer 4MB) artırılması gerekebilir. TimescaleDB for PostgreSQL 2.13.0-2.15.X TimescaleDB, PostgreSQL veri tabanı uzantısı olarak kullanılıyorsa gereklidir. Sıkıştırmayı destekleyen TimescaleDB Community Edition'ı yüklediğinizden emin olun.   PostgreSQL 15'in TimescaleDB 2.10'dan beri desteklendiğini unutmayın. PostgreSQL ve TimescaleDB sürüm uyumluluğuyla ilgili ayrıntılar için resmi belgelere de başvurabilirsiniz. TimescaleDB sürümleri için destek eklendi: Zabbix 7.0.1'den itibaren 2.15.X SQLite İsteğe bağlı 3.3.5-3.34.X SQLite yalnızca Zabbix proxy'leriyle desteklenir. SQLite'ın Zabbix proxy veri tabanı olarak kullanılması durumunda gereklidir. smartmontools 7.1 veya üzeri Zabbix Agent 2 için gereklidir. who   Kullanıcı sayısı eklentisi için gereklidir. dpkg   system.sw.packages eklentisi için gereklidir. pkgtool   system.sw.packages eklentisi için gereklidir. rpm   system.sw.packages eklentisi için gereklidir. pacman   system.sw.packages eklentisi için gereklidir. q applets   Gentoo Linux üzerinde, system.sw.packages eklentisi için qlist ve qsize, q applets bileşeninin bir parçası olarak gereklidir Not: Zabbix, işletim sistemlerinde bulunan veri tabanlarıyla çalışabilse de en iyi deneyim için resmi veri tabanı geliştirici depolarından yüklenen veri tabanlarını kullanmanızı öneririz. Başlangıç ​​A ş amas ı Zabbix ön yüzü için desteklenen minimum ekran genişliği 1200 pikseldir. Zorunlu olarak belirtilirse, gerekli yazılım/kütüphane kesinlikle gereklidir. İsteğe bağlı olanlar, belirli bir işlevi desteklemek için gereklidir. Yazılım Zorunluluk Durumu Sürüm Açıklama Apache Biri zorunlu 2.4 veya üzeri   Nginx 1.20 veya üzeri   PHP Zorunlu 8.0.0 - 8.3.X   PHP extensions: gd Zorunlu 2.0.28 veya üzeri PHP GD uzantısı PNG resimlerini ( --with-png-dir ), JPEG ( --with-jpeg-dir ) resimlerini ve FreeType 2'yi ( --with-freetype-dir ) desteklemelidir. Bazı ön uç dilleri için grafiklerde olası metin örtüşmelerini önlemek için 2.3.0 veya sonraki bir sürüm gerekebilir . bcmath   php-bcmath ( --enable-bcmath ) ctype   php-ctype ( --enable-ctype ) libXML 2.6.15 veya üzeri Dağıtıcı tarafından ayrı bir paket olarak sağlanmışsa php-xml. xmlreader   Dağıtıcı tarafından ayrı bir paket olarak sağlanmışsa php-xmlreader. xmlwriter   Dağıtıcı tarafından ayrı bir paket olarak sağlanmışsa php-xmlwriter. session   Dağıtıcı tarafından ayrı bir paket olarak sağlanmışsa php-session. sockets   php-net-socket ( --enable-sockets ). Kullanıcı betiği desteği için gereklidir. mbstring   php-mbstring ( --enable-mbstring ) gettext   php-gettext ( --with-gettext). Çevirilerin çalışması için gereklidir. ldap Zorunlu değil   php-ldap. Yalnızca ön uçta LDAP kimlik doğrulaması kullanılıyorsa gereklidir. openssl   php-openssl. Yalnızca ön uçta SAML kimlik doğrulaması kullanılıyorsa gereklidir. mysqli   Zabbix arka uç veri tabanı olarak MySQL kullanılıyorsa gereklidir. oci8   Zabbix arka uç veri tabanı olarak Oracle kullanılıyorsa gereklidir. pgsql   PostgreSQL'in Zabbix arka uç veri tabanı olarak kullanılması durumunda gereklidir. curl   php-curl. Yüklü değilse, ön uç her zamanki gibi çalışacaktır, ancak Duo Universal Prompt çok faktörlü kimlik doğrulama seçeneği kullanılamayacaktır.   Zabbix ile birlikte sağlanan üçüncü taraf frontend kitaplıkları: Kütüphane Zorunluluk Durumu Minimum Versiyon Açıklama jQuery JavaScript Library Zorunlu 3.6.0 Tarayıcılar arası geliştirme sürecini basitleştiren JavaScript kütüphanesi. jQuery UI 1.12.1 JQuery üzerine kurulu bir dizi kullanıcı arayüzü etkileşimi, efekt, widget ve tema. OneLogin's SAML PHP Toolkit 4.0.0 Zabbix'e giriş yapabilmek için SAML 2.0 kimlik doğrulama desteği ekleyen bir PHP araç takımı. Symfony Yaml Component 5.1.0 Zabbix yapılandırma öğelerinin YAML biçiminde dışa ve içe aktarılmasına yönelik destek ekler. Not: Zabbix, Apache, MySQL, Oracle ve PostgreSQL'in önceki sürümlerinde de çalışabilir. Varsayılan DejaVu dışındaki diğer yazı tipleri için PHP işlevi imagerotate gerekebilir. Eksikse, bir grafik görüntülendiğinde bu yazı tipleri yanlış işlenebilir. Bu işlev yalnızca PHP, Debian ve diğer dağıtımlarda olmayan bir şekilde paketlenmiş GD ile derlendiğinde kullanılabilir.   Zabbix frontend kodunu yazmak ve hata ayıklamak için kullanılan third-party kütüphaneler: Kütüphane Zorunluluk Durumu Minimum Versiyon Açıklama Composer Zorunlu değil 2.4.1 PHP için, PHP yazılımlarının ve gerekli kütüphanelerin bağımlılıklarını yönetmek için standart bir format sağlayan uygulama düzeyinde bir paket yöneticisidir. PHPUnit 8.5.29 Zabbix frontend’ini test etmek için bir PHP unit testing framework’üdür. SASS 3.4.22 Cascading Style Sheets (CSS) yorumlanan ve derlenen bir ön işlemci betik dilidir.   İstemci Tarafında Web Tarayıcısı Çerezler ve JavaScript etkinleştirilmelidir. Google Chrome, Mozilla Firefox, Microsoft Edge, Apple Safari ve Opera'nın en son kararlı sürümleri desteklenmektedir. Not: IFrames için aynı kökenli politika uygulanır, bu da Zabbix'in farklı bir etki alanındaki frame’lere yerleştirilemeyeceği anlamına gelir. Yine de bir Zabbix frame’ine yerleştirilen sayfalar, frame’e yerleştirilen sayfa ve Zabbix frontend aynı etki alanındaysa Zabbix frontend’ine (JavaScript aracılığıyla) erişebilir. Eğer http://secure-zabbix.com/cms/page.html gibi bir sayfa http://secure-zabbix.com/zabbix/ panolarına yerleştirilirse, Zabbix'e tam JS erişimi olacaktır.   Server/proxy Zorunlu olarak belirtilirse, gerekli yazılım/kütüphane kesinlikle gereklidir. İsteğe bağlı olanlar, belirli bir işlevi desteklemek için gereklidir. Gereksinimler Zorunluluk Durumu Açıklama libpcre/libpcre2 Biri zorunlu   Perl Compatible Regular Expression (PCRE) desteği için PCRE/PCRE2 kütüphanesi gereklidir. Adlandırma, GNU/Linux dağıtımına bağlı olarak farklılık gösterebilir, örneğin 'libpcre3' veya 'libpcre1'. PCRE v8.x ve PCRE2 v10.x desteklenir. libevent Zorunlu İşlemler arası iletişim için 1.4 veya üzeri sürüm gereklidir. libevent-pthreads İşlemler arası iletişim için gereklidir. libpthread Mutex ve okuma-yazma kilidi desteği için gereklidir (libc'nin bir parçası olabilir). libresolv DNS çözümlemesi için gereklidir (libc'nin bir parçası olabilir). libiconv Metin kodlama/format dönüşümü için gereklidir (libc'nin bir parçası olabilir). Linux'taki Zabbix sunucusu için zorunludur. libz Sıkıştırma desteği için gereklidir. libm Matematik kütüphanesi. Yalnızca Zabbix sunucusu tarafından gereklidir. libmysqlclient Biri zorunlu MySQL kullanılıyorsa gereklidir. libmariadb MariaDB kullanılıyorsa gereklidir. libclntsh Oracle kullanılıyorsa gereklidir; libclntsh sürümü kullanılan Oracle veri tabanının sürümüyle eşleşmeli veya daha yüksek olmalıdır. libpq5 PostgreSQL kullanılıyorsa gereklidir; libpq5 sürümü kullanılan PostgreSQL veri tabanının sürümüyle eşleşmeli veya daha yüksek olmalıdır. libsqlite3 Sqlite kullanılıyorsa gereklidir. Yalnızca Zabbix proxy için gereklidir. libOpenIPMI Zorunlu değil IPMI desteği için gereklidir. Yalnızca Zabbix sunucusu için gereklidir. libssh2 or libssh 1.0 veya üzeri (libssh2); 0.9.0 veya üzeri (libssh) sürümler SSH kontrolleri için gereklidir. libcurl Web izleme, VMware izleme, SMTP kimlik doğrulaması, web.page.*Zabbix aracı öğeleri , HTTP aracı öğeleri ve Elasticsearch (kullanılıyorsa) için gereklidir. 7.19.1 veya üzeri sürüm gereklidir (7.28.0 veya üzeri önerilir). Libcurl sürüm gereksinimleri: - SMTP kimlik doğrulaması: 7.20.0 veya üzeri sürüm - Elasticsearch: 7.28.0 veya üzeri sürüm Yükseltilmiş cURL özelliklerini kullanmak için Zabbix sunucusunu/proxy'sini ve aracısını (web.page.*öğeler için) yeniden başlatın. libxml2 VMware izleme ve XML XPath ön işleme için gereklidir. net-snmp 5.3.0 veya üzeri sürümlerde SNMP desteği için gereklidir. Güçlü şifreleme protokollerinin (AES192/AES192C, AES256/AES256C) desteği net-snmp kütüphanesi 5.8'den itibaren mevcuttur; RHEL 8+ tabanlı sistemlerde net-snmp 5.8.15 veya üzeri sürümlerin kullanılması önerilir. libunixodbc Veri tabanı izleme için gereklidir. libgnutls or libopenssl Şifreleme kullanılırken gereklidir. Minimum sürümler: libgnutls - 3.1.18, libopenssl - 1.0.1 libldap LDAP desteği için gereklidir. fping ICMP ping öğeleri için gereklidir.   Agent Gereksinimler Zorunluluk Durumu Açıklama libpcre/libpcre2 Biri zorunlu Perl Compatible Regular Expression (PCRE) desteği için PCRE/PCRE2 kütüphanesi gereklidir. Adlandırma, GNU/Linux dağıtımına bağlı olarak farklılık gösterebilir, örneğin 'libpcre3' veya 'libpcre1'. PCRE v8.x ve PCRE2 v10.x desteklenir. Günlük izleme için gereklidir. Windows'ta da gereklidir. libpthread Zorunlu Mutex ve okuma-yazma kilidi desteği için gereklidir (libc'nin bir parçası olabilir). Windows'ta gerekli değildir. libresolv DNS çözümlemesi için gereklidir (libc'nin bir parçası olabilir). Windows'ta gerekli değildir. libiconv Günlük öğelerinde, dosya içeriğinde, dosya regex'inde ve regmatch öğelerinde UTF-8'e metin kodlaması/biçim dönüşümü için gereklidir (libc'nin bir parçası olabilir). Windows'ta gerekli değildir. libgnutls or libopenssl Zorunlu değil Şifreleme kullanılıyorsa gereklidir. Minimum sürümler: libgnutls - 3.1.18, libopenssl - 1.0.1 Microsoft Windows'da OpenSSL 1.1.1 veya üzeri sürümler gereklidir. libldap LDAP kullanılıyorsa gereklidir. Windows'da desteklenmez. libcurl web.page.*Zabbix agent öğeleri için gereklidir. Windows'ta desteklenmez. 7.19.1 veya üzeri sürümleri gereklidir (7.28.0 veya üzeri sürümler önerilir). Yükseltilmiş cURL özelliklerini kullanmak için Zabbix agent’i yeniden başlatın. libmodbus Yalnızca Modbus izleme kullanılıyorsa gereklidir. 3.0 veya üzeri sürümler.   Agent 2 Gereksinimler Zorunluluk Durumu Açıklama libpcre/libpcre2 Biri zorunlu Perl Compatible Regular Expression (PCRE) desteği için PCRE/PCRE2 kütüphanesi gereklidir. Adlandırma, GNU/Linux dağıtımına bağlı olarak farklılık gösterebilir, örneğin 'libpcre3' veya 'libpcre1'. PCRE v8.x ve PCRE2 v10.x desteklenir. Günlük izleme için gereklidir. Windows'ta da gereklidir. libopenssl Zorunlu değil Şifreleme kullanılırken gereklidir. UNIX platformlarında OpenSSL 1.0.1 veya üzeri sürümler gereklidir. OpenSSL kitaplığında PSK desteği etkinleştirilmiş olmalıdır. LibreSSL desteklenmez. Microsoft Windows sistemlerinde OpenSSL 1.1.1 veya üzeri sürümler gereklidir.   Kütüphaneler Gereksinimler Zorunluluk Durumu Minimum Versiyon Açıklama git.zabbix.com/ap/plugin-support Zorunlu 1.X.X Çoğunlukla eklentiler için Zabbix'in kendi destek kütüphanesi. github.com/BurntSushi/locker 0.0.0 Adlandırılmış okuma/yazma kilitleri, erişim senkronizasyonu. github.com/chromedp/cdproto 0.0.0 Chrome DevTools Protokolü etki alanları için oluşturulan komutlar, türler ve olaylar. github.com/chromedp/chromedp 0.6.0 Chrome DevTools Protokolü desteği (rapor oluşturma). github.com/dustin/gomemcached 0.0.0 Go için bir memcached ikili protokol araç takımı. github.com/eclipse/paho.mqtt.golang 1.2.0 MQTT bağlantılarını yönetmek için bir kütüphane. github.com/fsnotify/fsnotify 1.4.9 Go için platformlar arası dosya sistemi bildirimleri. github.com/go-ldap/ldap 3.0.3 Go programlama dili için temel LDAP v3 işlevselliği. github.com/go-ole/go-ole 1.2.4 Go için Win32 ole uygulaması. github.com/godbus/dbus 4.1.0 D-Bus için yerel Go bağlamaları. github.com/go-sql-driver/mysql 1.5.0 MySQL sürücüsü. github.com/godror/godror 0.20.1 Oracle DB sürücüsü. github.com/mattn/go-sqlite3 2.0.3 Sqlite3 sürücüsü. github.com/mediocregopher/radix/v3 3.5.0 Redis istemcisi. github.com/memcachier/mc/v3 3.0.1 Binary Memcached istemcisi. github.com/miekg/dns 1.1.43 DNS kütüphanesi. github.com/omeid/go-yarn 0.0.1 Gömülebilir dosya sistemi eşlenmiş key-string deposu. github.com/goburrow/modbus 0.1.0 Modbus'un hata toleranslı uygulaması. golang.org/x/sys 0.0.0 İşletim sistemiyle düşük seviyeli etkileşimler için Go paketleri. Ayrıca eklenti destek kütüphanesinde kullanılır. MongoDB ve PostgreSQL eklentilerinde kullanılır. github.com/Microsoft/go-winio Windows’da zorunlu (dolaylı) 0.6.0 Windows adlandırılmış pipe uygulaması. Ayrıca eklenti destek kütüphanesinde kullanılır. MongoDB ve PostgreSQL eklentilerinde kullanılır. github.com/goburrow/serial Zorunlu (dolaylı) 0.1.0 Modbus için seri kütüphane. golang.org/x/xerrors 0.0.0 Hataları manipüle etmeye yarayan fonksiyonlar. gopkg.in/asn1-ber.v1 1.0.0 ASN1 BER için kodlama/kod çözme kütüphanesi. github.com/go-stack/stack Zorunlu değil (dolaylı) 1.8.0   github.com/golang/snappy 0.0.1   github.com/klauspost/compress 1.13.6   github.com/xdg-go/pbkdf2 1.0.0   github.com/xdg-go/scram 1.0.2   github.com/xdg-go/stringprep 1.0.2   github.com/youmark/pkcs8 0.0.0   Not: Tablodaki dolaylı ifadesi; agent’in kullandığı kütüphanelerden birinde kullanıldığı anlamına gelir. Zabbix paketi kullanan kütüphaneyi kullandığı için gereklidir.   Yüklenebilir eklentiler için plugin’ler: · PostgreSQL · MongoDB   Java Gateway Eğer Zabbix'i kaynak deposundan veya bir arşivden aldıysanız, gerekli bağımlılıklar zaten kaynak ağacında mevcuttur. Eğer Zabbix'i dağıtımınızın paketinden aldıysanız, gerekli bağımlılıklar zaten paketleme sistemi tarafından sağlanmıştır. Yukarıdaki her iki durumda da yazılım kullanıma hazırdır ve ek bir indirme işlemine gerek yoktur. Ancak, bu bağımlılıkların sürümlerini sağlamak isterseniz (örneğin, bir Linux dağıtımı için bir paket hazırlıyorsanız), Java gateway’in çalıştığı bilinen kütüphanelerin sürümlerinin listesi aşağıdadır. Zabbix, bu kütüphanelerin diğer sürümleriyle de çalışabilir. Aşağıdaki tabloda orijinal kodda Java gateway’i ile birlikte gelen JAR dosyaları listelenmektedir: Kütüphane Zorunluluk Durumu Minimum Versiyon Açıklama android-json Zorunlu 4.3r1 JSON (JavaScript Object Notation) hafif bir veri değişim biçimidir. Bu, Android SDK'dan çıkarılan org.json uyumlu Android uygulamasıdır. logback-classic 1.2.9   logback-core 1.2.9   slf4j-api 1.7.32     Java gateway Oracle Java veya açık kaynaklı OpenJDK (1.6 veya üzeri sürümler) kullanılarak oluşturulabilir. Zabbix tarafından sağlanan paketler OpenJDK kullanılarak derlenir. Aşağıdaki tablo, dağıtıma göre Zabbix paketleri oluşturmak için kullanılan OpenJDK sürümleri hakkında bilgi sağlar: Dağıtım   OpenJDK sürümü RHEL 8 1.8.0 RHEL 7 1.8.0 SLES 15 11.0.4 Debian 10 11.0.8 Ubuntu 20.04 11.0.8 Ubuntu 18.04 11.0.8   Varsayılan Port Numaraları Varsayılan yapılandırma için bileşen başına açık portların aşağıdaki listesi geçerlidir: Zabbix Bileşeni Port Numarası Protokol Bağlantı Türü Zabbix agent 10050 TCP Talep üzerine Zabbix agent 2 10050 TCP Talep üzerine Zabbix server 10051 TCP Talep üzerine Zabbix proxy 10051 TCP Talep üzerine Zabbix Java gateway 10052 TCP Talep üzerine Zabbix web service 10053 TCP Talep üzerine Zabbix frontend 80 HTTP Talep üzerine 443 HTTPS Talep üzerine Zabbix trapper 10051 TCP Talep üzerine Not: Zabbix iletişimlerini etkinleştirmek için port numaralarının güvenlik duvarında açık olması gerekir. Giden TCP bağlantıları genellikle açık güvenlik duvarı ayarları gerektirmez.   Veri Tabanı Boyutu Zabbix yapılandırma verileri sabit miktarda disk alanı gerektirir ve çok fazla büyümez. Zabbix veri tabanı boyutu esas olarak depolanan geçmiş verilerin miktarını tanımlayan şu değişkenlere bağlıdır: · Saniyede işlenen değer sayısı: Bu, Zabbix sunucusunun her saniye aldığı yeni değerlerin ortalama sayısıdır. Örneğin, 60 saniyelik yenileme hızıyla izlenecek 3000 öğemiz varsa, saniye başına değer sayısı 3000/60 = 50 olarak hesaplanır. Bu, Zabbix veri tabanına saniye başı 50 yeni değerin eklendiği anlamına geliyor. · Tarih için Yönetici Ayarları: Zabbix değerleri sabit bir süre boyunca, normalde birkaç hafta veya ay boyunca tutar. Her yeni değer, veri ve dizin için belirli miktarda disk alanı gerektirir. Yani 30 günlük bir geçmişi tutmak istersek ve saniyede 50 değer alırsak, toplam değer sayısı yaklaşık ( 30 *24*3600)* 50 = 129.600.000 yani yaklaşık 130M değer olacaktır. Kullanılan veri tabanı motoruna, alınan değerlerin türüne (kayan noktalı sayılar, tam sayılar, dizeler, günlük dosyaları, vb.) bağlı olarak, tek bir değeri tutmak için gereken disk alanı 40 bayttan yüzlerce bayta kadar değişebilir. Normalde sayısal öğeler için değer başına yaklaşık 90 bayttır. Bizim durumumuzda, 130M değerin 130M * 90 bayt = 10,9GB disk alanı gerektireceği anlamına gelir. Not: Metin/log öğesi değerlerinin boyutunu tam olarak tahmin etmek imkansızdır ancak değer başına yaklaşık 500 bayt bekleyebilirsiniz. · Trendler için Yönetici Ayarları: Zabbix, trendler tablosundaki her öğe için 1 saatlik maksimum/min/ort/sayı değer kümesi tutar. Veriler trend ve uzun dönemli grafikler için kullanılır. Bir saatlik dönem özelleştirilemez. Zabbix veri tabanı, veri tabanı türüne bağlı olarak, her toplam için yaklaşık 90 bayt gerektirir. Trend verilerini 5 yıl boyunca saklamak istediğimizi varsayalım. 3000 öğe için değerler yılda 3000*24*365* 90 = 2,2 GB veya 5 yıl için 11 GB gerektirecektir. · Etkinlikler için Yönetici Ayarları: Her Zabbix olayı yaklaşık 250 bayt disk alanı gerektirir. Zabbix tarafından günlük olarak üretilen olay sayısını tahmin etmek zordur. En kötü senaryoda, Zabbix'in saniyede bir olay ürettiğini varsayabiliriz. Her kurtarılan olay için bir event_recovery kaydı oluşturulur. Normalde olayların çoğu kurtarılacağından olay başına bir event_recovery kaydı olduğunu varsayabiliriz. Bu, olay başına ek 80 bayt anlamına gelir. İsteğe bağlı olarak olayların etiketleri olabilir, her etiket kaydı yaklaşık 100 bayt disk alanı gerektirir. Olay başına etiket sayısı (#etiketler) yapılandırmaya bağlıdır. Bu nedenle her birinin ek #etiketler * 100 bayt disk alanına ihtiyacı olacaktır. Yani 3 yıllık etkinlikleri saklamak istiyorsak 3*365*24*3600* (250+80+#etiket*100) = ~ 30GB +#etiket* 100B disk alanına ihtiyacımız olacaktır. Tabloda Zabbix sistemi için gerekli disk alanını hesaplamak için kullanılabilecek formüller yer almaktadır: Parametre Gerekli disk alanı formülü (bayt cinsinden) Zabbix configuration Sabit boyut. Normalde 10MB veya daha az. History günler*(öğeler/yenileme hızı)*24*3600*bayt öğeler: öğe sayısı günler: geçmişin saklanacağı gün sayısı yenileme hızı: öğelerin ortalama yenileme hızı baytlar: tek bir değeri saklamak için gereken bayt sayısı, veri tabanı motoruna bağlıdır, normalde ~90 bayttır. Trends günler*(öğe/3600)*24*3600*bayt öğeler : öğe sayısı günler : geçmişin saklanması gereken gün sayısı baytlar : tek bir eğilimi saklamak için gereken bayt sayısı, veri tabanı motoruna bağlıdır, normalde ~90 bayttır. Events günler*olaylar*24*3600*bayt olaylar: saniyedeki olay sayısı. En kötü senaryoda saniyede bir (1) olay. günler: geçmişi saklamak için gereken gün sayısı baytlar: tek bir eğilimi saklamak için gereken bayt sayısı, veri tabanı motoruna bağlıdır, normalde ~330 + olay başına ortalama etiket sayısı * 100 bayt. Yani, toplam gerekli disk alanı şu şekilde hesaplanabilir: Yapılandırma + Geçmiş + Trendler + Olaylar Disk alanı Zabbix kurulumundan hemen sonra kullanılmayacaktır. Veri tabanı boyutu büyüyecek ve daha sonra bir noktada büyümeyi durduracaktır; bu da yönetici ayarlarına bağlıdır.   Zaman Senkronizasyonu Zabbix çalışırken sunucuda kesin sistem saatine sahip olmak çok önemlidir. ntpd, ana bilgisayarın saatini diğer makinelerin saatiyle senkronize eden en popüler daemon'dur. Zabbix bileşenlerinin çalıştığı tüm sistemlerde senkronize sistem saatinin korunması şiddetle önerilir.   Ağ Gereksinimleri Varsayılan yapılandırma için bileşen başına açık portların listesi geçerlidir. Portlar Bileşenler Frontend http on 80, https on 443 Server 10051 (for use with active proxy/agents) Active Proxy 10051 Passive Proxy 10051 Agent2 10050 Trapper   JavaGateway 10053 WebService 10053 Not: Zabbix ile harici iletişimleri etkinleştirmek için port numaralarının güvenlik duvarında açılması gerekir. Giden TCP bağlantıları genellikle açık güvenlik duvarı ayarları gerektirmez.       Hızlı Başlangıç Hızlı Başlangıç Hızlı Başlangıç 1. Kullanıcı Girişi ve Yapılandırması Bu bölümde Zabbix'te bir sistem kullanıcısının nasıl oturum açılacağı ve ayarlanacağı gösterilecektir. Bu Zabbix login ekranıdır. Zabbix süper kullanıcısı olarak giriş yapmak için kullanıcı adı olarak Admin 'i ve şifre olarak zabbix 'i girin. Tüm menü bölümlerine erişim sağlanacaktır.   Brute Force Saldırılarına Karşı Koruma Üst üste beş başarısız giriş denemesi durumunda, brute froce ve sözlük saldırılarını önlemek amacıyla Zabbix arayüzü 30 saniye duraklatılacaktır. Başarılı bir girişten sonra, başarısız bir giriş girişiminin IP adresi görüntülenecektir. Kullanıcı Ekleme Kullanıcılara ait bilgileri görüntülemek için Users → Users bölümüne gidin. New user formunda, kullanıcınızı mevcut kullanıcı gruplarından birine, örneğin Zabbix administrators ’e eklediğinizden emin olun. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Varsayılan olarak, yeni kullanıcılar için tanımlanmış bir medya (bildirim teslim yöntemi) yoktur. Bir tane oluşturmak için ' Media ' sekmesine gidin ve Add ’e tıklayın. Bu açılan pencerede kullanıcıya ait e-mail adresini girin. Ortamın etkin olacağı bir zaman aralığı belirtebilirsiniz (formatın açıklaması için Zaman aralığı belirtimi sayfasına bakın), varsayılan olarak ortam her zaman etkindir. Ayrıca ortamın etkin olacağı tetikleyici önem düzeylerini özelleştirebilir, ancak şimdilik hepsini etkin bırakabilirsiniz. Ortamı kaydetmek için Add ’e tıklayın, ardından Permissions sekmesine gidin. Permissions sekmesinde zorunlu bir Role alanı vardır. Role, kullanıcının hangi frontend öğelerini görüntüleyebileceğini ve hangi eylemleri gerçekleştirmesine izin verildiğini belirler. Select 'e basın ve listeden rollerden birini seçin. Örneğin, Yönetim hariç tüm Zabbix frontend bölümlerine erişime izin vermek için Yönetici rolünü seçin. Daha sonra izinleri değiştirebilir veya daha fazla kullanıcı rolü oluşturabilirsiniz. Bir rol seçtiğinizde, izinler aynı sekmede görünecektir: Kullanıcıyı kaydetmek için user properties formunda Add ’e tıklayın. Yeni kullanıcı, kullanıcı listesinde görünür. İzin Ekleme Varsayılan olarak, yeni bir kullanıcının sunuculara ve şablonlara erişim izni yoktur. Kullanıcıya yetki vermek için, Groups sütununda kullanıcının grubuna tıklayın (bu durumda 'Zabbix administrators'). Group properties formunda, Host permissions sekmesine giderek sunucu gruplarına izinler atayın. Sunucu grubu seçim alanının görüntülenmesi için üzerine tıklayın: Daha sonra  host group listesini görmek için alanın yanındaki Select 'e tıklayın. Bu kullanıcı Linux Servers grubuna salt okunur erişime sahip olacak, bu yüzden listedeki uygun onay kutusunu işaretleyin ve seçiminizi onaylamak için Select 'e tıklayın. İzin düzeyini ayarlamak için Read butonuna tıklayın ve ardından kullanıcı grubu yapılandırmasında yapılan değişiklikleri kaydetmek için Update butonuna tıklayın. Template’lere izin vermek için Template permissions sekmesine geçmeniz ve template gruplarını belirtmeniz gerekir. Not: Zabbix'te, host’lara ve template’lere erişim hakları bireysel kullanıcılara değil, kullanıcı gruplarına atanır. 2. Yeni Sunucu Bu bölümde yeni bir sunucunun nasıl kurulacağını öğreneceksiniz. Zabbix'teki bir host, izlemek istediğiniz ağ bağlantılı bir varlıktır (fiziksel, sanal). Zabbix'te host’un ne olabileceğine dair tanım oldukça esnektir. Fiziksel bir sunucu, bir ağ anahtarı, bir sanal makine veya bir uygulama olabilir. Host Ekleme Zabbix'te yapılandırılmış host’lar hakkında bilgi Data colletion→ Host and Monitoring → Host bölümünde mevcuttur. "Zabbix sever" adında önceden tanımlanmış bir host zaten var, ancak bir tane daha eklemeyi öğrenmek istiyoruz. Yeni bir host eklemek için Create host ’a tıklayın. Bu bize bir host configuration formu sunacaktır. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Buraya girmek için gereken minimum miktar: Host name · Bir host adı girin. Alfanümerik karakterler, boşluklar, noktalar, çizgiler ve alt çizgilere izin verilir. Host groups · Select butonuna tıklayarak mevcut gruplardan bir veya birkaçını seçin veya yeni bir grup oluşturmak için mevcut olmayan bir grup adı girin. Not: Tüm erişim izinleri bireysel host’lara değil, host gruplarına atanır. Bu nedenle bir host’un en az bir gruba ait olması gerekir. Interfaces: IP address Teknik olarak gerekli bir alan olmasa da belirli ölçümleri toplamak için bir host arayüzü gereklidir. Zabbix agent pasif kontrollerini kullanmak için, bu alanda aracının IP'sini veya DNS'ini belirtin. Zabbix agent yapılandırma dosyası 'Server' yönergesinde Zabbix sunucusunun IP'sini veya DNS'ini de belirtmeniz gerektiğini unutmayın. Zabbix agent ve Zabbix sunucusu aynı makineye kuruluysa, her iki yerde de aynı IP/DNS'yi belirtmeniz gerekir. Other options şimdilik varsayılan halleriyle bize uygun olacaktır. İşiniz bittiğinde Add ’e tıklayın. Yeni hostunuz host listesinde görünür olmalıdır. Availability sütunu, her arayüz için host kullanılabilirliğinin göstergelerini içerir. Bir Zabbix agent arayüzü tanımladık, bu nedenle host kullanılabilirliğini anlamak için agent availability icon (üzerinde 'ZBX' bulunan) kullanabiliriz:               Host durumu belirlenmedi; henüz bir ölçüm kontrolü yapılmadı.   Sunucu kullanılabilir, bir ölçüm kontrolü başarılı oldu.   H ost kullanılamıyor, bir ölçüm denetimi başarısız oldu (hata mesajını görmek için fare imlecinizi simgenin üzerine getirin). Muhtemelen yanlış arayüz kimlik bilgilerinden kaynaklanan iletişimde bir hata olabilir. Zabbix sunucusunun çalıştığını kontrol edin ve daha sonra sayfayı yenilemeyi deneyin.   1    3. Yeni Item Öğeler Zabbix'te veri toplamanın temelini oluşturur. Öğeler olmadan veri olmaz çünkü yalnızca bir öğe tek bir metriği veya bir hosttan ne tür veri toplanacağını tanımlar. Item Ekleme Tüm öğeler host’lar etrafında gruplandırılmıştır. Bu nedenle bir örnek öğeyi yapılandırmak için Data collection → Hosts ’a gidiyoruz ve oluşturduğumuz " New host ’u" buluyoruz. " New host " satırındaki Items bağlantısına tıklayın ve ardından Create item ’e tıklayın. Bu bize bir öğe tanımlama formu sunacaktır. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Örnek ürünümüz için girilmesi gereken temel bilgiler şunlardır: Name · CPU load ’ı değer olarak girin. Bu, listelerde ve diğer yerlerde görüntülenen öğe adı olacaktır. Key · system.cpu.load değerini manuel olarak girin . Bu, toplanacak bilgi türünü tanımlayan bir öğenin teknik adıdır. Belirli anahtar, Zabbix agent ile birlikte gelen önceden tanımlanmış anahtarlardan (pre-defined keys) yalnızca biridir. Type of information · Bu öznitelik beklenen verilerin biçimini tanımlar. system.cpu.load anahtarı için bu alan otomatik olarak Numeric (float) olarak ayarlanacaktır. Not: Ayrıca, öğe geçmişinin tutulacağı gün sayısını 7 veya 14'e düşürmek isteyebilirsiniz. Bu, veri tabanının çok sayıda geçmiş değeri tutmasını önlemek için iyi bir uygulamadır. Other options şimdilik varsayılan halleriyle bize uygun olacaktır. Bittiğinde, Add ’e tıklayın. Yeni öğe, öğe listesinde görünmelidir. Tam olarak ne yapıldığını görmek için listenin üstündeki Details ’e tıklayın.   t Veri Görüntüleme Tanımlanmış bir öğeyle, aslında veri toplayıp toplamadığını merak ediyor olabilirsiniz. Bunun için, Monitoring → Latest data 'ya gidin, filtrede New host ’u seçin ve Apply'e tıklayın. Bununla birlikte, ilk verinin ulaşması 60 saniyeye kadar sürebilir. Varsayılan olarak, sunucunun yapılandırma değişikliklerini okuma ve yürütülecek yeni öğeleri alma sıklığı budur. ' Change ' sütununda hiçbir değer görmüyorsanız, belki de şu ana kadar yalnızca bir değer alınmıştır. Başka bir değerin gelmesi için 30 saniye bekleyin. Ekran görüntüsündeki gibi öğe hakkında bilgi göremiyorsanız, şunları kontrol edin: · ' Key ' ve 'Type of information ' alanlarını ekran görüntüsündeki gibi doldurdunuz; · Hem agent hem de server’ın çalıştığını kontrol edin; · Host durumu 'Monitored' ve kullanılabilirlik simgesinin yeşil olduğunu kontrol edin; · Host filtresinde seçilen Host doğru olduğunu kontrol edin;      · Item’in etkinleştirildiğini kontrol edin.   Grafikler Öğe bir süre çalıştıktan sonra görsel bir şeyler görmenin zamanı gelmiş olabilir. Herhangi bir ek yapılandırmaya gerek kalmadan izlenen herhangi bir sayısal öğe için basit grafikler mevcuttur. Bu grafikler çalışma zamanında üretilir. Grafiği görüntülemek için Monitoring → Latest data bölümüne gidin ve öğenin yanındaki 'Graph' bağlantısına tıklayın.   1    4. Yeni Trigger Öğeler yalnızca veri toplar. Gelen verileri otomatik olarak değerlendirmek için trigger ’lar tanımlamamız gerekir. Bir trigger , veriler için kabul edilebilir seviyenin ne olduğunu tanımlayan bir ifade içerir. Eğer bu seviye gelen veriler tarafından aşılırsa, bir trigger " fire " veya bir ' Problem ' durumuna geçer - bize dikkat gerektirebilecek bir şeyin olduğunu bildirir. Eğer seviye tekrar kabul edilebilirse, trigger ' Ok ' durumuna geri döner. Trigger Ekleme Öğemiz için bir trigger yapılandırmak için Data collection → Hosts ’a gidin, New host ’u bulun ve yanındaki Triggers ’a ve ardından Create trigger ’a tıklayın. Bu bize bir trigger tanımlama formu sunar. Trigger için buraya girmemiz gereken temel bilgiler şunlardır: Name · Tablodaki ve diğer yerlerde görünecek trigger adı olarak 'New host' üzerinde 3 dakika boyunca CPU load ’ı yüksek olarak girin. Expression · avg(/New host/system.cpu.load,3m)>2 değerini girin.   Bu bir trigger ifadesidir. İfadenin en son simgesine kadar doğru girildiğinden emin olun. Burada item key ( system.cpu.load ), öğeyi belirtmek için kullanılır. Bu belirli ifade temelde, CPU load ortalama değerinin 3 dakika boyunca 2'nin üzerinde olduğunda sorun eşik değerinin aşıldığını belirtir. Tamamlandığında, Add ’e tıklayın. Yeni trigger , trigger listesinde görünmelidir.   Trigger Durumunu Görüntüleme Eğer CPU load, trigger ’da tanımladığınız eşik seviyesini aştıysa sorun Monitoring → Problems kısmında gösterilecektir. Status sütunundaki yanıp sönme, trigger durumunda son 30 dakika içinde gerçekleşen yakın tarihli bir değişikliği gösterir.   1    5.     Sorun Bildirimi Alma Veri toplayan öğeler ve sorun durumlarında " fire " planlanan trigger’lar ile birlikte, doğrudan Zabbix frontend sistemine bakmasak bile bizi önemli olaylar hakkında bilgilendirecek bir uyarı mekanizmasının olması da faydalı olacaktır. Sorun bildirimleri için en popüler teslim metodu olan e-posta üzerinden nasıl bir bildirim ayarlayacağımızı öğreneceğiz.   E-mail Ayarları Başlangıçta Zabbix'te birkaç önceden tanımlanmış bildirim teslim metodu vardır. E-mail bunlardan biridir. E-mail ayarlarını yapılandırmak için Alerts → Media types bölümüne gidin ve önceden tanımlanmış medya türleri listesinde E-mail’e tıklayın.   Karşımıza E-mail ayarları tanımlama formu gelecektir. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Media type sekmesinde SMTP server, SMTP helo ve SMTP e-mail değerlerini ortamınıza uygun şekilde ayarlayın. Not: Zabbix'ten gönderilen bildirimler için 'From' adresi olarak ‘SMTP email’ kullanılacaktır. Daha sonra, sorun mesajının içeriğinin tanımlanması gerekir. İçerik, Message templates sekmesinde yapılandırılan bir mesaj şablonu aracılığıyla tanımlanır. Message template oluşturmak için Add'e tıklayın ve message type olarak Problem ’ı seçin. Hazır olduğunuzda Add ’e tıklayın ve formu kaydedin. Artık E-mail’i çalışan bir media type olarak yapılandırdınız. Media type ayrıca belirli teslimat adresleri tanımlayarak (yeni bir kullanıcı yapılandırırken yaptığımız gibi) kullanıcılara bağlanmalıdır, aksi takdirde kullanılmayacaktır.   Yeni Eylemler Bildirimleri iletmek,  action ’ların (eylemlerin) Zabbix'te yaptığı şeylerden biridir. Bu nedenle, bir bildirim ayarlamak için Alerts → Actions → Trigger actions ’a gidin ve Create action 'a tıklayın. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Bu formda, action için bir ad girin. En basit durumda, daha spesifik koşullar eklemezsek, trigger’ın   Ok ’dan Problem 'a değişmesi durumunda action gerçekleştirilecektir. Action’ın ne yapması gerektiğini tanımlamalıyız, bu adım Opertions sekmesinde yapılır. Operations bloğunda Add ’e tıklayın, bu yeni bir options formu açar. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Burada, Send to Users bloğunda Add ’e tıklayın ve tanımladığımız kullanıcıyı ('user') seçin. Send only to değerini ‘ Email ’ olarak seçin. Bunu yaptıktan sonra Add ’e tıklayın ve işlem eklenmiş olmalıdır: Bu, basit bir eylem yapılandırması için gerekenlerin tamamıdır, bu nedenle eylem formunda Add ’e tıklayın.   Bildirim Alma Şimdi, bildirim gönderme ayarları yapılandırıldığına göre, bunu deneyimlemek için Bunu desteklemek için, host’umuzdaki yükü bilerek artırabiliriz - böylece trigger’ımız 'fire' moduna girer ve bir sorun bildirimi alırız. Host’unuzda konsolu açın ve şunu çalıştırın: cat /dev/urandom | md5sum Bu işlemlerden bir veya birkaçını çalıştırabilirsiniz. Monitoring → Latest data’ya gidin ve 'CPU load' değerlerinin nasıl arttığını görün. Trigger’ımızın çalışması için ' CPU load' değerinin 3 dakika boyunca '2'nin üzerine çıkması gerektiğini unutmayın. Bunu yaptığında: ·         Monitoring → Problems bölümünde yanıp sönen 'Problem' durumuyla triggger’ı görmelisiniz. · e-mailinizde bir sorun bildirimi almalısınız. Not: Bildirimler çalışmıyorsa: · Hem e-mail ayarlarının hem de eylemin düzgün şekilde yapılandırıldığını bir kez daha doğrulayın. · Oluşturduğunuz kullanıcının   Adding user adımında belirtildiği gibi, olayı oluşturan host’ta en azından okuma izinlerine sahip olduğundan emin olun. 'Zabbix administrators' kullanıcı grubunun bir parçası olan kullanıcı, host’umuzun ait olduğu 'Linux servers' host grubuna en azından okuma erişimine sahip olmalıdır. · Ayrıca Reports→ Action log bölümüne giderek eylem günlüğünü inceleyebilirsiniz.   1    6. Yeni Template       Templates (Şablonlar), yararlı öğeleri, trigger’ları ve diğer varlıkları gruplandırmaya izin verir, böylece bunlar tek bir adımda host’lara uygulanarak tekrar tekrar kullanılabilir.       Bir template bir host’a bağlandığında, host şablonun tüm varlıklarını devralır. Yani, temel olarak önceden hazırlanmış bir dizi kontrol çok hızlı bir şekilde uygulanabilir. Template Ekleme Template’lerle çalışmaya başlamak için önce bir tane oluşturmamız gerekir. Bunu yapmak için, Data collection → Templates ’de Create template ’e tıklayın. Bu bize bir template yapılandırma formu sunacaktır. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. Buraya girmeniz gereken parametreler şunlardır: Template names · Bir template adı girin. Alfa-sayısal karakterler, boşluklar ve alt çizgilere izin verilir. Template groups · Select düğmesine tıklayarak bir veya birkaç grup seçin. Template bir gruba ait olmalıdır. Not:  Template group ’larına erişim izinleri, host izinleriyle aynı şekilde Template permissions sekmesindeki user group yapılandırmasında atanır. Tüm erişim izinleri, bireysel template’lere değil gruplara atanır, bu nedenle template’i en az bir gruba dahil etmek zorunludur. İşlemler tamamlandığında Add ’e tıklayın. Yeni template’ininz template’ler listesinde görünür olmalıdır. Template’inizi   bulmak için filtreyi de kullanabilirsiniz. Gördüğünüz gibi tamplete orada, ancak içinde hiçbir item, trigger veya başka varlıklar bulunmuyor.   Template’e Item Ekleme ‘ New host ’ için item listesine bir item eklemek için, Tempate ’e gidin. Data collection → Hosts ’da New host ’un yanındaki Items 'e tıklayın. Daha sonra: · Listede ' CPU load ' item’inin onay kutusunu işaretleyin. · Listenin altında Copy ’e tıklayın. · Itemi kopyalayacağınız template’i seçin. Tüm zorunlu giriş alanları kırmızı yıldız işaretiyle işaretlenmiştir. · Copy ’e tıklayın. Şimdi Data collection → Templates ’e giderseniz, New template ’de bir yeni item olmalıdır. Şimdilik yalnızca bir item üzerinde duracağız, ancak benzer şekilde template’e,  ​​ belirli bir ama ç i ç in (i ş letim sistemini izleme, tek bir uygulamay ı izleme) olduk ç a eksiksiz bir varl ı k k ü mesi olu ş ana kadar ba ş ka item’ler , trigger’lar veya varl ı klar ekleyebilirsiniz.   Template’i Host’a Bağlama Geriye sadece hazır bir template’i host’lara eklemek kalır. Bunun için Data collection → Hosts ’a gidin, özellik formunu açmak için New host ’a tıklayın ve Templates alanını bulun. Templates alanına New template yazmaya başlayın. Oluşturduğumuz template’in adı açılır listede görünmelidir. Seçmek için aşağı kaydırın. Templates alanında göründüğünü görün. Değişiklikleri kaydetmek için formda Update ’e tıklayın. Template artık barındırdığı tüm varlıklarla birlikte host’a eklendi. Bu şekilde herhangi başka host’lara da uygulanabilir. Template düzeyindeki item’lerde, trigger’larda ve diğer varlıklarda yapılan herhangi bir değişiklik, template’in bağlı olduğu host’lara yayılır. Önceden Tanımlanmış Template’leri Host’lara Bağlama Fark etmiş olabileceğiniz gibi, Zabbix çeşitli işletim sistemleri, cihazlar ve uygulamalar için önceden tanımlanmış template’ler ile birlikte gelir. İzlemeye çok hızlı bir şekilde başlamak için, bunlardan uygun olanını bir host’a bağlayabilirsiniz, ancak bu tamplate’lerin ortamınıza göre ince ayarlanması gerektiğini unutmayın. Bazı kontroller gerekli olmayabilir ve yoklama aralıkları çok sık olabilir.