この問題の可能性について私は困惑しています。 Nagiosのログにはもうエラーは報告されませんが、ファイルには何も書き込まれません。nagiosイベントハンドラがPythonスクリプトを実行しています
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に報告されたエラーを出力し、その1つはファイルアクセス権の問題でした。私は同じフォルダにchmod 777のすべてを作成することでそれを修正しました。それが問題であった場合は、ログに記録する必要があります。
誰でも何が起こっているのか分かりませんか?
は固定されていますが、それは問題ではないことが分かりました。 – frei
あなたはそれを修正しました。しかし、これはあなたを助けようとする否定的な投票を与えるのにどのように適切ですか、とにかく幸せな学習。 – Ricky
というのは、私が質問に指定したのは、何のエラーも報告されていないということです。あなたが言ったことが間違った数の引数タイプのエラーを返すでしょう。私はこれがばかげていると知っていますが、私は実際にあなたにdownvoteを意味していませんでした。 – frei