オープンソース監視システム統合Nagios+Cacti+Nconf


環境の準備:
今後の構成のためのインストール環境の構築

  
  
  
  
  1. yum install -y http* 
  2. yum install -y mysql* 
  3. yum install -y php-* 
  4. yum install -y net-snmp* 
  5. yum install -y httpd gcc glibc glibc-common gd gd-devel php php-gd ntp 

一:Nagios環境の構築
1.nagiosのインストール

  
  
  
  
  1. wget http://sourceforge.net/projects/nagios/files/nagios-3.x/nagios-3.3.1/nagios-3.3.1.tar.gz 
  2. tar zxf nagios-3.3.1.tar.gz 
  3. cd nagios 
  4. ./configure --prefix=/var/www/html/nagios 
  5. make all 
  6. useradd nagios 
  7. make install && make install-init && make install-commandmode && make install-config && make install-webconf 

2.nagiosログイン認証ファイルを追加し、デフォルトのnagiosadminをユーザーとして使用する必要があります.そうしないと、他のファイルを変更する必要があります. 

  
  
  
  
  1. htpasswd -c /var/www/html/nagios/etc/htpasswd.users nagiosadmin  

3.プラグインをインストールする

  
  
  
  
  1. wget http://sourceforge.net/projects/nagiosplug/files/nagiosplug/1.4.15/nagios-plugins-1.4.15.tar.gz 
  2. tar -xf nagios-plugins-1.4.15.tar 
  3. cd nagios-plugins-1.4.15 
  4. ./configure --prefix=/var/www/html/nagios/ 
  5. make 
  6. make install  

4.Apacheを実行しているユーザーをnagiosグループに追加します.これにより、Apacheはファイルを読み込む権限があります.

  
  
  
  
  1. usermod -G nagios apache    ## apache nagios 。 

5.段階テスト

  
  
  
  
  1. chown nagios.nagios /var/www/html/nagios/ -R 
  2. service httpd restart  
  3. chkconfig httpd on   
  4. /etc/init.d/nagios start 

 
二:cacti環境の構築
1.rrdtoolのインストール、ここでインストールする必要があるのは:rrdtool,rrdtool-devel.rrdtool-perl,rrdtool-php,私はここでrrdtoolのツールを提供していません.ここで上記の3つのパッケージをダウンロードする必要があります.http://packages.express.org/rrdtool/
ダウンロード完了後、ローカルyumインストール

  
  
  
  
  1. yum localinstall -y --nogpgcheck rrdtool-* 
  2. service mysqld start 

2.snmpの構成

  
  
  
  
  1. vim /etc/snmp/snmp.conf 
  2.       #  3   127.0.0.1 、 all、 ( Cacti , ) 
  3. service snmpd restart 

 
3.cactiのインストール

  
  
  
  
  1. wget http://www.cacti.net/downloads/cacti-0.8.7h.tar.gz 
  2. tar zxvf cacti-0.8.7h.tar.gz 
  3. mv cacti-0.8.7h /var/www/html/cacti 

4.cactiデータベースの作成

  
  
  
  
  1. mysql> create database cacti; 
  2. mysql> grant all on cacti.* to 'cacti'@'localhost' identified by 'cacti'
  3. mysql> flush privileges; 

5.作成したデータベースにcactiのテーブル内容をインポートする

  
  
  
  
  1. cd /var/www/html/cacti 
  2. mysql -ucacti -pcacti cacti < /var/www/html/cacti/cacti.sql 

6.2つずつ編集する.phpファイルは、環境に適応し、変更内容が同じです.

  
  
  
  
  1. vim /var/www/html/cacti/include/config.php 
  2. vim /var/www/html/cacti/include/global.php  

$database_default = "cacti";//デフォルトデータベース名
$database_hostname = "localhost";//ホスト名
$database_username = "cacti";//データベースユーザー名の登録
$database_password = "cacti";//データベースへのログインパスワード
$database_port = "3306";

  
  
  
  
  1. useradd –r –M cacti 
  2. chown –R cacti /var/www/html/cacti/rra/ 
  3. chown –R cacti /var/www/html/cacti/log/ 

7.cactiユーザーの下で計画タスクを作成して図を描く

  
  
  
  
  1. su cacti 
  2. crontab –e 
  3. */5 * * * * php /var/www/html/cacti/poller.php > /dev/null 2>&1 
  4. php /var/www/html/cacti/poller.php > /dev/null 2>&1 
  5. exit  

8.Webページからcactiを起動し、インストールし、グラフィックスインタフェースを表示する
三:NagiosとCactiの統合
1.ndoutilsをダウンロードしてインストールする

  
  
  
  
  1. wget http://sourceforge.net/projects/nagios/files/ndoutils-1.x/ndoutils-1.4b9/ndoutils-1.4b9.tar.gz/download 
  2. tar zxvf ndoutils-1.4b9.tar.gz  
  3. cd ndoutils-1.4b9 
  4. ./configure --prefix=/var/www/html/nagios --enable-mysql --disable-pgsql --with-mysql-inc=/usr/include/mysql --with-mysql-lib=/usr/lib/mysql 
  5. make 

2.プロファイルの準備

  
  
  
  
  1. cp -v src/{ndomod-3x.o,ndo2db-3x,file2sock,log2ndo} /var/www/html/nagios/bin 
  2. cd db 
  3. ./installdb -ucacti -pcacti -hlocalhost -d cacti 
  4. cd .. 
  5. cp -v config/{ndo2db.cfg-sample,ndomod.cfg-sample} /var/www/html/nagios/etc 
  6. mv /var/www/html/nagios/etc/ndo2db.cfg-sample /var/www/html/nagios/etc/ndo2db.cfg 
  7. mv /var/www/html/nagios/etc/ndomod.cfg-sample /var/www/html/nagios/etc/ndomod.cfg 
  8. chmod 644 /var/www/html/nagios/etc/ndo* 
  9. chown nagios:nagios /var/www/html/nagios/etc/* 
  10. chown nagios:nagios /var/www/html/nagios/bin/* 

3.nagiosを修正する.cfgプロファイルは現在の環境に適応する

  
  
  
  
  1. vim /var/www/html/nagios/etc/nagios.cfg 
  2.    #  : 
  3.      broker_module=/var/www/html/nagios/bin/ndomod-3x.o config_file=/var/www/html/nagios/etc/ndomod.cfg 
  4.    #    
  5.      event_broker_options=-1     ##  Nagios event broker 

4.ndo 2 dbを修正する.cfgは現在の環境に適応する

  
  
  
  
  1. vim /var/www/html/nagios/etc/ndo2db.cfg 
  2.  #   
  3.      socket_type=tcp 
  4.      db_servertype=mysql 
  5.      db_host=localhost 
  6.      db_port=3306 
  7.   
  8.      db_name=cacti 
  9.   
  10.      db_prefix=nagios_ 
  11.      db_user=cacti 
  12.      db_pass=cacti 

5.ndomodを修正する.cfgは現在の環境に適応する

  
  
  
  
  1. vim /var/www/html/nagios/etc/ndomod.cfg 
  2.     
  3.     output_type=tcpsocket 
  4.     output=127.0.0.1 

6.ndo 2 dbに起動プロセスを追加する

  
  
  
  
  1. cp ./daemon-init /etc/init.d/ndo2db 
  2. vim /etc/init.d/ndo2db
  3.    #  “//", Ndo2dbBin : 
  4.      Ndo2dbBin=/var/www/html/nagios/bin/ndo2db-3x 
  5. chmod +x /etc/init.d/ndo2db  

7.デーモンプロセスとnagiosの開始

  
  
  
  
  1. service ndo2db start 
  2. tail -20 /var/log/messages    ##  。  
  3. service nagios start

四:ncpをインストールし、CactiにNagiosを表示する
1.cacti拡張モジュールをインストールする

  
  
  
  
  1. wget http://www.cacti.net/downloads/pia/cacti-plugin-0.8.7h-PA-v3.0.tar.gz 
  2. tar xvf cacti-plugin-0.8.7h-PA-v3.0.tar.gz  
  3. cp -R cacti-plugin-arch/* /var/www/html/cacti/ 
  4. cd /var/www/html/cacti/ 
  5. mysql -ucacti -pcacti cacti < pa.sql  
  6. patch -p1 -N < cacti-plugin-0.8.7h-PA-v3.0.diff   
  7.  ##  cacti include/config.php  include/config.php.dist , 。 

  
  
  
  
  1. vim include/config.php 
  2.    #  ( )  
  3.     $url_path = "/cacti/"

Webからcactiに入り、cacti plugin拡張を有効にします.
2.npcのインストール

  
  
  
  
  1. tar zxvf npc-2.0.4.tar.gz 
  2. mv npc /var/www/html/cacti/plugins/ 
  3. vim /var/www/html/cacti/include/config.php 
  4.     #  : 
  5.      $plugins[] = 'npc'

3.npcのインストールサポート:json

  
  
  
  
  1. wget http://pkgs.fedoraproject.org/repo/pkgs/php-pecl-json/json-1.2.1.tgz/d8904d2f004ceec85eeacf524cd25539/json-1.2.1.tgz 
  2. tar zxvf json-1.2.1.tgz  
  3. cd json-1.2.1 
  4. phpize   ##  Phpize , php-devel   
  5. ./configure  
  6. make && make install 
  7.   
  8. php -i | grep php.ini  ##   

4.phpを開く.iniファイルjsonのサポートの追加

  
  
  
  
  1. vim /etc/php.ini 
  2.    #   
  3.     extension=json.so 

5.apacheにphpサポートを追加します.

  
  
  
  
  1. vim /etc/httpd/conf/httpd.conf  
  2.    #  : 
  3.      AddType application/x-httpd-php .php .phtml 
  4.    #  DirectoryIndex : 
  5.      DirectoryIndex index.html index.html.var index.php 
  6.  
  7. usermod -G cacti apache 
  8. service httpd restart    ##  apache php  
  9. php -m   ##  json  

6.npcが新しいデータを読み込むようにプロファイルを変更します.

  
  
  
  
  1. vim /var/www/html/nagios/etc/ndo2db.cfg 
  2.      db_prefix=npc_ 

6.1
WebからCactiに入り、npcオプションが正しく使用されていることを確認します.
6.2 mysqlのテーブル構造を変更するには、次の手順に従います.

  
  
  
  
  1. ./mysql -ucacti -p cacti 
  2. mysql> use cacti;
  3. mysql> alter table npc_eventhandlers add long_output TEXT NOT NULL default '' after output; 
  4. mysql> alter table npc_hostchecks add long_output TEXT NOT NULL default '' after output; 
  5. mysql> alter table npc_hoststatus add long_output TEXT NOT NULL default '' after output; 
  6. mysql> alter table npc_notifications add long_output TEXT NOT NULL default '' after output; 
  7. mysql> alter table npc_servicechecks add long_output TEXT NOT NULL default '' after output; 
  8. mysql> alter table npc_servicestatus add long_output TEXT NOT NULL default '' after output; 
  9. mysql> alter table npc_statehistory add long_output TEXT NOT NULL default '' after output; 
  10. mysql> alter table npc_systemcommands add long_output TEXT NOT NULL default '' after output; 

7.ndo 2 dbプロセスを再起動し、プロファイルを再ロードしてnagiosサービスを再起動します.

  
  
  
  
  1. service ndo2db restart 
  2. service nagios restart 

8.正常な読み取り動作のために、Web上にNPCを配置する.
Settings->npcでRemote Commandsをチェック
Nagios Command File Path=/var/www/html/nagios/var/rw/nagios.cmd
Nagios URL=あなたのアドレス(http://ocalhost/nagios/)
次にnpcをリフレッシュすると、データが表示されます.
 
五:Nconfのインストールと構成
1.nconfの準備

  
  
  
  
  1. #  mysql   
  2. mysql> create database nconf;   
  3. #  nconf   
  4. mysql> grant all privileges on nconf.* to nconf@localhost identified by 'nconf';  
  5. #  nconf     
  6. mysql> flush privileges;    
  7. #    
  8. mysql> quit  

2.nconfのインストール

  
  
  
  
  1. wget http://sourceforge.net/projects/nconf/files/nconf/1.2.6-0/nconf-1.2.6-0.tgz/download 
  2. tar -zxf nconf-1.2.6-0.tgz -C /var/www/html/  
  3. cd /var/www/html/nconf  
  4. chown -R apache.apache config/ temp/ static_cfg/ output/  

3.WebページにアクセスしてWebページにインストールの指示に従って一歩一歩インストールする
4.先ほど作成したnconfデータベースとnconfデータベースのユーザー/パスワードを使用

5.mysqlデータベースに正常に接続した後、すべてデフォルトを維持し、以下のnconf管理者パスワードを設定するまで、デフォルトのログインユーザーはadminである.

6.その後、Webページのインストールが完了します.

  
  
  
  
  1. rm -rf INSTALL INSTALL.php  UPDATE UPDATE.php   
  2.  #    
  3. ln -s /var/www/html/nagios/bin/nagios bin/nagios   
  4. chmod +x /var/www/html/nconf/bin/generate_config.pl   
  5. chown -R apache.apache  bin  
  6. chmod +x /var/www/html/nagios/bin/nagios 
  7. chmod +x /var/www/html/nconf/ADD-ONS/deploy_local.sh    
  8. vim /var/www/html/nconf/ADD-ONE/deploy_local.sh  
  9. Nagios /var/www/html/nagios    

7.ページを再更新し、admin/設定したパスワードを入力し、nconfページに進む
 
8.Generate Nagios configをクリック
プロファイルを生成してnagiosとテストする
成功した関連付け
 
9.最後の設定

Webで
ページのモニタリングサービスとホストの構成が完了したら、Generate Nagios configをクリックします.
②deploy_local.sh
nconfです
セルフプロファイルインポートスクリプト

  
  
  
  
  1. /var/www/html/nconf/ADD-ONS/deploy_local.sh 

このスクリプトを手動で実行すると、/var/www/html/nagios/etc
次の2つのディレクトリDefault_を生成します.collector
とglobal

nagiosの変更
プライマリプロファイル

  
  
  
  
  1. vim /var/www/html/nagios/etc/nagios.cfg  
  2.    #  cfg_file=*******  ,  
  3.      cfg_dir=/var/www/html/nagios/etc/Default_collector 
  4.      cfg_dir=/var/www/html/nagios/etc/global 
  5. service nagios reload 
  6.    #  nagios  

六:間違いの総括:
1.ndo 2 dbを起動してログエラーを発見する:
ndomod: Could not open data sink! I'll keep trying, but some output may get lost...
解決策:
/nagios/etcディレクトリの権限が十分大きいかどうかを確認します.
/var/www/html/nagios/etc/nagiosを確認します.cfgに下りがある場合は、自分で追加してください.
event_broker_options=-1 
ndo 2 dbを検査する.cfgの構成で、tcp接続が使用されていることを確認します.
socket_type=tcp
チェックしてcfgの構成、tcpソケットの使用を確保
output_type=tcpsocket
 
 2...もちろんまだエラーは発見されていません.もしあれば、引き続き補充します.ネットユーザーがインストールの配置の過程でエラーを発見して積極的に交流することを歓迎します.私は一つ一つ追加します.
七:最後のスタイル