一、CAT (Central Application Tracking) 简介:
CAT 是大众点评开源的一套基于java的实时应用监控平台,主要应用于服务中间件框架(MVC 框架、RPC 框架、持久层框架、分布式缓存框架)的监控,为开发和运维提供各项性能指标、健康检查、自动报警等可视化服务
二、CAT 安装部署:
下文将一步步介绍如何安装服务端、如何接入客户端、如何查看一些监控指标
首先,准备安装环境
1.确保待安装环境已经安装了jdk(1.6以上版本)、git、maven(maven 版本需要在 3.2.3以上)mysql、web容器 tomcat,这里不再赘述
2.下载cat源码:https://github.com/dianping/cat.git,并导入到eclipse(导入过程中可能会遇到一些问题,可以不必在此纠结,继续下一步)
3.下载master打包后的包,https://github.com/dianping/cat/archive/master.zip,并解压到本地
其次,安装服务端
1.打war包:进入到解压后的 源码文件夹,运行maven打包命令:
mvn clean install -DskipTestsPS:打包过程中会在源码所在盘符创建 data/appdatas/cat目录,所以确保当前用户拥有读写权限
2. 部署war包:当运行完打包命令,会在每个子模块中,生成打包后的文件
* cat-home.war : 服务端组件,负责收集监控信息,分析处理生成报告、作出警告(需要的服务端war包)
* cat-agent.war : 监控端组件,负责收集被监控端信息,并上传监控信息到服务端
* cat-client.jar : 客户端组件,负责与服务端进行连接通信,
* cat-core.jar : 核心处理组件,负责具体的与客户端通信服务,解析数据、输出报告
* cat-consumer.jar : 消费处理组件,负责实际的监控数据分析,处理工作
* cat-hadoop.jar : HDFS存储组件
* broker-service.war : 监控服务代理组件
将cat-home.war重命名为cat.war后复制到tomcat 容器webapps目录下,然后启动容器,至此服务端已安装完毕,在浏览器中输入 http://127.0.0.1:8341/cat/r/ 看到下图,表示安装成功
接着,客户端接入
1.待监控项目pom文件加入依赖
<dependency> <groupId>com.dianping.cat</groupId> <artifactId>cat-core</artifactId> <version>1.3.6</version> </dependency>2.待监控项目web.xml 中引入cat 过滤器
<filter> <filter-name>cat-filter</filter-name> <filter-class>com.dianping.cat.servlet.CatFilter</filter-class> </filter> <filter-mapping> <filter-name>cat-filter</filter-name> <url-pattern>/*</url-pattern> <dispatcher>REQUEST</dispatcher> <dispatcher>FORWARD</dispatcher> </filter-mapping>3.引入配置文件:在src/main/resources/META-INF下创建app.properties或cat/client.xml
app.properties 加入一行app.name=项目名(即domain)
3.加入监控逻辑
@RequestMapping("index") public ModelAndView index(HttpServletRequest request, HttpServletResponse response){ Transaction t = Cat.getProducer().newTransaction("your transaction type", "your transaction name"); try { System.out.println("debug..."); Cat.getProducer().logEvent("your event type", "your event name", Event.SUCCESS, "keyValuePairs"); t.setStatus(Transaction.SUCCESS); } catch (Exception e) { Cat.getProducer().logError(e);//用log4j记录系统异常,以便在Logview中看到此信息 t.setStatus(e); // throw e; /* (CAT所有的API都可以单独使用,也可以组合使用,比如Transaction中嵌套Event或者Metric。) (注意如果这里希望异常继续向上抛,需要继续向上抛出,往往需要抛出异常,让上层应用知道。) (如果认为这个异常在这边可以被吃掉,则不需要在抛出异常。)*/ } finally { t.complete(); } return new ModelAndView("main"); }
4.重启待监控项目,并访问一个项目的页面,同时进入监控平台(默认用户catadmin/catadmin)http://127.0.0.1:8341/cat/r/,这时我们会发现,下图中有了数据(profit为项目名)
5.监控埋点
Transaction用来记录一段程序响应时间
Event用来记录一行code的执行次数
Metric用来记录一个业务指标
这些指标都是独立的,可以单独使用,主要看业务场景。
最后,安装总结
本文提到的CAT安装是简化版,没有用到ldap验证,没有用到hadoop,比较基础。其他详细的安装细节请参考源码和CAT监控系统首页【文档】选项。
相关推荐
这篇入门手册旨在为初学者提供全面的TwinCAT3.1学习资源,帮助他们快速掌握该软件的使用和编程。 **1. 简介** TwinCAT3.1 是基于Windows操作系统的开放自动化平台,它结合了PLC、运动控制、测量技术、人机界面(HMI...
TwinCAT是Beckhoff公司推出的一种基于Windows的PLC(可编程逻辑控制器)和SCADA(监控与数据采集)软件,而LabVIEW则是一种通用的编程平台,广泛用于测试、测量和控制系统设计。 描述 "LABVIEW与twincat联合开发...
在工业自动化领域,TwinCAT3 是一款广泛使用的软件平台,尤其在PLC(可编程逻辑控制器)编程和控制系统设计中。TwinCAT3 提供了丰富的功能,其中包括安全模块,使得工业生产环境中的设备能够遵循严格的安全标准。这...
本篇将详细讲解如何在C#环境中与TwinCAT进行通讯,并利用TwinCAT.Ads.dll库进行数据交互。 首先,理解TwinCAT ADS(Automation Device Server)通信协议至关重要。ADS是TwinCAT系统提供的一种服务,它允许外部应用...
本篇文章将详细介绍TwinCAT IEC61131-3编程的核心概念、应用特点以及实际操作技巧。 一、IEC61131-3编程标准介绍 IEC61131-3是国际电工委员会(IEC)制定的一套编程语言标准,旨在规范工业控制系统的编程。该标准...
8. **TC31-FULL-Setup.3.1.4022.29.exe**:这个文件是TwinCAT 3.1.4022.29的安装程序,包含了完整的软件套装,用户可以通过运行这个文件来安装和配置TwinCAT系统。 综上所述,TwinCAT 3.1.4022.29作为一个全面的...
这篇手册主要涵盖以下几个方面的内容: 1. **基本监控工具**:Linux提供了一系列内置的监控工具,如`top`、`htop`、`iotop`和`vmstat`等,它们分别用于查看系统进程、CPU、内存和I/O使用情况。`mpstat`可以显示每个...
在工业自动化领域,TCP/IP通信协议是连接不同设备和系统的重要技术之一,尤其在使用TwinCAT PLC(可编程逻辑控制器)系统时。TwinCAT是Beckhoff公司推出的一款强大的自动化软件,它集成了PLC编程、运动控制、NC...
根据给定文件信息“TwinCAT.txt”的标题、描述、标签以及部分内容来看,本篇将围绕TwinCAT 3.1.4022.25版本进行深入探讨,包括其功能特性、应用场景以及对工业自动化的影响。 ### 一、TwinCAT概述 TwinCAT是由德国...
本篇文章将深入探讨如何在Twincat HMI中自定义用户管理系统,以实现更为精细化的安全控制和操作权限管理。 首先,我们需要了解Twincat HMI的基本架构。Twincat HMI是基于Windows操作系统,并与Twincat PLC紧密集成...
本篇文章将深入探讨如何在TwinCAT3中测试久同TSVB总线伺服,涉及的主要知识点包括IO硬件扫描、伺服参数设置、扭矩值关联与读取,以及通过功能块控制伺服。 首先,IO硬件扫描是配置自动化系统的首要步骤。在TwinCAT3...
说明:监控脚本在 rhel5 下测试正常,其它版本的linux 系统请自行测试,需要的一些准备工作可以查看这篇文章 代码: 代码如下:#监控mysql 主从复制cat chk_mysql_rep.sh #!/bin/bash # #script_name:chk_mysql_rep....
MOBOTIX M22 是一款先进的安全监控摄像头系统,其快速安装指南提供了简洁明了的步骤来帮助用户完成摄像头的安装与配置。本篇将对MOBOTIX M22的安装流程进行详细的解读,包括必要的准备条件、不同连接方式下的安装...
- 状态字的修改涉及到了位分配的变化,比如将“TargetValueIgnored”位改为“Reserved”,这可能意味着设备在进行状态监控和故障诊断时提供了新的标识位,用于指示特定的操作模式。 - 自动调谐功能的修改涉及到了...
根据给出的文件信息,"鸟哥Linux私房菜基础学习篇(第三版).pdf" 是一本针对Linux新手的入门书籍,涵盖了Linux的基础命令和指令速查表。为了满足题目要求,以下是根据提供的文件内容、标签以及Linux基础知识构建的...
CentOS 下 InfluxDB 的安装和配置 InfluxDB 是一个流行的开源时间序列数据库,广泛应用于 IoT、工业自动... CentOS 上的 InfluxDB 安装和配置非常简单,通过这篇文章,您已经学会了在 CentOS 上安装和配置 InfluxDB。
6. **监控与运维**:理解如何监控Elasticsearch的健康状态,使用如Cat API、Watcher等工具进行性能监控和报警设置。 7. **安全性**:了解如何设置用户权限、使用SSL/TLS加密通信,以及如何通过X-Pack插件实现更高级...
安装Erlang是安装RabbitMQ的前提条件之一。本步骤中,我们下载并编译了Erlang 19.3版本,并将其加入到系统的PATH环境中。 ##### 9. 启用Web管理插件 ```bash cd /usr/local/rabbitmq/rabbitmq_server-3.6.15/sbin ...
在《鸟哥Linux基础学习篇》中,读者将学习如何安装Linux操作系统,包括常见的Live CD/DVD安装、网络安装以及U盘安装等方法。安装过程中会涉及分区管理,如FAT32、NTFS和EXT4等不同文件系统的理解与选择。 接着,书...