TICK技术栈 -- DevOps轻量级监控解决方案

了解和学习TICK栈不久,还有很多需要进一步深入。但我个人非常看好这个项目,也希望更进一步研究,同时,在阅读源码和二次开发中,希望技术上能有所提升。另外,telegraf有CPU毛刺,已经转战更稳定的老牌 collectd。同时,生产环境,grafana 也是非常不错的选择,不需要二次开发,即可满足大部分需求。前端框架一个用的reactjs,一个angular1.5。感觉chronograf技术更轻量和前卫点儿,不过grafana也有非常多值得学习的地方,想二次开发的话,两个项目都值得深入 : ) 看个人选择了。

TICK技术栈

简介

  • T = Telegraf is a plugin-driven server agent for collecting and reporting metrics.
  • I = InfluxDB is a time series database built from the ground up to handle high write and query loads.
  • C = Chronograf is a graphing and visualization application for performing ad hoc exploration of data.
  • K = Kapacitor is a data processing framework proving alerting, anomaly detection and action frameworks.

简单表达:

  • Telegraf - 数据采集
  • InfluxDB - 数据接收和存储
  • Chronograf - 数据汇总展示
  • Kapacitor - 数据处理,比如监控策略等

技术架构

安装和部署

根据官方的开源解决方案,安装和部署都比较简单,可以用快捷安装方式即可。Chronograf建议编译安装,可以做一些基础的二次开发,部分react的组件修改和做一下汉化等。不过由于go的依赖比较多,有一些包需要翻墙才能get到,我在这儿也是倒腾了蛮久,有点蛋疼 >.<,具体略,有需要可以沟通。(不过没啥聊的其实,就是折腾)

比如,如下是针对CentOS平台:

#1. influxdb
#1.1 下载并安装
wget https://dl.influxdata.com/influxdb/releases/influxdb-1.2.0.x86_64.rpm
sudo yum localinstall influxdb-1.2.0.x86_64.rpm
#1.2 修改配置文件(修改了data目录后,注意修改对应目录的权限,需要将influxdb用户设置为属主和属组)
#1.3 启动服务
service influxd start

#2. telegraf
#2.1 下载并安装
wget https://dl.influxdata.com/telegraf/releases/telegraf-1.2.1.x86_64.rpm
sudo yum localinstall telegraf-1.2.1.x86_64.rpm
#2.2 修改配置文件 /etc/telegraf/telegraf
#主要是修改influxdb的配置
#2.3 启动服务
service telegraf start

#3. kapacitor
#3.1  下载并安装
wget https://dl.influxdata.com/kapacitor/releases/kapacitor-1.2.0.x86_64.rpm
sudo yum localinstall kapacitor-1.2.0.x86_64.rpm
#3.2 修改配置文件 /etc/kapacitor/kapacitor.conf
#3.3 启动服务

#4. chronograf
# (源码编译安装略)

#4.1 下载并安装(快捷安装)
wget https://dl.influxdata.com/chronograf/releases/chronograf-1.2.0~beta3.x86_64.rpm
sudo yum localinstall chronograf-1.2.0~beta3.x86_64.rpm
#4.2 启动服务
service chronograf start

都启动服务后,打开浏览器,访问: http://chronograf-ip:8888 即可访问

二次开发

二次开发,我这边主要针对 Chronograf 做了一些微调,还需要进一步学习源码。有兴趣的朋友,并且熟悉go或reactjs的最好,可以一起学习该开源方案。

可视效果

其它

Chronograf 的开源版本有支持和github,google等账号体系打通,通过JWT等,但是没有开放用户管理等功能,而且一般公司内部有账号体系,也不愿意将部分组织开放到github等上面,所以,要更好地在内部的环境使用它,目前来看,可能还需要进一步开发才行。不过,我个人倒是觉得 JWT 这种比较好,因为无状态,减少了维护成本。另外,后期肯定需要关联CMDB系统,关于这些后期的设计,如果有读者感兴趣,可以一起沟通和交流。欢迎指导!

注意

发现 telegraf 这个 agent 占 cpu 资源太多了,真是坑爹:

strace -T -r -c -p PID

% time     seconds  usecs/call     calls    errors syscall
------ ----------- ----------- --------- --------- ----------------
 99.12   16.050820       29451       545        12 futex
  0.35    0.055932           3     19278     18790 openat
  0.18    0.029826          36       838           read
  0.09    0.014101          22       627           sched_yield
  0.07    0.012027        2405         5           clone
  0.07    0.010825          71       153           select
  0.03    0.004468          25       178           getdents64
  0.03    0.004195         839         5           waitid
  0.02    0.003915           8       496           stat
  0.02    0.003291           6       507           close
  0.01    0.002091           5       390           fstat
  0.00    0.000366          46         8         1 readlinkat
  0.00    0.000187          37         5           wait4
  0.00    0.000166          21         8           lstat
  0.00    0.000147          15        10           pipe2
  0.00    0.000105          12         9         2 rt_sigreturn
  0.00    0.000101           8        12           statfs
  0.00    0.000072          14         5           getpid
  0.00    0.000030          30         1           sysinfo
  0.00    0.000005           1         7           epoll_wait
------ ----------- ----------- --------- --------- ----------------
100.00   16.192670                 23087     18805 total
时间: 2024-10-29 02:06:26

TICK技术栈 -- DevOps轻量级监控解决方案的相关文章

微服务技术栈2.0

当下市场瞬息万变,新技术不断涌现,而微服务持续火热.如果说2014年是微服务的元年,那么2015年和2016年则是微服务走下神坛的时刻,越来越多的开发者.架构师们探讨着如何落地,如何解决各种实际问题,而很多技术栈和工具也纷纷涌现. Netflix和一些互联网公司作为早期微服务的采用者在这些领域做了很多的投资.尝试和贡献(如开源工具和相关论文).然"微服务不是免费的午餐".企业也并不都是Netflix,微服务的复杂性以及带来的各种成本还是让很多企业望而却步,挡在了门外. 而如今,随着越来

百亿互金平台技术栈大起底

技术栈(technology stack)就是一个公司的透视镜,从某些程度上可以展示出公司的技术实力.从技术桟也可以看出整个平台的技术要素,平台大小规模等,今天来给大家分享我司的技术全家桶. 总览 闲来无事就想着还可以总结总结什么,平台架构.事故解决方案等以前都写过了,这次就主要写写我们都用过那些技术吧.我分了五块内容来介绍我们的技术栈:前端.后端.中间件.运维和工具.画了一个思维导图方便大家整体预览. 点击这里看大图 接下来就展开来说 前端 我司的前端比较简单主要分为了三大块:PC前端.移动端

微服务技术栈选型,看了这个别的可以不用看了

前言 大家好,我是敖小剑,今天给大家分享的主题是"利用开源社区打造微服务生态体系". 主要内容如下: 内容分为三个大的部分: 1. 微服务的核心技术 2. 目前可选的开源微服务框架 3. 为微服务提供支撑的基础设施 需要说明的是,由于时间有限,而分享的内容数量太多,因此: 1. 内容都只是罗列,不展开具体介绍 2. 个人知识面有限,列举过程中范围覆盖不足有所遗漏是必然的 3. 部分场景我会给出一些个人建议,但是请注意这些都是我的一家之言,仅供参考 下面列出的是今天将会介绍的内容,数量非

蒋勇 | 白话区块链技术栈与应用

(中生代技术&华章科技区块链技术分享第一期) (本文约12000字,阅读完本文预计10分钟) (如果电脑上阅读出现方框乱码,请下载PDF原文:链接:http://pan.baidu.com/s/1jHEyjEA 密码:zg30) 内容概要 现如今说起比特币,相信不少朋友已是耳熟能详了,尤其是这两年随着其价格飙升,甚至超过了黄金 ,超过了房地产,各大财经媒体乃至央视都有所关注报道: 在很多朋友心目中,比特币似乎就是一个类似于游戏币.邮币卡这样的炒作标的物,除了惊叹于它的价格上升速度外,对其了解还是

React 技术栈在蚂蚁金服的实践

在2017在线技术峰会"阿里开源项目最佳实践"上,蚂蚁金服前端工程师崔晓斌为大家带来了"React 技术栈在蚂蚁金服的实践"的演讲.主要从研发的模式变迁开始说起,着重说明React组件库antd相关技术及其应用,接着分析了dva,最后阐述了开源的意义.   以下是精彩内容整理: 蚂蚁金服于 2015 年发布并开源了基于 Ant Design 设计规范的 React 组件库 antd,从那时起,antd 就持续地得到社区的关注和帮助.经过近两年的发展,antd 在 G

为什么我们放弃了Erlang技术栈

至2013年小博无线云端系统上线以来,我们一直是Erlang的重度使用者.尽管小博无线技术团队不乏拥有10年以上经验的精英级Erlang程序员,然而,从2016年开始,我们已不再使用Erlang开发新业务,而我们放弃Erlang技术栈的原因可被简要概括为下面这句话: 让开发和运维更简单 总的来说,Erlang技术栈的优点在云计算环境中要么难以体现,要么容易寻找到成熟的替代方案,但弱点却既顽强又难以绕开.以下逐一展开说明. 优点: 易用的高并发轻量级进程 这一度是Erlang独有的优势,但在今天,

PON技术怎么解决网络监控传输瓶颈?

随着现代城市朝多职能化发展,城市布局日趋复杂,地面监控点有上百.数百个甚至上千个,要保证职能部门能在第一时间掌握实时.清晰高品质的视频图像,就凸现出光纤资源的紧张.而且,在城市功能日趋强大和复杂的今天,重新敷设光缆不仅成本非常昂贵,各方的协调更是困难重重.鉴于此,该如何解决上述问题呢? 其实,在电信运营商的FTTH(光纤到户)的建设中也遇到了同样的问题.为了解决这一问题,充分发挥光纤的带宽优势.解决光纤资源紧张.提高网络的可靠性,电信运营商选择了PON(无源光网络)技术.这种技术也可以运用到安防

安防政策、技术、资本三重驱动 解决方案迎结构机遇

十年安防黄金期,产业即将站上转折点.2015Q3财报依旧亮眼,安防监控指数板块营收和净利润分别增长22.24%与42.22%,但各类相关公司分歧开始逐渐增大.财务方面,前后端设备商财务指标稳健,海康大华双寡头格局稳定;特种设备商日益边缘化,各项指标持续恶化;解决方案商营收CAGR在50%以上,ROE在持续回升,但经营现金流未有显着好转.产业方面,10月第十五届安博会于深圳落幕,以"视频"为感知核心,"云存储.大数据"为技术架构的城市级解决方案逐步成为行业共识.宏观政

2016 JavaScript 技术栈展望

2016 JavaScript 技术栈展望 如果你正在筹划新的前端项目或者重构现有项目,那么你需要认识到现在的前端开发环境已经今非昔比,这其中有太多的选择了:React.Flux.Angular.Aurelia.Mocha.Jasmine.Babel.TypeScript.Flow-- 它们的本意是将开发简单化,却无形中提高了学习成本,也给未来项目的维护带来了不确定性. 好在这一现象正在退热,优胜劣汰,优秀的项目慢慢沉淀下来,开发方式也越来越清晰.有些开发者正在尝试使用基于上述技术的框架进行开发