先來看兩個問題
問:pm2-logrotate是什麼?
答:pm2-logrotate可以理解為是乙個
pm2的外掛程式,它擴充了
pm2本身沒有功能:日誌管理,所以它的執行需要依靠
pm2,想用它必須先安裝
pm2才可以。
問:為什麼有pm2-logrotate?
答:因為pm2本身沒有日誌分割功能,日誌只能存在乙個檔案中,時間久了日誌檔案非常大,檢視起來很麻煩,並且一些日誌過一段時間後可能就沒用了,依然留著對空間也是浪費,有了該外掛程式,可以將日誌檔案根據我們的設定進行分割,比如按天進行分割,把每天的日誌檔案分別儲存,這樣檢視起來是不是比較方便?並且還可以設定日誌檔案的最大總數,比如我們設定日誌檔案最多
100個,那麼當日誌檔案超過
100個後會自動將最早的日誌檔案刪除掉,我們也不用再花時間去整理日誌檔案了,是不是很省心?
安裝
安裝:pm2 install pm2-logrotate(前提是已安裝過pm2)
安裝特定版本:pm2 install [email protected]
引數介紹
安裝完畢使用方法如上圖:pm2 set pm2-logrotate:max_size 1k
格式是:pm2 set pm2-logrotate:
命令設定具體的引數,支援的引數有:
l compress:是否通過
gzip
壓縮日誌
l max_size:單個日誌檔案的大小,比如上圖中設定為
1k(這個其實太小了,實際檔案大小並不會嚴格分為1k)
l retain:保留的日誌檔案個數,比如設定為
10,那麼在日誌檔案達到
10個後會將最早的日誌檔案刪除掉
l dateformat:日誌檔名中的日期格式,預設是
yyyy-mm-dd_hh-mm-ss
,注意是設定的日誌名
+這個格式,如設定的日誌名為
abc.log
,那就會生成
abc_yyyy-mm-dd_hh-mm-ss.log
名字的日誌檔案
l rotatemodule:把
pm2本身的日誌也進行分割
l workerinterval:設定啟動幾個工作程序監控日誌尺寸,最小為
1rotateinterval:設定強制分割,預設值是
0 0 * * *
,意思是每天晚上
0點分割,這個足夠了個人覺得
設定完畢後可通過pm2 conf pm2-logrotate來檢視詳細的配置。
存在問題
1m,那麼在
檔案沒有超過
1m時,即使第二天新建了日誌檔案
,但是依然會把日誌追加到
中而非新建的日誌檔案中,更坑的是,在超過設定的大小後,它是把超出部分寫到新的日誌檔案中,然後繼續在
中追加- -
,在官方文件中也沒有發現對這個問題的說明。
不過,值得高興的是,萬能的網友解決了這個問題!github位址在
這裡,請開心享用。
pm2日誌管理外掛程式
pm2的日誌模組預設是每乙個服務程序都分配兩個預設的日誌檔案 這兩個日誌檔案存放於 root pm2 logs中,如果pm2管理5個服務,那麼該資料夾下總共有10個日誌檔案,並且隨著時間不斷增加,很容易就會產生很多個上g的日誌檔案,導致了伺服器的磁碟空間不足的問題 解決方法 合併日誌 將所有服務的日...
程序管理PM2
1 pm2 需要全域性安裝 npm install g pm2 cwd 應用程式所在的目錄 script 應用程式的指令碼路徑 log date format 日誌檔名輸出日期格式 yyyy mm dd hh mm z max restarts 設定應用程式異常退出重啟的次數,預設 15 次 從 0...
離線安裝PM2
因為要部署應用的機器沒有公網連線,所以直接npm install pm2是不可能了,簡單記錄一下怎麼離線安裝pm2 執行 npm install pm2 g 安裝pm2 執行 npm config get prefix,看一下這台機器的npm預設全域性安裝目錄在哪,然後去這個目錄下面的 lib no...