nagios

Nagios

1. 简介

  • 主要功能

    • 网络服务监控(SMTP、POP3、HTTP、NNTP、ICMP、SNMP、FTP、SSH)
    • 主机资源监控(CPU load、disk usage、system logs),也包括Windows主机(使用NSClient++ plugin)
    • 可以指定自己编写的Plugin通过网络收集数据来监控任何情况(温度、警告……)
    • 可以通过配置Nagios远程执行插件远程执行脚本
    • 远程监控支持SSH或SSL加通道方式进行监控
    • 简单的plugin设计允许用户很容易的开发自己需要的检查服务,支持很多开发语言(shell scripts、C++、Perl、ruby、Python、PHP、C#等)
    • 包含很多图形化数据Plugins(Nagiosgraph、Nagiosgrapher、PNP4Nagios等)
    • 可并行服务检查
    • 能够定义网络主机的层次, 允许逐级检查, 就是从父主机开始向下检查
    • 当服务或主机出现问题时发出通告,可通过email, pager, sms 或任意用户自定义的plugin进行通知
    • 能够自定义事件处理机制重新激活出问题的服务或主机
    • 自动日志循环
    • 支持冗余监控
    • 包括Web界面可以查看当前网络状态,通知,问题历史,日志文件等

2. 安装

$ yum install -y nagios nagios-devel nagios-plugins*
$ yum install -y gd gd-devel httpd php gcc glibc glibc-common openssl

3. 配置

* 路径

$ cd /etc/nagios/conf.d

* 添加主机组: hostgroup.cfg

$ touch hostgroup.cfg
define hostgroup {
    hostgroup_name  vm-server
    alias           vm server
    members         vm1, vm2, vm3, vm4, vm5
}

* 添加主机: {$host}.cfg

$ touch vm1.cfg vm2.cfg vm3.cfg vm4.cfg vm5.cfg
$ vim vm1.cfg
define host{
        use         linux-server
        host_name   vm1
        alias       vm1
        address     172.16.64.128
}

$ vim vm2.cfg
define host{
        use         linux-server
        host_name   vm2
        alias       vm2
        address     172.16.64.129
}

...

* 添加监控: {$service}.cfg

$ touch PING.cfg
define service {
    use                     generic-service
    host_name               vm1, vm2, vm3, vm4, vm5
    service_description     PING
    check_command           check_ping!100.0,20%!500.0,60%
    max_check_attempts      5
    normal_check_interval   1
}

$touch HTTP.cfg
define service {
    use                     generic-service
    host_name               vm1
    service_description     HTTP
    check_command           check_http
    notifications_enabled   0
}

* 配置校验

$ nagios -v /etc/nagios/nagios.cfg

4. 启动服务

$ service httpd restart
$ service nrpe restart
$ service nagios restart

5. 访问

http://172.16.64.128:8080/nagios

User: nagiosadmin

Pass: nagiosadmin

6. 监控远程主机

1)安装NRPE

* 安装

$ yum install -y nrpe

* 配置

$ vim /etc/nagios/nrpe.cfg
...
allowed_hosts=127.0.0.1, vm1 #添加运行nagios服务的主机,允许其通过NRPE执行相应监控脚本获取数据

2)安装nagios-plugins

$ yum install -y nagios-plugins-lcgdm-common

nagios-plugins-lcgdm-common集成了如下插件:

* check_cpu

* check_hostcert

* check_network

* check_process

3)设置监控 (vm1)

$ vim /etc/nagios/objects/commands.cfg
define command {
	command_name	check_nrpe
	command_line	$USER1$/check_nrpe -H $HOSTADDRESS$ -c $ARG1$
}

$ vim /etc/nagios/conf.d/CPU.cfg
define service {
    use                     generic-service,service-pnp
    host_name               vm1,vm2
    service_description     CPU
    check_command           check_nrpe!check_cpu
    max_check_attempts      5
    normal_check_interval   1
}

7. KPI

  • CPU使用率
  • 内存使用率
  • 网络流量
  • 硬盘空间

8. pnp4nagios

* 安装

$ yum install -y pnp4nagios

* 配置

配置Nagios数据输出接口:

$ vim /etc/nagios.cfg 
process_performance_data=1 #默认为0,修改为1
host_perfdata_command=process-host-perfdata #注释开头#号
service_perfdata_command=process-service-perfdata #注释开头#号

替换commands.cfg命令process-service-perfdata为以下内容:

$ vim /etc/objects/commands.cfg 
# 'process-host-perfdata' command definition
define command{
        command_name    process-host-perfdata
        command_line    /usr/libexec/pnp4nagios/process_perfdata.pl -d HOSTPERFDATA 
        }
# 'process-service-perfdata' command definition
define command{
        command_name    process-service-perfdata
        command_line    /usr/libexec/pnp4nagios/process_perfdata.pl
        }

在模板配置文件中添加图表图标模板:

$ vim /etc/objects/templates.cfg 
define host {
name          host-pnp
action_url    /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=_HOST_' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=_HOST_
register   0
}
define service {
name         service-pnp
action_url   /pnp4nagios/index.php/graph?host=$HOSTNAME$&srv=$SERVICEDESC$' class='tips' rel='/pnp4nagios/index.php/popup?host=$HOSTNAME$&srv=$SERVICEDESC$
register   0
}

复制鼠标悬停图标显示文件:

$ cp /usr/share/doc/pnp4nagios-0.6.20/contrib/ssi/* /usr/share/nagios/html/ssi

在监控主机或服务中调用图表模板:

* 启动服务

$ service npcd restart
$ service httpd restart

参考文献:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值