COLUMN

クラウドの運用にMackerelを使ってみた(第3回:プロセスやログ等の詳細監視設定)

「クラウド導入・運用サービス」のサービス企画担当のとりとりです。
前回は、エージェントをインストールしたホストに対し、サービス・ロールの設定を行い、しきい値と通知設定するところまでやりました。
今回は、プロセスやログ等のOS以上のレイヤの監視設定を行います。

構成図・やりたいこと

構成図

前回と同じ構成です。
アプリケーションサーバー(以降、APサーバー)とデータベースサーバー(以降、DBサーバー)がAWS上に各1台ずつある構成とします。各サーバーの初期設定及び、Mackerelエージェントのインストールは完了しているものとします。APサーバーのindex.htmlファイルは後述の通知試験のため、作成していない状態にしておきます。

各サーバーのスペック

インスタンス:t2.micro(1vCPU,メモリ:1GiB)
OS:Amazon linux2
ディスクサイズ:8GiB

インストールされているミドルウェア

APサーバー:Apache v2.4
DBサーバー:PostgreSQL 9.6

やりたいこと

  • CPU等のハードウェア監視だけではなく、ミドルウェアの死活監視を行いたい
  • ミドルウェアが利用できなくなったら、アラート通知したい
  • 指定のシステムログを通知したい
  • システム全体として動いているか確認したい

上記やりたいことを実現するために、Mackerelの設定を行います。

ポート監視設定

基本監視項目以外を監視するためには2つの方法があります。

  • 公式で配布されている、プラグイン集を利用する
  • スクリプトやプログラムで独自の値を収集して、カスタムメトリクスとして投稿する

ポート監視は前者のプラグイン集を利用して行います。

公式チェックプラグインの入手コマンド

yum install mackerel-check-plugins

「check-tcp」というプラグインがポート監視に対応しておりますので、エージェントの設定ファイル(mackerel-agent.conf)をテキストエディタで編集します。

エージェントの設定ファイルを編集するコマンド(例)

vi /etc/mackerel-agent/mackerel-agent.conf

設定ファイル最下部に下記のような文章を追記します。

HTTP(80番ポート)を監視する設定(例)

[plugin.checks.tcp_port80]
command = [“check-tcp”, “-H”, “localhost”, “--port”, “80”, “--critical”, “1”]

同様にHTTPS(443番ポート)も設定追加します。
追記が終わったら保存し、エージェントを再起動します。

エージェントを再起動するコマンド(例)

systemctl restart mackerel-agent

設定が完了すると、Hostsページの右側に、監視項目が追加されています。

プロセス監視設定

プロセスのチェック監視を行うには、ポート監視と同様に公式チェックプラグインを行います。対応するチェックプラグインは「check-procs」となります。設定ファイルをテキストエディタで編集します。

Apache(プロセス名:httpd)を監視する設定(例)

[plugin.checks.check_httpd]
command = [“check-procs”, “--pattern”, “httpd”]

ログ監視は、「check-log」となります。

ログ監視を行う設定(例)

[plugin.check.xxxx_log]
command = [“check-log”, “--file”, “/path/to/xxxx.log”, “--pattern”, “yyyy”]
※xxxxには監視したいログ、yyyyには通知したい内容の文字列を記載します。

追記が終わったら保存し、ポート監視と同様にエージェントを再起動します。すると、ポート監視と同じように監視項目が追加されています。

代表的なプロセスでは、このようなチェック監視のほか、メトリクスとして可視化できるような公式プラグインが用意されております。各種公式プラグインのインストール及び利用方法は、下記のサイトをご覧ください。

https://mackerel.io/ja/docs/entry/howto/mackerel-agent-plugins別ウィンドウで開きます

DBサーバーもAPサーバーと同じく、ポート監視、プロセス監視、ログ監視を行います。PostgreSQLの監視は「check-postgresql」がありますので、こちらを使うことで、データベースに対するチェック監視が可能になります。

データベース監視を行う設定(例)

[plugin.checks.check-postgresql]
command = ["check-postgresql", "connection", "--host", "localhost", "--port", "5432", "--user", "USER", "--password", "PASSWORD", "--database", "DBNAME", "--warning", "70", "--critical", "90"]

例によってエージェントの再起動を行い、監視項目が追加されているか確認します。

外形監視設定

続いて、外形監視の設定を行います。外形監視とは、「システムとして提供するサービスが正しく動いているか?」をシステムの外部から確認することです。指定のURLにアクセスしてレスポンス結果を監視します。「システム全体のエラー率に基づいて運用対処を行いたい」などのときに外形監視を利用します。

今回は、APサーバーのトップページ(index.html)が表示されている状態を監視します。外形監視を行うには、Monitorsから「監視ルールを追加」をクリックします。

外形監視をクリックします。

外形監視の設定を行います。必須となるのは指定先のURLと、監視ルール名となります。

オプションでしきい値とアラート発生までの回数を決めます。デフォルトは15秒ですが、任意の値にします。

作成ボタンを押して、正しく設定すると監視ルールに外形監視が追加されます。

Apacheのインストールした直後の初期ページを開くと、HTTPステータスコードは403となりエラー扱いとなります。このエラーはアラート通知対象となっているので、アラートが通知されていることを確認します。しばらく待ってから、APサーバー内でindex.htmlファイルを作成し、トップページが表示されることを確認します。

indexページが正しく表示されたら、アラートが停止していることを確認します。Alertページで詳細を確認することができます。

これで外形監視の設定が完了しました。
他にも、Mackerelの外形監視では以下のような監視が可能です。

  • API処理が時間内に終わるか
  • サーバー証明書の有効期限が切れていないか

まとめ・次回予告

今回まででミドルウェアやシステム単位での監視設定が完了しました。公式プラグインをうまく活用することで高度な監視設計が可能だと感じました。また、サーバー証明書の有効期限切れ確認が自動でできるようになるのは非常に心強いですね。
次回は通信キャリアらしく、ネットワーク死活監視を追加してみたいと思います。お楽しみに!

Amazon Web Services(AWS)は、米国その他の諸国における、Amazon.com, Inc.またはその関連会社の商標です。
Microsoft Azureは、米国Microsoft Corporationおよびその関連会社の商標です。
Mackerelは、株式会社はてなの商標です。
本コラムに掲載のサービスや登録画面等は2019年9月1日時点の情報であり、変更となる場合があります。

24時間365日対応可能なクラウド監視・運用代行で、あなたをシステム運用から解放します!

ページ上部へ戻る

無料ダウンロード

自社のクラウド導入に必要な知識、ポイントを
このに総まとめ!

あなたはクラウド化の
何の情報を知りたいですか?

  • そもそも自社は本当にクラウド化すべき?オンプレとクラウドの違いは?
  • 【AWS・Azure・Google Cloud】
    どれが自社に最もマッチするの?
  • 情シス担当者の負荷を減らしてコストを軽減するクラウド化のポイントは?
  • 自社のクラウド導入を実現するまでの具体的な流れ・検討する順番は?

初めての自社クラウド導入、
わからないことが多く困ってしまいますよね。

NTT東日本では
そんなあなたにクラウド導入に必要な情報を

1冊の冊子にまとめました!

クラウド化のポイントを知らずに導入を進めると、以下のような事になってしまうことも・・・

  • システムインフラの維持にかかるトータルコストがあまり変わらない。。
  • 情シス担当者の負担が減らない。。
  • セキュリティ性・速度など、クラウド期待する効果を十分に享受できない。。
理想的なクラウド環境を実現するためにも、
最低限の4つのポイントを
抑えておきたいところです。
  • そもそも”クラウド化”とは?
    その本質的なメリット・デメリット
  • 自社にとって
    最適なクラウド環境構築のポイント
  • コストを抑えるため
    具体的なコツ
  • 既存環境からスムーズにクラウド化
    実現するためのロードマップ

など、この1冊だけで自社のクラウド化のポイントが簡単に理解できます。
またNTT東日本でクラウド化を実現し
問題を解決した事例や、
導入サポートサービスも掲載しているので、
ぜひダウンロードして読んでみてください。

クラウドのわからない・
面倒でお困りのあなたへ

クラウドのご相談できます!
無料オンライン相談窓口

NTT東日本なら貴社のクラウド導入設計から
ネットワーク環境構築・セキュリティ・運用まで
”ワンストップ支援”が可能です!

NTT東日本が選ばれる5つの理由

  • クラウド導入を
    0からワンストップでサポート可能!
  • 全体最適におけるコスト効率・業務効率の改善
    中立的にご提案
  • クラウド環境に問題がないか、
    第3者目線でチェック
    してもらいたい
  • 安心の24時間・365日の対応・保守
  • NTT東日本が保有する豊富なサービスの組み合わせで
    ”課題解決”と”コスト軽減”を両立

特に以下に当てはまる方はお気軽に
ご相談ください。

  • さまざまな種類やクラウド提供事業者があってどれが自社に適切かわからない
  • オンプレミスのままがよいのか、クラウド移行すべきなのか、迷っている
  • オンプレミスとクラウド移行した際のコスト比較を行いたい
  • AWSとAzure、どちらのクラウドが自社に適切かわからない
  • クラウド環境に問題がないか、第3者目線でチェックしてもらいたい
  • クラウド利用中、ネットワークの速度が遅くて業務に支障がでている

クラウドを熟知するプロが、クラウド導入におけるお客さまのLAN 環境や接続ネットワーク、
クラウドサービスまでトータルにお客さまのお悩みや課題の解決をサポートします。

相談無料!プロが中立的にアドバイスいたします

クラウド・AWS・Azureでお困りの方はお気軽にご相談ください。