顯示文章

這裡允許您檢視這個會員的所有文章。請注意, 您只能看見您有權限閱讀的文章。


主題 - wlhfor

頁: [1]
1
LDAP 討論區 / cacti安裝筆記
« 於: 2012-12-17 17:36 »
Cacti 執行環境建立

要安裝Cacti 程式之前請先確認系統的部分功能已經完成安裝,所包含的部分有php,MySQL,snmp等功能,如果沒有提供簡單的指令請先將這些功能建立好。

Step 1. 安裝php 程式執行環境。

[root@localhost ~]# yum -y install php php-devel php-snmp php-mysql php-xml

 
Step 2. 安裝mysql 資料庫軟體。
[root@localhost ~]# yum -y install mysql mysql-server mysql-devel
 
Step 3. 安裝snmp 訊息服務。
[root@localhost ~]# yum -y install net-snmp net-snmp-devel net-snmp-utils
 
Step 4. 取得rrdtool 第三方安裝套件。
[root@localhost ~]# wget http://dag.wieers.com/rpm/packages/rpmforge-release/rpmforge-release-0.3.6-1.el5.rf.i386.rpm
 
Step 5. 使用rpm 安裝第三方支援套件。
[root@localhost ~]# rpm -Uvh rpmforge-release-0.3.6-1.el5.rf.i386.rpm
 
Step 6. yum 安裝rrdtool 程式。
[root@localhost ~]# yum -y install rrdtool

開啟服務:
service httpd start
service mysqld start
service snmpd start
service crond start
chkconfig httpd on
chkconfig mysqld on
chkconfig snmpd on
chkconfig crond on
 
Step 7. 以上的軟體安裝完畢後請檢查檢查幾個項目是否有正確安裝,檢查的指令使用
[root@localhost ~]# php -m
 
Step 8. 需要檢查的項目mysql,snmp,xml,session,sockets。
[root@localhost ~]# php -m | grep mysql
[root@localhost ~]# php -m | grep snmp
[root@localhost ~]# php -m | grep xml
[root@localhost ~]# php -m | grep session
[root@localhost ~]# php -m | grep sockets
 
 
MySQL 資料庫服務安裝
確認都有安裝需要的套件後請啓動MySQL 服務,並且進行MySQL 資料庫設定。
Step 1. 啓動MySQL 資料庫服務。
[root@localhost ~]# service mysqld start
 
Step 2. 設定MySQL 資料庫管理密碼。
[root@localhost ~]# mysqladmin --user=root password <要設定的密碼>
 
 
安裝Cacti 程式
Step 1. 切換資料夾到html 目錄下。
[root@localhost ~]# cd /var/www/html/

[root@localhost ~]# wget http://www.cacti.net/downloads/cacti-0.8.7e.tar.gz      //0.8.7e匯入舊版設定有問題,建議用0.8.8以上的版本
 
Step 2. 解壓縮檔案到資料夾中。
[root@localhost html]# tar -xzvf cacti-0.8.7e.tar.gz               //0.8.7e匯入舊版設定有問題,建議用0.8.8以上的版本
 
Step 3. 修改資料夾名稱爲cacti 作爲後續正式使用。
[root@localhost html]# mv cacti-0.8.7e cacti

Step 4. 建立cacti 資料庫
[root@localhost html]# mysqladmin --user=root --password=安裝MYSQL Step2設定的密碼 create cacti
 
Step 5. 切換到cacti 資料夾中。
[root@localhost html]# cd cacti

Step 6. 將cacti.sql 的資料表匯入到cacti 資料庫中。
[root@localhost cacti]# mysql --user=root --password=安裝MYSQL Step2設定的密碼 cacti < cacti.sql

Step 7. GRANT 權限給其他的使用者。(這一個部分如果只有一個root 的使用者就可以先略過不設定。)
登入mysql 資料庫。
[root@localhost cacti]# mysql --user=root --password=安裝MYSQL Step2設定的密碼 mysql
 
Step 8. GRANT cacti 資料庫權限給Cacti 資料庫使用者。
mysql > GRANT ALL ON cacti.* TO 帳號@主機名稱(預設是localhost) IDENTIFIED BY ‘密碼’;
mysql > flush privileges;
mysql > exit

[root@localhost cacti]# vim include/config.php
$database_type = "mysql";
$database_default = "cacti"; /* 設定資料庫名稱 */
$database_hostname = "localhost";
$database_username = "root"; /* 設定資料庫帳號 */      //Step 8設定的帳號
$database_password = "abcd1234"; /* 設定資料庫密碼 */     //Step 8設定的帳號
$database_port = "3306"; /* 設定資料庫連線的PORT */
$database_ssl = false;
$url_path = "/cacti/";
 
Step 10. 設定防火牆開啓MySQL 資料庫通訊PORT。(沒防火牆跳過)
[root@localhost cacti]# vim /etc/sysconfig/iptables
-A RH-Firewall-1-INPUT -m state --state NEW -m tcp -p tcp --dport 3306 -j ACCEPT
 
Step 11. 重新啓動防火牆服務。(沒防火牆跳過)
[root@localhost cacti]# service iptables restart
 
Step 12. # 更改目錄權限
chown -R apache:apache /var/www/html/cacti

 
Step 13. 設定Cacti 的排程設定,每5分鐘更新一次。
[root@localhost cacti]# vi /etc/crontab
*/5 * * * * apache php /var/www/html/cacti/poller.php > /dev/null 2>&1   

注意:請勿使用root執行上面命令,不然還要在執行上一步驟(設定log及rra資料夾權限)。

Step 14.修改etc/snmp/snmpd.conf
vi /etc/snmp/snmpd.conf
view    systemview    included   .1.3.6.1.2.1.1
view    systemview    included   .1.3.6.1.2.1.25.1.1
view systemview included .1.3.6.1.2.1.2     -->若要監控interface要新增這行

 
 檢查SNMP
 snmpwalk -c public -v 1 localhost system       //檢查snmp version 1
 snmpwalk -c public -v 2c localhost system       //檢查snmp version 2

完成Cacti 安裝進入首次使用設定畫面。
Step 1. 連結http://IP/cacti 連線Cacti 系統,並開始第一次使用設定。
圖形設定請參考下列網址:
http://download.ithome.com.tw/article/index/id/288

2
LDAP 討論區 / Nagios安裝筆記
« 於: 2012-12-17 17:35 »
教學是參考這篇,該討論區可以用FB的帳號登入,登入後才可以看到圖
http://www.tshopping.com.tw/thread-58268-1-1.html
鳥哥討論區
http://phorum.vbird.org/viewtopic.php?f=2&t=34270
CentOS6.2    mini安裝

1.安裝相關套件
yum  -y groupinstall "Development Libraries" "Development Tools"     //這兩個套件可以在安裝CentOS時就選取,少安裝這兩個,在做make,make install時會有問題
yum -y install httpd gcc glibc glibc-common gd gd-devel mod_ssl openssl openssl-devel wget make xinetd  php                 //Server端安裝套件

yum -y install gcc glibc glibc-common gd gd-devel mod_ssl openssl openssl-devel wget make xinetd                            //Client端安裝套件

停用iptables與selinux
server iptables stop
server ip6tables stop
chkconfig iptables off
chkconfig ip6tables off
vi /etc/selinux/config
改成如下:
SELINUX=disabled
init 6               //OS重開

-----------------------------------------------------------------------以上Server Client都要做---------------------------------------------------------------------------------

2..建立Nagios帳號                    //一開始就用root登入就不須切換
 轉換權限為root帳號
 su –l
 建立名為nagios的新帳號並設定密碼
 /usr/sbin/useradd –m nagios;passwd nagios

3. 建立名為nagcmd的新群組帳號,以允許外部指令可以經由Web介面傳送,
 並將系統的nagios與apache帳號,加進此群組。指令如下:
 /usr/sbin/groupadd nagcmd
 /usr/sbin/usermod –a –G nagcmd nagios
 /usr/sbin/usermod –a –G nagcmd apache
     檢查nagios與apache兩個帳號是否加入nagcmd的group
      cat /etc/group | grep nagcmd
      nagcmd:x:501:nagios,apache
     
4.下載Nagios原始檔與相關外掛附件(Plugins)
 建立存放Nagios與Plugins的目錄,例如:
 mkdir ~/downloads
 cd ~/downloads
      若要最新版本,請到官網取得下戴連結後,用wget下戴,簡中版本可在GOOGLE搜尋取得下戴網址,再用WGET取得
      http://www.nagios.org/

wget http://prdownloads.sourceforge.net/sourceforge/nagios/nagios-3.4.1.tar.gz                           //目前最新版
wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz        //目前最新版

5.下載Nagios之NRPE addon
 為了讓Nagios伺服器可以監看遠端Linux主機,需要額外安裝NRPE套件。
 (被監看的Linux主機亦須安裝,詳如後述)。下載方式為:
       wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz                             //最新版本也可以在nagios官網下戴

6..編譯與安裝Nagios
 解壓縮Nagios原始檔:
 tar zxvf nagios-3.4.1.tar.gz
       cd nagios                                                   //3.41版解壓縮完只會有nagios目錄,不會加版本號碼
       執行Nagios安裝設定程式,並提供nagios群組名稱nagcmd作為輸入參數:
 ./configure --with-command-group=nagcmd
 編譯Nagios原始檔:
 make all
 分別安裝Nagios Binary程式、初始程序init script、設定範例檔及設定外部指令存放目錄之權限,
 指令分別如下:
 make install
 make install-init
 make install-config
 make install-commandmode
       make install-webconf
 .客製化設定值
 另/usr/local/nagios/etc/objects/contacts.cfg設定檔中,需將nagiosadmin改成實際接收訊息的Email帳號。
       alias                           Nagios Admin            ; Full name of user
        email                           nagios@localhost        ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******        //這行就是警告信的寄件人,自定即可,也可以不改

      替Nagios之Web介面進行身分驗證保護,使用HTTP Basic Authentication方式:
 htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
 此代表將系統詢問的密碼,存放於/usr/local/nagios/etc/htpasswd.users,而使用此密碼的帳號
       

     7.接著請重新啟動Apache以套用新的設定值。
 #service httpd restart        //若有出現下列訊息,請修改/etc/httpd/conf/httpd.conf裡的ServerName,把前面#號拿掉,ServerName改一下即可,再重啟httpd
          Starting httpd: httpd: apr_sockaddr_info_get() failed for CentOS
           httpd: Could not reliably determine the server's fully qualified domain name, using 127.0.0.1 for ServerName
        #chkconfig httpd on


    8.編譯與安裝Nagios之外掛附件(Plugins)
 編譯與安裝Nagios之Plugins時,同樣進入下載目錄,並依照前述安裝Nagios之方式進行安裝:
 cd ~/downloads
 tar xzvf nagios-plugins-1.4.13.tar.gz
 cd nagios-plugins-1.4.13
 編譯與安裝Nagios之Plugins。
 ./configure --with-nagios-user=nagios --with-nagios-group=nagios
 make
 make install
 9.編譯與安裝NRPE
 cd ~/downloads
 tar xzvf nrpe-2.12.tar.gz
 cd nrpe-2.12
 ./configure
 make all
 make install-plugin
 10.啟動Nagios
 將Nagios服務登錄到系統服務列表中:
 chkconfig --add nagios
 chkconfig nagios on
 檢驗Nagios之設定值是否正確:
 /usr/local/nagios/bin/nagios –v /usr/local/nagios/etc/nagios.cfg
       之後請啟動Nagios。
 service nagios start
       此階段應可正常使用Nagios之Web介面。請使用瀏覽器登入下列URL:
        http://IP/nagios
        若出現
         You don't have permission to access /nagios/ on this server
         1 , #cd  /etc/httpd   | grep  –rH  ‘Include’ *
         2 ,# yum -y install php
         3 , #service  httpd  restart


11.Client端安裝

1.有關Nagios監看Linux主機,常見方式為使用Nagios的NRPE套件協助,此外尚需要Nagios Plugins,
 相關步驟依序如下:
 .建立Nagios帳號
 轉換權限為root帳號
 su –l
 建立名為nagios的新帳號並設定密碼
 /usr/sbin/useradd –m nagios
 passwd nagios
 2.下載NRPE與Nagios Plugins
        # wget http://prdownloads.sourceforge.net/sourceforge/nagiosplug/nagios-plugins-1.4.16.tar.gz
       #wget http://prdownloads.sourceforge.net/sourceforge/nagios/nrpe-2.13.tar.gz
   3.編譯與安裝Nagios Plugins
 cd ~/downloads
 tar xzvf nagios-plugins-1.4.13.tar.gz
       
 cd nagios-plugins-1.4.13
 ./configure --with-nagios-user=nagios --with-nagios-group=nagios
 make
 make install

4.編譯與安裝NRPE
 cd ~/downloads
 tar xzvf nrpe-2.12.tar.gz
 cd nrpe-2.12
 ./configure
 make all
 make install-plugin
 make install-daemon
 make install-daemon-config
 make install-xinetd
5.設定NRPE為系統服務
      限定可連線之監看主機IP
 修改/etc/xinetd.d/nrpe,限定僅有設定之Nagios監看主機。
 如圖1所示的10.3.89.17,主要修改only_from設定值,將其改為:
 only_from = 127.0.0.1 10.3.89.17                                                       //設定Nagios Server的IP

6.    指定NRPE欲使用之系統通訊埠
 修改/etc/services,使NRPE可以接收監看主機的連線需求。
 在此假定NRPE所用的通訊埠為TCP 5666,即增加下行於檔案中:
 nrpe 5666/tcp # nrpe daemon

7.–啟動xinetd服務
 service xinetd start

除了可以使用 xinetd 啟動 nrpe,nrpe 也是可以獨立啟動的
在 nrpe 被編譯完後,目錄裡會有個 init-script 檔,把它複製至 /etc/init.d/

cp -rp nrpe-2.12/init-script /etc/init.d/nrpe
chmod +x /etc/init.d/nrpe
chown nagios.nagios /usr/local/nagios
chown -R nagios.nagios /usr/local/nagios/libexec

就可以這樣子啟動 nrpe 了

/etc/init.d/nrpe start

再設定開機啟動

chkconfig nrpe on


8.啟動服務
      /usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
9.–檢查NRPE服務是否正常
 /usr/local/nagios/libexec/check_nrpe -H localhost
 若回應的訊息為NRPE及其版本資訊,即代表安裝成功。
10.修改NRPE設定檔
 NRPE主要設定檔為位於/usr/local/nagios/etc/nrpe.cfg,其中包含用來檢查的指令,
 如下列為檢查使用者的check_users,與檢查負載的check_load指令。
 -w代表Warning;-c代表Critical,分別表示訊息嚴重等級。如check_users。
 若系統同時使用者達到5個,則送出Warning等級訊息;若達到10個,就送出Critical等級訊息。

      此外在command[xxxx]中,其中xxxx代表可透過chek_nrpe指令,呼叫相關檢查指令,請依序進行檢查:
 /usr/local/nagios/libexec/check_nrpe -H localhost -c check_users
 /usr/local/nagios/libexec/check_nrpe -H localhost -c check_load
 /usr/local/nagios/libexec/check_nrpe -H localhost -c check_hda1
 /usr/local/nagios/libexec/check_nrpe -H localhost -c check_total_procs
 /usr/local/nagios/libexec/check_nrpe -H localhost -c check_zombie_procs
 若回應預期訊息,代表功能正常;反之,回應找不到指令的錯誤訊息,代表在”-c”後,
 所接的指令名稱有誤,或該指令名稱,對應/usr/local/nagios/etc/nrpe.cfg的設定值有誤,
 請再檢查排除。
 例如在check_hda1設定,由於NRPE預設是IDE介面硬碟機/dev/hda1,
 假如系統實際使用的硬碟機,為SCSI介面的(/dev/sda1),
 則請將/usr/local/nagios/etc/nrpe.cfg 的
 command[check_hda1]=/usr/local/nagios/libexec/check_disk –w 20% -c 10% -p /dev/hda1
 改為
 command[check_sda1]=/usr/local/nagios/libexec/check_disk –w 20% -c 10% -p /dev/sda1
 將/dev/hda1改為/dev/sda1。
 另外command[check_hda1]改為command[check_sda1]僅為方便識別,可自行決定是否變更,
 或改為通用名稱,如將hda1改為disk1。

Nagios伺服器與用戶端串連設定
 Linux受監看主機連結設定
 在Nagios伺服器與Linux主機用戶端的連結,採用NRPE進行資訊溝通。
 當Nagios伺服器安裝NRPE後,即可使用check_nrpe指令測試,指令為:
 /usr/local/nagios/libexec/check_nrpe –H ClientIP                                                   //在Nagios Server下指令
       若回應的訊息為NRPE及其版本資訊,即代表安裝成功。
若出現CHECK_NRPE: Error - Could not complete SSL handshake
1.在CLIENT端
     #vi /usr/local/nagios/etc/nrpe.cfg
          尋找allowed_hosts=127.0.0.1,Server端IP                     
       改完存檔離開
2.重啟nrpe
      #service xinetd restart
      #ps aux | grep nrpe                    //看NRPE的PID
      #kill -9 nrpe的PID
       #/usr/local/nagios/bin/nrpe -c /usr/local/nagios/etc/nrpe.cfg -d
       #netstat -an | grep ":5666"       //nrpe用的PORT,有找到表示服務有起來

另亦可使用下列指令,檢查遠端Linux主機的使用者數量。
 /usr/local/nagios/libexec/check_nrpe -H ClientIP -c check_users
有傳訊息回來表示client端已經OK

3.修改NagiosServer設定
#vi /usr/local/nagios/etc/objects/commands.cfg,增加check_nrpe設定
-----------------------------------------------------------請自行新增下列設定----------------------------------------------------------------------------
# 'check_nrpe' command definition
define command{
        command_name    check_nrpe
        command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
        }
----------------------------------------------------------------------------------------------------------------------------------------------------------------
4.新增監控設定檔
以類似設定Windows主機監看的方式,在/usr/local/nagios/etc/objects/增加名為linux.cfg的檔案
#cp /usr/local/nagios/etc/objects/windows.cfg /usr/local/nagios/etc/objects/linux.cfg

5.修改nagios.cfg
#vi /usr/local/nagios/etc/nagios.cfg
找下列這行MARK起來,新增另一行,才會吃自己的設定檔
#cfg_file=/usr/local/nagios/etc/objects/localhost.cfg
cfg_file=/usr/local/nagios/etc/objects/linux.cfg
改完存檔離開

6.修改linux.cfg

接下來處理服務的部份, 因為所有要監控的服務都會認主機名稱
使用 :%s/winserver/suseserver130/gc 將 define service{ } 內的
host_name winserver
改為
host_name suseserver130                       //設NagiosClinet的hostname
     

設定host
define host{
        use             linux-server    ; Inherit default values from a template
        host_name       NagiosClient    ; The name we're giving to this host                                                       //設NagiosClinet的hostname       
        alias           My Linux Server ; A longer name associated with the host                                                       
        address         192.168.1.231   ; IP address of the host                                                                                  //1台以上的機器用逗號隔開
        }



接下來定義群組

將原來的

代碼:
define hostgroup{
hostgroup_name  windows-servers ; The name of the hostgroup
alias   Windows Servers ; Long name of the group
}



改為

define hostgroup{
hostgroup_name  suse-servers ; The name of the hostgroup 可自行定義的群組名稱(短)
alias  SUSE Servers ; Long name of the group 可自行定義的群組名稱(長)
members   suseserver130 ;群組內的主機, 故要把相關的host_name寫入
}

設定要監控的服務
將define service{ } 內的 service_description 及 check_command
修改(由check_nt 改為check_nrpe)


設定服務
原來的:
代碼:
define service{
use   generic-service
host_name   suseserver130
service_description  NSClient++ Version
check_command  check_nt!CLIENTVERSION
}


改為(以線上使用者為例)

define service{
use generic-service
host_name suseserver130
service_description Online Users
check_command check_nrpe!check_users
}



define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check /
       check_command           check_nrpe!check_sda2
       }
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check /home
       check_command           check_nrpe!check_sda3
       }
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check Load
       check_command           check_nrpe!check_load
       }
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Total_Procs
       check_command           check_nrpe!check_total_procs
       }
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check SSH
       check_command           check_nrpe!check_ssh
       }
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check SMTP
       check_command           check_nrpe!check_smtp
       }

注意:
check_command           check_nrpe!check_ssh
這裡的Service必須在nagiosclient的nrpe.cfg中定義才能使用
exp:
NagiosServer的linux.cfg
define service{
       use                     generic-service
       host_name               suseserver130
       service_description     Check Load
       check_command           check_nrpe!check_load
       }
NagiosClinet的nrpe.cfg必須先有下面的定義

command[check_load]=/usr/local/nagios/libexec/check_load -w 15,10,5 -c 30,25,20


以上設定完,可連進nagios webUI看

3
Dear 各位大大:

小弟做了Ldap(未加密)+publicKey authenticate+sudo

登入都正常,但sudo -i時不須密碼就登入了,小弟希望能加密碼,但小弟查了Sudoers LDAP Manualhttp://www.sudo.ws/sudoers.ldap.man.html#sudooption並沒有passwd的屬性

以下是小弟的ldif,我有試過把sudoOption: !authenticate的!拿掉,sudo -i時就須要輸入密碼,但打任何密碼都進不去,也不知密碼要設在那?不過有沒有大大有試過可以分享一下,感謝
dn: cn=jones,ou=sudoers,dc=abc,dc=com
objectClass: top
objectClass: sudoRole
cn: jones
sudoUser: jones
sudoHost: ALL
sudoCommand: ALL
sudoOption: !authenticate

頁: [1]