【问题标题】:how to create multi user paramerter in zabbix from a script如何从脚本在 zabbix 中创建多用户参数
【发布时间】:2015-11-01 12:32:47
【问题描述】:

这是一个 shell 脚本返回 2 个值,一个用于丢包百分比,另一个用于 True 或 False:

SERVER_IP=$1

checkip=`ping -c 2 -W 2 $SERVER_IP | grep "packet loss" | cut -d " " -f 6  | cut -d "%" -f1`
test1=$? 
echo $checkip 
if [ $test1 -eq 0 ]; then

 echo "1"

else

 echo "0"

fi 

在 zabbix 中,当您创建一个项目时,您只输入一个带值的参数,但我有 2 个值,一个丢包,第二个用于 ping 结果(0 和 1)

如何仅使用此脚本创建两个项目 1 用于数据包丢失百分比和第二个用于 ping 健康检查?我不想再创建一个

【问题讨论】:

    标签: bash zabbix


    【解决方案1】:

    感谢Andre

    试试这个脚本,它会引导你找到你想要的:

    #!/bin/bash
    
        case $1 in
    
        packetloss) ping -c2 -W1 -q 8.8.8.8 | grep -oP '\d+(?=% packet loss)' ;;
        timeout) ping -c2 -q 8.8.8.8 | grep 'time' | awk -F',' '{ print$4}' | awk '{print $2}' | cut -c 1-4 ;;
        *) echo "Use: packetloss , timeout";;
    
        esac
    

    尝试(我在 zsh 中):

    zabbix_agentd -t ping.loss\[timeout\]   
    ping.loss[timeout]                            [t|1000]
    

    或在 zabbix 服务器中使用 get(我也在 zsh 中):

    zabbix_get -s 172.20.4.49 -k ping.loss\[timeout\]         
    1001
    

    现在使用这些键创建项目。

    【讨论】:

      【解决方案2】:

      UserParameter=key[*],/path_of_script.sh $1

      在图形用户界面: 密钥:key[Server_IP]

      另一个例子: UserParameter=general[*],/usr/local/etc/scripts/general.sh $1 $2 $3 $4 $5 $6 $7 $8 $9

      $ cat general.sh

      #!/bin/bash
      
      case $1 in
      
      ddate) ddate;;
      minute) echo "`date +%M`%2" | bc;;
      files) ls -l $2 | grep ^- | wc -l;;
      size.dir) du -s $2 | cut -f1;;
      script) /bin/bash /usr/local/etc/scripts/script.sh;;
      *) echo "Use: ddate, minute, files <parameters>, size.dir <parameters> or script";;
      
      esac
      

      $ zabbix_get -s Server_IP -k general[分钟]

      【讨论】:

      • 嗨,请为 ansewr 坦克你,我将我的脚本更改为 #!/bin/bash #Ping #Ping 用于 Zabbix 监视器的脚本。条件返回 # of 1=成功 | 0=失败的SERVER_IP=$1 checkip=ping -c 2 -W 2 $SERVER_IP | grep "packet loss" | cut -d " " -f 6 | cut -d "%" -f1#test1=$? echo $checkip if [ $checkip -eq 0 ];然后 result="1" echo $alive else loss="0" echo $loss fi 现在我如何为 loss 和 alive 创建用户参数并检查 ip ?
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-04-02
      • 2023-03-18
      • 2014-12-23
      • 1970-01-01
      相关资源
      最近更新 更多