Skip to main content

Syslogd Linux ja Unix Command

Installing Splunk Universal Forwarder on Linux (Ubuntu 16.04) (Kesäkuu 2026)

Installing Splunk Universal Forwarder on Linux (Ubuntu 16.04) (Kesäkuu 2026)
Anonim

Sysklogd tarjoaa kaksi järjestelmätyökalua, jotka tukevat järjestelmän kirjaamista ja ytimen viestin pyyntivälineitä. Sekä internetin että Unix-verkkotunnusten tuki tukee tätä apuohjelmapakettia sekä paikallisen että etäkojeen tukemiseen.

Järjestelmän kirjautumisesta on saatavana versiosyslogd(8), jotka on johdettu BSD-lähteistä. Tuki ytimen hakua varten tarjoaaklogd(8) apuohjelma, joka sallii ytimen kirjaamisen joko itsenäisesti tai syslogd-asiakkaana.

Syslogd tarjoaa eräänlaisen puunkorjuun, jota monet nykyaikaiset ohjelmat käyttävät. Jokainen kirjautunut viesti sisältää vähintään ajan ja isäntänimen kentän, tavallisesti myös ohjelman nimen, mutta riippuu siitä, kuinka luotettava ohjelma on.

Samalla kunsyslogd lähteitä on voimakkaasti muokattu muutamia muistiinpanoja ovat kunnossa. Ensinnäkin on ollut systemaattinen yritys varmistaa, että syslogd noudattaa oletusarvoaan, standardi BSD-käyttäytymistä. Toinen tärkeä käsitys on se, että tämä syslogd-versio toimii vuorovaikutuksessa läpinäkyvästi vakiokirjastoissa löydetyn syslog-version kanssa. Jos vakiokirjastoihin yhdistetty binääri ei toimisi oikein, haluamme esimerkin poikkeavasta käyttäytymisestä.

Tärkein kokoonpanotiedosto /etc/syslog.conf tai vaihtoehtoinen tiedosto, joka on annettu-f vaihtoehto luetaan käynnistyksen yhteydessä. Kaikki rivit, jotka alkavat hajautusmerkillä (`` # '') ja tyhjät rivit, jätetään huomiotta. Jos virheen aikana ilmenee virhe, koko rivi jätetään huomiotta.

tiivistelmä

syslogd -a pistorasia -D -f config-tiedosto -h -l hostlist -m aikaväli -n -p pistorasia -r -S domainlist -v -x

vaihtoehdot

-a pistorasia

Tämän argumentin avulla voit määrittää muita liitäntöjäsyslogd täytyy kuunnella. Tämä on tarpeen, jos annat jonkin demonin käydä chroot () -ympäristössä. Voit käyttää jopa 19 lisäpistoketta. Jos ympäristösi tarvitsee vielä enemmän, sinun on lisättävä symboliaMAXFUNIX syslogd.c-lähdetiedostossa. Esimerkki chroot () -demonista kuvaa ihmisiä OpenBSD: stä osoitteesta http://www.psionic.com/papers/dns.html.

-D

Käynnistää debug-tilan. Käyttämällä tätä, daemon ei edistyhaarukka(2) asettamaan itsensä taustalle, mutta vastapäätä, että pysyvät etualalla ja kirjoita paljon virheenkorjaustietoja nykyisestä tty: stä. Katso lisätietoja kohdasta VIRRANSITUS.

-f config-tiedosto

Määritä vaihtoehtoinen määritystiedosto sijaan /etc/syslog.conf , joka on oletusarvo.

-h

Oletusarvoisesti syslogd ei välitä etäpalvelimilta vastaanottamiaan viestejä. Tämän kytkimen määrittäminen komentoriviltä saa log-daemon välittää sille lähetetyt etäviestit määritetyille isäntätiedostoille.

-l hostlist

Määritä isäntänimi, jonka pitäisi olla kirjautunut vain sen yksinkertaisen isäntänimen ja ei fqdn: n kanssa. Useat isännät voidaan määrittää paksusuolen (``: '') erottimella.

-m aikaväli

syslogd kirjaa merkin aikaleiman säännöllisesti. Oletusarvo aikaväli kahden välillä - MARK - linjat ovat 20 minuuttia. Tätä voidaan muuttaa tämän vaihtoehdon avulla. Asettaminen aikaväli nolla katkaisee sen kokonaan.

-n

Vältä automaattista taustakuvausta. Tämä on tarpeen erityisesti, jossyslogd käynnistetään ja ohjataansen sisällä(8).

-p pistorasia

Voit määrittää vaihtoehtoisen unix-verkkotunnuksen sijaan / Dev / log .

-r

Tämän vaihtoehdon avulla laite voi vastaanottaa viestin verkosta käyttämällä Internet-verkkotunnusta soittimeen syslog-palvelulla (katso (5)). Oletuksena ei ole saada mitään viestejä verkosta.

Tämä vaihtoehto otetaan käyttöön sysklogd-paketin versiossa 1.3. Huomaa, että oletuskäyttäytyminen on päinvastainen kuin vanhempien versioiden käyttäytyminen, joten sinun on ehkä otettava tämä käyttöön.

-S domainlist

Määritä verkkotunnuksen nimi, joka on poistettava käytöstä ennen kirjautumista. Useat verkkotunnukset voidaan määrittää käyttämällä kaksoispiste (``: '') -erottimella. Huomaa, ettei osa-alueita voi olla määritelty, mutta vain kokonaan verkkotunnuksia. Esimerkiksi jos-s north.de on määritetty ja vastaanottavan lokin ratkaisee satu.infodrom.north.de mitään verkkotunnusta ei leikata, sinun on määritettävä kaksi verkkotunnusta, kuten:-s north.de:infodrom.north.de.

-v

Tulostusversio ja poistuminen.

-x

Poista nimenkutsut käytöstä, kun vastaanotat etäviestejä. Tämä estää umpikujat, kun nimipalvelin on käynnissä samassa koneessa, joka suorittaa syslog-demoonin.

signaalit

syslogd reagoi sarjaan signaaleja. Voit lähettää helposti signaalinsyslogd käytä seuraavaa:

tappaa -SIGNAL `cat / var / run / syslogd.pid`

SIGHUP

Tämä salliisyslogd suorita uudelleen aloittaminen. Kaikki avoimet tiedostot ovat suljettuja, määritystiedosto (oletuksena on /etc/syslog.conf ) tulee uudelleen jasyslog(3) laitos käynnistyy uudelleen.

SIGTERM

syslogd kuolee.

SIGINT, SIGQUIT

Jos virheenkorjaus on otettu käyttöön, niitä ei oteta huomioon, muutensyslogd kuolee.

SIGUSR1

Vaihda virheenkorjaus päälle / pois päältä. Tätä vaihtoehtoa voidaan käyttää vain, jossyslogd aloitetaan-D debug-vaihtoehto.

SIGCHLD

Odota lapsia, jos jotkut ovat syntyneet, koska wall'ing viestit.

Kokoonpanotiedoston syntaksin erot

syslogd käyttää konfiguraatiotiedostossaan hieman erilaista syntaksia kuin alkuperäiset BSD-lähteet. Alun perin kaikki tiettyyn prioriteettiin ja yllä oleviin viesteihin lähetettiin lokitiedosto.

Esimerkiksi seuraava rivi aiheutti kaiken tuoton daemoneista, jotka käyttävät daemon-laitteita (debug on alhaisin prioriteetti, joten jokainen korkeampi vastaa myös) / Usr / adm / demonit :

# Esimerkki syslog.conf daemon.debug / usr / adm / daemonista

Uuden järjestelmän mukaan tämä käyttäytyminen pysyy samana. Ero on neljän uuden määritelmän lisääminen, tähti (*) wildcard, yhtälömerkki (=), huutomerkki (!) ja miinusmerkki (-).

* määrittelee, että kaikki määritellyn laitoksen viestit on ohjattava kohteeseen. Huomaa, että tämä toiminta on rappeutunut määrittelemällä virheenkorjauksen prioriteettitaso. Käyttäjät ovat ilmoittaneet, että tähti-merkintä on intuitiivisempi.

= Jättikorttia käytetään rajoittamaan kirjautumista määritettyyn prioriteettiluokkaan. Tämä mahdollistaa esimerkiksi reitittämisen vain vianmääritysviestejä tietylle lokin lähteelle.

Esimerkiksi seuraava rivi sisään syslog.conf välittäisi virheenkorjausviestit kaikista lähteistä / Usr / adm / debug tiedosto.

# Esimerkki syslog.conf *. = Debug / usr / adm / debug

! käytetään poissulkemalla määritettyjen prioriteettien kirjaaminen. Tämä vaikuttaa kaikkiin (!) Mahdollisuuksiin määrittää prioriteetit.

Esimerkiksi seuraavat rivit rekisteröisivät kaikki sähköpostiviestien viestit, paitsi ne, joilla prioriteettitiedot ovat / Usr / adm / mail tiedosto. Ja kaikki viestit news.info (mukaan lukien) ja news.crit (pois lukien) olisi kirjautunut / Usr / adm / news tiedosto.

# Esimerkki syslog.conf -postista. *; Mail.! = Info / usr / adm / mail news.info; uutiset!! Crit / usr / adm / uutiset

Voit käyttää sitä intuitiivisesti poikkeusmäärittelijänä. Edellä mainittu tulkinta yksinkertaisesti käännetään. Tee, että voit käyttää

mail.none

tai

postia.! *

tai

postia.! debug

ohittaa jokaisen viestin mukana tulevan viestin. On paljon tilaa leikkiä sen kanssa. :-)

- voidaan käyttää vain tiedostonimen etuliitteenä, jos haluat jättää tiedoston synkronoinnin jokaisen kirjoituksen jälkeen.

Tämä voi olla jonkin verran sopeutumista niihin henkilöihin, jotka käyttävät puhdasta BSD-käyttäytymistä, mutta testaajat ovat ilmoittaneet, että tämä syntaksi on hieman joustavampi kuin BSD-käyttäytyminen. Huomaa, että nämä muutokset eivät saisi vaikuttaa standardiinsyslog.conf(5) tiedostoja. Sinun on muokattava erityisesti määritystiedostoja saadakseen parannetun käyttäytymisen.

Tuki etärekisteröintiin

Nämä muutokset tarjoavat verkkotuen syslogd-laitteelle. Verkkotuki tarkoittaa, että viestit voidaan siirtää yhdestä solmusta, joka ajaa syslogd: n toiseen syslogd-solmuun, jossa ne todella kirjautuvat levytiedostoon.

Tämän mahdollistamiseksi sinun on määritettävä-r vaihtoehto komentorivillä. Oletuskäyttäytyminen on sesyslogd ei kuuntele verkkoa.

Strategia on, että syslogd kuuntelee unix-verkkotunnisteen paikallisesti luotuja lokiviestejä varten. Tämän käyttäytymisen ansiosta syslogd voi toimia yhdessä standardin C kirjaston syslogin kanssa. Samanaikaisesti syslogd kuuntelee standardi syslog-porttia muista isännöistä lähetetyistä viesteistä. Jotta tämä työ toimisi oikeinpalvelut(5) tiedostoja (tyypillisesti osoitteessa /jne ) on oltava seuraava:

syslog 514 / udp

Jos tämä merkintä puuttuusyslogd eivätkä voi vastaanottaa etäviestejä eikä lähettää niitä, koska UDP-portin kallistus voidaan avata. Sen sijaan, syslogd kuolee välittömästi, puhaltaen virhesanoman.

Jos haluat välittää viestejä toiseen isäntäkoneeseen, vaihda normaali tiedostojono syslog.conf tiedosto, jonka nimi vastaanottaja, johon viestit on lähetettävä, lisätään @ -merkillä.

Esimerkiksi eteenpäinKAIKKI viestejä etäisännälle seuraavalla tavalla syslog.conf merkintä:

# Esimerkki syslogd-määritystiedostosta # viestiin etäisännälle eteenpäin. *. * @hostname

Kaikki eteenpäinydin viestit etäisännälle määritystiedosto olisi seuraava:

# Esimäärittelytiedosto, joka välittää kaikki ytimen # viestit etäisännälle. kern. * @hostname

Jos etäpalvelimen nimeä ei voida ratkaista käynnistyksen yhteydessä, koska nimi-palvelin ei välttämättä ole käytettävissä (se voidaan käynnistää syslogd-ohjelman jälkeen), sinun ei tarvitse huolehtia.syslogd yrittää ratkaista nimensä kymmenen kertaa ja sitten valittaa. Toinen mahdollisuus välttää tämä on sijoittaa isäntänimi sisään / Etc / hosts .

Normaalisyslogds saat syslog-silmukoita, jos lähetät viestit, jotka vastaanotettiin etäisännältä samalle isännälle (tai monimutkaisemmalle kolmannelle isännälle, joka lähettää sen takaisin ensimmäiseen, jne.). Verkkotunnuksellani (Infodrom Oldenburg) saimme vahingossa yhden ja meidän levyt täyttyvät samassa yksittäisessä viestissä. :-(

Jotta näin vältettäisiin myöhempinä aikoina, etäkoneelta vastaanotetut viestit lähetetään toiselle (tai samalle) etäisännälle enää. Jos on olemassa skenaarioita, joissa ei ole järkevää, laske minulle (Joey) rivi.

Jos isäntäkone sijaitsee samassa verkkotunnuksessa kuin isäntä,syslogd on käynnissä, vain yksinkertainen isäntänimi tallennetaan koko fqdn: n sijaan.

Paikallisverkossa voit tarjota keskeisen log-palvelimen, jolla kaikki tärkeät tiedot säilytetään yhdessä koneessa. Jos verkko koostuu eri verkkotunnuksista, sinun ei tarvitse valittaa täysin pätevien nimien kirjaamisesta yksinkertaisten nimeä olevien nimien sijaan. Voit halutessasi käyttää nauhatunnisteominaisuutta-S palvelimesta. Voit kertoasyslogd poistaa useat verkkotunnukset, jotka ovat muita kuin palvelimen sijainti ja kirjaavat vain yksinkertaisia ​​palvelimen nimeä.

Käyttämällä-l vaihtoehto on myös mahdollisuus määritellä yksittäiset isännät paikallisiksi koneiksi. Tämä myös johtaa siihen, että kirjaudutaan vain niiden yksinkertaisiin isäntänimiin eikä fqdnisiin.

UDP-liitäntä, jota käytetään viestien lähettämiseen etäisännille tai vastaanottamaan viestejä niistä, avataan vain silloin, kun sitä tarvitaan. Julkaisuissa, jotka olivat ennen 1.3-23, se avasi joka kerta mutta ei avattu käsittelyyn tai välittämiseen.

Tuotanto nimettyihin putkiin (FIFO)

Tässä syslogd-versiossa on tuki kirjautumistoiminnolle nimettyihin putkiin (fifos). Viisitoista tai nimettyä putkea voidaan käyttää lokiviestien määränpäänä esittelemällä pipy-symboli (`| | '') tiedoston nimeen. Tämä on kätevä virheenkorjaukseen. Huomaa, että fifo on luotava mkfifo-komennolla ennen kuin syslogd käynnistetään.

Seuraava kokoonpanotiedosto välittää virheenkorjausviestit ytimestä fifo:

# Esimerkkikokoonpano reitittää ytimen virheenkorjaus # viestit AINOASTAAN / usr / adm / debugille, joka on # nimetty putki. kern. = debug | / usr / adm / debug

Asennusongelmat

On todennäköisesti yksi tärkeä näkökohta, kun asennetaan tämä syslogd-versio. Tämä syslogd-versio riippuu syslog-toiminnon viestien oikeasta muotoilusta. Syslog-toiminnon toiminta jaetuissa kirjastoissa muuttui jonnekin alueella libc.so.4. 2-4 .n. Erityinen muutos oli viestin lopettaminen loppuun ennen lähettämistä / Dev / log pistorasia. Tämän syslogd-version asianmukainen toiminta riippuu viestin lopettamisesta.

Tämä ongelma ilmenee tyypillisesti, jos järjestelmässä käytetään vanhoja staattisesti linkitettyjä binäärejä. Syslog-toiminnon vanhat versiot käyttävät binäärisiä rivejä, jotka tekevät tyhjäkäynnistä kirjautumisen, jonka jälkeen sanoma poistetaan viestin ensimmäisellä merkillä. Näiden binäärien liittäminen uudelleen jaettujen kirjastojen uudempiin versioihin korjaa ongelman.

Molemmatsyslogd(8) jaklogd(8) voidaan joko suorittaa init (8) tai aloittaa osana rc. * -Sekvenssiä. Jos se käynnistetään init-vaihtoehdosta -n on asetettava, muuten saat tonnia syslog-demoja. Tämä johtuu siitä, ettäsen sisällä(8) riippuu prosessin tunnuksesta.

Turvallisuusriskit

On mahdollista, että syslogd-daemonia käytetään kanavana palvelunestohyökkäykselle. Kiitos John Morrisonille ([email protected]), joka ilmoitti minulle tästä mahdollisuudesta. Rikottava ohjelma (mer) saattaa helposti tulvata syslogd-demonin syslog-viesteillä, jolloin lokitiedostot kuluttavat kaiken jäljellä olevan tiedoston. Inet-verkkotunnusten ponnahdusliittymien aktivointi luonnollisesti paljastaa järjestelmän riskeille, jotka eivät ole paikallisten koneiden ohjelmien tai henkilöiden ulkopuolella.

Laitteiden suojaamista on useita:

  1. Toteuta ytimen palomuuri rajoittamaan, millä isännillä tai verkkoilla on pääsy 514 / UDP-liitäntään.
  2. Kirjaaminen voidaan ohjata eristettyyn tai ei-juurikkaan tiedostojärjestelmään, joka täyttyy ei heikennä laitetta.
  3. Voidaan käyttää ext2-tiedostojärjestelmää, joka voidaan konfiguroida rajoittamaan tietyn prosenttiosuuden tiedostojärjestelmästä vain pääkäyttäjiksi.HUOMAUTUS että tämä edellyttää, että syslogd on suoritettava ei-juuriprosessina. MYÖS HUOMAUTUS että tämä estää etähallin käytön, koska syslogd ei pysty sitomaan 514 / UDP-liitäntään.
  4. Inet-verkkotunnusten poistaminen käytöstä rajoittaa riskin paikalliselle koneelle.
  5. Käytä vaiheessa 4 ja jos ongelma jatkuu ja ei ole toissijainen rogue-ohjelman / demon kanssa, hanki 3,5 metrin (noin 1 metrin) pituus sukkulangasta * ja keskustele kyseisen käyttäjän kanssa. Suckersauha def. --- 3/4, 7/8 tai 1in. karkaistu teräsvartta, kummassakin päässä kierteitetty uros. Ensisijainen käyttö Länsi-Pohjois-Dakota-öljyteollisuudessa ja muissa paikoissa pumppaamaan öljyä öljykaivoista. Toissijaisia ​​käyttötarkoituksia ovat karjan rehuseosten rakentaminen ja satunnaisen rikollisen tai taistelevan yksilön käsitteleminen.

virheenkorjaus

Kun virheenkorjaus on käytössä-D vaihtoehto sittensyslogd on hyvin verbaalinen kirjoittamalla paljon siitä, mitä se tekee stdoutilla. Aina kun konfiguraatiotiedosto on uudelleen ja uudelleen jäsennetty, näet taulukon, joka vastaa sisäistä tietorakennetta. Tämä taulukko koostuu neljästä kentästä:

määrä

Tämä kenttä sisältää sarjanumeron, joka alkaa nollasta. Tämä numero edustaa sijaintia sisäisessä tietorakenteessa (eli taulukossa). Jos yksi numero jätetään pois, saattaa olla virhe kyseisessä rivissä /etc/syslog.conf .

kuvio

Tämä kenttä on hankala ja edustaa sisäistä rakennetta tarkalleen. Jokainen sarake tarkoittaa järjestelyä (kssyslog(3)). Kuten näette, vielä joitain tilat jäävät vapaiksi entiseen käyttöön, vain vasemmalla eniten käytetään. Jokainen sarakkeen kenttä edustaa prioriteetteja (katsosyslog(3)).

toiminta

Tämä kenttä kertoo erityisen toiminnon, joka tapahtuu aina, kun vastaanotetaan viesti, joka vastaa mallia. Viittaavatsyslog.conf(5) Manuaalinen kaikki mahdolliset toimet.

argumentit

Tämä kenttä näyttää viimeisimmän kentän toimet. Tiedostojen kirjaamisessa tämä on tiedostonimen lokitiedosto; käyttäjäkirjoitus Tämä on luettelo käyttäjistä; kauko-kirjautumista varten tämä on koneen isäntänimi, jolla kirjaudutaan; konsolin kirjaamiseen tämä on käytetty konsoli; tty-loggingille tämä on määritetty tty; seinällä ei ole muita perusteita.

Katso myös

metsuri(1), syslog(2), (5)

yhteistyökumppanit

syslogd on otettu BSD-lähteistä, Greg Wettstein ([email protected]) suoritti portin Linuxille, Martin Schulze ([email protected]) asetti joitain virheitä ja lisäsi useita uusia ominaisuuksia.Klogdalun perin Steve Lordin kirjoittama ([email protected]), Greg Wettstein teki merkittäviä parannuksia.

Tohtori Greg WettsteinEnjelic Systems Development

Onkologian tutkimusryhmän laskentamalliRoger Marisin syöpäkeskusFargo, ND[email protected]

Stephen TweedieTietojenkäsittelytieteen laitosEdinburghin yliopisto, Skotlanti[email protected]

Juha Virtanen[email protected]

Shane Alderton[email protected]

Martin SchulzeInfodrom Oldenburg[email protected]

Tärkeä: Käytä mies komento ( % mies ), miten komentoa käytetään tietyssä tietokoneessa.

Aiheeseen liittyvät artikkelit

  • sysklogd - Linux Command - Unix-komento
  • rwall - Mikä on rwa