方法一:
//判断磁盘剩余空间,若不够则抛弃当前数据,隔5分钟报一次错误
COleDateTime oleLast(m_stLastDiskNotEnouphPromptTime);
SYSTEMTIME stNow;
GetSystemTime(&stNow);
COleDateTime oleNow(stNow);
COleDateTimeSpan span = oleNow - oleLast;
double dSpan = span.GetTotalSeconds();
if (__int64(dSpan) > (5 * 60))
{
DEBUG_TRACE_ERROR(WSTR("Disk space is less than min size. Alarm Record is missing! %s - %d"), __WFILENAME__, __LINE__);
KXLOG_ERROR( WSTR( "Disk space is less than min size. Alarm data is missing! " ), KXSZ_LOG_CATEGORY_HISTORY );
m_stLastDiskNotEnouphPromptTime = stNow;
}
方法二:
#define FAIL_OUT_INTERVAL (300000)
static DWORD LastFailed = 0;
DWORD CurrentTick = GetTickCount();
bool FailOut = ( CurrentTick < LastFailed ) || ( CurrentTick - LastFailed > FAIL_OUT_INTERVAL );
if( FailOut )
{
DEBUG_TRACE_ERROR( WSTR("Failed to connect to redundant server(%s:%s:%d)."),
m_redundantHostAddr.c_str(),
m_redundantHostPort.c_str() ,
GetLastError());
LastFailed = CurrentTick;
}
本文介绍两种监测机制:一是定期检查磁盘剩余空间,当空间低于阈值时,每隔五分钟发出警告;二是监测与冗余服务器的连接状态,若连接失败,将记录错误并重试。

被折叠的 条评论
为什么被折叠?



