首先看一下TICK技术栈整体的架构图
[if !supportLists]一、 [endif]环境配置
[if !supportLists]1、 [endif]首先下载Telegraf,InfluxDB,Chronograf,Kapacitor,Grafana等安装包,rpm包即可,从TICK官网直接下载即可。
[if !supportLists]2、 [endif]安装influxDB——存储
2.1使用rpm -ivh influxdb-1.6.0.rpm 进行安装,安装完成后,会自动注册启动服务,可以使用 service influxdb start ,stop,restart等命令进行服务启停操作;
2.2安装完成后,配置文件位于/etc/influxdb/influxdb.conf,vim打开该文件,进行必要配置
http标签下,enabled 设置为true表示开启http访问服务
bind-address,默认为“:8086”,一定要在前面加上 0.0.0.0,否则无法通过远程进行访问;
log-enabled为开启日志记录
access_log-path根据实际情况进行配置即可
至此,influxdb的配置就完成了,wq! 保存退出,然后重新启动influxdb即可
influxdb启动完成后,可通过 ps -ef|grep influxdb 命令查看是否启动成功,influxdb并未提供有界面的客户端管理工具,web管理工具也在1.3版本后去掉了,对它的访问,要依赖于 /usr/bin/influx命令,
这表示成功连接到influxdb,通过执行 show databases,可以查看数据库列表
初始环境下,只有一个_internal库
可以通过create database XXX命令进行数据库创建操作,其他相关命令请参考官网命令手册。
安装Telegraf ——收集
3.1同样,使用 rpm -ivh telegraf-XXXX.rpm 进行安装即可
同样,打开/etc/telegraf/telegraf.conf文件进行配置,telegraf作为数据采集组件,可配置内容非常多,这里只进行部分配置说明,更多详细配置请参考telegraf官网
首先的配置是Output输出部分,也就是telegraf收集来的数据,输出给谁
这里当然我们首先选择influxdb
首先在influxdb中创建 telegraf数据库,并新建用户telegraf,按照实际情况进行配置即可。
telegraf支持输出到很多地方,根据实际需求进行配置即可,此处不再展开。
输出配置完成后,就是输入的配置了
我们可以看到,Input Plugin下,关于cpu和磁盘的一些采集指标已经默认有一些了,可以保持默认
默认情况下,Telegraf已经提供了足够多的plugin,能进行各种中间件或服务的运行数据采集,官方提供的插件支持,请参考:https://github.com/influxdata/telegraf/tree/master/plugins
其中,inputs为官方提供收集插件的可采集数据类型,outputs则为采集数据的target destination。
特别地,Oracle和Weblogic的支持并不是特别好,以下是对这两个工具的运行数据采集实现方案;
3.2 Oracle运行数据采集
需要借助脚本来实现,需要运行Telegraf的机器安装python环境,然后编写采集数据的脚本,具体脚本文件请参考
然后编写采集服务脚本的启动脚本,如下:
其中,-u指定用户名,-p指定密码,-s指定oracle的Sid
最后,就是配置telegraf,这里我们需要配置的是exec节点,如下:
Command为采集服务启动脚本的地址,data_format设置为 influx,interval指定采样时间间隔,根据业务需求,自行设置即可。
完成上述配置后,重启telegraf服务,一段时间后,我们再次查看influxdb中的measurements,就会发现多出了oracle相关,
这样就完成了oracle运行数据的采集。接下来再看weblogic
3.3 weblogic运行数据采集
由于telegraf官方插件中并未提供weblogic的采集方案,所以我们仍需借助第三方组件来实现,这里我们使用的是jolokia
首先,去jolokia的官网下载相关工具https://jolokia.org/download.html
注意,这里一定要选择jolokia的unsecure版本,否则会出现认证授权失败的情况导致无法正常采集数据
下载完成后,重命名为jolokia.war,然后部署在weblogic server中,重启服务后,访问http://<address>:<port>/jolokia/version
查看是否有返回信息,正常的话,会返回如下信息:
{"request":{"type":"version"},"value":{"agent":"1.3.7","protocol":"7.2","config":{"maxCollectionSize":"0","agentId":"10.152.24.99-29844-172f5788-servlet","debug":"false","agentType":"servlet","serializeException":"false","detectorOptions":"{}","dispatcherClasses":"org.jolokia.jsr160.Jsr160RequestDispatcher","maxDepth":"15","discoveryEnabled":"false","canonicalNaming":"true","historyMaxEntries":"10","includeStackTrace":"true","maxObjects":"0","debugMaxEntries":"100"},"info":{"product":"tomcat","vendor":"Apache","version":"8.5.23"}},"timestamp":1509955465,"status":200}
最后,就是telegraf中jolokia的配置,如下:
重启telegraf服务,过一段时间后,查看influxdb中的measurements情况,
会发现已经有了weblogic相关的数据了,我们选择其中一个查看,比如jvm内存使用情况
至此,我们就完成了weblogic运行数据的采集。
其他常用的中间件或服务,请参考官网提供的插件,特别少见的服务,请参考oracle的采集方案,通过脚本的方式进行采集
[if !supportLists]1、 [endif]安装配置Grafana——展示
与上述其他组件一样,去Grafana官网下载相关安装包,然后使用rpm –ivh xxx.rpm进行安装即可
安装完成后,启动
最后,如果觉得本文还不错的话,路过请留赞!如果需要上述各类配置和源码等,请在评论区留下邮箱即可!