1. 概述

  • Nagios负责收集数据,是一款开源的免费网络监视工具。
  • influxDB负责存储数据,是一个开源的时间序列数据库。比较适合存储监控或者部署记录这些时序数据。
  • Grafana负责数据的图形化展示,是一款跨平台的开源的度量分析和可视化工具。大多用于时序数据的监控方面。
  • nagios+influxdb+grafana的监控数据可视化流程

2. Nagios

  • 官网

  • Nagios 监控
  • Nagios部署与配置
  • 分为免费版的Nagios Core和企业版的Nagios XI
  • 功能
    • 能有效监控Windows、Linux和Unix的主机状态,交换机路由器等网络设备,打印机等。
    • 在系统或服务状态异常时发出邮件或短信报警第一时间通知网站运维人员,在状态恢复后发出正常的邮件或短信通知
    • 也可以以插件的形式自己编写脚本采集和发送数据,Nagios有自己的一套逻辑去按需触发它。
  • 服务端(Nagios Core)安装
    • Nagios Core可安装在RHEL、Ubuntu、CentOS等平台。
    • 默认安装目录:/usr/local/nagios
  • Nagios在监控服务的性能和状态时,有以下几个概念:
    • Host
    • Host Group
    • Service
    • Service Group(AMP没用到)
  • Nagios Plugin Development(自定义插件开发)
    • Nagios Plugin API - v3
    • Nagios Plugin API - v4
    • Nagios Plugins Development Guidelines - v4
    • 总结(假设安装目录是/user/local/Nagios)
      • Nagios在安装时,官方手册有一步会调用源码中的命令创建服务的用户和用户组,都是nagios。web的账号是nagiosadmin
      • 插件运行在Nagios服务端
      • 插件的运行入口是一个cfg配置文件(/etc/objects/template.cfg是一个官方提供的demo)。
        • 要在安装目录下的/etc/nagios.cfg中注册该入口配置文件:cfg_file=/usr/local/nagios/etc/objects/mindsphere_MTA.cfg,然后重启。

          • 重启:sudo systemctl restart nagios.service
        • 其中定义了用到的command、service、host、hostgroup,供Nagios的web使用,可以在界面上查看和操作这些元素。
          • hostgroup

            • 定义中的members部分定义了包含哪些host,members字段中指定的host必须也要定义好,不然虽然页面不报错,但是连这个hostgroup也显示不出来
      • 查看日志
        • /usr/local/nagios/var/下面,包括archives子目录
        • 如果启动成功了,那么具体的错误日志在界面上到相应的service的Status Information中也可以看到
      • Nagios的服务分为网站和后台服务两部分,sudo systemctl restart nagios.service操作的是所有服务,sudo service nagios stop关的只是后台服务。
  1. # HOSTGROUP DEFINITION ##############################################
  2. define hostgroup {
  3. hostgroup_name MMM-V3
  4. alias MindSphere MTA App
  5. members PRODA-MMMDEV
  6. }
  1. * host
  2. * 定义中的contact_groupscontacts部分定义了联系人和联系组
  1. define host {
  2. use generic-host
  3. host_name PRODA-MMMDEV
  4. alias ProdA-MMMDEV
  5. address 127.0.0.1
  6. max_check_attempts 1
  7. action_url null
  8. notes_url null
  9. icon_image cf.png
  10. icon_image_alt CloudFoundry
  11. notes MMM running in MMMDEV Space on PRODA
  12. contact_groups MTALive,MMMViewUsers,admins
  13. contacts DevOps
  14. }
  1. * 这两个字段中用到的contact必须在/etc/objects/**contacts.cfg**(也可以放在自己这个配置文件中??)中定义好,不然启动就会报错。
  1. define contact {
  2. contact_name nagiosadmin ; Short name of user
  3. use generic-contact ; Inherit default values from generic-contact template (defined above)
  4. alias Nagios Admin ; Full name of user
  5. email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
  6. }
  7. define contactgroup {
  8. contactgroup_name MTALive
  9. alias MTALive
  10. members DevOps
  11. }
  1. * command
  1. define command {
  2. command_name check_MMMservice_ProdA-MMMOPS
  3. command_line /usr/local/nagios/myplugin/check_proda_apps.sh $ARG1$ $ARG2$
  4. }
  1. * service
  1. define service {
  2. use generic-service
  3. host_name PRODA-MMMDEV
  4. service_description SinumerikAlarmProtocol
  5. check_interval 2
  6. retry_interval 1
  7. check_command check_MMMservice_ProdA-MMMOPS!SinumerikAlarmProtocol!mcapps
  8. notes Checks status of service alarmprotocol on ProdA MMMOPS system
  9. contact_groups MTALive
  10. contacts DevOps
  11. notifications_enabled 1
  12. notification_period 24x7
  13. notification_options w,c,r,f,s
  14. }

3. influxDB

  • 官网

  • InfluxDB基本概念和操作
  • windows版influxDB安装与配置
  • influxDB1.6版安装与配置(windows环境)、Jmeter+influxDB+Grafana性能监控
  • 也有自带的web界面-Chronograf,也在官网下载。
  • 使用
    • influxdb

      • 添加influxdb解压包目录的环境变量后,命令行中用influxd打开influxdb服务,默认是8086端口。默认账号密码都是admin?小心别把命令行阻塞了,会导致各种操作暂停
      • influxdb.conf配置文件可以配置data、meta、wal三个目录的位置,端口等。
      • Linux
        • 启动服务:sudo influxd

          • 为什么一定要占用Terminal前台?有没有后台service运行的方式,类似nagios?
        • 默认安装目录:/usr/bin/influx、influxd等,/usr/lib/influxdb
        • 默认配置文件位置:/etc/influxdb/influxdb.conf
        • 启动命令行:和Windows一样
    • Chronograf
      • 运行Chronograf解压目录下的chronograf.exe运行Chronograf服务,默认是8888端口,可以在浏览器中打开操作
  • 数据库操作方式
    • 客户端命令行方式

      • 进入命令行:influx 、或者指定时间戳格式influx -precision rfc3339,或者打开influx.exe
      • 常用命令
        • 数据库操作

          • SHOW DATABASES
          • CREATE DATABASE "db_name"
          • DROP DATABASE "db_name"
          • USE "db_name"
        • 表操作
          • SHOW MEASUREMENTS ON "db_name"
          • insert "measurement_name","tag_name"=server01 value=442221834240i [选填1435362189575692182时间戳]
            • InfluxDB中没有显式的新建表的语句,只能通过insert数据的方式来建立新表。
            • DROP MEASUREMENT "measurement_name"
        • 数据操作
          • insert "measurement_name","tag_name"=server01 value=442221834240i [选填1435362189575692182时间戳]
          • 查询语句与SQL一样
          • 不能修改/删除数据
        • series操作
          • series表示这个表里面的数据,可以在图表上画成几条线,series主要通过tags排列组合算出来。
          • show series from measurement_name
    • HTTP API接口
    • 各语言API库
    • 基于WEB管理页面操作

4. Grafana

  • 官网

  • 可视化工具Grafana:简介及安装
  • Grafana学习笔记
  • 功能
    • 支持Elasticsearch、MySQL、Sql Server、PostgreSQL、influxDB、Graphite等多种数据源,以及多种查询语言。
    • 支持多种图表及各种显示设置,数据可基于查询语言。
    • 支持自定义界面布局。
    • 支持通知功能。
    • 支持以json格式导入导出界面设置,包含数据源、query、界面、alert、定时刷新等所有设置。
  • 使用(Dashboards->Home网页上会指导你一步步进行)
    • Install Grafana
    • Create your first data source
    • New dashboard
    • Invite your team
    • Install apps & plugins
  • 操作
    • 启动服务:运行grafana-server.exe(linux上是service grafana start),默认是3000端口,默认账号密码都是admin,第一次登陆后会让你设置新密码
    • 和Graphite类似,也是可以有多个Dashboard,每个Dashboard中可以自定义布局和使用哪些图形,新建一个Dashboard。
      • 在Dashboards页面可以导入panel,使用json文件或直接输入json配置
      • 在每个dashboard的配置页面可以修改当前的json配置
    • 在新的Dashboard中可以增加不同类型的图形。每个图形的title点Edit,在Metrics标签页可以拼接一个完整的查询语句来控制图表展示的数据。
    • 每一个页面是一个Dashboard,可以设置布局,包含多个panel
    • 每个图形是一个panel,点击标题后下单菜单的Edit可以进一步设置
      • 第一个面板设置Queries,可以设置数据源及查询等
      • 第二个面板设置Visualization,可以设置显示成点、线(默认不显示空值的话,会显示成一个个的点,要把Null value设成connected,才会忽略空值将点连成线)还是饼,还可以设置Axes、Legend等。
      • 第三个面板设置General,如标题什么的
      • 第四个面板设置Alert。重要实用,项目也在用

Nagios+InfluxDB+Grafana的更多相关文章

  1. nagios+influxdb+grafana的监控数据可视化流程

    nagios介绍 nagios是一款开源监控的应用,可用于监控本地和远程主机的日志.资源.死活等等诸多功能.通过snmp协议和nrpe协议. nagios的配置文件是由nconf上进行配置,然后点击生 ...

  2. [系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控

    之前在 nagios 上建立了 esxi 监控,指标少.配置麻烦.视觉效果差.最近我把 esxi 监控迁移到了 influxdb+grafana 平台上,无论是监控指标.可操作性还是视觉效果都有了很大 ...

  3. [转帖] 基于telegraf, influxdb, grafana 建立 esxi 监控

    [系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控 https://www.cnblogs.com/hahp/p/7677420.html 之前在 nagi ...

  4. 【jmeter】基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示

    本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...

  5. influxdb + Grafana可视化监控平台

    在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...

  6. 基于telegraf+influxdb+grafana进行postgresql数据库监控

    前言 随着公司postgresql数据库被广泛应用,尤其是最近多个项目在做性能测试的时候都是基于postgresql的数据库,为了确定性能瓶颈是否会出现在数据库中,数据库监控也被我推上了日程.在网上找 ...

  7. Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警

    前言 这次主要分享通过Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警方案.通过执行耗时,定位哪些接口拖累了服务的性能:通过请求频次,设置适当的限流 ...

  8. 详解k8s原生的集群监控方案(Heapster+InfluxDB+Grafana) - kubernetes

    1.浅析监控方案 heapster是一个监控计算.存储.网络等集群资源的工具,以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu.内存.netwo ...

  9. .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...

随机推荐

  1. 转载----开发运维资产管理系统cmdb一些观点扯淡

    在新公司负责全网的自动化运维平台及给各个业务线提供接口数据.这工作和以前做的很类似,也算是比较顺手的工作,这段时候遇见一些问题,导致开发的前进速度的放慢了,具体有哪些的不完善,我这里就先不摆出了,但是 ...

  2. centos安装rvm报错@curl -L get.rvm.io | bash -s stable fails on cent OS

    It is a security feature introduced in the latest version of RVMhttps://github.com/wayneeseguin/rvm/ ...

  3. 【译】PGS字幕

    PGS(Presentation graphic stream):图形字幕流,是用来显示蓝光电影中的字幕的流.当蓝光盘中的PGS格式的字幕被分离存储的时候通常保存在一个以sup为扩展名的文件中.(也可 ...

  4. sqlite在终端中输入命令不显示

    问题: 今天通过命令想访问我设备里面的db文件,但是进入到 sqlite> 后,输入命令都是不显示的,但是回车是可以执行的.如图 经过一番排查后,发现,因为我前面使用了su命令,不要使用su命令 ...

  5. UNITY Destroy()和DestroyImadiate()都不会立即释放对象内存

    如题,destroyimadiate是立即将物体从场景hierachy中移除,并标记为 "null",注意 是带引号的null.这是UNITY内部的一个处理技巧.关于这个技巧有很争 ...

  6. 调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题

    在运用Entity Framework调用存储过程的时候,遇到"调用EF的存储过程报"调用EF的存储过程报“存储区数据提供程序返回的数据读取器所具有的列数对于所请求的查询不够”问题 ...

  7. drbd mysql

    使用drbd前 升级内核 yum install kernel* 重启 4.1.准备: 两个节点ha-node1和ha-node2均按照centos7.0系统,每个节点两块磁盘,一块用作根分区一块用作 ...

  8. 【HDU2138】How many prime numbers

    [题目大意] 给n个数判断有几个素数.(每个数<=2^32) 注意多组数据 [题解] 用Rabin_Miller测试跑得飞快... /************* HDU 2138 by chty ...

  9. Nginx源码完全注释(2)ngx_array.h / ngx_array.c

    数组头文件 ngx_array.h #include <ngx_config.h> #include <ngx_core.h> struct ngx_array_s { voi ...

  10. 各种mac软件地址

    http://www.sdifenzhou.com/  各种软件地址