一、环境介绍

Zabbix 须要依赖LAMP(Apache、Mysql、PhP)环境,Apache也能够应用Nginx代替,为了节省时间网上有很多一键装置的脚本,下载执行装置即可。

零碎:rhel 5.5 X86_64
软件:nginx-0.8.53
mysql-5.1.56
php-5.2.17
zabbix 2.0.3

二、LNMP装置

  1. tar zxvf lemp_auto_v1.0.6.tar.gz
  2. cd lemp
  3. ./lemp.sh
  4. 前面的步骤依据提醒操作即可

第一张是开始装置,第二张是装置实现的,从二图能够看出每个软件包装置的目录信息。

三、Zabbix

  1. yum -y install net-snmp-devel curl-devel

(2)增加zabbix用户

  1. groupadd zabbix 增加zabbix组
  2. useradd zabbix -g zabbix 新建zabbix用户并将其退出到zabbix组

(3)解压软件

  1. tar zxvf zabbix-2.0.3.tar.gz
  2. cd zabbix-2.0.3

(4)为zabbix创立数据库并增加用户

  1. 注:先应用/etc/init.d/mysqld start 启动数据库
  2. 在mysql -uroot -p,输出默认明码1登陆数据库。
  3. create database zabbix character set utf8; #新建一个数据库叫zabbix
  4. grant all on zabbix.* to zabbix@localhost identified by 'redhat'; #给zabbix这个数据库受权,只容许zabbix这个用户通过本地登录,zabbix用户的明码为redhat

(5)将zabbix源码包中的数据导入到新建的zabbix数据库

  1. 注:这一步是zabbix2.3与其余旧版不同的,在版本2.3里数据库的构造和名字都变了,而且导入也要严格依照程序来。
  2. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql #这个是zabbix的数据库表构造,要先导入。
  3. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/p_w_picpaths.sql
  4. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/data.sql

(6)编译装置

  1. ./configure --prefix=/usr/local/zabbix --enable-server --enable-proxy --enable-agent --with-mysql=/usr/local/mysql-5.2.17/bin/mysql_config --with-net-snmp --with-libcurl
  2. make
  3. make install

(7)为zabbix server增加端口

  1. vim /etc/services
  2. 增加如下信息
  3. zabbix-agent 10050/tcp Zabbix Agent
  4. zabbix-agent 10050/udp Zabbix Agent
  5. zabbix-trapper 10051/tcp Zabbix Trapper
  6. zabbix-trapper 10051/udp Zabbix Trapper

(8)拷贝配置文件到响应的目录下

  1. 注:这一步也是2.0.3改变的中央,以往的配置文件都是寄存在源码包下的misc/conf/目录中,这次不是了。
  2. mkdir /etc/zabbix
  3. cp -rf /zabbix/zabbix-2.0.3/conf/* /etc/zabbix

(9)更改配置文件中数据库相干的用户名明码

  1. vim /etc/zabbix/zabbix_server.conf
  2. 批改以下三项:
  3. DBName=zabbix
  4. DBUser=zabbix
  5. DBPassword=redhat
  6. 注:DBPassword 默认是被正文掉的

(10)给zabbix服务端程序做软链接

  1. cd /usr/local/zabbix/bin/
  2. for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
  3. cd /usr/local/zabbix/sbin/
  4. for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done

(11)增加数据库Lib文件地位到/etc/ld.so.conf中,并使其失效

  1. echo /usr/local/mysql-5.1.48/lib/mysql/ >> /etc/ld.so.conf
  2. ldconfig

(12)拷贝相应的web程序到相干WEB服务目录下

  1. cp -r zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix

(13)拷贝zabbix服务端和客户端启动脚本到/etc/init.d目录下.

  1. 注:这个中央寄存脚本的目录构造也有变动,没有redhat这个目录,所以我cp的gentoo目录里的启动脚本,具体区别能够浏览README。
  2. cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d
  3. chmod +x /etc/init.d/zabbix_server # 为脚本加上可执行权限
  4. cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d
  5. chmod +x /etc/init.d/zabbix_agentd
  6. 文档中说还要更改启动脚本中的门路,然而我更改之后反而不对了,所以没有更改。

(14)启动zabbix,并且增加开机自启动

  1. service zabbix-server start
  2. service zabbix-agentd start #启动服务
  3. chkconfig zabbix-server on
  4. chkconfig zabbix-agentd on #开机自启动

(15)在Nginx服务中增加zabbix虚拟主机

  1. vim /usr/local/nginx/conf/vhosts/monitor.conf
  2. server {
  3. listen 80;
  4. server_name zabbixA.cyhd.com.cn;
  5. access_log logs/zabbix_access.log main;

  6. location / {
  7. root /data/www/wwwroot/zabbix;
  8. index index.html index.htm index.php;
  9. }
  10. location ~ .php$ {
  11. root /data/www/wwwroot/zabbix;
  12. fastcgi_pass 127.0.0.1:9000;
  13. fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
  14. fastcgi_index index.php;
  15. include fastcgi_params;
  16. }
  17. }

(16)启动nginx增加开机自启动

  1. service nginx start
  2. chkconfig nginx on

(17)批改PHP配置文件php.ini内容

  1. vim /usr/local/php-5.2.17/etc/php.ini
  2. date.timezone = Asia/Shanghai
  3. post_max_size = 32M
  4. max_execution_time = 300M
  5. max_input_time = 300M
  6. 注:更改完之后须要重启nginx和php

(18)启动重启php

  1. 默认开机是启动的
  2. pkill php #敞开php
  3. 也能够通过如下命令
  4. /usr/local/php-5.2.17/sbin/php-fpm start|stop
  5. 启动重启之后最好应用ps -ef | grep php 查看下

四、浏览器装置

(1)浏览器关上刚装置的zabbix

http://IP

(2)检测php组件,全副OK才能够点击next

  1. 注:这个中央要有些改变。
  2. 最初一栏 PHP gettext 必定是No状态,因为在LNMP中没有退出 PHP gettext,所以动静编译下php。
  3. cd lemp/packages #这个目录都是一键装置源码包的寄存地位
  4. tar -zxvf php-5.2.17.tar.gz #解压php源码包
  5. cd php-5.2.17/ext/gettext #php自带的有这个,只是编译的时候没加
  6. /usr/local/php-5.2.17/bin/phpize #执行此命令
  7. ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #从新编译php
  8. make && make install #装置

vim /usr/local/php-5.2.17/etc/php.ini
倒数第16行更改为 extension = "gettext.so"
保留退出,重启php即可!

(3)连贯zabbix数据库

(4)设置zabbix服务IP和端口,name能够疏忽

(5)预览设置

(6)这一步遗记截图了,点击Down将php生成的文件下载到本地,而后在上传到/data/www/wwwroot/zabbix/conf下,也能够用本地记事本关上zabbix.conf.php,复制其中的内容,在 vim /data/www/wwwroot/zabbix/conf/zabbix.conf.php,将方才复制的内容粘贴到次,保留退出,在点击try连贯测试,呈现下图的OK即可。

(7)输出用户名明码登录
默认的用户名:admin 明码:zabbix

到此服务端的装置就实现了,无关内容我也会陆续操作并更新,有问题还请大家反对,一起交换。