ricbra / ansible-logentries

Ansible role for installing logentries agent and daemon
17 stars 12 forks source link

autoscaling #11

Open andreiashu opened 8 years ago

andreiashu commented 8 years ago

Hi,

As far as I can see it looks like this role doesn't support the autoscaling feature of logentries. The LE documentation (https://logentries.com/doc/linux-agent-autoscaling/) mentions that the config would need to set pull-server-side-config=False and set the destination parameter for each file/path.

I was wondering whether you had any suggestions for adding support for this? I tried to work on a PR but I think the le agent only supports the destination parameter via the config file and not the CLI. Thoughts?

ricbra commented 8 years ago

Hi @andreiashu

You are right about the fact that the cli doesn't support this.

For this to work a couple of things need to be done:

  1. add new variable (suggestion: autoscale, default value false) which defines the behaviour of this role: follow logs by using the cli (default, current behaviour of this role) or by defining all logs in the /etc/le/config file (when set to true)
  2. Add condition to the follow task https://github.com/ricbra/ansible-logentries/blob/master/tasks/main.yml#L60: when: not autoscale
  3. Add template and task for creating /etc/le/config with conditional when: autoscale

What do you think? I'm open for better naming. Is this something you want to work on?

andreiashu commented 8 years ago

yeah that makes sense and I can put the time into this.

One thing that could be confusing is having 2 ways of managing the configuration of the logentries agent. So my suggestion would be to go with the config approach and ditch the CLI one going forward. Unless there is something that the CLI approach provides which the config file approach doesn't.

Let me know your thoughts.

ricbra commented 8 years ago

Good point. Only reason to keep the CLI way is for backwards compatibility. After reading everything again I would opt for a different variable name, e.g. logentries_config_method which defaults to config_file. People (like me) who used an earlier version of this role can then upgrade to the new version of the role, without any unwanted changes.

In the future we can remove this method all together and bump version to 2.0.0 so it's clear we introduced a BC break.

Sounds like a plan?