希望标题不会太混乱。这是我的代码
SELECT SRV_NAME, TOT_CPU, TOT_MEM, SNAP_DATE
FROM capacity2.SRV_CAPACITY_UNIX
WHERE TOT_CPU >= 90 OR TOT_MEM >= 90 AND SNAP_DATE BETWEEN to_date('14-jun-2012 00:00:00', 'dd-mon-yyyy hh24:mi:ss') AND to_date('14-jul-2012 00:00:00', 'dd-mon-yyyy hh24:mi:ss')
ORDER BY SRV_NAME desc, SNAP_DATE desc;
代码返回的数据示例如下:
SNAP_DATE TOT_CPU TOT_MEM SRV_NAME
6/22/2012 0:00 99.98 70.86 server555
6/22/2012 0:05 99.98 70.9 server555
6/22/2012 0:10 99.98 70.93 server555
6/22/2012 0:15 99.98 71.06 server555
6/22/2012 0:20 99.98 70.87 server555
...
6/22/2012 23:35 99.97 71.12 server555
6/22/2012 23:40 99.99 71.12 server555
6/22/2012 23:45 99.97 71.12 server555
6/22/2012 23:50 99.98 71.12 server555
6/22/2012 23:55 99.98 71.12 server555
目标:
为给定持续时间(在本例中为一个月/30 天)capacity2.SRV_CAPACITY_UNIX
内 90% 及以上(inTOT_CPU
和)的服务器(服务器在数据库中)提取数据。TOT_MEM
我需要绘制这些数据,并且默认情况下每 5 分钟记录一次数据,因此在大约 30 天的时间里,一天内我剩下 288 行。这大约是 8,600 行,我可以在图表上绘制,这显然是不切实际的。
因此,我需要做的是编写一个 SQL 查询,它只会提取每天的平均值TOT_CPU
,TOT_MEM
所以我只剩下 30 行数据,我需要绘制 30 天(每天一行)。
这是我第一次使用 Stack Overflow,所以我试图尽可能清楚。如果您需要任何信息,我一定会提供。