Nagios 是一个插件式的监控系统,可以监控服务的运行状态和网络信息等,并能监视所指定的本地或远程主机参数以及服务,同时提供异常告警通知功能等。Nagios 支持客户端的数据采集,通过编写客户端插件,可以获取各种监控数据,并提供了 Web 管理界面进行数据查询。其产品的主要功能侧重于监控服务的可用性,根据设置的阀值进行告警,但大部分告警逻辑都是通过监控插件实现的。

目前 Nagios 告警支持的通知方式有短信和邮件,但是很明显,这两种通知方式会导致重要级别的告警无法及时查看,并解决相关问题,而且在产生告警风暴的时候,这两种通知方式就更无法满足用户的多样化通知需求,于是如何将告警通过用户的多样化需求达到多种化通知方式,并且有效的避免告警风暴,就成了目前的首要解决问题。

智能告警平台 Cloud Alert 睿象云自研的一款告警管理平台,就能够完美解决这个问题!用户可以将告警通过不同的需求,指定多种化通知方式,目前支持的通知方式有电话、短信、微信、邮件、APP、钉钉等;并且当告警风暴来临时,用户可以通过勾选算法智能降噪或设置告警压缩规则,使得相同类型的告警进行压缩,有效的避免告警风暴。用户也可以将不同的监控平台接入到 Cloud Alert 内进行统一化管理。

接下来就说下是如何设置的吧~

主要分为三大部分,首先是将 Nagios 集成到此平台当中,其次设置分派策略,也就是指定条件(用户自定义)下的告警发生时通知的人,最后是设置通知策略,根据用户自身需求设置多元化的通知方式。

首先肯定是进入官网 www.aiops.com,登录账号。

一.Nagios集成

1. 在 Cloud Alert 中创建 Nagios 应用,点击集成 — 监控工具 — Nagios

2. 填写“应用名称”,点击“保存并获取应用key”

3. 下载Agent安装包

在 Nagios 服务器中,使用 root 或 nagios 用户下载

wget

https://download.aiops.com/ca_agent/nagios/ca_agent-4.1.3.1-linux-x64.tar.gz

4. 安装Agent

注:下文以Nagios默认安装路径/user/local/nagios/为例,如果你的Nagios服务器不是安装在该目录,请自行替换。

tar -xzf ca_agent-4.1.3.1-linux-x64.tar.gz

cp -R ca_agent /usr/local/nagios/libexec/

cp ca_agent/plugin/nagios-plugin/nagios /usr/local/nagios/libexec/

chmod +x /usr/local/nagios/libexec/nagios

cp ca-agent/plugin/nagios-plugin/cloudalert.cfg /usr/local/nagios/etc/objects/

5. 修改配置

①修改/usr/local/nagios/etc/objects/cloudalert.cfg,设置pager为刚才点击保存所获取的appkey

vi /usr/local/nagios/etc/objects/cloudalert.cfg

define contact{

contact_name                    cloudalert                 ; The name of        this contact template

alias                           ca                 ;

service_notification_period     24x7                    ; service notifications can be sent anytime

host_notification_period        24x7                    ; host notifications can be sent anytime

service_notification_options    w,u,c,r,f,s             ; send notifications for all service states, flapping events, and scheduled downtime events

host_notification_options       d,u,r,f,s               ; send notifications for all host states, flapping events, and scheduled downtime events

service_notification_commands   notify-service-by-cloudalert ; send service notifications via email

host_notification_commands      notify-host-by-cloudalert    ; send host notifications via email

pager --  --处填入您新建应用时生成的appkey  ;

}

②修改/usr/local/nagios/etc/objects/contacts.cfg,新增cloudalert到默认联系组

vi /usr/local/nagios/etc/objects/contacts.cfg

define contactgroup{

contactgroup_name       admins

alias                   Nagios Administrators

members                 nagiosadmin,cloudalert

}

③修改/usr/local/nagios/etc/nagios.cfg,将cloudalert.cfg新增到nagios.cfg中

vi /usr/local/nagios/etc/nagios.cfg

cfg_file=/usr/local/nagios/etc/objects/cloudalert.cfg

④可选:为了让告警信息显示更加友好,建议修改nagios.cfg由原来us更改为iso8601

vi /usr/local/nagios/etc/nagios.cfg

6.重启Nagios

重启前请检查配置是不是正确

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

请使用root账号重启Nagios

service nagios restart

7.集成结果验证

登录Nagios页面控制台发送通知

注:请确认对应服务的notifications_enabled为1

define service{

use                             local-service         ; Name of service template to use

host_name                       localhost

service_description             Tomcat18080

check_command                   check_http18080

notifications_enabled           1

}

8.查看agent日志,出现success字样代表成功

tail -f /usr/local/nagios/libexec/ca_agent/log/agent.log

10-05-2015 15:48:53,056 CST INFO  [main] [com.upyoo.agent.NagiosClient@45] start to call alert ...

10-05-2015 15:48:53,063 CST INFO  [main] [com.upyoo.agent.CommandClient@82] alarmName:PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL

10-05-2015 15:48:53,064 CST INFO  [main] [com.upyoo.agent.CommandClient@82] alarmContent:localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52

10-05-2015 15:48:53,064 CST INFO  [main] [com.upyoo.agent.CommandClient@82] entityName:127.0.0.1/Tomcat18080

10-05-2015 15:48:53,066 CST INFO  [main] [com.upyoo.agent.CommandClient@82] priority:CRITICAL

10-05-2015 15:48:53,066 CST INFO  [main] [com.upyoo.agent.CommandClient@82] app:9c4bc722-6677-9fc9-fbdc-003d8977d17e

10-05-2015 15:48:53,067 CST INFO  [main] [com.upyoo.agent.CommandClient@82]

10-05-2015 15:48:53,068 CST INFO  [main] [com.upyoo.agent.CommandClient@82]

10-05-2015 15:48:53,068 CST INFO  [main] [com.upyoo.agent.CommandClient@82]

10-05-2015 15:48:53,069 CST INFO  [main] [com.upyoo.agent.CommandClient@82]

10-05-2015 15:48:53,105 CST INFO  [main] [com.upyoo.agent.CommandClient@58] start to post url:http://api.aiops.com/alert/api/event

10-05-2015 15:48:53,180 CST INFO  [main] [com.upyoo.agent.CommandClient@65] body:{"app":"9c4bc722-6677-9fc9-fbdc-003d8977d17e","alarmContent":"localhost/127.0.0.1/Tomcat18080 connect to address 127.0.0.1 and port 18080: Connection refused Date/Time: 2015-05-10 15:48:52","eventId":"8G8OGOYUCOOLOENYOGGENOOOOONYNOLU","priority":"3","alarmName":"PROBLEM Service Alert: 127.0.0.1/Tomcat18080 is CRITICAL","eventType":"trigger","entityName":"127.0.0.1/Tomcat18080"}

10-05-2015 15:48:53,775 CST INFO  [main] [com.upyoo.agent.CommandClient@68] result:{"result":"success","message":null,"data":"3516","totalCount":0,"code":"200"}

二.设置分派策略

1.点击配置 — 分派策略 — 新建分派

2. 输入分派策略名称 — 选择应用 — 设置分派人(告警发生时通知的人),点击保存

这一步骤的可选择性就比较多了,用户可以根据【告警级别】【告警内容】【主机】【服务】【告警对象】【hostgroups】【servicegroups】等条件,来添加指定条件分派通知。

三.设置通知策略

1. 点击【配置】—【通知策略】-【新建通知】

2. 通知策略的可选择性也是很高的,用户可选择的地方有:告警状态、告警级别、通知方式、时间设置、延迟策略、通知人等,其中的意思分别如下:

告警状态:选择告警通知的状态。分别有发生时、认领时、关闭时、全选,4种选择。

告警级别:选择告警通知的级别。分别有提醒、警告、严重、所有,4种选择。

通知方式:选择告警通知的方式。分别有电话、短信、邮件、微信、APP,5种选择。

时间设置:选择告警通知的时间。分别有任何时间、工作时间、非工作时间,3种选择。

延迟策略:选择告警通知是否延迟。

通知人:选择告警通知的人。

例如:任何时间告警发生时严重级别的告警立刻微信通知所有人。

告警状态 — 发生时;告警级别 — 严重;通知方式 — 微信;时间设置 — 任何时间;延迟策略 — 立刻;通知人 — 全选

Nagios与CA告警级别映射关系

以上设置就满足了不同的告警需求,多样化的通知方式,使得告警达到通知必达的效果。

Nagios 告警配置太复杂?CA简单实现Nagios自定义多功能告警的更多相关文章

  1. 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能

    原文:利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能 利用修改div的位置+js对象存储div信息 实现简单的div自定义布局功能1.在界面上添加几个checkbox和一 ...

  2. Open-Falcon 告警 如何实现自定义多功能告警

    Open-Falcon 是小米运维部开源的一款互联网企业级监控系统解决方案.其中有着如下的特点: ①强大灵活的数据采集:自动发现,支持falcon-agent.snmp.支持用户主动push.用户自定 ...

  3. nagios 完全配置手册

    Linux下Nagios的安装与配置   一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态,交换机路由器等网络设置,打印机 ...

  4. nagios安装配置

     http://www.codeweblog.com/nagios%E5%AE%89%E8%A3%85%E9%85%8D%E7%BD%AE/ 上线的服务器有时会被人攻击,导致服务不可用,今天安装配置了 ...

  5. CentOS6.5下的Nagios安装配置详解(图文)

    最近因为,科研需要,接触上了Nagios,这里,我将安装笔记做个详解.为自己后续需要和博友们学习! VMware workstation 11 的下载 VMWare Workstation 11的安装 ...

  6. Nagios安装配置教程(一)基本了解

    一.Nagios简介 Nagios是一款开源的电脑系统和网络监视工具,能有效监控Windows.Linux和Unix的主机状态, 交换机路由器等网络设置,打印机等.在系统或服务状态异常时发出邮件或短信 ...

  7. Zabbix监控mysql配置及故障告警配置

    本文主要介绍zabbix监控mysql的配置,包含使用zabbix自带模板监控mysql相关信息及自定义key监控mysql同步情况.同时介绍了触发器的创建及zabbix通过邮件方式告警配置. 一.配 ...

  8. Redis:安装、配置、操作和简单代码实例(C语言Client端)

    Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...

  9. [原创]nagios搭建配置

    nagios搭建配置 一.环境 ubuntu 14.04系统 host1:172.17.0.2 serverhost2:172.17.0.3 client 二.安装 1.在两个主机上都执行一下命令: ...

随机推荐

  1. 多测师讲解selenium _enter弹框_高级讲师肖sir

    enter # from selenium import webdriver# from time import sleep# drvier=webdriver.Chrome()# url='file ...

  2. ubuntu vi编辑器上下左右为ABCD的解决办法

    这个ubuntu系统自带的vi版本太老导致的,所以解决办法就是安装新版的vi编辑器: 首先卸载旧版本的vi编辑器: $sudo apt-get remove vim-common 然后安装新版的vi: ...

  3. C语言/C++编程学习:送给考计算机二级的同学:公共基础知识总结!

    数据结构与算法 1.算法 算法:是指解题方案的准确而完整的描述. 算法不等于程序,也不等计算机方法,程序的编制不可能优于算法的设计. 算法的基本特征:是一组严谨地定义运算顺序的规则,每一个规则都是有效 ...

  4. 【C语言编程学习笔记】利用462字节代码实现雅虎logo ACSII 动画!

    ACSII 动画演示:   不过本文介绍的是另一个作品:c 代码实现雅虎 logo ACSII 动图. 运行后,你将会看到:   它是一个 20fps.抗锯齿的 Yahoo! logo ASCII 动 ...

  5. lumen-ioc容器测试 (5)

    lumen-ioc容器测试 (1) lumen-ioc容器测试 (2) lumen-ioc容器测试 (3) lumen-ioc容器测试 (4) lumen-ioc容器测试 (5) lumen-ioc容 ...

  6. laravel设置excel高度

    <?php use App\Services\UploadService; use Maatwebsite\Excel\Facades\Excel; class ExcelTest extend ...

  7. 技术债! 怎样简洁高效的实现多个 Enum 自由转换

    一:背景 1. 讲故事 前段时间和同事负责一个项目的两个业务模块,可能大家缺少沟通,导致本该定义一个 Enum 的地方结果我俩各自定义了一个,导致后面这两个 Enum 进行对接就烦了,为了方便理解,也 ...

  8. Jmeter入门(1)- 什么是Jmeter以及Jmeter的安装和环境配置

    一. Jmeter简介 Jmeter时Apacha公司使用Java平台开发的一款测试工具 二. Jmeter可以做什么 Jmeter可以用来做接口测试.性能测试.压力测试.数据库测试.Java程序测试 ...

  9. 64位Ubuntu14.04配置adb后提示No such file or directory

    配置好SDK的环境变量后,输入adb提示 No such file or directory. 原因:由于是64位的linux系统,而Android SDK只有32位的,需要安装一些支持包才能使用 1 ...

  10. vant学习网址

    https://youzan.github.io/vant/#/zh-CN/swipe-cell 我推荐大家可以在这个网址上面学习vant相关的知识   里面有代码解说和详细的代码