nagios java插件_Nagios插件(用C编写)无法打开文件

我有一个用c编写的插件,它将解析一个.log文件并确定页面命中数:

_xLogFileName = "./loging.log";

/* File operation starts here */

_xFile = fopen ( _xLogFileName, "r" );

if ( _xFile != NULL )

{

//read a line upto the end of the file

while ( fgets ( _xFileLine , sizeof _xFileLine, _xFile ) != NULL )

{

// @_xTiemInStr --> cur date in YYYY-MM-DD format to identify todays log

if(strstr(_xFileLine, _xTiemInStr) != NULL) {

if(strstr(_xFileLine, _xLoginHitString) != NULL) {

_xLoginPageCounter = _xLoginPageCounter + 1;

}

}

}

printf("Usage:Total Login Page Hit :%d\n",_xLoginPageCounter );

fclose ( _xFile );

return 0;

}

else

{

printf("error\n");

perror ( _xLogFileName );

return 3;

}

return 0;

现在我将a.out文件放在/ usr / lib / nagios / plugin文件夹中,并将“loging.log”文件放在同一文件夹中 - 对于两个chmod 777完成 . 我可以从命令行运行插件,但是当我将它与nagios集成时,它会提供未知状态并从其他部分打印“错误” - 任何人都可以请求帮助

第二部分

另外我添加了以下代码来确定nagios的运行位置?

char cwd[1024];

_xLogFileName1 = "loging.log";

if (getcwd(cwd, sizeof(cwd)) != NULL)

_xLogFileName = strcat( cwd,_xLogFileName1);

printf("FileName : %s\n", _xLogFileName);

它是在状态信息中打印/loging.log吗?

所以,我必须实际放置文件,我的nagios从/ etc / nagios3运行,我也将loging.log文件放在那里,但它仍然无法正常工作 .

更新:现在它正在工作,因为我通过c程序打印pwd并发现它从我的根(/)目录运行,所以我将loging.log文件放在那里,现在它工作正常 .

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值