nagios+cacit 整合(rpm)
vim /etc/sysconfig/clock
ZONE="Asia/Shanghai"
UTC=false
ARC=false
/bin/cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
/etc/init.d/ntpd stop
ntpdate us.pool.ntp.org
hwclock -w
/etc/init.d/ntpd restart
chkconfig ntpd on
安裝環(huán)境(http php mysql net-snmp gcc)? yum install -y php php-devel php-mysql php-snmp php-gd mysql mysql-server mysql-devel net-snmp net-snmp-libs net-snmp-utils php-pdo perl-DBD-MySQL gcc gcc-c++ ?glibc glibc-common gd gd-devel libxml2* openssl* rpm -ivh rrdtool-1.3.8-1.el5.pp.i386.rpm ? 啟動http mysql等服務 /etc/init.d/httpd restart chkconfig httpd on /etc/init.d/mysqld restart chkconfig mysqld on
首先安裝nagios 添加nagios用戶 useradd -s /sbin/nologin nagios
passwd nagios groupadd nagcmd
usermod -G nagcmd nagios
usermod -G nagcmd apache 安裝軟件
tar zxvf nagios-3.2.3.tar.gz cd nagios-3.2.3 ./configure --prefix=/usr/local/nagios --with-command-group=nagcmd && make all && make install && make install-init && make install-config && make install-commandmode && make install-webconf cd ..
tar xvf nagios-plugins-1.4.15.tar.gz cd nagios-plugins-1.4.15 ./configure --with-nagios-user=nagios --with-nagios-group=nagios && make && make install && cd ..
tar xvf nagios-cn-3.2.3.tar.bz2 cd nagios-cn-3.2.3 ./configure && make all && make install && cd ..
#配置一個nagiosadmin用戶,用于nagios的web管理接口登錄
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
#驗證nagios.cfg文件是否有錯,建議每次修改配置文件后都驗證一下,確認無誤后重啟nagios服務
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
#關(guān)閉selinux
vi /etc/selinux/config
將'SELINUX=enforcing'改成'SELINUX=disabled'
setenforce 0
#啟動apache服務,并設置為開機啟動
service httpd start
chkconfig httpd on
#啟動nagios服務,并設置為開機啟動
service nagios start
chkconfig nagios on
#檢查開啟情況
ps -ef? //檢查進程
訪問:http://10.2.0.250/nagios/,輸入用戶名密碼,便可打開nagios的web管理接口
至此,主監(jiān)控服務器上的nagios配置完畢。
#配置郵件報警功能 1、安裝sendmail服務
yum install -y sendmail*
2、開啟服務,并設置為開機啟動
service sendmail start
chkconfig sendmail on
3、設置sendmail郵件接收和轉(zhuǎn)發(fā)功能
vi /etc/mail/access
添加如下內(nèi)容:
Connect:http://www.163.com ? ? ? ? ? ? ? RELAY
Connect:nagios@localhost.localdomain??? RELAY
Connect:root@localhost ? ? ? ? ? ? ? ? ? ? ? RELAY
:wq
makemap -v hash /etc/mail/access.db < /etc/mail/access
4、更改mqueue權(quán)限
chmod 777 /var/spool/mqueue
5、檢查所傳送的電子郵件是否送出,或滯留在郵件服務器中
/usr/lib/sendmail -bp
若屏幕顯示為“Mail queue is empty” 的信息,表示mail 已送出
6、發(fā)送郵件進行檢查
echo testing | /usr/sbin/sendmail -v?someone@somedomain.com
#設置聯(lián)系人郵件通知,在系統(tǒng)有故障時通過郵件告知管理員 vi /usr/local/nagios/etc/objects/contacts.cfg
注釋掉原來的define contact,并添加如下內(nèi)容:
define? contact{
??????? contact_name??????????????????? yang_ang0219
??????? use???????????????????????????? generic-contact
??????? alias?????????????????????????? nagios admin????
??????? service_notification_commands?? notify-service-by-email
??????? host_notification_commands????? notify-host-by-email
??????? email?????????????????????????? yang_ang0219@yeah.net
??????? }
并修改聯(lián)系人組,修改成如下內(nèi)容:
define contactgroup{
??????? contactgroup_name?????? admins
??????? alias?????????????????? Nagios Administrators
??????? members ? ? ? ? ? ? ? ? yang_ang0219
??????? }
#安裝pnp4nagios 輸出圖形和圖表(需要php5.2以上的版本) http://www.360doc.com/content/11/0810/11/1208969_139346861.shtml
安裝pnp4nagios-0.6.7
tar zxvf pnp4nagios-0.6.7.tar.gz
cd pnp4nagios-0.6.7
./configure --with-nagios-user=nagios --with-nagios-group=nagcmd&&?make all &&make install &&make install-webconf &&make install-config &&make install-init &&cd ..
4、修改配置
cd /usr/local/pnp4nagios/etc
cp misccommands.cfg-sample misccommands.cfg
cp nagios.cfg-sample nagios.cfg
cp npcd.cfg-sample npcd.cfg
cp process_perfdata.cfg-sample process_perfdata.cfg
cp rra.cfg-sample rra.cfg
cd pages
cp web_traffic.cfg-sample web_traffic.cfg
cd ../check_commands
cp check_all_local_disks.cfg-sample check_all_local_disks.cfg
cp check_nrpe.cfg-sample check_nrpe.cfg
cp check_nwstat.cfg-sample check_nwstat.cfg
5、啟動npcd服務并設置為開機啟動
service npcd start chkconfig npcd on
6、修改nagios.cfg文件
cd /usr/local/nagios/etc
vi nagios.cfg
修改配置如下:
process_performance_data=1
host_perfdata_command=process-host-perfdata
service_perfdata_command=process-service-perfdata
:wq
7、修改commands.cfg文件
cd /usr/local/nagios/etc/objects
vi commands.cfg
修改process-host-perfdata和process-service-perfdata為:
#'process-host-perfdata' command definitio
define command{
??????? command_name??? process-host-perfdata
??????? command_line??? /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl -d HOSTPERFDATA
???? ????? }
#'process-service-perfdata' command definition
define command{
??????? command_name??? process-service-perfdata
??????? command_line??? /usr/bin/perl /usr/local/pnp4nagios/libexec/process_perfdata.pl
??????? }
:wq
8、修改模板,添加小太陽鑲嵌在nagios頁面上
vi templates.cfg
在最后添加:
define host{
???? name?????? host-pnp
???? action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=_HOST_
???? register?? 0
???? ??? }
define service{
???? name?????? srv-pnp
???? action_url /pnp4nagios/graph?host=$HOSTNAME$&srv=$SERVICEDESC$
???? register?? 0
???? ????? }
:wq
9、修改主機配置文件: [root@localhost ~]# cat /usr/local/nagios/etc/objects/localhost.cfg |grep -v "#"? |sed /^$/d
define host{
??????? use???????????????????? linux-server,host-pnp??????????? ; Name of host template to use
??????????????????????????????????????????????????????? ; This host definition will inherit all variables that are defined
??????????????????????????????????????????????????????? ; in (or inherited by) the linux-server host template definition.
??????? host_name?????????????? localhost
??????? alias?????????????????? localhost
??????? address???????????????? 127.0.0.1
??????? }
define hostgroup{
??????? hostgroup_name? linux-servers ; The name of the hostgroup
??????? alias?????????? Linux Servers ; Long name of the group
??????? members???????? localhost???? ; Comma separated list of hosts that belong to this group
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp??????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? PING
??????? check_command?????????????????? check_ping!100.0,20%!500.0,60%
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? Root Partition
??????? check_command?????????????????? check_local_disk!20%!10%!/
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? Current Users
??????? check_command?????????????????? check_local_users!20!50
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? Total Processes
??????? check_command?????????????????? check_local_procs!250!400!RSZDT
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? Current Load
??????? check_command?????????????????? check_local_load!5.0,4.0,3.0!10.0,6.0,4.0
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? Swap Usage
??????? check_command?????????????????? check_local_swap!20!10
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp???????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? SSH
??????? check_command?????????????????? check_ssh
??????? notifications_enabled?????????? 0
??????? }
define service{
??????? use???????????????????????????? local-service,srv-pnp??????? ; Name of service template to use
??????? host_name?????????????????????? localhost
??????? service_description???????????? HTTP
??????? check_command?????????????????? check_http
??????? notifications_enabled?????????? 0
??????? }
10、刪除instal.php
cd /usr/local/pnp4nagios/share
rm -f install.php
11、驗證配置文件
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg
12、無誤后重啟nagios和httpd 服務
service nagios restart
service httpd restart
最后登錄nagios控制臺,選擇host--主機名旁邊的小太陽,即可看到圖形界面!大功告成!
?
?
?
好的至此 ?nagios監(jiān)控端安裝軟件完成
下面安裝cacti? cacti 是基于snmp的? 所以配置安裝snmp(net-snmp) vim /etc/snmp/snmpd.conf ?修改如下:
?
?
?
重啟snmp服務器 /etc/init.d/snmpd restart chkconfig snmpd on
tar zxvf cacti-0.8.7e.tar.gz mv cacti-0.8.7e?/var/www/html/cacti 修改cacti連接數(shù)據(jù)庫的配置文件? vim /var/www/html/cacti/include/config.php
?好的 我們需要創(chuàng)建一個cacti數(shù)據(jù)庫設置密碼 給予權(quán)限 >create database cacti; >grant all privileges on cacti.* to cacti@localhost identified by 'cacti' with grant option; >grant all privileges on cacti.* to cacti@127.0.0.1 identified by 'cacti' with grant option; >use cacti; >source /var/www/html/cacti/cacti.sql; >exit
然后登陸網(wǎng)頁?http://IP/cacti? ?請安裝提示操作 添加計劃任務 */5 * * * * /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 如果想立即cacti繪圖的話 請直接執(zhí)行: /usr/bin/php /var/www/html/cacti/poller.php > /dev/null 2>&1 然后刷新頁面 稍等會 就看到繪圖了
整合cacti+nagios 整合cacti和nagios是利用了cacti的一個插件nagios for cacti,它的原理是將nagios的數(shù)據(jù)通過ndo2db導入到mysql數(shù)據(jù)庫(cacti的庫中),然后cacti讀取數(shù)據(jù)庫信息將nagios的結(jié)果展示出來。 1、安裝ndoutils tar xvf ndoutils-1.4b7.tar.gz?
cd ndoutils-1.4b7 ./configure --with-mysql-lib=/usr/lib/mysql/ --with-mysql-inc=/usr/include/mysql/ make cd src/ cp ndomod-3x.o /usr/local/nagios/bin/. cd ndo2db-3x /usr/local/nagios/bin/ndo2db cd ../config cp ndo2db.cfg /usr/local/nagios/etc/ cp ndomod.cfg /usr/local/nagios/etc/ cd /usr/local/nagios/etc/ chown nagios:nagios ndo2db.cfg ndomod.cfg cd ../bin/ chown nagios:nagios ndo2db ndomod-3x.o ?
然后修改ndo2db.cfg ?ndomod.cfg的配置文件
cat /usr/local/nagios/etc/ndo2db.cfg |grep -v '^#'|sed /^$/d
ndo2db_user=nagios
ndo2db_group=nagios
socket_type=tcp
socket_name=/usr/local/nagios/var/ndo.sock
tcp_port=5668
db_servertype=mysql
db_host=127.0.0.1
db_port=3306
db_name=cacti
db_prefix=npc_
db_user=cactiuer
db_pass=cactiuser
max_timedevents_age=1440
max_systemcommands_age=10080
max_servicechecks_age=10080
max_hostchecks_age=10080
max_eventhandlers_age=44640
debug_level=1
debug_verbosity=1
debug_file=/usr/local/nagios/var/ndo2db.debug
max_debug_file_size=1000000
instance_name=default
output_type=tcpsocket
output=127.0.0.1
tcp_port=5668
output_buffer_items=5000
buffer_file=/usr/local/nagios/var/ndomod.tmp
file_rotation_interval=14400
file_rotation_timeout=60
reconnect_interval=15
reconnect_warning_interval=15
data_processing_options=-1
config_output_options=2
然后再編輯nagios的主配置文件 nagios.cfg 在最后添加如下: check_external_commands=1
command_check_interval=-1
event_broker_options=-1
process_performance_data=1
broker_module=/usr/local/nagios/bin/ndomod-3x.o config_file=/usr/local/nagios/etc/ndomod.cfg
保存退出 啟動ndo /usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg echo "/usr/local/nagios/bin/ndo2db -c /usr/local/nagios/etc/ndo2db.cfg" >>/etc/rc.local service nagios restart service httpd restart
2.安裝php-json tar xvf php-json-ext-1.2.0.tar.bz2 cd php-json-ext-1.2.0 首先初始化php(如果沒有這個命令 ?請 yum install php-devel) phpize ./configure make? make install
查看是否安裝成功
find / -name *json.so
vim /etc/php.ini 查找到include 在旗下添加如下語句: include ('/etc/php.d/json.ini')
vim /etc/php.d/json.ini 內(nèi)容如下: extension=json.so 重啟web服務 /etc/init.d/httpd restart
安裝cacti的插件管理器 (cacti插件使用的前提 需要和cacti主程序版本一致) unzip cacti-plugin-0.8.7e-PA-v2.5.zip -d cacti-plugin cp -R cacti-plugin/* /var/www/html/cacti/ cd /var/www/html/cacti/ mysql -uroot cacti < pa.sql (這里因為我沒有設置mysql數(shù)據(jù)庫的密碼 所以沒有-p選項 設置mysql密碼 : mysqladmin -uroot -p password mysql) patch -p1 -N < cacti-plugin-0.8.7e-PA-v2.5.diff ? vim include/global.php (修改如下):
這是連接數(shù)據(jù)庫方面的設置
?
重啟httpd服務 cacti的插件 安裝完成 。3.npc插件的安裝 tar zxvf npc-2.0.4.tar.gz mv npc /var/www/html/cacti/plugins/. ? vim /var/www/html/cacti/include/global.php 修改如下:(這是為了讓npc插件在管理里面看到) 保存退出
重啟httpd服務 重啟nagios服務 ? 然后呢 只需要去cacti的web頁面上 設置下即可:如圖
?
?
?
?
?
?
好的 至此 cacti和nagios的整合成功? 不足之處 請大牛指出來 并給以相關(guān)的資料 謝謝
?
轉(zhuǎn)載于:https://blog.51cto.com/yangxiaofei/796927
總結(jié)
以上是生活随笔為你收集整理的nagios+cacit 整合(rpm)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让网站被百度谷歌快速收录
- 下一篇: SCSM 2012Orchestrato