zabbix 基于lamp或lnmp环境基础上搭建。
# cd /tmp
# zabbix3.4需要去官网下载libevent-2.1.8-stable http://libevent.org/
# tar zxvf libevent-1.2.tar.gz
# cd libevent-1.2
# ./configure –prefix=/usr
# make
# make install
然后在运行命令ldconfig
以下是centos7安装的lamp教程
新版的zabbix网页要在php5.4版本以上才能打开
CentOS7默认只能安装php5.4
为了方便,直接使用Webtstic的yum源
# rpm -Uvh http://repo.webtatic.com/yum/el7/x86_64/RPMS/webtatic-release-7-3.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
出现问题可以尝试以下命令
# yum install http://repo.webtatic.com/yum/el7/x86_64/RPMS/webtatic-release-7-3.noarch.rpm
# rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
yum install httpd mariadb-server mariadb php70w -y
以下php包都需要安装
php70w-bcmath-7.0.17-1.w7.x86_64
php70w-mysql-7.0.17-1.w7.x86_64
php70w-mbstring-7.0.17-1.w7.x86_64
php70w-common-7.0.17-1.w7.x86_64
php70w-7.0.17-1.w7.x86_64
php70w-gd-7.0.17-1.w7.x86_64
php70w-xml-7.0.17-1.w7.x86_64
php70w-cli-7.0.17-1.w7.x86_64
php70w-pdo-7.0.17-1.w7.x86_64
php70w-xmlrpc-7.0.17-1.w7.x86_64
# php -v查看php版本
# systemctl restart httpd
检查:
# cd /var/www/html
# vi phpinfo.php
按i
输入
按esc
:wq保存退出
在浏览器输入地址 (我这儿是192.168.3.101/phpinfo.php 如图即为php正常安装)
https://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable 你可以来这里找一下你想要的版本
环境搭建好了之后网站确定可以访问,然后开始搭建zabbix。
首先上传zabbix的源码包至/usr/local/src 目录下
之后进入该目录 解压
命令: cd /usr/local/src ; tar zxvf 软件包名
然后进入数据库 命令: mysql -u root -p
之后输入mysql密码,进入之后首先创建zabbix库
命令: create database zabbix character set utf8; (创建zabbix库,并设置数据库编码为utf8)
创建zabbix用户,并设置密码为:123456 命令:
insert into mysql.user(Host,User,Password) values('localhost','zabbix',password('123456'));
创建完用之后刷新系统授权表,命令: flush privileges;
之后授权zabbix用户能从本机链接到数据库zabbix 命令:
grant all on zabbix.* to 'zabbix'@'localhost' identified by '123456';
授权完成之后再次刷新授权表。 命令: flush privileges;
刷新完之后进入数据库zabbix。 命令: use zabbix;
之后导入3个数据库文件至zabbix。三个文件路径为你的zabbix目录下的/database/myqsl目录下
执行命令导入。 命令:
source /usr/local/src/zabbix-2.2.6/database/mysql/schema.sql
source /usr/local/src/zabbix-2.2.6/database/mysql/p_w_picpaths.sql
source /usr/local/src/zabbix-2.2.6/database/mysql/data.sql
导入按照以上顺序进行,否则会报错。
导入完成之后退出数据库。
以上完成之后,新建zabbix用户和组,并且把zabbix用户加入到zabbix组中。
命令: groupadd zabbix
useradd zabbix -g zabbix -s /bin/false
之后安装依赖包,CetnOS 使用yum命令安装。
命令: yum install net-snmp-devel curl curl-devel mysql-devel
完成之后注意查看结果,确定安装完成之后进入下一步,安装zabbix。
首先创建软连接。 命令: ln -s /usr/local/lib/libiconv.so.2 /usr/lib/libiconv.so.2
具体文件位置试实际情况而定。创建完成之后执行命令:/sbin/ldconfig 使配置生效
进入解压出来的zabbix目录。 命令:
cd /usr/local/src/zabbix-2.2.6
之后执行以下命令进行配置。 命令:
./configure --prefix=/usr/local/zabbix --enable-server --enable-java --enable-agent --with-net-snmp --with-libcurl --enable-proxy --with-mysql=/usr/bin/mysql_config
配置完成之后进行编译安装。 命令:
make && make install
安装完成之后再次添加系统软连接。 命令:
ln -s /usr/local/zabbix/sbin/* /usr/local/sbin/
ln -s /usr/local/zabbix/bin/* /usr/local/bin/
之后添加zabbix服务对应的端口号。 命令:
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
添加之后:wq保存退出。
之后修改zabbix_server.conf 文件,设置数据库信息。 命令:
vim vi /usr/local/zabbix/etc/zabbix_server.conf
主要修改信息如下:
DBName=zabbix (数据库名称)
DBUser=zabbix (数据库用户名)
DBPassword=123456 (数据库密码)
ListenIP=192.168.1.200 (本地ip) 要和网页上一样
AlertScriptsPath=/usr/local/zabbix/share/zabbix/alertscripts (zabbix运行脚本存放目录)
以上配置值试实际情况而定。修改完成之后,:wq保存退出。
继续修改zabbix_agentd.conf文件。 命令:
vim /usr/local/zabbix/etc/zabbix_agentd.conf
如果找不到这个文件的话可以使用命令: find / -name zabbix_agentd.conf 进行查找。
之后修改一下项:
UnsafeUserParameters=1 (启用自定义key)
修改完成之后:wq保存退出。
之后添加开机启动脚本。命令:
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_server /etc/rc.d/init.d/zabbix_server (服务端)
cp /usr/local/src/zabbix-2.2.6/misc/init.d/fedora/core/zabbix_agentd /etc/rc.d/init.d/zabbix_agentd (客户端)
chmod +x /etc/rc.d/init.d/zabbix_server (添加脚本执行权限)
chmod +x /etc/rc.d/init.d/zabbix_agentd (添加脚本执行权限)
chkconfig zabbix_server on (添加开机启动)
chkconfig zabbix_agentd on (添加开机启动)
添加完成之后修改启动脚本中的zabbix安装目录。命令:
vim /etc/rc.d/init.d/zabbix_server (服务端)
修改如下值:BASEDIR=/usr/local/zabbix/ 修改完成之后:wq保存退出
再次修改客户端脚本。 命令:
vim /etc/rc.d/init.d/zabbix_agentd (客户端)
同上修改: BASEDIR=/usr/local/zabbix/ 该项的目录为zabbix的安装目录。
之后:wq保存退出。
开始配置web站点。
进入到zabbix源码包的解压目录下。 命令:
cd /usr/local/src/zabbix-3
之后复制web源码至nginx或者apache网站根目录下。(我这里网站根目录为/home/wwwroot/default) 命令如下 :
cp -r /usr/local/src/zabbix-3/frontends/php /home/wwwroot/default/zabbix
之后给予该目录权限。 命令:
chown -R www:www /home/wwwroot/default/zabbix
然后启动zabbix服务端和客户端。 命令:
service zabbix_server start(服务端)
service zabbix_agentd start(客户端)
启动之后修改php.ini中以下参数。
post_max_size =16M
max_execution_time =300
max_input_time =300
修改完成之后:wq保存退出。然后修改php-fpm文件。(找不到的话可以使用: find / -name php-fpm.conf 来查找该文件。)以下值:
request_terminate_timeout = 300
date.timezone =Asia/Shanghai
完成之后:wq保存退出。 然后重启php-fpm。 命令:
service httpd reload
之后就可以在浏览器中访问你的zabbix了,地址为:
http://IP(域名)/zabbix/
之后的配置就要看自己的设置了。
遇见问题1
10051端口未监听
存在两处可能性:
1. 虽然给zabbix用户授权了,但是授权之后没有执行命令:flush privileges; 刷新授权表。倒是zabbix用户无法访问zabbix库,所以失败。
2. 无法连接mysql 查看日志提示显示:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
解决办法 去掉zabbix_server.conf文件内的DBSocket项的注释。之后重启zabbix_server 成功监听10051端口。
3. 注意netstart -nlp 这里监听的zabbixserver ip 要和 网页上显示的一样默认网页是localhost server.conf改成 ListenIP=192.168.1.200
4.注意关闭selinux
问题2 中文乱码
在网站目录下
把下载好的中文字体拷贝到网站下的fonts目录下(后缀名需要小写)
修改/zaabix/include/defines.ini.php 文件中的
define('ZBX_FONT_NAME', 'DejaVuSans');
define('ZBX_GRAPH_FONT_NAME', 'DejaVuSans');
两行的值为上传的字体名称。
或者直接替换这个文件
/usr/share/nginx/html/fonts/DejaVuSans.ttf
问题3 提示zabbix 无法启动
/etc/mysql/my.cnf 把max_connection 修改为1000