Observability (software)
વિતરિત પ્રણાલીઓમાં, અવલોકનક્ષમતા એ કાર્યક્રમોના અમલીકરણ, મોડ્યુલોની આંતરિક સ્થિતિઓ અને ઘટકો વચ્ચેના સંચાર વિશે માહિતી એકત્રિત કરવાની ક્ષમતા છે. અવલોકનક્ષમતામાં સુધારો કરવા માટે, સોફ્ટવેર ઇજનેરો ટેલિમેટ્રી માહિતી એકત્રિત કરવા માટે લોગિંગ અને ટ્રેસિંગ તકનીકોની વિશાળ શ્રેણીનો ઉપયોગ કરે છે, અને તેનું વિશ્લેષણ કરવા અને તેનો ઉપયોગ કરવા માટે સાધનોનો ઉપયોગ કરે છે. અવલોકનક્ષમતા એ સાઇટ વિશ્વસનીયતા ઇજનેરી માટે પાયાનું છે, કારણ કે તે સર્વિસ આઉટેજને અજમાવવાનું પ્રથમ પગલું છે. અવલોકનક્ષમતાના લક્ષ્યાંકોમાંથી એક એ છે કે સમસ્યાને ઉકેલવા માટે જરૂરી પૂર્વ જ્ઞાનની માત્રાને ઘટાડવી. વ્યુત્પત્તિશાસ્ત્ર, પરિભાષા અને વ્યાખ્યા આ શબ્દ નિયંત્રણ સિદ્ધાંતમાંથી લેવામાં આવ્યો છે, જ્યાં પ્રણાલીની "અવલોકનક્ષમતા" માપે છે કે તેની સ્થિતિ તેના આઉટપુટમાંથી કેટલી સારી રીતે નક્કી કરી શકાય છે. તેવી જ રીતે, સોફ્ટવેર અવલોકનક્ષમતા એ માપે છે કે પ્રાપ્ત ટેલિમેટ્રી (મેટ્રિક્સ, લોગ્સ, ટ્રેસ, પ્રોફાઇલિંગ) માંથી સિસ્ટમની સ્થિતિને કેટલી સારી રીતે સમજી શકાય છે. અવલોકનક્ષમતાની વ્યાખ્યા વિક્રેતા દ્વારા બદલાય છેઃ આ શબ્દને વારંવાર તેના અંક નામ O11y તરીકે ઓળખવામાં આવે છે (જ્યાં 11 એ પ્રથમ અક્ષર અને શબ્દના છેલ્લા અક્ષર વચ્ચેના અક્ષરોની સંખ્યા માટે વપરાય છે). આ i18n અને L10n અને k8s જેવા અન્ય કોમ્પ્યુટર વિજ્ઞાનના સંક્ષિપ્ત શબ્દો જેવું જ છે. અવલોકનક્ષમતા વિ. નિરીક્ષણક્ષમતા અને દેખરેખનો ઉપયોગ કેટલીકવાર એકબીજાના બદલે થાય છે. જેમ જેમ ટૂલિંગ, વ્યાપારી તકોમાંનુ અને પદ્ધતિઓ જટિલતામાં વિકસિત થઈ, તેમ તેમ જૂનાથી નવા સાધનોને અલગ પાડવા માટે "મોનિટરિંગ" ને અવલોકનક્ષમતા તરીકે ફરીથી બ્રાન્ડ કરવામાં આવ્યું હતું. આ શરતો સામાન્ય રીતે વિરોધાભાસી હોય છે જેમાં પ્રણાલીઓનું ટેલિમેટ્રીના પૂર્વવ્યાખ્યાયિત સમૂહોનો ઉપયોગ કરીને નિરીક્ષણ કરવામાં આવે છે, અને નિરીક્ષણ પ્રણાલીઓ અવલોકનક્ષમ હોઈ શકે છે. મેજર વગેરે. સૂચવે છે કે ઇજનેરી ટીમો કે જેમની પાસે માત્ર મોનિટરિંગ સાધનો હોય છે તેઓ નિષ્ણાત પૂર્વજ્ઞાન (વરિષ્ઠતા) પર આધાર રાખે છે, જ્યારે નિરીક્ષણ સાધનો ધરાવતી ટીમો સંશોધન વિશ્લેષણ (જિજ્ઞાસા) પર આધાર રાખે છે. ટેલીમેટ્રી પ્રકારો અવલોકનક્ષમતા ત્રણ મુખ્ય પ્રકારનાં ટેલીમેટ્રી ડેટા પર આધાર રાખે છેઃ મેટ્રિક્સ, લોગ્સ અને ટ્રેસ. તેને ઘણીવાર "અવલોકનક્ષમતાના સ્તંભો" તરીકે ઓળખવામાં આવે છે. મેટ્રિક્સ એ સમય માપન (સ્કેલર) માં એક બિંદુ છે જે અમુક સિસ્ટમ સ્થિતિનું પ્રતિનિધિત્વ કરે છે. સામાન્ય મેટ્રિક્સના ઉદાહરણોમાં નીચેનાનો સમાવેશ થાય છેઃ પ્રતિ સેકન્ડ HTTP વિનંતીઓની સંખ્યા; ક્વેરી નિષ્ફળતાની કુલ સંખ્યા; બાઇટ્સમાં ડેટાબેઝનું કદ; છેલ્લા કચરો સંગ્રહ પછી સેકન્ડોમાં સમય. મોનિટરિંગ ટૂલ્સ સામાન્ય રીતે ચેતવણીઓ બહાર પાડવા માટે ગોઠવવામાં આવે છે જ્યારે ચોક્કસ મેટ્રિક મૂલ્યો સેટ થ્રેશોલ્ડ કરતાં વધી જાય છે. થ્રેશોલ્ડ સામાન્ય ઓપરેટિંગ શરતો અને અનુભવ વિશેના જ્ઞાનના આધારે નક્કી કરવામાં આવે છે. મેટ્રિક્સને સામાન્ય રીતે જૂથ અને શોધક્ષમતાને સરળ બનાવવા માટે ટેગ કરવામાં આવે છે. એપ્લિકેશન ડેવલપર્સ તેમના સોફ્ટવેરને રિલીઝ કરવામાં આવે તે પહેલાં, તેને કેવા પ્રકારનાં મેટ્રિક્સ સાથે ઇન્સ્ટ્રુમેન્ટ કરવું તે પસંદ કરે છે. પરિણામે, જ્યારે અગાઉ અજ્ઞાત સમસ્યાનો સામનો કરવો પડે છે, ત્યારે નવો કોડ મોકલ્યા વિના નવા મેટ્રિક્સ ઉમેરવાનું અશક્ય છે. વધુમાં, તેમની મુખ્યતા ઝડપથી ટેલિમેટ્રી ડેટાના સંગ્રહના કદને પ્રતિબંધિત રીતે ખર્ચાળ બનાવી શકે છે. મેટ્રિક્સ કાર્ડિનાલિટી-મર્યાદિત હોવાથી, તેનો ઉપયોગ ઘણીવાર એકંદર મૂલ્યોનું પ્રતિનિધિત્વ કરવા માટે થાય છે (ઉદાહરણ તરીકેઃ સરેરાશ પૃષ્ઠ લોડ સમય, અથવા વિનંતી દરની 5-સેકન્ડની સરેરાશ). બાહ્ય સંદર્ભ વિના, ઘટનાઓ (જેમ કે વપરાશકર્તા વિનંતીઓ) અને અલગ મેટ્રિક મૂલ્યો વચ્ચે સહસંબંધ બાંધવો અશક્ય છે. લોગ લોગ અથવા લોગ રેખાઓ, સામાન્ય રીતે મુક્ત સ્વરૂપના, બિનસંરચિત લખાણ બ્લોબ્સ હોય છે જેનો હેતુ માનવ વાંચી શકાય તેવો હોય છે. મશીનની પાર્સેબિલિટીને સક્ષમ કરવા માટે આધુનિક લોગિંગની રચના કરવામાં આવી છે. મેટ્રિક્સની જેમ જ, એપ્લિકેશન ડેવલપરે એપ્લિકેશનને અગાઉથી "ઇન્સ્ટ્રુમેન્ટ" કરવી જોઈએ, અને જો અલગ લોગિંગ માહિતીની જરૂર હોય તો નવો કોડ મોકલવો જોઈએ. લોગમાં સામાન્ય રીતે ટાઇમસ્ટેમ્પ અને ગંભીરતા સ્તરનો સમાવેશ થાય છે. ઇવેન્ટ (જેમ કે વપરાશકર્તા વિનંતી) બહુવિધ લોગ રેખાઓમાં વિભાજિત થઈ શકે છે અને સહવર્તી ઇવેન્ટ્સના લોગ સાથે જોડાઈ શકે છે. ટ્રેસ ડિસ્ટ્રિબ્યુટેડ ટ્રેસ ક્લાઉડ નેટિવ એપ્લિકેશન સામાન્ય રીતે ડિસ્ટ્રિબ્યુટેડ સેવાઓથી બનેલી હોય છે જે એકસાથે એક જ વિનંતીને પૂર્ણ કરે છે. ડિસ્ટ્રિબ્યુટેડ ટ્રેસ એ અલગ ઘટનાઓની એકબીજા સાથે સંકળાયેલી શ્રેણી છે (જેને સ્પાન્સ પણ કહેવાય છે) જે એક જ વપરાશકર્તા વિનંતીની પ્રગતિને ટ્રેક કરે છે. એક ટ્રેસ વિનંતી પૂર્ણ કરવા માટે આંતરસંચાલિત સેવાઓ વચ્ચેના કારણભૂત અને અસ્થાયી સંબંધો દર્શાવે છે. ટ્રેસ સાથે એપ્લિકેશનને ઇન્સ્ટ્રુમેન્ટ કરવાનો અર્થ એ છે કે ટ્રેસિંગ બેકએન્ડ પર સ્પાન માહિતી મોકલવી. ટ્રેસિંગ બેકએન્ડ પ્રસ્તુત કરી શકાય તેવા નિશાન પેદા કરવા માટે પ્રાપ્ત સ્પાન્સને સંબંધિત કરે છે. એક વિનંતીને અનુસરવા માટે સક્ષમ થવા માટે કારણ કે તે બહુવિધ સેવાઓને પાર કરે છે, સ્પાન્સને અનન્ય ઓળખકર્તાઓ સાથે લેબલ કરવામાં આવે છે જે સ્પાન્સ વચ્ચે માતાપિતા-બાળકનો સંબંધ બાંધવામાં સક્ષમ બનાવે છે. સમયની માહિતી સામાન્ય રીતે આઉટબાઉન્ડ વિનંતીઓના HTTP હેડરમાં વહેંચવામાં આવે છે. સતત રૂપરેખાકરણ સતત રૂપરેખાકરણ એ અન્ય ટેલિમેટ્રી પ્રકાર છે જેનો ઉપયોગ એપ્લિકેશન સંસાધનોનો ઉપયોગ કેવી રીતે કરે છે તે ચોક્કસપણે નક્કી કરવા માટે થાય છે. ઇન્સ્ટ્રુમેન્ટેશન એપ્લિકેશનનું નિરીક્ષણ કરવા માટે, એપ્લિકેશનના વર્તન વિશે ટેલિમેટ્રી એકત્રિત અથવા નિકાસ કરવાની જરૂર છે. ઇન્સ્ટ્રુમેન્ટેશનનો અર્થ થાય છે એપ્લિકેશનની સામાન્ય કામગીરીની સાથે ટેલિમેટ્રી ઉત્પન્ન કરવી. પછીથી વિશ્લેષણ માટે સ્વતંત્ર બેકએન્ડ દ્વારા ટેલીમેટ્રી એકત્રિત કરવામાં આવે છે. ઇન્સ્ટ્રુમેન્ટેશન ઓટોમેટિક અથવા કસ્ટમ હોઈ શકે છે. સ્વચાલિત ઇન્સ્ટ્રુમેન્ટેશન બ્લેન્કેટ કવરેજ અને તાત્કાલિક મૂલ્ય પ્રદાન કરે છે; કસ્ટમ ઇન્સ્ટ્રુમેન્ટેશન ઉચ્ચ મૂલ્ય લાવે છે પરંતુ ઇન્સ્ટ્રુમેન્ટેડ એપ્લિકેશન સાથે વધુ ઘનિષ્ઠ સંડોવણીની જરૂર છે. ઇન્સ્ટ્રુમેન્ટેશન મૂળ હોઈ શકે છે-ઇન-કોડ (ઇન્સ્ટ્રુમેન્ટેડ એપ્લિકેશનના કોડમાં ફેરફાર)-અથવા આઉટ-ઓફ-કોડ (દા. ત.). સાઇડકાર, ઇ. બી. પી. એફ). ઉત્પાદનમાં નવી સુવિધાઓને કસ્ટમ ઇન્સ્ટ્રુમેન્ટેશન સાથે મોકલીને તેની ચકાસણી કરવી એ "અવલોકનક્ષમતા-સંચાલિત વિકાસ" તરીકે ઓળખાતી પ્રથા છે. "અવલોકનક્ષમતાના સ્તંભો" મેટ્રિક્સ, લોગ્સ અને ટ્રેસ સામાન્ય રીતે અવલોકનક્ષમતાના સ્તંભો તરીકે સૂચિબદ્ધ છે. મેજર વગેરે. એવું સૂચવે છે કે અવલોકનક્ષમતાના સ્તંભો ઉચ્ચ મુખ્યતા, ઉચ્ચ-પરિમાણીયતા અને સંશોધનક્ષમતા છે, એવી દલીલ કરે છે કે રનબુક અને ડેશબોર્ડનું મૂલ્ય ઓછું છે કારણ કે "આધુનિક પ્રણાલીઓ ભાગ્યે જ એક જ રીતે બે વાર નિષ્ફળ જાય છે". સેલ્ફ મોનિટરિંગ એ એક એવી પ્રથા છે જ્યાં અસ્પષ્ટ આઉટેજના જોખમને ઘટાડવા માટે અવલોકનક્ષમતા સ્ટેક્સ એકબીજાનું નિરીક્ષણ કરે છે. સહસંબંધિત નિષ્ફળતાઓને વધુ ટાળવા માટે ઉચ્ચ ઉપલબ્ધતા અને અતિરેક ઉપરાંત સ્વ દેખરેખ મૂકી શકાય છે. એપ્લિકેશન પર્ફોર્મન્સ મેનેજમેન્ટ (એપીએમ) ઓપન ટેલિમેટ્રી (ઓટીએલ) રિયલ યુઝર મોનિટરિંગ (આરયુએમ) સિન્થેટિક મોનિટરિંગ દેવઓપ્સ સાઇટ વિશ્વસનીયતા ઇજનેરી (એસઆરઇ) સમાજ-તકનીકી પ્રણાલી બાહ્ય કડીઓ સીએનસીએફ અવલોકનક્ષમતા તકનીકી સલાહકાર જૂથ (ટીએજી) ગ્રંથસૂચિ સંદર્ભો વિતરિત કમ્પ્યુટિંગ જુઓ.