Nagios 报告计划任务未返回退出代码 dtexec

Nagios 报告计划任务未返回退出代码 dtexec

我们有 SSIS 任务(dtexec),由 Windows 任务管理器执行并由 Nagios 监控。但是,Nagios 经常会报告警告,因为退出代码为空(应该是 0)。如果在任务运行时进行检查,就会发生这种情况(从 GUI 角度来看,任务管理器会显示一种临时退出代码)。

define service{
        use                     generic-service
        host_name               ms.example.com
        service_description     My task name
        retry_interval          10
        check_command           check_schedtask!"TaskName=\\"\\Category\\My task name\\"" "ExitCode=0x0" "Elapsed=1.0:10" "LastEvent"
        contact_groups          
                contacts                Annoyed people
        notification_interval   240
        servicegroups           functional_tasks
}

如何忽略检查期间正在运行的任务?

答案1

当进程返回 NULL()? 时,您可以告诉检查向 nagios 返回代码 3,这意味着状态为 UNKNOWN。

有关代码的更多信息请参见此处: https://assets.nagios.com/downloads/nagioscore/docs/nagioscore/3/en/pluginapi.html

答案2

或者你可以使用这个 Powershell 脚本来监控你的计划任务:

http://outsideit.net/check-ms-win-tasks/

输出如下所示:

1 / 11 tasks failed! {Taskname: "check_ms_win_tasks_subfolder_01_task" (Author: F1REBASE\Willem)(Exitcode: -2147023673)(Last runtime: 12/06/2014 11:35:56)} 1 / 11 tasks still running! {Taskname: "SamsungMagician" (Author: SamsungMagician)(Exitcode: 267009)(Last runtime: 06/21/2015 11:37:55)} | 'Total Tasks'=11, 'OK Tasks'=9, 'Failed Tasks'=1, 'Running Tasks'=1

您可以使用一项服务监控主机上的所有计划任务,并排除不需要的任务。

相关内容