Hi Noel, and welcome to the forums! I'd be glad to try and help you out with your inquiries.
Unfortunately you can't get the CPU and Memory usage from our APIs, but you should be able to set up your own code to read that from your server, which would also be more reliable (reading from your server directly, instead of reading from our stats boxes that read from your server, takes one step and potential point of failure out of the procedure).
You can get the Private IP of a Linode through the API when you add one, which is found here:
https://www.linode.com/api/linode/linode.ip.addprivateThere is also no way to grab your current connections from the NodeBalancer API. I would suggest setting up a script that checks to see if all aspects are still up and running every x minutes/seconds, and you can use the API to programmatically list out your NodeBalancers and connected Nodes to check each one.