Zabbixserver主节点
10.36.1.55
Compute51
10.36.1.101
Zabbixserver从节点
10.36.1.56
Compute52
mysql数据库主节点
10.36.1.1
Controller1
10.36.1.100
mysql数据库从节点
10.36.1.17
Controller2
二、安装
本次部署完全是参照zabbix官方文档进行部署
https://www.zabbix.com/documentation/3.0/manual/installation/install_from_packages
一、MYSQL数据库准备
在我的生产环境里,已经存在有一套mysql高可用的环境在这里,我只需要创建zabbix所需的库
1、创建zabbix数据库
shell> mysql -uroot -p<your root password>
mysql> create database zabbix character set utf8 collate utf8_bin;
mysql> grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
mysql> flush privileges
mysql> quit;
说明:10.36.1.100是访问数据库的VIP地址(也就是虚拟IP,不要理解成了VIP会员哈 )
二、回到zabbix server的安装
1、下载zabbix_3.2.1.orig.tar.gz
下载链接:Ubuntu/pool/main/z/zabbix/zabbix_3.2.1.orig.tar.gz
2、解压
tar -zxvf zabbix-3.2.0.tar.gz
3、创建一个普通账户:zabbix 用于运行zabbix服务
groupadd zabbix
useradd -g zabbix zabbix
4、创建一个zabbix数据库
就在刚才,已经创建好了一个数据库,名称为zabbix。
4.1、开始蛋疼的问题来了,我说测试一下用zabbix这个账户登录数据库居然提示没有权限
解决办法:
之前我们在授权的时候是执行了:
grant all privileges on zabbix.* to zabbix@10.36.1.100 identified by 'zabbix';
下面,我用root登入数据库,执行:
grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
flush privileges
再试试登录:
mysql -uzabbix -pzabbix
尼玛,可以登录了。OK,那就先这样,我们等会再来说这个问题
4.2、好吧,那继续往下走,导入zabbix数据到zabbix数据库里
先把zabbix-3.2.1.tar.gz文件scp下发到数据库服务器的/root/目录里,然后解压
scp zabbix-3.2.1.tar.gz root@10.36.1.1:/root (我的数据库主节点的IP是10.36.1.1)
接着进入解压完zabbix-3.2.1.tar.gz的目录/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# pwd
/root/zabbix-3.2.1/database/mysql
root@compute51:~/zabbix-3.2.1/database/mysql# ls -l
total 3064
-rw-r--r-- 1 zabbix zabbix 1032494 Sep 30 17:47 data.sql
-rw-r--r-- 1 zabbix zabbix 1978341 Sep 30 17:43 images.sql
-rw-r--r-- 1 zabbix zabbix 122134 Sep 30 17:47 schema.sql
看到3个文件没有?先别管干嘛用的,导入再说吧!
切记:注意导入顺序schema——>images——>data
mysql -uzabbix -pzabbix zabbix < schema.sql
mysql -uzabbix -pzabbix zabbix < images.sql
mysql -uzabbix -pzabbix zabbix < data.sql
导入完成以后,登录数据库看看zabbix库有没有数据
mysql -uzabbix -pzabbix
use zabbix
show tables;
牛逼!居然有了,那么我这里就不截图了哈!!
5、下面开始配置源
配置Zabbix server和agent
./configure --enable-server --enable-agent --with-mysql --with-libcurl --with-libxml2
这个配置,我就按照官方的了,我也不需要太多的功能,基本就这样吧!
悲催了,配置的时候会检查环境,但是有很多依赖包没有安装,那么先安装相关依赖包吧
apt-get update
apt-get -y install make
apt-get -y install gcc
apt-get -y install libghc-hsql-mysql-dev
apt-get install libmysqlclient18
apt-get -y install libxml2-dev
apt-get install libcurl3-dev
apt-get install libsnmp-dev
configure中的一些选项到底是啥玩意?看看帮助吧!!
./configure --help
--enable-ipv6 Turn on support of IPv6
--enable-server Turn on build of Zabbix server
--enable-agent Turn on build of Zabbix agent and client utilities
--with-mysql[=ARG] use MySQL client library [default=no], optionally
specify path to mysql_config
If you want to use Net-SNMP library:
--with-net-snmp[=ARG] use Net-SNMP package [default=no], optionally
specify path to net-snmp-config
If you want to use XML library:
--with-libxml2[=ARG] use libxml2 client library [default=no], optionally
specify path to xml2-config
If you want to use cURL library:
--with-libcurl[=DIR] use cURL package [default=no], optionally specify
path to curl-config
6、下面开始编译安装
make install
安装完成后会默认的安装守护程序的二进制文件路径在:(/usr/local/sbin zabbix_server,zabbix_agentd zabbix_proxy)
客户端在/usr/local/bin/ 二进制文件(zabbix_get zabbix_sender)
当然,这个是默认的,在configure的时候可以用 --prefix指定安装目录
7、安装完成后检查各配置文件是否存在
/usr/local/etc/zabbix_agentd.conf 客户端文件
/usr/local/etc/zabbix_server.conf 服务端文件
8、下面编辑zabbix_server.conf配置文件,指定数据库
# vim /usr/local/etc/zabbix_server.conf
DBHost=10.36.1.100 #我这里用的是独立数据库
DBName=zabbix
DBUser=zabbix
DBPassword=zabbix
9、继续,下面安装Zabbix web界面
PHP文件复制
Zabbix前端是用PHP编写的,所以它需要一个PHP支持网络服务器运行。安装是通过简单地复制网络服务器的PHP文件从前端/ PHP HTML文档目录。
常见的Apache web服务器的HTML文档目录位置包括:
/usr/local/apache2/htdocs (默认目录安装Apache时)
/srv/www/htdocs (OpenSUSE, SLES)
/var/www/html (Fedora, RHEL, CentOS)
/var/www (Debian, Ubuntu)
9.1、安装apache2,并拷贝php文件(php文件在解压后的zabbix-3.2.1目录里)
apt-get -y -install apache2
cd var/www/html
mkdir zabbix #创建一个目录
chown zabbix:zabbix zabbix/ #将这个目录的
cp -R /root/zabbix-3.2.1/frontends/php/* /var/www/html/zabbix
9.2、安装PHP5和配置Zabbix前端PHP
apt-get install php5
apt-get install php5-gd
apt-get install php5-mysql
vim /etc/php5/apache2/php.ini
打开php.ini配置文件后续修改的配置项如下:
php_value max_execution_time 300
php_value memory_limit 128M
php_value post_max_size 16M
php_value upload_max_filesize 2M
php_value max_input_time 300
php_value always_populate_raw_post_data -1
# php_value date.timezone Europe/Riga (date.timezone = Asia/Shanghai #去掉“;”,添加Asia/Shanghai)
之所以要配置php.ini中的内容,是确保所有软件先决条件得到满足。
10、下面开始安装前端
通过火狐浏览器打开
10.1、进来以后会看到zabbix3.2的欢迎界面
直接点击netx step
10.2、然后来到检查先决条件的界面,确保所有软件先决条件得到满足之后选择下一步继续。
10.3、接着来到数据库配置
我这里使用的是独立数据库,而且是之前搭建好的一套mysql高可用。
还记得之前执行过这条命令不?grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix';
那么现在进入到两台数据库里分别执行如下命令:
grant all privileges on zabbix.* to zabbix@slave identified by'zabbix';
flush privileges;
10.4、下面开始配置数据库信息
databases host 10.36.1.100 (VIP)
port 3306
database name :zabbix
user:zabbix
password:zabbix
至此基本上大功告成
一些Zabbix相关教程集合: