PM2 とは?

PM2

PM2最新情報

NRIのOpenStandiaが提供するPM2最新情報

OSSの保守サポートサービスの内容はこちら OSSの導入については、こちらのフォームからお問い合わせ下さい OSS全般の事例紹介はこちら

PM2バージョンアップ情報

■2017-03-28
[VerUP]PM2 2.1.5(リリース日:2016/11/11)
■2017-03-28
[VerUP]PM2 2.1.6(リリース日:2016/11/23)
■2017-03-28
[VerUP]PM2 2.2.1(リリース日:2016/12/14)
■2017-03-28
[VerUP]PM2 2.4.0(リリース日:2017/02/07)
■2017-03-28
[VerUP]PM2 2.4.1(リリース日:2017/02/28)
■2017-03-28
[VerUP]PM2 2.4.2(リリース日:2017/03/01)

すべてを見る

更新日:2020-01-07

PM2の概要

Keymetrics 社によって開発が行われているNode.jsアプリケーションのプロセス管理を行うためのオープンソースです。

PM2では、Node.jsのアプリケーションごとの起動停止管理やログ管理、モニタリング(CPUやメモリ)が可能です。また、Node.jsアプリケーションのプロセスの状態を常に監視しており、プロセスが停止した場合やメモリの上限を超えた場合にプロセスを自動で再起動させる機能があります。また、アプリケーションの変更を検知し、自動でプロセスを再起動することも可能です。
またPM2の配備システムを利用することで、gitで管理されているNode.jsアプリケーションを複数環境に一括で配備・更新したりすることが可能です。

PM2には下記の3つのプロダクトが存在します。その中で、PM2 Runtimeがオープンソースとして無償で利用できます。

  • PM2 Runtime
    ターミナルベースでのモニタリングやリアルタイムにWebベースでのモニタリングが可能なオープンソースです。
  • PM2 Plus
    Node.jsモニタリングソリューションを、Webベースのモニタリングインターフェースによって提供するSaaSソフトウェアです。
  • PM2 Enterprise
    PM2の全機能が使えるだけでなく、企業が使いやすいようにパーソナライズ化されているSaaSソフトウェアです。

PM2の主な顧客としては、PayPal、Microsoft、IBM、SOUTHWEST.COMなどがあります。これら顧客のWebアプリケーションの一部で、PM2が利用されています。

TOPに戻る

PM2の主な特徴

動作設定 PM2で管理するプロセスについて、細かな設定が可能です。設定は、JavaScript形式、JSON形式、YAML形式をサポートします。
ソースマップサポート version 1.0.2 以降では、JavaScriptのソースマップ機能が利用可能です。これによりJavaScriptデバッグが容易になります。
PaaS 互換 PM2のAPIを利用することで、さまざまなPaaS(Heroku/Google App Engine/Azure)上から、PM2との連携が可能です。
監視とリロード アプリケーションのファイルやディレクトリの変更を検知して、自動的にアプリケーションを再起動できます。
ログ管理 リアルタイムログの確認や、JSON形式での情報取得、ログローテーションなどが利用できます。
モニタリング プロセスごとのCPU/メモリ使用率、メタデータ、グローバルログの確認ができます。
モジュールシステム PM2のモジュールはNPMリポジトリで管理されており、ユーザの要件に応じて必要なPM2モジュールを追加していくことが可能です。また、独自モジュールを自作することも可能です。
最大メモリ制限 設定した上限メモリ値を超えたプロセスを自動で再起動させることが可能です。
クラスタモード Node.jsアプリケーションプロセスを全CPU、全CPU - 1、特定CPUに割り当てたりすることが可能です。
ホットリロード reloadコマンドにより、プロセスのダウンタイム0秒を実現できます。
開発者モード 開発者向けに開発モード(ファイルの変更に応じたリスタートに対応など)でアプリケーションを起動させることが可能です。
起動スクリプト 起動システム(systemd、upstart、launched、rcd、systemv)に応じた起動スクリプトが提供されます。
CLIコマンド自動補完 PM2モジュールのインストールにより、PM2コマンドのタブで補完が可能です。
配備ワークフロー git と連携した簡易で強力な配備システムが利用可能です。これにより、細かなリビジョン管理や、複数のホストへの配備、秘密鍵を使ったSSH接続などが利用可能です。
Keymetrics モニタリング Keymetricsと連携させることにより、複数のPM2を、さらにリッチで詳細な統計データをモニタリングすることが可能になります。
PM2 API PM2が提供しているさまざまなAPIを利用して、プログラムからPM2の動作を変更することが可能です。

TOPに戻る

PM2の動作環境

PM2 は、Node.js のパッケージとして提供される為、Node.jsが稼動する以下の環境で動作します。

  • Windows
  • macOS
  • Linux(x86/x64)
  • Linux(ARM)
  • SunOS
  • Linux on Power Systems
  • Linux on System z
  • AIX on Power Systems

上記のうち、起動スクリプトをサポートしているOSは以下のとおりです。

  • systemd: Ubuntu >= 16, CentOS >= 7, Arch, Debian >= 7
  • upstart: Ubuntu <= 14
  • launchd: Darwin, MacOSx
  • rcd: FreeBSD
  • systemv: Centos 6, Amazon Linux

TOPに戻る

PM2の類似ソフトウェア

PM2以外で、Node.jsアプリケーションのプロセスを管理できる主なプロダクトとしては、

  • StrongLoop Process Manager
  • Forever

という2つのプロダクトがあります。
StrongLoop Process Managerは、IBM傘下の元で開発が行われているプロセスマネージャです。こちらは、PM2とほぼ同等の機能が提供されており、大きな差はほとんどありません。大規模利用向けなどの用途で、開発元企業による有償サポートが提供されている点も似ています。

Foreverは、PM2やStrongLoopに比べると提供されている機能が限定されるため、小規模なプロセス管理に向いています。 StrongLoop のサイトにて、それぞれのプロダクトについての細かな機能比較が記載されておりますので、こちらが参考になります。
Compare with PM2 and Forever: http://strong-pm.io/compare/

TOPに戻る

PM2のライセンス

PM2は、GNU Affero General Public License 3.0(AGPL 3.0)の条件下で利用が可能です。
PM2の公式サイト
http://pm2.keymetrics.io/

TOPに戻る

PM2のダウンロード

バイナリモジュールは、npm(Node.js のパッケージマネージャ)から提供されます。
ソースコードは、
https://github.com/Unitech/pm2/releases からダウンロードが可能です。

TOPに戻る

PM2のサポート

NRIではお客様のご要望に応じて様々な支援ができるサービスをご用意しました。
詳細は下記ページをご確認ください。

TOPに戻る

OpenStandiaに関する
資料請求・お問い合わせはこちら

  • 資料請求
  • お問い合わせ

※定期的にメンテナンスを実施しておりますが、一部情報が古い場合がございます。ご了承ください。

  • OpenStandiaサポート対象オープンソース|50種類以上のOSSのサポートをご提供します。
  • 人気midPoint
  • 人気Keycloak
  • 注目MongoDB
  • ForgeRock AM(OpenAM)
  • ForgeRock IDM(OpenIDM)
  • MongoDB
  • Postfix
  • Apache HTTP Server
  • ZABBIX
  • PostgreSQL
  • Apache Struts
  • Apache Kafka
  • Apache Hadoop
  • Apache Spark
  • Spring Framework
  • Apache Tomcat
  • Solr
  • iBATIS
  • DRBD
  • MySQL
  • JBoss
  • Ruby on Rails
  • Jaspersoft
  • OpenLDAP
  • Apache log4j
  • Apache Subversion
  • ForgeRock DS(OpenDJ)
  • Pacemaker
  • Samba
  • Red Hat Enterprise Linux
  • Nginx
  • BIND
  • Dovecot
  • Pentaho
  • sendmail
  • Courier-IMAP
  • ForgeRock DS(OpenDJ)
  • Heartbeat
  • Hibernate
  • Hinemos
  • MyBatis
  • MySQL Cluster
  • Apache Axis2
  • Squid
  • OpenSSO