OSS紹介

PM2

PM2最新情報

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

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

PM2最新トピック

すべてを見る

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)

すべてを見る

更新日:2017-03-26

PM2の概要

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

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

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に戻る

Jerseyの動作環境

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のサポート

現在、OpenStandiaではPM2のサポート提供は行っておりません。

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

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

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

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