Skip to content
DataMiner DoJo

More results...

Generic selectors
Exact matches only
Search in title
Search in content
Post Type Selectors
Search in posts
Search in pages
Search in posts
Search in pages
Log in
Menu
  • Blog
  • Questions
  • Learning
    • E-learning Courses
    • Open Classroom Training
    • Certification
      • DataMiner Fundamentals
      • DataMiner Configurator
      • DataMiner Automation
      • Scripts & Connectors Developer: HTTP Basics
      • Scripts & Connectors Developer: SNMP Basics
      • Visual Overview – Level 1
      • Verify a certificate
    • Tutorials
    • Video Library
    • Books We Like
    • >> Go to DataMiner Docs
  • Expert Center
    • Solutions & Use Cases
      • Solutions
      • Use Case Library
    • Markets & Industries
      • Media production
      • Government & defense
      • Content distribution
      • Service providers
      • Partners
      • OSS/BSS
    • DataMiner Insights
      • Security
      • Integration Studio
      • System Architecture
      • DataMiner Releases & Updates
      • DataMiner Apps
    • Agile
      • Agile Webspace
      • Everything Agile
        • The Agile Manifesto
        • Best Practices
        • Retro Recipes
      • Methodologies
        • The Scrum Framework
        • Kanban
        • Extreme Programming
      • Roles
        • The Product Owner
        • The Agile Coach
        • The Quality & UX Coach (QX)
    • DataMiner DevOps Professional Program
  • Downloads
  • More
    • Feature Suggestions
    • Climb the leaderboard!
    • Swag Shop
    • Contact
      • General Inquiries
      • DataMiner DevOps Support
      • Commercial Requests
    • Global Feedback Survey
  • PARTNERS
    • All Partners
    • Technology Partners
    • Strategic Partner Program
    • Deal Registration
  • >> Go to dataminer.services

Finding out which ElasticSearch node is a DMA is communicating with

Solved1.01K views20th July 2021Elastic Elasticsearch
4
Bing Herng Chong [SLC] [DevOps Advocate]1.06K 14th July 2021 0 Comments

Hi,

I'm helping a user with High-availability testing a DMA cluster against an Elastic cluster.

The entry in db.xml on each DMA is as follows:

<DBServer>DMA-elastic1.fqdn.server,DMA-elastic2.fqdn.server,DMA-elastic3.fqdn.server,DMA-elastic4.fqdn.server</DBServer>

So each DMA has knowledge of each elastic node. I can see this in the SLSearch.txt logs and in the SLDBConnection.txt logs as well:

2021/07/14 15:21:07.653|SLDBConnection|SLSearch|INF|0|1|Connecting with: http://DMA-elastic1.fqdn.server:9200/ - http://DMA-elastic2.fqdn.server:9200/ - http://DMA-elastic3.fqdn.server:9200/ - http://DMA-elastic4.fqdn.server:9200/

We are assuming that all DMA will be communicating with DMA-elastic1.fqdn.server as it is the first item in the list. Is this the behavior or does each DMA randomly choose an Elastic node to send requests to?

When we bring down DMA-elastic1.fqdn.server, it is NOT observed in the log files (SLSearch.txt or SLDBConnection.txt) that the DMAs has detected that DMA-elastic1.fqdn.server is down and is trying to reach an alternative node in the Elastic cluster. We would like to validate that each DMA is in fact talking to each node in the elastic cluster when we randomly bring the elastic nodes offline. Where would be the best place to observe this on the DMA?

Bing Herng Chong [SLC] [DevOps Advocate] Selected answer as best 20th July 2021

1 Answer

  • Active
  • Voted
  • Newest
  • Oldest
3
Thomas Deweer [SLC]286 Posted 14th July 2021 3 Comments

Hello,

This is a very intresting topic you bring forward.

First, the ip's or host names you mention in DB.xml are used to build the connection. If one host of those is down, the Elastic driver should pick up on this and just try the next one in the line. As soon as it finds one that is up, it's "connected".

However, once the connection is build, the Elastic driver is sniffing Elastic for all hosts. Once it fetched all hosts in the cluster, it basically does a round robin over all online hosts to send its queries. (more info at: Elastic Sniffing Pool Documentation)

So, the takeaway from this is: it doesn't matter how many ip's you fill in the db.xml, as long as one of them is online. The requests are being sent to random ip's (even ones that are not mentioned in db.xml).

I hope this answers your question,

Kind regards,

Bing Herng Chong [SLC] [DevOps Advocate] Selected answer as best 20th July 2021
Bing Herng Chong [SLC] [DevOps Advocate] commented 14th July 2021

Hi Thomas, thanks for the insights in to how DMA in a cluster would interact with Elastic nodes in a cluster. I am able to follow your explanation up until the very end when you mentioned – “The requests are being sent to random ip’s (even ones that are not mentioned in db.xml).”. Can you please elaborate a little further on this point? I do not quite grasp why would DMA send requests to IPs that are not specified in db.xml tag?

Thomas Deweer [SLC] commented 14th July 2021

We use a driver, called the NEST driver. This driver allows us to choose on “how” we send requests to Elastic. We use the sniffing pool. This basically means that the driver will “sniff” out what hosts are in the elastic cluster and send requests to anyone of the online hosts in the Elastic cluster.
So, perhaps let’s clarify with an example, current situation:
Elastic Cluster containing node A, B and C.
DB.xml referencing A,B.
As soon as the connection was made to A or B, the driver will sniff that node C is online in the cluster and add it to a list of hosts. This lists is then being used to send requests to at random. So, your DataMiner will end up sending requests to node A,B and C. (you should view it as automatic load balancing)

Bing Herng Chong [SLC] [DevOps Advocate] commented 14th July 2021

Hi Thomas, this is really helpful with understanding how DMA interfaces with an Elastic cluster. One last follow-up question: In a DMA cluster, each DMA has its own db.xml file specifying Elastic nodes within the tag. Does each DMA form its own view of the Elastic cluster based upon the db.xml file or do all DMAs in the same cluster attempt to synchronize a common view of the Elastic cluster?

You are viewing 1 out of 1 answers, click here to view all answers.
Please login to be able to comment or post an answer.

My DevOps rank

DevOps Members get more insights on their profile page.

My user earnings

0 Dojo credits

Spend your credits in our swag shop.

0 Reputation points

Boost your reputation, climb the leaderboard.

Promo banner DataMiner DevOps Professiona Program
DataMiner Integration Studio (DIS)
Empower Katas

Recent questions

Web Applications exception in Cube due to invalid certificate 0 Answers | 0 Votes
Redundancy Groups and Alarming – Duplicate Alarms 0 Answers | 0 Votes
Correlation Engine: “Test rule” doesn’t result in a hit, despite functional rule 1 Answer | 3 Votes

Question Tags

adl2099 (115) alarm (62) Alarm Console (82) alarms (100) alarm template (83) Automation (223) automation scipt (111) Automation script (167) backup (71) Cassandra (180) Connector (109) Correlation (69) Correlation rule (52) Cube (151) Dashboard (194) Dashboards (188) database (83) DataMiner Cube (57) DIS (81) DMS (71) DOM (140) driver (65) DVE (56) Elastic (83) Elasticsearch (115) elements (80) Failover (104) GQI (159) HTTP (76) IDP (74) LCA (152) low code app (166) low code apps (93) lowcodeapps (75) MySQL (53) protocol (203) QAction (83) security (88) SNMP (86) SRM (337) table (54) trending (87) upgrade (62) Visio (539) Visual Overview (345)
Privacy Policy • Terms & Conditions • Contact

© 2025 Skyline Communications. All rights reserved.

DOJO Q&A widget

Can't find what you need?

? Explore the Q&A DataMiner Docs

[ Placeholder content for popup link ] WordPress Download Manager - Best Download Management Plugin