TICK技术栈 -- DevOps轻量级监控解决方案
来源:互联网 发布:墨西哥毒贩 知乎 编辑:程序博客网 时间:2024/05/17 04:02
了解和学习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.rpmsudo 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.rpmsudo 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.rpmsudo 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.rpmsudo 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
- TICK技术栈 -- DevOps轻量级监控解决方案
- devops监控
- FluentData - 轻量级.NET ORM持久化技术解决方案
- FluentData - 轻量级.NET ORM持久化技术解决方案
- devops技术演变
- tick
- TICK
- JAVA轻量级文件监控
- 轻量级监控搭建
- 浅析DevOps解决方案的变迁
- DevOps实战:Graphite监控上手指南
- DevOps实战:Graphite监控上手指南
- 轻量级VPN解决方案--SigmaVPN
- OSGi轻量级数据库解决方案
- 轻量级开发技术总结
- 全栈必备DevOps
- DevOps
- devops
- 自定义类加载器[0]
- HRBUST1200 装修
- ibatis使用-动态创建表
- IDEA2016 激活码
- caffe-windows编译
- TICK技术栈 -- DevOps轻量级监控解决方案
- spring aop小例子
- bootstrap-警告框
- html5和html最主要的区别
- 记录个路由无线桥接设置
- [LeetCode]496. Next Greater Element I
- 关于AES在Linux下加密解密出错问题解决方案
- maven自定义命令
- Runtime--将信息对象归档解档