[OPENDJ-5839] Servers should be identified using a single server ID Created: 17/Dec/18 Updated: 07/Nov/19 Resolved: 07/Feb/19 |
|
Status: | Done |
Project: | OpenDJ |
Component/s: | config, replication, tools |
Affects Version/s: | 6.5.0 |
Fix Version/s: | 7.0.0 |
Type: | Task | Priority: | Critical |
Reporter: | Matthew Swift | Assignee: | Fabio Pistolesi |
Resolution: | Fixed | Votes: | 0 |
Labels: | None |
Issue Links: |
|
||||||||||||||||||||||||||||
Sub-Tasks: |
|
||||||||||||||||||||||||||||
Epic Link: | Replication self-registration | ||||||||||||||||||||||||||||
Story Points: | 7 | ||||||||||||||||||||||||||||
Dev Assignee: | Fabio Pistolesi | ||||||||||||||||||||||||||||
QA Assignee: | carole forel |
Description |
In 6.5 separate server IDs are assigned to each replication domain. This task can be closed once:
|
Comments |
Comment by Fabio Pistolesi [ 21/Dec/18 ] |
I was wondering, would it be useful to generate a serverid even for proxies for identification purposes? Proxy would not use it, but it could be exposed in cn=monitor as well. |
Comment by Jean-Noël Rouvignac [ 21/Dec/18 ] |
Good idea Fabio. |
Comment by Matthew Swift [ 21/Dec/18 ] |
All servers should have a server ID. The attribute should be mandatory. Jean-Noël Rouvignac - can we use the server ID for naming Prometheus metrics? |
Comment by Fabio Pistolesi [ 09/Jan/19 ] |
Collateral effect of making the attribute mandatory is that adding a 7+ server in a <7.0 topology will not work anymore using dsreplication as the config from <7.0 will not match the definition anymore. |
Comment by Fabio Pistolesi [ 09/Jan/19 ] |
This is the first change requiring full topology upgrade before adding a new server. |
Comment by Jean-Noël Rouvignac [ 09/Jan/19 ] |
Matthew Swift I will try to answer your question. In Prometheus view, the server ID should only be a dimension, nothing more. Today, I think prometheus adds a {{job}} and {{instance}} dimension to all the metrics from a single scrape target. |
Comment by Ludovic Poitou [ 09/Jan/19 ] |
Based on the recent Prometheus presentation at the AlpesJUG, I think that {{job}} is intended to represent a class of service, and {{instance}} the name of one of the servers of that class. In other words, I think it's more likely that the {{instance}} be the same as the global server ID, whereas {{job}} would be "ForgeRock DS" or "Tomcat" or the likes. |
Comment by Jean-Noël Rouvignac [ 09/Jan/19 ] |
Argh I remember you told me that the other day. You are right about the {{job}} unfortunately, {{instance}} cannot be used to put the server id in because it is a <host>:<port>. See https://prometheus.io/docs/concepts/jobs_instances. |