首页 » SEO优化 » zabbix安装报错php技巧_Zabbix源码安装流程及报错解决方法

zabbix安装报错php技巧_Zabbix源码安装流程及报错解决方法

访客 2024-12-08 0

扫一扫用手机浏览

文章目录 [+]

zabbix的先容

1

zabbix安装报错php技巧_Zabbix源码安装流程及报错解决方法

zabbix是什么

zabbix安装报错php技巧_Zabbix源码安装流程及报错解决方法
(图片来自网络侵删)

zabbix是一款基于web页面的、开源的、企业级的,支持分布式支配的监控软件。

2

zabbix的浸染

监控windows和Linux主机上的软硬件状态。
监控各网络设备,如路由器、交流机、防火墙、f5、打印机等。
支持邮件短信微信等平台发送告警关照。
通过web页面及图形展示监控数据。

3

zabbix的特性

由zabbix server和agent程序协同事情,还支持分布式监控,这时须要安装zabbix proxy程序zabbix分为主动监控(agent active)和被动监控:

Zabbix主动模式

Agent主动要求server获取主动的监控项列表,并主动将监控项内须要检测的数据提交给server/proxy,zabbix agent首先向ServerActive配置的IP要求获取active items,获取并提交active tiems数据值server或者proxy;

Zabbix被动模式

Server向agent要求获取监控项的数据,agent返回数据,Server打开一个TCP连接,Server发送要求agent.ping,Agent吸收到要求并且相应,Server处理吸收到的数据。
监控手段(server或proxy通过什么办法来网络监控到的数据)常用的有:

SNMP(polling,trapping)

IPMI(监控硬件状况)

JMX(监控java运用)

自定义监测(自定义各种监控脚本监测)

灵巧的阈值设定:支持自定义问题阈值,即触发器(trigger),储存于数据库中。
高等的报警设置:自定义报警升级、接管者以及报警的办法,在配置中许可利用宏变量,可以通过远程命令来实现自动化动作。
实时图像:课通过内置的绘图办法实现监控数据绘图,并可以自定义视图等。
模板:支持模板中添加组监控,并许可继续利用。
网络自动创造及自动注册:自动创造主机、网卡设备、SNMP等zabbix API:供应程序级别的访问接口,第三办法式可以很快接入

4

zabbix系统的组成

zabbix_server : 做事端守护进程, 卖力处理zabbix_agentd、zabbix_get、zabbix_sender、zabbix_proxy供应的数据,并通过web界面呈现这些数据。
zabbix_agentd :客户端守护进程,卖力网络客户端上的数据并发送给server或proxy。
zabbix_get : 做事端工具,在做事器上实行,用于手动网络客户真个监控数据,可以用于监控测试或者排错。
zabbix_sender: 客户端工具,用于发送数据给server或者proxy,常日用于耗时比较长的检讨。
很多检讨非常耗韶光,导致zabbix超时。
于是我们在脚本实行完毕之后,利用sender主动提交数据;zabbix_proxy : 类似于server,但它只是一个中转站,当跨地区,跨机房支配zabbix系统时,须要用到它,以将它网络到的数据发送给server。

5

zabbix的监控流程

Zabbix监控完全流程包括:Agentd安装在被监控的主机上,Agent卖力定期网络客户端本地各项数据,并发送到Zabbix Server端,Zabbix Server收到数据,将数据存储到数据库中,用户基于Zabbix WEB可以看到数据在前端展现图像。

2

zabbix安装前准备zabbix3.2

1

zabbix安装不同硬件配置环境样例

2

zabbix安装须要的数据库版本

3

zabix安装须要的前端软件版本

4

zabbix安装须要的php扩展

下面是我源码安装php的流程及编译参数:

# wget

# tar -zxf mirror

# cd php-5.6.31/

# ./configure --prefix=/usr/local/php5.6 --with-config-file-path=/usr/local/php5.6/etc \

--with-bz2 --with-curl --enable-ftp --enable-sockets --disable-ipv6 \

--with-gd --with-jpeg-dir=/usr/local/ --with-png-dir=/usr/local/ \

--with-freetype-dir=/usr/local/ --enable-gd-native-ttf \

--with-iconv-dir=/usr/local/ --enable-mbstring --enable-calendar \

--with-gettext --with-libxml-dir=/usr/local/ --with-zlib \

--with-pdo-mysql=mysqlnd --with-mysqli=mysqlnd --with-mysql=mysqlnd \

--enable-dom --enable-xml --enable-fpm --with-libdir=lib64 --enable-bcmath \

--with-mysql=/usr/local/mysql/ --with-apxs2=/usr/local/apache2/bin/apxs

报错

checking for BZip2 in default path... not found configure: error: Please reinstall the BZip2 distribution

办理

# yum -y install bzip-devel

报错

configure: error: Cannot find libmysqlclient_r under /usr/local/mysql/. Note that the MySQL client library is not bundled anymore!

实在这跟PHP没有关系,那是由于在编译APACHE的时候,利用--with-mpm模块 以是就必须在编译MYSQL的时候加上--enable-thread-safe-client.参数就行 下面是一些比较简便的办法:

网上主流的办法

1. # cd /usr/local/mysql/lib/mysql/# ln -s libmysqlclient.so.15.0.0 libmysqlclient_r.so#可是我并在/lib下并没有mysql这个库。
所有此种方法没有成功#末了用下面这种办法办理:2.# ln -s /usr/local/mysql/lib /usr/local/mysql/lib64

整合PHP和Apache

# cp php.ini-development /usr/local/php5.6/etc/php.ini# 在apachede的主配置文件中添加下面两条指令:AddType application/x-httpd-php .php //设置PHP文件类型LoadModule php5_module modules/libphp5.so //加载PHP模块#指明index.php文件:<IfModule dir_module>DirectoryIndex index.php index.html</IfModule>

测试PHP是否加载成功:(通过浏览器访问IP)

#echo \"大众<?php phpinfo(); ?>\"大众 /usr/local/apache2/htdocs/index.php

3

安装zabbix

1)安装环境:

centos7 httpd2.4.27 php5.6.31 mysql5.5.20

2)安装zabbix_server:

下载安装zabbix

# wget http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download# groupadd zabbix# useradd -g zabbix zabbix# tar zxf zabbix-3.2.6.tar.gz# cd zabbix-3.2.6#./configure --prefix=/usr/local/zabbix/ --enable-server --enable-agent --with-mysql --enable-ipv6 --with-net-snmp --with-libcurl# make && make install# ln -s /usr/local/zabbix/sbin/zabbix_ /usr/local/sbin/

创建zabbix数据库并授权

# /etc/init.d/mysqld restart# mysql -uroot -pmysql> CREATE DATABASE zabbix charset=utf8;mysql> GRANT ALL ON zabbix. to zabbix@localhost IDENTIFIED BY 'jiajie';mysql> FLUSH PRIVILEGES; mysql> EXIT#cd zabbix-3.2.6

将Zabbix根本SQL文件导入mysql数据至Zabbix数据库,把稳server端该当导入下面三个数据库文件

# cd zabbix-3.2.6 # mysql -uzabbix -pjiajie zabbix<database mysql=\公众\公众 schema.sql =\"大众\"大众# mysql -uzabbix -pjiajie zabbix<database=\"大众\"大众 images.sql =\"大众\"大众 data.sql<=\公众\"大众 p=\"大众\"大众>

备份zabbix_server配置文件,并打开配置文件修正为上面设置的数据库密码DBPassword=jiajie

# cd /usr/local/zabbix/etc/# cp zabbix_server.conf{,.bak}# vim zabbix_server.confDBPassword=jiajie //数据库授权的密码

同时复制zabbix_server启动脚本至/etc/init.d/下

# cd ../zabbix-3.2.6# cp misc/init.d/tru64/zabbix_server /etc/init.d/zabbix_server# chmod o+x /etc/init.d/zabbix_server

接下来配置web端,并重启zabbix以及mysql做事 并查看干系端口是否起来。
zabbix_server的端口是10051,agent的端口是10050

# cp -a zabbix-3.2.6/frontends/php/ /usr/local/apache2/htdocs/# /etc/init.d/mysqld restart# /etc/init.d/zabbix_server restart

然后修正PHP的配置文件,使其支持zabbix。
这个上面就有解释。
之后重启httpd做事即可。

# vim /usr/local/php5.6/etc/php.inidate.timezone = PRCpost_max_size =16Mmax_execution_time=300max_input_time=300always_populate_raw_post_data = -1# /etc/init.d/httpd restart

开始安装zabbix_web页面,浏览器访问httpd做事的IP地址即可。
根据提示安装即可。

缺点

修正了php.ini参数依然报错,显然是那些参数没有生效。
这时候查看php.ini的路径是否精确。
如果php.ini的路径是精确。
查看了php.ini的路径是精确的,但是还是没有生效。
这时候你可以在apache的配置文件中指明php.ini的路径。
加上PHPIniDir \"大众/usr/local/php5.6/etc/\公众 这条指令即可。
重启apache,获取到路径。
完美办理。

配置数据库连接,输入数据库名、用户、密码,单击Test connection,显示OK,单击下一步即可。

填写Zabbix Title显示,可以为空,可以输入自定义的名称:

单击下一步,涌现需修创建zabbix.conf.php文件,实行如下命令,或者单击“Download the configuration file”下载zabbix.conf.php文件,将该文件上传到/usr/local/apache2/htdocs/conf,并设置可写权限,刷新WEB页面,末了单击Finish即可:

登录Zabbix WEB界面,默认用户名和密码为:admin/zabbix

zabbix安装完成后,但是显示做事没有起来一贯显示 zabbix server is not running ,这时候查看端口和进程,没有任何显示。

排错首先查看日志和端口:

# ss -tnl|grep 10051

# ps -ef|grep zabbix

# tail -f /tmp/zabbix_server.log

54587:20170821:151740.795 [Z3001] connection todatabase 'zabbix' failed: [2002]

Can't connect to local MySQL server throughsocket '/var/lib/mysql/mysql.sock' (13)

54587:20170821:151740.795 database is down:reconnecting in 10 seconds

办理办法:一看便是找不到mysql.sock的路径,找到mysql.sock的路径并打开zabbix_server的配置文件指明DBSocket的路径。
重启做事即可

# find / -name mysql.sock

/tmp/mysql.sock

# vim /usr/local/zabbix/etc/zabbix_server.conf

DBSocket=/tmp/mysql.sock

3)安装zabbix_agent端:安装客户端和做事真个差不多,这里就直接给出脚本吧:

#!/bin/bash#auto install zabbix agent

#by jiajie 20170822#############

ZABBIX_SOFT=\"大众zabbix-3.2.6\"大众

INSTALL_DIR=\"大众/usr/local/zabbix\公众

URL=http://sourceforge.net/projects/zabbix/files/ZABBIX%20Latest%20Stable/3.2.6/zabbix-3.2.6.tar.gz/download

IP=`ifconfig ens33|sed -n '2p'|awk '{print $2}'`

read -p \"大众Please input zabbix_server IP:\"大众 SERVER_IP

###jump IP is rightful

if [[ $SERVER_IP =~ ^[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}$ ]];then

continue

else

echo -e \公众\033[31mIP format error!\033[0m\"大众

exit 0

fi

AGENT_INSTALL(){

if [ -d $INSTALL_DIR ];then

echo \公众zabbix_agent is already install...\"大众

exit 1

else

if [ ! -d /software ];then

mkdir /software

fi

fi

cd /software

yum -y install curl curl-devel net-snmp net-snmp-devel perl-DBI

groupadd zabbix

useradd -g zabbix zabbix

wget $URL tar -xf download

cd $ZABBIX_SOFT

./configure --prefix=/usr/local/zabbix --enable-agent

if [ $? -eq 0 ];then

make install

else

echo \公众./configure is error,please check...\"大众

exit 2

fi

ln -s $INSTALL_DIR/sbin/zabbix_ /usr/local/sbin/

cp misc/init.d/tru64/zabbix_agentd /etc/init.d/zabbix_agentd && chmod o+x /etc/init.d/zabbix_agentd

#config zabbix agentdcat >$INSTALL_DIR/etc/zabbix_agentd.conf<<EOF

LogFile=/tmp/zabbix_agentd.log

Server=$SERVER_IP

ServerActive=$SERVER_IP

Hostname = $IP

EOF

#start zabbix agentd

iptables -F

setenforce 0

/etc/init.d/zabbix_agentd restart

}

AGENT_INSTALL

本文出自 “dianel大略不大略” 博客,请务必保留此出处http://dianel.blog.51cto.com/12170393/1958456

zabbix-3.0.9一键安装脚本https://github.com/X-Mars/Quick-Installation-ZABBIXzabbix微信报警脚本https://github.com/X-Mars/Zabbix-Alert-WeChat

标签:

相关文章