默认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 proxy可以代替zabbix server检索客户端的数据,然后把数据汇报zabbix server,并且在一定程度上分担了zabbix server的压力。zabbix proxy可以非常简便的实现集中式、分布式监控。
zabbix proxy使用场景:
  • 监控远程区域设备
  • 监控本地网络不稳定区域
  • 当zabbix监控上千设备时,使用它来减轻server的压力
  • 简化zabbix的维护
  • 游戏不同版本的机器
zabbix proxy仅仅需要一条tcp连接到zabbix server,所以防火墙上仅仅需要加上一条规则即可。zabbix proxy数据库必须和server分开,否则数据会被破坏,毕竟这两个数据库的表大部分都相同。总之记住,数据库分开即可。
proxy收集到数据之后,首先将数据缓存在本地,然后在一定得时间之后传递给zabbix server。这个时间由proxy配置文件中参数ProxyLocalBuffer 、ProxyOfflineBuffer决定。zabbix proxy是一个数据收集器,它不计算触发器、不处理事件、不发送报警。
首先把源安装好,上面若安装好了源,此步骤可忽略
#rpm -ivh http://repo.zabbix.com/zabbix/3.4/rhel/6/x86_64/zabbix-release-3.4-1.el6.noarch.rpm
安装zabbix_proxy机zabbix_agent和zabbix-get (zabbix_proxy 代理安装包  zabbix_proxy或者zabbix_server 节点安装包 zabbix-get 调试安装包)
# yum install zabbix-proxy zabbix-agent zabbix-get
添加用户
# groupadd zabbix
# useradd -g zabbix  zabbix
初始化数据库
>create database zabbix_proxy default charset utf8;
>grant all on zabbix_proxy.* to zabbix_proxy@localhost identified by ‘zabbix_proxy’     #若不是本地数据,是rds 修改localhost为’%’,表示在哪都可访问。
>flush privileges;
查找初始化sql,导入数据,注意:如你用的是mysql数据库,要安装zabbix-proxy-mysql的包。别装成sqlive的了
#find / -name “schema.sql.gz”
# gzip -d schema.sql.gz
#mysql -uzabbix_proxy -pzabbix_proxy -h10.98.2.5 zabbix_proxy < schema.sql
此时遇到一个小报错:
ERROR 1064 (42000) at line 1067: You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ‘AUTOINCREMENT,
itemid bigint ‘ at line 2
#vim schema.sql
:%s/AUTOINCREMENT/AUTO_INCREMENT/g
将AUTOINCREMENT改为AUTO_INCREMENT即可。
删除zabbix_proxy数据库,重新导入数据
经测,遇到这个错误是因为我安装的是zabbix for sqlive的包,所以sql插不进去,卸载后重新安装zabbix for mysql 即可!
修改配置文件
# vim  /etc/zabbix/zabbix_proxy.conf
………
Server=111.11.11.1         –>实际的serverIP,一般不同内网,没做映射的话,就用公网ip
Hostname=zbx_proxy_10.2.2.130      –>记住这个主机名,用作后面web中添加agent代理,该名称就是代理程序名称
DBName=zabbix_proxy
DBHost=*.*.*.*     设置数据库地址,rds数据库也可以
DBUser=zabbix_proxy
DBPassword=zabbix_proxy
DBSocket=/var/lib/mysql/mysql.sock  –>不是本地数据库可以忽略
ProxyLocalBuffer=0       –>设定为0小时,除非有其他第三方应用和插件需要调用
ProxyOfflineBuffer=1    –>proxy或者server无法连接时,保留离线的监控数据的时间,单位为小时
ConfigFrequency=600    –>server和proxy配置修改 同步时间间隔,设置5-10分钟即可
DataSendFrequency=10   –>数据发送时间间隔,10-30s,网络好就设置短点,监控效果也越迅速
StartPollers=10     –>开启多线程数,一般不要超过30个
StartPollersUnreachable=1   –>该线程用来单独监控无法连接的主机,1个即可
StartTrappers=10        –>trapper线程数
StartPingers=1            –>fping线程数
CacheSize=64M          –>用来保存监控数据的缓存数,根据监控主机数量适当调整
Timeout=10                –>超时时间,设定不要超过30s,不然会拖慢其他监控数据抓取时间
TrapperTimeout=30    –>同上
FpingLocaltion=/usr/sbin/fping   –>配合simple check icmp检测使用,如不需要可关闭
……..
# vim  /etc/zabbix/zabbix_agentd.conf           这个agent是zabbix_proxy所在的机器的agent
……..
Server=192.168.0.130      –>指向zabbix porxy IP
ListenPort=10050
ServerActive=192.168.0.130    –>指向zabbix proxy IP
Hostname=Test_192.168.0.98
HostMetadata=Linux             –>主机元数据名 可忽略
……….
上面都是网上的,下面贴上我的简单配置
# egrep -v ‘^#|^$’ /etc/zabbix/zabbix_proxy.conf
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
提示:zabbix_proxy启动若你遇到以下错误
27909:20181113:173350.689 database is down: reconnecting in 10 seconds
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?
检查数据库一切正常的情况下,执行
rpm -qa | grep zabbix
yum remove zabbix-proxy-pgsql-3.4.15-1.el6.x86_64  卸载这个pgsql 重新启动就好了
# egrep -v ‘^#|^$’ /etc/zabbix/zabbix_agentd.conf
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
Timeout=20
Include=/etc/zabbix/zabbix_agentd.d/*.conf
启动服务
# /etc/init.d/zabbix-proxy start
# /etc/init.d/zabbix-agentd start
#在zabbix_proxy,调试是否能获取到数据,确保代理到agent的10050端口是通的
[game@VM_1_8_centos ~]$ zabbix_get -s 10.98.1.3 -p 10050 -k “checkstatus[status]”
all services ok
明显获取到数据了!
在zabbix web页面的管理-agent代理程序-添加代理程序
zabbix_proxy下面机器的agent配置
$ vim /etc/zabbix/zabbix_agentd.conf
PidFile=/var/run/zabbix/zabbix_agentd.pid
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
遇到的一些小问题:
如:设置自动发现规则时(使用代理自动发现)
步骤如下:
配置-自动发现-新建自动发现规则
再在 配置-动作-新建动作(事件源(自动发现)),配置自动发现后的动作及操作
问题来了,自动发现一直发现不了zabbix_proxy代理下面的agent的机器(监测中-自动发现),只有不用代理的机器可以发现(就是和zabbix_server同一个网段的机器)。
查看zabbix_proxy日志,一直再报找不到主机。首先重新重启下代理,若还是不行,就重装吧~后来重新安装zabbix_server解决。模式不必用主动的,机器数量不多不用主动
添加主机,以后可以不用自动发现了,可以用api接口,批量添加!
zabbix mysql监控,使用zabbix自带的模板
克隆下自带的模板
#cd /home/zabbix
#vim check_mysql.sh
#!/bin/bash
# 用户名
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
还可以加些自己的参数,比如统计人数等
people_count)
result=`mysql -uadmin -p123456 -h10.117.2.9 -N -e “SELECT count(*) FROM uc.t_u_account;”`
echo $result
在zabbix_agentd.conf,添加下面内容
# 获取mysql版本
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
重启zabbix-agentd

为Kubernetes v1.5.2版本安装dashboard图形界面

一、前言 dashboard是一个图形化管理界面,由于我这边的Kubernetes v1.5.2比较老,按官网的安装方法没有效果,现在试试手动安装,使用下面2个yaml文件安装 ...

阅读全文

k8s简单部署

K8s中文手册地址:https://www.kuboard.cn/learning/k8s-basics/kubernetes-basics.html#kubernetes%E5%8A%9F%E8%83%BD   这边安装的Kubernetes v1.5.2 比较...

阅读全文

centos7上openvpn搭建详细教程

写在前面的前言: 因为工作需要安全连接公司的内网机器。对比了几个vpn的配置及工作模式。安全性:openvpn>l2tp/ipsec>pptp ,当然还有ss+代理的模式。...

阅读全文

欢迎留言