Zabbix 服务端搭建

    很早就想写一个zabbix监控的安装文档,比较懒,最近看了同事的zabbix服务器端安装文档,感觉总结的不错,就转了过来,原文地址为:http://song49.blog.51cto.com/4480450/1028718。 

一、环境介绍

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一键下载地址:http://bbs.linuxtone.org/docs/autoinstall/lemp_auto_v1.0.6.tar.gz

Zabbix 下载地址:http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/2.0.3/zabbix-2.0.3.tar.gz/download

二、LNMP安装

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

 

第一张是开始安装,第二张是安装完成的,从二图可以看出每个软件包安装的目录信息。
在此感谢linuxtone论坛的脚本,为实验节省了不少时间。

需要指出的是php的编译,编译中必须用的参数:--enable-mbstring,--with-gettext,--enable-bcmath,--with-gd,我的php编译参数如下:

./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc --with-mysql=/usr/local/mysql --with-apxs2=/usr/local/apache/bin/apxs --with-ttf --with-freetype-dir=/usr/local --with-iconv-dir=/usr/local --with-curl=/usr/local --with-zlib --with-gettext --with-libxml-dir=/usr/local --with-gd=/usr/local --with-png-dir --enable-mbstring --enable-exif --enable-force-cgi-redirect --enable-sysvmsg --enable-sysvsem --enable-sysvshm --enable-calendar --enable-gd-native-ttf --enable-gd-jis-conv --disable-debug --disable-path-info-check --enable-soap --silent --enable-sockets --with-openssl --enable-bcmath --with-snmp --with-jpeg-dir=/usr/local

三、Zabbix 安装

(1)yum安装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.  
  5. 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.  
  4. mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/images.sql 
  5.  
  6. 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 
  4. #注:2.0以上的版本不用这一步,他的配置文件默认都安装在/usr/local/zabbix/etc/这个目录里面了。

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

 
 
  1. vim /etc/zabbix/zabbix_server.conf 
  2. #2.0以前的是上面的文件,2.0之后版本是这个文件:/usr/local/zabbix/etc/zabbix_server.conf
  3. 修改以下三项: 
  4. DBName=zabbix 
  5. DBUser=zabbix 
  6. DBPassword=redhat 
  7. 注:DBPassword 默认是被注释掉的 

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

 
 
  1. cd /usr/local/zabbix/bin/ 
  2.  
  3. for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done 
  4.  
  5. cd /usr/local/zabbix/sbin/ 
  6.  
  7. 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/ >&gt; /etc/ld.so.conf 
  2.  
  3. 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.  
  3. cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d 
  4. chmod +x /etc/init.d/zabbix_server     # 为脚本加上可执行权限 
  5.  
  6. cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d 
  7. chmod +x /etc/init.d/zabbix_agentd 
  8. 文档中说还要更改启动脚本中的路径,但是我更改之后反而不对了,所以没有更改。

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

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

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

 
 
  1. vim /usr/local/nginx/conf/vhosts/monitor.conf 
  2. server { 
  3.  
  4. listen       80; 
  5.  
  6. server_name  zabbixA.cyhd.com.cn; 
  7.  
  8. #access_log   logs/zabbix_access.log  main; 
  9.  
  10. location / { 
  11.  
  12. root   /data/www/wwwroot/zabbix; 
  13.  
  14. index  index.html index.htm index.php; 
  15.  
  16.  
  17. location ~ \.php$ { 
  18.  
  19. root   /data/www/wwwroot/zabbix; 
  20.  
  21. fastcgi_pass   127.0.0.1:9000; 
  22.  
  23. fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name; 
  24.  
  25. fastcgi_index  index.php; 
  26.  
  27. include        fastcgi_params; 
  28.  
  29.  

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

 
 
  1. service nginx start 
  2.  
  3. 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.  
  6. 启动重启之后最好使用ps -ef | grep php 查看下 

四、浏览器安装

(1)浏览器打开刚安装的zabbix

http://IP

(2)检测php组件,全部OK才可以点击next

 
 
  1. 注:这个地方要有些改动。 
  2. 最后一栏 PHP gettext 肯定是No状态,因为在LNMP中没有加入  PHP gettext,所以动态编译下php。 
  3.  
  4. cd lemp/packages     #这个目录都是一键安装源码包的存放位置 
  5. tar -zxvf php-5.2.17.tar.gz   #解压php源码包 
  6. cd php-5.2.17/ext/gettext     #php自带的有这个,只是编译的时候没加 
  7. /usr/local/php-5.2.17/bin/phpize    #执行此命令 
  8. ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #重新编译php 
  9. 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

到此服务端的安装就完成了

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值