zabbix监控系列(1)之zabbix-server安装
推荐使用yum来安装
第一步:LAMP平台
zabbix使用php开发的,所以依赖于LAMP或者LNMP平台,由于http+mysql用yum安装及其方便,所以我在这里使用yum安装。
yum -y install mysql mysql-server mysql-devel httpd
# 安装完成后,修改http配置文件,添加index.php在下面的配置项里面。
[root@zabbixminitor mysql]# vim /etc/httpd/conf/httpd.conf
DirectoryIndex index.php
安装完http,mysql以后,启动确保正常,我们再安装php,
安装前先确认下zabbix版本,3.0版本的使用php5.5版本就可以正常工作,所以我这里使用php55来使用。
[root@zabbixminitor ~]# yum list |grep php
php55w.x86_64 5.5.32-1.w6 @local
php55w-bcmath.x86_64 5.5.32-1.w6 @local
php55w-cli.x86_64 5.5.32-1.w6 @local
php55w-common.x86_64 5.5.32-1.w6 @local
php55w-dba.x86_64 5.5.32-1.w6 @local
php55w-devel.x86_64 5.5.32-1.w6 @local
php55w-embedded.x86_64 5.5.32-1.w6 @local
php55w-enchant.x86_64 5.5.32-1.w6 @local
php55w-fpm.x86_64 5.5.32-1.w6 @local
php55w-gd.x86_64 5.5.32-1.w6 @local
php55w-imap.x86_64 5.5.32-1.w6 @local
php55w-interbase.x86_64 5.5.32-1.w6 @local
php55w-intl.x86_64 5.5.32-1.w6 @local
php55w-ldap.x86_64 5.5.32-1.w6 @local
php55w-mbstring.x86_64 5.5.32-1.w6 @local
php55w-mcrypt.x86_64 5.5.32-1.w6 @local
php55w-mssql.x86_64 5.5.32-1.w6 @local
php55w-mysql.x86_64 5.5.32-1.w6 @local
php55w-odbc.x86_64 5.5.32-1.w6 @local
php55w-opcache.x86_64 5.5.32-1.w6 @local
php55w-pdo.x86_64 5.5.32-1.w6 @local
php55w-pear.noarch 1:1.10.1-1.w6 @local
php55w-pecl-apcu.x86_64 4.0.10-1.w6 @local
php55w-pecl-apcu-devel.x86_64 4.0.10-1.w6 @local
php55w-pecl-gearman.x86_64 1.1.2-1.w6 @local
php55w-pecl-geoip.x86_64 1.0.8-1.w6 @local
php55w-pecl-igbinary.x86_64 1.2.1-2.w6 @local
php55w-pecl-igbinary-devel.x86_64 1.2.1-2.w6 @local
php55w-pecl-imagick.x86_64 3.4.0-0.1.RC4.w6 @local
php55w-pecl-imagick-devel.x86_64 3.4.0-0.1.RC4.w6 @local
php55w-pecl-memcache.x86_64 3.0.8-2.w6 @local
php55w-pecl-memcached.x86_64 2.2.0-2.w6 @local
php55w-pecl-redis.x86_64 2.2.7-1.w6 @local
php55w-pecl-xdebug.x86_64 2.3.2-1.w6 @local
php55w-pgsql.x86_64 5.5.32-1.w6 @local
php55w-process.x86_64 5.5.32-1.w6 @local
php55w-pspell.x86_64 5.5.32-1.w6 @local
php55w-recode.x86_64 5.5.32-1.w6 @local
php55w-snmp.x86_64 5.5.32-1.w6 @local
php55w-soap.x86_64 5.5.32-1.w6 @local
php55w-tidy.x86_64 5.5.32-1.w6 @local
php55w-xml.x86_64 5.5.32-1.w6 @local
php55w-xmlrpc.x86_64 5.5.32-1.w6 @local
这里我安装全部php55的包,避免因为缺少依赖包而导致zabbix无法安装。
yum -y install php55w*
安装完以后,我们在/var/www/html/下面写一个测试文件,看看php是否安装成功
[root@zabbixminitor ~]# cat /var/www/html/zabbix/info.php
<?php
phpinfo()
?>
如果弹窗显示php的页面,那就说明安装成功,需要注意的是下面这点:
[root@zabbixminitor ~]# vim /etc/php.ini
''''''
extension_dir = "/usr/lib64/php/modules/"
post_max_size = 16M
date.timezone = Asia/Shanghai
max_input_time = 300
max_execution_time = 300
'''''
#咱们也可以搜索一下其中需要模块,这样也能够找出模块所在的路径
[root@zabbixserver ~]# find / -name "mbstring.so"
/usr/lib64/php/modules/mbstring.so
/usr/lib64/php-zts/modules/mbstring.so
这个extension_dir是php55的扩展模块都放在这里目录下面,这里必须写这个,不然在zabbix安装的时候会报错,无法进行安装。
第二步:zabbix安装
我这安装的zabbix-3.0的版本,下载地址是:http://jaist.dl.sourceforge.net/project/zabbix/ZABBIX Latest Stable/3.0.5/zabbix-3.0.5.tar.gz
下载解压包以后,进入到包目录下
./configure --prefix=/usr/local/zabbix --enable-server --with-mysql=/usr/bin/mysql_config
&&
make && make install
#注释:
#--with-mysql=/usr/bin/mysql_config 表示使用mysql作为数据库
安装完以后,第一导入数据库,第二把zabbix的php网页放在httpd网站目录下,并且修改mysql配置文件:
# NO1.导入数据库
[root@zabbixminitor mysql]# pwd
/tmp/zabbix-3.0.5/database/mysql
[root@zabbixminitor mysql]# ls
data.sql images.sql schema.sql
[root@zabbixminitor mysql]# mysql -uroot -p
mysql> create database zabbix character set 'utf8';
# 把库创建后,把data.sql images.sql schema.sql 这三个文件导入到zabbix库里面就可以了,必须按下面的顺序导入。
mysql> source schema.sql
mysql> source images.sql
mysql> source data.sql
# NO2.复制网页文件和修改配置文件
[root@zabbixserver zabbix-3.0.5]# pwd
/tmp/zabbix-3.0.5
[root@zabbixserver zabbix]# mysqladmin -uroot -p password "123456" #创建mysql密码,为下面修改配置文件做准备。
[root@zabbixserver zabbix-3.0.5]# mkdir /var/www/html/zabbix
[root@zabbixminitor zabbix-3.0.5]# \cp -r frontends/php/* /var/www/html/zabbix/
[root@zabbixserver conf]# chown apache.apache /var/www/html/zabbix/ # 授权给apache用户,这样我们在web(http://ip/zabbix/setup.php)界面配置zabbix的时候能顺利写入zabbi配置文件,因为属于apache的目录,所以授权给apache。
# NO3. 创建zabbix用户
# zabbix-server默认使用的zabbix用户启动,所以在zabbix-server启动之前务必加上zabbix这个用户
[root@zabbixserver zabbix]# useradd zabbix
# NO4. 在zabbix配置文件里配置Mysql密码。
[root@zabbixserver zabbix]# grep ^[a-Z] /usr/local/zabbix/etc/zabbix_server.conf
LogFile=/tmp/zabbix_server.log
DBName=zabbix
DBUser=root #这里一般不推荐写root密码,一般写zabbix的,但是这里 为了方便我就写了root,生产环境下慎重。
DBPassword=123456 #写上刚才我们创建的密码
Timeout=4
LogSlowQueries=3000
配置完以后,启动zabbix-server
# 这个目录/usr/local/zabbix是在安装的时候--prefix来指定的。执行命令启动即可,-f可以指定配置文件。
/usr/local/zabbix/sbin/zabbix_server
以上弄完后,访问http://ip/zabbix/setup.php就可以访问了
如果中途修改了mysql密码,且在setup.php里面已经配置完了mysql密码,那么就需要手动修改配置文件了zabbix.conf.php和zabbix_server.conf。
[root@zabbixminitor zabbix-3.0.5]# cd /var/www/html/zabbix/
[root@zabbixminitor zabbix]# vim conf/zabbix.conf.php
<?php
// Zabbix GUI configuration file.
global $DB;
$DB['TYPE'] = 'MYSQL';
$DB['SERVER'] = 'localhost';
$DB['PORT'] = '3306';
$DB['DATABASE'] = 'zabbix';
$DB['USER'] = 'root'; #这里一般不推荐写root密码,一般写zabbix的,但是这里 为了方便我就写了root,生产环境下慎重。
$DB['PASSWORD'] = '123456'; #修改密码
// Schema name. Used for IBM DB2 and PostgreSQL.
$DB['SCHEMA'] = '';
$ZBX_SERVER = 'localhost';
$ZBX_SERVER_PORT = '10051';
$ZBX_SERVER_NAME = '';
$IMAGE_FORMAT_DEFAULT = IMAGE_FORMAT_PNG;
~