Skip to main content

System Status / Progress

This subcategory focuses on retrieving the base statuses and progress of AhsayCBS, featuring four APIs that gives information to the user regarding AhsayCBS builds, progress on Data Migration, status of any Replication and the overall system status of AhsayCBS.

 

GetBuildingStatus

This API can be used to get Build Installer status of either AhsayCBS build or Client’s build. 

The settings can be found on the AhsayCBS web console at:

  • System Settings > Basic > Administrative Access > %system_user% > Rebrand Web Console > Build Installers
  • System Settings > Basic > Administrative Access > %system_user% > Rebrand Clients > Build Installers

 

URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetBuildingStatus.do?product=%product%

https://CBS.EXAMPLE.COM/cbs/api/json/GetBuildingStatus.do?product=%product%&mode=single

https://CBS.EXAMPLE.COM/cbs/api/json/GetBuildingStatus.do?product=%product%&mode=all

https://CBS.EXAMPLE.COM/cbs/api/json/GetBuildingStatus.do?product=OBC&mode=single&sBuildAdminName=SubAdmin

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.

Query Parameters

KeyTypeDescription
productStringEither CBS or OBC
modeString(optional) all or single
Return Values

When mode is not set to "all"

KeyTypeDescription
StatusString"OK" or "Error"
lastUpdateTimeStringLast update time of the build process, in yyyy-MM-dd hh:mm:ss
messageStringLast updated message for the build process.
statusStringBuild status: uploaded, waiting (idle), queued, building, finished.
MessageStringError message, it only appears if "status" displays "Error".

When mode is set to "all"

KeyTypeDescription
StatusString"OK" or "Error"
buildStatusArray of BuildStatusA list of build status for the System Users.
MessageStringError message, it only appears if "status" displays "Error".
JSON Objects

Array:BuildStatus

KeyTypeDescription
lastUpdateTimeStringLast update time of the build process, in yyyy-MM-dd hh:mm:ss
messageStringLast updated message for the build process.
statusStringBuild status: uploaded, waiting (idle), queued, building, finished.
IdStringSystem user ID (0='system' username).
Examples

Example 1: Product is CBS (Input = ?product=CBS)

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"lastUpdatedTime":"2024-05-05 07:40:57",
	"message":"",
	"status":"waiting"
}

Example 2: Mode is set to all (Input = ?product=OBC&mode=all)

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"buildStatus": [
		{
			"lastUpdatedTime":"2024-06-03 12:20:10",
			"id":"0",
			"message":"",
			"status":"waiting"
		}
	]
}

 

GetDataMigrationProgress

This API can be used to get the v6 to AhsayCBS Blocks Backup Set Data Migration. 

The settings can be found on the AhsayCBS pre-v9 web console at:

  • Backup/Restore > Basic > Backup Data Migration

BackupData Migration

URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetDataMigrationProgress.do

Available Since Version: 7.7

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if "status" displays "Error".
MigratedFileCountIntegerNumber of file that has been migrated for the current backup set.
MigratingFilePathStringThe file path that is under migration.
Example

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"MigratingFilePath":"C:\\ProgramFiles\AhsayCBS\users\user\files\15544253452756\Current\0x14\0x45\0x12\0x00\5252334",
	"MigratedFileCount":"15"
}

 

GetReplicationStatus

This API can be used to get the Live Activities Replication Status of either the “Replication” (Sender, AhsayCBS Backup Server) or “Receiver” (AhsayCBS Replication Server).

The settings can be found on the AhsayCBS web console at:

  • Monitoring > Live Activities > Replication
  • Monitoring > Live Activities > Receiver

 

URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetReplicationStatus.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
TypeStringEither replicate or receive.
Return Values
KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
RepStatusArray of RepStatusIt exists only if Type is "replicate".
RecStatusArray of RecStatusIt exists only if Type is "receive".
JSON Objects

RepStatus "Type" is "replicate"

KeyTypeDescription
BackupSetNameStringBackup set name
LoginNameStringBackup username
OwnerStringBackup user owner
ClientTypeStringOBM or ACB
isSysFilesBooleanTrue if replicate for user settings or system file, False if replicate backup set data.
ModeStringMode: SLEEP, RESYNC, REPLAY, PENDING
TypeStringBackup set type
StartTimeStringStart time of the replication job
BackupSetIDStringBackup set ID
AliasStringAlias of the job entry
ReplicatedFileStringFile being replicated
UserIDStringUser ID
EstimatedTimeLeftStringEstimated time left
IDStringID of the entry object
UserTypeStringPAID or TRIAL
ProgressStringPercentage done of replication

RepStatus "Type" is "receive"

KeyTypeDescription
ReplicatedFileStringFile last replicated
EstimatedTimeLeftStringEstimated time left
ModeStringReceiving mode
StartTimeStringStart time of the receiving job
ReceiverStringReceiver name
IDStringID of the receiver
inactiveBooleanInactive or not
ProgressStringProgress percentage
Examples

Example 1: Type is "receive"

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"receive"
}

OUTPUT

{
	"Status":"OK",
	"ReloadReceiveStatus":"true",
	"RecStatus":[
		{
			"ReplicatedFile":"",
			"Progress":0,
			"inactive":true,
			"EstimatedTimeLeft":"-",
			"Mode":"REPLAY",
			"StartTime":"10:03:29",
			"Receiver":"rcvr",
			"ID":"3495085"
		}
	]
}

Example 2: Type is "replicate"

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"replicate"
}

OUTPUT

{
	"ReloadReplicateStatus":"true",
	"Status":"OK",
	"RepStatus":[
		{
			"BackupSetName":"v6 File Backup",
			"LoginName":"obm",
			"Owner":"",
			"ClientType":"OBM",
			"Progress":100,
			"Mode":"SLEEP",
			"StartTime":"10:05:15",
			"BackupSetID":"1687750405259",
			"isSysFiles":false,
			"ReplicatedFile":"",
			"Type":"FILE",
			"UserID":"109818",
			"Alias":"obm",
			"EstimatedTimeLeft":"-",
			"ID":"1687750405259",
			"UserType":"PAID"
		},
		{
			"BackupSetName":"default-backup-set-name-1",
			"LoginName":"obm",
			"Owner":"",
			"ClientType":"OBM",
			"Progress":100,
			"Mode":"SLEEP",
			"StartTime":"06/29/202410:48:25",
			"BackupSetID":"1687755057644",
			"isSysFiles":false,
			"ReplicatedFile":"",
			"Type":"FILE",
			"UserID":"109818",
			"Alias":"obm",
			"EstimatedTimeLeft":"-",
			"ID":"1687755057644",
			"UserType":"PAID"
		},
		{
			"BackupSetName":"Configuration and system files",
			"LoginName":"",
			"Owner":"",
			"ClientType":"",
			"Progress":0,
			"Mode":"SLEEP",
			"StartTime":"-",
			"BackupSetID":"",
			"isSysFiles":true,
			"ReplicatedFile":"",
			"Type":"",
			"UserID":"0",
			"Alias":"",
			"EstimatedTimeLeft":"-",
			"ID":"",
			"UserType":""
		}
	]
}

 

GetSystemStatus

This API can be used to get the Dashboard values of: CPU, Memory and Live Threads.

The settings can be found on the AhsayCBS web console at:

  • Monitoring > Dashboard > CPU
  • Monitoring > Dashboard > Memory
  • Monitoring > Dashboard > Live Threads

 

URL

https://CBS.EXAMPLE.COM/cbs/api/json/GetSystemStatus.do

Available Since Version: 9.1

Parameters

KeyTypeDescription
SysUserStringUsername of an AhsayCBS System User with Admin, API or Read-Only API role.
SysPwdStringPassword matching SysUser.
TypeString

(optional)Values: memory, cpuUsage or thread.

When Type or StartDate has no input, overall result is returned.

When Type and StartDate has input, history of the type is returned.

StartDateStringDate in yyyy-MM-dd format
Return Values

"Type" or "StartDate" has no input

KeyTypeDescription
StatusString"OK" or "Error"
MessageStringError message, it only appears if status displays "Error".
nonHeapMemPoolListArray of MemPoolMemory pool information for non heap.
HeapMemPoolListArray of MemPoolMemory pool information for heap.
garbageCollectorListArray of GarbageCollectorGarbage collection information.
totalSwapSpaceStringTotal swap space
heapUsedStringHeap used
daemonThreadsIntegerNumber of daemon threads
freeSwapSpaceStringFree swap space
peakThreadsIntegerPeak number of threads
nonHeapPercentageIntegerNon heap size percentage
liveThreadsIntegerNumber of live threads
committedVirtualMemoryStringCommitted virtual memory
totalThreadsStartedIntegerTotal number of threads started
totalPhysicalMemoryStringTotal physical memory
heapPercentageIntegerHeap percentage
TimestampLongTimestamp of the request
nonHeapUsedStringNon heap size used
processCpuLoadDoubleProcess CPU load
freePhysicalMemoryStringFree physical memory
systemCpuLoadDoubleSystem CPU load
maxNonHeapStringMaximum non heap size used
heapUsageDoubleHeap usage
maxHeapStringMaximum heap size
JSON Objects

Mempool

KeyTypeDescription
usedPercentageIntegerUsed percentage
MaxIntegerMaximum number jof memory assigned
usedIntegerMemory used
formattedUsedStringFormatted memory used
formattedMaxStringFormatted maximum number of memory
formattedPoolNameStringFormatted memory pool name
poolNameStringMemory pool name

GarbageCollector

KeyTypeDescription
timeIntegerTime
countIntegerCount
formattedTimeStringFormatted time
TypeStringType
formattedTypeStringFormatted type
Examples

Example 1: No Type / Overall result

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%"
}

OUTPUT

{
	"Status":"OK",
	"totalSwapSpace":"9.25 G",
	"heapUsed":"126.27 M",
	"daemonThreads":41,
	"freeSwapSpace":"5.44 G",
	"peakThreads":47,
	"nonHeapMemPoolList":[
		{
			"servletWrapper":{},
			"usedPercentage":15,
			"max":251658240,
			"formattedMax":"240 M",
			"used":"39791424",
			"formattedPoolName":"CodeCache",
			"formattedUsed":"37.95 M",
			"poolName":"CodeCache"
		}
		{
			"servletWrapper":{},
			"usedPercentage":36,
			"max":268435456,
			"formattedMax":"256 M",
			"used":"98743520",
			"formattedPoolName":"Metaspace",
			"formattedUsed":"94.17 M",
			"poolName":"Metaspace"
		}
		{
			"servletWrapper":{},
			"usedPercentage":3,
			"max":260046848,
			"formattedMax":"248 M",
			"used":"9740424",
			"formattedPoolName":"CompressedClassSpace",
			"formattedUsed":"9.29 M",
			"poolName":"CompressedClassSpace"
		}
	]
	"nonHeapPercentage":19,
	"liveThreads":43,
	"committedVirtualMemory":"793.76 M",
	"totalThreadsStarted":158,
	"totalPhysicalMemory":"8 G",
	"garbageCollectorList":[
		{
			"servletWrapper":{},
			"formattedType":"ParNew",
			"count":45,
			"formattedTime":"00:00:01.245",
			"time":1245,
			"type":"ParNew"
		}
		{
			"servletWrapper":{},
			"formattedType":"ConcurrentMarkSweep",
			"count":20,
			"formattedTime":"00:00:05.732",
			"time":5732,
			"type":"ConcurrentMarkSweep"
		}
	]
	"heapPercentage":6,
	"timestamp":1683256740537,
	"nonHeapUsed":"141.4 M",
	"processCpuLoad":0.18,
	"freePhysicalMemory":"4.29 G",
	"systemCpuLoad":0.5,
	"maxNonHeap":"744 M",
	"heapUsage":126.27443,
	"maxHeap":"1.99 G",
	"heapMemPoolList":[
		{
			"servletWrapper":{},
			"usedPercentage":5,
			"max":505413632,
			"formattedMax":"482 M",
			"used":29969944,
			"formattedPoolName":"ParEdenSpace",
			"formattedUsed":"28.58 M",
			"poolName":"Par Eden Space"
		}
		{
			"servletWrapper":{},
			"usedPercentage":0,
			"max":15728640,
			"formattedMax":"15 M",
			"used":0,
			"formattedPoolName":"ParSurvivorSpace",
			"formattedUsed":"0",
			"poolName":"Par Survivor Space"
		}
		{
			"servletWrapper":{},
			"usedPercentage":6,
			"max":1610612736,
			"formattedMax":"1.5 G",
			"used":102438392,
			"formattedPoolName":"CMSOldGen",
			"formattedUsed":"0",
			"poolName":"CMS Old Gen"
		}
	]	
}

Example 2: Type = "memory"

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"memory",
	"StartDate":""
}

OUTPUT

{
	"Status":"OK",
	"sysStatusList":[
		{
			"timestamp":1683216012284,
			"heapUsage":144.28317
		},
		{
			"timestamp":1683216072391
			"heapUsage":98.49154
		}
	]
}

Example 3: Type = "thread"

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"thread",
	"StartDate":"2024-05-05"
}

OUTPUT

{
	"Status":"OK",
	"sysStatusList":[
		{
			"timestamp":1683216012284,
			"liveThreads":41
		},
		{
			"timestamp":1683216072391
			"liveThreads":41
		}
	]
}

Example 4: Type = "cpu"

INPUT

{
	"SysUser":"api_user",
	"SysPwd":"qWeRtY123456!@#$%",
	"Type":"cpuUsage",
	"StartDate":"2024-05-05"
}

OUTPUT

{
	"Status":"OK",
	"sysStatusList":[
		{
			"timestamp":1683216012284,
			"processCpuLoad":0.01,
			"systemCpuLoad":0.64
		},
		{
			"timestamp":1683216072391,
			"processCpuLoad":0.39,
			"systemCpuLoad":0.64
		}
	]
}