Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

running two icingabeats #18

Closed
Klar opened this issue Nov 23, 2017 · 3 comments
Closed

running two icingabeats #18

Klar opened this issue Nov 23, 2017 · 3 comments

Comments

@Klar
Copy link

Klar commented Nov 23, 2017

Expected Behavior

Two icingabeats sending data to two logstash listeners, only one input gets inserted to elasticsearch.

Current Behavior

Without configuration the data will be written twice, with the elasticsearch fingerprint configuration (https://www.elastic.co/guide/en/logstash/current/plugins-filters-fingerprint.html) it should only write it once (fingerprint already exists if icingabeat #1 was faster)

The problem with the fingerprint is that icingabeat has a lot of different field so I can't just set a fingerprint for "message".

Possible Solution

Write if else for every icingabeat field if not empty and then set a fingerprint.
Not sure if this is the best way, there might be an easier solution from icinga direct?

Steps to Reproduce (for bugs)

  1. two icingas with two running icingabeat services
  2. both send data to logstash
  3. logstash will write the data but it will be written twice (no check of if already written from icingabeat Eventstream comments and downtimes not send #1 || Explain what a beat is clearly in the repo #2)

Context

At the moment e run two icingabeats on two icingas but one is not running. If icingabeat on #1 is not working we will start #2 , a clean icingabeat cluster would be nice.

@dnsmichi
Copy link
Contributor

Hm, those services know nothing from each other.

Some ideas from the #osmc hackathon (@bobapple & @urso)

  • https://github.com/Icinga/icingabeat/blob/master/icingabeat.full.yml allows for the instance name and custom field addition. Maybe this could be used to dump the data and filter later on.
  • Elasticsearch feature as an alternative does not support all the events Icingabeat does, neither is has Ha support
  • Calculating a fingerprint for a message is hard - the timestamps might differ between the two cluster nodes. The output, state, etc. are not unique, they may occur like 5 seconds later.

I'd say for an immediate trial, go for custom fields or the name and experiment with that on de-duplication in Logstash.

@bobapple
Copy link
Member

I don't think that there's something we can do in icingabeat to solve this. For workarounds, see @dnsmichi reply.

@manishkmbl0
Copy link

Hi ,

How to configure logstash script to take data from icingabeat. I have configure icingabeat.ym file to send data to logstash.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants