質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.50%
Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

Q&A

解決済

3回答

3375閲覧

アプリ(nodejs + forever on AWS EC2)のプロセス監視方法について教えて頂きたいです

退会済みユーザー

退会済みユーザー

総合スコア0

Node.js

Node.jsとはGoogleのV8 JavaScriptエンジンを使用しているサーバーサイドのイベント駆動型プログラムです。

nginx

nginixは軽量で高性能なwebサーバーの1つです。BSD-likeライセンスのもとリリースされており、あわせてHTTPサーバ、リバースプロキシ、メールプロキシの機能も備えています。MacOSX、Windows、Linux、上で動作します。

Express

ExpressはNode.jsのWebアプリケーションフレームワークです。 マルチページを構築するための機能セットおよびハイブリッドのWebアプリケーションを提供します。

AWS(Amazon Web Services)

Amazon Web Services (AWS)は、仮想空間を機軸とした、クラスター状のコンピュータ・ネットワーク・データベース・ストーレッジ・サポートツールをAWSというインフラから提供する商用サービスです。

0グッド

0クリップ

投稿2016/12/27 03:48

新規サービスをリリースし、運用が本格的になってきたため、アプリの監視を行いたいと思っていますが、
運用経験がなく以下のような監視をどのように行えばいいのか教えて頂きたいです。

環境webサーバーはnginx foreverを使ってexpressサーバーを起動しています。

1. node.jsのプロセス監視

expressサーバーのプロセスが落ちていないことを確認したいのですが、
単純にプロセス数をカウントして、指定した閾値より下回っていれば落ちていると判断すれば良いのでしょうか?

2. nginxのプロセス監視

ngixのプロセスが落ちていないことを確認したいのですが、
こちらも同様に単純にプロセス数をカウントして、指定した閾値より下回っていれば落ちていると判断すれば良いのでしょうか?

監視項目について

みなさんが実運用で監視されているものが、以下のもの以外にあれば教えていただきたいです。

CPU使用率
ディスク使用率
メモリ使用率
swap使用率
ping監視
プロセス監視
ポート監視
web監視

上記について教えて頂きたいと思いますので
よろしくお願いいたします!

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答3

0

ベストアンサー

まずは質問への回答として

  1. node.jsのプロセス監視

Nagiosを利用するならば、nrpe経由でcheck_procsプラグインを使います。
指定したプロセスが指定範囲内であればOK、それ以外はNGとします。

  1. nginxのプロセス監視

1.と同様です。(「プロセス監視」であればその通りです。)

ただ、プロセスが活きていてもサービスダウンする場合もあります。
それを防ぐには下に記載するサービス-WebアプリケーションのEndpointの監視等を入れてください。


私は運用するために主に以下の点で監視しています。
・サービス監視
ドメイン監視 ドメイン期限の監視
DNS監視 DNSクエリに対し、期待通りのレコードを返しているか
WebアプリケーションのEndpointの監視。Webアプリケーションが設定した時間内に正常応答していることを外部から監視。

・システムサービス監視
SSHやSMTPのポートなどの監視。ダウンしてもサービスへの影響はないが、障害発生時の対応ができない等。
・ホスト死活監視
ホスト死活
・プロセス死活監視
システムを維持するのに必要なプロセス、サービスを維持するのに必要なプロセスの死活監視。
・システム状況監視
ユーザーログイン数、特定のステータスのプロセス数、その他色々
・リソース監視
ディスク、ネットワーク、CPU、メモリ、その他色々

投稿2016/12/28 02:43

moonphase

総合スコア6621

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

監視に関しては外部サイトからするのがいいです。
万が一そのサーバが落ちた場合監視が止まるので
https://savamoni.com/
のような無料で監視してくれるサービスもあるので検討してみて下さい。

投稿2016/12/27 04:06

date

総合スコア1820

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/27 04:16

ありがとうございます!
guest

0

質問文1と2のプロセス監視の考え方自体は間違っていないと思います。
それに付け加えるとすれば、例えばトップページなどのHTTP応答を確認した方がよいと思います。
(200番を返さなかったらエラー、応答時間が一定の値を超えたら警告、という風に)

監視項目も内容的に外してないと思いますが、コメントするのであれば以下3点です。

・CPU監視は「使用率」の他に「ロードアベレージ」も見た方が良いです。
※ロードアベレージだけでもいいかも。
・ネットワーク転送量。
・ログ監視。(syslogなどに特定のキーワードが検出されたらエラー通知)

あとはここで言うところの「監視」とマッチするかどうか微妙ですが、OSへのログイン試行の失敗、ポートスキャン、脆弱性を突こうとするようなhttpアクセスにも注意を払った方がよいと思います。

投稿2016/12/27 03:57

編集2016/12/27 04:03
ynakano

総合スコア1894

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

退会済みユーザー

退会済みユーザー

2016/12/27 04:15

ありがとうございます!! 参考にさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.50%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問