Sunday, July 8, 2012

Install Zabbix 2.0.1 server from source on Ubuntu Server usingPostgreSql

Sunday, July 08, 2012 Posted by Andre Broers , , , 12 comments
For my Home network (one dual core esxi server with 9 Linux instances and 1 windows xp instance) I'm in need of a good service monitor. My choice is Zabbix. But after installing from the ubuntu packages I discovered it was a fairly old version at this moment. Time to install from source.

First some decissions I prefer


I create a single ubuntu server virtual machine for this installation. It is called mon01 (from monitor). I prefer PostgreSql above MySql so that is my preferred database and luckily Zabbix can deal with it. Although I have a separate database virtual machine for PostgreSql I prefer to have my complete monitor service on a single virtual machine. The only exception I make is for the frontend which I will install on my Nginx/PHP web virtual machine, but it can simply be installed on the same mon01 virtual machine. Also I like to install my own software builds to install in the home directory of the user that builds it. I create a user for zabbix and when I configure I will give it a prefix in the home directory of the user zabbix. Just to keep the distro clean.

Let's start


The first thing to do is install the dependencies that zabbix needs to build. Luckily this are all default ubuntu packages.
sudo apt-get install build-essential postgresql libpq-dev snmp libsnmp-dev snmpd libcurl4-openssl-dev fping libiksemel3 libiksemel-dev libssh2-1-dev libopenipmi-dev

After this create a new user to run the zabbix environment.
sudo adduser zabbix

Now switch to this new user.
sudo su - zabbix

Get the latest source from the zabbix website: http://www.zabbix.com (zabbix-2.0.1.tar.gz)

Extract the source.


tar zxvpf zabbix-2.0.1.tar.gz

Now it is time to create the postgres database. First logout the zabbix user and than switch to the postgres user.


broersa@mon01:~$ sudo su - postgres
postgres@mon01:~$ psql -U postgres
psql (9.1.4)
Type "help" for help.

postgres=# create user zabbix with password 'xxxx';
CREATE ROLE
postgres=# create database zabbix owner zabbix;
CREATE DATABASE
postgres=# \q
postgres@mon01:~$

 Now we need to edit the following file to set the postgresql access for user zabbix.


 vi /etc/postgresql/9.1/main/pg_hba.conf

 Add the following two lines at the start of the file:


local   zabbix  zabbix  md5
host    zabbix  zabbix 192.168.2.1/32  md5

replace the ip address with the address of the frontend server.

Now we need to bounce the postgres server. Execute the following as a superuser:


sudo service postgresql restart

You can test your connection to the server by logging in as the postgres user and connect to the zabbix database:


broersa@mon01:~$ sudo su - postgres
postgres@mon01:~$ psql -U zabbix zabbix
Password for user zabbix:
psql (9.1.4)
Type "help" for help.

zabbix=> \q
postgres@mon01:~$

When this succeeds we can continue to create and fill the database schema:


sudo su - postgres

cd ~zabbix/zabbix-2.0.1/database/postgresql/

cat schema.sql | psql -U zabbix zabbix
cat images.sql | psql -U zabbix zabbix
cat data.sql | psql -U zabbix zabbix

Now we can switch back to the zabbix user and start building the code:


sudo su - zabbix
cd zabbix-2.0.1
./configure --prefix=/home/zabbix/server --enable-server --enable-ipv6 --with-postgresql --with-jabber --with-libcurl --with-net-snmp --with-ssh2 --with-openipmi
make install

Now we have the server part in ~zabbix/server and the configuration file in ~zabbix/server/etc/zabbix/zabbix_server.conf

Edit this file and set the database settings.

The last step to get the server running is creating an start stop file so the server is started automaticly at a reboot.

First thing to do is create the file /etc/init.d/zabbixserver :


sudo vi /etc/init.d/zabbixserver

Add the following:


#!/bin/sh
# Starts and stops zabbix_agentd
#

case "$1" in
start)

        start-stop-daemon --start --exec ~zabbix/server/sbin/zabbix_server

;;

stop)

        start-stop-daemon --stop --exec ~zabbix/server/sbin/zabbix_server
;;

restart)
        $0 stop
        $0 start
;;

status)
             if pidof -o %PPID ~zabbix/server/sbin/zabbix_server > /dev/null; then
                     echo "Running"
                     exit 0
             else
                     echo "Not running"
                     exit 1
             fi
;;

*)
        echo "Usage: $0 {start|stop|restart|status}"
        exit 1
esac

Change the mode of the file and take care that it will get started at system boot. It will automatically get started as the zabbix user.


sudo chmod 755 /etc/init.d/zabbixserver
sudo update-rc.d zabbixserver defaults

 To start the server execute the following:


sudo service zabbixserver start

You can view the log in /tmp

This is the server part, in my next posts I will cover the agents and the frontend.

12 comments:

  1. Small correction.
    In the dependencies install, it should be build-essential (without the trailing "s").
    Cheers.

    ReplyDelete
  2. Very nice, thank you. I was able to get this running by following your instructions.

    ReplyDelete
  3. everything is in the ubuntu repo actually. just steps are important and we have install php-front-end and php5-pgsql client

    ReplyDelete
  4. Its really a nice post, the content of this blog is really awesome and extraordinary.And also please Read link bvba Woodstone which provide information server monitoring & server monitoring tools

    ReplyDelete
  5. đồng tâm
    game mu
    cho thuê nhà trọ
    cho thuê phòng trọ
    nhac san cuc manh
    số điện thoại tư vấn pháp luật miễn phí
    văn phòng luật
    tổng đài tư vấn pháp luật
    dịch vụ thành lập công ty trọn gói
    lý thuyết trò chơi trong kinh tế học
    đức phật và nàng audio
    hồ sơ mật dinh độc lập audio
    đừng hoang tưởng về biển lớn ebook
    chiến thắng trò chơi cuộc sống ebook
    bước nhảy lượng tử
    ngồi khóc trên cây audio
    truy tìm ký ức audio
    mặt dày tâm đen audio
    thế giới như tôi thấy ebook

    " Ngừa ung thư?" Thời đại này không có chứng ung thư, cho nên Ân Tố Tố không hiểu.
    " Có thể trợ giúp nàng phòng ngừa bệnh tật." Lưu Phong cười hắc hắc, nói:"Bất quá phải từ phía dưới đi vào." Để minh họa hình tượng cho sinh động, Lưu Phong dùng ngón tay sờ vào hạ thể Ân Tố Tố.

    " Đại sắc lang." Ân Tố Tố đỏ mặt lôi ngón tay của Lưu Phong ra.

    Sự chủ động của Ân Tố Tố làm cho Lưu Phong rất là hưng phấn. Có đi có lại, Lưu Phong quyết định xử lý Ân Tố Tố.
    " A ——!"
    Kinh hô một trận, biểu thị sự hồi báo của Lưu Phong bắt đầu. Ân Tố Tố cảm giác một cảm giác kỳ quái, bắt nguồn từ cái miệng ẩm ướt của Lưu Phong.
    Thân thể của nàng run rẩy một trận, miệng của Lưu Phong ngậm một bên, tay của hắn xoa xoa phần ngực bên kia của nàng. Một cảm giác ma quái trong nháy mắt truyền khắp cả thân thể nàng, nàng chịu không được này sự kích thích, thân thể của nàng bắt đầu giãy dụa......

    Sự giãy dụa và rên rỉ của nữ nhân thường thường chỉ làm tăng dục vọng nam nhân lên. Môi của Lưu Phong hôn điên cuồng trên thân thể thơm tho kia, cặp ma trảo kia cũng không nhàn rỗi, không ngừng lướt trên người nữ nhân. Không biết từ lúc nào, quần lót màu đỏ kia cũng bị hắn tháo bỏ. Bây giờ trên người của Ân Tố Tố chỉ có tay và miệng của Lưu Phong......
    Ân Tố Tố cảm giác được bàn tay to của hắn dùng lực tách hai chân của nàng ra, địa phương bí ẩn giờ đây hiện ra trước mắt hắn.

    Rốt cục, miệng của nam nhân đặt lên chỗ đó. Bộ ngực của Ân Tố Tố phập phồng kịch liệt, thân thể mềm mại giãy dụa vì không chịu nổi kích thích, tiếng rên rỉ không bị khống chế lại vang lên trong phòng.

    Âm thanh rất lớn.

    Đóa Đóa đợi bên ngoài phòng đảm nhiệm cảnh giới cũng bị tiếng rên rỉ kiều mỵ kia làm cho hai chân run lên.
    Ân Tố Tố rên rỉ vui sướng, đầu lưỡi của Lưu Phong chậm rãi đi vào......
    Lần đầu tiên nữ nhân hưởng thụ sự phục vụ của nam nhân như thế này, kích thích khoái cảm như sóng lan khắp toàn thân......

    ReplyDelete