Multi customers and/or datacenters: REALMS
Shinken Enterprise's architecture like we saw allows us to have a unique administration and data location. All pollers the hosts are cut and sent to schedulers, and the pollers take jobs from all schedulers. Every one is happy.
...
That is where the site/customers management is useful. In Shinken Enterprise, it's managed by the **realms**.
...
Here is the isolated one:
And a more common way of sharing reactionner/broker:
Like As you can see, all elements are in a unique realm. That's the sub-realm functionality used for reactionner/broker.
...
Variable Descriptions
| Property | Default | Description |
|---|---|---|
| realm_name | N/A | This variable is used to identify the *short name* of the realm. |
| realm_members | N/A | This directive is used to list realm sub-realms. |
| broker_complete_links | 0 | If 1, then the brokers will be allowed to talk to schedulers taht already have a broker defined (in its realm or upper). So enabling this option allow a scheduler to export its data to all the broker in its realm level or upper, whatever their number are. |
| default | 0 | This directive is used to define if the realm is the default one or not. Only one default realm is allowed. |
Example Definition
You first realm: World
| Code Block |
|---|
define realm{
realm_name World
realm_members Europe,America,Asia
default 0
} |
World and its Sub-Realm ( configuration )
Here is the configuration for the shared architecture:
...
| Code Block | ||||
|---|---|---|---|---|
| ||||
define realm {
realm_name All World
# Now you define SUB REALMS of World
realm_members Europe,US,Asia
# Element without explicit realm setting will defaultbe 1set ;Isin the World realm
default realm. Should be unique!
}
1
}
# We define our SUB REALMS
# EUROPE
define realm{
realm_name Europe
# This one have it's own SUB REALM
realm_members Paris
}
# Paris ;This realm is IN Europe: sub realm for Europe
define realm{
realm_name Paris
}
# USA
define realm{
realm_name USA
}
# Asia
define realm{
realm_name Asia
}
#An now the satellites:
# For example the daemons for the Paris realm
define scheduler{
scheduler_name scheduler_Paris
realm Paris ;It
}
# Example of a TOP level realm (WORLD) daemon that can reach daemons of the SUB realms
# so will onlyreach manageEurope, Paris hosts
}
, USA and Asia
define reactionner{
reactionner_name reactionner-master
realm All ;Will reach ALL schedulers World
}
|
| Info |
|---|
| You must put the files in /etc/shinken/realms |
And the host link into a realm will be on the host configuration page:
Multi levels brokers
In the previous samples, if you put numerous brokers into the realm, each scheduler will have only one broker at the same time. It was also impossible to have a common Broker in All, and one brokers in each sub-realms.
...
This will enable the fact that each schedulerwill scheduler will be linked with to each brokers. This will make possible to have dedicated brokers in a same realm (one for the web interface, another for Graphite for example). It will also make possible to have a common Broker in "All", and one broker in each of its sub-realms (Europe, US and Asia). Of course the sub-brokers will only see the data from their realms, and the sub-realms (like Paris for Europe for example).
...


