新一代监控平台整合telegraf、influxdb、garafana

      随着容器时代到来,公司对devops等概念理解愈来愈深入,业务系统架构也在不断向微服务架构调整。业务系统也不断的提供更多的api接口,实现方便灵活的调用。在这种业务背景下,感受业务系统的监控系统(zabbix、cacti)等,略显笨重,在使用灵活度上感受也略显欠佳。
html

    那么有没有新的监控系统可以在知足监控的需求的基础上,让使用变得更灵活、调用更加方便那?
sql

答案是确定的,有,我的查了一些资料,简单整理一下,下面进行简单描述:数据库

监控系统通常分几块:api

数据采集跨域

数据存储架构

数据展现app

告警 (后期探讨)less

对应找到服务以下:分布式

采集数据(telegraf)-> 存储数据(InfluxDB) -> 显示数据(Grafana)ide

下面对各个服务的特色进行介绍:


1:telegraf 

    Telegraf 是一个用 Go 编写的代理程序,可收集系统和服务的统计数据,并写入到 InfluxDB 数据库。

Telegraf 具备内存占用小的特色,经过插件系统开发人员可轻松添加支持其余服务的扩展。

我的感觉:

1:监控插件知足主流监控需求;

2:添加监控项方式简单、灵活;

3:监控项模块化,方便自动程序调用;

官网参考地址 

https://docs.influxdata.com/telegraf/v0.11/


2:influxdb

    InfluxDB 是一个开源分布式时序、事件和指标数据库。使用 Go 语言编写,无需外部依赖。其设计目标是实现分布式和水平伸缩扩展。


一、它有三大特性:

1. Time Series (时间序列):你可使用与时间有关的相关函数(如最大,最小,求和等)

2. Metrics(度量):你能够实时对大量数据进行计算

3. Eevents(事件):它支持任意的事件数据


二、特色

schemaless(无结构),能够是任意数量的列

Scalable

min, max, sum, count, mean, median 一系列函数,方便统计

Native HTTP API, 内置http支持,使用http读写

Powerful Query Language 相似sql

Built-in Explorer 自带管理工具


三、API

InfluxDB 支持两种api方式

HTTP API

Protobuf API

我的感觉:

1:数据为为监控而生;

2:方便扩容;

3:管理、使用都很爽;


3:grafana

    Grafana是一个纯粹的html/js应用,访问InfluxDB时不会有跨域访问的限制。只要配置好数据源为InfluxDB以后就能够,剩下的工做就是配置图表。Grafana 功能很是强大。

使用ElasticsSearch保存DashBoard的定义文件,也能够Export出JSON文件(Save ->Advanced->Export Schema),而后上传回它的/app/dashboards目录。

我的感觉:

1:gafana 太强了,展现监控数据就是小菜一碟;

2:丰富的数据源接口,各类数据都能接入,在gafana进行展现;

3:丰富的API接口,方便自动化程序调用;

4:监控dashboard 导入 、导出,这个很棒,作好一个比较满意的展现面板,导出后主要修改一下里面的IP等信息,经过导入,其它主机的展现所有搞定。


以上仅仅是我的总结的一点,优缺点还须要你们各自评点,下面是个人安装部署的一些资料,提供参考,不足之处请指正。

telegraf安装部署详解

influxdb 安装配置详解

grafana 安装配置详解

相关文章
相关标签/搜索