Hi Rui, You can find a role for installing Prometheus here: https://github.com/kozmagabor/ansible-prometheus
Which also has a complementary role to setup the mongodb exporter: https://github.com/William-Yeh/ansible-mongodb-exporter I found both of the above via Ansible Galaxy: https://galaxy.ansible.com/kozmagabor/prometheus/ Ansible Galaxy has several roles available for installing Prometheus. You could hence avoid creating your own roles and use the above or jump start your own roles based on the above. To answer your question, it looks cleaner if you split into multiple roles instead of polluting the Prometheus role with something which is not a hard dependency. Regards, Jinesh On Tuesday, 31 January 2017 13:50:27 UTC, Rui Goncalves wrote: > > Hi all, > > I have no experience writing ansible roles. At the moment I'm trying to > write a few ansible roles, but I'm not sure how to separate > responsibilities. > > I have two roles. > - prometheus - installs and configures prometheus. > - mongodb - Installs and configures mongodb database. > > Prometheus needs to be configured in order to scrap metrics about mongoDB. > Basically, it's necessary to put a file on a directory where the prometheus > server is installed, containing information about mongodb location, etc... > the question is: Should I configure this on the prometheus role? It seems > to me that I'm polluting the prometheus role with things that belong > elsewhere. This way, I'm also coupling the prometheus role with a specific > use case. It's recommended to create a separate role to configure mongodb > location on prometheus? > > What's the best practice? > > Thanks, > Rui > > > > > > -- You received this message because you are subscribed to the Google Groups "Ansible Project" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/ansible-project/03b3d904-11ec-43f7-97a4-9fe3a777b838%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
