在原始碼安裝的LAMP環境中搭建Nagios

技術小胖子發表於2017-11-16
在原始碼安裝的LAMP環境中搭建Nagios
在這個專案中/usr/local/nagios/etc下面的檔案是採用拷貝其它機器上的檔案方式,所以如果涉及該目錄中檔案的修改都要根據具體情況而言!)

首選 檢視日期時間是否準確,如不準確就將Ntpdate寫入Crontab進行網路對時,
*/1 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1
將上面這行寫入Crontab中,
Service crond restart
重啟進行生效
一:安裝Mysql

   52  tar -xzvf mysql-5.0.22.tar.gz
解壓Mysql
   53  rpm -qa |grep mysql
檢查系統中是否安裝了Rpm包的Mysql           Httpd    Php,有則進行刪除
進入Mysql目錄
   59  cd mysql-5.0.22
首先新增一個Mysql使用者,用這個使用者來跑Mysql
   61  useradd mysql
再配置安裝環境
   63  ./configure –prefix=/usr/local/mysql
再進行編譯和安裝
   64  make
   65  make install
然後將源配置檔案拷貝到目的路徑下
   67  cp /usr/local/mysql/share/mysql/my-medium.cnf /etc/my.cnf
安裝好資料庫後,進行初始化,記得要使用之前建立的使用者
   69  /usr/local/mysql/bin/mysql_install_db –user=mysql
Mysql的目錄許可權進行設定
   71  chown -R root /usr/local/mysql
   72  chown -R mysql /usr/local/mysql/var
   73  chgrp -R mysql /usr/local/mysql
Mysql以後臺方式執行起來
   74  /usr/local/mysql/bin/mysqld_safe –user=mysql&
並且新增到自動啟動中
   76  echo `/usr/local/mysql/bin/mysqld_safe –user=mysql&`>>/etc/rc.d/rc.local
MysqlRoot使用者的密碼進行更改
   80  /usr/local/mysql/bin/mysqladmin -u root password `123456`
連線到資料庫,測試密碼是否更改成功
   81  /usr/local/mysql/bin/mysql -u root –p
編譯Mysql的配置檔案,並且新增三行引數,
   84  vi /etc/my.cnf
//新增以下行

[mysqld]

set-variable=max_connections=1000

set-variable=max_user_connections=500

set-variable=wait_timeout=200

Mysql程式殺死,再重新跑Mysql

   86  killall mysqld
   90  /usr/local/mysql/bin/mysqld_safe –user=mysql&
檢查3306埠是否開啟
   92  netstat -an |grep 3306
   94  /usr/local/mysql/bin/mysqladmin -uroot -p variables |grep max
再檢視最大連線數,看剛才的修改是否生效
二:安裝Apache
Apache進行解壓
   97  tar -xzvf httpd-2.2.8.tar.gz
   98  cd httpd-2.2.8
進行配置環境,編譯和安裝
  102  ./configure –prefix=/usr/local/apache2 –enable-so
  103  make;make install
修改Apache配置檔案,將ServerName去掉註釋並將後面改成本機IP
  104  vi /usr/local/apache2/conf/httpd.conf
測試一下Apache配置檔案的語法
  106  /usr/local/apache2/bin/apachectl –t
啟動Apache
  107  /usr/local/apache2/bin/apachectl -k start&
Apache新增到自動啟動中
  108  echo `/usr/local/apache2/bin/apachectl -k start&`>>/etc/rc.d/rc.local
檢查Apache的埠是否跑起來了
  111  netstat -an |grep 80
:安裝Gd

使用Yum安裝好GD jpeg libpng freetype 
  113  yum -y update zlib-devel zlib libpng-devel libpng freetype-devel freetype libjpeg-devel libjpeg fontconfig-devel fontconfig libxml2-devel libxml2 libxml2-python gd-devel gd
:安裝Php

接下來將Php進行解壓
  116  tar -xzvf php-5.2.5.tar.gz
  117  cd php-5.2.5
配置Php之前要拷貝這個檔案才行
  119  cp /usr/include/gd.h /usr/lib/gd.h
Php進行配置,編譯和安裝
  121  ./configure –prefix=/usr/local/php5 –with-apxs2=/usr/local/apache2/bin/apxs –with-mysql=/usr/local/mysql –with-gd=/usr/lib –with-freetype-dir –with-png-dir –with-jpeg-dir –with-zlib –enable-gd-jis-conv –enable-xml –enable-sockets
  122  make
  123  make install
將源模板配置拷貝到目的路徑下
  124  cp php.ini-recommended /usr/local/php5/lib/php.ini
編輯Apache配置檔案
  126  vi /usr/local/apache2/conf/httpd.conf
查詢AddType application/x-compress .Z
AddType application/x-gzip .gz .tgz

在其下加入 AddType application/x-tar .tgz

AddType application/x-httpd-php .php

AddType image/x-icon .ico

修改DirectoryIndex 行,新增index.php

修改為DirectoryIndex index.php index.html

 

然後進入ApacheDocument目錄下建立一個Php檔案

  132  cd /usr/local/apache2/htdocs/
  133  vi index.php
Index.php內容如下
<?php
Phpinfo();
?>
Apache關閉再重新啟動
  135  /usr/local/apache2/bin/apachectl -k stop
  136  /usr/local/apache2/bin/apachectl -k start

 

 

:安裝Rrdtool

首先將libart_lgpl-devel使用Yum安裝好(Rrdtool安裝需要)
   39  yum install libart_lgpl-devel
Cgilib解壓
  143  tar -xzvf cgilib-0.5.tar.gz
  144  cd cgilib-0.5
Cgilib編譯,但不要安裝
  146  make
將這兩個檔案複製到庫目錄下(安裝Rrdtool時需要)
  150  cp cgi.h /usr/include/
  151  cp libcgi.a /usr/local/lib
Rrdtool進行解壓
  154  tar -xzvf rrdtool.tar.gz
Rrdtool進行配置,編譯和安裝
  157  ./configure –prefix=/usr/local/rrdtool
  158  make
  159  make install

 

:安裝Nagios

Nagios進行解壓
  163  tar -xzvf nagios-2.12.tar.gz
  164  cd nagios-2.12
進行配置,並安裝(根據提示),不過先要建立好Nagios使用者和Nagios目錄
  167  ./configure –prefix=/usr/local/nagios
  168  make all
  170  useradd nagios
  171  mkdir /usr/local/nagios
  172  chown nagios.nagios /usr/local/nagios
  173  clear
  174  make install
  175  make install-init
  176  make install-commandmode
  177  make install-config
安裝Nagios外掛,將外掛進行解壓
  181  tar -xzvf nagios-plugins-1.4.11.tar.gz
  182  cd nagios-plugins-1.4.11
Nagios外掛進行配置,編譯和安裝
  184  ./configure –prefix=/usr/local/nagios
  185  make
  186  make install
安裝Nagios-snmp的外掛
  188  tar -xzvf nagios-snmp-plugins.1.1.1.tgz
  189  cd nagios_plugins/
檢視安裝說明

  191  vi README
首先要安裝好Cpan,參考站點:[url]http://gzmaster.blog.51cto.com/299556/66897[/url]

  192  perl -MCPAN -e shell
如果已經滿足安裝條件的話,再執行install這個指令碼
  194  ./install.sh
如果nagios-snmp外掛裝好後,就會在$NAGIOS/libexec目錄下生成check_snmp_int.pl

 
:安裝Pnp

首先將Pnp進行解壓
  198  tar -xzvf pnp-0.4.9.tar.gz
  199  cd pnp-0.4.9
Pnp進行配置,編譯和安裝
  206  ./configure –with-rrdtool=/usr/local/rrdtool/bin/rrdtool –with-perfdata-spool-dir=/usr/local/nagios/share/perfdata/
  207  make all
  208  make install
  209  make install-config
Nagios啟動起來
  211  /usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg
Nagios新增到自動啟動中
  212  echo `/usr/local/nagios/bin/nagios -d /usr/local/nagios/etc/nagios.cfg`>>/etc/rc.d/rc.local
$NAGIOS目錄的所有者及所屬目錄的所有者設定為Nagios使用者和Nagios
  215  chown -R nagios.nagios /usr/local/nagios
進入Pnp目錄,將模板檔案改名
  218  cd /usr/local/nagios/etc/pnp/
  220  mv rra.cfg-sample rra.cfg
  221  mv npcd.cfg-sample npcd.cfg
  222  mv process_perfdata.cfg-sample process_perfdata.cfg
  223  cd pages/
  225  mv web_traffic.cfg-sample web_traffic.cfg
  229  cd check_commands/
  231  mv check_nwstat.cfg-sample check_nwstat.cfg
再將process_perfdata.cfg檔案中的log_level設定為2,以生成日誌

vi /usr/local/nagios/etc/pnp/process_perfdata.cfg
再將Nagios重新啟動
  235  service nagios restart
將機器重新啟動
  246  reboot
檢視是否有Rrd資料生成

  257  ls /usr/local/nagios/share/perfdata/
檢視Apache的執行使用者,將該使用者加入到Nagios組中
  262  grep ^User /usr/local/apache2/conf/httpd.conf
  263  usermod -G nagios daemon
修改Apache配置檔案,並且新增訪問控制
  265  vi /usr/local/apache2/conf/httpd.conf
訪問控制的內容如下
#setting for nagios 20070707
ScriptAlias /nagios/cgi-bin /usr/local/nagios/sbin
<Directory “/usr/local/nagios/sbin”>
    Options ExecCGI
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName “Nagios Access”
    AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
    Require valid-user
</Directory>

 

Alias /nagios /usr/local/nagios/share
<Directory “/usr/local/nagios/share”>
    Options None
    AllowOverride None
    Order allow,deny
    Allow from all
    AuthName “Nagios Access”
    AuthType Basic
AuthUserFile /usr/local/nagios/etc/htpasswd
    Require valid-user
</Directory>
再生成訪問密碼檔案
  267  /usr/local/apache2/bin/htpasswd -c /usr/local/nagios/etc/htpasswd test
修改Apache檔案後,要將Apache重啟才能生效
  274  killall httpd
  275  /usr/local/apache2/bin/apachectl -k start
再檢視NagiosRrd檔案生成目錄
  270  tail -f /usr/local/nagios/var/perfdata.log
再檢查有沒有Rrd資料生成
  271  ls /usr/local/nagios/share/perfdata/
這時應該可以看到有資料生成了。



     本文轉自fine102 51CTO部落格,原文連結:http://blog.51cto.com/gzmaster/79312,如需轉載請自行聯絡原作者




相關文章