Hello,
I had a challenge, to get my Zabbix server up and running on AWS. This initial version is on bash scripts, next versions will be smarter… Zabbix version I will install is 3.2.
A. Setup:
- Image: Ubuntu Server 16.04 LTS (HVM), SSD Volume Type – ami-a8d2d7ce
- Type: t2.micro
- Storage: 8 gig
- Tag: Name = Zabbix
- Security group: SSH [TCP/22], Http[TCP/80] and Http[TCP/10050] for access from anywhere.
B. Installations for Zabbix Server:
#Get the updated repos and install LAMP server. Notice the ^.
$ sudo apt-get update $ sudo apt-get install lamp-server^
Note the password for mysql as to be used later on :
$ sudo service apache2 restart $ sudo systemctl enable apache2 $ wget http://repo.zabbix.com/zabbix/3.2/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.2-1+xenial_all.deb $ dpkg -i zabbix-release_3.2-1+xenial_all.deb $ apt-get update $ sudo apt-get install zabbix-server-mysql zabbix-frontend-php $ sudo service mysql start
To secure our sql, we need configure options. Say No to change password, Yes to the rest of others questions.
$ sudo mysql_secure_installation
We will create the database zabbix and set a new password. Keep the quotation marks. Notice, we will use the to connect mysql.
$ mysql -uroot -p mysql> create database zabbix character set utf8 collate utf8_bin; mysql> grant all privileges on zabbix.* to zabbix@localhost identified by ''; mysql> quit;
We need to restore the zabbix database onto the one we created. It will prompt you to enter the to connect the zabbix database.
$ cat /usr/share/doc/zabbix-server-mysql/create.sql.gz | mysql -uzabbix -p zabbix
We also need to keep the password in zabbix server configuration:
$ sudo vi /etc/zabbix/zabbix_server.conf >DBHost=localhost >DBName=zabbix >DBUser=zabbix >DBPassword=‘’ $ sudo service zabbix-server start $ sudo update-rc.d zabbix-server enable
Change /etc/zabbix/apache.conf, uncomment the php_value for date.timezone to your relevant timezone.
$ sudo vi /etc/zabbix/apache.conf >php_value date.timezone Europe/London
Restart the apache server:
$ service apache2 restart
Browse your http:///zabbix :

Note1: If you get errors on the page:
Error1:
PHP bcmath extension missing (PHP configuration parameter --enable-bcmath). PHP mbstring extension missing (PHP configuration parameter --enable-mbstring). PHP xmlwriter extension missing. PHP xmlreader extension missing.</span>
Run on the server:
$ sudo apt-get install php-bcmath $ sudo apt-get install php-mbstring $ sudo apt-get install php-xml
Error2:
Zabbix discoverer processes more than 75% busy
Solution:
$ sudo vi zabbix_server.conf sudo service zabbix-server restart sudo service apache2 restart
Error3:
Lack of free swap space on Zabbix server
sudo dd if=/dev/zero of=/var/swapfile bs=1M count=2048 sudo chmod 600 /var/swapfile sudo mkswap /var/swapfile echo /var/swapfile none swap defaults 0 0 | sudo tee -a /etc/fstab sudo swapon -a
C. Add agents to Centos/Ubuntu machines :
#Installing Zabbix agent on Ubuntu 16.04:
sudo wget http://repo.zabbix.com/zabbix/3.0/ubuntu/pool/main/z/zabbix-release/zabbix-release_3.0-1+xenial_all.deb sudo dpkg -i zabbix-release_3.0-1+xenial_all.deb sudo apt-get update sudo apt-get install zabbix-agent sudo service zabbix-agent start
Installing Zabbix agent on Centos 7.3:
sudo rpm -ivh http://repo.zabbix.com/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm sudo yum update sudo yum install zabbix-agent sudo service zabbix-agent start
Error4:
Agent is not starting on Centos 7.3, Permission denied:
Investigations:
# tail -3 /var/log/zabbix/zabbix_agentd.log
...
$ cat /var/log/audit/audit.log | grep zabbix_agentd | grep denied | tail -1
type=AVC msg=audit(1494325619.250:1410): avc: denied{ setrlimit } forpid=26242 comm="zabbix_agentd" scontext=system_u:system_r:zabbix_agent_t:s0 tcontext=system_u:system_r:zabbix_agent_t:s0 tclass=process
Solution :
Get the required policy and apply the output displayed:
sudo cat /var/log/audit/audit.log | grep zabbix_agentd | grep denied | tail -1 | sudo audit2allow -M zabbix_agent_setrlimit
******************** IMPORTANT ***********************
To make this policy package active, execute:
semodule -i zabbix_agent_setrlimit.pp</span></pre>
# sudo semodule -i zabbix_agent_setrlimit.pp
# sudo systemctl daemon-reload
# sudo systemctl start zabbix-agent




