A command like echo "cpu 2" | curl -X POST --data-binary @- http://192.168.14.1:9091/metrics/job/cpu/instance/192.168.1.1 would simply send a body of cpu 2 to the specified URL. From testing this against webhook.site it seems curl infers a content-type of application/x-www-form-urlencoded as well here.
The HTTP Request node below should do the same:
You can verify the results using a service such as webhook.site.
ERROR: UNKNOWN ERROR - check the detailed error for more information
NodeApiError: UNKNOWN ERROR - check the detailed error for more information
at Object.execute (/usr/local/lib/node_modules/n8n/node_modules/n8n-nodes-base/dist/nodes/HttpRequest/V3/HttpRequestV3.node.js:1158:27)
at processTicksAndRejections (node:internal/process/task_queues:96:5)
at async Workflow.runNode (/usr/local/lib/node_modules/n8n/node_modules/n8n-workflow/dist/src/Workflow.js:658:28)
at async /usr/local/lib/node_modules/n8n/node_modules/n8n-core/dist/src/WorkflowExecute.js:562:53
Unfortunately, I am not familiar with the service you are sending your request to.
But if you can get it to work with curl, my suggestion would be to simply use a service like webhook.site as your request destination and tweak your settings until both the HTTP Request node and the curl node send the exact same requests.