
AWS入門 初心者が覚えておくべきAWSの基本
「クラウド導入・運用サービス」のサービス企画担当のとりとりです。
前回は、エージェントをインストールしたホストに対し、サービス・ロールの設定を行い、しきい値と通知設定するところまでやりました。
今回は、プロセスやログ等の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
上記やりたいことを実現するために、Mackerelの設定を行います。
基本監視項目以外を監視するためには2つの方法があります。
ポート監視は前者のプラグイン集を利用して行います。
公式チェックプラグインの入手コマンド
yum install mackerel-check-plugins
「check-tcp」というプラグインがポート監視に対応しておりますので、エージェントの設定ファイル(mackerel-agent.conf)をテキストエディタで編集します。
エージェントの設定ファイルを編集するコマンド(例)
vi /etc/mackerel-agent/mackerel-agent.conf
設定ファイル最下部に下記のような文章を追記します。
[plugin.checks.tcp_port80]
command = [“check-tcp”, “-H”, “localhost”, “--port”, “80”, “--critical”, “1”]
同様にHTTPS(443番ポート)も設定追加します。
追記が終わったら保存し、エージェントを再起動します。
エージェントを再起動するコマンド(例)
systemctl restart mackerel-agent
設定が完了すると、Hostsページの右側に、監視項目が追加されています。
プロセスのチェック監視を行うには、ポート監視と同様に公式チェックプラグインを行います。対応するチェックプラグインは「check-procs」となります。設定ファイルをテキストエディタで編集します。
[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の外形監視では以下のような監視が可能です。
今回まででミドルウェアやシステム単位での監視設定が完了しました。公式プラグインをうまく活用することで高度な監視設計が可能だと感じました。また、サーバー証明書の有効期限切れ確認が自動でできるようになるのは非常に心強いですね。
次回は通信キャリアらしく、ネットワーク死活監視を追加してみたいと思います。お楽しみに!
クラウドとオンプレミスでの運用を比較しながら解説!!