Having a quick look around, it seems you can enable reporting on Masterless Puppet as explained here: https://groups.google.com/forum/#!topic/puppet-users/Z8HncQqEHbc
As for reporting, I do not know much about Nagios, but for Logstash, I am currently looking into the same integration for our systems. There is a Puppetmodule made by the Logstash team: Search github for "puppet-logstash-reporter" by "Logstash" (Can't post more than 2 links yet). This uses the TCP input method for Logstash.
For Nagios, a plugin has been mentioned on a Twitter feed about the same question (https://twitter.com/mitchellh/status/281934743887564800). I haven't used it so cannot comment on it.
Finally, I do not believe Logstash understands YAML, I am sure you can filter it with a Grok filter, but it would be easier to use the JSON reading ability if reading from a file described in the "inputs" section of the logstash docs. (Would link but restricted at the moment).
Hope this helps. I am also new to a few of these technologies but learning quickly so thought I'd pass on what I've found :)