bash 和 Zabbix WebUI 中的不同值

bash 和 Zabbix WebUI 中的不同值

我想就以下问题向您寻求任何提示。

我在 Zabbix 2.2 中使用外部脚本进行检查。我尝试开发一些脚本来获取远程存储上某个文件的时间戳。该脚本在 Zabbix 服务器的 CLI 中运行良好,但在 Zabbix 中我看到0仅(零)值。

我发现主要问题出在尝试连接远程存储并获取信息的 ssh 命令行中。

脚本如下:

TIMESTAMP_REMOTE_FILE=$(ssh -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no -i $KEY_FILE "$REMOTE_USER"@"$HOSTNAME" "stat --format='%Y' $FILE ")
echo TIMESTAMP_REMOTE_FILE

Linux 控制台中的输出如下所示:

[user1@hostname1 externalscripts]$ sudo -u zabbixsrv ./days_since_last_backup.sh
1436745682
[user1@hostname1 externalscripts]$

但在 Zabbix(最新值)中它看起来像:

Timestamp               Value
2015.Jul.13 15:04:25    0

当我将 TIMESTAMP_REMOTE_FILE 的值更改为某个特定值(例如 100000)时,该值在 Zabbix 中也可见。

Timestamp               Value
2015.Jul.13 16:04:25    100000

有人遇到过和我一样的问题吗?有人能告诉我如何解决吗?

答案1

因此,我更深入地研究了所描述的问题。我已使用以下方式启用了文件登录:

TIMESTAMP_REMOTE_FILE=$(
  ssh -o StrictHostKeyChecking=no -o GSSAPIAuthentication=no 
    -i $KEY_FILE "$REMOTE_USER"@"$HOSTNAME" 
    "stat --format='%Y' $FILE " > /tmp/zabbix_script.log 
  )
echo TIMESTAMP_REMOTE_FILE

上面明确指出,ssh 命令正在尝试找出带有私钥的文件。由于该脚本是从脚本所在目录的命令行运行的,因此没有出现任何问题。

感谢大家的贡献……每一条提示都很重要

相关内容