Checkmk
to checkmk.com
Important

This is a machine translation based on the English version of the article. It might or might not have already been subject to text preparation. If you find errors, please file a GitHub issue that states the paragraph that has to be improved.

1. Introduzione

Poiché la definizione manuale degli utenti è scalabile solo fino a un certo livello, Checkmk offre una funzionalità che consente di utilizzare servizi basati su LDAP per la gestione degli utenti, per sincronizzare automaticamente gli utenti dalle directory home e, allo stesso modo, per assegnare automaticamente a questi utenti gruppi di contatto, ruoli e altri attributi in Checkmk. Checkmk non è limitato a una singola fonte LDAP e, se necessario, può anche distribuire gli utenti ad altri siti collegati.

2. Configurazione di una connessione LDAP

2.1. Connessione al server

Per creare una connessione a un server compatibile con LDAP è necessario un utente con permessi di lettura per il server. Come minimo, deve avere permessi di lettura per le persone e i gruppi che deve sincronizzare. Nell'esempio seguente questo utente si chiama check_mk.

Sotto Setup > Users > LDAP & Active Directory > Add connection puoi creare una nuova connessione. Nel modulo, inserisci prima l'IDe che preferisci per la connessione nella box General Properties. Se vuoi, puoi inserire un titolo semplice e significativo nel campo Description. Come sempre, l'IDe deve essere unico e non può essere modificato in seguito. Può contenere solo lettere, cifre, trattini e caratteri di sottolineatura, e deve iniziare con una lettera o un carattere di sottolineatura.

ldap new connection general properties

Successivamente, in "LDAP Connection" puoi definire il server LDAP, nonché uno o più server di failover, se disponibili. Poi devi solo selezionare "Directory type" e definire i dati utente per l'accesso in lettura in "Bind credentials". Tieni presente che devi inserire il nome utente con il suo percorso LDAP completo. Non è necessario tenere conto delle maiuscole e delle minuscole. La configurazione dovrebbe quindi apparire più o meno così:

ldap new connection ldap connection

Checkmk supporta non solo Active Directory. Per cambiare la directory, ad esempio in OpenLDAP, selezionala nel campo Directory type — ulteriori modifiche alla configurazione derivanti da questa azione si verificano solo in pochi punti.

I server di failover vengono utilizzati quando il server effettivo non è accessibile o quando è stato superato un limite di tempo. Questo ha senso se non si utilizza un proprio server locale, ma si desidera creare una connessione ridondante.

La connessione di Checkmk con il server LDAP viene sempre mantenuta finché il server LDAP non è più accessibile a causa di un timeout o di altri problemi. Solo allora si passa al server di failover. Lo stesso vale dopo il switch: la connessione tornerà al server effettivamente configurato solo se il server di failover non è più disponibile.

2.2. Definizione degli utenti

Successivamente verranno definiti i percorsi verso gli utenti e i gruppi e impostati i filtri. In "User base DN", inserisci prima il percorso tramite il quale devono essere trovati gli utenti. Assicurati qui che l'Operational Unit (OU) sia impostata in modo da includere tutti gli utenti desiderati e il minor numero possibile di altri. Più utenti vengono interrogati, più lenta sarà l'elaborazione della sincronizzazione.

Imposta quindi l’opzione “Search scope”. Qui puoi filtrare in modo ricorsivo tutti gli utenti presenti nell’OU e nelle unità sottostanti, oppure limitare la ricerca a quelli che si trovano direttamente in questa OU. Se hai inserito un utente direttamente nel percorso, dovresti selezionare “Search only the entry at the base DN” — in questo modo verrà incluso solo quell’utente.

Con l'aiuto dell'opzione "Search filter" puoi restringere ulteriormente la selezione degli utenti da importare. Se, ad esempio, desideri sincronizzare solo gli utenti appartenenti a un gruppo specifico, imposta una query LDAP come mostrato nella schermata seguente. Il prerequisito per questo è che gli utenti abbiano l'attributo "memberof". Di seguito puoi scoprire come filtrare in base all'appartenenza a un gruppo, senza questo attributo.

ldap new connection users

Il filtro standard può anche essere combinato con l'attributo memberof o con altri filtri:

(&(objectclass=user)(objectcategory=person)(memberof=cn=cmk-admins,ou=groups,dc=mycompany,dc=org))

Come si può vedere nella box Users, ci sono ulteriori opzioni per la ricerca degli utenti. Con l'opzione User-ID attribute è possibile specificare quale attributo l'utente deve utilizzare come ID di accesso in Checkmk. L'utente utilizzerà successivamente questo login al momento dell'accesso. Di norma, in Active Directory sarà l'attributo sAMAccountName, che viene utilizzato come standard in Checkmk. In OpenLDAP è spesso l'attributo uid.

Con le opzioni Lower case User-IDs puoi convertire gli ID sincronizzati in lettere minuscole. Questo può essere utile, poiché, come già detto, Active Directory/LDAP non fa distinzione tra maiuscole e minuscole, mentre Checkmk sì. Ciò può creare confusione, che questa opzione può risolvere.

L'opzione Umlauts in User-IDs (deprecated) è stata fornita solo per motivi di compatibilità e non dovrebbe più essere utilizzata/modificata.

Infine, l'opzione Create users only on login ti permette di creare nuovi utenti solo dopo che hanno effettuato il login su Checkmk, invece che durante la sincronizzazione con LDAP.

ldap new connection users search filter 2

L'opzione "Filter group" dovrebbe essere utilizzata solo se il server LDAP non è un Active Directory e l'attributo dinamico "memberof" non è disponibile nei dati utente. In questi casi, il filtraggio degli utenti avviene direttamente in Checkmk. Durante questo processo è possibile che vengano interrogati molti utenti che verranno successivamente scartati. Un scenario del genere può essere in gran parte evitato dal modulo LDAP in Checkmk.

Se tuttavia dovessi dipendere da questa opzione, devi inserire qui il percorso completo del gruppo da filtrare:

ldap new connection users filter group

2.3. Definizione dei gruppi

Se desideri filtrare gli utenti per gruppo, definisci il percorso del gruppo in modo che sia possibile eseguire una corrispondenza. Questo può essere fatto allo stesso modo degli utenti: quando un gruppo è specificato direttamente, in "Search scope" è possibile utilizzare l'opzione "Search only the entry at the base DN"; altrimenti la ricerca verrà eseguita direttamente nell'OU oppure verranno incluse anche le sue unità subordinate.

Anche in questo caso, con l’aiuto dell’opzione Search filter è possibile specificare come deve essere definito il nome del gruppo in Checkmk. Puoi inoltre specificare il nome dell’attributo (Member attribute) in cui sono memorizzati i membri del gruppo. Checkmk utilizza di default member. In OpenLDAP questo può essere anche uniqueMember. Modifica l’opzione come preferisci.

ldap new connection groups

2.4. Verifica della configurazione

Il primo Setup è ora completo e, a scopo di verifica, è possibile salvare e testare il Setup tramite il pulsante "Save & test".

ldap new connection diagnostics

Non è necessario specificare gruppi per ottenere una configurazione funzionante. Tuttavia, se nell'OU sono presenti solo utenti per Checkmk, è opportuno limitare la selezione tramite uno o più gruppi.

2.5. L'intervallo di sincronizzazione

Infine, puoi anche definire la frequenza con cui gli utenti devono essere sincronizzati automaticamente. In un ambiente in cui le modifiche avvengono raramente, l'impostazione predefinita potrebbe essere troppo rigida. L'intervallo di tempo non dovrebbe però essere troppo lungo, in modo che eventuali modifiche possano essere riportate tempestivamente in Checkmk.

ldap new connection other

Una sincronizzazione può essere avviata manualmente in qualsiasi momento in Setup > Users > Users > Synchronize users. Inoltre, un utente verrà sincronizzato, se necessario, quando tenta di effettuare l'accesso e non è ancora stato sincronizzato.

3. Assegnazione automatica degli attributi

3.1. Gruppi di contatto

Non serve a molto poter creare automaticamente tutti gli utenti, se poi è necessario assegnarli manualmente ai gruppi di contatto. Checkmk offre la possibilità di utilizzare i gruppi del server LDAP per consentire l’assegnazione ai gruppi di contatto. Per farlo, attiva l’opzione Attribute sync plugins > Contactgroup Membership:

ldap new connection contactgroup membership

Affinché l'assegnazione vada a buon fine, il nome del gruppo (cn) sul server LDAP deve essere identico a quello in Checkmk, ovvero il gruppo oracle_admins verrà assegnato a un utente solo se è presente anche nel gruppo oracle_admins in LDAP. Se invece si trova nei gruppi oracle-admins o ORACLE_admins, l'assegnazione non funzionerà. Fai quindi attenzione a usare la sintassi corretta e a rispettare le maiuscole e le minuscole nel caso in cui dovessero sorgere problemi in questa situazione.

Gruppi nidificati

Checkmk offre anche — attualmente solo per Active Directory — la possibilità di utilizzare gruppi ereditati. Attiva questa opzione se, ad esempio, il tuo utente si trova nel gruppo oracle_admins e questo gruppo è a sua volta membro di cmk-user.

Gruppi da altre connessioni

Se in Checkmk sono state create più connessioni LDAP, è possibile utilizzare anche gruppi provenienti da altre fonti per abilitare un'assegnazione. Ciò può essere utile se è stata configurata una connessione generale e le altre sono filtrate solo per gruppi specifici.

3.2. Ruoli

Anche i ruoli possono essere assegnati automaticamente in modo simile e anche qui si utilizza la funzione Gruppi nidificati. Per ogni ruolo è possibile definire uno o più gruppi. Seleziona il ruolo per il quale deve essere creata una connessione e inserisci il percorso completo del gruppo. Di default verrà eseguita una ricerca nei gruppi trovati nel filtro gruppi. È tuttavia possibile effettuare una ricerca in altre connessioni per utilizzare i gruppi che vi si trovano. Seleziona dall'elenco le connessioni da cercare.

ldap new connection roles

Con le impostazioni nell'immagine sopra, tutti gli utenti nel gruppo indicato saranno assegnati al ruolo Administrator, purché siano sincronizzati anche dal filtro utenti. Come si vede nello screenshot, puoi selezionare anche i ruoli che hai configurato tu e effettuare la connessione con i gruppi LDAP.

3.3. Altri attributi

Per la sincronizzazione di altre informazioni sull'utente, di norma è sufficiente attivare il plug-in corrispondente in Attribute Sync Plugins, e eventualmente inserire l'attributo che fornisce l'informazione. Di seguito trovi una tabella dei plug-in e degli attributi utilizzati (se non impostati manualmente) con una breve descrizione. Alcuni attributi si trovano anche nel menu Utente di un utente.

Plug-in Attributo Sintassi Valori possibili Descrizione

Alias

cn

Stringa

Di solito il nome e il cognome dell'utente.

Authentication Expiration

pwdlastset

Intervallo

Quando un utente verrà disconnesso o bloccato.

Disable notifications

disable_notifications

Booleano

True, False

True disabilita tutte le notifiche all'utente.

Email address

mail

Stringa

L'indirizzo e-mail dell'utente.

Mega menu icons

icons_per_item

String

None, entry

Visualizza simboli verdi per tema (None) o simboli colorati per ogni voce di menu (entry) nei menu mega.

Navigation bar icons

nav_hide_icons_title

String

None, hide

Mostra solo i simboli (hide) o i simboli con titolo (None) nella barra di navigazione.

Pager

mobile

String

Un numero di telefono/cercapersone come contatto.

Show more / Show less

show_mode

String

default_show_less, default_show_more, enforce_show_more

Visualizza meno (default_show_less), più (default_show_more) o sempre tutto (enforce_show_more) nell'interfaccia utente. Per ulteriori informazioni sulle modalità mostra di meno e mostra di più, consulta la Guida per principianti.

Sidebar position

ui_sidebar_position

String

None, left

Visualizza la barra laterale a destra (None) o a sinistra (left).

Start URL to display in main frame

start_url

String

Esempi: view.py?view_name=allhosts o dashboard.py

URL della pagina iniziale.

Temperature unit

temperature_unit

Stringa

celsius, fahrenheit

Unità di misura della temperatura in gradi Celsius o Fahrenheit da visualizzare nei grafici e nei Perf-O-Meter.

User interface theme

ui_theme

Stringa

facelift, modern-dark

Il tema dell'interfaccia per gli utenti: Scuro (modern-dark) o Chiaro (facelift).

Visibility of hosts/services

force_authuser

Booleano

True, False

Visualizza tutti gli host e i servizi (False) o solo quelli per cui l'utente è assegnato come contatto (True).

4. LDAP in ambienti distribuiti

Quando configuri un monitoraggio distribuito con impostazione centrale, puoi specificare se e quali connessioni LDAP devono essere sincronizzate dall’istanza remota. Se non diversamente specificato, l’istanza remota sincronizzerà automaticamente tutti gli utenti della connessione configurata. In questo modo le modifiche verranno automaticamente riportate su ogni istanza entro il lasso di tempo definito e non dovranno prima essere copiate dall’istanza centrale a quelle remote. La sincronizzazione può anche essere limitata a connessioni specifiche o disabilitata completamente. Nel secondo caso gli utenti sull’istanza centrale vengono recuperati dalle connessioni LDAP e copiati sulle istanze remote con un’operazione che attiva le modifiche.

Puoi configurare le impostazioni in Setup > General > Distributed monitoring nella sezione "Properties" della connessione. Ecco un esempio in cui è selezionata la connessione configurata sopra:

ldap distributed monitoring sync ldap

5. Proteggere LDAP con SSL

Per proteggere la connessione LDAP con SSL, basta selezionare la checkbox "Use SSL" nei dati di connessione e corrispondere l'TCP port (di solito 636 per SSL in LDAP).

ldap new connection ldap connection ssl

Se i server LDAP utilizzano un certificato firmato da un'autorità di certificazione affidabile, tutto ciò che serve per stabilire una connessione crittografata è già pronto.

Se si deve utilizzare un certificato self-signed, la connessione può essere stabilita solo dopo che il certificato è stato importato nell'archivio certificati. Solo allora verrà classificato come affidabile e la connessione verrà stabilita.

Per farlo, basta andare su Setup > General > Global settings > Site management > Trusted certificate authorities for SSL. Clicca su "Add new CA certificate or chain" e incolla il contenuto del tuo file CRT o PEM oppure scegli "Upload CRT/PEM File" e fai lo stesso.

ldap add new ca certificate

6. Diagnosi degli errori

La diagnosi degli errori è integrata direttamente nelle impostazioni di configurazione. Anche dopo Setup, puoi check qui per individuare la possibile causa di un errore. I messaggi di errore verranno inoltre registrati nel file web.log. Anche questi messaggi possono indicare la causa di un errore:

~/var/log/web.log
2020-09-19 16:03:17,155 [40] [cmk.web 31797] /ldaptest/check_mk/wato.py Internal error: Traceback (most recent call last):
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6563, in mode_edit_ldap_connection
    state, msg = test_func(connection, address)
  File "/omd/sites/ldaptest/share/check_mk/web/htdocs/wato.py", line 6506, in test_group_count
    connection.connect(enforce_new = True, enforce_server = address)
  File "/omd/sites/ldaptest/share/check_mk/web/plugins/userdb/ldap.py", line 274, in connect
    ('\n'.join(errors)))
MKLDAPException: LDAP connection failed:
ldap://myldap.mycompany.org: Can't contact LDAP server

7. File e directory

Percorso del file Funzione

~/etc/check_mk/multisite.d/wato/user_connections.mk

Tutte le connessioni LDAP configurate nella Setup saranno conservate in questo file.

~/etc/check_mk/multisite.d/wato/users.mk

Qui verranno definiti tutti gli utenti.

~/var/log/web.log

Il file di log in cui vengono registrati gli errori di connessione — è quindi una delle prime fonti di informazioni quando si verificano dei problemi.


Last modified: Tue, 20 Jan 2026 14:55:16 GMT via commit e0de082a1
In questa pagina