Aħna ħbieb ma 'ELK u Skambju. Parti 1

Aħna ħbieb ma 'ELK u Skambju. Parti 1

Qed nibda serje ta 'artikoli fejn irrid naqsam l-esperjenza tiegħi li jgħaqqad Exchange u ELK. Dan il-munzell se jgħinna nipproċessaw volumi kbar ta 'zkuk u ma jkollniex għalfejn nistaqsu f'liema daqs l-għodod tas-siġar tas-soltu jirrifjutaw li jgħinuna. Ejja niffamiljarizzaw ruħhom mal-ġlied tal-ġurnal il-ġdid.

L-iskambju għandu sistema ta' qtugħ pjuttost estensiva. L-aktar zkuk popolari huma traċċar zkuk, li jsegwu l-passaġġ pass pass ta 'ittra speċifika fi ħdan organizzazzjoni postali; zkuk tas-server tal-web, li jsegwu kull sessjoni ta 'utent ġdid fis-sistema, u zkuk ta' applikazzjonijiet speċifiċi tal-web bi gradi differenti ta 'dettall tas-sessjoni. Skambju jista 'wkoll jaħżen zkuk mhux maħduma tal-protokolli smtp, imap u pop3.

Liema għodod nistgħu nużaw biex naħdmu maz-zkuk:

  • Cmdlet standard Get-MessageTrackingLog: jipproċessa b'mod konvenjenti zkuk tat-traċċar;
  • L-utilità logparser: għall-illoggjar, tuża lingwa ta 'tfittxija psewdo-SQL u taħdem pjuttost malajr;
  • Server SQL estern: għal każijiet speċifiċi ħafna (pereżempju, analiżi tad-dejta fuq perjodi twal ta 'żmien).

Dan kollu jaħdem tajjeb meta jkollna koppja ta’ servers u l-volum ta’ zkuk ipproċessati jitkejjel f’għexieren jew mijiet ta’ gigabytes. Imma x'jiġri jekk in-numru ta 'servers huwa fl-għexieren, u d-daqs tal-zkuk jaqbeż terabyte? Din l-iskema x'aktarx tibda tisfar.

U dan huwa dak li jiġri: Get-MessageTrackingLog jibda jieqaf, logparser jolqot il-limitu ta 'l-arkitettura ta' 32-bit, u t-tlugħ fis-server SQL tkisser fl-iktar mument inopportun, mingħajr ma tiddiġerixxi l-eċċezzjoni b'ħafna linji mis-servizz.

Hawnhekk jidħol fix-xena plejer ġdid - il-munzell ELK, li huwa ddisinjat apposta biex jgħaqqad volumi kbar ta 'zkuk fi żmien raġonevoli u b'konsum ta' riżorsi tollerabbli.

Fl-ewwel parti ngħidlek fid-dettall, kif tikkonnettja filebeat li jappartjeni għal parti mill-munzell ELK — huwa responsabbli biex jaqra u jibgħat fajls ta' test sempliċi li fihom applikazzjonijiet differenti jiktbu r-reġistri tagħhom. Fl-artikoli li ġejjin se nagħtu ħarsa aktar mill-qrib lejn il-komponenti Logstash u Kibana.

Installazzjoni

Allura, filebeat fajl arkivju aġent jistgħu jitniżżlu minn dan is-sit.

Aħna se tlesti l-installazzjoni billi sempliċiment estratt il-kontenut tal-fajl zip. Per eżempju, fi c:Program Filesfilebeat. Imbagħad għandek bżonn tmexxi l-iskrittura PowerShell install-service-filebeat.ps1, li jiġi mal-kit, biex tinstalla s-servizz filebeat.

Issa aħna lesti biex nibdew inwaqqfu l-fajl tal-konfigurazzjoni.

tolleranza għall-ħsarat

Filebeat jiggarantixxi l-kunsinna taz-zkuk lis-sistema tal-ġbir taz-zkuk. Dan jinkiseb billi jinżamm reġistru ta' daħliet fil-log files. Ir-reġistru jaħżen informazzjoni dwar dawk ir-rekords li nqraw minn log files, u jimmarka rekords speċifiċi li setgħu jitwasslu fid-destinazzjoni.

Jekk rekord ma jistax jitwassal, filebeat jipprova jibgħatha mill-ġdid sakemm jirċievi konferma tal-kunsinna mis-sistema li tirċievi jew il-fajl tal-ġurnal oriġinali jitħassar matul il-proċess ta 'rotazzjoni.

Meta s-servizz jerġa' jinbeda, filebeat se jaqra informazzjoni mir-reġistru dwar l-aħħar rekords moqrija u mogħtija, u se jaqra rekords fil-log files ibbażati fuq l-informazzjoni fir-reġistru.

Dan jippermettilek timminimizza r-riskju li titlef l-informazzjoni tal-log li trid tintbagħat lis-servers elasticlogstash waqt fallimenti mhux mistennija u operazzjonijiet ta 'manutenzjoni tas-server.

Tista' titgħallem aktar dwar dan aqra d-dokumentazzjoni fil-paragrafi: Kif Filebeat iżomm l-istat tal-fajls u Kif Filebeat jiżgura kunsinna tal-inqas darba?

aġġustament

Il-konfigurazzjoni kollha ssir fil-fajl tal-konfigurazzjoni tal-format yml, li hija maqsuma f'diversi taqsimiet. Ejja nħarsu lejn xi wħud minnhom li huma involuti fil-proċess ta 'ġbir ta' zkuk minn servers Exchange.

Blokk tal-ipproċessar tal-log

Il-blokk tal-ipproċessar taz-zkuk jibda bil-field:

filebeat.inputs:

Se nużaw għodda komuni għall-ġbir ta' zkuk:

- type: log

Sussegwentement, indika l-istatus (attivat) u t-triq għall-folder biż-zkuk. Pereżempju, fil-każ ta' zkuk IIS, is-settings jistgħu jkunu kif ġej:

    enabled: true
    paths:
	- C:inetpublogsLogFilesW3SVC1*.log
	- C:inetpublogsLogFilesW3SVC2*.log

Setting importanti ieħor huwa kif filebeat għandu jaqra rekords b'ħafna linji. B'mod awtomatiku, filebeat iqis linja waħda ta' fajl log bħala entrata waħda. Dan jaħdem tajjeb sakemm nibdew nirċievu eċċezzjonijiet fil-log tagħna relatati mal-operat ħażin tas-servizz. F'dan il-każ, l-eċċezzjonijiet jistgħu jikkonsistu f'diversi linji. Għalhekk filebeat għandu jgħodd dħul b'ħafna linji bħala wieħed jekk il-linja li jmiss tibda b'data. Il-format għar-reġistrazzjoni ta' zkuk fl-Iskambju huwa kif ġej: kull dħul ġdid fil-fajl tar-reġistru jibda b'data. Fil-konfigurazzjoni, din il-kundizzjoni tidher bħal din:

multiline:
	pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
	negate: true
	match: after

Jagħmel sens li żżid tags mal-post li qed tibgħat, pereżempju:

  tags: ['IIS', 'ex-srv1']

U tinsiex teskludi mil-linji tal-ipproċessar li jibdew b'karattru hash:

  exclude_lines: ['^#']

Allura, il-blokk tal-qari tal-log se jidher bħal dan:

filebeat.inputs:
- type: log
  enabled: true
  paths:
	- C:inetpublogsLogFilesW3SVC1*.log
	- C:inetpublogsLogFilesW3SVC2*.log
  multiline:
	pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
	negate: true
	match: after
  tags: ['IIS', 'ex-srv1']
  exclude_lines: ['^#']

Blokk li jibgħat log

Filebeat jibgħat entrati individwali fil-fajl tal-ġurnal bħala oġġett json, li fih entrata speċifika mir-reġistru tinsab f'qasam ta 'messaġġ wieħed. Jekk irridu naħdmu b'xi mod b'din l-informazzjoni, jeħtieġ li l-ewwel naqsbu dan il-qasam f'oqsma separati. Dan jista 'jsir, pereżempju, fil-logstash. Huwa se jkun ir-riċevitur tar-rekords minn filebeat. Hawn kif jista' jidher f'fajl ta' konfigurazzjoni ta' filebeat:

output.logstash:
  hosts: ["logstash1.domain.com:5044"]

Jekk hemm diversi servers, allura tista 'tippermetti l-ibbilanċjar għalihom: allura filebeat mhux se jibgħat zkuk lill-ewwel server disponibbli mil-lista, iżda se jqassam ir-zkuk mibgħuta fost diversi servers:

hosts: ["logstash1.domain.com:5044", "logstash2.domain.com:5044"]
  loadbalance: true 

Filebeat, meta jipproċessa zkuk fil-json mibgħut, minbarra l-entrata tal-log li tinsab fil-qasam tal-messaġġ, iżid ċertu ammont ta 'metadata, li jaffettwa d-daqs tad-dokument li jispiċċa elastiku. Din il-metadejta tista' titneħħa b'mod selettiv mis-sottomissjoni. Dan isir fil-blokk tal-proċessur bl-użu tal-proċessur drop_fields. Pereżempju, tista' teskludi l-oqsma li ġejjin:

processors:
- drop_fields:
	fields: ["agent.ephemeral_id", "agent.hostname", "agent.id", "agent.type", "agent.version", "agent", "ecs.version", "ecs", "input.type", "input", "log.offset", "version"]

Għandek tavviċina l-għażla ta 'oqsma esklużi bir-reqqa, minħabba li xi wħud minnhom jistgħu jintużaw fuq in-naħa elastika biex jibnu indiċi.

Allura, il-blokk li jibgħat il-log se jidher bħal dan:

output.logstash:
  hosts: ["logstash1.domain.com:5044", "logstash2.domain.com:5044"]
  loadbalance: true
 
processors:
- drop_fields:
	fields: ["agent.ephemeral_id", "agent.hostname", "agent.id", "agent.type", "agent.version", "agent", "ecs.version", "ecs", "input.type", "input", "log.offset", "version"]

settings tal-illoggjar tal-filebeat

Jagħmel sens li jiġu stabbiliti s-settings tal-illoggjar li ġejjin:

  • Informazzjoni dwar il-livell tal-illoggjar;
  • Aħna niktbu zkuk għal fajls li jinsabu awtomatikament (direttorju ta 'zkuk, fid-direttorju tal-installazzjoni tal-filebeat);
  • Isem tal-fajl log - filebeat;
  • Aħżen l-aħħar 10 log files;
  • Ibda r-rotazzjoni meta d-daqs jilħaq 1MB.

Il-blokk finali tal-konfigurazzjoni tal-illoggjar se jidher bħal dan:

logging.level: info
logging.to_files: true
logging.files:
  name: filebeat
  keepfiles: 10
  rotateeverybytes: 1048576

Konfigurazzjoni finali

Immuntajna l-konfigurazzjoni u issa tidher bħal din:

filebeat.inputs:
- type: log
  enabled: true
  paths:
    - C:inetpublogsLogFilesW3SVC1*.log
    - C:inetpublogsLogFilesW3SVC2*.log
  multiline:
    pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
    negate: true
    match: after
  tags: ['IIS', 'ex-srv1']
  exclude_lines: ['^#']
 
output.logstash:
  hosts: ["logstash1.domain.com:5044", "logstash2.domain.com:5044"]
  loadbalance: true
 
processors:
- drop_fields:
    fields: ["agent.ephemeral_id", "agent.hostname", "agent.id", "agent.type", "agent.version", "agent", "ecs.version", "ecs", "input.type", "input", "log.offset", "version"]
 
logging.level: info
logging.to_files: true
logging.files:
  name: filebeat
  keepfiles: 10
  rotateeverybytes: 1048576

Huwa importanti li tifhem li l-format tal-fajl tal-konfigurazzjoni huwa yml. Għalhekk, huwa importanti li jitqiegħdu spazji u sinjali minus b'mod korrett.

Filebeat jista' jiċċekkja l-fajl tal-konfigurazzjoni u, jekk is-sintassi jkun fiha żbalji, se jindika liema linja u fejn fil-linja s-sintassi mhix korretta. Il-kontroll isir kif ġej:

.filebeat.exe test config

Filebeat jista 'wkoll jiċċekkja d-disponibbiltà tan-netwerk tar-riċevitur tal-log. Il-kontroll jibda hekk:

.filebeat.exe test output

Fil-partijiet li ġejjin se nitkellem dwar il-konnessjoni u l-ħbiberija ta 'Skambju mal-komponenti Logstash u Kibana.

Links utli

Sors: www.habr.com

Ixtri hosting affidabbli għal siti bi protezzjoni DDoS, servers VPS VDS 🔥 Ixtri hosting ta' websajts affidabbli bi protezzjoni DDoS, servers VPS VDS | ProHoster