【发布时间】:2019-10-30 04:28:42
【问题描述】:
请帮助我理解这个 shell 脚本的作用:
# main
for HOST in ${HOSTS}
do
URI=http://${HOST}:80
count=99
result=`/opt/splunk/bin/splunk search "index=${INDEX} sourcetype=${SOURCETYPE} SPLUNK_HEALTH_CHECK |stats count" -earliest_time ${EARLIEST} -latest_time ${LATEST} -uri ${URI} -auth ${USER}:${PASS} -preview F -output csv -timeout ${TIMEOUT} 2>&1 |grep -v count |tr -d '\n' |sed 's/"//g'`
if expr $result : '[0-9]*' > /dev/null 2>&1; then
count=$result
result="OK"
fi
date +"%Y-%m-%d %T sh=${HOST} status=\"${result}\" delay_status=$count"
done
从 splunk 调用此脚本时,我收到以下错误:
status="无法查找 HOME 变量。无法获取身份验证令牌 cached.10" delay_status=99
【问题讨论】:
-
不知道 splunk,我的猜测是(根据错误消息),未设置环境变量
HOME,尽管这很奇怪。您可以在调用splunk之前执行printenv HOME或(取决于您的系统)/usr/sbin/printenv HOME,以验证这一点。