Icinga is using plugins to determine the status of the monitored objects. As long as an executable file sticks to some very basic rules they can be used as plugins. So if you need something monitored where no plugin exists you could even write your own. For the checks you’ve listed there already widely used and proven plugins for all supported operating systems.
You can read the status data via REST API from wherever you want. Even some windows app if you really want to
Transferring logfiles is not what Icinga does. You can run local checks and search for logentries and trigger alarms (visible in the REST API) if they occur.
For collecting logs you should have a look at the Elastic Stack or Graylog which work both very well with Icinga.
Would you kindly mark the thread as solved by ticking off the checkbox in the correct posting? This way you give kudos to the people that helped you and you show all users that they don’t have to read through the whole thread just to find that you don’t need any more help.