For a monitoring software written in Java I consider using Google Guice as DI provider. The project needs to load its configuration from an external resource (file or database).
Check the governator library:
https://github.com/Netflix/governator/wiki/Configuration-Mapping
You will get a @Configuration annotation and several configuration providers. In code it helps to see where is You configuration parameters used:
@Configuration("configs.qty.things")
private int numberOfThings = 10;
Also, You will get a nice configuration report on startup:
https://github.com/Netflix/governator/wiki/Configuration-Mapping#configuration-documentation