当前位置:首页 » 编程语言 » sql监控
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql监控

发布时间: 2022-01-25 05:50:29

Ⅰ 如何实时监控mysql中的SQL语句的执行情况

首先介绍下 pt-stalk,它是 Percona-Toolkit 工具包中的一个工具,说起 PT 工具包大家都不陌生,平时常用的 pt-query-digest、 pt-online-schema-change 等工具都是出自于这个工具包,这里就不多介绍了。

pt-stalk 的主要功能是在出现问题时收集 OS 及 MySQL 的诊断信息,这其中包括:

1. OS 层面的 CPU、IO、内存、磁盘、网络等信息;

2. MySQL 层面的行锁等待、会话连接、主从复制,状态参数等信息。

而且 pt-stalk 是一个 Shell脚本,对于我这种看不懂 perl 的人来说比较友好,脚本里面的监控逻辑与监控命令也可以拿来参考,用于构建自己的监控体系。

三、使用

接着我们来看下如何使用这个工具。

pt-stalk 通常以后台服务形式监控 MySQL 并等待触发条件,当触发条件时收集相关诊断数据。

触发条件相关的参数有以下几个:

  • function:

    ∘默认为 status,代表监控 SHOW GLOBAL STATUS 的输出;

    ∘也可以设置为 processlist,代表监控 show processlist 的输出;

  • variable:

    ∘默认为 Threads_running,代表 监控参数,根据上述监控输出指定具体的监控项;

  • threshold:

    ∘默认为 25,代表 监控阈值,监控参数超过阈值,则满足触发条件;

    ∘监控参数的值非数字时,需要配合 match 参数一起使用,如 processlist 的 state 列;

  • cycles:

    ∘默认为 5,表示连续观察到五次满足触发条件时,才触发收集;

  • 连接参数:host、password、port、socket。

  • 其他一些重要参数:

  • iterations:该参数指定 pt-stalk 在触发收集几次后退出,默认会一直运行。

  • run-time:触发收集后,该参数指定收集多长时间的数据,默认 30 秒。

  • sleep:该参数指定在触发收集后,sleep 多久后继续监控,默认 300 秒。

  • interval:指定状态参数的检查频率,判断是否需要触发收集,默认 1 秒。

  • dest:监控数据存放路径,默认为 /var/lib/pt-stalk。

  • retention-time :监控数据保留时长,默认 30 天。

  • daemonize:以后台服务运行,默认不开启。

  • log:后台运行日志,默认为 /var/log/pt-stalk.log。

  • collect:触发发生时收集诊断数据,默认开启。

    ∘collect-gdb:收集 GDB 堆栈跟踪,需要 gdb 工具。

    ∘collect-strace:收集跟踪数据,需要 strace 工具。

    ∘collect-tcpmp:收集 tcpmp 数据,需要 tcpmp 工具。

Ⅱ 如何创建监视SQL语句的事件监控器

打2008事件探查器工具栏按钮新建跟踪连要跟踪数据库实例确定即新建跟踪查看链接数据库实例语句执行创建完跟踪
每客户端都ClientProcessID想跟踪客户端语句执行情况:
先让客户端查询报表通事件探查器看看ClientProcessID暂停事件探查
文件——属性——筛选——面找ClientProcessID,等于处双击填入客户端ClientProcessID,确定重新启追看客户端运行情况!

Ⅲ sqlserver2008 监控某个表的改动情况

create trigger kuabaobao
on a
for update
as
if update(a_id)
begin
insert into b (ip, datetime, sqlCode) values () // 关键这些值,怎么获取?
end
go

sql语句的话,用SQL中有事件查看器,代码的话,select * FROM sys.dm_exec_requests 可以获取请求信息 但不全。 kuabaobao

最好还是 程序保存 要执行的sql,和ip, 然后在 SQL Exc 时,检测是不是对表a的 update 和 delete, 这在程序里边应该很好控制的吧。

Ⅳ 关于sql2008,怎么监控某数据库表变化情况

在每个表中添加触发器~~
一旦数据有变化, 触发器就被触发~ 触发器中写代码将这个变化写入到你指定的日志表中即可。
注意:是多个表的触发器, 去操作同一个日志表。

Ⅳ 如何使用SQL 监控来查看调用的哪个SP

用SQL SERVER MANAGEMENT STUDIO的工具 PROFILER 可以监控语句运行情况

Ⅵ 在sqlserver2008用sql监视器 怎么监视客户端应用程序的sql语句

SQL2008 可以设置 Profiler。
打开Microsoft SQL Server Management Studio , 在菜单栏有个工具(Tool), 里面有个事件追踪(SQL Server Profiler)。
打开sql server profiler, 连接数据库。弹出Trace Properties(跟踪属性), 选择事件(Events Selection)
重要列名解释:
CPU:事件所使用的 CPU 时间总计(以毫秒为单位)。
Duration : 持续时间,事件所花费的时间总计,(以毫秒为单位)。
Reads : 服务器代表事件执行的逻辑磁盘读取数,(以字节为单位) 。
Writes :服务器代表事件执行的物理磁盘写入数,(以字节为单位) 。
loginName:SQL 登陆用户;
SPID:会话编号;
starttime:开始执行时间;
endtime:执行结束时间;
TEXTDATA:执行的语句。

Ⅶ 如何使用SQL 事件探查器

SQL 事件探查器是图形工具,使系统管理员得以监视 Microsoft SQL Server 实例中的事件。可以捕获有关每个事件的数据并将其保存到文件或 SQL
Server 表中供以后分析。例如,可以对生产环境进行监视,了解执行速度太慢而妨碍性能的存储过程。
使用 SQL事件探查器只监视感兴趣的事件。如果跟踪变得太大,可以基于需要的信息进行筛选,以便只收集事件数据的子集。监视太多事件类会增加服务器和监视进程的开销,并且可能导致跟踪文件或跟踪表变得很大,尤其是在进行长时间监视时。
在跟踪事件后,SQL 事件探查器允许重播在 SQL Server 实例上捕获的事件数据,因此可以如事件当初发生时一样有效地重新执行保存的事件。
使用SQL 事件探查器可以:
● 监视 SQL Server 实例的性能。
● 调试 Transact-SQL 语句和存储过程。●识别执行慢的查询。
● 在工程开发阶段,通过单步执行语句测试 SQL 语句和存储过程,以确认代码按预期运行。●通过捕获生产系统中的事件并在测试系统中重播它们来解决 SQL Server 中的问题。这对测试和调试很有用,并使得用户可以不受干扰地继续使用生产系统。●审核和复查在 SQL Server
实例中发生的活动。这使得安全管理员得以复查任何审核事件,包括登录尝试的成功与失败,以及访问语句和对象的权限成功与失败。
SQL事件探查器为用于监视 SQL Server 实例的一组存储过程提供图形用户界面。例如,可以创建您自己的应用程序,以便使用 SQL 事件探查器存储过程监视
SQL Server。
必须有至少 10 MB 的可用空间用以运行 SQL 事件探查器。当使用 SQL 事件探查器时,如果可用空间降至 10
MB 以下,SQL 事件探查器的所有功能都将停止。
在"企业管理器"的"工具"菜单上单击"SQL 事件探查器"命令打开 "SQL 事件探查器"
2. 在"SQL事件探查器"工具栏上点击"新跟踪"图标打开SQL Server连接窗口,输入SQL Server地址、选择一种身份验证方式后确定连接3.
选择默认的模板并运行即可开始跟踪,也可以自定义一个模板对指定的事件和进行跟踪并显示自定义的数据列

Ⅷ sql2008怎么监控存储过程

在SQL中监控存储过程,我们可以使用SQL Server Profiler。
关于SQL Server Profiler 的相关用法,参考下面的文档:
http://msdn.microsoft.com/zh-cn/library/ms181091.aspx
http://www.mssqltips.com/sqlservertip/3259/several-methods-to-collect-sql-server-stored-procere-execution-history/

Ⅸ Oracle有实时监控SQL语句的工具吗

---正在执行的
select a.username, a.sid,b.SQL_TEXT, b.SQL_FULLTEXT
from v$session a, v$sqlarea b
where a.sql_address = b.address

---执行过的
select b.SQL_TEXT,b.FIRST_LOAD_TIME,b.SQL_FULLTEXT
from v$sqlarea b
where b.FIRST_LOAD_TIME between '2009-10-15/09:24:47' and
'2009-10-15/09:24:47' order by b.FIRST_LOAD_TIME
(此方法好处可以查看某一时间段执行过的sql,并且 SQL_FULLTEXT 包含了完整的 sql 语句)

Ⅹ 如何监控 SQL语句的执行时间

如何监控 SQL语句的执行时间
首先纠正你一个说法 不是监视器是PROfilter , 你所说的情况如果是在PROFILTER 中是不存在的任何对数据库的 修改都会在上面显示并标出语句,请你确认你的PROFILTER 是否打开正确的数据库并开始