Working with category debug logging

You can enable debug logging for specific categories at run time. Category debug logging makes problem diagnosis easier by enabling you to target logging to specific BMC Cloud Lifecycle Management functionality and to specify the level of detail that is reported in the logs.

The following BMC Communities video describes how to enable category debug logging.

https://youtu.be/Om7b3LxMl6A

To enable category debug logs

  1. Log on to the server that hosts Platform Manager.
  2. Open cloudservices.json in a text editor.

    The file is located in the following directory:
    • Windows: C:\Program Files\BMC Software\BMCCloudLifeCycleManagement\Platform_Manager\configuration
    • Linux: /opt/bmc/BMCCloudLifeCycleManagement/Platform_Manager/configuration
  3. Search for the following text string:
    Logging Service

    This search positions you at the section in the file that contains access attributes for the Logging Service.
  4. If the categoryDebugLevels access attribute value object is not present in the Logging Service section of the file, copy the following JSON and paste it into the file within the accessValues object of the Logging Service CloudServiceobject; otherwise, skip to the next step.

    {
      "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue",
      "accessAttribute": {
        "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute",
        "datatype": "String",
        "description": "Debug Level per Category",
        "guid": "BB14C628-E602-4BAA-9BAE-AD616280B516",
        "isOptional": true,
        "isPassword": false,
        "length": 255,
        "modifiableWithoutRestart": true,
        "name": "categoryDebugLevels"
      },
      "attributeValue": "EFM=debug,TASK=debug",
      "description": "Debug Level per Category",
      "guid": "48591A8B-E887-4F1E-B8DA-AE231D2B7727",
      "name": "categoryDebugLevels"
    }
    

    To view sample excerpts from the cloudservices.json file that will help you position the JSON correctly, click the following disclosure triangles:

     Sample Logging Services section of cloudservices.json file without the categoryDebugLevels attribute
    {
        "cloudClass": "com.bmc.cloud.model.beans.CloudService", 
        "accessValues": [
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum file size in Megabytes", 
                    "guid": "6d38a2b9-640a-40f6-9493-8d6faa277ad4", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxFileSizeInMegs"
                }, 
                "attributeValue": "10", 
                "description": "Maximum file size in Megabytes", 
                "guid": "1ad8b54b-4293-4a70-9253-d321ceb11561", 
                "name": "maxFileSizeInMegs"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum number of backup log files on roll-over", 
                    "guid": "c7f2deb0-e0db-425b-aefb-2ec1159311aa", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxBackupIndex"
                }, 
                "attributeValue": "5", 
                "description": "Maximum number of backup log files on roll-over", 
                "guid": "e715e256-47ff-422c-b849-91e8c78509d1", 
                "name": "maxBackupIndex"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Log file name", 
                    "guid": "20873305-fb26-4788-af7b-6557780e59f9", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "filename"
                }, 
                "attributeValue": "csm.log", 
                "description": "Log file name", 
                "guid": "43db37fa-5525-4094-a633-3dc07185ec2d", 
                "name": "filename"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Debug Level", 
                    "guid": "413b5d15-a240-4c49-9be3-5d104e3a754a", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "debugLevel"
                }, 
                "attributeValue": "info", 
                "description": "Debug Level", 
                "guid": "74c30e60-8519-4256-9990-55c8a2f07696", 
                "name": "debugLevel"
            }
        ], 
        "cloudServiceDefinition": "/cloudservicedefinition/07ef2577-d817-4996-b9a7-fab6b71f27df", 
        "cloudServiceDefinitionObject": {
            "cloudClass": "com.bmc.cloud.model.beans.CloudServiceDefinition", 
            "accessAttributes": [
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum file size in Megabytes", 
                    "guid": "6d38a2b9-640a-40f6-9493-8d6faa277ad4", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "10", 
                            "guid": "f0c4c88b-eccd-45fb-9581-88ef584b63f4", 
                            "name": "maxFileSizeInMegs"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxFileSizeInMegs"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum number of backup log files on roll-over", 
                    "guid": "c7f2deb0-e0db-425b-aefb-2ec1159311aa", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "5", 
                            "guid": "48affb9f-2320-43f7-8d28-9a3ebba9f4a3", 
                            "name": "maxBackupIndex"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxBackupIndex"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Log file name", 
                    "guid": "20873305-fb26-4788-af7b-6557780e59f9", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "csm.log", 
                            "guid": "ea3ce21a-02c4-4498-b32e-b7ef499dcde1", 
                            "name": "filename"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "filename"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Debug Level", 
                    "guid": "413b5d15-a240-4c49-9be3-5d104e3a754a", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "info", 
                            "guid": "10e1975e-4d89-4ebb-8565-7d490832d42f", 
                            "name": "debugLevel"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "debugLevel"
                }
            ], 
            "description": "Logging Service", 
            "guid": "07ef2577-d817-4996-b9a7-fab6b71f27df", 
            "name": "logging", 
            "tags": [ ]
        }, 
        "description": "Logging Service", 
        "guid": "f3792ac7-3f17-41b2-949d-d5275d03a4f3", 
        "isDisabled": false, 
        "name": "logging"
    }
    
     Sample Logging Services section of cloudservices.json file with the categoryDebugLevels attribute

    The categoryDebugLevels attribute begins near line 76 in the following JSON (the actual line number varies depending on how the code wraps):

    {
        "cloudClass": "com.bmc.cloud.model.beans.CloudService", 
        "accessValues": [
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum file size in Megabytes", 
                    "guid": "6d38a2b9-640a-40f6-9493-8d6faa277ad4", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxFileSizeInMegs"
                }, 
                "attributeValue": "10", 
                "description": "Maximum file size in Megabytes", 
                "guid": "1ad8b54b-4293-4a70-9253-d321ceb11561", 
                "name": "maxFileSizeInMegs"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum number of backup log files on roll-over", 
                    "guid": "c7f2deb0-e0db-425b-aefb-2ec1159311aa", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxBackupIndex"
                }, 
                "attributeValue": "5", 
                "description": "Maximum number of backup log files on roll-over", 
                "guid": "e715e256-47ff-422c-b849-91e8c78509d1", 
                "name": "maxBackupIndex"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Log file name", 
                    "guid": "20873305-fb26-4788-af7b-6557780e59f9", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "filename"
                }, 
                "attributeValue": "csm.log", 
                "description": "Log file name", 
                "guid": "43db37fa-5525-4094-a633-3dc07185ec2d", 
                "name": "filename"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Debug Level", 
                    "guid": "413b5d15-a240-4c49-9be3-5d104e3a754a", 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "debugLevel"
                }, 
                "attributeValue": "info", 
                "description": "Debug Level", 
                "guid": "74c30e60-8519-4256-9990-55c8a2f07696", 
                "name": "debugLevel"
            }, 
            {
                "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                "accessAttribute": {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Debug Level per Category", 
                    "guid": "BB14C628-E602-4BAA-9BAE-AD616280B516", 
                    "isOptional": true, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": true, 
                    "name": "categoryDebugLevels"
                }, 
                "attributeValue": "EFM=debug,TASK=debug", 
                "description": "Debug Level per Category", 
                "guid": "48591A8B-E887-4F1E-B8DA-AE231D2B7727", 
                "name": "categoryDebugLevels"
            }
        ], 
        "cloudServiceDefinition": "/cloudservicedefinition/07ef2577-d817-4996-b9a7-fab6b71f27df", 
        "cloudServiceDefinitionObject": {
            "cloudClass": "com.bmc.cloud.model.beans.CloudServiceDefinition", 
            "accessAttributes": [
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum file size in Megabytes", 
                    "guid": "6d38a2b9-640a-40f6-9493-8d6faa277ad4", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "10", 
                            "guid": "f0c4c88b-eccd-45fb-9581-88ef584b63f4", 
                            "name": "maxFileSizeInMegs"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxFileSizeInMegs"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "Integer", 
                    "description": "Maximum number of backup log files on roll-over", 
                    "guid": "c7f2deb0-e0db-425b-aefb-2ec1159311aa", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "5", 
                            "guid": "48affb9f-2320-43f7-8d28-9a3ebba9f4a3", 
                            "name": "maxBackupIndex"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "maxBackupIndex"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Log file name", 
                    "guid": "20873305-fb26-4788-af7b-6557780e59f9", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "csm.log", 
                            "guid": "ea3ce21a-02c4-4498-b32e-b7ef499dcde1", 
                            "name": "filename"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "filename"
                }, 
                {
                    "cloudClass": "com.bmc.cloud.model.beans.AccessAttribute", 
                    "datatype": "String", 
                    "description": "Debug Level", 
                    "guid": "413b5d15-a240-4c49-9be3-5d104e3a754a", 
                    "hasValueObject": [
                        {
                            "cloudClass": "com.bmc.cloud.model.beans.AccessAttributeValue", 
                            "attributeValue": "info", 
                            "guid": "10e1975e-4d89-4ebb-8565-7d490832d42f", 
                            "name": "debugLevel"
                        }
                    ], 
                    "isOptional": false, 
                    "isPassword": false, 
                    "length": 255, 
                    "modifiableWithoutRestart": false, 
                    "name": "debugLevel"
                }
            ], 
            "description": "Logging Service", 
            "guid": "07ef2577-d817-4996-b9a7-fab6b71f27df", 
            "name": "logging", 
            "tags": [ ]
        }, 
        "description": "Logging Service", 
        "guid": "f3792ac7-3f17-41b2-949d-d5275d03a4f3", 
        "isDisabled": false, 
        "name": "logging"
    }
    
  5. Within the categoryDebugLevels access attribute value object, modify attributeValue to specify the categories that you want to log.

    The value for attributeValue is a string of comma-separated key-value pairs in the format CATEGORY=level. In each key-value pair, CATEGORY represents the name for a part of the software and level represents the log level to apply to the category. See Log levels and Categories for the values that you can use. See Examples for some sample attributeValue settings.

    You can specify different categories at different log levels. For example, to select info-level logging for the EFM category, debug-level logging for the TASK category, and error-level logging for the WLM category, enter the following value for attributeValue:

    "attributeValue" : "EFM=info,TASK=debug,WLM=error",

  6. Save the cloudservices.json file.

    The new setting is effective in 5 seconds. You do not need to restart Platform Manager.

Back to top

Log levels

The following table describes the log levels that you can specify:

Log level

Description

debug

Logs detailed information that provides insight into the sequence of events

error

Logs severe errors, runtime errors, and unexpected conditions

info

Logs interesting runtime events, such as starting or stopping services and creating or deleting important objects

warn

Logs undesirable runtime conditions, such as poor use of APIs and use of deprecated APIs

Back to top

Categories

The following table describes the categories for which you can enable logging. If a particular functionality that you want to log does not appear in the list, use the default category, GENERAL.

Category

Cloud Lifecycle Management functionality

GENERAL (default)

ARMapManager, Policy, Cache, HostnameProvider, Util

ACTION_PROVIDERService monitoring policies and rules

API

CloudManagerService, BMC BladeLogic Server Automation, BMC and BladeLogic Network Automation

API_VALIDATOR

Provider Registry for API

APPUTILInterface to the Scratchpad service in Platform Manager

ARMAPMANAGER

ARMap Manager

AUDIT_TRAILDetailed information about actions executed as part of service monitoring
AUTOPILOT_PROVIDERAutoscaling actions based on service monitoring thresholds
AWS_CONNECTProvisioning and data collection for Amazon Web Services
AWS_NOTIFICATIONSNotifications for Amazon Web Services monitoring
AWS_PROVIDERProvisioning of Amazon Web Services instances
AZUREAzure Service Manager Provider (Azure Classic)
AZURE_RM_PROVIDERAzure Resource Manager provider

BDA_CLIENT_API

Data Automation client API
BLUEPRINTService blueprints
BSA_CACHEBMC BladeLogic Server Automation cache

CACHE

Cache

CALLOUT

Callhandler, callouts

CLOUD_ACTION_PROVIDERProvides Platform Manager API/Operations as actions for auto-scaling

CLOUD_MANAGER

Accepting API requests, and forwarding them for further processing

CUSTOM_ACTION_PROVIDERCustom policies for service monitoring

DB

CloudDB

EAR_PROVIDER

Manages objects (such as service requests, service offerings, and so on) on the Enterprise AR.

EFM

Orchestration of operations (such as creating servers and adding network paths) for a server group

GENERIC_PROVIDER

Invocations related to callouts (HTTP and BMC Atrium Orchestrator)

ITSM_SERVICE

Provides services for interacting with BMC Remedy IT Service Management

LOGIN_SERVICE

Login

MESSAGE_SERVICEBMC Cloud Lifecycle Management internal communication between data analysis provider and the rules provider

MIGRATION

Migration framework and migration tasks

NOTIFICATION_PROVIDERNotifications for general service monitoring

OBJECT_MODEL

Object model
OPENSTACKOpenStack Provider
OPINVOCATION_PROVIDERService monitoring policies and rules
OPS_AWS_PROVIDERData collection for monitoring of Amazon Web Services
OPS_COMPOSITE_EXPRESSIONEVALUATORAggregated data collection for resource sets
OPS_COMPOSITE_PROVIDERAggregated data collection for resource sets
OPS_DATA_ANALYSIS_PROVIDERService monitoring thresholds
OPS_MANAGERData collection for service monitoring thresholds, rules processing, and catalog management
OPS_QUOTA_PROVIDERMonitoring of quotas
OPS_SENSOR_MANAGERData collection for service monitoring and quota monitoring
OPS_VMWARE_PROVIDERData collection for monitoring of VMware services
PAAS_BDA_APIPlatform as a Service Data Automation API
POLICY_ENGINE_DAOMapping Server Governor Policy Domain objects to Policy Cloud Objects, and vice versa
POLICY_EVALUATORManages Service Governor Policy evaluation in the Platform Manager

PROVIDER

Base Provider and provider initialization part in all providers

PROVIDER_REGISTRY

Provider Registry

REGISTRY

Local and global registries

RESOURCE_MANAGER

Onboarding, creating, and decommissioning infrastructure resources like clusters, virtual machines, and servers

RULESMANAGER_PROVIDERCreation and management of service monitoring policies

SCHEDULER

Scheduling of tasks within Platform Manager

SESSION_MANAGER

Session manager

SVCOPSService monitoring (more detail needed)

TASK

TaskManager

TASK_SP

Task status aggregation and propagation within the Task Manager subsystem

TERREMARKTerremark Provider
UIOMHANDLERInteractions between the BMC My Cloud Services console and the Platform Manager

UTIL

Utility methods across Platform Manager

UTILS

Utility methods useful across the platform manager

VCLOUD

Integration with VMware vCloud Director

VMWARE_CONNECTProvisioning and data collection for VMware services

WLM

Orchestration of operations that manage the lifecycle of a service

Back to top

Examples

The following table contains examples of strings that you can use for attributeValue in the categoryDebugLevels access attribute value object:

Purpose

Setting for attributeValue

To see task results, callbacks, and general debugging information

"TASK=debug"

To debug the provisioning flow

"TASK=debug,WLM=debug,EFM=debug,RESOURCE_MANAGER=debug"

To debug CloudDB related issues

"DB=debug"

To debug provider registration and request routing (provider registry) issues

"PROVIDER_REGISTRY=debug"

To debug BMC Server Automation, BMC Network Automation, and other proxy provider issues

"API=debug"

Back to top

To disable category debug logs

  1. Log on to the server that hosts Platform Manager.
  2. Open cloudservices.json in a text editor.

    The file is located in the following directory:
    • Windows: C:\Program Files\BMC Software\BMCCloudLifeCycleManagement\Platform_Manager\configuration
    • Linux: /opt/bmc/BMCCloudLifeCycleManagement/Platform_Manager/configuration
  3. Find the categoryDebugLevels access attribute value object.
  4. Remove the debug level options from the attributeValueobject by setting the value as follows:

    "attributeValue": "",

  5. Save the cloudservices.json file.

Back to top

Was this page helpful? Yes No Submitting... Thank you

Comments