首页 > 代码库 > zabbix 安装(自己实践)

zabbix 安装(自己实践)

1. 下载源码包

wget http://sourceforge.net/projects/zabbix/files/

2.  解压

tar -zxvf zabbix-2.2.3.tar.gz

3. 进入解压后的目录

cd zabbix-2.2.3

4. 安装必要软件

yum install -y gcc make cmake mysql-server mysql-devel php php-gd php-devel php-mysql php-bcmath php-ctype php-xml php-xmlreader php-xlmwriter php-session php-net-socket php-mbstring php-gettext httpd net-snmp curl curl-devel net-snmp net-snmp-utils net-snmp-devel perl-DBI libxml2 libxml2-devel fping

 

5. 编译

./configure --enable-server --enable-agent --enable-proxy --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl --with-libxml2 --with-openssl  --prefix=/opt/zabbix

6.安装

make && make install

7.  进入到包含mysql导入脚本的目录

  cd ./database/mysql

8.连接mysql

 mysql -uroot -p

输入密码

9.  添加用户和数据库

> create database zabbix default charset utf8;

>UPDATE mysql.user SET password=PASSWORD(‘XXX’) WHERE User=’root’;

> flush privileges;

>exit 

10. 导入数据库

mysql -uroot -p zabbix < schema.sql

mysql -uroot -p zabbix < images.sql

    mysql -uroot -p zabbix < data.sql

11 . 切换到解压后的目录

cd ../..

12. 修改apache配置,添加虚拟主机

<VirtualHost *:80>

        ServerName zabbix.xxxx.net

        DocumentRoot /var/www/zabbix

        DirectoryIndex index.php index.html index.htm

        <Directory "/">

                AllowOverride All

                Order allow,deny

                Allow from all

        </Directory>

</VirtualHost>

 

13.创建目录虚拟主机目录

mkdir  /var/www/zabbix

14.将必要的php文件复制到虚拟主机下

cp -r ./frontends/php/* /var/www/zabbix

15. 重启apache

service httpd restart

16. 切换到zabbix的配置目录下

cd /opt/zabbix/etc

17. 修改zabbix_server.conf配置(我的配置如下)

LogFile=/var/log/zabbix_server.log

LogFileSize=2

DBHost=localhost

DBName=zabbix

DBUser=root

DBPassword=XXX

DBSocket=/home/data/mysql/mysql.sock

StartPollers = 50

StartIPMIPollers=3

StartPollersUnreachable=10

StartTrappers=50

StartPingers=40

StartDiscoverers=10

StartHTTPPollers=20

StartTimers=20

StartVMwareCollectors=5

VMwareFrequency=45

VMwareCacheSize=256M

StartSNMPTrapper=1

HousekeepingFrequency=6

MaxHousekeeperDelete=10000

SenderFrequency=5

CacheSize=1G

CacheUpdateFrequency=60

StartDBSyncers=50

HistoryCacheSize=1G

TrendCacheSize=1G

HistoryTextCacheSize=1G

ValueCacheSize=512M

Timeout=30

UnavailableDelay=30

LogSlowQueries=3000

StartProxyPollers=10

AllowRoot=1     #让 zabbix 进程以root用户运行,可避免一些权限不足的问题

 

18. Vi /etc/services

加入:

zabbix-agent    10050/tcp                       # Zabbix Agent

zabbix-agent    10050/udp                      # Zabbix Agent

zabbix-trapper  10051/tcp                       # Zabbix Trapper

zabbix-trapper  10051/udp                      # Zabbix Trapper

 

19.添加service 启动脚本

 vi /etc/init.d/zabbix_agentd

添加内容如下:

#!/bin/sh

#chkconfig: 345 95 95

#description:Zabbix agent

# Zabbix

# Copyright (C) 2001-2013 Zabbix SIA

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

 

# Start/Stop the Zabbix agent daemon.

# Place a startup script in /sbin/init.d, and link to it from /sbin/rc[023].d

 

SERVICE="Zabbix agent"

DAEMON=/opt/zabbix/sbin/zabbix_agentd

PIDFILE=/tmp/zabbix_agentd.pid

BASEDIR=/opt/zabbix

ZABBIX_AGENTD=$BASEDIR/sbin/zabbix_agentd

 

case $1 in

  ‘start‘)

    if [ -x ${DAEMON} ]

    then

      $DAEMON

      # Error checking here would be good...

      echo "${SERVICE} started."

    else

      echo "Can‘t find file ${DAEMON}."

      echo "${SERVICE} NOT started."

    fi

  ;;

  ‘stop‘)

    if [ -s ${PIDFILE} ]

    then

      if kill `cat ${PIDFILE}` >/dev/null 2>&1

      then

        echo "${SERVICE} terminated."

        rm -f ${PIDFILE}

      fi

    fi

  ;;

  ‘restart‘)

    $0 stop

    sleep 10

    $0 start

  ;;

  *)

    echo "Usage: $0 start|stop|restart"

    ;;

esac

 

vi /etc/init.d/zabbix_server

添加如下内容:

#!/bin/sh

#

#chkconfig:345 95 95

#description:Zabbix Server

# Zabbix

# Copyright (C) 2001-2013 Zabbix SIA

#

# This program is free software; you can redistribute it and/or modify

# it under the terms of the GNU General Public License as published by

# the Free Software Foundation; either version 2 of the License, or

# (at your option) any later version.

#

# This program is distributed in the hope that it will be useful,

# but WITHOUT ANY WARRANTY; without even the implied warranty of

# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the

# GNU General Public License for more details.

#

# You should have received a copy of the GNU General Public License

# along with this program; if not, write to the Free Software

# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.

 

# Start/Stop the Zabbix server daemon.

# Place a startup script in /sbin/init.d, and link to it from /sbin/rc[023].d

 

SERVICE="Zabbix server"

DAEMON=/opt/zabbix/sbin/zabbix_server (需改成自己的安装路径)

PIDFILE=/tmp/zabbix_server.pid

BASEDIR=/opt/zabbix/  (需改成自己的安装路径)

ZABBIX_SERVER=$BASEDIR/sbin/zabbix_server

 

case $1 in

  ‘start‘)

    if [ -x ${DAEMON} ]

    then

      $DAEMON

      # Error checking here would be good...

      echo "${SERVICE} started."

    else

      echo "Can‘t find file ${DAEMON}."

      echo "${SERVICE} NOT started."

    fi

  ;;

  ‘stop‘)

    if [ -s ${PIDFILE} ]

    then

      if kill `cat ${PIDFILE}` >/dev/null 2>&1

      then

        echo "${SERVICE} terminated."

        rm -f ${PIDFILE}

      fi

    fi

  ;;

  ‘restart‘)

    $0 stop

    sleep 10

    $0 start

  ;;

  *)

    echo "Usage: $0 start|stop|restart"

    ;;

esac

 

20. 赋予执行权限

chmod a+x /etc/init.d/zabbix_agentd

chmod a+x /etc/init.d/zabbix_server

21. 添加开机启动

chkconfig zabbix_server on

chkconfig zabbix_agentd on

22. 修改/etc/php.ini配置

将 ;date.timezone =  改成  date.timezone = "Asia/Shanghai"

将  max_execution_time = 30 改成  max_execution_time = 300

将 max_input_time = 60  改成  max_input_time = 300

23. 重启apache 

service httpd restart

24. 修改zabbix.conf.php

cp /var/www/zabbix/conf/zabbix.conf.php.example /var/www/zabbix/conf/zabbix.conf.php

vi /var/www/zabbix/conf/zabbix.conf.php 配置如下:

 

25.关闭防火墙

service iptables stop

setenforce 0

chkconfig ipstables off

vi /etc/selinux/config 将其中的SELINUX=enabled改成 SELINUX=disabled

26.解决中文乱码

通过ftp软件将C:\Windows\Fonts\simkai.ttf上传到zabbix服务器上的/var/www/zabbix/fonts目录下。

vi /var/www/zabbix/include/defines.inc.php

将39行的 define(‘ZBX_GRAPH_FONT_NAME‘,           ‘DejaVuSans‘);

改成 define(‘ZBX_GRAPH_FONT_NAME‘, ‘simkai‘);

将86行的define(‘ZBX_FONT_NAME‘, ‘DejaVuSans‘); 

改成 define(‘ZBX_FONT_NAME‘, ‘simkai‘);

27.至此zabbix的安装已基本完成

在浏览器中输入 域名或IP进行访问

默认的zabbix系统用户为admin 密码为zabbix