1、什么是SmartAgent?有哪些特点?

Smart Agent是透视宝开发的部署在主机端的软件程序(探针),包括Linux版和Windows版,用来监控主机端物理指标、安装的各种服务或数据库性能以及应用程序代码性能。

Smart Agent具有如下特点:

  • 部署快捷:一键安装,自动发现,极速部署、管控无忧。

  • 智能发现:在一台主机上安装之后,会发现部署服务实例及其版本。

  • 插件架构:采用开放式的插件式结构用来实现对每种服务的监控。

  • 开放扩展:开放的插件定义扩展机制,便于自定义插件来实现更多功能。

  • 集中管控:提供插件集中管理界面,方便实现插件的监控及升降级维护。

2、Smart Agent的插件式结构是什么样的?

Smart Agent提供了一种开放式的插件式结构,用相应的插件来实现对每种组件的监控。除默认提供的插件外,透视宝还提供了开放的插件定义扩展机制,便于用户自定义插件来实现更多的功能。

3、Java插件是否支持JDK 1.4及以下版本?

目前,Java插件不支持JDK1.4及以下版本,建议您使用日志、状态监控或者自定义监控等方式来管理,透视宝是不能支持特别老的系统的。

4、后台任务支持哪些框架?

目前支持Java语言的Spring Quartz和TaoBao Schedule框架。在Java插件的配置文件中可以配置后台任务的别名用来区分实例,并且提供阈值配置,耗时小于配置文件的后台任务将不会被记录。

5、为什么必须要装SmartAgent,能不能只安装某插件?

Smart Agent提供基础插件SendProxy,其他插件需要通过SendProxy来发送数据。只要SendProxy 存活,理论上插件也可以启动。但是没有SmartAgent程序后,透视宝中的管理页面就无效了。

6、为什么安装Smart Agent后无法正常启动?

在Linux和AIX系统中安装Smart Agent需具有root权限,即必须是root用户或sudo到root用户下再安装Smart Agent(Linux),否则安装后无法正常启动。

7、为什么安装Smart Agent时必须具有root权限?

在Linux和AIX系统中安装Smart Agent时必须具有root权限,这是为了确保您具有执行以下操作的权限:

  • 读写/etc/cloudwise目录的权限:方便集群部署和SmartAgent的后续迭代升级。

  • 执行netstat -npl的权限(可列出监听端口及PID/Program name):保证Discover插件能够扫描进程和监听端口,能够主动发现服务器上正在运行的服务,从而可以在透视宝云端的“插件管理”页面中方便地安装并管理插件。

8、Smart Agent是不是自动安装?

Smart Agent是自动安装。安装Smart Agent时,执行简单操作后,直接启动SmartAgent.sh(或SmartAgent.bat)脚本来自动完成SmartAgent的安装。

9、为什么SendProxy启动后无法发送数据?

如果SendProxy已启动,但无法发送数据,请先确认SendProxy使用的端口号是否被防火墙关闭了。如果被关闭,请开放该端口,SendProxy默认端口是26789。

此外,Smart Agent使用的端口也需要开放,其默认的端口是27789。

10、为什么配置完Java插件后,无法启动Tomcat?

Java插件路径错误会造成Tomcat无法启动,请检查Tomcat中配置的Java插件路径是否正确。

11、为什么安装SmartAgent后发现不到应用、主机或者服务?

Smart Agent发现不了应用、主机或者服务的原因有很多,请按照以下可能排查:

1)Smart Agent发现需要一个过程,根据主机及网络状况,大致需2分钟左右,所以请等待一会儿再刷新界面试试。

2)请确认您的主机上确实有一个应用或者服务,而且相关的服务处于正常运行状态。

3)一个应用只有在被使用过之后才会被透视宝发现,从来没人访问过的应用不会出现在应用清单中,所以请确认您的应用至少有用户使用过一次。

4) 请检查Smart Agent及其相关插件是否安装成功。

12、为什么发现了应用、主机和服务,界面上却看不到数据?

界面上看不到数据的原因有很多,请按照以下可能排查:

1)在透视宝中,有些服务需要用户配置连接信息等参数,配置之后才能采集数据,所以请确认是否已经正确配置。

2)在透视宝中,界面右上角有时间筛选功能,请确认在选择的时间段内服务处于正常运行状态且相应的监控插件已开启。

13、测试host时,为什么重启服务器后一直都获取不了数据?

如果服务器重启或断电,Smart Agent会被杀掉且不显示在进程中,必须先执行stopall命令停止所有插件再重新启动Smart Agent。

14、主机重启后,Smart Agent没有自动启动,需要手动启动吗?

可以自行将Smart Agent的启动命令添加进入fastab内。这样,主机重启后,Smart Agent就会自动启动,而不需要手动启动了。

15、如果主机名更改过后,HostKey会发生变化吗?

不会变化,除非删除/etc/cloudwise/UUID,然后重启Smart Agent,HostKey才会变。

16、如何在内网部署SmartAgent?

注:要在公司内网使用SmartAgent时,请确保有一台机器可以连接外网。

首先在所有内网机器和已连接外网的机器上安装SmartAgent,安装后默认安装SendProxy插件作为SmartAgent的数据发送代理。要正常使用SmartAgent,需修改安装在内网机器上的sendProxy连接配置,以Linux系统为例,说明如下:

1、打开SendProxy配置文件,命令如下:

vi smart_agent/conf/sendProxy

2、修改SendProxy的初始值。

将初始值(如下):

{"SendProxy":"http://127.0.0.1:26789"}

修改成如下值:

{"SendProxy":"http://{连接外网机器上安装的SendProxy所在局域网IP}:26789"}

其中:26789为默认启动端口值,可根据实际情况进行修改。

3、修改完成后,重启SmartAgent与所有插件。

重启后可正常使用SmartAgent,通过连接外网机器上安装的SendProxy插件发送采集的数据到云智慧云端。

17、如何停掉Smart Agent?

在Linux和AIX中暂停Smart Agent

如果需要暂停Smart Agent及其相关的所有插件,请在Linux命令行的smart_agent安装目录中执行stopall命令,例如:

cd /data/smart_agent 
./SmartAgent.sh stopall

在Windows中暂停Smart Agent

如果需要暂停Smart Agent及其相关的所有插件,请在Windows命令行的smart_agent安装目录中执行stopall命令,例如:

cd /data/smart_agent 
SmartAgent.bat stopall

注: PHP插件和Java插件在执行stopall命令后依然会采集数据,但不会发送数据,因为PHP插件和Java插件的注入机制是Load到容器中,如果卸载Smart Agent必须重启容器。但其他中间件状态页监控则不需要重启。

18、Smart Agent与传统Agent有哪些不同?

Smart Agent与其它Agent解决方案的最大不同在于其“Smart”,即智能性。传统Agent的安装过程必须明确操作系统版本、服务、数据库及代码的各种版本,并且每一个组件的监控必须分别下载及安装,后续的升级维护成本也相当高。

而Smart Agent提出了“智能发现”的方案,即在一台主机上安装之后,它会发现与识别主机上所安装的所有相关组件及其版本,同时会自动加载相关插件帮助用户实现对应的监控。无需过多的人工干预及配置文件的修改,大大提高了工作效率,降低了维护成本。

19、Smart Agent依赖(支持)什么系统或环境?

目前,Smart Agent支持Linux、Windows和AIX系统,详细说明请参考Smart Agent的“兼容性说明”。

20、Smart Agent支持哪些应用(语言)、服务、数据库的监控?

目前,Smart Agent支持PHP应用、Java应用、.Net应用、Python应用以及主流服务和数据库的监控,详细说明请参考插件的“兼容性说明”。

21、Smart Agent能到采集到哪些参数指标?

详细说明请参考术语解释“应用性能管理”中的内容。