Slik legger du til en CentOS 7 Sensu-klient

I veiledningen " Hvordan installere og konfigurere Sensu-overvåking på CentOS 7 " lærte du hvordan du setter opp en Sensu-server. Denne opplæringen er den andre delen, hvor du lærer hvordan du legger til en Sensu-klient. En Sensu-klient er en server som Sensu overvåker.

Jeg antar at Sensu-klienten er en CentOS 7 virtuell maskin. Logg på SSH og følg trinnene nedenfor. Du trenger ikke å endre noe på Sensu-serveren. Så lenge Sensu-klienten autentiserer seg med Sensu-serveren, vil sjekker automatisk bli utført.

Før vi setter i gang, sørg for at brannmuren din er riktig konfigurert. Med et standardoppsett åpner du utgående TCP-porter 5671og 5672.

Trinn 1: Legg til Sensu-depotet

Pakken sensu-clienter ikke i standard CentOS-lagrene. Legg til depotet ved å lime inn følgende innhold i filen /etc/yum.repos.d/sensu.repo:

[sensu]
name=sensu
baseurl=https://sensu.global.ssl.fastly.net/yum/$releasever/$basearch/
gpgcheck=0
enabled=1

Oppdater yumog installer deretter sensu-client:

yum update
yum install sensu

Alle tjenester ( sensu-server, sensu-clientog sensu-api) vil bli installert ved å installere sensupakken. Du kan trygt ignorere alle tjenester bortsett fra den sensu-clientvi skal bruke. Ikke start tjenesten ennå.

Trinn 2: Installer nødvendige plugins

Sensus modell er å fordele belastning over klienter som er resultatet av å utføre sjekker og pushe sjekkresultater. Som et resultat må du installere Sensu-plugins på selve klientene i stedet for på Sensu-serveren. Noen plugins er kompilert lokalt, noe som betyr at vi trenger byggeverktøy på klientene:

yum groupinstall "Development tools"

Følgende plugins er veldig populære og brukes til mange sjekker. Utfør hver av disse kommandoene for å installere pluginene når utviklingsverktøypakkene er installert. Avhengig av størrelsen på serveren din, kan dette ta litt tid:

sensu-install -p uptime-checks
sensu-install -p process-checks
sensu-install -p http
sensu-install -p filesystem-checks
sensu-install -p cpu-checks
sensu-install -p memory-checks
sensu-install -p disk-checks
sensu-install -p load-checks
sensu-install -p network-checks

Trinn 3: Legg til konfigurasjonsfiler

Vi vil legge til fire konfigurasjonsfiler til Sensu-klienten.

  • /etc/sensu/conf.d/client.json:

    Denne filen inneholder abonnementer, IP-adressen til Sensu-klienten og klientnavnet. Bytt ut verdiene ipaddressog hostnamemed verdier som beskriver klienten du legger til. Spesifiser også abonnementer definert på Sensu-serveren eller, hvis du ikke har noen, fjern hele subscriptionsdelen. Ikke glem å fjerne kommaet etter namehvis du gjør:

    {
        "client": {
            "address": "-----ipaddress-----",
            "environment": "production",
            "name": "-----hostname-----",
            "subscriptions": [
                "linux"
            ]
        }
    }
    
  • /etc/sensu/conf.d/transport.json:

    I denne filen definerer vi transporten som brukes. Som standard er transporten som brukes RabbitMQ. Lim inn følgende innhold i filen. Ingen verdier må endres:

    {
        "transport": {
            "name": "rabbitmq",
            "reconnect_on_error": true
        }
    }
    
  • /etc/sensu/conf.d/rabbitmq.json:

    RabbitMQ-serveren og legitimasjonen er spesifisert i denne filen. Erstatt hostnamemed DNS-navnet. Som standard er porten 5672for ukrypterte tilkoblinger. RabbitMQ-brukeren og passordet bør også byttes ut. Disse detaljene kan variere for hver Sensu-klient eller være den samme for alle klienter. Dette er en praktisk avgjørelse som tas av brukeren.

    Det vhoster /som standard, men det endres ofte til /sensu. Hvis du ikke er sikker på hvilken du skal bruke, prøv begge:

    {
        "rabbitmq": {
            "host": "-----hostname-----",
            "password": "-----rabbitmq_password-----",
            "port": 5672,
            "user": "-----username-----",
            "vhost": "/sensu"
        }
    }
    
  • /etc/sensu/conf.d/checks.json:

    Sensu støtter to typer sjekker: frittstående sjekker og abonnementssjekker. Abonnementssjekker er definert på Sensu-serveren og abonnementene er definert i client.jsonfilen på en Sensu-klient. Frittstående sjekker er sjekker som er definert på Sensu-klientene selv. Dette er vanligvis kontroller som kun gjelder for én bestemt server. For eksempel, en sjekk som vil være i et abonnement er en sjekk for å se om webserveren fortsatt kjører. En frittstående sjekk kan være en sjekk for å se om server A kan nå server B. Ingen annen server trenger den kontrollen.

    Frittstående kontroller er definert i denne filen. Nedenfor finner du et eksempel på en checks.jsonfil med noen eksempler på frittstående sjekker:

    {
        "checks": {
            "httpd": {
                "command": "sudo check-process.rb -p httpd",
                "handlers": [
                    "default",
                    "pushover"
                ],
                "interval": 180,
                "occurences": 3,
                "refresh": "1800",
                "standalone": true,
                "ttl": 1200
            },
            "mysqld": {
                "command": "sudo check-process.rb -p mysqld",
                "handlers": [
                    "default",
                    "pushover"
                ],
                "interval": 180,
                "occurences": 3,
                "refresh": "1800",
                "standalone": true,
                "ttl": 1200
            }
        }
    }
    

Etter at du har fullført konfigurasjonen av Sensu-klienten, endre rettighetene:

chown -R sensu:sensu /etc/sensu/conf.d

Trinn 4: Gi tillatelser til sensubrukeren

Kontroller utføres som bruker sensu. Naturligvis har denne brukeren begrensede rettigheter. Noen kontroller trenger imidlertid roottillatelser for å utføres. Vi vil tillate brukeren sensuå utføre en hvilken som helst sjekk, rootmen begrense dens andre tillatelser.

Lim inn følgende innhold i filen /etc/sudoers.d/sensu:

Defaults:sensu
secure_path=/opt/sensu/embedded/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/check*.rb *
sensu ALL=(ALL) NOPASSWD: /opt/sensu/embedded/bin/metrics*.rb *

De to første linjene definerer standardbanen som lar deg spesifisere kun skriptnavnet i kontrollkommandoen i stedet for hele banen. For eksempel vil bare bruk av kommandoen sudo check-process.rb -p mysqldfungere uten å måtte spesifisere hele banen ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).

De andre linjene lar sensubrukeren kjøre et hvilket som helst kontrollskript som root.

Til slutt, start sensu-clienttjenesten og start den automatisk ved oppstart:

systemctl start sensu-client
systemctl enable sensu-client

Hvis du har Uchiwa installert, skal den nye klienten vises i listen. Hvis ikke, feilsøk sensu-clientved å inspisere loggfilen/var/log/sensu/sensu-client.log

Legg igjen en kommentar

The Rise of Machines: Real World Applications of AI

The Rise of Machines: Real World Applications of AI

Kunstig intelligens er ikke i fremtiden, det er her akkurat i nåtiden I denne bloggen Les hvordan kunstig intelligens-applikasjoner har påvirket ulike sektorer.

DDOS-angrep: en kort oversikt

DDOS-angrep: en kort oversikt

Er du også et offer for DDOS-angrep og forvirret over forebyggingsmetodene? Les denne artikkelen for å løse spørsmålene dine.

Har du noen gang lurt på hvordan hackere tjener penger?

Har du noen gang lurt på hvordan hackere tjener penger?

Du har kanskje hørt at hackere tjener mye penger, men har du noen gang lurt på hvordan tjener de den slags penger? la oss diskutere.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Revolusjonerende oppfinnelser fra Google som vil gjøre livet ditt enkelt.

Vil du se revolusjonerende oppfinnelser fra Google og hvordan disse oppfinnelsene forandret livet til alle mennesker i dag? Les deretter til bloggen for å se oppfinnelser fra Google.

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Fredag ​​Essential: Hva skjedde med AI-drevne biler?

Konseptet med selvkjørende biler som skal ut på veiene ved hjelp av kunstig intelligens er en drøm vi har hatt en stund nå. Men til tross for flere løfter, er de ingen steder å se. Les denne bloggen for å lære mer...

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Teknologisk singularitet: en fjern fremtid for menneskelig sivilisasjon?

Ettersom vitenskapen utvikler seg raskt og tar over mye av innsatsen vår, øker også risikoen for å utsette oss for en uforklarlig singularitet. Les hva singularitet kan bety for oss.

Funksjonaliteter til Big Data Reference Architecture Layers

Funksjonaliteter til Big Data Reference Architecture Layers

Les bloggen for å kjenne ulike lag i Big Data Architecture og deres funksjoner på den enkleste måten.

Evolusjon av datalagring – infografikk

Evolusjon av datalagring – infografikk

Lagringsmetodene for dataene har vært i utvikling kan være siden fødselen av dataene. Denne bloggen dekker utviklingen av datalagring på grunnlag av en infografikk.

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

6 fantastiske fordeler ved å ha smarte hjemmeenheter i livene våre

I denne digitaldrevne verden har smarthusenheter blitt en avgjørende del av livet. Her er noen fantastiske fordeler med smarthusenheter om hvordan de gjør livet vårt verdt å leve og enklere.

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

macOS Catalina 10.15.4 tilleggsoppdatering forårsaker flere problemer enn å løse

Nylig lanserte Apple macOS Catalina 10.15.4 en tilleggsoppdatering for å fikse problemer, men det ser ut til at oppdateringen forårsaker flere problemer som fører til muring av mac-maskiner. Les denne artikkelen for å lære mer