નફો:
- સારાંશ, જૂથ અને સમયરેખા લોગ માટે AI નો ઉપયોગ કરીને અવાજમાં સિગ્નલ ઝડપથી શોધો
- સહસંબંધ અને કાર્યકારણને અલગ કરવાની ક્ષમતા અને કૃત્રિમ બુદ્ધિના મૂળ કારણ સૂચનોને પૂર્વધારણા તરીકે ગણવામાં આવે છે જેને ચકાસવાની જરૂર છે
- આર્ટિફિશિયલ ઇન્ટેલિજન્સ સાથે '5 શા માટે' પદ્ધતિનું સંચાલન કરીને અને દરેક પગલાને વાસ્તવિક પુરાવા સાથે સમર્થન આપીને વાસ્તવિક મૂળ કારણ સુધી પહોંચવાની ક્ષમતા
લોગ વિશ્લેષણ અને મૂળ કારણ વિશ્લેષણ: AI સાથે અવાજમાં સિગ્નલ શોધવું
જ્યારે સિસ્ટમ ક્રેશ થાય છે, ત્યારે તમે પ્રથમ સ્થાન લોગ જુઓ છો. લોગ એ એક ટેક્સ્ટ સ્ટ્રીમ છે જે સિસ્ટમ અથવા એપ્લિકેશનના "મેં શું કર્યું, શું થયું, શું તૂટી ગયું" નો સમય-સ્ટેમ્પ્ડ રેકોર્ડ રાખે છે. પરંતુ આધુનિક ઈન્ફ્રાસ્ટ્રક્ચર કલાક દીઠ લાખો લોગનું ઉત્પાદન કરે છે; તે માહિતીનો દરિયો નથી, પરંતુ ઘણીવાર અવાજનો મહાસાગર છે. લોગ વિશ્લેષણ એ આ અવાજમાં મહત્વપૂર્ણ સંકેત (ભૂલ, અસામાન્યતા, પેટર્ન) શોધવાની કળા છે. ઘટના પછી "વાસ્તવિક કારણ શું હતું" પ્રશ્નનો જવાબ આપવાની પ્રક્રિયાને મૂળ કારણ વિશ્લેષણ (RCA - રુટ કોઝ એનાલિસિસ) કહેવામાં આવે છે. અહીં, AI એ સેકન્ડ દીઠ હજારો લીટીઓનો સારાંશ આપવા, પેટર્ન કાઢવા, સમયરેખા સ્થાપિત કરવા અને સંભવિત કારણોને સૂચિબદ્ધ કરવામાં ખૂબ જ શક્તિશાળી છે. પરંતુ સાવધાનીનો એક શબ્દ: AI સંભવિત કારણો પેદા કરે છે; તમે તે છો જે સિસ્ટમમાં ચકાસણી કરે છે કે કયું વાસ્તવિક છે અને નિર્ણય લે છે.
આ એકમમાં તમે શીખી શકશો કે કેવી રીતે AI સાથે લોગ્સનો વિશ્વાસપૂર્વક સારાંશ આપવો, ઘટનાની સમયરેખા કેવી રીતે સ્થાપિત કરવી, કેવી રીતે સહસંબંધ (એકસાથે બદલવું) અને કાર્યકારણ (એકનું કારણ અન્ય) વચ્ચે તફાવત કેવી રીતે કરવો અને AI સાથે "5 Whys" જેવી RCA પદ્ધતિ કેવી રીતે ચલાવવી.
શા માટે સહસંબંધ કારણભૂત નથી?
આ એકમનો આ સૌથી મહત્વપૂર્ણ ખ્યાલ છે. માત્ર કારણ કે એક જ સમયે બે ઘટનાઓ થાય છે, એક અન્ય કારણ નથી. સર્વરનું CPU અને નેટવર્ક ટ્રાફિક એક જ સમયે વધી શકે છે; પરંતુ એક બીજાનું પરિણામ નથી, બંને ત્રીજી ઘટનાનું પરિણામ હોઈ શકે છે (ઉદાહરણ તરીકે, બેચ જોબની શરૂઆત). જ્યારે AI મેટ્રિક્સને એકસાથે બદલાતા જુએ છે, ત્યારે તે અનુમાન કરે છે કે "કદાચ X કારણે Y છે." આ એક પ્રારંભિક બિંદુ છે, નિષ્કર્ષ નથી. કાર્યકારણને ચકાસવા માટે, તમારે કાં તો ચલને અલગ કરવાની જરૂર છે (પરીક્ષણ વાતાવરણમાં Xને ટ્રિગર કરો અને જુઓ કે Y થાય છે કે નહીં) અથવા મિકેનિઝમ સાબિત કરો (તકનીકી માધ્યમો બતાવો કે જેના દ્વારા X Y ઉત્પન્ન કરે છે).
સાવધાન: AI ના વાક્યને "આ કદાચ આ કારણે થયું છે" ને અનુમાન તરીકે લો, શોધ તરીકે નહીં. આરસીએમાં, ખોટો મૂળ કારણ ઘટનાની ખોટી સુધારણા અને પુનરાવૃત્તિ તરફ દોરી જાય છે. તમને પ્રથમ શંકાસ્પદ વ્યક્તિ મળી છે, કારણ નહીં; ત્યાં કામ શરૂ થાય છે.
સ્ટેપ બાય સ્ટેપ: AI સાથે લોગ એનાલિસિસ
- અવકાશ સંકુચિત કરો. ઇવેન્ટ વિંડો આપો, સમગ્ર લોગ નહીં: "ઇવેન્ટ 14:05 વાગ્યે શરૂ થઈ, 14:00–14:20 થી મહત્વપૂર્ણ". AI ને સંબંધિત સમય સ્લોટ અને સેવા જણાવો.
- માસ્ક. લૉગ્સમાં આંતરિક IP, યજમાનનું નામ, વપરાશકર્તા અને ટોકન હોય છે. તેમને માસ્ક કરો (10.x.x.x, host-A, user1, REDACTED) પછી નિકાસ કરો.
- સારાંશ અને જૂથની વિનંતી કરો. "આ લોગને ગંભીરતા દ્વારા જૂથબદ્ધ કરો, પુનરાવર્તિત ભૂલોની ગણતરી કરો, પ્રથમ ભૂલનો ટાઇમસ્ટેમ્પ શોધો." રચના માટે પૂછો, કાચા લોગ માટે નહીં.
- સમયરેખા સેટ કરો. "આ ઇવેન્ટ્સને સમય ક્રમમાં ગોઠવો અને બતાવો કે શું અનુસરે છે." પ્રથમ ડોમિનો શોધવો એ મૂળ કારણનો માર્ગ છે.
- પૂર્વધારણા માટે પૂછો, પુરાવા નહીં. "સંભાવનાના ક્રમમાં સંભવિત મૂળ કારણોની સૂચિ બનાવો અને દરેક માટે સિસ્ટમ પર ચલાવવા માટે મને એક ચકાસણી આદેશ આપો." નિદાન માટે પૂછો, પરિણામ નહીં.
- સિસ્ટમમાં ચકાસો. દરેક પૂર્વધારણાને ફક્ત વાંચવા માટેના ડાયગ્નોસ્ટિક આદેશો (લોગ grep, સ્ટેટસ ક્વેરી, મેટ્રિક) વડે ચકાસો. જ્યાં સુધી માત્ર એક પુષ્ટિ મૂળ કારણ ન હોય ત્યાં સુધી દૂર કરો.
5 શા માટે પદ્ધતિ
RCA નું ઉત્તમ અને શક્તિશાળી સાધન "5 Whys" છે: એક લક્ષણથી શરૂ કરીને "શા માટે?" પાંચ વખત પૂછીને, તમે સપાટીના લક્ષણની નીચે મૂળ કારણ સુધી પહોંચો છો. ઉદાહરણ: "સાઇટ ક્રેશ થઈ. શા માટે? એપ્લિકેશન મૃત્યુ પામી કારણ કે તેની મેમરી સમાપ્ત થઈ ગઈ છે. શા માટે? એક ક્વેરી બધી મેમરીનો ઉપયોગ કરે છે. શા માટે? ક્વેરી અનુક્રમણિકાનો ઉપયોગ કરતી નથી. શા માટે? અનુક્રમણિકા છેલ્લી રિલીઝમાં કાઢી નાખવામાં આવી હતી. શા માટે? ફેરફારની સમીક્ષામાં આની નોંધ લેવામાં આવી નથી." મૂળ કારણ સપાટી "સાઇટ ક્રેશ" નથી પરંતુ "નબળી ફેરફાર સમીક્ષા પ્રક્રિયા" છે. AI આ સાંકળ બનાવવા માટે એક સારો ભાગીદાર હશે — પરંતુ તમારે વાસ્તવિક પુરાવા સાથે દરેક "શા માટે" પગલાંનો બેકઅપ લેવો જોઈએ, અથવા AI બુદ્ધિગમ્ય પરંતુ ખોટી સાંકળ સાથે આવી શકે છે.
ત્રણ નાના કેસો
કેસ 1 — 40,000 લાઇન, 3 મિનિટ. એક એડમિનિસ્ટ્રેટરે રાતોરાત આઉટેજ દરમિયાન એપ્લિકેશન લોગની 40,000 લાઇન મેન્યુઅલી સ્કેન કરવાનું શરૂ કર્યું હતું. તેણે AI ને માસ્ક કરેલા લોગનો સંબંધિત 20-મિનિટનો ભાગ આપ્યો અને સારાંશ અને જૂથ બનાવવા માટે કહ્યું. AI એ પ્રથમ OutOfMemory બગને 02:14 વાગ્યે ફ્લેગ કર્યો, સમયસમાપ્તિ બગ્સમાં વધારો કર્યા પછી. એન્જિનિયરે 3 મિનિટમાં સમયપત્રક મેળવ્યું; તેની પોતાની મેટ્રિક પેનલ પર મૂળ નિદાનની પુષ્ટિ કરી.
કેસ 2 — ખોટા મૂળ કારણથી પાછા ફરવું. એક ટીમે વિચાર્યું કે AI ની પ્રથમ પૂર્વધારણા ("લૉગ્સ ફિલ્ડ ધ ડિસ્ક") સાચી હતી અને તેણે લૉગ્સ સાફ કર્યા. પરંતુ બીજા દિવસે આ ઘટનાનું પુનરાવર્તન થયું. બીજા રાઉન્ડમાં, તેઓએ શિસ્ત સાથે "5 Whys" ને અમલમાં મૂક્યું: વાસ્તવિક કારણ એ હતું કે એપ્લિકેશન ભૂલ પ્રતિ સેકન્ડ સેંકડો કોર ડમ્પ લખી રહી હતી. પ્રથમ પૂર્વધારણા સહસંબંધ હતી; સાચું કારણ અલગ હતું. ચકાસણી વિના સ્વીકૃતિએ માત્ર એક દિવસની રાહત પૂરી પાડી હતી.
કેસ 3 — સમયરેખાને ગુનેગાર મળ્યો. તૂટક તૂટક નેટવર્ક આઉટેજ દરમિયાન ડઝનેક ઉપકરણોના લોગ હતા. એન્જિનિયરે AI ને માસ્ક કરેલા લોગ આપ્યા અને તેને એકીકૃત સમયરેખા બનાવી. ચાર્ટ દર્શાવે છે કે દરેક આઉટેજ રિડન્ડન્સી સ્વિચ હેલ્થ ચેક મેસેજ પછી બરાબર 30 સેકન્ડમાં શરૂ થયો હતો. આ સહસંબંધ એક મજબૂત ચાવી હતી; ટીમે ઉપકરણ પર કીની ફર્મવેર ભૂલની ચકાસણી કરી અને તેને બદલી નાખી.
ચાર નકલ કરી શકાય તેવા નમૂનાઓ
1) લોગ સારાંશ અને જૂથીકરણ:
નીચે [સેવા] માટે 14:00-14:20 સુધીનો માસ્ક્ડ લોગ છે. મને કહો: (1) ગંભીરતા (ERROR/WARN/INFO), (2) ટોચની 5 રિકરિંગ ભૂલ પેટર્નની યાદી બનાવો, (3) પ્રથમ ERROR નો ટાઇમસ્ટેમ્પ શોધો. કાચા લોગને ફરીથી લખશો નહીં, ફક્ત એક સંરચિત સારાંશ આપો. મેડ-અપ લાઇન ઉમેરવી. લોગ: [માસ્ક્ડ લોગ]
2) સમયરેખા સેટ કરવી:
અમે નીચેના માસ્ક કરેલા ઇવેન્ટ રેકોર્ડ્સને એક સમયરેખા (ટાઇમસ્ટેમ્પ + સ્ત્રોત + ઇવેન્ટ) માં ગોઠવ્યા છે. શું અનુસરે છે તે બતાવો અને પ્રથમ ટ્રિગર લાગે તેવી ઘટનાને ચિહ્નિત કરો. નોંધ કરો કે આ એક પૂર્વધારણા છે અને કાર્યકારણ ચકાસવાની જરૂર છે. રેકોર્ડિંગ્સ: [માસ્ક્ડ રેકોર્ડિંગ્સ]
3) 5 કારણો RCA ભાગીદાર:
તમારી ભૂમિકા: RCA ફેસિલિટેટર. લક્ષણ: [લક્ષણ].મારી સાથે “5 શા માટે” કરો: એ “શા માટે?” દરેક પગલા પર. પૂછો, હું મારી પાસે પુરાવા સાથે જવાબ આપીશ, તમે આગળનો પ્રશ્ન પૂછો. જો મારા પુરાવા નબળા છે, તો મને ચેતવણી આપો અને મને કહો કે મારે કયો ડેટા એકત્રિત કરવાની જરૂર છે. પુરાવા વિના મૂળ કારણ જાહેર કરશો નહીં.
4) પૂર્વધારણા + ચકાસણી આદેશ:
સંભવિતતાના ક્રમમાં આ લક્ષણ [લક્ષણ] માટે સંભવિત મૂળ કારણોની સૂચિ બનાવો. દરેક કારણોસર: (a) તમને શું શંકા છે, (b) મારી સિસ્ટમ પર ચલાવવા માટે મને ફક્ત વાંચવા માટે ચકાસણી આદેશ આપો (કોઈ કાઢી નાખો/બદલો નહીં). સમજાવો કે કયા પરિણામ પૂર્વધારણાની પુષ્ટિ કરે છે અથવા તેને ખોટી પાડે છે.
નબળા પ્રોમ્પ્ટ / મજબૂત પ્રોમ્પ્ટ
નબળા પ્રોમ્પ્ટ:
આ લોગમાં શું ખોટું છે? [કાચા લોગની 10,000 રેખાઓ]
આ પ્રોમ્પ્ટ બંને સંવેદનશીલ ડેટાને માસ્ક વગર લીક કરે છે અને AI ને સંદર્ભ વગર છોડી દે છે. AI રેન્ડમ લાઇન પર ઠોકર મારી શકે છે અને સુપરફિસિયલ અથવા તો બનાવેલું કારણ આપી શકે છે.
શક્તિશાળી પ્રોમ્પ્ટ:
તમારી ભૂમિકા: વરિષ્ઠ SRE. ઇવેન્ટ: ચુકવણી સેવાએ 02:10-02:25 ની વચ્ચે 50% ભૂલ આપી. નીચે તે વિંડોનો માસ્ક્ડ લોગ છે. મને આપો. કાર્યકારી દાવાઓને પૂર્વધારણા તરીકે ચિહ્નિત કરો. લોગ: [માસ્ક્ડ લોગ]
પગલું
હેતુ
AI ની ભૂમિકા
માણસની ભૂમિકા
સારાંશ/ગ્રુપિંગ
અવાજ ઓછો કરો
હજારો પંક્તિઓ ગોઠવી રહ્યા છીએ
અવકાશ અને માસ્ક નક્કી કરો
સમયરેખા
પ્રથમ ડોમિનો શોધવી
ઘટનાઓનું વર્ગીકરણ
સ્ટેમ્પ માન્ય કરો
પૂર્વધારણા પેઢી
શંકાસ્પદોની છટણી
શક્યતાઓની યાદી બનાવો
સંદર્ભ દ્વારા ફિલ્ટર કરો
ચકાસણી
સાચું કારણ શોધો
ડાયગ્નોસ્ટિક આદેશ સૂચવો
આદેશ ચલાવો અને ટિપ્પણી કરો
નિર્ણય
ઠીક કરવાનું પસંદ કરી રહ્યાં છીએ
ઓફર વિકલ્પો
નિર્ણય લો અને પુષ્ટિ કરો
સામાન્ય ભૂલો
- કાર્યકારણ માટે સહસંબંધની ભૂલ. "એકને કારણે અન્ય" તરીકે બદલાતા બે મેટ્રિક્સને સ્વીકારવાથી ખોટું કરેક્શન થાય છે.
- માસ્ક વગર કાચા લોગને ચોંટાડી રહ્યા છીએ. ઓપન ટૂલને IP, ટોકન અને વપરાશકર્તા ધરાવતો લોગ આપવો એ સુરક્ષાનું ઉલ્લંઘન છે.
- પ્રથમ પૂર્વધારણાને મૂળ કારણ તરીકે જાહેર કરવી. AI ના પ્રથમ સૂચનને ચકાસ્યા વિના સ્વીકારવું એ ઘટનાના પુનરાવર્તન માટેનું આમંત્રણ છે.
- સમગ્ર લોગની નિકાસ કરી રહ્યું છે. સંદર્ભ વિના વિશાળ લોગ એઆઈને રેન્ડમ લાઇનમાં પ્લગ કરે છે; ઇવેન્ટ વિન્ડો પર સંકુચિત કરો.
- પુરાવા વિનાના 5 કારણો. જો તમે દરેક "શા માટે" સ્ટેપનો વાસ્તવિક ડેટા સાથે બેકઅપ નહીં લો, તો તમે બુદ્ધિગમ્ય પરંતુ બનાવેલી સાંકળ સાથે સમાપ્ત થશો.
ટીપ: આરસીએ સમાપ્ત કરતા પહેલા, પૂછો કે "જો આ મૂળ કારણ ખરેખર ઠીક છે, તો શું તે ફરીથી થશે નહીં?" પ્રશ્ન પૂછો. જો જવાબ "કદાચ" છે, તો તમે હજી સુધી મૂળ કારણ સુધી પહોંચ્યા નથી; બીજાને પૂછો "કેમ".
સારાંશમાં
લોગ વિશ્લેષણ અવાજના મહાસાગરમાં સિગ્નલ શોધવા વિશે છે; AI આ મહાસાગરને સેકન્ડોમાં સારાંશ આપે છે અને તેની રચના કરે છે, સમયરેખા સ્થાપિત કરે છે અને પૂર્વધારણાઓ જનરેટ કરે છે. પરંતુ સહસંબંધ એ કારણ નથી: એઆઈ દ્વારા સૂચવવામાં આવેલ કારણ એ પ્રારંભિક શંકા છે, જ્યાં સુધી પુષ્ટિ ન થાય ત્યાં સુધી શોધ નથી. ઇવેન્ટ વિન્ડોમાં લોગને સંકુચિત કરો, તેને માસ્ક કરો, સ્ટ્રક્ચર માટે પૂછો, “5 Whys” વડે ઊંડો ખોદવો અને સિસ્ટમ પર દરેક પૂર્વધારણાને ફક્ત-વાંચી શકાય તેવા આદેશો વડે પરીક્ષણ કરો. તમે તે છો જે મૂળ કારણ શોધે છે અને ફિક્સની પુષ્ટિ કરે છે; AI તમારો સાથી છે.
એપ્લિકેશન કાર્ય
ભૂતકાળની ઇવેન્ટ (અથવા પરીક્ષણ ઇવેન્ટ) ના લોગ લો, તેને ઇવેન્ટ વિંડોમાં સંકુચિત કરો અને કોઈપણ સંવેદનશીલ વિસ્તારોને માસ્ક કરો. ઉપરોક્ત “લોગ સારાંશ” અને “સમયરેખા” ટેમ્પ્લેટ્સ સાથે AI પાસેથી સારાંશ અને શેડ્યૂલની વિનંતી કરો. પછી "5 કારણો RCA ભાગીદાર" ટેમ્પ્લેટ સાથે લક્ષણમાંથી મૂળ કારણ પર જાઓ; દરેક પગલા માટે તમારા પોતાના પુરાવા લખો. અંતે, ચકાસણી આદેશ સાથે AI ની પ્રારંભિક પૂર્વધારણાનું પરીક્ષણ કરો અને રેકોર્ડ કરો કે તે પુષ્ટિ છે કે અસ્વીકાર્ય છે. 6 વસ્તુઓમાં પ્રક્રિયાનો સારાંશ આપો.
ચેકલિસ્ટ
- [ ] શું મેં ઇવેન્ટ વિન્ડોમાં લોગ સંકુચિત કર્યો છે અને સંવેદનશીલ વિસ્તારોને માસ્ક કર્યા છે?
- [ ] શું મેં AI ને સંરચિત સારાંશ અને સમયરેખા માટે પૂછ્યું હતું, કાચા લોગ માટે નહીં?
- [ ] શું મેં AI ના કાર્યકારી દાવાઓને પૂર્વધારણા તરીકે ચિહ્નિત કર્યા છે?
- [ ] શું મેં સિસ્ટમ પર દરેક પૂર્વધારણાને ફક્ત-રીડ-ઓન્લી વેરિફિકેશન કમાન્ડ વડે પરીક્ષણ કર્યું છે?
- [ ] શું મેં વાસ્તવિક પુરાવા સાથે “5 શા માટે” ના દરેક પગલાનું સમર્થન કર્યું છે?
- [ ] શું મેં પ્રશ્ન કર્યો અને નિર્ણય લીધો કે શું મૂળ કારણ ખરેખર ઘટનાને અટકાવશે?