Sådan tilføjes en CentOS 7 Sensu-klient

I vejledningen " Sådan installeres og konfigureres Sensu Monitoring på CentOS 7 " lærte du, hvordan du opsætter en Sensu-server. Denne vejledning er anden del, hvor du lærer, hvordan du tilføjer en Sensu-klient. En Sensu-klient er en server, som Sensu overvåger.

Jeg antager, at Sensu-klienten er en CentOS 7 virtuel maskine. Log ind på SSH og følg trinene nedenfor. Du behøver ikke at ændre noget på Sensu-serveren. Så længe Sensu-klienten autentificerer med Sensu-serveren, udføres kontroller automatisk.

Før vi går i gang, skal du sørge for, at din firewall er konfigureret korrekt. Med en standardopsætning skal du åbne udgående TCP-porte 5671og 5672.

Trin 1: Tilføj Sensu-lageret

Pakken sensu-clienter ikke i standard CentOS-lagrene. Tilføj lageret ved at indsætte følgende indhold 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

Opdater yumog installer derefter sensu-client:

yum update
yum install sensu

Alle tjenester ( sensu-server, sensu-clientog sensu-api) vil blive installeret ved at installere sensupakken. Du kan roligt ignorere alle tjenester undtagen den sensu-client, vi vil bruge. Start ikke tjenesten endnu.

Trin 2: Installer nødvendige plugins

Sensus model er at fordele belastning over klienter, der er resultatet af at udføre kontroller og pushe checkresultater. Som følge heraf skal du installere Sensu-plugins på selve klienterne i stedet for på Sensu-serveren. Nogle plugins er kompileret lokalt, hvilket betyder, at vi har brug for byggeværktøjer på klienterne:

yum groupinstall "Development tools"

Følgende plugins er meget populære og bruges til mange kontroller. Udfør hver af disse kommandoer for at installere plugins, når udviklingsværktøjspakkerne er blevet installeret. Afhængigt af størrelsen på din server kan dette tage et stykke 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

Trin 3: Tilføj konfigurationsfiler

Vi vil tilføje fire konfigurationsfiler til Sensu-klienten.

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

    Denne fil indeholder abonnementer, IP-adressen til Sensu-klienten og klientens navn. Erstat værdierne ipaddressog hostnamemed værdier, der beskriver den klient, du tilføjer. Angiv også abonnementer defineret på Sensu-serveren, eller fjern hele subscriptionssektionen , hvis du ikke har nogen . Glem ikke at fjerne kommaet efter, namehvis du gør:

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

    I denne fil definerer vi den anvendte transport. Som standard er den anvendte transport RabbitMQ. Indsæt følgende indhold i filen. Ingen værdier skal ændres:

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

    RabbitMQ-serveren og legitimationsoplysningerne er angivet i denne fil. Erstat hostnamemed DNS-navnet. Som standard er porten 5672til ukrypterede forbindelser. RabbitMQ-brugeren og adgangskoden bør også udskiftes. Disse detaljer kan variere for hver Sensu-klient eller være ens for alle klienter. Dette er en praktisk beslutning, der træffes af brugeren.

    Det vhoster /som standard, men det ændres ofte til /sensu. Hvis du ikke er sikker på, hvilken du skal bruge, så prøv begge dele:

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

    Sensu understøtter to typer checks: selvstændige checks og abonnementschecks. Abonnementstjek er defineret på Sensu-serveren, og abonnementerne er defineret i client.jsonfilen på en Sensu-klient. Standalone checks er checks, der er defineret på selve Sensu-klienterne. Disse er normalt kontroller, der kun gælder for én bestemt server. For eksempel er en kontrol, der ville være i et abonnement, en kontrol for at se, om webserveren stadig kører. Et selvstændigt tjek kunne være et tjek for at se, om server A kan nå server B. Ingen anden server har brug for denne kontrol.

    Standalone kontroller er defineret i denne fil. Nedenfor finder du et eksempel på en checks.jsonfil med nogle eksempler på selvstændige kontroller:

    {
        "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
            }
        }
    }
    

Når du er færdig med konfigurationen af ​​Sensu-klienten, skal du ændre rettighederne:

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

Trin 4: Giv tilladelser til sensubrugeren

Kontroller udføres som bruger sensu. Denne bruger har naturligvis begrænsede rettigheder. Nogle kontroller kræver dog roottilladelser for at udføres. Vi tillader brugeren sensuat udføre enhver kontrol, rootmen begrænser dens andre tilladelser.

Indsæt følgende indhold 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 første to linjer definerer standardstien, som tillader dig kun at angive scriptnavnet i check-kommandoen i stedet for hele stien. For eksempel vil blot at bruge kommandoen sudo check-process.rb -p mysqldfungere uden at skulle angive hele stien ( /opt/sensu/embedded/bin/check-process.rb -p mysqld).

De andre linjer giver sensubrugeren mulighed for at udføre et hvilket som helst kontrolscript som root.

Start endelig sensu-clienttjenesten og start den automatisk ved opstart:

systemctl start sensu-client
systemctl enable sensu-client

Hvis du har Uchiwa installeret, bør den nye klient vises på listen. Hvis ikke, fejlfind sensu-clientved at inspicere logfilen/var/log/sensu/sensu-client.log

CentOS, Linux Guides, Server Apps, System Admin

Efterlad 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 lige i nuet I denne blog Læs, hvordan kunstig intelligens-applikationer har påvirket forskellige sektorer.

DDOS-angreb: et kort overblik

DDOS-angreb: et kort overblik

Er du også et offer for DDOS-angreb og forvirret over forebyggelsesmetoderne? Læs denne artikel for at løse dine spørgsmål.

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Har du nogensinde spekuleret på, hvordan tjener hackere penge?

Du har måske hørt, at hackere tjener mange penge, men har du nogensinde spekuleret på, hvordan tjener de den slags penge? lad os diskutere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Revolutionære opfindelser fra Google, der vil gøre dit liv lettere.

Vil du se revolutionerende opfindelser fra Google, og hvordan disse opfindelser ændrede livet for ethvert menneske i dag? Læs derefter til bloggen for at se opfindelser fra Google.

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Fredag ​​Essential: Hvad skete der med AI-drevne biler?

Konceptet med selvkørende biler til at køre på vejene ved hjælp af kunstig intelligens er en drøm, vi har haft i et stykke tid nu. Men på trods af flere løfter er de ingen steder at se. Læs denne blog for at lære mere...

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Teknologisk singularitet: En fjern fremtid for menneskelig civilisation?

Efterhånden som videnskaben udvikler sig i et hurtigt tempo og overtager en stor del af vores indsats, stiger risikoen for at udsætte os selv for en uforklarlig Singularitet. Læs, hvad singularitet kunne betyde for os.

Funktioner af Big Data Reference Architecture Layers

Funktioner af Big Data Reference Architecture Layers

Læs bloggen for at kende forskellige lag i Big Data-arkitekturen og deres funktionaliteter på den enkleste måde.

Udvikling af datalagring – Infografik

Udvikling af datalagring – Infografik

Opbevaringsmetoderne for dataene har været under udvikling, kan være siden fødslen af ​​dataene. Denne blog dækker udviklingen af ​​datalagring på basis af en infografik.

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

6 fantastiske fordele ved at have smarte hjemmeenheder i vores liv

I denne digitalt drevne verden er smarte hjemmeenheder blevet en afgørende del af livet. Her er et par fantastiske fordele ved smarte hjemmeenheder om, hvordan de gør vores liv værd at leve og enklere.

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

macOS Catalina 10.15.4-tillægsopdatering forårsager flere problemer end at løse

For nylig udgav Apple macOS Catalina 10.15.4 en supplerende opdatering for at løse problemer, men det ser ud til, at opdateringen forårsager flere problemer, hvilket fører til mursten af ​​mac-maskiner. Læs denne artikel for at lære mere