使用tcollector及使用过程中遇到的错误

来源:互联网 发布:流程图绘制软件 编辑:程序博客网 时间:2024/06/06 01:08

0.1. tcollector

首先先介绍下什么是tcollector,我们都知道,opentsdb是采集时间序列点位的,对用于作为监控来使用。但是,我们采集点位需要从写脚本,并且采集了点位之后,我们需要整理,然后发送给Opentsdb,使用起来感觉有点麻烦,有没有更好的办法呢。Opentsdb官网就推荐了一个点位采集的小服务,就是叫做tcollector,它提供了大部分脚本来负责采集,但是如果没有我们想要的采集脚本怎么办呢,他也提供了方便的接口,只要实现你的采集逻辑,tcollector这个服务就会自动帮我们发送采集的metrics,相当于节省了很大的时间来实现我们的监控。

1.下载tcollector

直接从github上下载tcollector就好

git clone https://github.com/OpenTSDB/tcollector.git

2.启动tcollector

首先需要开启Opentsdb的自动创建uid的功能,tsd.core.auto_create_metrics = true 。开启此项功能。Opentsdb就可以自动创建映射了

然后是启动tcollector,但是我看之前的一些文章或者帖子说,tcollector启动命令是tcollector安装目录下的./startstop start 然后我就去寻找这个startstop这个脚本,但是一直木有找到,最后终于找到了一个叫做tcollector的脚本,打开一看,如下图,明白了,脚本换名字了,但是还官网没有同步,找了好久,贼吉尔心痛。

这里写图片描述

上图是官网上tcollector的启动,下图是tcollector目录下的tcollector脚本

这里写图片描述

打开这个脚本,可以看到启动这个脚本需要加的参数。

这里写图片描述

所以启动命令就是./tcollector start 但是我感觉,命令还不够,我们还没指定我们要发送的tsdb的地址呢,接着我就去查看了collector目录下面得tcollector.py这个脚本,然后可以从代码中得出,你一般需要的一些启动参数。

这里写图片描述

如果简单的使用呢,我们就指定tsdb的地址就好了,例如 ./tcollector start -H xx.xx.xx.xx -p 4242,这样就启动了我们的tcollector,然后我就跑去看了下/var/log/tcollector.log 发现了一堆错误,如下图

这里写图片描述

我的第一反应是,我linux没安装python嘛?吓得我赶紧执行了一下python命令,发现是有python的并且环境变量下也是有的。我就继续寻找错误,经过一段时间,我发现,其实,我下的代码,是先下载到了windows,然后读了读,最后传到了linux上去,然后我立马去linux上用vim打开了python脚本,然后输入了命令:set ff 一看
这里写图片描述

然后输入下图命令

这里写图片描述

输入如上图所示,就会发现,我们已经把这个脚本改为unix的格式了,但是tcollector/collectors/0这目录下,那么多python脚本,怎么办呢。。。,于是我就搜了搜,找到个好命令,可以批处理,然后输入sudo find /opt/tcollector/collectors/0/ -name “*.py” | xargs dos2unix

这里写图片描述

这样就解决了上述的错误!

这里写图片描述

然后我把所有监控的点位,保存到笔记本里,方便检索,美滋滋~

这里写图片描述

这些点位是用过运行./hbase_regionserver.py从控制台的得来的,然后保存下来~

如果大家想要快速监控起来你们的服务和系统,不妨尝试一哈,然后更多的tcollector原理以及二次开发,希望有时间,再与大家一起来分享~~

阅读全文
1 0