【发布时间】:2017-06-16 12:38:46
【问题描述】:
我不知道这个问题可能是什么。 nagios 日志不再报告任何错误,但我的文件没有写入任何内容。
def log_something(host_name host_address, attempt_number):
with open('file', 'a+') as log:
log.write('called function at %s with args %s' %s (str(datetime.datetime.now()), locals()))
def main():
parser = argparse.ArgumentParser()
parser.add_argument('host_name')
parser.add_argument('host_address')
parser.add_argument('attempt_number')
args = parser.parse_args()
log_something(args.host_name, args.host_address, args.attempt_number)
if __name__ == "__main__":
main()
在我的 commands.cfg 中
define command {
command_name my_command
command_line $USER1$/my_command.py $HOSTNAME$ $HOSTADDRESS$ $HOSTATTEMPT$
}
在我的主机配置中
define host {
...
event_handler my_command
}
并且在 nagios 日志中 (journalctl -xe)
OST ALERT: test-router;UP;HARD;5;PING OK - Packet loss = 0%, RTA = 0.96 ms
Jan 31 15:38:47 nagios-server.nagios[9212]: HOST EVENT HANDLER: test-router;UP;HARD;5;my_command
没有向文件写入任何内容,也没有报告错误。当我的语法出现错误时,nagios 日志将打印报告给 stderr 的错误,其中之一是文件权限问题。我通过在同一个文件夹中创建文件和 chmod 777 来解决这个问题。此外,如果这是一个问题,它应该被记录下来。
有人知道这里发生了什么吗?
【问题讨论】: