安装部署
zabbix server可以运行在多种linux系统上,这里以centos6.4_X64作为部署环境
(1)服务端安装LAMP环境
[root@zabbix-server ~]# yum -y install gcc gcc-c++ autoconf httpd php mysql mysql-server php-mysql httpd-manual mod_ssl mod_perl mod_auth-mysql php-gd php-xml php-mbstring php-ldap php-pear php-xmlrpc php-bcmath mysql-connector-odbc mysql-devel libdbi-dbd-mysql net-snmp-devel curl-devel unixODBC-devel OpenIPMI-devel java-devel
(2)服务端配置LAMP使用环境
整合apache和php
[root@zabbix-server ~]# vi /etc/httpd/conf/httpd.conf
增加下面几行
AddType application/x-httpd-php .php #apache解析php程序
PHPIniDir "/etc/php.ini" #指定php.ini配置文件路径
ServerName localhost:80 #指定监听端口
修改此行,增加index.php
DirectoryIndex index.php index.html index.html.var
配置php环境
[root@zabbix-server ~]# vi /etc/php.ini
修改以下行
date.timezone = Asia/Shanghai
max_execution_time = 300
post_max_size = 32M
max_input_time = 300
memory_limit = 128M
mbstring.func_overload = 2
开启httpd、mysqld服务
[root@zabbix-server ~]# chkconfig httpd on
[root@zabbix-server ~]# chkconfig mysqld on
[root@zabbix-server ~]# service httpd start
[root@zabbix-server ~]# service mysqld start
(3)下载zabbix源码包
下载地址:http://www.zabbix.com/download.php
(4)安装zabbix服务端
增加zabbix用户
[root@zabbix-server ~]# groupadd zabbix
[root@zabbix-server ~]# useradd -m -s /sbin/nologin -g zabbix zabbix
解压源码包,进行安装
[root@zabbix-server ~]# tar zxf zabbix-2.2.5.tar.gz
[root@zabbix-server ~]# cd zabbix-2.2.5
[root@zabbix-server zabbix-2.2.5]# ./configure --prefix=/usr/ --sysconfdir=/etc/zabbix --enable-server --enable-proxy --enable-agent --enable-ipv6 --with-mysql=/usr/bin/mysql_config --with-net-snmp --with-libcurl --with-openipmi --with-unixodbc --with-ldap --with-ssh2 --enable-java
###如果只想安装一个服务端,只需开启--enable-server即可,其他参数可以不用选,但这里是为了后面的各项功能都能使用,所以开启了非常多的参数
编译过程中,有可能会出现缺少相应的依赖包,可以根据情况安装,如:
configure: error: SSH2 library not found出现此报错,可以安装以下依赖包:
[root@zabbix-server zabbix-2.2.5]# yum -y install libssh2-devel
出现此错误
configure: error: Invalid LDAP directory - unable to find ldap.h
可以安装以下依赖包
[root@zabbix-server zabbix-2.2.5]# yum -y install openldap openldap-devel
编译成功
直接make install
[root@zabbix-server zabbix-2.2.5]# make install
(5)添加zabbix到系统服务文件(默认已添加)
[root@zabbix-server zabbix-2.2.5]# cat /etc/services | grep zabbix
zabbix-agent 10050/tcp # Zabbix Agent
zabbix-agent 10050/udp # Zabbix Agent
zabbix-trapper 10051/tcp # Zabbix Trapper
zabbix-trapper 10051/udp # Zabbix Trapper
(6)建立zabbix数据库用户
[root@zabbix-server ~]# cd zabbix-2.2.5
[root@zabbix-server zabbix-2.2.5]# mysql -uroot -p
mysql> create database zabbix character set utf8;
mysql> grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
mysql> flush privileges;
验证用户是否建立成功
[root@zabbix-server ~]# mysql -uzabbix -pzabbix
(7)导入zabbix数据库
[root@zabbix-server mysql]# pwd
/root/zabbix-2.2.5/database/mysql
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < schema.sql
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < images.sql
[root@zabbix-server mysql]# mysql -uzabbix -pzabbix zabbix < data.sql
无报错则导入成功
(8)建立日志文件及设置权限
[root@zabbix-server mysql]# mkdir /var/log/zabbix
[root@zabbix-server mysql]# chown -R zabbix.zabbix /var/log/zabbix/
(9)拷贝service启动脚本
[root@zabbix-server zabbix-2.2.5]# pwd
/root/zabbix-2.2.5
[root@zabbix-server zabbix-2.2.5]# cp misc/init.d/fedora/core/zabbix_* /etc/init.d/
[root@zabbix-server zabbix-2.2.5]# chmod 755 /etc/init.d/zabbix_*
[root@zabbix-server zabbix-2.2.5]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_server
[root@zabbix-server zabbix-2.2.5]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd
(10)配置zabbix_server.conf服务端文件
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_server.conf
修改以下项
LogFile=/var/log/zabbix/zabbix_server.log
DBName=zabbix ##数据库名称
DBUser=zabbix ##数据库用户名
DBPassword=zabbix ##数据库密码
(11)配置zabbix_agentd.conf服务端文件 (监控本机)
注意:是agentd.conf文件不是agent.conf文件
agentd的作用是获取host数据,然后将收集到的数据发送给server(主动模式),或者server主动来拿取数据(被动模式)。
[root@zabbix-server ~]# vim /etc/zabbix/zabbix_agentd.conf
修改以下项
LogFile=/var/log/zabbix/zabbix_agentd.log ##日志路径
Server=127.0.0.1,192.168.0.22 ##服务器IP,如果不为本机,需要填写远端服务器的IP
ServerActive=127.0.0.1:10051 ##填写服务器IP
Hostname=Zabbix server ##本机的主机名
UnsafeUserParameters=1 ##默认是不启用自定义脚本功能的,要自定义Key,需要修改为1开启
Include=/etc/zabbix/zabbix_agentd.conf.d/ ##自定义agentd配置文件存放位置
(12)拷贝页面文件至apache目录
[root@zabbix-server zabbix-2.2.5]# pwd
/root/zabbix-2.2.5
[root@zabbix-server zabbix-2.2.5]# cp -r ./frontends/php/ /var/www/html/zabbix
[root@zabbix-server zabbix-2.2.5]# chown -R apache.apache /var/www/html/zabbix/
(13)设置zabbix开机启动
[root@zabbix-server ~]# chkconfig zabbix_server on
[root@zabbix-server ~]# chkconfig zabbix_agentd on
[root@zabbix-server ~]# service zabbix_server start
Starting zabbix_server: [ OK ]
[root@zabbix-server ~]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]
5、通过web配置zabbix
注:实验环境可以关闭防火墙及selinux,生产环境在防火墙开放相关端口,这里我就直接关闭防火墙和selinux
[root@zabbix-server ~]# service iptables stop
iptables: Setting chains to policy ACCEPT: filter [ OK ]
iptables: Flushing firewall rules: [ OK ]
iptables: Unloading modules: [ OK ]
[root@zabbix-server ~]# setenforce 0
在浏览器内输入http://192.168.0.22/zabbix
下一步
这里会检测安装环境,如果有些项目显示为no,可根据情况进行调整
设置连接服务器的参数,设置完成后,点击下方测试连接,如果正常连接,则如下图
如果测试未通过,可检查数据库的用户名和密码是否正确
host和name,填写本机IP,端口默认
确认信息是否正确,如果正确,下一步
确认信息完成后,软件自动将刚才配置的文件,上传至/var/www/html/zabbix/conf/zabbix.conf.php,点击finish完成配置,进入登录页面
初始登录名为root,密码为zabbix
1、建立zabbix用户及组
[root@zabbix ~]# groupadd zabbix
[root@zabbix ~]# useradd -g zabbix -s /sbin/nologin -m zabbix
2、编译安装zabbix
[root@zabbix ~]# ls
anaconda-ks.cfg install.log install.log.syslog zabbix-2.2.5.tar.gz
[root@zabbix ~]# tar zxf zabbix-2.2.5.tar.gz
[root@zabbix ~]# cd zabbix-2.2.5
[root@zabbix zabbix-2.2.5]# ./configure --prefix=/usr/ --sysconfdir=/etc/zabbix --enable-agent
[root@zabbix zabbix-2.2.5]# make install
3、建立日志目录及分配权限
[root@zabbix zabbix-2.2.5]# mkdir /var/log/zabbix
[root@zabbix zabbix-2.2.5]# chown zabbix.zabbix /var/log/zabbix/
4、拷贝控制脚本
[root@zabbix zabbix-2.2.5]# cp misc/init.d/fedora/core/zabbix_agentd /etc/init.d/
[root@zabbix zabbix-2.2.5]# chmod 755 /etc/init.d/zabbix_agentd
5、修改控制脚本
[root@zabbix zabbix-2.2.5]# sed -i "s#BASEDIR=/usr/local#BASEDIR=/usr/#g" /etc/init.d/zabbix_agentd
6、修改配置文件
[root@zabbix zabbix-2.2.5]# sed -i "s/Server\=127.0.0.1/Server\=127.0.0.1,192.168.0.22/g" /etc/zabbix/zabbix_agentd.conf
[root@zabbix zabbix-2.2.5]# sed -i "s/ServerActive\=127.0.0.1/ServerActive\=192.168.0.22:10051/g" /etc/zabbix/zabbix_agentd.conf
[root@zabbix zabbix-2.2.5]# sed -i "s#tmp/zabbix_agentd.log#var/log/zabbix/zabbix_agentd.log#g" /etc/zabbix/zabbix_agentd.conf
[root@zabbix zabbix-2.2.5]# sed -i "s/#UnsafeUserParameters=0/#UnsafeUserParameters=1/g" /etc/zabbix/zabbix_agentd.conf
[root@zabbix zabbix-2.2.5]# sed -i "s/Hostname=Zabbix server/Hostname=192.168.0.29/g" /etc/zabbix/zabbix_agentd.conf
7、开启服务
[root@zabbix zabbix-2.2.5]# chkconfig zabbix_agentd on
[root@zabbix zabbix-2.2.5]# service zabbix_agentd start
Starting zabbix_agentd: [ OK ]