サーバを自分で運用する場合には、いろいろな監視を行う必要があるけどどうやっているかな?
定期的に、サーバのログを見たり、モニタ機能をつかって異常がないか監視してます。でも、手動で行うのは結構大変で困っています。
そうだね。監視を自分で行うと結構な労力になるね。
GCPでは異常を検出して、通知してくれる機能があるのを知っているかな?
そんな機能も備えているのですか。
通知をしてくれるのであれば、定期的に監視しなくても通知が起きたときだけに対応すればよくなります。ぜひ教えてください。
それでは、今回はGCPのアラート機能とその設定方法について解説していくよ。
サーバに異常が発生したら即応が必要
サーバは基本的に24時間動いています。異常が起きてサーバが停止してしまうと提供しているサービスが止まってしまいます。
そのため、サーバ管理者は常時サーバが正常に動作しているか知る必要があります。しかし、管理者単独では常時サーバの状態を監視するのは難しいです。
サーバを監視するにあたり、サーバの状態から異常を検出して通知する機能「アラート」があるととても有効です。
今回は、アラート機能について説明します。
アラートとは?
英語の訳の通りアラート=警告を知らせてくれる機能です。
あらかじめ決められた条件/ルールに従って監視を行い、条件/ルールに抵触した場合に警告してくれます。
GCPでは、アラートを「通知する条件/ルール」「通知手段」「通知先」を設定できます。
どうやって設定するのか?
アラートの設定は、GCPのアラート機能の画面にて設定することができます。
https://cloud.google.com/monitoring/alerts?hl=ja
アラートの設定画面は「左上メニュー」=>「Monitoring」=>「アラート」の順に開きます。
ここがアラートのメイン画面です。
今回は「メモリの使用量監視」を例として、設定方法を説明していきます。
アラートの通知条件/ルールの設定
メイン画面から、「CREATE POLICY」を押下します。
通知ポリシーの作成画面に移動します。
まずは指標(モニタする対象)を選択します。
「メモリ」を選択しますので、以下の画像に従って選択します。
今回はメモリ枯渇を監視しますので、フィルタの条件を「free(=空き容量)」を選択します。
監視のタイミングを「5分毎」、監視の仕方を「max(=最大値)」とします。
監視結果として、アラートを通知する条件を設定します。
アラートの条件をThureshold(=しきい値)に抵触した場合、しきい値は「任意の時系列の違反」「しきい値より下」「5%」と設定します。
これは「監視しているメモリの空き容量が、下限5%を下回った場合にアラートを上げます」となります。
これで、アラートを通知する条件/ルールの設定が完了です。
ポイント:異常が発生するより前に、兆候がわかれば対応もしやすくなる
アラートの条件を決めるポイントは「異常が発生するより前にわかる」ようにすることです。
例えばメモリを100%使い切ったら動かなくなってしまいますので、それより少ない90%を使い切ったらアラートするように条件付けしておけば、100%使い切る前に何らかの対策を打つことができます。
ただし、あまり通知までの条件の幅を大きくすると異常まで行かない場合でもアラートがあがりますし、小さくしすぎるとアラートから異常発生まで時間が取れず、事前対策が打てなくなります。
傾向に合わせてちょうどよい条件を考えることが重要です。
アラートの通知手段/通知先を設定
続いて、アラートを通知する手段/通知先の設定を行います。
通知チャンネル(アラートの通知手段+通知先)から通知チャンネルの管理に進みます。
通知チャンネルの管理画面で通知手段を選んで登録します。
EmailやSlackが使用しやすいと思います。右側の「ADD NEW」で追加します。
通知チャンネルの登録が終わったら、画面を閉じます。
元の画面の「通知チャンネル」部分から登録した名称を選択します。
これで、ポリシー作成は完了です。
最後にアラートの設定画面に戻り、「ポリシーの名称」が追加されれば完成です。
これで、条件に沿ったアラートが通知されるようになります。
まとめ
今回は、アラート機能とその設定について、解説したけどどうだったかな。
よくわかりました。自分のサーバにも設定して、定期監視をなるべく少なくしてみようと思います。
・アラート機能は、設定した条件が成立したら通知を行ってくれる
・アラートの条件や、通知方法もカスタマイズできる
・サーバの運用での「異常の条件」を決めて、設定しておけば自動で通知をしてくれるので
サーバの監視業務が軽減できる
質問などあれば気軽に書き込んでくださいね♪