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. Python2安装说明

    1.Python版本 Python 2.x的版本的,被称为Python2:是目前用的最广泛的,比如Python 2.7.12. Python 3.x的版本的,被称为Python3:是最新的版本的,比如 ...

  2. linux 使用 pyodbc 访问 ms sqlserver 数据库

    一.安装linux下Sqlserver的驱动程序: 我们先来安装SqlServer的驱动程序,再安装ODBC相关的,目的是想尽快可以进行测试,因为在安装完Freetds之后,我们马上就可以在linux ...

  3. 小心C语言的定义与声明

    小心C语言的定义与声明 转自360博客 注:为便于说明问题,文中提及的变量和函数都被简化. 一.起源 DBProxy在测试过程中,发现对其执行某步管理操作后,程序有时会崩溃,但不是每次都出现. 二.G ...

  4. ASP.NET基础笔记

    MSDN:                                                                                                ...

  5. django-south

    python manage.py schemamigration youappname --initial # --initial在数据库创建models定义的表,以及South需要的south_mi ...

  6. C#取枚举描述

    一直都觉得枚举是个很不错的东西,可以给我们带来很多方便,而且也增加代码的可读性. 我在之前已经介绍过枚举的简要应用了,再次再来写下怎么获取枚举的描述. 源码如下: 首先,我们定义个含有描述的枚举类型 ...

  7. Jquery 1.8.2 click function - 动态

    Jquery 动态按钮方法如下:   $("#parentID").on("click",'.classname',function(){$(this).par ...

  8. Python 抓取网页乱码问题 以及EXCEL乱码

    import codecs f1=codecs.open('items.json', 'r', encoding='utf-8').read().decode("unicode_escape ...

  9. 11.Warning (332060): Node: pi_fck3p was determined to be a clock but was found without an associated clock assignment.

    解释及措施:(1):这个信号是不是你期望的时钟信号?还是被综合器误将普通信号综合成了时钟信号?有没有在代码中用过这个信号的上升沿/下降沿? (2):如果是期望的时钟信号,那么是否有可能调整管脚位置约束 ...

  10. SQLite函数详解之二

    sqlite3支持的数据类型: NULL.INTEGER.REAL.TEXT.BLOB 但是,sqlite3也支持如下的数据类型 smallint           16位整数 integer    ...