MySQLパフォーマンスモニタリングソフトウェアNagiosのインストールと構成チュートリアル

5020 ワード

NagiosはLinux上で成熟した監視システムの運行状態とネットワーク情報の開原ITインフラストラクチャ監視システムであり、Nagiosは指定されたローカルまたはリモートホストとサービス、例えばHTTPサービス、FTPサービスなどを監視できるとともに、異常通知、イベント処理などの機能を提供し、ホストまたはサービスに故障が発生した場合、Nagiosはメール、携帯電話メールなどの形式で第一時間に通知することもできる.NagiosはLinuxとUnixプラットフォームで実行することができ、同時にブラウザベースのWebインタフェースをオプションで提供し、システム管理者がシステムの運行状態、ネットワーク状態、各種システム問題、ログ異常などを表示するのに便利である.環境:192.168.0.201 mysqlホストrhel 6.4 192.186.0.202 nagiosホストrhel 6.4関連パッケージのインストール:

  yum install httpd gcc make perl-ExtUtils-Embed.x86_64 -y
  yum localinstall gd-devel-2.0.35-11.el6.x86_64.rpm  -y

nagiosのインストール:

useradd nagios
usermod -G nagios apache
#       
#   nagios      
#  apache     nagios        ,   web       
tar jxf nagios-cn-3.2.3.tar.bz2
#nagios     
cd nagios-cn-3.2.3
./configure �Cenable-embedded-perl
make all      //        
make install
make install-init
make install-commandmode
make install-config
make install-webconf   // apache             

nagios-pluginsのインストール:

yum install mysql-devel openssl-devel -y
tar zxf nagios-plugins-1.4.15.tar.gz
cd nagios-plugins-1.4.15
./configure --with-nagios-user=nagios --with-nagios-group=nagios --enable-extra-opts --enable-libtap --enable-perl-modules
make
make install

構成nagios:

vi /usr/local/nagios/etc/nagios.cfg

   #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg #   localhost.cfg  
   cfg_file=/usr/local/nagios/etc/objects/services.cfg  #   services.cfg   ,          
   cfg_file=/usr/local/nagios/etc/objects/hosts.cfg   #   hosts.cfg   ,          


設定cfg:

vi /usr/local/nagios/etc/objects/hosts.cfg

define host{                     //     
use linux-server                  //         
host_name vm2.example.com        //   
alias Nagios vm2                  //    
address 127.0.0.1                 //  ip  
icon_image switch.gif              //  
statusmap_image switch.gd2          
2d_coords 100,200                //2D    
3d_coords 100,200,100             //3D    
}
define hostgroup{                //      
hostgroup_name linux-servers        //     
alias Linux Servers                //  
members *                      //*        


mysqlの構成---nagdb専用データベースの構築

mysql> create database nagdb default CHARSET=utf8;

Query OK, 1 row affected (0.01 sec)


mysql> grant select on nagdb.* to 'nagios'@'%';

Query OK, 0 rows affected (0.00 sec)


mysql> update mysql.user set 'Password' = PASSWORD('nagios') where 'User'='nagios';

ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ''Password' = PASSWORD('nagios') where 'User'='nagios'' at line 1
mysql> update mysql.user set Password = PASSWORD('nagios') where user='nagios';
Query OK, 1 row affected (0.03 sec)
Rows matched: 1 Changed: 1 Warnings: 0


mysql> flush privileges;

Query OK, 0 rows affected (0.00 sec)

----次のコマンドで検証します.

[root@node2 etc]# /usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios

Uptime: 3374 Threads: 1 Questions: 11 Slow queries: 0 Opens: 33 Flush tables: 1 Open tables: 26 Queries per second avg: 0.003


メモ:/usr/local/nagios/libexec/check_が表示された場合mysql: error while loading shared libraries: libmysqlclient.so.18:cannot open shared object file:No such file or directory$MYSQL_を参照してくださいHOME/lib   

[root@node2 lib]# ln -s ./libmysqlclient.so.18.0.0 /usr/lib/libmysqlclient.so.18

nrpeを構成します.cfg

[root@node2 etc]# tail /usr/local/nagios/etc/nrpe.cfg 

command[check_mysql]=/usr/local/nagios/libexec/check_mysql -H 192.168.1.152 -u nagios -d nagdb -p nagios  //    


nagiosサービス側の構成

[root@node1 etc]# cat services.cfg    //      

define service{
    use               local-service
    host_name            node2
    service_description       mysql
    check_command          check_nrpe!check_mysql
    notifications_enabled      1
    }


最後にnrpeとサービス側のnagiosを再起動します.