Dockerを実行しているサーバーがあります。このコマンドを使用して、docker events
イベントが発生したときにそれらを監視できます。ただし、コマンドオプションを使用して前のイベントを一覧--since <timestamp>
表示することもできます。
# docker events --since '2022-03-20'
2022-03-22T23:56:47.734684472Z network connect daee956f7a48538470209a02318f9312)
2022-03-22T23:56:47.975103504Z container start 8245dab2d81075a856594bb164be34ac)
2022-03-25T06:25:07.473690045Z container pause 8245dab2d81075a856594bb164be34ac)
2022-03-25T06:25:18.728654844Z container unpause 8245dab2d81075a856594bb164be34)
2022-03-25T06:25:26.919184476Z container exec_create: /bin/sh 8245dab2d81075a8)
2022-03-25T06:25:29.068042340Z container exec_start: /bin/sh 8245dab2d81075a85)
したがって、イベントはどこかに保存する必要があります。どこに保存されていますか?一つがあるのを見たのですが空<contaniner-id>-json.log
でした。
フォローアップの質問で。これらのイベントログをsyslogサーバーにリダイレクト/コピーできますか?
答え1
私が知っている限り、私にも同じ要件があったので、Dockerチームはこれについて議論した後、これは巨大なログファイルを生成し、誰にもほとんど役に立たないと判断しました。だからチケットは閉鎖。
これに対する態度に変化はないと考えています。他のロギング/モニタリング/ダッシュボードツールにイベントストリーミングを提供する方法はいくつかあり、Dockerの世界ではこれを受け入れる方法を学んだかもしれません。
systemd
個人的には、ストリームを観察し、データをトリミングし、ログに記録してlogrotate
処理するサービスを作成します。 :)