Installing Zabbix 3.2 on AWS Ubuntu 16.04

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
$ 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 :
    Untitled 16

    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.
  • #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 } for  pid=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
      $ sudo semodule -i zabbix_agent_setrlimit.pp
      $ sudo systemctl daemon-reload
      $ sudo systemctl start zabbix-agent
    Advertisements

    Leave a Reply

    Fill in your details below or click an icon to log in:

    WordPress.com Logo

    You are commenting using your WordPress.com account. Log Out / Change )

    Twitter picture

    You are commenting using your Twitter account. Log Out / Change )

    Facebook photo

    You are commenting using your Facebook account. Log Out / Change )

    Google+ photo

    You are commenting using your Google+ account. Log Out / Change )

    Connecting to %s