Thanks for this writeup. It's enough to convince me that collectd might be a good replacement for Munin, for many of the reasons you state.
> They come in various languages, bash, Perl, Python, and so on, they does not share any similarities and sometimes they even have dependencies not mentioned during the install or in the readme.
I actually like this aspect of Munin, since it means you can write plugins in any language, or even write them into web applications themselves as I did with webmention.io (https://github.com/aaronpk/webmention.io/blob/87ed251a0775269941c4e42763fbabc2b5dbf162/controllers/munin.rb) Also, it seems to also be true for collectd too! It looks like the curl_json plugin expects to be able to find JSON data at a URL, which means you can write the plugin in any language. I also found a redis plugin which is just a bash script.
Service started well with the init file, but stop or restart didn't. In the end the cause was a different path to the pid file in the nginx.conf and the init script. Make sure they both point to the same location.