博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
zabbix通过php脚本模拟业务访问redis验证nosql的可用性
阅读量:6173 次
发布时间:2019-06-21

本文共 8704 字,大约阅读时间需要 29 分钟。

背景:redis通过shell脚本进行监控,没有问题,应用报警连不上redis,此时需要通过php模拟web环境进行redis的操作来确认web服务器是否能正常和redis通信1.配置nginx,让监控redis的php脚本能通过url访问到redis# nginx.conf的配置修改location ~ ^/php {    root   /data/www/html;    location ~ php(.+\.php)(.*)$ {    fastcgi_pass  unix:/tmp/php-cgi.sock;    fastcgi_index  index.php;    fastcgi_param  SCRIPT_FILENAME    $document_root$fastcgi_script_name;    include fastcgi_params;    expires -1;    if ($request_uri ~ "^(.*)(\?.*)$") {        set $path_info $1;    }    fastcgi_param PATH_INFO $path_info;    set $path_info $request_uri;    }    index  watchphp.php;} 2.编写监控脚本# mkdir -p /data/www/html/php# vim /data/www/html/php/redis_monitor.php
",$machine_no); if (empty($machine_no)){ $machine_no = 'ws'; }}*/function conn_redis($redis_domain, $redis_port, $redis_pass){ //创建 Redis 对象 $redis = new Redis(); // global $redis; $redis->connect($redis_domain, $redis_port); $redis->auth($redis_pass); //设置 redis 字符串数据,并返回该设置的字符串 $redis->set("tutorial-name", "Redis-tutorial"); $result = $redis->get("tutorial-name"); return $result;}function eus_store_redis() { global $machine_no; $res = conn_redis('store-cart.chinasoft.com', 6379, 'pass'); if ($res == "Redis-tutorial") { echo "store_success"; }else { echo "store_fail"; }}function ws_store_redis() { global $machine_no; $res = conn_redis('cart.chinasoft.com', 6379, 'pass'); if ($res == "Redis-tutorial") { echo "store_success"; }else { echo "store_fail"; }}function platform_redis() { $res = conn_redis('cbs_out.chinasoft.com', 9376, 'pass'); if ($res == "Redis-tutorial") { echo "platform_success"; }else { echo "platform_fail"; }}function cbs_redis() { $res = conn_redis('cbs_out.chinasoft.com', 9376, 'pass'); if ($res == "Redis-tutorial") { echo "cbs_success"; }else { echo "cbs_fail"; }}// 通过get参数获取不同的应用redis$func_name = $_GET['func_name'];if ($func_name == "store_redis") { eus_store_redis();}elseif($func_name == "platform_redis"){ platform_redis();}elseif($func_name == "cbs_redis"){ cbs_redis();}?>3.监控的配置[root@zabbix:/data/www/html/php]# cat /usr/local/zabbix_agents_3.2.0/conf/zabbix_agentd/redis_monitor.confUserParameter=redis.store_redis,/usr/bin/curl -s http://127.0.0.1/php/eus_redis_monitor.php?func_name='store_redis'UserParameter=redis.cbs_redis,/usr/bin/curl -s http://127.0.0.1/php/eus_redis_monitor.php?func_name='cbs_redis'UserParameter=redis.platform_redis,/usr/bin/curl -s http://127.0.0.1/php/eus_redis_monitor.php?func_name='platform_redis'4.模板
 

 模板

3.2
2019-01-30T01:43:08Z
Templates
{redis_php_monitor:redis.cbs_redis.str(cbs_success)}=0
0
redis.cbs connection error
0
0
0
0
0
{redis_php_monitor:redis.platform_redis.str(platform_success)}=0
0
redis.platform connection error
0
0
0
0
0
{redis_php_monitor:redis.store_redis.str(store_success)}=0
0
redis.store connection error
0
0
0
0
0

 

转载于:https://www.cnblogs.com/reblue520/p/10335198.html

你可能感兴趣的文章
京津冀大数据走廊起笔谋篇
查看>>
WIFI连网一“吻”通 黑科技让无线路由器更智能
查看>>
Ovum光器件首席分析师:硅光子不是唯一解决方案
查看>>
大数据发展进入快车道 未来会呈现高速增长
查看>>
JVM基础:JVM内存组成及分配
查看>>
数据库锁和数据库隔离级别
查看>>
Linux下的内核测试工具——perf使用简介
查看>>
《从问题到程序:用Python学编程和计算》——2.3 内置函数和数学函数包
查看>>
《Photoshop修饰与合成专业技法》目录—导读
查看>>
《Metasploit渗透测试手册》—第1章1.10节分析数据库中存储的渗透测试结果
查看>>
《Adobe Acrobat XI经典教程》—第2课减小文件大小
查看>>
《数据库技术原理与应用教程》一第2章 数据库的基础知识
查看>>
QuaggaJS —— 纯 JavaScript 开发的条形码扫描
查看>>
在图片中加入噪点就能骗过 Google 最顶尖的图像识别 AI
查看>>
免费下载!业界首部安卓热修复宝典出炉,阿里技术大牛联袂推荐
查看>>
OpenID 关联认证提供 CoreOS dex
查看>>
《Node.js区块链开发》一2.2 信用,决定着利益转移的方向
查看>>
Speedy:来自京东的 Docker 镜像存储系统
查看>>
《动手玩转Arduino》——11.2 众多的Arduino板
查看>>
IBM Watson 进入癌症基因组分析市场
查看>>