zoukankan      html  css  js  c++  java
  • Spotlight性能监控工具的配置及使用

          这是我离线整理资料里的内容,大概是2012年时候开始使用此性能监控工具的,直到至今,接触到几个性能监控工具里,还是美国quest公司生产的Spotlight此产品相对比较牛!

    我也不知道现在发展到能支持监控多少资源,我就拿我之前整理的文档所对应的的工具版本进行讲解,至于下载软件支持某个资源或者某些资源,请自行百度搜索:quest Spotlight,官网下载的版本是需要收费的,因此自行在网上搜索下载破解版本。

    Spotlight可以监控很多很资源,相关如下:

    Spotlight on web server  //web应用程序服务 

    Spotlight on Active Directory  //wwindows操作系统上的AD域应用程序服务

     Spotlight on DB2  //DB2关系型数据库应用程序服务

     Spotlight on MySQL  //mysql关系型数据库应用程序服务

     Spotlight on Oracle  //oracle关系型数据库应用程序服务

     Spotlight on SQL Serever  // SQL Serever 关系型数据库应用程序服务

     Spotlight on Sybase ASE  // sybase OLTP关系型数据库应用程序服务

    Spotlight on Unix/Linux  //Unix/Linux操作系统

    Spotlight on Windows  //Windows操作系统

    Spotlight on Exchange //Windows server操作系统上的微软的Exchange邮件服务器应用服务

    Spotlight不需要在服务器端安装代理,只需要创建一些管理对象。

        在这里我只对常用的几个进行安装、配置及简单使用做个介绍:

    Spotlight on windows服务器监控

    1、Spotlight on Windows 基于WMI 监控,防火墙需要开放TCP 135 、TCP 445 端口。

    Windows防火墙开启WMI支持方法:组策略,计算机配置 ,管理模板 ,网络 ,网络连接 ,Windows防火墙 ,标准配置文件 ,允许远程管理例外,添加监控机IP地址。不建议关闭Windows防火墙。

    2、监控机需要远程计算机的管理员帐号作验证,另外,网络访问方式要改成 经典-本地帐户的共享和安全模式 。如果需要使用 仅来宾 的验证方式,请把guest帐号加到administrators系统用户组内。监控时填写guest帐号,密码留空。

    3、Spotlight 依赖Remote Registry 服务,请确认远程计算机已开启。

    网上我查询了,对windows操作系统服务器监控写的比较详细的文章推荐:https://www.cnblogs.com/qmfsun/p/4838625.html

    Spotlight on unixlinux服务器

    1、被监控服务器为centos的linux操作系统为例,其他linux发行版本雷同,只是每个操作系统的linux命令不尽相同而已,先在服务器上创建一个用户,专门用于监控使用!

    因为远程监控服务器,需要获取服务器的资源,所以必须要有权限。使用文档明确说明,不能使用root用户,但是我用其他已存在的用户也不行,所以只能创建一个新用户,方便起见就用spotlight作为用户名,设置如下:

      >> useradd spotlight

      >> passwd spotlight

      设置完密码就ok了。但是这个用户spotlight必须要有root权限才行,但这里我只是创建一个普通用户。如果创建具有root用户的权限,命令如下,同时建议密码稍微复杂一些:

    >> useradd -g root -G root spotlight   //将spotlight用户赋予和root一样的权限。

    或者直接编辑:vim /etc/passwd将spotlight用户的UID和GID改成0:0

      >> passwd spotlight

      设置完密码即可。

    2、由于spotlight监控linux仍然使用linux的sysstat包,所有需要安装sysstat包。需要在服务器有监控工具,如sysstat

       (1)检查是否安装sysstat包:rpm -q sysstat;

       (2)如果没有,安装:rpm -ivh sysstat。

      完成即可

    3、本地机器安装spotlight,创建监控信息如下

      进入Spotlight界面,进入File菜单点击Connect,进入如下界面:

    双击Add New connection,进入创建一个新的监控链接如下:

    输入被监控的服务器IP地址,spotlight用户账号及其密码,填充完OK即可。

    4、监控信息如下:

    Linux操作系统服务器的监控信息一目了然。

    (1)、system

    系统信息包括Linux版本、系统运行时间、现在时间

    (2)、Network

    包括连接数和宽带

    (3)、CPU

    用户使用cpu、系统使用cpu和剩余cpu;

    其中还包括进程列队。

    (4)、Memory

    内存情况包括物理内存与虚拟内存的使用情况

    (5)、Swap Files

    交换文件的使用情况

    (6)、Disk Activity

    磁盘使用情况

    (7)、Paging in /out

    每秒内存页读入的数量。/每秒内存分页写入内存数量。是CPU与内存间的交互。

    (8)、Swapping in rate / out rate

    上面是页交换,这个是进程交互。

    (9)、Disk I/O writes / reads

    虚拟内存是在硬盘上划分出来的,当内存不足时物理内存会与虚拟内存交互,响应的会产生磁盘的I/O问题。

    Spotlight on mysql监控mysql

    首先要安装使用ODBC 3.5X的版本;

    如果是安装在windows操作系统上,则请阅读:https://www.jianshu.com/p/fc92cf133899

    如果安装在linux操作系统上,请阅读下面的内容:

    potlight on mysql监控mysql时,需要执行iostat命令,所以需保证在目标linux服务器上安装iostat 

    没有安装iostat,故磁盘I/O统计,OS Performance page 和OS Details drilldown等将得不到显示。

    yum install -y sysstat.x86_64

    建立连接

     点击connect后就可以查看监控效果了

    1、Sessios会话
    Total Users:总用户数
    前连接到MySQL服务器的用户会话总数
    Active Users:活跃用户
    此控件表示连接到当前正在执行SQL语句或其他数据库请求的MySQL服务器的会话数
    Active Sessions:活动会话数
    当前正在执行SQL语句或其他数据库请求的当前连接会话的百分比

    2、Host主机
    Total CPU Usage:总的CPU使用率
    此旋转器表示使用的CPU总量,随着CPU需求的增加,它旋转得更快,
    如果系统的总CPU利用率超过一个阈值(CPU忙警报),警报就可以成为这个组件上的指令,
    持续的CPU利用率高会对系统的性能产生不利影响
    Run Queue:运行队列
    运行队列显示等待CPU资源的任务数。当这个数超过CPU资源的数量时,CPU瓶颈就存在了
    Memory:内存
    Free Physical RAM:可用物理内存
    这是可用的物理RAM,
    如果可用的物理RAM是低的(低自由物理RAM警报),警报就可以在这个组件上成为指令

    3、MySQL数据库
    Sorts:分类
    Sort Buffer Size:排序缓冲区大小
    这是全球服务器设置sort_buffer_size价值。sort_buffer_size定义的可用内存,每次要执行排序,
    如果排序需要比可用的更多内存,它将使用磁盘上的临时表来执行排序,
    所显示的值是全局设置。个别会话可能会在个别基础上更改此参数
    Rows Sorted:行排序
    此控件显示MySQL服务器每秒排序的行数。它是基于服务器的状态变量的值sort_rows,
    MySQL只报告在排序完成时排序的行数,因此如果执行一些长排序,则该统计量的值可能在短时间内周期性地急剧上升到非常高的值
    per second:每秒
    Query Cache:查询缓存
    Status:现状
    MySQL查询缓存的状态,有效值是:
    OFF-查询缓存处于非活动状态,
    ON-将缓存的选择比其他的sql_no_cache暗示,
    需求-MySQL将缓存SELECT语句只包含sql_cache暗示
    Size:大小
    查询缓存的大小
    Querirs:查询
    MySQL查询缓存中当前包含的查询数
    Free:空闲的
    查询缓存中的空闲内存量
    QC Hit Rate:查询缓存的命中率
    在查询缓存中找到匹配选择的不需要执行的SELECT语句的百分比

    查询缓存命中率警报
    MySQL查询缓存存储MySQL数据库服务器执行的最近选择查询,
    以及这些查询的结果集。
    这可以减少大量的解析开销,以及逻辑和物理I/O,
    如果查询重复的话,这些查询将与这些查询相关。
    查询缓存命中率警报在MySQL查询缓存中找到的SQL查询比例低于指定阈值时触发。
    您可以通过修改配置变量来调整查询缓存的性能:
    更改查询缓存的大小或类型
    更改可缓存的查询的最大大小
    更改缓存查询的分配大小或最小块大小
    Thread Pool:线程池
    当前用于重新使用的连接线程的数目

    4、InnoDB数据库引擎
    Buffer Pool:缓冲池
    Size:大小
    InnoDB缓冲池缓存表中的数据,所以它不需要写磁盘的每一次,
    此控件显示InnoDB缓冲池的大小,以兆字节为单位
    Free:空闲的
    在InnoDB缓冲池中没有包含数据的内存量,
    在大多数系统中,这最终将达到0,
    除非缓冲池足够大,以容纳从数据库中定期读取的所有数据
    Hit Rate:命中率
    在缓冲池中找到请求的数据块的时间百分比,避免了磁盘I/O,
    较高的值表示良好的缓存有效性,
    但是,如果应用程序执行大量的全表扫描,那么低值可能是正常的
    Rows Processed:行处理
    此度量显示插入、更新、删除和选择以每秒行表示的操作的速率,
    它不包括排序的行率
    per second:每秒
    Log Buffer:日志缓冲区
    Size:大小
    在InnoDB日志缓冲区的大小,以兆字节为单位,
    innodb日志缓冲区缓冲区写入InnoDB事务日志
    IO Threads:IO线程
    辅助线程执行InnoDB I/O数

    5、Storage存储
    Tablespace:表空间
    在InnoDB表空间文件的总大小,这些文件中的空闲空间的总数,
    注:
    在这个版本中,
    如果你使用一个表空间文件每个InnoDB表配置我们无法在表空间使用情况报告
    Total:全部的
    总的空间分配给InnoDB表为确诊的MySQL数据库,
    对于InnoDB表空间配置参数的设置是通过在my.cnf文件[ mysqld ]段innodb_data_file_path选项或者在my.ini(Windows),
    注意:聚光灯主页的刷新率可能会延迟显示该组件的准确值
    Free:空闲的
    残留在InnoDB表空间为确诊的MySQL数据库的可用空间,
    表空间中的空闲空间量是由MySQL显示表状态命令返回的值之一,
    注意:聚光灯主页的刷新率可能会延迟显示该组件的准确值
    Auto Extend:自动扩展
    在InnoDB表表可以设置为自动增长大小(自动)当他们成为全,
    对于InnoDB表空间配置参数(包括AUTOEXTEND)是由在my.cnf文件[ mysqld ]段innodb_data_file_path选项或者在my.ini(Windows)的大小,
    InnoDB表空间扩展可以通过设置innodb_autoextend_increment选项,
    默认值是8,这corrresponds以固定增量8 MB
    Logs:日志
    InnoDB的事务日志。
    注意:此组件目前没有附加值,仅显示为MySQL架构中的事务日志
    数值的含义:数和在InnoDB存储引擎使用的日志组的日志大小,
    在日志的日志文件组数设定在my.cnf文件[ mysqld ]段innodb_log_files_in_group选项,
    默认值2,
    在日志组中的每个日志文件的大小是由innodb_log_file_size,
    具有5 MB的默认值,
    价值观是由MySQL显示变量检索命令(见活动明细配置页) 

    读写流:

    SQL Executions/s
    SQL执行
    此流显示客户机连接向服务器发送SQL语句或其他数据库请求的速率。
    所有的数据库请求数,包括呼叫、显示、描述和设置报表。
    但是,如果客户机发出一个调用语句,这只算作一个执行,即使存储过程调用执行多个SQL语句。
    Data Send Rate
    数据发送速率
    此流表示从所有客户端发送数据到服务器的速率。
    在此上下文中的数据包括命令包(例如SQL语句)以及发送到数据库中的数据。
    高速率通常与高插入率有关。
    Data Received Rate
    数据接收率
    此流显示数据从MySQL服务器发送到所有客户机的速率。
    数据包可能包含返回代码和错误信息,但是从服务器向客户机传输的大部分数据通常是SELECT语句结果集的形式。
    InnoDB Logical Writes/s
    InnoDB的逻辑写的速度,
    写操作是在InnoDB缓冲池中进行的,基于状态变量innodb_buffer_pool_write_requests。
    InnoDB Logical Read Rate
    InnoDB的逻辑读取率
    逻辑读取请求的速率由InnoDB。这包括数据从InnoDB所有的要求,包括缓冲池中的数据和从硬盘读取的数据。
    InnoDB Physical Writes/s
    InnoDB物理写的
    这种流动显示的速度,InnoDB的数据写入到磁盘上的表空间文件。
    InnoDB Physical Read Rate
    InnoDB物理读取率
    物理I/O操作从InnoDB表空间文件到InnoDB缓冲池。
    InnoDB Log Buffer Writes/s
    InnoDB Log Buffer写的率在数据被写入到Innodb日志缓冲区。
    InnoDB Log File Write Rate
    innodb log文件的写入速度
    这种流动显示的I/O速率InnoDB事务日志。

     

    相关监控简介:

    1、MySQL相关

    1.1 Activity->Mutex 对应Show engine innodb mutex  

    1.2 Activity->InnoDB Status 对应 show engine innodb status;

    1.3 Activity->Error Log 显示当前连接最近的一次报错,包括数据库的创建、启动,一个表的创建或者该check && repair,以及某个logfile的创建

    1.4 Activity->General Log 以表格形式显示某客户端连接及断开的记录,以及各SQL statement

    注:my.cnf里需设定参数log_output=table

    1.5 Activity->Slow Query Log 以表格形式展示一个慢查询SQL语句

    2 系统相关

    2.1 OS Details->OS Performance 显示操作系统的cpu、磁盘I/O、memory等监控信息

    2.2 OS Details-> OS Processes 显示当前活跃的进程

    Spotlight on oracle监控oracle

    1)首先要保证安装spotlight on oracle的机器上已安装oracle客户端工具。

    安装Oracle客户端instantclient_11_2;

    配置系统环境变量PATH和TNS_ADMIN都为instantclient_11_2的安装路径;

    配置tnsnames.ora文件,将需要的数据库实例信息填写上,如下:

    2)建立Oracle的连接

    如果需要同步监控操作系统,则需要录入操作系统的用户名和密码;选择数据库客户端tnsnames.ora中配置的数据库;

    注意:如果要同步监控OS,请确保Windows要用administrator账号,linux不能用root账号;

    如果不需要同步监控OS操作系统,则不需要在“monitor OS”前打钩,如下图所示:

    3)配置监控用户

    设定oracle的连接用户(建议重新建立一个新的监控用户,不要使用系统实际账户)

    在连接Oracle数据库前我们要先为待监控的数据库创建一个监控用户,通过这个监控用户来获取监控信息

     

    在连接Oracle数据库前我们要先为待监控的数据库创建一个监控用户,通过这个监控用户来获取监控信息,

    首先打开“file”->“OracleUser Wizard”界面,如下图所示:

    4)系统主界面

    系统主界面反映了系统的整体运行情况,如果系统哪方面出现问题,会报相应的警告,不同级别显示不同的颜色,最严重为红色警告。

    然后据此警告可下钻到相应的子窗口,查看相应情况。下面介绍各子窗口。

    注:绿色区域代表相关区域正常,出现黄色区域代表该区域超出标准值出现警告,红色区域代表该区域出现异常。

     

    1.Session面板:

    (1)Response<10,系统的响应时间

    (2)Total Users:总用户SESSION数

    (3)Active Users:当前正在执行的用户SESSION数

    2.Host面板:

    (1)CPU利用率

    (2)内存的使用情况

    3. Server Processes面板:显示服务器进程的信息

    (1)PGA Target/Used显示PGA目标总数及当前使用数

    (2)dedicated显示专用服务器进程的个数

    (3)Shared显示共享服务器进程的个数。

    (4)Dispatchers显示dispathers的个数.

    (5)JobQueue显示作业进程的个数

    4. SGA面板:显示SGA中各组件的内存使用情况

    (1)CurrentSize显示当前sga使用M数

    (2)BufferCache,KeepPool,RecyclePool显示数据缓冲区的内存情况

    (3)SharedPool:共享池的使用情况

    (4)RedoLog:重作日志的使用情况

    (5)LargePool:大池的使用情况

    (6)JavaPool:java池的使用情况

    5.Background process面板-后台进程面板:显示与磁盘I/O相关的后台进程。

    (1)DBWR 数据写入进程

    (2)LGWR 日志进程

    (3)ARCH 规档进程式

    6. 磁盘存储面板:显示主要数据库文件的情况(控制文件除外)

    (1)DatabaseFiles:显示数据文件使用情况。

    (2)联机日志文件情况。包括组数及大小。

    (3)归档日志情况。

    5)重点监控及分析项目

    通过topSession面板可以查看当前哪个session当前占用了大量的资源,以此定位数据库问题。

    这是主从式的面板,单击上部列表,会在sessionInformation中显示该会话的所有信息。

    通过topSession面板可以查看当前哪个session当前占用了大量的资源,以此定位数据库问题。

    单击上部列表,会在session Information中显示该会话的所有详细信息。 

    下面是几个应注意的地方:

      most recent sql:可以用来确定当前占用资源最大的sql语句

           Session waits:可以找出与该session相关的等待事件。

     Session locks:显示相关的锁信息。

    6)SQL应用程序工作量

    top sql: 点击Top Sql可以查看系统中所有占用资源较大的sql语句,选择相应行,可以查看SQL information详细信息;

    根据条件来查看libraryCache中相应的sql.

     主要的选项为sorting

     可以据此来找出影响大的sql 

     

    找出占用耗用时间长的SQL语句,然后进行优化;找出哪些sql磁盘读写多、缓存命中率低、优化成本几乎为0的sql语句进行优化,先从语法优化,再从业务逻辑优化。

    点击Fetch SQL按钮,可以查看到相应的SQL语句 

    7)活动分析

    Activity:这个窗口,主要提供了等待事件,锁等待,闫锁等待,当前事务等。可以以图表方式查看磁盘、IO、事件等待等信息;

     8)配置和内存:主要显示SGA的使用情况及参数配置情况 

    9)、磁盘存储情况:显示表空间利用率和在线日志的使用情况。

  • 相关阅读:
    禁止ios10双指缩放
    使用uglifyjs压缩JS
    数组深拷贝的方法
    websocket具体如何使用
    订单支付倒计时-剩余时间xx小时xx分xx秒
    css--内凹圆角
    jQuery 演变史
    手机新闻网页
    [译文]此像素非彼像素,非彼像素
    函数有一个特殊的属性 prototype!
  • 原文地址:https://www.cnblogs.com/douyini/p/11604472.html
Copyright © 2011-2022 走看看