Om automatikk

Om Zabbix-automatikken og en enkel beskrivelse av hva den gj?r.

Om

Vi har to automatikker knyttet til Zabbix. Den ene, LDAP2Zabbix, tar seg av brukere og brukergrupper. Den andre, Zabbix-auto-config, tar seg av blant annet oppretting av hoster og knytting av disse til hostgroups og templates.

Zabbix-auto-config er laget med en tanke om ? v?re modul?r og ikke sterkt koblet til spesifikke systemer vi har p? UiO. Automatikken kj?rer som en service p? en management-server. Dette ligger som open source p? github: https://github.com/unioslo/zabbix-auto-config.

LDAP2Zabbix benytter Cerebrum (LDAP) som kilde til brukere og brukergrupper. Koden ligger internt i BitBucket: https://bitbucket.usit.uio.no/projects/GID/repos/ldap2zabbix/browse

Zabbix-auto-config

Oversikt

En noe forenklet oversikt over komponenter i automatikken. Komponenter i gr?tt er eksterne eller moduler koblet til automatikken.

Flyt

Kilder

Automatikken har et konsept om datakilder (dette kan f.eks v?re Mreg og Nivlheim). En source collector knyttet til en kilde er en python-modul som leverer data om hosts. Dataen inneholder informasjon som for eksempel kontakt, viktighet, hvorvidt hosten skal overv?kes og generiske egenskaper/properties. Kildene tilbyr datagrunnlaget for videre automatisering. Kildene kan b?de v?re dynamiske systemer og mer statiske filer fra for eksempel et git-repository.

P? UiO er det i all hovedsak maskiner fra Mreg med policy "with_monitoring" som blir synkronisert inn.

Sammensl?ing

Videre blir kildene sl?tt sammen (source merger) til ett sett maskiner. Dette gj?res stort ved at lister sl?s sammen med listen, men en host vil f.eks f? den h?yeste viktigheten en kilde mener at den har.

Modifiers

F?r en sammensl?tt host lagres vil den sendes gjennom konfigurerte modifiers. En modifier er en python-modul som tar inn en host og leverer den samme ut igjen med eventuelle  endringer.

Oppdatering

De lagrede, sammensl?tte hostene sier hva som skal v?re i Zabbix. Det er egne prosesser som oppdaterer sine omr?der i Zabbix. For eksempel vil host updater opprette, slette og modifisere selve hostene i Zabbix.

Hostgroup updater og template updater legger host inn i grupper og lenker de til templates. Dette gj?res basert p? mapping-konfigurasjon som for eksempel sier at en spesifikk kontakt p? en host skal gi en spesifikk hostgroup. Egenskaper ved hosten kan brukes for ? mappe den til templates.

Det gj?res en diff mot selve Zabbix og det som ikke er i henhold vil bli korrigert.

Eksempel

  • Source01 har hosten "foo.example.com" med kontakten "bob@example.com".
  • Source01 har hosten "bar.example.com" med kontakten "bob@example.com".
  • Source02 har hosten "foo.example.com" med kontakten "alice@example.com" og egenskapen "web_server".
  • Vi har en modifier som sier at hosts med "web_server"-egenskapen i "example.com"-domenet skal ha egenskapen "example_web_server".
  • Mapping-konfigurasjonen av templates sier at hosts med "example_web_server" skal ha templaten "Template-example-web-server".
  • Mapping-konfigurasjonen av hostgroups sier at hosts med "web_server" skal i "Webserver-hosts", og at de med kontakt "bob@example.com" skal i "Bob-hosts".

Etter at dette eksempelet har flytt gjennom automatikken vil det resultere i at "foo.example.com" blir lenket til "Template-example-web-server", medlem av "Bob-hosts" og medlem av "Webserver-hosts". "bar.example.com" vil bli medlem av "Bob-hosts".

LDAP2Zabbix

LDAP2Zabbix ser p? grupper prefixet med "zabbix-" i Cerebrum. Gruppene opprettes og administreres av DIA. Det er ?nskelig ? ha andre grupper som medlem av disse og ikke administrere direkte brukertilganger. Ansatt-grupper som kommer fra SAP er for eksempel gode ? bruke.

Publisert 2. juli 2018 11:41 - Sist endret 30. juni 2020 11:11