9-07 1,325 views
默认centos6.5的php版本为5.3,不支持绝大多数的软件使用,如zabbix等。下面我将php升级到5.6版本
环境:zabbix3.4.14 zabbix_proxy3.4.14 zabbix_agent3.4.14 mysql版本5.5 centos6.5 ,机器少的话,没必要配置主动模式!
1.安装epel源和Remi源 ,若已安装,请忽略!
wget https://dl.fedoraproject.org/pub/epel/epel-release-latest-6.noarch.rpm && rpm -Uvh epel-release-latest-6.noarch.rpm wget http://rpms.famillecollet.com/enterprise/remi-release-6.rpm && rpm -Uvh remi-release-6*.rpm #rpm -qa | grep epel 可查询是否安装epel源 2.修改/etc/yum.repos.d/remi.repo文件 [remi] name=Remi's RPM repository for Enterprise Linux 6 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/remi/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/6/remi/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/6/remi/mirror enabled=1 #修改为1 打开 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi [remi-php56] name=Remi's PHP 5.6 RPM repository for Enterprise Linux 6 - $basearch #baseurl=http://rpms.remirepo.net/enterprise/6/php56/$basearch/ #mirrorlist=https://rpms.remirepo.net/enterprise/6/php56/httpsmirror mirrorlist=http://cdn.remirepo.net/enterprise/6/php56/mirror # NOTICE: common dependencies are in "remi-safe" enabled=1 #修改为1 打开 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-remi 3.yum upgrade php* 若无效 则直接输入 yum install php 若报错:Error: Cannot find a valid baseurl for repo: remi-safe 则vim /etc/resolv.conf nameserver 8.8.8.8 添加4个8的dns 4.检查php 版本 #php -v PHP 5.6.37 (cli) (built: Jul 19 2018 20:06:19) 参考网址:http://www.cnblogs.com/insoleis/p/5587691.html 5.yum安装zabbix 版本3.4
安装zabbix
- 添加zabbix账号,zabbix server默认运行在zabbix账号下。
groupadd zabbix useradd –g zabbix zabbix
下载安装zabbix的yum配置库
#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
#安装zabbix yum install zabbix-get zabbix-sender zabbix-server-mysql zabbix-web zabbix-web-mysql zabbix-agent
- 创建zabbix数据库及其访问账号。
create database zabbix character set utf8 collate utf8_bin; grant all privileges on zabbix.* to zabbix@localhost identified by 'zabbix'; --数据库在本地 grant all privileges on zabbix.* to 'zabbix'@'%' identified by 'zabbix'; --数据库在云 flush privileges;
- 初始化zabbix数据库。
# locate create.sql 查找初始化sql
/usr/share/doc/zabbix-server-mysql-3.4.13/create.sql.gz
解压sql包
# gunzip create.sql.gz
mysql -uzabbix –pzabbix zabbix < create.sql
- 配置并启动zabbix
#cp -r /usr/share/zabbix/ /var/www/html/
#修改zabbix配置文件 vim /etc/zabbix/zabbix_server.conf LogFile=/var/log/zabbix/zabbix_server.log LogFileSize=10 DBHost=localhost #如果你用的是远程rds 这里要修改成rds的ip DBName=zabbix DBUser=zabbix DBPassword=zabbix #启动zabbix service zabbix_server start
- 配置php
vim /etc/httpd/conf.d/zabbix.conf <VirtualHost *:8081> Alias /zabbix/ "/var/www/html//" <Directory "/var/www/html/"> Options Indexes ExecCGI FollowSymLinks -MultiViews Order allow,deny Allow from all AllowOverride all </Directory> </VirtualHost> 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 date.timezone Asia/Shanghai
- 配置apache
service httpd start
至此,启动完成,可通过 http://localhost/zabbix 来访问zabbix server,默认用户名密码为:Admin/zabbix。
打开,发现很多php的异常
安装php其他组件包
yum install php-gd
装完gd后,还有些异常,逐个解决
其中php缺失bcmath,mbstring 扩展,可通过yum 安装解决这两个 yum install php-bcmath mbstring 解决 PHP xmlwriter extension missing.PHP xmlreader extension missing.扩展缺失 ,可通过 yum install php-xml* 解决 PHP databases support fail 数据库支持扩展异常 可通过yum install php-mysqli解决 PHP option "always_populate_raw_post_data" must be set to "-1" 可以通过修改 vim /var/www/html/zabbix/include/classes/setup/CFrontendSetup.php
添加 :
$current = -1;
如下:
public function checkPhpAlwaysPopulateRawPostData() {
$current = ini_get(‘always_populate_raw_post_data’);
$current = -1;
return [
‘name’ => _(‘PHP always_populate_raw_post_data’),
‘current’ => ($current != -1) ? _(‘on’) : _(‘off’),
‘required’ => _(‘off’),
‘result’ => ($current != -1) ? self::CHECK_FATAL : self::CHECK_OK,
‘error’ => _(‘PHP always_populate_raw_post_data must be set to -1.’)
];
}
总结,一般异常的话就是php扩展没安装好,直接一次性安装yum install php-gd php-bcmath php-mbstring php-xml* php-mysqli -y 然后重启 http即可。
若遇到PHP string function overloading must be disabled. PHP字符串函数重载必须禁用。
#vim /etc/php.ini
mbstring.func_overload = 1 将这个值改为1
重启http即可
配置数据库信息
![]()
至此yum 安装 zabbix3.4 结束,谢谢! 补充:查看图形是会发现中文是乱码的 解决办法: 打开win-控制面板-字体,将你喜欢的字体上传到服务器上 #cd /usr/share/fonts/dejavu 上传该目录 #cp DejaVuSans.ttf DejaVuSans.ttf_bak #mv simkai.ttf DejaVuSans.ttf 刷新web即可看到正常的中文了
配置安装zabbix_proxy代理做分布式监控部署
- 监控远程区域设备
- 监控本地网络不稳定区域
- 当zabbix监控上千设备时,使用它来减轻server的压力
- 简化zabbix的维护
- 游戏不同版本的机器
itemid bigint ‘ at line 2
Server=192.144.157.159 #zabbix server所在公网ip
Hostname=Zabbix_proxy_192.144.164.112 #代理名称,与web上的代理名称要一致
LogFile=/var/log/zabbix/zabbix_proxy.log
LogFileSize=0
DebugLevel=3
PidFile=/var/run/zabbix/zabbix_proxy.pid
SocketDir=/var/run/zabbix
DBHost=10.98.2.5
DBName=zabbix_proxy
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
DBPort=3306
SNMPTrapperFile=/var/log/snmptrap/snmptrap.log
Timeout=20
ExternalScripts=/usr/lib/zabbix/externalscripts
LogSlowQueries=3000
ProxyLocalBuffer=0
ProxyOfflineBuffer=1
27909:20181113:173359.816 Got signal [signal:15(SIGTERM),sender_pid:28036,sender_uid:0,reason:0]. Exiting …
27909:20181113:173401.817 [Z3001] connection to database ‘zabbix_proxy’ failed: [0] could not connect to server: Connection refused
Is the server running on host “154.8.225.173” and accepting
TCP/IP connections on port 5432?
PidFile=/var/run/zabbix/zabbix_agentd.pid
LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=0
Server=10.98.1.8
ServerActive=10.98.1.8
Hostname=HDFS_10.98.1.8
Include=/etc/zabbix/zabbix_agentd.d/*.conf
all services ok

LogFile=/var/log/zabbix/zabbix_agentd.log
LogFileSize=10
Server=10.98.1.8 –>指向zabbix porxy IP
ServerActive=10.98.1.8 –>指向zabbix porxy IP
Hostname=HDFS_10.98.1.14
StartAgents=0
RefreshActiveChecks=120
BufferSize=200
Timeout=10
Include=/etc/zabbix/zabbix_agentd.d/*.conf
UserParameter=checkstatus,cat /tmp/server_status



# 用户名
MYSQL_USER=’admin’# 密码
MYSQL_PWD=’admin’# 主机地址/IP
MYSQL_HOST=’10.117.1.7’# 端口
MYSQL_PORT=’3306’# 数据连接
MYSQL_CONN=”/usr/bin/mysqladmin -u${MYSQL_USER} -p${MYSQL_PWD} -h${MYSQL_HOST} -P${MYSQL_PORT}”# 参数是否正确
if [ $# -ne “1” ];then
echo “arg error!”
fi# 获取数据
case $1 in
Uptime)
result=`${MYSQL_CONN} status|cut -f2 -d”:”|cut -f1 -d”T”`
echo $result
;;
Com_update)
result=`${MYSQL_CONN} extended-status |grep -w “Com_update”|cut -d”|” -f3`
echo $result
;;
Slow_queries)
result=`${MYSQL_CONN} status |cut -f5 -d”:”|cut -f1 -d”O”`
echo $result
;;
Com_select)
result=`${MYSQL_CONN} extended-status |grep -w “Com_select”|cut -d”|” -f3`
echo $result
;;
Com_rollback)
result=`${MYSQL_CONN} extended-status |grep -w “Com_rollback”|cut -d”|” -f3`
echo $result
;;
Questions)
result=`${MYSQL_CONN} status|cut -f4 -d”:”|cut -f1 -d”S”`
echo $result
;;
Com_insert)
result=`${MYSQL_CONN} extended-status |grep -w “Com_insert”|cut -d”|” -f3`
echo $result
;;
Com_delete)
result=`${MYSQL_CONN} extended-status |grep -w “Com_delete”|cut -d”|” -f3`
echo $result
;;
Com_commit)
result=`${MYSQL_CONN} extended-status |grep -w “Com_commit”|cut -d”|” -f3`
echo $result
;;
Bytes_sent)
result=`${MYSQL_CONN} extended-status |grep -w “Bytes_sent” |cut -d”|” -f3`
echo $result
;;
Bytes_received)
result=`${MYSQL_CONN} extended-status |grep -w “Bytes_received” |cut -d”|” -f3`
echo $result
;;
Com_begin)
result=`${MYSQL_CONN} extended-status |grep -w “Com_begin”|cut -d”|” -f3`
echo $result
;;*)
echo “Usage:$0(Uptime|Com_update|Slow_queries|Com_select|Com_rollback|Questions|Com_insert|Com_delete|Com_commit|Bytes_sent|Bytes_received|Com_begin)”
;;
esac
result=`mysql -uadmin -p123456 -h10.117.2.9 -N -e “SELECT count(*) FROM uc.t_u_account;”`
echo $result
UserParameter=mysql.version,mysql -V
# 获取mysql性能指标,这个是上面定义好的脚本
UserParameter=mysql.status[*],/home/zabbix/check_mysql.sh $1
# 获取mysql运行状态
UserParameter=mysql.ping,mysqladmin -uadmin -pPlaymore123! -P3306 -h10.117.1.7 ping | grep -c alive
版权属于: 抓不住的疯
原文地址: https://www.ycy114.com/index.php/2018/09/07/%e6%9b%b4%e6%96%b0php%e5%88%b05-6/
转载时必须以链接形式注明原始出处及本声明。