Nagios+InfluxDB+Grafana
1. 概述
- Nagios负责收集数据,是一款开源的免费网络监视工具。
- influxDB负责存储数据,是一个开源的时间序列数据库。比较适合存储监控或者部署记录这些时序数据。
- Grafana负责数据的图形化展示,是一款跨平台的开源的度量分析和可视化工具。大多用于时序数据的监控方面。
- nagios+influxdb+grafana的监控数据可视化流程
2. Nagios
- 官网
- Nagios官网
- 服务端下载界面
- 服务端安装手册
- 找对目标操作系统及其版本的安装步骤
- 服务端插件安装手册
- 客户端下载界面
- nagioscore文档 - v3
- nagioscore文档 - v4
- 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也显示不出来
- hostgroup
- 要在安装目录下的/etc/nagios.cfg中注册该入口配置文件:cfg_file=/usr/local/nagios/etc/objects/mindsphere_MTA.cfg,然后重启。
- 查看日志
- /usr/local/nagios/var/下面,包括archives子目录
- 如果启动成功了,那么具体的错误日志在界面上到相应的service的Status Information中也可以看到
- Nagios的服务分为网站和后台服务两部分,sudo systemctl restart nagios.service操作的是所有服务,sudo service nagios stop关的只是后台服务。
# HOSTGROUP DEFINITION ##############################################
define hostgroup {
hostgroup_name MMM-V3
alias MindSphere MTA App
members PRODA-MMMDEV
}
* host
* 定义中的contact_groups和contacts部分定义了联系人和联系组
define host {
use generic-host
host_name PRODA-MMMDEV
alias ProdA-MMMDEV
address 127.0.0.1
max_check_attempts 1
action_url null
notes_url null
icon_image cf.png
icon_image_alt CloudFoundry
notes MMM running in MMMDEV Space on PRODA
contact_groups MTALive,MMMViewUsers,admins
contacts DevOps
}
* 这两个字段中用到的contact必须在/etc/objects/**contacts.cfg**(也可以放在自己这个配置文件中??)中定义好,不然启动就会报错。
define contact {
contact_name nagiosadmin ; Short name of user
use generic-contact ; Inherit default values from generic-contact template (defined above)
alias Nagios Admin ; Full name of user
email nagios@localhost ; <<***** CHANGE THIS TO YOUR EMAIL ADDRESS ******
}
define contactgroup {
contactgroup_name MTALive
alias MTALive
members DevOps
}
* command
define command {
command_name check_MMMservice_ProdA-MMMOPS
command_line /usr/local/nagios/myplugin/check_proda_apps.sh $ARG1$ $ARG2$
}
* service
define service {
use generic-service
host_name PRODA-MMMDEV
service_description SinumerikAlarmProtocol
check_interval 2
retry_interval 1
check_command check_MMMservice_ProdA-MMMOPS!SinumerikAlarmProtocol!mcapps
notes Checks status of service alarmprotocol on ProdA MMMOPS system
contact_groups MTALive
contacts DevOps
notifications_enabled 1
notification_period 24x7
notification_options w,c,r,f,s
}
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一样
- 启动服务:sudo influxd
- Chronograf
- 运行Chronograf解压目录下的chronograf.exe运行Chronograf服务,默认是8888端口,可以在浏览器中打开操作
- influxdb
- 数据库操作方式
- 客户端命令行方式
- 进入命令行: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的更多相关文章
- nagios+influxdb+grafana的监控数据可视化流程
nagios介绍 nagios是一款开源监控的应用,可用于监控本地和远程主机的日志.资源.死活等等诸多功能.通过snmp协议和nrpe协议. nagios的配置文件是由nconf上进行配置,然后点击生 ...
- [系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控
之前在 nagios 上建立了 esxi 监控,指标少.配置麻烦.视觉效果差.最近我把 esxi 监控迁移到了 influxdb+grafana 平台上,无论是监控指标.可操作性还是视觉效果都有了很大 ...
- [转帖] 基于telegraf, influxdb, grafana 建立 esxi 监控
[系统集成] 基于telegraf, influxdb, grafana 建立 esxi 监控 https://www.cnblogs.com/hahp/p/7677420.html 之前在 nagi ...
- 【jmeter】基于InfluxDB&Grafana的JMeter实时性能测试数据的监控和展示
本文主要讲述如何利用JMeter监听器Backend Listener,配合使用InfluxDB+Grafana展示实时性能测试数据 关于JMeter实时测试数据 JMeter从2.11版本开始,命令 ...
- influxdb + Grafana可视化监控平台
在centos6.5上influxdb + Grafana监控平台配置: 1.RedHat and CentOS users can install the latest stable version ...
- 基于telegraf+influxdb+grafana进行postgresql数据库监控
前言 随着公司postgresql数据库被广泛应用,尤其是最近多个项目在做性能测试的时候都是基于postgresql的数据库,为了确定性能瓶颈是否会出现在数据库中,数据库监控也被我推上了日程.在网上找 ...
- Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警
前言 这次主要分享通过Metrics.net + influxdb + grafana 构建WebAPI的自动化监控和预警方案.通过执行耗时,定位哪些接口拖累了服务的性能:通过请求频次,设置适当的限流 ...
- 详解k8s原生的集群监控方案(Heapster+InfluxDB+Grafana) - kubernetes
1.浅析监控方案 heapster是一个监控计算.存储.网络等集群资源的工具,以k8s内置的cAdvisor作为数据源收集集群信息,并汇总出有价值的性能数据(Metrics):cpu.内存.netwo ...
- .NET Core微服务之基于App.Metrics+InfluxDB+Grafana实现统一性能监控
Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.关于App.Metrics+InfluxDB+Grafana 1.1 App.Metrics App.Metrics是一款开源的支持. ...
随机推荐
- iOS学习之UINavigationController详解与使用(三)ToolBar
1.显示Toolbar 在RootViewController.m的- (void)viewDidLoad方法中添加代码,这样Toobar就显示出来了. [cpp] view plaincopy [ ...
- Mybatis 针对ORACLE和MYSQL的批量插入与多参数批量删除
今天利用Mybatis的<for each>标签做oracle的批量插入数据时,发现和MySQL数据库有区别.在此记录下,以防之后再踩坑. 一.批量插入: 1.controller: /* ...
- .NET高级工程师逻辑面试题
1.面试题 有5座连续相邻的房子,并且每个房子有同的颜色:蓝色,绿色,红色,白色和黄色 每间房子的主人有不同的国籍:英国.印尼.德国.美国和荷兰 每个人喝不同的饮料:葡萄汁.咖啡.牛奶.茶和水 每个人 ...
- poi解析excle文件(xls,xlsx)
解析xls文件 /** * 解析xls文件 * * @param path 文件路径 * @throws Exception */ public static void showXls(String ...
- 解决svn Key usage violation in certificate has been detected
ubuntu系统 #!/bin/shecho "This script will reconfigure subversion to work with certs correctly.&q ...
- 99. Recover Binary Search Tree (Tree; DFS)
Two elements of a binary search tree (BST) are swapped by mistake. Recover the tree without changing ...
- http和socket之长连接和短连接区别(转)
TCP/IP TCP/IP是个协议组,可分为三个层次:网络层.传输层和应用层. 在网络层有IP协议.ICMP协议.ARP协议.RARP协议和BOOTP协议. 在传输层中有TCP协议与UDP协议. 在应 ...
- Python遍历一个文件夹下有几个Excel文件及每个Excel文件有几个Sheet
一. 解决问题: 工作中常会遇到合并Excel文件的需求,Excel文件数量不确定,里面的Sheet 数量是可变的,Sheet Name是可变的,所以,需要用到遍历一个文件夹下有几个Excel文件,判 ...
- 富文本编辑器和fastdfs的使用
宜立方商城的系统架构a) 功能介绍(项目架构,有哪些功能模块,这些功能模块如何实现?)b) 架构讲解工程搭建-后台工程c) 使用maven搭建工程(后台工程如何搭建?)d) 使用maven的tomca ...
- [C++] Type Conversion(类型转换)
Type Conversion(类型转换) Two kinds of type conversion explict type conversion(显式类型转换) impict type conve ...