Centos 7 Uzerinde Zabbix Izleme Sunucusu Kurulumu (Zabbix Monitoring Server)


#1

Merhaba,

Bu yazımda sistemciler için olmazsa olmaz izleme/monitoring amaçlı kullanabileceğiniz zabbix’in kurulumu ayarlanmasını anlatacağım. Peki neden zabbix, özetle hem izleme hem kayıt için kullanabileceğiniz için olacak, kullanımı oldukça kolay ve oldukça kullanışlı olduğu için.
Şimdi yapacağımız kurulum için ihtiyaçlarımızı belirteyim.

Öncelikle Sunucumuz. Ben IP adresi olarak 10.11.12.150 Kullanıyorum.
İzleyeceğimiz sunucu olarak hem Linux hem Windows makine için anlatım yapacağım. Malum Türkiye’de hala windows sunucu kullanan sistemciler mevcut. Fakat mevcut anlatım uzun olacağı için zabbixe host eklemeyi başka konu başlığı ile ele alacağım.

Server Makine Sistemi için LAMP sisteminde de olduğu gibi Centos 7 kullanacağım. (CentOS Linux release 7.1.1503 (Core))

Öncelikli olarak LAMP sunucumuzu kurmamız gerekiyor bunu bir diğer yazımda zaten anlatmıştım. O yüzden komutları hızlıca verip geçeceğim. Ayrıntılı kurulum için burayı tıklayınız.

yum check-update
yum update -y
yum install httpd -y
systemctl start httpd.service
systemctl enable httpd.service
firewall-cmd --permanent --add-service http
systemctl restart firewalld.service
yum install mariadb-server mariadb -y
systemctl start mariadb
systemctl enable mariadb.service
mysql_secure_installation
yum install php php-mysql php-gd php-pear php-mbstring php-pgsql -y
systemctl restart httpd.service

Evet LAMP kurulmuş olması gerekli şimdi geçelim Zabbix Sunucumuzun kurulumuna :wink:

Zabbix kurulumu için EPEL reposunu kurmamız gerekli, base repoda bazı paketleri bulamaya biliriz. Ayrıca zabbix kendi reposunuda sistemimize kuracağız.

yum install epel-release -y
rpm --import http://repo.zabbix.com/RPM-GPG-KEY-ZABBIX
rpm -Uv  http://repo.zabbix.com/zabbix/2.4/rhel/7/x86_64/zabbix-release-2.4-1.el7.noarch.rpm

Repolarımız kurulduğuna göre sunucu kurulumu için önümüzde birşey kalmadı demektir. Hemen kuruluma geçebiliriz :blush: PS: Gelen sorulara y tuşuna basarak onaylayın.

 yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent zabbix-java-gateway -y

Kurulumdan sonra öncelikle zaman diliminizi ayarlayın. Unutulabiliyor ve sıkıntı yaşatabiliyor malesef :smile:
Time Zone “zaman dilimi” için /etc/httpd/conf.d/zabbix.conf

vi /etc/httpd/conf.d/zabbix.conf

Bu dosyada asagidaki gibi php_value date.timezone kismini Europe/Istanbul olarak duzenleyiniz.

    <IfModule mod_php5.c>
        php_value max_execution_time 300
        php_value memory_limit 128M
        php_value post_max_size 16M
        php_value upload_max_filesize 2M
        php_value max_input_time 300
        php_value date.timezone Europe/Istanbul
    </IfModule>

ve servisi yeniden başlatıyoruz.

systemctl restart httpd

Şimdi Zabbix için gerekli olan database ayarlarını yapacağız. Ben secure_installation kısmında db şifre 123456 olarak belirlemiştim. Şuan yapacağımız işlem zabbixdb adnında bir database oluşturmak ve bu db için kullanıcı oluşturmak. Ben kullanıcı olarakta zabbixamad kullanıcısı oluşturacağım. Şifre olarak da 12345678 belirleyeceğim.

create database zabbixdb character set utf8;
grant all privileges on zabbixdb.* to 'zabbixamad'@'localhost' identified by '12345678';
exit

Şimdi şemalarımızı bu database içerisine aktarabiliriz. Bunun için aşağıdaki komutu girerek zabbix için açtığımız kullanıcının şifresini girelim;

mysql -u zabbixamad -p zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.7/create/schema.sql
mysql -u zabbixamad -p zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.7/create/images.sql
mysql -u zabbixamad -p zabbixdb < /usr/share/doc/zabbix-server-mysql-2.4.7/create/data.sql

db için gerekli sql datalarını yükledik. Şimdi zabbix sunucumuzun db ile bağlantı kurabilmesi için zabbix konfigurasyon dosyasının ayarlarını yapacağız.

vi /etc/zabbix/zabbix_server.conf

Ben daha önce belirlemiş olduğum ayarlara göre gerekli yerlerdeki ayarların aşağıdaki gibi olması gerekiyor. Sizde bu ayarları bularak aşağıdaki gibi düzenleyiniz. Eğer bu ayarların başında # görürseniz bu karekteri siliniz;

[...] DBName=zabbixdb [...] DBUser=zabbixamad [...] DBPassword=12345678 [...]

Aynı şekilde localimizi de görüntüleyebilmek için locale kurmuş olduğumuz agent ayarlıyoruz.

vi /etc/zabbix/zabbix_agentd.conf

Bu dosyada da aşağıdaki gibi değişiklikleri yapınız. Benim local hostname zabbixserver.herbibk.com sizde sunucu kurulum sırasında belirlediğiniz hostname bu alana giriniz.

`
[…]

Line 85 - Zabbix Sunucu adres

Server=127.0.0.1
[…]

Line 126 - Zabbix Sunucu adres

ServerActive=127.0.0.1
[…]

Line 137 - Zabbix Sunucu Hostname veya IP adresi

Hostname=zabbixserver.herbibk.com
[…]
`

Zabbix`in önermiş olduğu aşağıdaki PHP ayarlarını yapmanızı öneririm. değişikliği yapacağınız dosya /etc/php.ini dosyası.

vi /etc/php.ini

Değişiklikler:

max_execution_time = 600
max_input_time = 600
memory_limit = 256M
post_max_size = 32M
upload_max_filesize = 16M
date.timezone = Erope/Istanbul

Şimdi firewall kurallarımızı elememiz gerekiyor. Bu durumda agent ve server arasındaki iletişim için gereken portları açıyoruz.

firewall-cmd --permanent --add-port=10050/tcp
firewall-cmd --permanent --add-port=10051/tcp
systemctl restart firewalld

Eğer SELinux kullanıyorsanız aşağıdaki ayarları girmeniz gerekiyor. Eğer bana sıkıntı yaratır derseniz /etc/selinux/config içerisinde SELINUX=enforcing kismini SELINUX=disabled yapin. Ben selinux için gereken komutu girerek kuruluma devam edeceğim. Bu komut Apache ile Zabbix in konuşmasını sağlayacak.

setsebool -P httpd_can_connect_zabbix=1

Console üzerindeki ayarlarımız burada son buluyor. Son olarak servislerimizin her açılışta düzgünce açılması için gerekli komutları yazacağız. Burada enable reboot sonrası sistemin otomatik olarak başlamasını restart şuan için servisin yeniden başlamasını start şuan çalışmasını sağlamak içindir.

systemctl start zabbix-server
systemctl start zabbix-agent
systemctl restart httpd
systemctl restart mariadb
systemctl enable zabbix-server
systemctl enable zabbix-agent

Şimdi web browser üzerinden http:// zabbix-sunucu-ip-adresi/zabbix adresine giderek arayüzden zabbix kurulumumuza devam edelim.

Nex butonuna tıklayarak devam ediyoruz.

Bu noktada php değişikliklerimizi ve diğer tüm ayarlarımızı OK olarak görüyor olmamız gerekiyor. Devam ediyoruz Next :wink:


Bu sayfada db bağlantımız için gerekli ayarları girmemiz gerekiyor. Daha önce yapmış olduğunuz ayarlarınızı buraya girerek Test connection butonuna basın ve OK yazısını görün. Eğer OK yazısı gelmediyse ayarlarınızı tekrar kontrol edin. OK gördüyseniz eğer Next :smile:

Bu ekran opsiyonel herhangi bir ayar yapmak durumda değilsiniz.Next

Bu kısımda sonuç ekranı. Devam ediyoruzç Next

Ve son olarak Sonuç ekranı OK yazısını da gördük kurulumumuz tamamlanmış durumda. Finish

Finish butonuna bastıktan sonra zabbix lkogin ekranımızı göreceğiz. Burada default kullanıcı adımız Admin Şifremiz ise zabbix Login olduğunuzda dashboard sizi karşılayacak.

Default olarak zabbix sunucu üzerine kurduğunuz client aktif değildir. Öncelikle bu client aktif hale getirelim
Yukarida bulunan sekmelerden
Configuration --> Hosts içerisine girin. Sizi aşağıdaki ekran karşılayacaktır.


Burada Zabbix server seçerek altta bulunan drop*down menüden Enable selected Yazısını tıklayın ve yanında bulunan Go butonuna basın

Bu işlemle birlikte Status Enabled olarak değişecek ve bir süre sonra Availability yeşile dönecektir. Hemen yeşil olmaz o yüzden heyecan yapmayın :smile:

Şimdi tekrar sekmeler üzerinden Monitoring --> Screens içerisine girerek sunucunuzun kendisi ile ilgili datayı almaya başladığını görebilirsiniz. Örnek resim aşağıda :wink:

Saygılarımla…
Ahmed Hüsrev ÇAKIR


#2

Ellerine sağlık tatbik etmek lazım :slight_smile: hemen


#3

tatbik edildi işlem başarılı part ikiyide (sanal bir router os eklesek snmp verisi ceksek nasıl olur) sabırsızlık bekliyoruz :slightly_smiling:


#4

Selamlar…

Bunun için default bir snmp template zaten sistem içerisinde mevcut. Burada agent eklemeyi zaten anlatmıştım. Agent interface bölümü yerine snmp kısmını kullanıp snmp ile ilgili template seçersen snmp üzerinden veri almaya başlayacaksın.

Ayrıca yardım edebilirim eğer template için xml file yazılması gerekiyorsa…

Saygılarımla…


#5

Merhaba,

Zabbix 3.0.2 çıktı. Oldukça güzel bir arayüz geliştirilmiş, tanıdığımız zabbixten çok farklı değil fakat artık encrypted olarak dataları gönderebiliyoruz, ayrıca artık grafikleri 1 dk. olarak izleyebiliyoruz.

Kurulum için centos sunucunuza:

yum install epel-release -y
rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm

repo kurulumu yaptıktan sonra aşağıdaki paketleri direk olarak kurun. Otomatik olarak db, web sunucu php vs. yüklenecektir.

yum install zabbix-server-mysql zabbix-web-mysql
yum install zabbix-agent
cd /usr/share/doc/zabbix-server-mysql-3.0.0
zcat create.sql.gz | mysql -uroot zabbix
# vi /etc/zabbix/zabbix_server.conf
DBHost=localhost
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
systemctl start zabbix-server
systemctl start httpd

Yeni çıkan özellikler için aşağıdaki linke bakabilirsiniz.
https://www.zabbix.com/documentation/3.0/manual/introduction/whatsnew300

Saygılarımla…
Ahmed Hüsrev ÇAKIR