一、环境介绍
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装置
- tar zxvf lemp_auto_v1.0.6.tar.gz
- cd lemp
- ./lemp.sh
- 前面的步骤依据提醒操作即可
第一张是开始装置,第二张是装置实现的,从二图能够看出每个软件包装置的目录信息。
三、Zabbix
- yum -y install net-snmp-devel curl-devel
(2)增加zabbix用户
- groupadd zabbix 增加zabbix组
- useradd zabbix -g zabbix 新建zabbix用户并将其退出到zabbix组
(3)解压软件
- tar zxvf zabbix-2.0.3.tar.gz
- cd zabbix-2.0.3
(4)为zabbix创立数据库并增加用户
- 注:先应用/etc/init.d/mysqld start 启动数据库
- 在mysql -uroot -p,输出默认明码1登陆数据库。
- create database zabbix character set utf8; #新建一个数据库叫zabbix
- grant all on zabbix.* to zabbix@localhost identified by 'redhat'; #给zabbix这个数据库受权,只容许zabbix这个用户通过本地登录,zabbix用户的明码为redhat
(5)将zabbix源码包中的数据导入到新建的zabbix数据库
- 注:这一步是zabbix2.3与其余旧版不同的,在版本2.3里数据库的构造和名字都变了,而且导入也要严格依照程序来。
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/schema.sql #这个是zabbix的数据库表构造,要先导入。
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/p_w_picpaths.sql
- mysql -uzabbix -p'redhat' zabbix < /zabbix/zabbix-2.0.3/database/mysql/data.sql
(6)编译装置
- ./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
- make
- make install
(7)为zabbix server增加端口
- vim /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
(8)拷贝配置文件到响应的目录下
- 注:这一步也是2.0.3改变的中央,以往的配置文件都是寄存在源码包下的misc/conf/目录中,这次不是了。
- mkdir /etc/zabbix
- cp -rf /zabbix/zabbix-2.0.3/conf/* /etc/zabbix
(9)更改配置文件中数据库相干的用户名明码
- vim /etc/zabbix/zabbix_server.conf
- 批改以下三项:
- DBName=zabbix
- DBUser=zabbix
- DBPassword=redhat
- 注:DBPassword 默认是被正文掉的
(10)给zabbix服务端程序做软链接
- cd /usr/local/zabbix/bin/
- for i in *;do ln -s /usr/local/zabbix/bin/${i} /usr/bin/${i};done
- cd /usr/local/zabbix/sbin/
- for i in *;do ln -s /usr/local/zabbix/sbin/${i} /usr/sbin/${i};done
(11)增加数据库Lib文件地位到/etc/ld.so.conf中,并使其失效
- echo /usr/local/mysql-5.1.48/lib/mysql/ >> /etc/ld.so.conf
- ldconfig
(12)拷贝相应的web程序到相干WEB服务目录下
- cp -r zabbix-2.0.3/frontends/php /data/www/wwwroot/zabbix
(13)拷贝zabbix服务端和客户端启动脚本到/etc/init.d目录下.
- 注:这个中央寄存脚本的目录构造也有变动,没有redhat这个目录,所以我cp的gentoo目录里的启动脚本,具体区别能够浏览README。
- cp zabbix-2.0.3/misc/init.d/zabbix_server /etc/init.d
- chmod +x /etc/init.d/zabbix_server # 为脚本加上可执行权限
- cp zabbix-2.0.3/misc/init.d/zabbix_agentd /etc/init.d
- chmod +x /etc/init.d/zabbix_agentd
- 文档中说还要更改启动脚本中的门路,然而我更改之后反而不对了,所以没有更改。
(14)启动zabbix,并且增加开机自启动
- service zabbix-server start
- service zabbix-agentd start #启动服务
- chkconfig zabbix-server on
- chkconfig zabbix-agentd on #开机自启动
(15)在Nginx服务中增加zabbix虚拟主机
- vim /usr/local/nginx/conf/vhosts/monitor.conf
- server {
- listen 80;
- server_name zabbixA.cyhd.com.cn;
access_log logs/zabbix_access.log main;
- location / {
- root /data/www/wwwroot/zabbix;
- index index.html index.htm index.php;
- }
- location ~ .php$ {
- root /data/www/wwwroot/zabbix;
- fastcgi_pass 127.0.0.1:9000;
- fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
- fastcgi_index index.php;
- include fastcgi_params;
- }
- }
(16)启动nginx增加开机自启动
- service nginx start
- chkconfig nginx on
(17)批改PHP配置文件php.ini内容
- vim /usr/local/php-5.2.17/etc/php.ini
- date.timezone = Asia/Shanghai
- post_max_size = 32M
- max_execution_time = 300M
- max_input_time = 300M
- 注:更改完之后须要重启nginx和php
(18)启动重启php
- 默认开机是启动的
- pkill php #敞开php
- 也能够通过如下命令
- /usr/local/php-5.2.17/sbin/php-fpm start|stop
- 启动重启之后最好应用ps -ef | grep php 查看下
四、浏览器装置
(1)浏览器关上刚装置的zabbix
http://IP
(2)检测php组件,全副OK才能够点击next
- 注:这个中央要有些改变。
- 最初一栏 PHP gettext 必定是No状态,因为在LNMP中没有退出 PHP gettext,所以动静编译下php。
- cd lemp/packages #这个目录都是一键装置源码包的寄存地位
- tar -zxvf php-5.2.17.tar.gz #解压php源码包
- cd php-5.2.17/ext/gettext #php自带的有这个,只是编译的时候没加
- /usr/local/php-5.2.17/bin/phpize #执行此命令
- ./configure --with-php-config=/usr/local/php-5.2.17/bin/php-config #从新编译php
- 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
到此服务端的装置就实现了,无关内容我也会陆续操作并更新,有问题还请大家反对,一起交换。