- 浏览: 408058 次
- 性别:
- 来自: 福建
文章分类
最新评论
-
lz1130:
forcer521 写道这个是什么问题呢,启动了访问报错:引用 ...
viewvc安装配置 -
forcer521:
这个是什么问题呢,启动了访问报错:引用An Exception ...
viewvc安装配置 -
hnlixf:
很强大的一篇文章,看了大有帮助
haproxy_keepalived安装配置 -
wangpeihu:
文章不错,如果加上适当的说明,就更好了。学习中...
mysql常用命令(持续更新) -
zxflb:
目前正在用vi/vim 觉得够用了。。看到这张图才知道 原来 ...
一张图介绍了vim基本使用
用到的软件包:
nagios-cn-3.2.0.tar.bz2
nagios-plugins-1.4.14.tar.gz
nrpe-2.12.tar.gz
rrdtool-1.0.50.tar.gz
pnp-0.4.14.tar.gz
安装apache、php和相关库
建立运行用户
Nagios主程序安装
创建一个nagiosadmin(系统默认管理员用户,用其他用户名时需要自己更改cgi.cfg配置)的用户用于Nagios的WEB接口登录
安装Nagios插件
安装nrpe(监控linux专用)
配置监控端(仔细查看etc下的配置文件和官方配置文件说明)
监控linux服务器示例
令SELinux处于容许模式(出现无权限问题的话就执行)
检查配置与启动
访问监控web
没安装xinetd的要安装
安装Nagios插件
安装nrpe
配置nrpe启动
加入以下:
重启 xinetd 服务
检查nrpe是否正常工作
在监控端执行以下命令,返回版本则成功。
配置监控命令
检查监控命令是否生效
在监控端执行以下命令,返回结果则成功。
监控服务变化曲线的工具 ---- PNP
安装rrdtools(绘图工具)可能需要的库
安装rrdtools
编辑Nagios 的主配置文件 nagios.cfg
如果想要对某个监控对象做数据图表,则需在所对应的host或者service 定义中包含如下的定义:
process_perf_data 1
编辑command.cfg,将“process-service-perfdata”命令对应的执行命令行的内容替换成该脚本:
安装PNP
检查配置文件并重启
访问web
飞信机器人下载地址:http://www.it-adv.net/
加入飞信运行所需libACE库文件
安装飞信机器人
加入飞信.so文件到系统链接库
发送短信测试
编辑发送飞信命令commands.cfg
编辑联系人配置文件contacts.cfg
检查配置文件并重启
nagios-cn-3.2.0.tar.bz2
nagios-plugins-1.4.14.tar.gz
nrpe-2.12.tar.gz
rrdtool-1.0.50.tar.gz
pnp-0.4.14.tar.gz
1、Nagios监控端安装
安装apache、php和相关库
yum -y install gd gd-devel yum -y install httpd php php-gd
建立运行用户
useradd nagios groupadd nagcmd usermod -G nagcmd nagios usermod -G nagcmd apache
Nagios主程序安装
./configure --with-command-group=nagcmd make all make install make install-init make install-config make install-commandmode make install-webconf
创建一个nagiosadmin(系统默认管理员用户,用其他用户名时需要自己更改cgi.cfg配置)的用户用于Nagios的WEB接口登录
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin /etc/init.d/httpd restart
安装Nagios插件
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
安装nrpe(监控linux专用)
./configure make all make install-plugin
配置监控端(仔细查看etc下的配置文件和官方配置文件说明)
vi /usr/local/nagios/etc/objects/commands.cfg 在最后面增加如下内容 ################################################################### ##### # # 2009.10.17 add by sapling # NRPE COMMAND # ################################################################### ##### # 'check_nrpe ' command definition define command{ command_name check_nrpe command_line $USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$ }
监控linux服务器示例
define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-USERS check_command check_nrpe!check_users ; !后为要执行的命令 }
mkdir /usr/local/nagios/etc/objects/host chown nagios.nagios /usr/local/nagios/etc/objects/host vi /usr/local/nagios/etc/nagios.cfg 注释默认监控,加入个存放监控主机配置的目录 #cfg_file=/usr/local/nagios/etc/objects/localhost.cfg cfg_dir=/usr/local/nagios/etc/objects/host
vi /usr/local/nagios/etc/objects/host/localhost.cfg 文件示例: ############################################################################### # LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE # # Last Modified: 05-31-2007 # # NOTE: This config file is intended to serve as an *extremely* simple # example of how you can create configuration entries to monitor # the local (Linux) machine. # ############################################################################### ############################################################################### ############################################################################### # # HOST DEFINITION # ############################################################################### ############################################################################### # Define a host for the local machine define host{ use linux-server host_name 127.0.0.1 alias localhost address 127.0.0.1 } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### # Define a service to "ping" the local machine define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description PING check_command check_ping!100.0,20%!500.0,60% } # Define a service to check the disk space of the root partition # on the local machine. Warning if < 20% free, critical if # < 10% free space on partition. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description DISK check_command check_local_disk!20%!10%! / } # Define a service to check the number of currently logged in # users on the local machine. Warning if > 20 users, critical # if > 50 users. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description USERS check_command check_local_users!20!50 } # Define a service to check the number of currently running procs # on the local machine. Warning if > 250 processes, critical if # > 400 users. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description PROCES check_command check_local_procs!250!400!RSZDT } # Define a service to check the load on the local machine. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description LOAD check_command check_local_load!10.0,8.0,4.0!30.0,20.0,10.0 } # Define a service to check the swap usage the local machine. # Critical if less than 10% of swap is free, warning if less than 20% is free define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description SWAP check_command check_local_swap!30!10 } # Define a service to check SSH on the local machine. # Disable notifications for this service by default, as not all users may have SSH enabled. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description SSH check_command check_tcp!22!1.0!10.0 notifications_enabled 1 } # Define a service to check HTTP on the local machine. # Disable notifications for this service by default, as not all users may have HTTP enabled. define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description HTTP check_command check_http notifications_enabled 1 } define service{ use local-service ; Name of service template to use host_name 127.0.0.1 service_description FTP check_command check_ftp notifications_enabled 1 process_perf_data 0 }
vi /usr/local/nagios/etc/objects/host/10.3.37.110.cfg 文件示例: ############################################################################### # LOCALHOST.CFG - SAMPLE OBJECT CONFIG FILE FOR MONITORING THIS MACHINE # # Last Modified: 05-31-2007 # # NOTE: This config file is intended to serve as an *extremely* simple # example of how you can create configuration entries to monitor # the local (Linux) machine. # ############################################################################### ############################################################################### ############################################################################### # # HOST DEFINITION # ############################################################################### ############################################################################### # Define a host for the local machine define host{ use linux-server host_name 10.3.37.110 alias 10.3.37.110 address 10.3.37.110 } ############################################################################### ############################################################################### # # SERVICE DEFINITIONS # ############################################################################### ############################################################################### define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-DISK check_command check_nrpe!check_sda7 } define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-USERS check_command check_nrpe!check_users } define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-LOAD check_command check_nrpe!check_load } define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-ZOMBIE-PROCS check_command check_nrpe!check_zombie_procs } define service{ use local-service ; Name of service template to use host_name 10.3.37.110 service_description CHECK-TOTAL-PROCS check_command check_nrpe!check_total_procs }
vi /usr/local/nagios/etc/objects/host/group.cfg 文件示例: ############################################################################### ############################################################################### # # HOST GROUP DEFINITION # ############################################################################### ############################################################################### # Define an optional hostgroup for Linux machines define hostgroup{ hostgroup_name linux-servers ; The name of the hostgroup alias Linux Servers ; Long name of the group members * ; Comma separated list of hosts that belong to this group }
令SELinux处于容许模式(出现无权限问题的话就执行)
setenforce 0
检查配置与启动
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios start
访问监控web
http://localhost/nagios/
2、nagios被监控端安装
没安装xinetd的要安装
yum -y install xinetd
安装Nagios插件
./configure --with-nagios-user=nagios --with-nagios-group=nagios make make install
安装nrpe
./configure make all make install-daemon make install-daemon-config make install-xinetd
配置nrpe启动
vi /etc/xinetd.d/nrpe service nrpe { flags = REUSE socket_type = stream port = 5666 wait = no user = nagios group = nagios server = /usr/local/nagios/bin/nrpe server_args = -c /usr/local/nagios/etc/nrpe.cfg --inetd log_on_failure += USERID disable = no only_from = 127.0.0.1 10.3.37.110 #only_from: allow monit server ip. “ ”ge kai duo ge ip }
vi /etc/services
加入以下:
nrpe 5666/tcp # nrpe
重启 xinetd 服务
/etc/init.d/xinetd restart
检查nrpe是否正常工作
在监控端执行以下命令,返回版本则成功。
/usr/local/nagios/libexec/check_nrpe -H 被监控端ip NRPE v2.8.1
配置监控命令
vi /usr/local/nagios/etc/nrpe.cfg
# The following examples use hardcoded command arguments... ############### command[check_users]=/usr/local/nagios/libexec/check_users -w 10 -c 20 command[check_load]=/usr/local/nagios/libexec/check_load -w 16,10,8 -c 30,25,20 command[check_sda1]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda1 command[check_sda2]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda2 command[check_sda5]=/usr/local/nagios/libexec/check_disk -w 20% -c 10% -p /dev/sda5 command[check_zombie_procs]=/usr/local/nagios/libexec/check_procs -w 5 -c 10 -s Z command[check_total_procs]=/usr/local/nagios/libexec/check_procs -w 300 -c 360 command[check_http]=/usr/local/nagios/libexec/check_http -H 10.3.37.110 -u /nagios.php command[check_ftp]=/usr/local/nagios/libexec/check_ftp -H 10.3.37.110 -p 21 command[check_ssh]=/usr/local/nagios/libexec/check_ssh 10.3.37.110 command[check_alive]=/usr/local/nagios/libexec/check_ping -H 10.3.37.110 -w 100,20% -c 500,60% -p 4 command[check_105mysql]=/usr/local/nagios/libexec/check_mysql -H 10.3.37.110 -P 3306 -u nagios -p *** ##############
检查监控命令是否生效
在监控端执行以下命令,返回结果则成功。
/usr/local/nagios/libexec/check_nrpe -H被监控端ip -c check_load OK - load average: 0.00, 0.00, 0.00|load1=0.000;15.000;30.000;0; load5=0.000;10.000;25.000;0; load15=0.000;5.000;20.000;0;
3、Nagios 的性能分析图
监控服务变化曲线的工具 ---- PNP
安装rrdtools(绘图工具)可能需要的库
yum install cairo pango libart_lgpl libart_lgpl-devel zlib zlib-devel freetype freetype-devel
安装rrdtools
./configure make make install
编辑Nagios 的主配置文件 nagios.cfg
vi /usr/local/nagios/etc/nagios.cfg 修改如下: process_performance_data=1 host_perfdata_command=host-service-perfdata service_perfdata_command=process-service-perfdata
如果想要对某个监控对象做数据图表,则需在所对应的host或者service 定义中包含如下的定义:
process_perf_data 1
编辑command.cfg,将“process-service-perfdata”命令对应的执行命令行的内容替换成该脚本:
define command{ command_name process-service-perfdata # command_line /usr/bin/printf "%b" "$LASTSERVICECHECK$\t$HOSTNAME$\t$SERVICEDESC$\t$SERVICESTATE$\t$SERVICEATTEMPT$\t$SERV ICESTATETYPE$\t$SERVICEEXECUTIONTIME$\t$SERVICELATENCY$\t$SERVICEOUTPUT$\t$SERVICEPERFDATA$\n" >> /usr/local/nagios/var/service-perf data.out command_line /usr/local/nagios/libexec/process_perfdata.pl # command_line /usr/bin/perl /usr/local/nagios/sbin/insert.cgi }
安装PNP
./configure --with-rrdtool=/usr/local/rrdtool-1.0.50/bin/rrdtool make all make install
检查配置文件并重启
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios restart
访问web
http://localhost/nagios/pnp/index.php
4、整合飞信机器人发送短信报警
飞信机器人下载地址:http://www.it-adv.net/
加入飞信运行所需libACE库文件
tar zxvf fetion20091117-linux.tar.gz -C /usr/local/ mv /usr/local/fx /usr/local/fetion
安装飞信机器人
chmod -R 755 /usr/local/fetion chown -R nagios:nagios /usr/local/fetion
加入飞信.so文件到系统链接库
vi /etc/ld.so.conf.d/fetion.conf 加入一行: /usr/local/fetion/ 更新:ldconfig
发送短信测试
/usr/local/fetion/fetion --hide --mobile=137*** --pwd=*** --to=136*** --msg-utf8="test"
编辑发送飞信命令commands.cfg
vi /usr/local/nagios/etc/objects/commands.cfg # 'notify-host-by-fei' command definition define command { command_name host-notify-by-fei command_line /usr/local/fetion/fetion --hide --mobile=136******** --pwd=*** --to=$CONTACTPAGER$ --msg-utf8="Host $HOSTSTATE$ alert for $HOSTNAME$! on '$LONGDATETIME$'" $CONTACTPAGER$ } # 'notify-service-by-fei' command definition define command { command_name service-notify-by-fei command_line /usr/local/fetion/fetion --hide --mobile=136******** --pwd=*** --to=$CONTACTPAGER$ --msg-utf8="$HOSTADDRESS$ $HOSTALIAS$/$SERVICEDESC$ is $SERVICESTATE$ on $LONGDATETIME$" $CONTACTPAGER$ }
编辑联系人配置文件contacts.cfg
vi /usr/local/nagios/etc/objects/contacts.cfg 加入*-notify-by-fei两行和pager define contact{ contact_name nagiosadmin ; Short name of user use generic-contact ; Inherit default values from generic-contact template (defined abov e) alias Nagios Admin ; Full name of user service_notification_commands service-notify-by-fei host_notification_commands host-notify-by-fei email 242427255@qq.com ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ****** pager 136******** }
检查配置文件并重启
/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg /etc/init.d/nagios restart
相关推荐
本文将详细介绍在Linux环境下安装和配置Nagios的全过程,以及一些个人实践心得。 首先,确保你拥有以下软件包:httpd、imagepak-base、mysql、nagios、nagios-plugins、nrpe、perl、php、pnp4nagios和rrdtool。这些...
本文档详细介绍了Nagios的安装配置过程,包括监控插件的编写与部署、Pnp4Nagios的安装以及短信报警的设置,旨在帮助IT管理员实现全面的系统监控。 一、Nagios安装基础 1.1 系统要求:Nagios支持多种Linux发行版,...
##### 2.3 PNP4Nagios安装与配置 - 下载并安装PNP4Nagios。 - 修改Nagios插件以启用性能数据收集。 - 配置PNP4Nagios以将图表集成到Nagios Web界面中。 #### 三、Nagios + PNP4Nagios 功能特性 ##### 3.1 实时监控...
【Nagios+nagiosQL 详细安装配置】 Nagios 是一款强大的开源系统和网络监控工具,适用于Linux或Unix操作系统。它通过一系列插件监控本地及远程服务,当检测到异常时,能够及时向管理员发送告警。Nagios 的核心功能...
### Nagios安装与配置知识点详解 #### 一、Nagios概述 - **定义与背景**:Nagios是一款开源的计算机系统与网络监控工具,主要用于监控Windows、Linux及Unix等操作系统下的主机状态以及网络设备(如路由器、交换机...
总的来说,Nagios+Cacti的组合是IT运维中的强大工具,它们的详细配置和应用需要对Linux系统、网络监控和Web服务有一定的理解。通过精心的配置,可以实现全面、高效的监控环境,保障系统的稳定运行。
在IT监控领域,Nagios是广受欢迎的...通过上述步骤的安装和配置,可以实现对关键系统组件的实时监控,并通过Cacti提供图形化数据展示,通过Nagios的日志和报警功能对异常状况进行及时响应,确保整个IT系统的稳定运行。
### Nagios远程监控Windows服务器的安装与配置 #### 一、Nagios简介及功能 Nagios是一款开源的电脑系统和网络监视工具,能够有效监控Windows、Linux和Unix等不同操作系统下的主机状态,以及交换机、路由器等网络...
下载并解压PNP4Nagios,按照官方文档的指引进行编译和安装,配置Nagios以将数据发送到PNP4Nagios处理,然后在Web界面上查看详细的性能数据。 在整个安装过程中,需要注意的是,Nagios的配置文件通常位于/etc/nagios...
- **源代码安装**:文档展示了从源代码编译和安装Nagios的过程,这是Linux下常见的软件安装方式。 - **Web服务器配置**:为了让用户可以通过浏览器访问Nagios,必须配置apache服务器并设置访问权限。 - **用户和权限...
优化中还包括了使用PNP工具进行图形化绘图,以及模块化安装方式,这使得Nagios的配置和扩展更加灵活。 安装Nagios的过程包括准备软件包、验证配置文件正确性、启动和停止Nagios等操作。配置Nagios包括理解主配置...
2.5 **邮件报警**:编写代码实现邮件报警功能,同时可结合短信报警,确保通知及时送达。 ### 3. 具体设置 4.1 **监控数据收集**: - **Apache**:提供Web界面和报警设置。 - **NRPE/NSCA**:允许远程监控Windows...
报警功能是Nagios的关键部分,虽然Nagios自身不包含报警功能的代码,但可以通过与其他开源项目集成实现。例如,Nagios可以通过NRPE(Nagios Remote Plugin Executor)插件来远程管理服务,NRPE在远程服务器上执行...
- 配置Nagios服务,包括定义监控目标、设置报警策略等。 - 启动Nagios服务,并通过Web界面访问以查看监控信息。 通过以上步骤,可以有效地使用Nagios来监控网络和服务的状态,确保系统的稳定性和可用性。
- **报警机制**:虽然Nagios本身不包含报警功能,但通过配置自定义插件可以实现报警通知,比如通过邮件、短信或自定义方式通知运维人员。 #### 四、Nagios的安装与配置 - **环境准备**:安装Nagios前,需确保系统为...