在安装ZABBIX服务之前,首先我们的搭建好LAMP环境或者LNMP环境,这里我搭建的环境为LAMP环境,具体怎样搭建LAMP环境我之前的文章中有提到过,查看LAMP环境安装,好了,接下来开始准备安装ZABBIX
zabbix服务安装
安装好LAMP环境之后需要配置php.ini文件,安装LAMP之后php.ini文件所在目录为/usr/local/php/etc/php.ini
将其中的一些参数修改为如下:
max_execution_time = 300
memory_limit = 128M
post_max_size = 16M
upload_max_filesize = 2M
max_input_time = 300
date.timezone = PRC
还得安装snmp插件(为编译zabbix报错安装插件)
yum -y install net-snmp-devel
安装zabbix
下载zabbix
所有版本下载地址:
这里下载的是2.2.2版本,通过ftp上传到root根目录的
tar -xzvf zabbix-2.2.2.tar.gz
cd zabbix-2.2.2
./configure --prefix=/usr/local/zabbix-2.2.2/ --enable-server \
--enable-agent --with-MySQL --with-net-snmp --with-libcurl --with-libxml2
(出现该错误:configure:error: Invalid NET-SNMP directory - unable to find net-snmp-config
编译安装zabbix时,配置时报以上错,导致检测系统环境不成功。提示unableto find net-snmp-config,说明缺少相关的依赖性。
这是因为,在linux中,大多数软件都是开源的,并且可以自由使用。因此在开发时可以用到其他的软件包时我们直接就拿来了,不用在花功夫去重新编写,这就造成了所谓的依赖性。
那么怎么解决该问题那?
解决办法一:
找出net-snmp-config属于哪个软件包,然后安装即可。
yum search net-snmp-config,发现net-snmp-config属于软件包net-snmp-devel,yum安装该软件包,解决该问题。
解决办法二:
在配置时,我们加上了--with-net-snmp这个选项,因此需要检查系统环境是否有该软件包支持。因此,在配置时,不要加上--with-net-snmp这个选项即不会报如下错误configure:error: Invalid NET-SNMP directory - unable to find net-snmp-config。)
(出现错误configure: error: Curl library not found
先使用yum -y install *curl*安装需要组建,再重新编译
)
make
make install
创建用户
为了安全考虑zabbix只使用普通用户运行,假如你当前用户叫asd,那么你运行他,他便使用asd身份运行。但是如果你在root环境下运行zabbix,那么zabbix将会主动使用zabbix用户来运行。但是如果你的系统没有名叫zabbix的用户,你需要创建一个用户,如下:
# groupadd zabbix
# useradd -g zabbix zabbix
初始化数据库
zabbix server与proxy需要数据库,angent不需要。尤其要注意的是proxy只需要导入一个sql文件,而server一共要导入3个sql文件。我当时在搭建proxy的时候导入了3个sql,导致出现报错。后来才发现proxy只需要导入一个表结构即可。
我假想你安装好了MySQL,用户名为root,密码为xxxxxx
# mysql -uroot -pxxxxxx
mysql> create database zabbix default charset utf8;
mysql> quit;
在zabbix解压后的根目录下执行
# mysql -uroot -pxxxxxx zabbix < database/mysql/schema.sql
# mysql -uroot -pxxxxxx zabbix < database/mysql/images.sql
# mysql -uroot -pxxxxxx zabbix < database/mysql/data.sql
配置zabbix
配置zabbix_server配置文件,zabbix源码目录下
# cd /usr/local/zabbix-2.2.2/etc
#vim zabbix_server.conf
DBName=zabbix
DBUser=root
DBPassword=wdlinux.cn
DBPort=3306
# mkdir /etc/zabbix
# cp zabbix_server.conf /etc/zabbix/
启动zabbix
/usr/local/zabbix-2.2.2/sbin/zabbix_server
/usr/local/zabbix-2.2.2/sbin/zabbix_agentd
设置开机自启
可以使用echo -e "/usr/local/zabbix-2.2.2/sbin/zabbix_server\n/usr/local/zabbix-2.2.2/sbin/zabbix_agentd">>/etc/rc.local
拷贝前端文件
# mkdir /usr/local/apache2/htdocs/zabbix/
# cp -a /usr/local/src/zabbix-2.2.2/frontends/php/* /usr/local/apache2/htdocs/zabbix/
开始web配置
一路检查下去,到最后没有问题,登录账号/密码:admin/zabbix
一些Zabbix相关教程集合:
CentOS 6.3下Zabbix安装部署