千家信息网

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

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,在我们进行自动发现的时候,总会有一个脚本来获取端口等信息,并返回json格式,那以redis为例,下边是redis进行进行自动发现的脚本redisport=(`ps aux|grep -w redis
千家信息网最后更新 2025年02月05日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  ];thenaddress=` /usr/sbin/ip address | grep -w  "inet" | awk -F " " '{print $2}' | egrep "^10."| awk -F"/" '{print $1}'`elseaddress=` /usr/sbin/ip address | grep "192.168" | awk '{print $2}' | awk -F "/" '{print $1}'`fiprintf "{\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 ','        fidoneprintf  "\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"                }        ]}
0