LoginSignup
14
8

More than 5 years have passed since last update.

pm2-logrotate 使ってみた

Last updated at Posted at 2017-12-26

pm2-logrotate 使い方

  • node.jsのデーモンツールpm2を使っている前提。
  • 軽く使ってみた程度なので使い方を網羅してるとかではない。

pm2-logrotateとは

コンソールログ(out_file、error_file) → の出力をローテートする機能(と認識している)

pm2-logrotate 導入

pm2 install pm2-logrotate  
-- v2.4.0(2017/12/26現在)がインストールされた
  • pm2 がインストールされていると(稼働していると?)自動でpm2-logrotate もインストールと同時に起動する
  • max_size(ファイルのサイズ)、Interval(期間)が一致するとファイルが自動で分割されます。 サイズが超過してない人は明日(Interval)まで待ちましょう

(起動イメージ)

== pm2-logrotate ==
┌────────────────┬─────────────────────┐
│ key            │ value               │
├────────────────┼─────────────────────┤
│ max_size       │ 10M                 │
│ retain         │ all                 │
│ compress       │ false               │
│ dateFormat     │ YYYY-MM-DD_HH-mm-ss │
│ workerInterval │ 30                  │
│ rotateInterval │ 0 0 * * *           │
│ rotateModule   │ true                │
└────────────────┴─────────────────────┘
┌──────────┬────┬──────┬──────┬────────┬─────────┬────────┬─────┬───────────┬──────┬──────────┐
│ App name │ id │ mode │ pid  │ status │ restart │ uptime │ cpu │ mem       │ user │ watching │
├──────────┼────┼──────┼──────┼────────┼─────────┼────────┼─────┼───────────┼──────┼──────────┤
│ myapp    │ 0  │ fork │ 4478 │ online │ 146     │ 17h    │ 0%  │ 87.7 MB   │ hoge │ disabled │
└──────────┴────┴──────┴──────┴────────┴─────────┴────────┴─────┴───────────┴──────┴──────────┘
┌───────────────┬─────────┬────────────┬────────┬─────────┬─────┬────────────┬──────┐
│ Module        │ version │ target PID │ status │ restart │ cpu │ memory     │ user │
├───────────────┼─────────┼────────────┼────────┼─────────┼─────┼────────────┼──────┤
│ pm2-logrotate │ N/A     │ N/A        │ online │ 0       │ 0%  │ 4.133 MB   │ hoge │
└───────────────┴─────────┴────────────┴────────┴─────────┴─────┴────────────┴──────┘

設定の確認

pm2 get pm2-logrotate

設定の仕方

  • ローテートログファイル名

時間までいらなかったので、ファイル名は日付単位にした
→ サイズ超過でローテートされて同じファイルに上書きされてたのでやはり元の形に戻す(2018/01/30)
(ソースを見た限り「サイズを見ない」みたいな設定は無さげだったのでやるならソースに手を入れる感じで)
もしくは、max_size が ~G(GB)まで設定できるみたいなので、それを膨大にするのも手

pm2 set pm2-logrotate:dateFormat YYYY-MM-DD
  • ローテートする間隔

デフォルトが「0 0 * * 」とあるのに、公式には「」が6つで解説されてて、一瞬ん???ってなった。
よくよく読めば「(*) 0 0 * * *」一番最初の項が省略可となっていた(デフォルト設定だと1日置きにローテートされる)

  • ローテートするファイルサイズしきい値(そのサイズを超えたらローテート)
pm2 set pm2-logrotate:max_size 100G

無(B),K(KB),M(MB),G(GB) が設定可

14
8
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
8