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.
To enable category debug logs
- Log on to the server that hosts Platform Manager.
- 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
- 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. 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.jsonfile that will help you position the JSON correctly, click the following disclosure triangles:
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 levelsand Categoriesfor the values that you can use. See Examplesfor 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",- Save the cloudservices.json file.
The new setting is effective in 5 seconds. You do not need to restart Platform Manager.
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 |
warning | Logs undesirable runtime conditions, such as poor use of APIs and use of deprecated APIs |
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 |
DB | CloudDB |
REGISTRY | Local and global registries |
API | CloudManagerService, BMC BladeLogic Server Automation, BMC and BladeLogic Network Automation |
TASK | TaskManager |
CLOUD_MANAGER | Accepting API requests, and forwarding them for further processing |
RESOURCE_MANAGER | Onboarding, creating, and decommissioning infrastructure resources like clusters, virtual machines, and servers |
EFM | Orchestration of operations (such as creating servers and adding network paths) for a server group |
WLM | Orchestration of operations that manage the lifecycle of a service |
PROVIDER_REGISTRY | Provider Registry |
PROVIDER | Base Provider and provider initialization part in all providers |
OBJECT_MODEL | Object model |
LOGIN_SERVICE | Login |
SESSION_MANAGER | Session manager |
CACHE | Cache |
GENERIC_PROVIDER | Invocations related to callouts (HTTP and BMC Atrium Orchestrator) |
CALLOUT | Callhandler, callouts |
ARMAPMANAGER | ARMap Manager |
VCLOUD | Integration with VMware vCloud Director |
API_VALIDATOR | Provider Registry for API |
MIGRATION | Migration framework and migration tasks |
UTIL | Utility methods across Platform Manager |
SCHEDULER | Scheduling of tasks within Platform Manager |
APPUTIL | Interface to the Scratchpad service in Platform Manager |
AWS_NOTIFICATIONS | Notifications for Amazon Web Services monitoring |
AWS_CONNECT | Provisioning and data collection for Amazon Web Services |
BLUEPRINT | Service blueprints |
SVCOPS | Service monitoring (more detail needed) |
OPS_MANAGER | Data collection for service monitoring thresholds, rules processing, and catalog management |
OPS_SENSOR_MANAGER | Data collection for service monitoring and quota monitoring |
OPS_VMWARE_PROVIDER | Data collection for monitoring of VMware services |
OPS_AWS_PROVIDER | Data collection for monitoring of Amazon Web Services |
PAAS_BDA_API | Platform as a Service Data Automation API |
VMWARE_CONNECT | Provisioning and data collection for VMware services |
ACTION_PROVIDER | Service monitoring policies and rules |
CLOUD_ACTION_PROVIDER | Provides Platform Manager API/Operations as actions for auto-scaling |
AWS_PROVIDER | Provisioning of Amazon Web Services instances |
NOTIFICATION_PROVIDER | Notifications for general service monitoring |
CUSTOM_ACTION_PROVIDER | Custom policies for service monitoring |
OPINVOCATION_PROVIDER | Service monitoring policies and rules |
OPS_COMPOSITE_PROVIDER | Aggregated data collection for resource sets |
OPS_DATA_ANALYSIS_PROVIDER | Service monitoring thresholds |
MESSAGE_SERVICE | BMC Cloud Lifecycle Management internal communication between data analysis provider and the rules provider |
POLICY_ENGINE_DAO | Mapping Server Governor Policy Domain objects to Policy Cloud Objects, and vice versa |
AUTOPILOT_PROVIDER | Autoscaling actions based on service monitoring thresholds |
RULESMANAGER_PROVIDER | Creation and management of service monitoring policies |
OPS_QUOTA_PROVIDER | Monitoring of quotas |
POLICY_EVALUATOR | Manages Service Governor Policy evaluation in the Platform Manager |
AUDIT_TRAIL | Detailed information about actions executed as part of service monitoring |
OPS_COMPOSITE_EXPRESSIONEVALUATOR | Aggregated data collection for resource sets |
BDA_CLIENT_API | Data Automation client API |
ITSM_SERVICE | Provides services for interacting with BMC Remedy IT Service Management |
EAR_PROVIDER | Manages objects (such as service requests, service offerings, and so on) on the Enterprise AR. |
BSA_CACHE | BMC BladeLogic Server Automation cache |
TASK_SP | Task status aggregation and propagation within the Task Manager subsystem |
OPENSTACK | OpenStack Provider |
TERREMARK | Terremark Provider |
AZURE | Azure Provider |
UTILS | Utility methods useful across the platform manager |
Examples
The following table contains examples of strings that you can use for attributeValue in the categoryDebugLevels access attribute value object:
To disable category debug logs
- Log on to the server that hosts Platform Manager.
- 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
- Find the categoryDebugLevels access attribute value object.
Remove the debug level options from the attributeValueobject by setting the value as follows:
"attributeValue": "",- Save the cloudservices.json file.