Pardus Sunucu Üzerinde Docker ile Zabbix Kurulumu – 1


Pardus Sunucu Üzerinde Docker ile Zabbix Kurulumu – 1 yazımız,

Zabbix ile monitoring faaliyetleri yapmak istiyorsanız ve bu işlemi docker ile sürdürmek niyetinde iseniz bu yazı tam da size göre 🙂

Amacım Zabbix tarafında bir yazı sinsilesi başlatmak. Buna da Zabbix ve bağlı servisleri docker kullanarak container oluşturarak başlamak istiyorum.

Aşağıdaki servisleri docker üzerinde konumlandırıp zabbix web panel ile süreci tamamlayacağız.

  • Postgresql
  • Zabbix-Server
  • Nginx Web Server
  • Zabbix-agent
  • Pgadmin
  • Grafana

Haydi başlayalım.

Öncelikle docker üzerinde postgres hizmet alacağımız için volume olarak kullanmak amacı ile iki tane klasör oluşturuyorum. Bunlar zabbix db datası için kullanılacak data diğeri de nginx web server tarafında kullanacağımız ssl klasörü.

mkdir data ssl

Komutu ile data ve ssl adında 2 klasör oluşturuyorum.

cd data

komutu ile data klasörü içerisine ulaşıyorum.

Postgres

docker container run --name postgres-server -t -e POSTGRES_USER="idelibalta" -e POSTGRES_PASSWORD="1234+abcd" -e POSTGRES_DB="ZABBIX" -v $(pwd):/var/lib/postgresql/data\ -d postgres:latest

Komut dizesi ile docker üzerinde postgres container oluşturuyorum.

-e POSTGRES_USER=”postgres tarafındaki kullanıcı adı”

-e POSTGRES_PASSWORD=”postgres tarafındaki şifre” \

-e POSTGRES_DB=”postgres database” \

-e : environment (çevre değişkeni)

–name : container adı

-v $(pwd):/var/lib/postgresql/data\

-v : parametresi volume

$(pwd) : komutu ile o an bulunduğum dizini bir değişkene atıyorum. /home/idelibalta/Docker_YMLs/zabbix dizini temsil ediyor.

-d : deattch modda çalışması için kullanılır.

Docker container ls

Komutu ile postgres container durumuna bakıyorum. Şu an aktif ve çalışıyor durumda.

Postgres tarafını yönetmek için pgadmin kurulumuna geçebiliriz.

PgAdmin

docker container run --name pg -p 5050:80 -e "PGADMIN_DEFAULT_EMAIL=inanc@inancdelibalta.com.tr" -e "PGADMIN_DEFAULT_PASSWORD=1234+abcd" -d dpage/pgadmin4

–name : container adı

-p : port bilgisi

Komut dizisi ile pgadmin4 container oluşturuyorum.

Docker container ls

Yada

Docker ps

Komutu ile aktif olan container listesini görebilirim.

Son kontrol de pgadmin ile postgres tarafına bağlandığımızı ve ZABBIX veritabanının aktif olduğunu görüyoruz.

SNMP traps

SNMP traps nedir ? Bence öncelikle bu soruya cevap vererek başlayalım. Zabbix host tarafındaki değerlere ulaşabilmek için snmp taraması yapar. Bunun için 162 UPD portu kullanır. Snmp trap kullanmak için öncelikle bir klasör oluşturalım. Bu klasörü container tarafında :/var/lib/zabbix/snmptraps yolu ile map edeceğiz.

Mkdir snmptrap

docker container run --name zabbix-snmptraps -t -v $(pwd):/var/lib/zabbix/snmptraps:rw -v /var/lib/zabbix/mibs:/usr/share/snmp/mibs:ro -p 162:162/udp -d zabbix/zabbix-snmptraps:latest

Zabbix Server

Zabbix server kurulumuna geçelim.

docker container run --name zabbix-server -t -e DB_SERVER_HOST="postgres-server" -e POSTGRES_USER="idelibalta" -e POSTGRES_PASSWORD="1234+abcd" -e POSTGRES_DB="ZABBIX" -e ZBX_ENABLE_SNMP_TRAPS="true" --link postgres-server:postgres -p 10051:10051 -v $(pwd)/snmptrap -d zabbix/zabbix-server-pgsql:latest

-e ZBX_ENABLE_SNMP_TRAPS=”true” : environment olarak kullandığımız bir parametre. Snmp tramps aktifmi değilmi. Aktif olduğu için True yapıyoruz.

–link : beraber çalışması gereken container lar için bağlantı parametresi

Zabbix Web Arayüzü

Zabbix sunucusu kurulumu bittikten sonra bu sunucuyu yönetmek için web arayüzünü kuralım. Bunun içinde nginx kullanacağız.

docker container run --name zabbix-web -t -e DB_SERVER_HOST="postgres-server" -e POSTGRES_USER="idelibalta" -e POSTGRES_PASSWORD="1234+abcd" -e POSTGRES_DB="ZABBIX" --link postgres-server:postgres --link zabbix-server:zabbix-server -p 5051:80 -v /etc/ssl/nginx:/etc/ssl/nginx:ro -d zabbix/zabbix-web-nginx-pgsql:latest

İşte zabbix kurulumu tamamlandı. Varsayılan kullanıcı adı ve şifresi Admin – zabbix olarak kullanılıp arayüze bağlanılabilir.

Zabbix agent

Zabbix agent, Linux, Windows gibi desteklenen platformlarda çalışabilir ve aygıtlar üzerinden istenilen verileri toplayabilir. Örneğin CPU, RAM, NIC KART, DISK I/O gibi verileri toplayıp sunucuya gönderir. https://www.zabbix.com/zabbix_agent

docker container run --name zabbix-agent -e ZBX_HOSTNAME="zabbix-server" -e ZBX_SERVER_HOST="zabbix-server" -d zabbix/zabbix-agent:latest
Docker Container ls

İle kontrol edelim container çalışıyor mu diye.

Docker ile Zabbix

Graffana

Grafana, açık kaynak kodlu bir monitoring uygulamasıdır.

Plugin vasıtası ile zabbix ile entegre olup zabbix tarafından elde edilen data ile görselleştirme için kullanılmaktadır. Bunu yapmak için bir plugin kullanır.

docker container run --name=grafana -p 3000:3000 -e "GF_SERVER_ROOT_URL=http://pardus" -e "GF_SECURITY_ADMIN_PASSWORD=1234+abcd" -d grafana/grafana

Grafana kurulumu da tamamlandı. Arayüz ise yukarıdaki gibi.

Zabbix plugin yüklemek için öncelikle container tarafına ulaşmalıyız.

Docker container exec -it -grafana container id- bash
grafana-cli plugins install alexanderzobnin-zabbix-app

Plugin yüklemesinden sonra

Docker container restart ‘container id’

Komutu ile container restart yapalım.

Grafana web panel üzerinde Installed Apps bölümünde Zabbix in bulunduğunu ve sadece Enable now beklediğini söyleyebiliriz.

Sonrası configuration yazılarında olacak. Şimdilik kurulumları tamamladık.

Author: idelibalta

2 thoughts on “Pardus Sunucu Üzerinde Docker ile Zabbix Kurulumu – 1

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir