**一、安装Nagios(源码)
1、安装准备:
编译工具
#yum -y install gcc gcc-c++
创建用户和组
#useradd nagios
#groupadd nagcmd
#usermod -G nagcmd nagios
2、装包:
配置:
# ./configure --with-nagios-user=nagios --with-nagios-group=nagcmd --with-command-user=nagios
--with-command-group=nagcmd
编译:
# make all
装包:
# make install #安装主程序
# make install-init #安装启动脚本
# make install-commandmode #安装命令模块
# make install-config #安装配置文件模版
# make install-webconf #安装apache相关配置文件
# make install-exfoliation #Web服务器的界面风格
# 3、查看安装目录及配置文件说明
主目录 /usr/local/nagios 以下路径的根路径都在主目录下
/bin/nagios #验证配置信息
/bin/nagiostats #显示监控状态信息
/etc/*.cfg #配置文件
/etc/objects/*.cfg #配置文件
/libexec/* #存储监控插件
/sbin/*.cgi #编译好的脚本文件
/share/* #网页信息
/var/* #存放日志文件
4、安装监控插件 nagios-plugins-2.1.4
./configure && make && make install
5、启动 nagios 监控服务:
1)设置访问监控页面的用户名(nagiosadmin)和密码(自定义)
vim /etc/httpd/conf.d/nagios.conf
#主配置文件
Alias /nagios "/usr/local/nagios/share"
#当访问 http://服务器IP/nagios 跳转到对应目录下的网页文件
AuthUserFile /usr/local/nagios/etc/htpasswd.users
#记录存储用户的配置文件
htpasswd -c /usr/local/nagios/etc/htpasswd.users nagiosadmin
#创建访问监控页面的用户名和密码
#创建完用户后重启 Web 服务让 Web 服务加载对应文件
2)启动服务 /etc/rc.d/init.d/nagios start
#默认监控本机:
CPU负载
登陆系统的用户数
Web 服务运行状态
PING
根分区
SSH服务
交换分区
总进程数量
#监控状态
Ok
Warning #警告
Unknown #配置文件有问题
Critical #有严重问题
Pending #正在监控
二、配置 nagios 服务
1、监控过程
nagios 服务运行时加载主配置文件 ngaios.cfg 在配置文件中调用监控插件,运维人员可以设置监控插件的监控阀值(警告值、错误值);
nagios 服务的插件把监控到的数据和监控阀值比较,根据比较结果显示监控状态。
监控到的数据值小于警告值 状态则为正常 ok
监控到的数据值大于警告值切小于错误值 状态则为警告 Warning
监控到的数据值大于错误值 状态则为严重错误 Critical
2、监控插件的使用
/libexec/check_load CPU负载
-w 1分钟,5分钟,15分钟 -c 1分钟,5分钟,15分钟
check_load [-r] -w WLOAD1,WLOAD5,WLOAD15 -c CLOAD1,CLOAD5,CLOAD15
/libexec/check_users 登陆系统的用户数
-w 警告值 -c 错误值
check_users -w <users> -c <users>
/libexec/check_http Web 服务运行状态
-H Web服务器ip -p端口 不指定默认80
/libexec/check_ping PING
-H 主机IP -w 警告值,丢包率% -c 错误值,丢包率% -p 包次数 -t 超时时间 -4|-6
-H <host_address> -w <wrta>,<wpl>% -c <crta>,<cpl>%
[-p packets] [-t timeout] [-4|-6]
/libexec/check_disk 根分区
-w 警告值% -c 错误值% -p 挂载点,磁盘路径
/libexec/check_ssh SSH服务
-H IP地址 -p 端口 默认22端口
/libexec/check_swap 交换分区
-w 警告值% -c 错误值%
/libexec/check_procs 总进程数量
-w 警告值 -c 错误值 -s 状态
状态:R运行 Z僵尸 S休眠
/libexec/check_tcp tcp协议
-H IP地址 -p 端口
3、配置文件说明
1)验证配置文件
/bin/nagios -v 配置文件路径 #验证配置文件修改是否正确
/bin/nagiostats -c 配置文件路径 #在命令行显示检测结果
2)主配置文件
/etc/nagios.cfg
3)宏定义文件
/etc/resource.cfg 宏定义文件:定义了插件存放路径
4)命令存储
/etc/objects/commands.cfg #定义监控命令
define command{
command_name 命令名
command_line 路径/插件名 参数
}
5)监控本机配置文件
/etc/objects/localhost.cfg #监控本机的
define host{
use linux-server #监控主机时使用的模版
host_name localhost #主机名
alias localhost #主机名的描述信息,可省略不写
address 127.0.0.1 #主机IP
}
define service{
use local-service #监控资源时使用的模版
host_name localhost #主机名
service_description PING #监控项的描述信息
check_command check_ping!100.0,20%!500.0,60%
} #调用的监控命令
#!间隔命令参数
6)接受报警信息邮件的邮箱地址
/etc/objects/contacts.cfg
7)定义监控时间模版配置文件
/etc/objects/timeperiods.cfg
8)定义监控模版配置文件
/etc/objects/templates.cfg
check_interval 5 #每隔5分钟监控一次
retry_interval 1 #断开连接后每1分钟冲试一次
max_check_attempts 10 #最大重试10次
define service{
name local-service
use generic-service
max_check_attempts 4
normal_check_interval 5
retry_check_interval 1
register 0
}****