PR

AWS EC2 Nagiosに監視されるWebサーバの Nginx インストール

IT技術
記事内に広告が含まれている事があります。

ビットコイン下がってますねぇ〜。ちょっとあがったかな?と思ったのは間違いでした。いやあ〜誘惑にそそられます。

だって・・・つい半月くらい前は200万円。で、1週間くらい前は120万。今は98万。大暴落っすね・・・このまま落ちるのか・・・少し上がるのか・・・悩ましいけど忙しいの傍観することにします。

てなことで、Nagios の続き〜。

例によって・・・

※技術的な事に興味のない方は、ここで離脱してくださいね〜。
※秋田の環境は mac です。Windows の方への配慮はありません・・・あしからず。
※間違ったこと書いてあってもそこは笑って流して下さい。

 

 

AWS EC2 に Nginx の動くインスタンスを作る

監視ツールの Nagios も入れただけではなんの役にも立たないので、早速監視を初めてみる。今回の Webサーバは Apache ではなく Nginx。エンジンエックスと読むらしい。

Apache は何でもかんでも自分1人で頑張ろうとするが、Nginx は自分はこれしかしないよ、あとは誰かやってね。的な HTTPサーバである。

Nginx が Apache より高速に動くと言われているのはその為かと思う。まあ、この所流行ってきてる HTTPサーバである。

AWS でインスタンスを作る」「Ubuntu を入れたら最初にやっておいたお方が良い事」これらを参考にインスタンスを作っていく。

1つ違う点は、Nagios が監視するためのポートであるTCP 5666 を設定する点である。本来であれば IPアドレスの設定を絞らなければならないが、ここでは割愛する。実際の設定は、インスタンス作成時の「ステップ 6: セキュリティグループの設定」にて、カスタムTCPルール ポート5666 を追加する。

 

 

AWS EC2 の Ubuntu に Nginx をインストール

以下を実行

 

$ sudo apt-get -y install nginx

 

わらわらとインストールが始まる。

しばらくすると落ち着く。インストールが完了したようである。

/etc/nginx/sites-available/default に基本情報が書かれているはずなので、そちらが存在するか?確認してみる。

 

$ sudo less /etc/nginx/sites-available/default

 

ファイルが存在しているようなので、設定の変更に入る。
control + z のショートカットキーで less を停止。

ブラウザでインスタンスを選択し「接続」をクリックした際に表示された「パブリック DNS」をブラウザのアドレス欄に入れてアクセスしてみる。

 

 

上記メッセージが表示されればめでたく Nginx のインストールは完了。

Nginx で使えるように PHPとPHP-FPM をインストール

まず、PHP-FPM とはなんぞや?って話であるが、FastCGI だそうだ。FastCGI ってなんだ?って事だがググっても脳みそに染み入るまでの理解度が得られなかったので、ご自身でググっていただければと・・・

いずれにせよ PHP と PHP-FPM のインストールが必要なようである。

コンソールで以下を実行

 

$ sudo apt-get -y install php php-fpm

 

こちらもわらわらとインストールが始まる。落ち着いたらインストール終了。

インストールされたか?確認する。

 

$ php -v

 

こうすると

 

PHP 7.0.22-0ubuntu0.16.04.1 (cli) ( NTS )
Copyright (c) 1997-2017 The PHP Group
Zend Engine v3.0.0, Copyright (c) 1998-2017 Zend Technologies
    with Zend OPcache v7.0.22-0ubuntu0.16.04.1, Copyright (c) 1999-2017, by Zend Technologies

 

バージョン等が表示される。

では PHP-FPM も

 

$ php-fpm -v
php-fpm: command not found

 

おや?無いと表示されます。

 

$ sudo dpkg -l | grep php

 

grep すると存在している。いくつか Webを漁ったのだが、インストールされてれば良いみたいなので、先に進む事にする。

Nginx で php が動くように設定をする。

fastcgi-php.conf の場所を確認

 

$ sudo find / -name fastcgi-php.conf
/etc/nginx/snippets/fastcgi-php.conf

 

php7.0-fpm.sock の場所を確認

 

$ sudo find / -name php7.0-fpm.sock
/run/php/php7.0-fpm.sock

 

Nginx の設定ファイルに追記

編集モードで開き

 

$ sudo vi /etc/nginx/sites-available/default

 

 

##### 以下をserver セクション内に記述 #####
location ~ \.php$ {
   include snippets/fastcgi-php.conf;
   fastcgi_pass unix:/run/php/php7.0-fpm.sock;
}
###########################################

 

Nginx と php7.0-fpm を再起動させる。

 

# sudo systemctl restart php7.0-fpm nginx

 

PHP がきちんとインストールされているか確認をする。

Web のルートに移動し

 

$ cd /var/www/html/
$ sudo touch phpinfo.php

 

phpinfo.php を作る

ファイルを開き を記述

 

$ sudo vi phpinfo.php

 

このファイルにアクセスしてみる。

「パブリック DNS」/phpinfo.php

 

 

これが表示されれば OK

EC2 のIPアドレスの件

ナギオスのエージェントに IP アドレスを書き込む必要がある。EC2は再起動だとフェラなんちゃらに書かれているのは書き変わらないが、停止して開始すると書き換わるらしい。

なので一度停止して開始してみる。

停止前は以下

 

akita-test-instance ナギオスサーバ
172.31.29.111
ec2-175-41-206-58.ap-northeast-1.compute.amazonaws.com

akita-test-Nginx2 エンジンエックスクライアント
172.31.31.63
ec2-54-168-124-127.ap-northeast-1.compute.amazonaws.com

 

起動後は以下

 

akita-test-instance ナギオスサーバ
172.31.29.111
ec2-54-150-227-186.ap-northeast-1.compute.amazonaws.com

akita-test-Nginx2 エンジンエックスクライアント
172.31.31.63
ec2-52-68-249-145.ap-northeast-1.compute.amazonaws.com

 

パブリックDNS は変更になるけど、IP アドレスは変更にならない様である。って事は、パブリックDNSは DNS の CNAME に使えなかったりする訳だ。色々とやって見ないと気づけない。

監視対象サーバにナギオスのエージェント NRPE をインストール

参考サイト
https://www.server-world.info/query?os=Ubuntu_16.04&p=nagios&f=6
感謝です。秋田のブログ見ないでサーバーワールドだけ見てれば良いって話でもありますが・・・

監視対象サーバにログインし、以下を実行

 

$ sudo apt-get -y install nagios-nrpe-server

 

ナギオスサーバからの接続を許可するために、設定ファイルを書き換え

 

$ sudo vi /etc/nagios/nrpe.cfg

 

 

allowed_hosts=127.0.0.1
#にナギオスサーバの IPアドレスを追記
allowed_hosts=127.0.0.1,172.31.29.111

 

IPアドレスは EC2 インスタンスを選択した時に、下に出てくる説明のローカル IP を利用する。

 

command[check_hda1]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /dev/hda1
#この行をコメントアウトして
command[check_disk]=/usr/lib/nagios/plugins/check_disk -w 20% -c 10% -p /
#こちらを記述

 

nrpe を再起動

 

$ sudo systemctl restart nagios-nrpe-server

 

次にナギオスサーバの設定を行う。

ナギオスサーバへログインし、プラグインのインストール

 

$ sudo apt-get -y install nagios-nrpe-plugin

 

新たに設定ファイルを作る

 

$ sudo vi /etc/nagios3/conf.d/akita-test-Nginx2.cfg

 

ファイル名はサーバ名称等、わかりやすい名称をつけるのが良い。「わかりやすい名称.cfg」で良い。

 

# 新規作成
define host{
    use                    generic-host
    host_name              akita-test-Nginx2
    alias                  akita-test-Nginx2
    address                172.31.31.63
    }
#PING はチェックしないので外す
#define service{
#    use                    generic-service
#    host_name              akita-test-Nginx2
#    service_description    PING
#    check_command          check_ping!100.0,20%!500.0,60%
#    }
# 空きディスク容量
define service{
    use                    generic-service
    host_name              akita-test-Nginx2
    service_description    Root Partition
    check_command          check_nrpe_1arg!check_disk
    }
# カレントユーザー数
define service{
    use                    generic-service
    host_name              akita-test-Nginx2
    service_description    Current Users
    check_command          check_nrpe_1arg!check_users
    }
# トータルプロセス数
define service{
    use                    generic-service
    host_name              akita-test-Nginx2
    service_description    Total Processes
    check_command          check_nrpe_1arg!check_total_procs
    }
# カレントロード
define service{
    use                    generic-service
    host_name              akita-test-Nginx2
    service_description    Current Load
    check_command          check_nrpe_1arg!check_load
    }

 

これを記載。

ナギオスを再起動

 

$ sudo systemctl restart nagios3

 

パブリックDNS/nagios3/ にアクセス

 


※画像は ping 監視を入れていた時のものです。

 

監視が始まっている。

Nginx の監視を追加する

 

$ sudo vi /etc/nagios3/conf.d/akita-test-Nginx2.cfg

 

以下を追記して

 

#HTTPD 監視
define service{
        use                             generic-service
        host_name                       akita-test-Nginx2
        service_description             HTTP
        #check_command                  check_http
        check_command                   check_http! -H localhost.ubumntu
        #notifications_enabled          0
        notifications_enabled           1
        }

 

ナギオスを再起動

 

$ sudo systemctl restart nagios3

 

HTTPD 監視が追加された。

 


※画像は ping 監視を入れていた時のものです。

 

入れるプラグインによっては、同時アクセス数なども取れる様である。

次はアラート設定をせねば

コメント

タイトルとURLをコピーしました