nagiosでフリーな監視をしてみよう!~nagiosの構築(5)~
nagiosでフリーな監視をしてみよう!~nagiosの構築(5)~
NDOUtilsについて
今回は、Nagiosの監視結果をMySQLなどのデータベースに格納するNDOUtilsについてです。
NDOUtilsとは、Nagiosで扱う情報をMySQL等のデータベースで管理するためのツールです。
NDOUtilsは、次の4つのデーモン・モジュールで構成されます。
・Nagios
・NDOMODブローカーモジュール(NagiosがNDO2DBを使用する為のモジュール)
・NDO2DB(Nagiosとデータベースのやりとりを仲介するデーモン)
・データベース(MySQL, PostgreSQL)
NDOUtilsは、あくまでNagiosからのアウトプットしか扱えません。
ということは、監視結果ファイルをファイルではなくて、MySQLに格納できることになります。
設定情報をMySQLに登録しておけば、それをNagiosに反映してくれるというわけではなく、あくまで、ファイルに設定情報を記載しておく必要があります。
しかし、設定情報をMySQLに出力する機能はあり、他にもログなどのNagiosの情報がすべてMySQLに出力できますので、
NDOUtilsが格納したMySQLの情報を見れば、Nagiosの動作状況についてはすべて把握することが可能となります。
また、NDOUtilsの重要な機能として、複数のNagiosの動作状況を1つのMySQLデータベースに集約することも可能となります。
では、まず、mysqlのインストールを行っていきます。
mysqlのインストール
まずは、データベースであるmysqlのインストールから紹介していきます。
(1)あらかじめ必要なツールを、yumコマンドでインストールしておきます。
1 | # yum install -y cmake ncurses-devel |
(2)MySQLをデーモンで起動するためのグループとユーザーを作成し、パスワードを設定します。
1 2 3 4 5 6 7 8 9 | # groupadd -g 27 mysql # useradd -u 27 -g mysql -d /usr/local/mysql mysql # passwd mysql ユーザー mysql のパスワードを変更。 新しいパスワード: よくないパスワード: 短かすぎます よくないパスワード: 簡単すぎます 新しいパスワードを再入力してください: passwd : 全ての認証トークンが正しく更新できました。 |
※パスワードは、ここでは「mysql」と入力していますが、適時環境に合わせてください。
(3)「/usr/local/src」ディレクトリに移動し、wgetコマンドでソースコードをダウンロードします。
1 2 | # cd /usr/local/src # wget ftp://ftp.jaist.ac.jp/pub/mysql/Downloads/MySQL-5.6/mysql-5.6.21.tar.gz |
・phpの公式サイト
URL:「http://www-jp.mysql.com/」
[styled_images width=”598px” height=”368px”]
[image title=”1″]https://techpjin.sakura.ne.jp/techpjin_new/wp-content/uploads/2014/11/nagios5-01.png[/image]
[/styled_images]
[clearboth]
(4)ソースコードを解凍し、解凍したディレクトリに移動します。
1 2 | # tar xfz mysql-5.6.21.tar.gz # cd mysql-5.6.21 |
(5)cmakeを実行します。
1 2 3 4 5 6 | # cmake . -DCMAKE_INSTALL_PREFIX= /usr/local/mysql -DDEFAULT_CHARSET=utf8 -DWITH_EXTRA_CHARSETS=all -DDEFAULT_COLLATION=utf8_general_ci -DWITH_PIC=1 |
オプション | 説明 |
---|---|
-DCMAKE_INSTALL_PREFIX | インストール先の指定 |
-DDEFAULT_CHARSET | デフォルトのキャラクタセットを指定 |
-DWITH_EXTRA_CHARSETS | 追加の文字セット「all」で指定 |
-DDEFAULT_COLLATION | デフォルトの文字セットを「utf8」で指定 |
-DWITH_PIC=1 | 共有ライブラリ使用を指定 |
(6)pacoに登録しつつ、make installを実行します。
1 | # paco -D make install |
mysqlの初期設定
mysqlの初期設定を紹介していきます。適時環境に合わせて設定を行ってください。
(1)ディレクトリの所有者を変更します。
1 | # chown -R mysql.mysql /usr/local/mysql |
(2)MySQLの環境変数PATHを設定します。
1 2 3 4 5 6 7 | # echo "export MYSQL_HOME=/usr/local/mysql" > /etc/profile.d/mysqld.sh # echo "export PATH=$MYSQL_HOME/bin:$PATH" >> /etc/profile.d/mysqld.sh # source /etc/profile.d/mysqld.sh # echo $PATH /usr/local/mysql/bin : /usr/lib/qt-3 .3 /bin : /usr/local/apache2/bin : /usr/local/sbin : /usr/local/bin : /sbin : /bin : /usr/sbin : /usr/bin : /root/bin # mysql -V mysql Ver 14.14 Distrib 5.6.21, for Linux (i686) using EditLine wrapper |
(3)起動スクリプトの設定を行います。
1 2 3 4 5 | # cp /usr/local/src/mysql-5.6.21/support-files/mysql.server /etc/init.d/mysqld # chmod a+x /etc/init.d/mysqld # chkconfig --add mysqld # chkconfig --list mysqld mysqld 0:off 1:off 2:on 3:on 4:on 5:on 6:off |
(4)起動スクリプトを変更します。
1 | # vi /etc/init.d/mysqld |
※適時環境に合わせて設定してください。
・「mysqld」ファイルの変更前の内容
43 44 45 46 47 | # If you change base dir, you must also change datadir. These may get # overwritten by settings in the MySQL configuration files. basedir= datadir= |
・「mysqld」ファイルの変更後の内容
43 44 45 46 47 | # If you change base dir, you must also change datadir. These may get # overwritten by settings in the MySQL configuration files. basedir= /usr/local/mysql datadir= /usr/local/mysql/data |
(5)mysqlの設定ファイルをコピーします。
1 | # cp /usr/local/src/mysql-5.6.21/support-files/my-default.cnf /etc/my.cnf |
(6)mysqlの設定ファイルを設定値を追加します。
1 | # vi /etc/my.cnf |
・追加した後の内容
31 32 33 34 35 36 37 38 39 40 41 42 | sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES skip-character- set -client-handshake character- set -server = utf8 collation-server = utf8_general_ci init-connect = SET NAMES utf8 [client] default-character- set =utf8 [mysql] default-character- set =utf8 |
(7)共有ライブラリに「/usr/local/mysql/lib」を追加します。
1 2 | # echo "/usr/local/mysql/lib" > /etc/ld.so.conf.d/mysql.conf # ldconfig |
(8)データベースを初期化します。
1 2 3 4 | # /usr/local/mysql/scripts/mysql_install_db --user=mysql --basedir= /usr/local/mysql --datadir= /usr/local/mysql/data |
mysqlの起動と確認
mysqlの起動と確認、それから、rootのパスワードの設定を紹介します。
(1)mysqlを起動します。
1 2 | # service mysqld start Starting MySQL..... [ OK ] |
(2)アクセスできるかをmysqlコマンドで確認します。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | # mysql -u root Welcome to the MySQL monitor. Commands end with ; or g. Your MySQL connection id is 1 Server version: 5.6.21 Source distribution Copyright (c) 2000, 2014, Oracle and /or its affiliates. All rights reserved. Oracle is a registered trademark of Oracle Corporation and /or its affiliates. Other names may be trademarks of their respective owners. Type 'help;' or 'h' for help. Type 'c' to clear the current input statement. mysql> |
※mysqlを抜けるには、quitで終了します。
1 2 3 | mysql> quit Bye # |
(3)rootユーザーにパスワードを設定します。
1 | # mysqladmin -u root password 'password' |
※シングルクォーテーションに囲まれているのが設定したパスワードとなります。