Cluster Manager CLI
- Get all Clusters:
clustermanager list clusters
- Use one of the clusters: `
clustermanager use cluster <cluster-id>
- Get all Zones:
clustermanager list zones
- Use one of the zones:
clustermanager use zone <zone-id>
- Get all nodes of different types in a zone:
clustermanager list nodes --type=<node-type>
- Get all nodes in a zone:
clustermanager list nodes
The Cluster Manager CLI is a binary that is aware of its own Cluster and Zone context.
The CLI acts as the client to the following set of services:
- The Registry APIs
The CLI uses the Registry for most of its operations such as:
- Listing of Clusters
- Listing of Zones in a cluster
- Listing of Components in a zone
- Listing of configuration properties for a Component ID
- Listing of configuration properties for all components of a Component Type in the zone, e.g. common properties across all SQL components in the zone
- Listing of configuration properties for all components of a Component Type in the cluster, e.g. common properties across all SQL components across all the zones in a cluster
- Setting configuration properties on component/zone/cluster
- Listing of Resource Bindings for a Component ID
- Setting of Resource Bindings for all components of a Component Type in the zone, e.g. bind all TMs in a zone to a specific SQL component in the zone
- The Agent APIs
The CLI uses the Agent APIs for some of its operations that affect the lifecycle of the Agent.
- Set new configuration property - The CLI sets the Agent state to "UNSATISFIED" thereby causing the Agent to go through its lifecycle again.
- Set new resource binding - The CLI sets the Agent state to "UNSATISFIED" thereby causing the Agent to go through its lifecycle again.
- Set log level.
- Set log sync interval.
- Set verbose logging.
- Certificate Management Local APIs
CLI Commands
Valid Usage:
[root@cm-deploy-0-856b6c784c-x278w builder]# clustermanager A command-line application to manage the Mashery 5.0 topology Usage: clustermanager [command] Available Commands: deploy Deploy Mashery cluster topology help Help about any command inspect Inspect the cluster deployment or configs of components in a zone list List of [clusters|zones|components|loggers|config|bindings|identities|certificates] in the topology set Set configuration, bindings, loggers, logsyncinterval, identities & trust certificates in the topology use Use available cluster or zone version Print the version number of clustermanager CLI Flags: -h, --help help for clustermanager Use "clustermanager [command] --help" for more information about a command. [root@cm-deploy-0-856b6c784c-x278w builder]# alias cm=clustermanager
Command Help:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm --help A command-line application to manage the Mashery 5.0 topology Usage: clustermanager [command] Available Commands: deploy Deploy Mashery cluster topology help Help about any command inspect Inspect the cluster deployment or configs of components in a zone list List of [clusters|zones|components|loggers|config|bindings|identities|certificates] in the topology set Set configuration, bindings, loggers, logsyncinterval, identities & trust certificates in the topology use Use available cluster or zone version Print the version number of clustermanager CLI Flags: -h, --help help for clustermanager Use "clustermanager [command] --help" for more information about a command.
Command Specific Help:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm deploy --help Deploy Mashery cluster topology using the deployment file Usage: clustermanager deploy [flags] Flags: --file string path to the cluster deployment descriptor file -h, --help help for deploy [root@cm-deploy-0-856b6c784c-x278w builder]# cm inspect --help Inspect the cluster deployment or configs of components in a zone Usage: clustermanager inspect [flags] clustermanager inspect [command] Available Commands: cluster Inspect the cluster configs Inspect configs in a cluster Flags: -h, --help help for inspect Use "clustermanager inspect [command] --help" for more information about a command. [root@cm-deploy-0-856b6c784c-x278w builder]# cm list --help List of [clusters|zones|components|loggers|config|bindings|identities|certificates] in the topology Usage: clustermanager list [flags] clustermanager list [command] Aliases: list, ls Available Commands: bindings List of resource bindings of a specific component certificates List of trust certificates available for the cluster & zone clusters List of clusters in the topology components List of Tibco Mashery Components in a zone config List of configuration settings for a specific component identities List of identities available for the cluster & zone loggers List of loggers available for a specific component zones List of zones in a cluster Flags: -h, --help help for list [root@cm-deploy-0-856b6c784c-x278w builder]# cm set --help Set configuration, bindings, loggers, logsyncinterval, identities & trust certificates in the topology Usage: clustermanager set [flags] clustermanager set [command] Available Commands: binding Set resource binding for a component certificate Set certificate in the scope of a cluster/zone config Set configuration property in the scope of a cluster/zone/component identity Set identity in the scope of a cluster/zone loglevel Set log level in the scope of a cluster/zone/component logsyncinterval Set log sync interval in minutes [range 1-59] in the scope of a cluster/zone verboselog Set verbose log for traffic manager(s) in the scope of a cluster/zone/component Flags: -h, --help help for set [root@cm-deploy-0-856b6c784c-x278w builder]# cm use -h Use available cluster or zone in the topology Usage: clustermanager use [flags] clustermanager use [command] Available Commands: cluster Use available cluster zone Use available zone in a cluster Flags: -h, --help help for use [root@cm-deploy-0-856b6c784c-x278w builder]# cm version -h All software has versions. This is Cluster Manager CLI's Usage: clustermanager version [flags]
Command Objective: To get the current version of the Cluster Manager
Command Usage:
[root@a9fc970f406e bin]# clustermanager version Mashery Cluster Manager v1.0
Command Objective: To deploy a cluster topology using a deployment file
Command Help:
[root@a9fc970f406e bin]# clustermanager deploy --help Deploy Mashery cluster topology using the deployment file Usage: clustermanager deploy [flags] Flags: --file string path to the cluster deployment descriptor file -h, --help help for deploy
Command Valid Usage:
[root@a9fc970f406e bin]# clustermanager deploy Creating the deployment.. 2018/11/20 23:23:03 Deploying { "clusterName": "SampleCluster", "zoneNames": [ { "name": "local" } ], "tmCount": 2, "dsCount": 1, "oauthCount": 1, "cacheCount": 1, "sqlCount": 1, "logCount": 1, "nosqlCount": 1 } Successfully created the deployment for cluster [SampleCluster]
Command Objective: To allow the user to select the scope of subsequent operations. Valid scopes are Cluster
Command Help:
[root@b6caa48479da builder]# clustermanager use --help Use available cluster or zone in the topology Usage: clustermanager use [flags] clustermanager use [command] Available Commands: cluster Use available cluster zone Use available zone in a cluster Flags: -h, --help help for use
Command Valid Usage:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm use cluster 8d6f22d1-8797-43d6-9f54-57533ab1d560 Using cluster [Tibco Mashery Local Reference Cluster]
[root@cm-deploy-0-856b6c784c-x278w builder]# cm use zone 535db9aa-e58c-4939-9b14-e4e5746f3b44 Using cluster [Tibco Mashery Local Reference Cluster] Using Zone [local]
Command Invalid Usage:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm use cluster Tibco No matching cluster found: Tibco
[root@cm-deploy-0-856b6c784c-x278w builder]# cm use zone local No matching zone found: local
Command Help:
List Help[root@b6caa48479da builder]# clustermanager list --help List of [clusters|zones|components|loggers|config|bindings|identities|certificates] in the topology Usage: clustermanager list [flags] clustermanager list [command] Aliases: list, ls Available Commands: bindings List of resource bindings of a specific component certificates List of trust certificates available for the cluster & zone clusters List of clusters in the topology components List of Tibco Mashery Components in a zone config List of configuration settings for a specific component identities List of identities available for the cluster & zone loggers List of loggers available for a specific component zones List of zones in a cluster Flags: -h, --help help for list
Subcommand Objective: To list all the available clusters.
The default list display format is "table
Subcommand Help:
List Clusters Help[root@b6caa48479da builder]# clustermanager list clusters --help List of clusters in the topology Usage: clustermanager list clusters [flags] Flags: -h, --help help for clusters
Subcommand Valid Usage:
List of Clusters[root@cm-deploy-0-856b6c784c-x278w builder]# cm list clusters Cluster ID Cluster Name ------------------------------------- -------------------- 8d6f22d1-8797-43d6-9f54-57533ab1d560 Tibco Mashery Gat... Note: The cluster name displays the leading 20 characters of the Cluster name and truncates the rest in table display.The display format can be changed to "JSON".
[root@cm-deploy-0-856b6c784c-x278w builder]# TMG_CLI_OUTPUT=json eval 'cm ls clusters' [ { "clusterId": "8d6f22d1-8797-43d6-9f54-57533ab1d560", "name": "Tibco Mashery Local Reference Cluster", "createdTime": "" } ]
Subcommand Objective: To list all the available zones in the selected cluster. This command executes successfully only after selecting one of the available clusters via "use" command. (Refer to "use" command section for details.)
Subcommand Help:[root@b6caa48479da builder]# clustermanager list zones --help List of zones in a cluster in the topology Usage: clustermanager list zones [flags] Flags: -h, --help help for zones
Subcommand Valid Usage:
List of Zones[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls zones Using cluster [Tibco Mashery Local Reference Cluster] Zone ID Zone Name ------------------------------------- -------------------- 535db9aa-e58c-4939-9b14-e4e5746f3b44 local
Subcommand Objective: To list all the available components in a zone.
Subcommand Help:
List Components Help[root@b6caa48479da builder]# clustermanager list components --help List of Tibco Mashery Components in a zone a cluster in the topology Usage: clustermanager list components [flags] Flags: --clusterId string cluster ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice] -h, --help help for components --zoneId string zone ID of the component
Subcommand Valid Usage:
List of Components in a zone[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls components Using cluster [Tibco Mashery Local Reference Cluster] Using Zone [local] Component ID Type Name Status Last Heartbeat Received Host Service Port(s) ------------------------------------- --------------- ------ ----------- ---------------------------- ------------ --------------------------- 5c01c72c-11a8-4bed-ba8f-2421bc931499 sql sql ACTIVE Mar 12 2020 08:59:09 +0000 10.244.1.5 9080 3306 20580ccd-13b1-4662-8827-e07cf3fce567 nosql nosql ACTIVE Mar 12 2020 08:59:09 +0000 10.244.1.2 9080 9042 b30b7141-29dc-4c6f-9bf6-fc0317e6f32e cache cache ACTIVE Mar 12 2020 08:59:30 +0000 10.244.1.6 9080 11212,11211,11213,11214,11215,11216 a08bba64-8a39-4fa6-9fba-4d99e82816e4 trafficmanager tm ACTIVE Mar 12 2020 08:59:09 +0000 10.244.1.7 9080 8080 ce22559e-d6b7-4501-8575-e83fa45f91a2 logservice log ACTIVE Mar 12 2020 08:59:34 +0000 10.244.1.4 9080 24224
Subcommand Objective: To list component configuration properties
Subcommand Help:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls config --help List of configuration settings for a specific component in the topology Usage: clustermanager list config [flags] Flags: --all get all the configs from agent --clusterId string cluster ID of the component --componentId string ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice] -h, --help help for config --zoneId string zone ID of the component
Subcommand Valid Usage:
Response prior to setting the configuration properties for a given component:
Empty Property Response[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls config --componentId 5c01c72c-11a8-4bed-ba8f-2421bc931499 --componentType sql clusterId [8d6f22d1-8797-43d6-9f54-57533ab1d560] and zoneId [535db9aa-e58c-4939-9b14-e4e5746f3b44] No settings found for the given componentId [5c01c72c-11a8-4bed-ba8f-2421bc931499] of type [sql]Response after setting the configuration properties for a given component:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls config --componentId 5c01c72c-11a8-4bed-ba8f-2421bc931499 --componentType sql clusterId [8d6f22d1-8797-43d6-9f54-57533ab1d560] and zoneId [535db9aa-e58c-4939-9b14-e4e5746f3b44] Using cluster name [Tibco Mashery Local Reference Cluster] Using Zone name [local] Using Component ID [5c01c72c-11a8-4bed-ba8f-2421bc931499] of type [sql] Property Value Handler Is Encoded? File Destination ------------------------------ -------------------- -------------------- ------------ -------------------------------------------------- DUMMY_KEY DUMMY_VAL false
[root@cm-deploy-0-67548f4d56-j5j45 builder]# cl ls config --componentId 27b445c3-6656-4548-aff1-30ff84d83ec9 --componentType sql --all clusterId [3a199dba-c433-4a45-aec6-41983eccb3e8] and zoneId [a81a9fa1-834b-409d-9042-9b405c32a83e] Agent config files are stored under /root/config-27b445c3-6656-4548-aff1-30ff84d83ec9.zip Using cluster name [Tibco Mashery Local Example Cluster] Using Zone name [Tibco Mashery Local Example Zone] Using Component ID [27b445c3-6656-4548-aff1-30ff84d83ec9] of type [sql] Property Value Handler Is Encoded? File Destination ------------------------------ -------------------- -------------------- ------------ -------------------------------------------------- apiKey testkey123 string false /etc/mashery/proxy.json apiSecret testsecret345 string false /etc/proxy.json
Subcommand Objective: To list Resource Bindings used by a component.
Subcommand Help:
Help for listing Resource Bindings for a Component[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls bindings --help List of other components that a given component is using as its resource binding dependency Usage: clustermanager list bindings [flags] Flags: --clusterId string cluster ID of the component --componentId string ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice] -h, --help help for bindings --resourceType string type of resource binding, valid types [sql, nosql, cache, trafficmanager, logservice] --zoneId string zone ID of the component
Subcommand Valid Usage:
List All the Resource Bindings of a Component[root@cm-deploy-0-856b6c784c-x278w builder]# cm ls bindings --componentId a08bba64-8a39-4fa6-9fba-4d99e82816e4 --componentType trafficmanager --resourceType sql clusterId [8d6f22d1-8797-43d6-9f54-57533ab1d560] and zoneId [535db9aa-e58c-4939-9b14-e4e5746f3b44] Using cluster name [Tibco Mashery Local Reference Cluster] Using Zone name [local] Using Component ID [a08bba64-8a39-4fa6-9fba-4d99e82816e4] of type [trafficmanager] ComponentID Status ------------------------------------- -------------------- 5c01c72c-11a8-4bed-ba8f-2421bc931499 connected [root@cm-deploy-0-856b6c784c-x278w builder]# cm ls bindings --componentId a08bba64-8a39-4fa6-9fba-4d99e82816e4 --componentType trafficmanager --resourceType cache clusterId [8d6f22d1-8797-43d6-9f54-57533ab1d560] and zoneId [535db9aa-e58c-4939-9b14-e4e5746f3b44] Using cluster name [Tibco Mashery Local Reference Cluster] Using Zone name [local] Using Component ID [a08bba64-8a39-4fa6-9fba-4d99e82816e4] of type [trafficmanager] ComponentID Status ------------------------------------- -------------------- b30b7141-29dc-4c6f-9bf6-fc0317e6f32e connected
Command Objective: To update the existing component with various parameters.
Command Help:
Set Configuration Setting Help:
[root@b6caa48479da builder]# clustermanager set config --help Set configuration property in the scope of a cluster/zone/component Usage: clustermanager set config [flags] Flags: --clusterId string cluster ID of the component --componentId string ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice] -h, --help help for config --prop string Config property name --value string Config property value --zoneId string zone ID of the component
Set Resource Binding Help:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm set binding --help Set resource binding for a component Usage: clustermanager set binding [flags] Flags: --clusterId string cluster ID of the component --componentId string ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice] -h, --help help for binding --resourceId string ID of the resource binding --resourceType string type of resource binding, valid types [sql, nosql, cache, trafficmanager, logservice] --zoneId string zone ID of the componentThe following is an example:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm set binding --componentId a08bba64-8a39-4fa6-9fba-4d99e82816e4 --componentType trafficmanager --resourceId 5c01c72c-11a8-4bed-ba8f-2421bc931499--resourceType sql Updating the TML after the change Successfully updated the TML component a08bba64-8a39-4fa6-9fba-4d99e82816e4 for components of type trafficmanager Successfully set the resource binding for the the component a08bba64-8a39-4fa6-9fba-4d99e82816e4 of type trafficmanager
Set Verbose Logging Help:
[root@37268c01c6dd builder]# cm set verbose -h Set verbose log for traffic manager(s) in the scope of a cluster/zone/component Usage: clustermanager set verboselog [flags] Aliases: verboselog, verbose Flags: --clusterId string cluster ID of the component --componentId string ID of the component --enable Enable or disable verbose logging. 'enable=true' if the flag is empty (default true) -h, --help help for verboselog --interval int Time interval to enable verbose logging. Value must be between 1-30 (minutes) (default -1) --zoneId string zone ID of the component
Command Valid Usage:
Set Configuration Setting:
[root@cm-deploy-0-856b6c784c-x278w builder]# cm set config --componentId 5c01c72c-11a8-4bed-ba8f-2421bc931499 --componentType sql --prop DUMMY_KEY --value DUMMY_VAL Updating the TML after the change Successfully updated the TML component 5c01c72c-11a8-4bed-ba8f-2421bc931499 for components of type sql Successfully set configuration property for the scope map[cluster:Tibco Mashery Local Reference Cluster zone:local component:5c01c72c-11a8-4bed-ba8f-2421bc931499] for components of type sql
Set Verbose Logging Setting:
Set Verbose Logging (Valid Usage)[root@37268c01c6dd builder]# cm set verbose --interval 5 Successfully set new log level verboselogging=INFO for component map[zone:local] of type trafficmanager
Command Invalid Usage:
Set Verbose logging (Invalid usage)[root@37268c01c6dd builder]# cm set verbose --interval 100 Invalid verbose log interval [100], Please see the command help
Subcommand Objective: To inspect the cluster deployment or configurations of all the components in a given zone.
Subcommand Help:
Inspect Help
[root@cm-deploy-0-5d8fd6fd6f-wxlqk builder]# cm inspect cluster -h Inspect the cluster Usage: clustermanager inspect cluster [flags] Flags: -h, --help help for cluster -p, --properties List properties for components
Subcommand Valid Usage:
Inspect Cluster Usage
- Release version of each API Management - Local Edition component
- Bindings of each API Management - Local Edition component
- Processes running on each API Management - Local Edition component
- Optionally, the properties that eachAPI Management - Local Edition component runs with, this is achieved by using the optional -p flag as shown in the example below.
[root@cm-deploy-0-7744b57499-2mpq6 builder]# clustermanager inspect cluster -p { "name": "reference-tml-cluster-single-host", "clusterId": "b030364b-71bf-429d-be79-3de1c21fea8d", "zones": [ { "name": "us-west1-a", "zoneId": "4f655270-1889-48dd-83e1-bd41c3650948", "components": [ { "type": "sql", "name": "mysql-set-0-0.mysql-svc-0.default.svc.cluster.local", "id": "8e046ab4-00a7-4355-ba7b-0c56cfe20c1c", "version": "5.3.0.GA", "host": "10.52.0.24", "agentPort": 9080, "status": "ACTIVE", "port": [ 3306 ], "properties": null, "bindings": [ { "tmgcId": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "tmgcType": "logservice", "status": "connected" } ], "processes": [ { "id": "7c3fc660-080b-49fa-b45f-a716434d0faf", "name": "TMG-SQL", "type": "SQL", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_sql.sh ", "startTime": 1570478911737 }, { "id": "ecb6dbe0-02cb-428d-b362-e2c44291284f", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478911777 } ] }, { "type": "nosql", "name": "cass-set-0-0.cass-svc-0.default.svc.cluster.local", "id": "49004100-0051-4cf0-9eaf-795a983fc0e9", "version": "5.3.0.GA", "host": "10.52.0.21", "agentPort": 9080, "status": "ACTIVE", "port": [ 9042 ], "properties": null, "bindings": [ { "tmgcId": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "tmgcType": "logservice", "status": "connected" } ], "processes": [ { "id": "1097a975-508b-4f4d-90a0-51266cec7a7d", "name": "TMG-NoSQL", "type": "nosql", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_nosql.sh", "startTime": 1570478733913 }, { "id": "ef5563ff-1224-4c42-a309-01de8fe57270", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478733936 } ] }, { "type": "cache", "name": "cache-set-0-0.cache-svc-0.default.svc.cluster.local", "id": "60e9c4b1-1eea-4c09-a0f6-4f01639a2a1e", "version": "5.3.0.GA", "host": "10.52.0.25", "agentPort": 9080, "status": "ACTIVE", "port": [ 11212, 11211, 11213, 11214, 11215, 11216 ], "properties": null, "bindings": [ { "tmgcId": "8e046ab4-00a7-4355-ba7b-0c56cfe20c1c", "tmgcType": "sql", "status": "connected" }, { "tmgcId": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "tmgcType": "logservice", "status": "connected" } ], "processes": [ { "id": "a7bcd9a4-8909-4c2b-b870-5136b78370bf", "name": "TMG-Cache", "type": "Cache", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_cache.sh ", "startTime": 1570478947492 }, { "id": "e6098b0a-0889-4a7e-bd55-b9b45d83f4e7", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478947509 } ] }, { "type": "trafficmanager", "name": "tm-deploy-0-fccdf57d7-2rmq8.tm-svc-0.default.svc.cluster.local", "id": "0f79b4a8-a732-459e-a044-5940f74c7d6f", "version": "5.3.0.GA", "host": "10.52.0.26", "agentPort": 9080, "status": "ACTIVE", "port": [ 8080 ], "properties": null, "bindings": [ { "tmgcId": "8e046ab4-00a7-4355-ba7b-0c56cfe20c1c", "tmgcType": "sql", "status": "connected" }, { "tmgcId": "49004100-0051-4cf0-9eaf-795a983fc0e9", "tmgcType": "nosql", "status": "connected" }, { "tmgcId": "60e9c4b1-1eea-4c09-a0f6-4f01639a2a1e", "tmgcType": "cache", "status": "connected" }, { "tmgcId": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "tmgcType": "logservice", "status": "connected" } ], "processes": [ { "id": "02df6bec-8151-4136-8c30-bc2b738564ce", "name": "TMG-TM", "type": "Proxy", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_proxy.sh", "startTime": 1570478981926 }, { "id": "2e9da9d2-a22a-40f4-8257-78852c8c5b83", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478981945 } ] }, { "type": "logservice", "name": "log-set-0-0.log-svc-0.default.svc.cluster.local", "id": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "version": "5.3.0.GA", "host": "10.52.0.23", "agentPort": 9080, "status": "ACTIVE", "port": [ 24224 ], "properties": null, "bindings": [], "processes": [ { "id": "037ac1e3-3d7a-4832-a259-eed04fc29d5c", "name": "TMG-LOG", "type": "log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_logservice.sh", "startTime": 1570478840238 }, { "id": "fb70c0e7-2dc2-43a1-9021-f4854dfe9da5", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478840271 } ] }, { "type": "configmanager", "name": "cm-deploy-0-6fdcf6ff69-brq9s.cm-svc-0.default.svc.cluster.local", "id": "cc0f6289-d28d-443a-be59-3f881ced0435", "version": "5.3.0.GA", "host": "10.52.0.22", "agentPort": 9080, "status": "ACTIVE", "port": [ 7080 ], "properties": null, "bindings": [ { "tmgcId": "8e046ab4-00a7-4355-ba7b-0c56cfe20c1c", "tmgcType": "sql", "status": "connected" }, { "tmgcId": "60e9c4b1-1eea-4c09-a0f6-4f01639a2a1e", "tmgcType": "cache", "status": "connected" }, { "tmgcId": "63ae6b86-6b37-4f21-95d6-c5678605ea4a", "tmgcType": "logservice", "status": "connected" } ], "processes": [ { "id": "1bdbb4f4-0300-4539-8288-631f15d29956", "name": "TML-CM", "type": "API", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_api.sh", "startTime": 1570478800283 }, { "id": "f75a954c-2d50-47f4-87c4-41f0c4d70ede", "name": "TML-UI", "type": "UI", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_ui.sh", "startTime": 1570478800303 }, { "id": "8a47487b-cf8d-4309-9f93-d302683fa92e", "name": "FluentBit-LFA", "type": "Log", "state": "ACTIVE", "script": "/opt/mashery/containeragent/bin/startup_lfa.sh restart", "startTime": 1570478800369 } ] } ] } ] }
Subcommand Objective: To inspect the configurations of all components in a given zone.
Subcommand Valid Usage:
Inspect Configs for a Zone Output[root@b6caa48479da builder]# clustermanager inspect configs { "name": "Sample Cluster", "clusterId": "86db18a2-b28a-4724-96ca-faef6f5a078b", "zones": [ { "name": "us-east-1e", "zoneId": "86665b5d-0919-4032-8ce0-805fd7e0e15f", "components": [ { "type": "nosql", "name": "nosql", "id": "b6cd77bf-92df-4633-898e-a365af329ade", "host": "100.96.2.5", "validatedProperties": [ { "property": "logserviceURL", "isValid": true, "registryValue": null, "runtimeValue": "100.96.3.11", "defaultValue": "log-set-0-0.log-svc-0.default.svc.cluster.local" } ] }, { "type": "cache", "name": "cache", "id": "d0358516-57f8-4d50-b684-2c0391fabe03", "host": "100.96.2.4", "validatedProperties": [ { "property": "logserviceURL", "isValid": true, "registryValue": null, "runtimeValue": "100.96.3.11", "defaultValue": "log-set-0-0.log-svc-0.default.svc.cluster.local" }, { "property": "sqlURL", "isValid": true, "registryValue": null, "runtimeValue": "100.96.1.5", "defaultValue": "mysql-set-0-0.mysql-svc-0.default.svc.cluster.local" } ] }, { "type": "sql", "name": "sql", "id": "f2c92ee6-d083-471d-8bf6-950266f21ceb", "host": "100.96.1.5", "validatedProperties": [ { "property": "logserviceURL", "isValid": true, "registryValue": null, "runtimeValue": "100.96.3.11", "defaultValue": "log-set-0-0.log-svc-0.default.svc.cluster.local" }, { "property": "apiSecret", "isValid": true, "registryValue": null, "runtimeValue": "8UN8j8BN6f", "defaultValue": "" }, { "property": "apiKey", "isValid": false, "registryValue": "123KJGHGG", "runtimeValue": "8UJBAUIUf", "defaultValue": "" } ] } ] } ] }
Subcommand Description: To list all the certificates in the selected zone within the cluster.
Subcommand Help:
[root@01294de80b3d builder]# clustermanager list certificates --help List of trust certificates available for the topology Usage: clustermanager list certificates [flags] Flags: -h, --help help for certificates [root@01294de80b3d builder]# clustermanager ls certificates UUID Name Area ID Expiration ---------------------------------------- ---------------------------------------- ---------- -------------------- f26a2422-b2cd-4905-bbc7-5706d450b137 sample 0 2029-03-22
Subcommand Valid Usage:
[root@a9fc970f406e bin]# clustermanager ls certificates UUID Name Area ID Expiration ---------------------------------------- ---------------------------------------- ---------- -------------------- 32330473-69e5-4f93-a4c5-104601c416d7 acme.client.example.com 0 2116-05-28
Subcommand Objective: To list all the identities in the selected zone within the cluster.
Subcommand Help:
[root@aa5de66f2645 ~]# clustermanager ls identities --help List of identities available for the cluster & zone Usage: clustermanager list identities [flags] Flags: -h, --help help for identities --zoneId string zone ID of the component
Subcommand Valid Usage:
[root@01294de80b3d builder]# clustermanager list identities --help List of identities available for the topology Usage: clustermanager list identities [flags] Flags: -h, --help help for identities [root@01294de80b3d builder]# clustermanager list identities UUID Name Area ID Expiration ---------------------------------------- ---------------------------------------- ---------- -------------------- a434bb96-be67-4676-a8aa-9c9fe6503d76 sample 5488 2020-03-26
Subcommand Objective: To update a certificate in the selected zone within the cluster.
Subcommand Help:
[root@01294de80b3d builder]# clustermanager set certificate help Error: required flag(s) "file", "uuid" not set Usage: clustermanager set certificate [flags] Aliases: certificate, cert Flags: --file string certificate file to upload, CER type -h, --help help for certificate --uuid string unique ID for the existing certificate that needs update required flag(s) "file", "uuid" not setThe following is an example:
[root@01294de80b3d builder]# clustermanager set cert --file sample.cer --uuid f26a2422-b2cd-4905-bbc7-5706d450b137 Updating certificate for the topology Successfully updated certificate for the topology
Subcommand Valid Usage:
[root@aa5de66f2645 ~]# clustermanager create certificate --file /usr/local/bin/sample-cert.cer
[root@01294de80b3d builder]# clustermanager set certificate help Error: required flag(s) "file", "uuid" not set Usage: clustermanager set certificate [flags] Aliases: certificate, cert Flags: --file string certificate file to upload, CER type -h, --help help for certificate --uuid string unique ID for the existing certificate that needs update required flag(s) "file", "uuid" not setThe following is an example:
[root@01294de80b3d builder]# clustermanager set cert --file sample.cer --uuid f26a2422-b2cd-4905-bbc7-5706d450b137 Updating certificate for the topology Successfully updated certificate for the topology
Subcommand Invalid Usage:
[root@aa5de66f2645 ~]# clustermanager set certificate Error: required flag(s) "file" not set Usage: clustermanager set certificate [flags] Aliases: certificate, cert Flags: --clusterId string cluster ID of the component --file string certificate file to upload, CER type -h, --help help for certificate --uuid string unique ID for the existing certificate that needs update --zoneId string zone ID of the component required flag(s) "file" not set
[root@aa5de66f2645 ~]# clustermanager set certificate --file sample.cer No such certificate sample.cer
Subcommand Objective: To update an identity in the selected zone within the cluster.
Subcommand Help:
[root@01294de80b3d builder]# clustermanager set identity help Error: required flag(s) "file", "password", "uuid" not set Usage: clustermanager set identity [flags] Aliases: identity, idty Flags: --file string identity file to upload, P12 / JKS type -h, --help help for identity --password string password for the identity file --uuid string unique ID for the existing identity that needs update --verifyHostname required for mutual SSL. If set to true, hostname inside client and server identity & trust files should be same. 'verifyHostname=false' if the flag is empty required flag(s) "file", "password", "uuid" not setThe following is an example:
[root@01294de80b3d builder]# clustermanager set idty --file sample.p12 --password password --uuid a434bb96-be67-4676-a8aa-9c9fe6503d76 Updating an identity for the topology Successfully updated identity for the topology
Subcommand Valid Usage:
[root@01294de80b3d builder]# clustermanager create identity help Error: required flag(s) "file", "password" not set Usage: clustermanager create identity [flags] Aliases: identity, idty Flags: --file string identity file to create, P12 / JKS type -h, --help help for identity --password string password for the identity file required flag(s) "file", "password" not setThe following is an example:
[root@01294de80b3d builder]# clustermanager create identity --file sample.p12 --password password Creating an identity for the topology Successfully created identity for the topology
[root@01294de80b3d builder]# clustermanager set identity help Error: required flag(s) "file", "password", "uuid" not set Usage: clustermanager set identity [flags] Aliases: identity, idty Flags: --file string identity file to upload, P12 / JKS type -h, --help help for identity --password string password for the identity file --uuid string unique ID for the existing identity that needs update --verifyHostname required for mutual SSL. If set to true, hostname inside client and server identity & trust files should be same. 'verifyHostname=false' if the flag is empty required flag(s) "file", "password", "uuid" not setThe following is an example:
[root@01294de80b3d builder]# clustermanager set idty --file sample.p12 --password password --uuid a434bb96-be67-4676-a8aa-9c9fe6503d76 Updating an identity for the topology Successfully updated identity for the topology
*Flag: true* {code:java} [root@2f3252898633 builder]# cm set identity --file sample.p12 --password password --uuid cb4d2bc2-f863-440b-0020-1d11369404d8 --verifyHostname true Updating identity for cluster ID 6a8bf4d8-810f-417b-8900-cb3acf2caff0 and zone ID e2844a28-2d61-4dcc-97d8-6f56a641b7a6 Successfully updated identity for cluster ID 6a8bf4d8-810f-417b-8900-cb3acf2caff0 of zone ID e2844a28-2d61-4dcc-97d8-6f56a641b7a6 {code} *Flag: false* {code:java} [root@2f3252898633 builder]# cm set identity --file sample.p12 --password password --uuid cb4d2bc2-f863-440b-0020-1d11369404d8 --verifyHostname=false Updating identity for cluster ID 6a8bf4d8-810f-417b-8900-cb3acf2caff0 and zone ID e2844a28-2d61-4dcc-97d8-6f56a641b7a6 Successfully updated identity for cluster ID 6a8bf4d8-810f-417b-8900-cb3acf2caff0 of zone ID e2844a28-2d61-4dcc-97d8-6f56a641b7a6 {code}
Subcommand Invalid Usage:
[root@aa5de66f2645 ~]# clustermanager set identity Error: required flag(s) "file", "password" not set Usage: clustermanager set identity [flags] Aliases: identity, idty Flags: --clusterId string cluster ID of the component --file string identity file to upload, P12 / JKS type -h, --help help for identity --password string password for the identity file --uuid string unique ID for the existing identity that needs update --zoneId string zone ID of the component required flag(s) "file", "password" not set
[root@aa5de66f2645 ~]# clustermanager set identity --file sample.p12 Error: required flag(s) "password" not set Usage: clustermanager set identity [flags] Aliases: identity, idty Flags: --clusterId string cluster ID of the component --file string identity file to upload, P12 / JKS type -h, --help help for identity --password string password for the identity file --uuid string unique ID for the existing identity that needs update --zoneId string zone ID of the component required flag(s) "password" not set
[root@aa5de66f2645 ~]# clustermanager set identity --file sample.p12 --password 1.tibco No such identity sample.p12
CLI Help
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager -h A command-line application to manage the Mashery 5.0 topology Usage: clustermanager [command] Available Commands: cluster Execute commands against the deployment in a cluster zone create Create identity or certificate in available cluster or zone deploy Deploy Mashery cluster topology help Help about any command import Import properties configuration in the topology inspect Inspect the cluster deployment or configs of components in a zone list List of [clusters|zones|components|loggers|config|bindings|identities|certificates] in the topology set Set configuration, bindings, loggers, logsyncinterval, identities & trust certificates in the topology stage-portal-customizations Decompress and upload portal customizations from given file location use Use available cluster or zone version Print the version number of clustermanager CLI Flags: -h, --help help for clustermanager Use "clustermanager [command] --help" for more information about a command.
CLI Command for Cluster Status
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager cluster status *** Checking the status of Cluster 'reference-tml-cluster-single-host' *** *** Checking the status of zone 'us-west1-a' *** TML component [a3d8c76b-7b01-401a-b2d8-32363a3af913] of type [nosql] found with status [ACTIVE] on Host IP [10.60.0.23]. See details below Component ID Component Name Component IP Component Status Pending Activity Error ------------------------------------- -------------------- -------------------- -------------------- -------------------- ------------------------------ a3d8c76b-7b01-401a-b2d8-32363a3af913 nosql 10.60.0.23 Not ReadySample for the cluster status command as the cluster gets healthy:
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager cluster status *** Checking the status of Cluster 'reference-tml-cluster-single-host' *** *** Checking the status of zone 'us-west1-a' *** TML component [a3d8c76b-7b01-401a-b2d8-32363a3af913] of type [nosql] found with status [ACTIVE] on Host IP [10.60.0.23].. TML component [143d47f5-ee40-4985-abd5-b60c624e8986] of type [logservice] found with status [ACTIVE] on Host IP [10.60.0.25].. TML component [f589716e-5a2f-4ace-916b-f2fefb42f7d5] of type [sql] found with status [ACTIVE] on Host IP [10.60.0.26].. TML component [720222d7-9603-4a4f-9c9c-d32a47e4748e] of type [cache] found with status [ACTIVE] on Host IP [10.60.0.27].. TML component [e068e07f-dcaa-4528-b226-7ad3b8a06565] of type [trafficmanager] found with status [RESOLVED] on Host IP [10.60.0.28]. See details below Component ID Component Name Component IP Component Status Pending Activity Error ------------------------------------- -------------------- -------------------- -------------------- -------------------- ------------------------------ e068e07f-dcaa-4528-b226-7ad3b8a06565 tm 10.60.0.28 Not ReadyWhen the Cluster is healthy overall, the following status is seen:
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager cluster status *** Checking the status of Cluster 'reference-tml-cluster-single-host' *** *** Checking the status of zone 'us-west1-a' *** TML component [a3d8c76b-7b01-401a-b2d8-32363a3af913] of type [nosql] found with status [ACTIVE] on Host IP [10.60.0.23].. TML component [143d47f5-ee40-4985-abd5-b60c624e8986] of type [logservice] found with status [ACTIVE] on Host IP [10.60.0.25].. TML component [f589716e-5a2f-4ace-916b-f2fefb42f7d5] of type [sql] found with status [ACTIVE] on Host IP [10.60.0.26].. TML component [720222d7-9603-4a4f-9c9c-d32a47e4748e] of type [cache] found with status [ACTIVE] on Host IP [10.60.0.27].. TML component [e068e07f-dcaa-4528-b226-7ad3b8a06565] of type [trafficmanager] found with status [ACTIVE] on Host IP [10.60.0.28].. TML component [d8c24dd6-6f38-4474-a30c-1f2b33179340] of type [configmanager] found with status [ACTIVE] on Host IP [10.60.0.24].. Cluster 'reference-tml-cluster-single-host' is ready
CLI Command to remove unreachable data from old nodes
Command name : cleanupUnreachable
clustermanager cluster cleanupUnreachable --confirm *** Deleting the status of Cluster 'reference-tml-cluster-single-host' *** *** Cleaning up unreachable components in zone 'us-central1-a' *** Successfully deleted unreachable components in cluster [afa81ab5-4ff6-4cb8-b52c-c4698b2ed9cf] and zone [8361d04c-73e1-4282-a8aa-d44cff1b02db] All unreachable components cleaned up [root@cm-deploy-0-5dd578987d-lqqc2 builder]# cl ls components -u Using cluster [reference-tml-cluster-single-host] Using Zone [us-central1-a] Component ID Component Type Component Name Component Status Component Host Component Agent Port Component Service Port(s) ------------------------------------- -------------------- -------------------- -------------------- -------------------- ---------------------- --------------------------- [root@cm-deploy-0-5dd578987d-lqqc2 builder]#
Import of Configuration
- Prepare the new log destination configuration in following JSON format:
{ "td_agent_output_channelType": "DEFAULT", "td_agent_container_output_channelType": "DEFAULT", "td_agent_metric_output_channelType": "DEFAULT,KAFKA", "td_agent_verbose_output_channelType": "DEFAULT", "td_agent_out_kafka_brokers" : "10.97.242.197:9092", "td_agent_out_kafka_topic" : "ml5_access_logs", "td_agent_out_metric_kafka_brokers" : "10.97.242.197:9092", "td_agent_out_metric_kafka_topic" : "ml511_metric_Kafka" }
Let us call this file /var/config/props.json, as an example. - Use the clustermanager import command to import the same for the logservice container(s).
clustermanager import config --componentType logservice --file /var/config/props.json
Importing help
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager import -h Import properties configuration in the topology Usage: clustermanager import [flags] clustermanager import [command] Available Commands: config Import properties configuration in the scope of a cluster/zone/component Flags: -h, --help help for import
[root@cm-deploy-0-5c898c8d5f-wx78f builder]# clustermanager import config -h Import properties configuration in the scope of a cluster/zone/component Usage: clustermanager import config [flags] Flags: --clusterId string cluster ID of the component --componentId string ID of the component --componentType string type of the component, valid types [sql, nosql, cache, trafficmanager, logservice, platformapi, configmanager] --file string Path to properties key-value JSON file -h, --help help for config --zoneId string zone ID of the component
Cluster Manager Command
The "clustermanager cluster status" command reports status of all components across all the zones of deployment that belong to the Local Edition cluster. If the status of a component is not ACTIVE, the status command reports the data that points to any pending activity that the component is waiting to finish before becoming ACTIVE. Once all the components are ACTIVE, then the command reports that the cluster is ready.