在我们进行自动发现的时候,总会有一个脚本来获取端口等信息,并返回json格式,那以复述为例,下边是复述,进行进行自动发现的脚本
<代码> redisport=(' ps辅助| grep - w redis-server | grep - v“grep”| awk - f”:“{打印$ NF} ' ') portnum=$ {# redisport [@]} 数='主机名| grep \平方”| wc - l ' 如果(eq 1美元数),然后 地址='/usr/sbin/ip地址| grep - w“inet”| awk - f”“{打印$ 2}’| egrep“^ 10。”| awk - f“/薄皗打印$ 1}’” 其他的 地址='/usr/sbin/ip地址| grep“192.168”| awk的{打印$ 2}| awk - f“/钡膡打印1美元}' ' fi printf“{\ n” printf \ t \“\”数据”:[" ((i=0; i< portnum美元;我+ +)) 做 printf ' \ n \ t \ t {\ n’ printf“\ t \ \ t” printf“\”{# REDIS_PORT} \ ": \ " $ {redisport [$ i]} \ ", printf“\ n \ t \ \ t” printf“\”{# REDIS_ADDRESS} \ ": \ " ${地址}“\”, printf“\ n \ t \ \ t” printf“\”{# REDIS_NAME} \”, \“复述,${地址}:$ {redisport [$ i]} \”“ printf“\ n \ t \ t}” 如果(我lt美元($ portnum-1]); printf”、“ fi 完成 printf“\ n \ t] \ n” printf“} \ n”代码>
返回结果如下
<代码> { “数据”:( { “{# REDIS_PORT}”:“6386”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6386” }, { “{# REDIS_PORT}”:“6387”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6387” }, { “{# REDIS_PORT}”:“6388”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6388” }, { “{# REDIS_PORT}”:“6379”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6379” }, { “{# REDIS_PORT}”:“6384”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6384” }, { “{# REDIS_PORT}”:“6385”, “{# REDIS_ADDRESS}”:“192.168.43.66”, “{# REDIS_NAME}”:“复述,192.168.43.66:6385” } ] }代码>