We recently integrated our ERP system to export daily data to Cloud Object Storage. The exports are working fine, but I can’t see any usage metrics in our IBM Cloud Monitoring dashboard. We need these metrics for capacity planning and cost tracking.
I can see bucket names and basic information in the COS console, but the monitoring service shows no data for storage usage, object count, or data transfer metrics. The monitoring service configuration looks correct - it’s connected to our COS instance and showing as active.
Other cloud resources like Virtual Servers show metrics fine in the same monitoring dashboard. It’s only the COS metrics integration that’s not working. I expected to see storage usage trends as our ERP data export adds files daily, but there’s nothing showing up.
Is there a specific setup required for ERP data export tracking in Cloud Monitoring? Do I need to enable metrics collection on the COS bucket itself?
Let me walk you through the complete setup for COS metrics integration with proper monitoring service configuration and ERP data export tracking.
The missing metrics issue has three components that all need to be configured correctly:
- Service-to-Service Authorization Policy:
Navigate to Manage > Access (IAM) > Authorizations in IBM Cloud console:
- Source service: Cloud Object Storage
- Source service instance: Select your specific COS instance (not “All instances”)
- Target service: IBM Cloud Monitoring
- Target service instance: Select your monitoring instance
- Role: Monitoring Metrics Publisher
This authorization is required for COS to push metrics to your monitoring instance.
- Enable Metrics on COS Instance:
In the COS console:
- Select your COS instance
- Go to Service credentials or Configuration
- Find “Metrics Monitoring” section
- Toggle “Enable metrics” to ON
- Select your monitoring instance from the dropdown
- Choose metrics frequency (5 minutes or 1 hour)
For ERP data export tracking, I recommend 5-minute frequency to catch daily export patterns.
- Monitoring Service Configuration:
In your IBM Cloud Monitoring dashboard:
- Navigate to Settings > Sources
- Verify that Cloud Object Storage appears in the list of connected sources
- Check that your COS instance ID is listed
For the metrics to appear, you need to configure the correct dashboard queries. COS provides these key metrics:
- ibm_cloud_object_storage_bucket_used_bytes: Total storage used per bucket
- ibm_cloud_object_storage_bucket_object_count: Number of objects per bucket
- ibm_cloud_object_storage_bucket_incoming_bytes: Data uploaded (important for ERP exports)
- ibm_cloud_object_storage_bucket_outgoing_bytes: Data downloaded
Create a dashboard for ERP data export tracking:
- Storage Growth Panel:
- Metric: ibm_cloud_object_storage_bucket_used_bytes
- Group by: bucket_name
- Aggregation: Average
- This shows your daily ERP export accumulation
- Daily Upload Volume Panel:
- Metric: ibm_cloud_object_storage_bucket_incoming_bytes
- Group by: bucket_name
- Aggregation: Sum
- Time range: Last 24 hours
- This tracks each day’s ERP export size
- Object Count Panel:
- Metric: ibm_cloud_object_storage_bucket_object_count
- Group by: bucket_name
- Aggregation: Average
- This shows file count growth from ERP exports
For capacity planning, create alerts:
- Storage Threshold Alert:
- Condition: ibm_cloud_object_storage_bucket_used_bytes > 80% of planned capacity
- Notification: Email to ops team
- This warns when ERP exports are filling storage
- Unexpected Upload Alert:
- Condition: ibm_cloud_object_storage_bucket_incoming_bytes > 2x daily average
- Notification: Slack channel
- This catches if ERP exports are larger than expected
Troubleshooting if metrics still don’t appear after 24 hours:
-
Verify the authorization policy is active:
- Check IAM > Authorizations
- Look for status “Active”
- Verify source and target instance IDs match
-
Check COS Activity Tracker:
- Look for “cloud-object-storage.metrics.create” events
- If missing, metrics aren’t being generated
- If present with failures, check authorization
-
Verify monitoring instance region:
- COS metrics are sent to monitoring in the same region
- If your COS is us-south but monitoring is us-east, metrics won’t appear
- Deploy monitoring in the same region as COS
-
Check for resource group mismatch:
- COS instance and monitoring instance should be in the same resource group
- Or ensure authorization policy spans resource groups
-
Test metrics API directly:
Use IBM Cloud CLI to verify metrics are being generated:
ibmcloud monitoring metric list --instance MONITORING_INSTANCE_ID
Look for ibm_cloud_object_storage namespace in the output.
For your ERP integration specifically, I recommend setting up a scheduled report that shows:
- Daily storage growth rate
- Average object size (to detect if ERP export format changed)
- Upload timing patterns (to verify ERP jobs run on schedule)
- Month-over-month growth projection for capacity planning
The most common issue causing missing metrics is the authorization policy being created for “All instances” instead of the specific COS instance. Double-check that the source service instance is explicitly selected, not left as “All instances”.
After fixing the authorization and enabling metrics with the correct instance selected, you should see data within 2-4 hours (not 24). The 24-hour guidance is conservative. If you still see nothing after 4 hours, the authorization policy is incorrect or the metrics toggle didn’t actually save.
Yes, exactly. COS needs explicit authorization to send metrics to the monitoring service. You need to create an IAM authorization policy that allows your COS instance to write metrics to your monitoring instance. Go to Manage > Access (IAM) > Authorizations and create a new policy with COS as the source service and Monitoring as the target service. Grant the Monitoring Metrics Publisher role.
COS metrics aren’t enabled by default. You need to explicitly enable metrics collection on your COS instance. Go to the COS instance settings and look for the Monitoring section. There should be an option to enable metrics collection and specify which monitoring instance to send them to.