...
If no, check the service logs and windows log for information.If yes, does the database think
Does the server state in the database mirror the actual state of the service?
- If the service is running
...
- but the database records it as being stopped, the service will not be served jobs.
Code Block |
---|
select ServerID, convert(nvarchar(50), Hostname) as Hostname, ss.Name as ServerState, MaxQueueLength, MaxActiveJobs, IsQueueProcessingEnabled from config.t_Server s inner join config.t_ServerState ss on s.StateID = ss.ServerStateID |
...
Code Block |
---|
select ipar.IPAddressRangeId, ipar.Name, ipart.Name as TargetSetType, StartIPAddress, EndIPAddress, jobs.convertBinaryToIP(aip.Start) as ActiveIPRangesStart, jobs.convertBinaryToIP(aip.Finish) as ActiveIPRangesFinish, aip.LocationID, ProjectID, case jobs.convertBinaryToIP(aip.Finish) when EndIPAddress then 'Fully Expanded' else 'In Progress' end as [State] from [jobs].[t_ActiveIPRanges] aip with (nolock) inner join config.t_IPAddressRange ipar with (nolock) on aip.IPAddressRangeID = ipar.IPAddressRangeID inner join config.t_IPAddressRangeType ipart with (nolock) on iparipart.IPAddressRangeTypeID = ipar.IPAddressRangeTypeID |
...
Are there Jobs Queued?
Run the Job Stats
script script here.
- Does the Queue By State query show queued items?
- Does the Queue By State and Project show that there are items queued for projects which are running?
...
- What states are the queued items in - do they indicate what's happening? (e.g. project not started, exclusion scan window in effect).
- Review the
jobs.QueueStep2_SetJobStatus
code to determine why jobs aren't reaching a state ofQueued
.
If yes - but the rate of job throughput is slow...
- Run the
Queued Job Analysis
script here. - This will record how many jobs are being added and removed from the queue.
- Do the scan engine servers have free capacity?
- Can the queued items only be picked up by a server which is currently maxed out.
Is the job serving proc running...
...
How many jobs are currently in progress...
- How many jobs are currently in progress.
- For the longest running jobs are the target logs being updated - if not, the job may have died or not been recovered after a restart/crash.
Code Block |
---|
select s.ServerID, convert(nvarchar(50), s.Hostname) as Hostname, tp.Name as JobPhase, ts.Name as JobStatus, j.JobId, ParentJobID, convert(nvarchar(50), j.Hostname) as Hostname, j.IPAddressBinary, IsComplete, StartDate, EndDate, DATEDIFF(hh, StartDate, getDate()) as 'Duration {Hours)', q.JobStatusID, ' QUEUE DATA --> ', js.name as QueueStatus, DisabledUntil, [Priority], Source, QueueId, IgnoreConfiguredIPs from jobs.t_Job j inner join config.t_Server s on j.ServerID = s.ServerID inner join jobs.t_TargetStatus ts on j.TargetStatusID= ts.TargetStatusID inner join jobs.t_TargetPhase tp on ts.TargetPhaseID = tp.TargetPhaseID inner join jobs.t_Queue q on j.JobId = q.JobID inner join jobs.t_JobStatus js on q.JobStatusID = js.JobStatusID where IsComplete = 0 |
...