I would suggest to use HEC /collector REST API http://docs.splunk.com/Documentation/SplunkCloud/7.0.3/Data/Sendmetricstoametricsindex to get server verbose response body and learn more about failure reason. For example :
curl -k https://localhost:8088/services/collector \
-H "Authorization: Splunk b0221cd8-c4b4-465a-9a3c-273e3a75aa29" \
-d '{"time": 1486683865.000,"event":"metric","source":"disk","host":"host_99","fields":{"region":"us-west-1","datacenter":"us-west-1a","rack":"63","os":"Ubuntu16.10","arch":"x64","team":"LON","service":"6","service_version":"0","service_environment":"test","path":"/dev/sda1","fstype":"ext3","_value":1099511627776,"metric_name":"total"}}'
HEC authorization token can be found in Settings->Data Inputs->HTTP Event Collector->db-connect-http-input (or create your own token. Also uncheck 'Enable indexer acknowledgement' if the api returns code=10 in the response)
HTTP can be found in Settings->Data Inputs->Global Settings
... View more