# Renk Kodları
RED='\033[0;31m'
GREEN='\033[0;32m'
YELLOW='\033[0;33m'
NC='\033[0m' # No Color, varsayılan rengi geri döndürür

#######################################################################
## Zabbix Duzenlemeleri
echo -e "${YELLOW}---------------> ZABBIX Kurulumu <--------------.${NC}"

# Zabbix agentı paketini yükle
rpm -Uvh https://repo.zabbix.com/zabbix/6.4/rhel/7/x86_64/zabbix-release-6.4-1.el7.noarch.rpm
wait

# İşlem hata kodunu kontrol et
if [ $? -ne 0 ]; then
    echo -e "${RED}---------------> Zabbix RPM yükleme işlemi başarısız oldu.${NC}" >&2
    exit 1
fi

# Zabbix agentını kur
yum -y install zabbix-agent2 zabbix-agent2-plugin-*
wait

# İşlem hata kodunu kontrol et
if [ $? -ne 0 ]; then
    echo -e "${RED}---------------> Zabbix agentı kurulumu başarısız oldu.${NC}" >&2
    exit 1
fi

# Zabbix agentını yeniden başlat
systemctl restart zabbix-agent2
wait

# İşlem hata kodunu kontrol et
if [ $? -ne 0 ]; then
    echo -e "${RED}---------------> Zabbix agentı yeniden başlatılamadı.${NC}" >&2
    exit 1
fi

# Zabbix agentını başlangıçta otomatik olarak başlat
systemctl enable zabbix-agent2
wait

# İşlem hata kodunu kontrol et
if [ $? -ne 0 ]; then
    echo -e "${RED}---------------> Zabbix agentı otomatik başlatılamadı.${NC}" >&2
    exit 1
fi

# Zabbix agentı yapılandırma dosyasını düzenle

#Server = 34.159.154.0 ## Passive Agent
#ServerActive = 34.159.154.0/32 ## Active Agent
#Hostname = SPC-Any-Server
#HostMetadata = SPCLinux

# Zabbix active agentı yapılandırma
sed -i 's/^Server=.*/Server=34.159.154.0\/32/' /etc/zabbix/zabbix_agent2.conf
sed -i 's/^ServerActive=.*/ServerActive=34.159.154.0\/32/' /etc/zabbix/zabbix_agent2.conf

# Hostname ayarı
if grep -q "^#\?Hostname=" /etc/zabbix/zabbix_agent2.conf; then
    sed -i 's/^#\?Hostname=.*/Hostname=PBX-'${PBXNAME}'/' /etc/zabbix/zabbix_agent2.conf
else
    echo "Hostname=PBX-${PBXNAME}" >> /etc/zabbix/zabbix_agent2.conf
fi

# HostMetadata ayarı
if grep -q "^#\?HostMetadata=" /etc/zabbix/zabbix_agent2.conf; then
    sed -i 's/^#\?HostMetadata=.*/HostMetadata=SPCPBX/' /etc/zabbix/zabbix_agent2.conf
else
    echo "HostMetadata=SPCPBX" >> /etc/zabbix/zabbix_agent2.conf
fi


# İşlem hata kodunu kontrol et
if [ $? -ne 0 ]; then
    echo -e "${RED}---------------> Zabbix agentı yapılandırma dosyası düzenlenemedi.${NC}" >&2
    exit 1
else
    echo -e "${GREEN}---------------> Tüm işlemler başarıyla tamamlandı. Zabbix Agent 2 Başarıyla yüklendi.${NC}"    
fi