Page History
...
status
Returns status information about JOC Cockpit, Controller & Agent instances and database indicated by a textual status and severity, for details see JS7 - Dashboard:
JOC Cockpit Status Text Severtiy JOC Cockpit Cluster Status active 0 inactive 1 unknown 3 Controller Status Text Severity Controller Cluster Status coupled 0 unknown 3 Controller Cluster Node Status active 0 inactive 1 unknown 3 Controller Component Status operational 0 limited 1 inoperable 2 unknown 3 Controller Connection Status established 0 unstable 1 unreachable 2 unknown 3 Agent Status Text Severity Agent Cluster Status active 0 inactive 1 unknown 3 Agent Component Status coupled 0 resetting reset initialised couplingfailed shutdown unknown Database Status Text Severity Database Component Status operational 0 unknown 3 Database Connection Status established 0 unstable 1 unreachable 2 unknown 3
health-check
- Performs a health check and returns status information for each JOC Cockpit, Controller and Agent instances.
- When used with the
--agent-id
option, filters the indicated. Agents. More than one Agent ID can be specified separated by comma, for example:--agent-id=agent1,agent2
. - When used with the
--agent-state
option, allows to filter Agents by state.:COUPLED, RESETTING, RESET, INITIALISED, COUPLINGFAILED, SHUTDOWN, UNKNOWN
. More than one Agent state can be specified separated by comma, for example:--agent-state=COUPLED,COUPLINGFAILED
. - When used with the
--agent-cluster
switch, limits the scope to clustered Agents. - When used with the
--no-hidden
switch, limits the scope to Agents that are not hidden. - The health check will return exit code
0
for a healthy environment and exit2
for an unhealthy envirornment.
- When used with the
- Performs a scenario check when used with the
--whatif-shutdown
option. The option takes a hostname. More than one hostname can be specified by comma, for example:--whatif-shutdown=host1.example.com,host2.example.com
. The check implies to verify if the JS7 scheduling environment will remain healthy in case that the given host will be shut down.- The check returns exit code
0
for a healthy environment and exit3
for an unhealthy envirornment.
- The check returns exit code
- Performs a health check and returns status information for each JOC Cockpit, Controller and Agent instances.
version
- Returns version information of JOC Cockpit, Controller and Agents.
- When used without options, the JOC Cockpit version will be returned.
- When usiedf with the
--controller-id
option, the version of the indicated Controller will be returned. - When used with the
--agent-id
option, the version of the indicated Agent will be returned. If a Cluster Agent is specified, then version information for included Director Agents and Subagents will be returned in JSON format.
- When used with the
--json
switch, then information about included Controllers and/or Agents will be returned in JSON format.
- Returns version information of JOC Cockpit, Controller and Agents.
switch-over
- Shifts the active role to the Standby JOC Cockpit instance.
restart-service
- Allows to restart JOC Cockpit background services. One of the following services can be specified using the
--service-type
option:cluster,
history,
dailyplan,
cleanup,
monitor
- JOC Cockpit background services will run based on events (
cluster, history, monitor
) or based on schedules configurable with JS7 - Settings (dailyplan, cleanup
). To force a background service to start immediately therun-service
command can be used.
- Allows to restart JOC Cockpit background services. One of the following services can be specified using the
run-service
- Starts JOC Cockpit background services. One of the following services can be specified using the
--service-type
option:dailyplan,
cleanup
- JOC Cockpit background services will run based on schedules configurable with JS7 - Settings (
dailyplan, cleanup
). Therun-service
command will force immediate execution of the service.
- Starts JOC Cockpit background services. One of the following services can be specified using the
check-license
- Checks which JS7 - License is available with JOC Cockpit and if it is valid for a predetermined period.
- The Open Source License is valid for any period of time and will not expire.
- The Commercial License can be perpetual or can be valid for a limited subscription period.
- The
--validity-days
option specifies the number of days before expiration of the Commercial License. Default: 60 days. - Exit codes of the license check include:
- Exit code 0 signals a valid license for the period specified.
- Exit code 2 signals an expired license or an inapplicable license check if the Open Source License is used.
- Exit code 3 signals a valid license that is about to expire within the number of days specified.
- Checks which JS7 - License is available with JOC Cockpit and if it is valid for a predetermined period.
get-settings
- Returns JS7 - Settings in JSON format.
- Users can modify settings using the jq utility and can update settings using the
store-settings
command.
store-settings
- Updates JS7 - Settings in JOC Cockpit.
- Users can read settings using the
get-settings
command and can modify settings using the jq utility before updating settings.
encrypt
- Allows to encrypt a value using the
--in
option. If used to encrypt a file then--infile
and--outfile
options must be specified. - The
--cert
option specifies the path to a file holding the Certificate used for encryption. - Encryption is performed by Java libraries that are looked up in the
./lib
sub-directory of the JS7 Unix Shell CLI. For details see JS7 - Encryption and Decryption.
- Allows to encrypt a value using the
decrypt
- Allows to decrypt a value using the
--in
option. If used to decrypt a file then--infile
and--outfile
options must be specified. - The
--key
option specifies the path to the Private Key used for decryption. If the Private Key is protected by a password, then the--key-password
option or switch must be specified. - Decryption is performed by Java libraries that are looked up in the
./lib
sub-directory of the JS7 Unix Shell CLI.
- Allows to decrypt a value using the
...
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# common options for connection to JS7 REST API request_options=(--url=http://localhost:4446 --user=root --password=root --controller-id=controller) # get status information for Standalone JOC Cockpit response=$(./operate-joc.sh status "${request_options[@]}") # returns response {"clusterState":{"_text":"ClusterUnknown","severity":2},"controllers":[{"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerId":"controller","host":"localhost","id":20,"isCoupled":false,"javaVersion":"21+35-2513","os":{"architecture":"amd64","distribution":"3.10.0-1160.92.1.el7.x86_64","name":"Linux"},"role":"STANDALONE","securityLevel":"HIGH","startedAt":"2024-09-03T09:52:38.918Z","surveyDate":"2024-09-23T10:10:01.496Z","title":"Standalone Controller","url":"http://localhost:4444","version":"2.7.2"}],"database":{"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"dbms":"H2","version":"1.4.200 (2019-10-14)"},"deliveryDate":"2024-09-23T10:10:01.499Z","jocs":[{"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerConnectionStates":[{"role":"STANDALONE","state":{"_text":"established","severity":0}}],"current":true,"host":"localhost","id":1,"instanceId":"joc#0","isApiServer":false,"lastHeartbeat":"2024-09-23T10:09:43.682Z","memberId":"localhost:1ce420678f21a574e6adeb2f218f5bd40ed1b1bf9005414bcf060fba2e4c5a67","os":{"architecture":"amd64","distribution":"3.10.0-1160.92.1.el7.x86_64","name":"Linux"},"securityLevel":"HIGH","startedAt":"2024-09-19T20:55:34.522Z","title":"My JOC Cockpit","url":"http://localhost:4446","version":"2.7.2"}]} # get severity from status information echo "$response" | jq -r '.jocs[0].componentState.severity // empty' echo "$response" | jq -r '.jocs[0].connectionState.severity // empty' echo "$response" | jq -r '.jocs[0].controllerConnectionStates[0].state.severity // empty' echo "$response" | jq -r '.jocs[0].version // empty' echo "$response" | jq -r '.database.componentState.severity // empty' echo "$response" | jq -r '.database.connectionState.severity // empty' # get status information for JOC Cockpit Cluster response=$(./operate-joc.sh status "${request_options[@]}") # returns response {"clusterState":{"_text":"ClusterCoupled","severity":0},"controllers":[{"clusterNodeState":{"_text":"inactive","severity":1},"clusterUrl":"http://localhost:4444","componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerId":"controller_cluster","host":"localhost","id":2,"isCoupled":true,"javaVersion":"17.0.12+7-alpine-r0","os":{"architecture":"amd64","distribution":"3.10.0-1160.92.1.el7.x86_64","name":"Linux"},"role":"PRIMARY","securityLevel":"MEDIUM","startedAt":"2024-09-18T20:29:33.271Z","surveyDate":"2024-09-23T10:07:16.768Z","title":"PRIMARY CONTROLLER","url":"http://localhost:4444","version":"2.7.2"},{"clusterNodeState":{"_text":"active","severity":0},"clusterUrl":"http://localhost:4444","componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerId":"controller_cluster","host":"localhost","id":3,"isCoupled":true,"javaVersion":"17.0.12+7-alpine-r0","os":{"architecture":"amd64","distribution":"3.10.0-1160.92.1.el7.x86_64","name":"Linux"},"role":"BACKUP","securityLevel":"MEDIUM","startedAt":"2024-09-18T20:29:33.972Z","surveyDate":"2024-09-23T10:07:16.737Z","title":"SECONDARY CONTROLLER","url":"http://localhost:44444","version":"2.7.2"}],"database":{"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"dbms":"MySQL","version":"5.7.33"},"deliveryDate":"2024-09-23T10:07:16.773Z","jocs":[{"clusterNodeState":{"_text":"active","severity":0},"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerConnectionStates":[{"role":"PRIMARY","state":{"_text":"established","severity":0}},{"role":"BACKUP","state":{"_text":"established","severity":0}}],"current":true,"host":"localhost","id":3,"instanceId":"joc#0","isApiServer":false,"lastHeartbeat":"2024-09-23T10:07:13Z","memberId":"localhost:97c88ccc3975703ebd0b7277d394ec8768f88b31775e8df038572d2547c240a0","os":{"architecture":"amd64","distribution":"3.10.0-957.1.3.el7.x86_64","name":"Linux"},"securityLevel":"MEDIUM","startedAt":"2024-09-20T15:50:41Z","title":"PRIMARY JOC COCKPIT","url":"http://localhost:4446","version":"2.7.2"},{"clusterNodeState":{"_text":"inactive","severity":1},"componentState":{"_text":"operational","severity":0},"connectionState":{"_text":"established","severity":0},"controllerConnectionStates":[{"role":"PRIMARY","state":{"_text":"established","severity":0}},{"role":"BACKUP","state":{"_text":"established","severity":0}}],"current":false,"host":"localhost","id":1,"instanceId":"joc#1","isApiServer":false,"lastHeartbeat":"2024-09-23T10:07:12Z","memberId":"localhost:97c88ccc3975703ebd0b7277d394ec8768f88b31775e8df038572d2547c240a0","os":{"architecture":"amd64","distribution":"3.10.0-957.1.3.el7.x86_64","name":"Linux"},"securityLevel":"MEDIUM","startedAt":"2024-09-20T15:50:40Z","title":"SECONDARY JOC COCKPIT","url":"http://localhost:4446","version":"2.7.2"}]} # get severity from status information echo "$response" | jq -r '.clusterState.severity // empty' echo "$response" | jq -r '.controllers[0].componentState.severity // empty' echo "$response" | jq -r '.controllers[0].connectionState.severity // empty' echo "$response" | jq -r '.controllers[1].componentState.severity // empty' echo "$response" | jq -r '.controllers[1].connectionState.severity // empty' echo "$response" | jq -r '.jocs[0].componentState.severity // empty' echo "$response" | jq -r '.jocs[0].connectionState.severity // empty' echo "$response" | jq -r '.jocs[0].version // empty' echo "$response" | jq -r '.database.componentState.severity // empty' echo "$response" | jq -r '.database.connectionState.severity // empty' |
Anchor | ||||
---|---|---|---|---|
|
Code Block | ||||||
---|---|---|---|---|---|---|
| ||||||
# common options for connection to JS7 REST API request_options=(--url=http://localhost:4446 --user=root --password=root) # perform health check for JOC Cockpit, Controller and Agents ./operate-joc.sh health-check "${request_options[@]}" --controller-id=controller # Log output of the command can look like this with 2 Agents not being available Database: MySQL 5.7.33 Component State : operational (0) Connection State : established (0) JOC Cockpit: PRIMARY JOC COCKPIT, URL: https://joc-2-0-primary.sos:7443, Date: 2024-11-11T15:11:01.19Z Cluster Node State: active (0) Component State: operational (0) Connection State: established (0) JOC Cockpit: SECONDARY JOC COCKPIT, URL: http://centostest_primary.sos:7546, Date: 2024-11-11T15:11:01.19Z Cluster Node State: inactive (1) Component State: operational (0) Connection State: established (0) JOC Cockpit Cluster State: ClusterCoupled (0) PRIMARY Controller: PRIMARY CONTROLLER, ID: testsuite, URL: https://controller-2-0-primary:4443, is coupled: true, Date: 2024-11-11T15:11:01.186Z Cluster Node State: inactive (1) Component State: operational (0) Connection State: established (0) BACKUP Controller: SECONDARY CONTROLLER, ID: testsuite, URL: https://controller-2-0-secondary:4443, is coupled: true, Date: 2024-11-11T15:11:01.158Z Cluster Node State: active (0) Component State: operational (0) Connection State: established (0) STANDALONE Agent: primaryAgent, ID: agent_001, URL: https://agent-2-0-primary:4443, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) STANDALONE Agent: apmaccsAgent, ID: agent_005, URL: http://192.11.3.3:4449, Controller ID: testsuite, Disabled: true, Date: 2024-11-11T15:11:01.111Z Component State: UNKNOWN (2) [WARN] Fatal Component State: UNKNOWN (2) STANDALONE Agent: apmacwinAgent, ID: agent_006, URL: http://192.11.2.2:4245, Controller ID: testsuite, Disabled: true, Date: 2024-11-11T15:11:01.111Z Component State: UNKNOWN (2) [WARN] Fatal Component State: UNKNOWN (2) CLUSTER Agent: AgentCluster001, ID: agent_cluster_001, Controller ID: testsuite, Date: 2024-11-11T15:11:01.111Z PRIMARY DIRECTOR: Subagent ID: director_primary_001, URL: https://diragent-2-0-primary:4443 Cluster Node State: active (0) Component State: COUPLED (0) SECONDARY DIRECTOR: Subagent ID: director_secondary_001, URL: https://diragent-2-0-secondary:4443 Cluster Node State: inactive (1) Component State: COUPLED (0) STANDALONE Agent: secondaryAgent, ID: agent_002, URL: https://agent-2-0-secondary:4443, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) STANDALONE Agent: oracleAgent, ID: agent_010, URL: http://minos.sos:4445, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) STANDALONE Agent: testAgent, ID: agent_011, URL: http://centostest_primary.sos:7775, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) STANDALONE Agent: wintestAgent, ID: agent_021, URL: http://192.11.0.146:4445, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) STANDALONE Agent: winutf8Agent, ID: agent_022, URL: http://192.11.0.146:4245, Controller ID: testsuite, Disabled: , Date: 2024-11-11T15:11:01.111Z Component State: COUPLED (0) [ERROR] health check identified 2 fatal problems # perform health check for JOC Cockpit, Controller and specific Agents ./operate-joc.sh health-check "${request_options[@]}" --controller-id=controller --agent=primaryAgent,secondaryAgent |
...
Overview
Content Tools