zabbix redis自动发现端口的脚本返回json格式

在我们进行自动发现的时候,总会有一个脚本来获取端口等信息,并返回json格式,那以redis为例,下边是redis进行进行自动发现的脚本

redisport=(`ps aux|grep -w redis-server|grep -v "grep" |awk -F':' '{print $NF}'`)
portnum=${#redisport[@]}
count=`hostname | grep "\-SQ" | wc -l`
if [ $count -eq 1 ];then
address=` /usr/sbin/ip address | grep -w "inet" | awk -F " " '{print $2}' | egrep "^10."| awk -F"/" '{print $1}'`
else
address=` /usr/sbin/ip address | grep "192.168" | awk '{print $2}' | awk -F "/" '{print $1}'`
fi
printf "{\n"
printf '\t'"\"data\":["
for ((i=0;i<$portnum;i++))
do
    printf '\n\t\t{\n'
    printf '\t\t\t'
    printf "\"{#REDIS_PORT}\":\"${redisport[$i]}\"",
    printf '\n\t\t\t'
    printf "\"{#REDIS_ADDRESS}\":\"${address}"\",
    printf '\n\t\t\t'
    printf "\"{#REDIS_NAME}\":\"Redis ${address}:${redisport[$i]}\""
    printf '\n\t\t}'
    if [ $i -lt $[$portnum-1] ];then
        printf ','
    fi
done
printf "\n\t]\n"
printf "}\n"

返回结果如下

{    "data":[
        {
            "{#REDIS_PORT}":"6386",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6386"
        },
        {
            "{#REDIS_PORT}":"6387",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6387"
        },
        {
            "{#REDIS_PORT}":"6388",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6388"
        },
        {
            "{#REDIS_PORT}":"6379",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6379"
        },
        {
            "{#REDIS_PORT}":"6384",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6384"
        },
        {
            "{#REDIS_PORT}":"6385",
            "{#REDIS_ADDRESS}":"192.168.43.66",
            "{#REDIS_NAME}":"Redis 192.168.43.66:6385"
        }
    ]
}

总结

以上所述是小编给大家介绍的zabbix redis自动发现端口的脚本返回json格式,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

(0)

相关推荐

  • Zabbix实现批量监控端口状态的方法

    引言 在监控生产环境的服务的时候,通常需要对多个端口进行监控,如果我们手动一个一个的添加,这将是一件很麻烦的事情,为了减少这样的情况,我们采用批量添加监控端口的方法,这是非常常见的需求,zabbix也是支持这种方式的,需要使用zabbix的Discovery功能来实现,下面小编就给大家分享一下批量添加端口的占用. 使用Zabbix监控如何监控服务器端口状态,大概的流程:zabbix监控服务自带端口监控的监控项,所以需要我们自己手动定义所监控的item,客户端获取的端口列表通过agent传送到服务

  • Zabbix系统端口监控状态

    一.监控系统Zabbix -添加端口监控 对于进程和端口的监控,可以使用zabbix自带的key进行监控,只需要在server端维护就可以了,相比于nagios使用插件去监控的方式更为简单.下面简单介绍配置: 1.监控端口 zabbix监控端口使用如下key: key:net.tcp.listen[port] Checks if this port is in LISTEN state. 0 - it is not, 1 - it is inLISTEN state. 2.解释: 监听端口状态,

  • zabbix redis自动发现端口的脚本返回json格式

    在我们进行自动发现的时候,总会有一个脚本来获取端口等信息,并返回json格式,那以redis为例,下边是redis进行进行自动发现的脚本 redisport=(`ps aux|grep -w redis-server|grep -v "grep" |awk -F':' '{print $NF}'`) portnum=${#redisport[@]} count=`hostname | grep "\-SQ" | wc -l` if [ $count -eq 1 ];

  • django通过ajax发起请求返回JSON格式数据的方法

    本文实例讲述了django通过ajax发起请求返回JSON格式数据的方法.分享给大家供大家参考.具体实现方法如下: 这是后台处理的: def checkemail(request): user = None if request.POST.has_key('email'): useremail = request.POST['email'] result = {} user = User.objects.filter(useremail__iexact = useremail) if user:

  • 使用getJSON()异步请求服务器返回json格式数据的实现

    我们可以使用jquery的getJSON()方法请求服务器返回json格式数据: js代码: function test(){ $.getJSON("JsonServlet",function(result){ alert(result.name); }); } 服务器端servlet响应: @Override protected void doPost(HttpServletRequest req, HttpServletResponse resp) throws ServletEx

  • Java Web程序中利用Spring框架返回JSON格式的日期

    返回Json时格式化日期Date 第一步:创建CustomObjectMapper类 /** * 解决SpringMVC使用@ResponseBody返回json时,日期格式默认显示为时间戳的问题.需配合<mvc:message-converters>使用 */ @Component("customObjectMapper") public class CustomObjectMapper extends ObjectMapper { public CustomObject

  • 让Laravel API永远返回JSON格式响应的方法示例

    json格式 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成.它基于ECMA262语言规范(1999-12第三版)中JavaScript编程语言的一个子集. JSON采用与编程语言无关的文本格式,但是也使用了类C语言(包括C, C++, C#, Java, JavaScript, Perl, Python等)的习惯,这些特性使JSON成为理想的数据交换格式. 本文将给大家详细介绍关于让Laravel API永

  • 解决Django响应JsonResponse返回json格式数据报错问题

    代码 return JsonResponse({"name": "tom"}) 报错: TYPEERROR: In order to allow non-dict objects to be serialized set the safe parmeter to False 解决: return JsonResponse({"name": "tom"}, safe=False) 增加safe=false,使其接受列表 补充知识

  • ssm框架controller层返回json格式数据到页面的实现

    通常前端页面发送ajax请求,我们只需要返回json格式数据就行 1.在pom.xml加入依赖 <properties> <jackson.version>2.5.4</jackson.version> </properties> <dependencies> <!-- controller返回json --> <dependency> <groupId>com.fasterxml.jackson.core&l

  • Django2.1.7 查询数据返回json格式的实现

    需求问题 在日常工作中,对于前端发送过来的请求,后端django大部分都是采用json格式返回,也有采用模板返回视图的方式. 在模板返回视图的方式的确很方便,但是如果涉及到动静分离.ajax请求这类,django就只能返回json格式的数据了. 那么这里就带来了一个问题,如何将django从数据库模型类中查询的数据以json格式放回前端. 然后前端如果获取读取返回过来的数据呢? 环境说明 前端采用jquery发送ajax请求 python 3.7.2 django 2.1.7 示例说明 这次示例

  • springboot 返回json格式数据时间格式配置方式

    目录 返回json格式数据时间格式配置 返回JSON日期格式问题 返回json格式数据时间格式配置 数据库里面查出来的时间是时间错格式,前段需要处理才能展示相应的格式,自己一个个转的话太麻烦,所以可以在apllication.property加入下面配置就可以 #时间戳统一转换 spring.jackson.date-format=yyyy-MM-dd HH:mm:ss spring.jackson.time-zone=GMT+8 其中time-zone是时区偏移设置,如果不指定的话时间和北京时

  • Spring mvc实现Restful返回json格式数据实例详解

    在本示例中,我们将向您展示如何将对象转换成json格式并通过spring mvc框架返回给用户. 使用技术及环境: Spring 3.2.2.RELEASE Jackson 1.9.10 JDK 1.6 Eclipse 3.6 Maven 3 PS:在spring 3 中,要输出json数据,只需要添加Jackson 库到你的classpath. 1.项目依赖 spring和jackson的依赖: <project xmlns="http://maven.apache.org/POM/4.

随机推荐