ビットコイン下がってますねぇ〜。ちょっとあがったかな?と思ったのは間違いでした。いやあ〜誘惑にそそられます。
だって・・・つい半月くらい前は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 監視を入れていた時のものです。
入れるプラグインによっては、同時アクセス数なども取れる様である。
次はアラート設定をせねば
コメント