నేను Exchange మరియు ELKని కనెక్ట్ చేయడంలో నా అనుభవాన్ని పంచుకోవాలనుకునే కథనాల శ్రేణిని ప్రారంభిస్తున్నాను. ఈ స్టాక్ మాకు పెద్ద వాల్యూమ్ల లాగ్లను ప్రాసెస్ చేయడంలో సహాయపడుతుంది మరియు సాధారణ లాగింగ్ సాధనాలు ఏ పరిమాణంలో మాకు సహాయం చేయడానికి నిరాకరిస్తాయో ఆలోచించాల్సిన అవసరం లేదు. కొత్త లాగ్ ఫైటర్తో పరిచయం చేసుకుందాం.
Exchange చాలా విస్తృతమైన లాగింగ్ వ్యవస్థను కలిగి ఉంది. అత్యంత ప్రజాదరణ పొందిన లాగ్లు ట్రాకింగ్ లాగ్లు, ఇవి పోస్టల్ సంస్థలోని నిర్దిష్ట లేఖ యొక్క దశల వారీ భాగాన్ని ట్రాక్ చేస్తాయి; సిస్టమ్లోని ప్రతి కొత్త వినియోగదారు సెషన్ను ట్రాక్ చేసే వెబ్ సర్వర్ లాగ్లు మరియు వివిధ స్థాయిల సెషన్ వివరాలతో నిర్దిష్ట వెబ్ అప్లికేషన్ల లాగ్లు. Exchange smtp, imap మరియు pop3 ప్రోటోకాల్ల ముడి లాగ్లను కూడా నిల్వ చేయగలదు.
లాగ్లతో పని చేయడానికి మనం ఏ సాధనాలను ఉపయోగించవచ్చు:
ప్రామాణిక cmdlet Get-MessageTrackingLog: సౌకర్యవంతంగా ట్రాకింగ్ లాగ్లను ప్రాసెస్ చేయండి;
లాగ్పార్సర్ యుటిలిటీ: లాగింగ్ కోసం, ఒక సూడో-SQL శోధన భాషను ఉపయోగిస్తుంది మరియు చాలా త్వరగా పని చేస్తుంది;
బాహ్య SQL సర్వర్: చాలా నిర్దిష్ట కేసుల కోసం (ఉదాహరణకు, చాలా కాలం పాటు డేటాను విశ్లేషించడం).
మేము రెండు సర్వర్లను కలిగి ఉన్నప్పుడు మరియు ప్రాసెస్ చేయబడిన లాగ్ల వాల్యూమ్ పదుల లేదా వందల గిగాబైట్లలో కొలవబడినప్పుడు ఇవన్నీ బాగా పని చేస్తాయి. సర్వర్ల సంఖ్య డజన్ల కొద్దీ ఉంటే మరియు లాగ్ల పరిమాణం టెరాబైట్ను మించి ఉంటే? ఈ పథకం చాలా మటుకు కూలిపోతుంది.
మరియు ఇది జరుగుతుంది: Get-MessageTrackingLog సమయం ముగిసింది, లాగ్పార్సర్ 32-బిట్ ఆర్కిటెక్చర్ యొక్క సీలింగ్ను తాకుతుంది మరియు SQL సర్వర్కు అప్లోడ్ చేయడం అనేది సేవ నుండి బహుళ-లైన్ మినహాయింపును జీర్ణించుకోకుండా చాలా అనుచితమైన సమయంలో విచ్ఛిన్నమవుతుంది.
ఇక్కడ ఒక కొత్త ఆటగాడు సన్నివేశంలోకి ప్రవేశిస్తాడు - ELK స్టాక్, ఇది సహేతుకమైన సమయంలో మరియు సహించదగిన వనరుల వినియోగంతో భారీ వాల్యూమ్ల లాగ్లను గారడీ చేయడం కోసం ప్రత్యేకంగా రూపొందించబడింది.
మొదటి భాగంలో నేను మీకు వివరంగా చెబుతాను, ELK స్టాక్లో భాగానికి చెందిన ఫైల్బీట్ను ఎలా కనెక్ట్ చేయాలి — వివిధ అప్లికేషన్లు వాటి లాగ్లను వ్రాసే సాధారణ టెక్స్ట్ ఫైల్లను చదవడం మరియు పంపడం బాధ్యత. కింది కథనాలలో మేము లాగ్స్టాష్ మరియు కిబానా భాగాలను నిశితంగా పరిశీలిస్తాము.
మేము జిప్ ఫైల్ యొక్క కంటెంట్లను సంగ్రహించడం ద్వారా ఇన్స్టాలేషన్ను పూర్తి చేస్తాము. ఉదాహరణకు, లో c:Program Filesfilebeat. అప్పుడు మీరు పవర్షెల్ స్క్రిప్ట్ను అమలు చేయాలి install-service-filebeat.ps1, ఇది ఫైల్బీట్ సేవను ఇన్స్టాల్ చేయడానికి కిట్తో వస్తుంది.
ఇప్పుడు మేము కాన్ఫిగరేషన్ ఫైల్ను సెటప్ చేయడానికి సిద్ధంగా ఉన్నాము.
తప్పు సహనం
ఫైల్బీట్ లాగ్ సేకరణ వ్యవస్థకు లాగ్ల పంపిణీకి హామీ ఇస్తుంది. లాగ్ ఫైల్లలో ఎంట్రీల రిజిస్టర్ను నిర్వహించడం ద్వారా ఇది సాధించబడుతుంది. రిజిస్ట్రీ లాగ్ ఫైల్ల నుండి చదివిన ఆ రికార్డుల గురించి సమాచారాన్ని నిల్వ చేస్తుంది మరియు గమ్యస్థానానికి బట్వాడా చేయగలిగిన నిర్దిష్ట రికార్డులను సూచిస్తుంది.
రికార్డ్ను బట్వాడా చేయలేకపోతే, ఫైల్బీట్ స్వీకరించే సిస్టమ్ నుండి డెలివరీ నిర్ధారణను స్వీకరించే వరకు దాన్ని మళ్లీ పంపడానికి ప్రయత్నిస్తుంది లేదా భ్రమణ ప్రక్రియలో అసలు లాగ్ ఫైల్ తొలగించబడుతుంది.
సేవ పునఃప్రారంభించబడినప్పుడు, ఫైల్బీట్ రిజిస్ట్రీ నుండి చివరిగా చదివిన మరియు పంపిణీ చేయబడిన రికార్డుల గురించి సమాచారాన్ని చదువుతుంది మరియు రిజిస్ట్రీలోని సమాచారం ఆధారంగా లాగ్ ఫైల్లలోని రికార్డులను చదువుతుంది.
ఊహించని వైఫల్యాలు మరియు సర్వర్ నిర్వహణ కార్యకలాపాల సమయంలో సాగే లాగ్స్టాష్ సర్వర్లకు పంపాల్సిన లాగ్ సమాచారాన్ని కోల్పోయే ప్రమాదాన్ని తగ్గించడానికి ఇది మిమ్మల్ని అనుమతిస్తుంది.
మీరు దీని గురించి మరింత తెలుసుకోవచ్చు పేరాల్లో డాక్యుమెంటేషన్ చదవండి: ఫైల్బీట్ ఫైల్ల స్థితిని ఎలా ఉంచుతుంది మరియు ఫైల్బీట్ కనీసం ఒక్కసారి డెలివరీని ఎలా నిర్ధారిస్తుంది?
సర్దుబాటు
అన్ని కాన్ఫిగరేషన్ ఫార్మాట్ కాన్ఫిగరేషన్ ఫైల్లో జరుగుతుంది yml, ఇది అనేక విభాగాలుగా విభజించబడింది. ఎక్స్ఛేంజ్ సర్వర్ల నుండి లాగ్లను సేకరించే ప్రక్రియలో పాల్గొన్న వాటిలో కొన్నింటిని చూద్దాం.
లాగ్ ప్రాసెసింగ్ బ్లాక్
లాగ్ ప్రాసెసింగ్ బ్లాక్ ఫీల్డ్తో ప్రారంభమవుతుంది:
filebeat.inputs:
మేము సాధారణ లాగ్ సేకరణ సాధనాన్ని ఉపయోగిస్తాము:
- type: log
తరువాత, స్థితి (ప్రారంభించబడింది) మరియు లాగ్లతో ఫోల్డర్కు మార్గాన్ని సూచించండి. ఉదాహరణకు, IIS లాగ్ల విషయంలో, సెట్టింగ్లు క్రింది విధంగా ఉండవచ్చు:
ఫైల్బీట్ మల్టీ-లైన్ రికార్డ్లను ఎలా చదవాలి అనేది మరొక ముఖ్యమైన సెట్టింగ్. డిఫాల్ట్గా, ఫైల్బీట్ లాగ్ ఫైల్లోని ఒక లైన్ను ఒక ఎంట్రీగా పరిగణిస్తుంది. సేవ యొక్క తప్పు ఆపరేషన్కు సంబంధించి మా లాగ్లో మినహాయింపులను స్వీకరించడం ప్రారంభించే వరకు ఇది బాగా పని చేస్తుంది. ఈ సందర్భంలో, మినహాయింపులు అనేక పంక్తులను కలిగి ఉండవచ్చు. కాబట్టి ఫైల్బీట్ తప్పనిసరిగా ఒక బహుళ-లైన్ ఎంట్రీని ఒక తేదీతో తదుపరి పంక్తి ప్రారంభమైతే ఒకటిగా లెక్కించాలి. Exchangeలో లాగ్లను రికార్డ్ చేయడానికి ఫార్మాట్ క్రింది విధంగా ఉంటుంది: లాగ్ ఫైల్లోని ప్రతి కొత్త నమోదు తేదీతో ప్రారంభమవుతుంది. కాన్ఫిగరేషన్లో, ఈ పరిస్థితి ఇలా కనిపిస్తుంది:
multiline:
pattern: '^[0-9]{4}-[0-9]{2}-[0-9]{2}'
negate: true
match: after
మీరు పంపుతున్న పోస్ట్కి ట్యాగ్లను జోడించడం సమంజసం, ఉదాహరణకు:
tags: ['IIS', 'ex-srv1']
మరియు హాష్ అక్షరంతో ప్రారంభమయ్యే ప్రాసెసింగ్ లైన్ల నుండి మినహాయించడం మర్చిపోవద్దు:
Filebeat లాగ్ ఫైల్లోని వ్యక్తిగత ఎంట్రీలను json ఆబ్జెక్ట్గా పంపుతుంది, దీనిలో లాగ్ నుండి నిర్దిష్ట ఎంట్రీ ఒకే సందేశ ఫీల్డ్లో ఉంటుంది. మేము ఈ సమాచారంతో ఏదో ఒకవిధంగా పని చేయాలనుకుంటే, ముందుగా ఈ ఫీల్డ్ను ప్రత్యేక ఫీల్డ్లుగా అన్వయించాలి. ఉదాహరణకు, లాగ్స్టాష్లో దీన్ని చేయవచ్చు. అతను ఫైల్బీట్ నుండి రికార్డుల గ్రహీత అవుతాడు. ఫైల్బీట్ కాన్ఫిగరేషన్ ఫైల్లో ఇది ఎలా ఉంటుందో ఇక్కడ ఉంది:
అనేక సర్వర్లు ఉంటే, మీరు వాటి కోసం బ్యాలెన్సింగ్ను ప్రారంభించవచ్చు: అప్పుడు ఫైల్బీట్ జాబితా నుండి అందుబాటులో ఉన్న మొదటి సర్వర్కు లాగ్లను పంపదు, కానీ పంపిన లాగ్లను అనేక సర్వర్లలో పంపిణీ చేస్తుంది:
ఫైల్బీట్, పంపిన jsonలో లాగ్లను ప్రాసెస్ చేస్తున్నప్పుడు, సందేశ ఫీల్డ్లో ఉన్న లాగ్ ఎంట్రీతో పాటు, కొంత మొత్తంలో మెటాడేటాను జోడిస్తుంది, ఇది సాగే పత్రం యొక్క పరిమాణాన్ని ప్రభావితం చేస్తుంది. ఈ మెటాడేటాను సమర్పణ నుండి ఎంపిక చేసి తీసివేయవచ్చు. ప్రాసెసర్ని ఉపయోగించి ప్రాసెసర్ బ్లాక్లో ఇది జరుగుతుంది drop_fields. ఉదాహరణకు, మీరు ఈ క్రింది ఫీల్డ్లను మినహాయించవచ్చు:
కాన్ఫిగరేషన్ ఫైల్ ఫార్మాట్ yml అని అర్థం చేసుకోవడం ముఖ్యం. అందువల్ల, ఖాళీలు మరియు మైనస్ సంకేతాలను సరిగ్గా ఉంచడం చాలా ముఖ్యం.
Filebeat కాన్ఫిగరేషన్ ఫైల్ని తనిఖీ చేయగలదు మరియు సింటాక్స్లో లోపాలు ఉంటే, అది ఏ లైన్లో మరియు ఎక్కడ వాక్యనిర్మాణం తప్పుగా ఉందో సూచిస్తుంది. చెక్ ఈ క్రింది విధంగా నిర్వహించబడుతుంది:
.filebeat.exe test config
ఫైల్బీట్ లాగ్ రిసీవర్ యొక్క నెట్వర్క్ లభ్యతను కూడా తనిఖీ చేయగలదు. చెక్ ఇలా నడుస్తుంది:
.filebeat.exe test output
కింది భాగాలలో నేను లాగ్స్టాష్ మరియు కిబానా భాగాలతో ఎక్స్ఛేంజ్ యొక్క కనెక్షన్ మరియు స్నేహం గురించి మాట్లాడతాను.