Nagios 是一款强大的开源监控软件,但他本身不能绘图,只能查看当前数据,不能看历史数据以及趋势,也正因此,想要更舒适的使用就要搭配绘图软件,现在可搭配的绘图软件有很多,例如 pnp4nagios,rrdtools,grafana,cacti,以及 Cloud Insight,这些软件和 Nagios 有的还要搭配使用。

本文就介绍以下几种快速实现 Nagio 数据可视化的软件,以及它们的安装配置方式和展示效果图。

Pnp4nagios,Rrdtools

Pnp4nagios 利用 rrdtool 工具将 Nagios 采集的数据绘制成相关的图表,而 rrdtool 的安装需要一系列繁杂的依赖关系。

  • 先 yum 安装各种依赖关系
  • 再安装 rrdtools,期间若有对应的错误要一一安装相应的依赖库
  • 最后安装 PNP4nagios
  • 安装完成后配置文件,配置需要对 nagios 进行四个方面的配置,修改
    nagios.cfg,command.cfg,templates.cfg,以及服务器配置文件 localhost.cfg

最后出来的图是这样的:

操作难度:3星
界面直观指数:2星

Nagiosgraph

Nagiosgraph 是 Nagios 监控系统的一个插件,用 RRD 格式收集服务性能数据,通过 CGI 显示出数据的图表,nagiosgraph 创建图表并根据数据图像报告生成 HTML 页面。

  • 安装 nagiosgraph 组件,先下载源码包
  • 检测环境要求,安装缺少的模块,同时还要注意版本的要求
  • 安装,成功后编辑 nagios.cfg,commands.cfg,httpd.conf,templates.cfg 文件
  • 重启 nagios,在 web 上即可看到

配置出来的图是这样的:

操作难度:3星半
界面直观指数:2星半

Graphite,Grafana

Graphite 从 nagios 收集数据,存储时间序列数据,根据需要呈现数据的图形。

Grafana 是一种专业的图形生成软件,只有数据展示的功能,是一个纯粹的 html/js 应用。它专注于提供丰富的方式来可视化时间序列指标。所以和 Graphite 搭配一起展示 Nagios 数据。

Graphios 是一个脚本,可以把 nagios 数据发送给 graphite ,解决 graphite 获取不到 nagios 数据的问题

  • graphite 安装准备环境
  • 获取安装包 graphite-web,carbon,whisper
  • 配置 apache,初始化数据库
  • 启动 graphite,设置登陆 graphite 的用户名及密码
  • apache 添加 grafana 配置,设置登陆 grafana 的用户名及密码
  • 安装elasticsearch
  • 获取 grafana 源码,修改 config.js,设置登陆的用户及密码
  • 配置 nagios 给 graphite 发送数据的脚本 graphios
  • 配置 nagios,修改配置文件 nagios.cfg,commands.cfg,配置 nagios 使用 graphios
  • 以上全部配置完,重启 nagios

图表基本上是这样的:

好好看,但至少你得掌握 Graphite,Grafana,Graphios 安装配置。

操作难度:5星
界面直观指数:4星半

Cacti

Cacti 是一套开源的,基于 RRDTool 良好绘图功能的网络流量监测图形分析工具,通过 NPC(Nagios Plugin for Cacti) 插件将nagios 的监控信息整合到监控页面中

  • 安装 cacti 依赖包,安装cacti
  • 设置 apache,mysql,php,cacti
  • 安装插件之前先安装 PIA(Cacti-Plugin),之后安装 npc 插件,安装好后可以在 Cacti 界面里使用 Nagios
    的功能
  • 登录 cacti 后台,在插件管理中心安装并启用 NPC

图形展示是这样的:

操作难度:3星半
界面直观指数:2星

Cloud Insight

Cloud Insigh 是一个通过 StatsD 收集数据,使用 OpenTSDB 对性能指标进行聚合、分组、过滤,利用 highcharts 做前端展示的数据管理平台。

  • 一键安装探针,40s 即可安装成功
  • 修改 nagios 配置文件 nagios.cfg,Cloud Insight 配置文件 nagios.yaml

  • 重启探针

出来的图形是这样的:

操作难度:2星
界面直观指数:4星

总结

综上, Nagios 想要看到实时数据显示情况以及历史趋势,那就需要配置数据可视化的插件,上面各种软件的配置情况如上,可根据自己喜好,时间,兴趣配置不同图形看一看。

还有,5.1假期快到了,你还有几天时间可以搞一搞?再顺道琢磨琢磨配置除了图表功能之外的其他功能!

Cloud Insight 集监控、管理、计算、协作、可视化于一身,帮助所有 IT 公司,减少在系统监控上的人力和时间成本投入,让运维工作更加高效、简单。想阅读更多技术文章,请访问 OneAPM 官方技术博客

本文转自 OneAPM 官方博客

Nagios 快速实现数据可视化的几种方式的更多相关文章

  1. QF——iOS中数据持久化的几种方式

    数据持久化的几种方式: 一.属性列表文件: .plist文件是种XML文件.数组,字典都可以和它互相转换.数组和字典可以写入本地变成plist文件.也可以读取本地plist文件,生成数组或字典. 读取 ...

  2. 基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

    在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交,方便页面和服务器后端进行数据的交互处理.本文主要介绍利用Jquery处理数据交互的几种方式,包括 ...

  3. 实现web数据同步的四种方式

    http://www.admin10000.com/document/6067.html 实现web数据同步的四种方式 1.nfs实现web数据共享 2.rsync +inotify实现web数据同步 ...

  4. 数据存储的两种方式:Cookie 和Web Storage

    数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡,这个购物卡里存放了一些你的个人信息,下次你再来这个连锁超市时, ...

  5. RecyclerView 数据刷新的几种方式 局部刷新 notify MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  6. 数据存储的两种方式:Cookie 和Web Storage(转)

    数据存储的两种方式:Cookie 和Web Storage   数据存储的两种方式:Cookie 和Web Storage 1.Cookie Cookie的作用就像你去超市购物时,第一次给你办张购物卡 ...

  7. (转)基于MVC4+EasyUI的Web开发框架经验总结(12)--利用Jquery处理数据交互的几种方式

    http://www.cnblogs.com/wuhuacong/p/4085682.html 在基于MVC4+EasyUI的Web开发框架里面,大量采用了Jquery的方法,对数据进行请求或者提交, ...

  8. PHP中数据类型转换的三种方式

    PHP中数据类型转换的三种方式 PHP的数据类型转换属于强制转换,允许转换的PHP数据类型有: 1.(int).(integer):转换成整形2.(float).(double).(real):转换成 ...

  9. linux下实现web数据同步的四种方式(性能比较)

    实现web数据同步的四种方式 ======================================= 1.nfs实现web数据共享2.rsync +inotify实现web数据同步3.rsyn ...

随机推荐

  1. IE8中JSON.stringify方法对自动转换unicode字符的解决方案

    IE8内置了JSON对象,用以处理JSON数据.与标准方法的不同,IE8的JSON.stringify会把utf-8字符转码: var str = "我是程序员" var json ...

  2. 从0 开始 WPF MVVM 企业级框架实现与说明 ---- 第四讲 WPF中 ControlTemplate

    上讲我们介绍了DataTemplate,现在我们就介绍下ControlTemplate,可能后面大多在编码时候会出现一些英文,工作习惯,请见谅. ControlTemplate: 控件的外观,也就是控 ...

  3. hdu 1029

    #include"stdio.h" int main(void) { int n,x,y,t,i; while(scanf("%d",&n)!=EOF) ...

  4. 银行卡BIN码大全

    BIN号即银行标识代码的英文缩写.BIN由6位数字表示,出现在卡号的前6位,由国际标准化组织(ISO)分配给各从事跨行转接交换的银行卡组织.银行卡的卡号是标识发卡机构和持卡人信息的号码,由以下三部分组 ...

  5. hdu 5327 Olympiad

    题目连接 http://acm.hdu.edu.cn/showproblem.php?pid=5327 Olympiad Description You are one of the competit ...

  6. SecurityManager一:理解AccessController.doPrivileged()

    AccessController.checkPermission()检测模型: 从VM Stack的current stack frame起逐个检测stack frome所指class的protect ...

  7. simplexml_load_string 解析gb2312编码的xml

    <?php header('Content-type:text/html;charset=UTF-8'); $url = 'http://www.xxx.com/text.xml'; $cont ...

  8. Orchard工作原理

    概述 本文翻译仅供学习之用,了解Orchard工作原理设计思想.技术点及关键词,如有缺漏请不吝指正.鉴于能力有限定有诸多曲解或不完整的地方,请海涵.不定时完善整理. CMS不像常规的web程序,它更像 ...

  9. Java实现Internet地址获取

    Java实现Internet地址获取 代码内容 输入域名输出IPV4地址 输入IP地址输出域名 支持命令行输入 支持交互式输入 代码实现 /* nslookup.java */ import java ...

  10. < java.util >-- Iterator接口

    每一个集合都有自己的数据结构,都有特定的取出自己内部元素的方式.为了便于操作所有的容器,取出元素.将容器内部的取出方式按照一个统一的规则向外提供,这个规则就是Iterator接口. 也就说,只要通过该 ...