For Ansible we say its agentless. But in our requirement we need to have a agent on client which polls management server depending on some events to trigger some activities back.
Say client is going down, it will trigger event and notify Management server. Then server can send requests to save logs.
As we have agent in puppet/chef we can leverage that feature.
is there a way we implement such feature using Ansible?
For this purpose you could simply install Ansible on any end-point systems and write an init script which was run on system shutdown to execute your playbooks. For periodic updates at regular times, we also provide the ansible-pull utility (http://docs.ansible.com/playbooks_intro.html#ansible-pull), which is typically setup via a cron job.