gpt4 book ai didi

linux - Nagios 插件监控日志文件中的多个单词

转载 作者:太空宇宙 更新时间:2023-11-04 05:30:35 28 4
gpt4 key购买 nike

我正在尝试制作一个简单的 shell 脚本插件来通过 nagios 监视日志文件中日志文件中的特定单词。但是当我尝试使用 nagios 运行脚本时,它会返回错误结果。它总是会执行脚本的最后一行并忽略所有其他命令。但是当我也尝试在终端上运行脚本时,脚本运行准确。请任何人帮助我了解该脚本。

!/bin/bash

word1="标志"

word2="subscriber_master"

word3="成功"

word4="查询yyyselect"

word5="STDOUT"

word6="CALLSTART"

word7="HFA"

word8="SVA"

word9="SCA"

word10="SLBSA"

word11="SFA"

word12="EMVA"

word13="EMCA"

word14="EMLBSA"

word15="EMFA"

word16="​​取消"

word17="MSISDN"

word18="添加命中"

word19="BADDI"

word20="紧急重试"

word21="USSDR"

word22="扩展紧急重试"

word23="删除音频"

word24="IVREmergencyLogger"

word25="VAACTION"

word26="PRS"

word27="YNO"

文件名=“/root/Desktop/server.log”

ECHO="/bin/echo"

GREP="/bin/egrep"

TAIL="/usr/bin/tailf"

returnStateOK=0

returnStateWarning=1

returnStateCritical=2

returnStateUnknown=3

a=超时 2 "$TAIL""$filename"

{

$word{1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27}中的单词

if [[ $( "$ECHO""$a"|"$GREP"-wo "$word") =~ "$word"]]

然后

“$ECHO”“确定:找到“$word””

退出=$returnSTateOK

fi

if [[ $( "$ECHO""$a"|"$GREP"-wo "$word") != "$word"]]

然后

“$ECHO”“警告:未找到“$word””

退出=$returnStateCritical

fi

完成

}

最佳答案

根据经验,我猜测这是一个权限问题:nagios 用户(插件/​​脚本运行的用户)没有读取文件的权限。您可以修复文件和目录权限(如果可能的话,也许登录到不同的路径?)或使用 sudo 运行脚本。

关于linux - Nagios 插件监控日志文件中的多个单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20171760/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com