Checks to see if Zabbix is installed and if not, installs it. Covers Centos and Ubuntu, but can be extended for other Linux flavors fairly easily.
Evaluation code:
bash9 lines
#!/bin/bash
service=zabbix_agent
if (( $(ps -ef | grep -v grep | grep $service | wc -l) > 0 ))
then
exit 0
else
exit 1
fiRemediation code:
bash125 lines
#!/bin/bash
#Get OS
os_id="$(grep -w ID /etc/os-release | cut -d'=' -f2)"
#Functions
centos () {
if [ $os_ver == '8.0' ]; then
#Remove all dirty packages
rpm -e zabbix-release-*
#Get the Package
rpm -Uvh http://repo.zabbix.com/zabbix/4.0/rhel/8/x86_64/zabbix-release-4.0-2.el8.noarch.rpm
#Clean and Install with Yum
yum clean all
yum -y install zabbix-agent
#Overwrite the conf file with attached
cp zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
#Edit config to personalize for new system
CONFIGPATH="/etc/zabbix/zabbix_agentd.conf"
TARGET_KEY="Hostname"
REPLACEMENT_VALUE="$(hostname)"
sed -c -i "s/\($TARGET_KEY *= *\).*/\1$REPLACEMENT_VALUE/" $CONFIGPATH
#Enable Zabbix as Service (Automatic Startup at Boot)
systemctl enable zabbix-agent
#Start the agent
systemctl start zabbix-agent
fi
if [ $os_ver == '7' ]; then
#Remove all dirty packages
rpm -e zabbix-release-*
#Get the Package
rpm -Uvh http://repo.zabbix.com/zabbix/4.0/rhel/7/x86_64/zabbix-release-4.0-1.el7.noarch.rpm
#Clean and install with Yum
yum clean all
yum -y install zabbix-agent
#Overwrite the conf file with attached
cp zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
#Edit config to personalize for new system
CONFIGPATH="/etc/zabbix/zabbix_agentd.conf"
TARGET_KEY="Hostname"
REPLACEMENT_VALUE="$(hostname)"
sed -c -i "s/\($TARGET_KEY *= *\).*/\1$REPLACEMENT_VALUE/" $CONFIGPATH
#Enable Zabbix as Service (Automatic Startup at Boot)
systemctl enable zabbix-agent
#Start the agent
systemctl start zabbix-agent
fi
if [ $os_ver == '6' ]; then
#Remove all dirty packages
rpm -e zabbix-release-*
#Get the Package
wget https://repo.zabbix.com/zabbix/4.0/rhel/6/x86_64/zabbix-release-4.0-2.el6.noarch.rpm
rpm -Uvh zabbix-release-4.0-2.el6.noarch.rpm
#Clean and install with Yum
yum clean all
yum -y install zabbix-agent
#Overwrite the conf file with attached
cp zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
#Edit config to personalize for new system
CONFIGPATH="/etc/zabbix/zabbix_agentd.conf"
TARGET_KEY="Hostname"
REPLACEMENT_VALUE="$(hostname)"
sed -c -i "s/\($TARGET_KEY *= *\).*/\1$REPLACEMENT_VALUE/" $CONFIGPATH
#Enable Zabbix as Service (Automatic Startup at Boot)
service zabbix-agent enable
#Start the agent
service zabbix-agent start
fi
}
ubuntu () {
#Get the Package
#wget https://repo.zabbix.com/zabbix/4.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_4.0-3+bionic_all.deb
#dpkg -i zabbix-release_4.0-3+bionic_all.deb
#Install with apt
apt-get update
apt-get -y install zabbix-agent
#Overwrite the conf file with attached
cp zabbix_agentd.conf /etc/zabbix/zabbix_agentd.conf
#Edit config to personalize for new systemctl
CONFIGPATH="/etc/zabbix/zabbix_agentd.conf"
TARGET_KEY="Hostname"
REPLACEMENT_VALUE="$(hostname)"
sed -i "s/\($TARGET_KEY *= *\).*/\1$REPLACEMENT_VALUE/" $CONFIGPATH
#Restart Zabbix Agent
service zabbix-agent restart
}
#Find OS and Forward to Appropriate Function
if (os_id == "ubuntu")
then
ubuntu
else
os_ver="$(rpm -q centos-release | cut -d'-' -f3)"
centos
fi
exit 0Note for the Ubuntu section, the wget is commented out. If the Zabbix package isn’t already in your Ubuntu install, then uncomment that line.
This discussion is archived and closed to replies. Continue it in the Automox Community Slack.
Discuss on Slack