"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

ரோமன் கவ்ரோனென்கோவின் “ExtendedPromQL” அறிக்கையின் டிரான்ஸ்கிரிப்டைப் படிக்க பரிந்துரைக்கிறேன்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

என்னை பற்றி சுருக்கமாக. என் பெயர் ரோமன். நான் CloudFlare இல் வேலை செய்து லண்டனில் வசிக்கிறேன். ஆனால் நான் விக்டோரியாமெட்ரிக்ஸ் பராமரிப்பாளராகவும் இருக்கிறேன்.
மற்றும் நான் ஆசிரியர் கிளிக்ஹவுஸ் சொருகி கிராஃபானா மற்றும் கிளிக்ஹவுஸ்-ப்ராக்ஸி ClickHouse க்கான சிறிய ப்ராக்ஸி ஆகும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

"மொழிபெயர்ப்பின் சிரமங்கள்" என்று அழைக்கப்படும் முதல் பகுதியுடன் தொடங்குவோம், அதில் எந்த மொழி அல்லது தகவல்தொடர்பு மொழி கூட மிகவும் முக்கியமானது என்பதைப் பற்றி பேசுவேன். ஏனென்றால், உங்கள் எண்ணங்களை வேறொரு நபருக்கு அல்லது அமைப்பிற்கு இவ்வாறு தெரிவிக்கிறீர்கள், கோரிக்கையை எவ்வாறு உருவாக்குகிறீர்கள். இணையத்தில் உள்ளவர்கள் எந்த மொழி சிறந்தது என்று வாதிடுகின்றனர் - ஜாவா அல்லது வேறு சில. என்னைப் பொறுத்தவரை, பணியின் படி நான் தேர்வு செய்ய வேண்டும் என்று முடிவு செய்தேன், ஏனென்றால் இவை அனைத்தும் குறிப்பிட்டவை.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

ஆரம்பத்திலிருந்தே ஆரம்பிப்போம். PromQL என்றால் என்ன? PromQL என்பது Prometheus Query Language ஆகும். நேரத் தொடர் தரவைப் பெற, ப்ரோமிதியஸில் இப்படித்தான் வினவல்களை உருவாக்குகிறோம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

நேரத் தொடர் தரவு என்றால் என்ன? உண்மையில், இவை மூன்று அளவுருக்கள்.

இவை:

  • நாம் என்ன பார்க்கிறோம்?
  • நாம் அதை பார்க்கும் போது.
  • அது என்ன மதிப்பைக் காட்டுகிறது?

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

நீங்கள் இந்த விளக்கப்படத்தைப் பார்த்தால் (இந்த விளக்கப்படம் எனது படிநிலை புள்ளிவிவரங்களைக் காட்டும் எனது தொலைபேசியில் இருந்து வந்தது), இது இந்தக் கேள்விகளுக்கு விரைவாக பதிலளிக்கும்.

நாங்கள் படிகளைப் பார்க்கிறோம். நாம் பொருளைப் பார்க்கிறோம், அதைப் பார்க்கும்போது நேரத்தைப் பார்க்கிறோம். அதாவது, இந்த வரைபடத்தைப் பார்த்தால், ஞாயிற்றுக்கிழமை நான் சுமார் 15 படிகள் நடந்தேன் என்று நீங்கள் எளிதாகச் சொல்லலாம். இது நேரத் தொடர் தரவு.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இப்போது அவற்றை ஒரு அட்டவணை வடிவில் மற்றொரு தரவு மாதிரியாக "பிரிந்து" (மாற்றுவோம்). இங்கே நாம் என்ன பார்க்கிறோம். இங்கே நான் கொஞ்சம் கூடுதல் தரவைச் சேர்த்துள்ளேன், அதை நாங்கள் மெட்டா-டேட்டா என்று அழைப்போம், அதாவது நான் அல்ல, இரண்டு பேர், எடுத்துக்காட்டாக, ஜே மற்றும் சைலண்ட் பாப். இதைத்தான் நாம் பார்க்கிறோம்; அது எதைக் காட்டுகிறது, எப்போது அந்த மதிப்பைக் காட்டுகிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்
இப்போது இந்த எல்லா தரவையும் ஒரு தரவுத்தளத்தில் சேமிக்க முயற்சிப்போம். உதாரணமாக, நான் ClickHouse தொடரியல் எடுத்தேன். இங்கே "படிகள்" என்று ஒரு அட்டவணையை உருவாக்குகிறோம், அதாவது நாம் என்ன பார்க்கிறோம். நாம் அதைப் பார்க்கும்போது ஒரு காலம் இருக்கிறது; அது என்ன காட்டுகிறது மற்றும் சில மெட்டா தரவுகளை எங்கே சேமிப்போம்: ஜே மற்றும் சைலண்ட் பாப்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இதையெல்லாம் காட்சிப்படுத்த முயற்சிக்க, நாங்கள் கிராஃபனாவைப் பயன்படுத்துவோம், ஏனென்றால் முதலில் அது அழகாக இருக்கிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இந்த சொருகி நாமும் பயன்படுத்துவோம். இதற்கு இரண்டு காரணங்கள் உள்ளன. முதலாவது நான் எழுதியதால். கிராஃபனாவில் காண்பிக்க கிளிக்ஹவுஸிலிருந்து நேரத் தொடர் தரவை இழுப்பது எவ்வளவு கடினம் என்பதை நான் அறிவேன்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அதை வரைபடப் பலகத்தில் காண்பிப்போம். இது கிராஃபனாவில் மிகவும் பிரபலமான குழுவாகும், இது நேரத்தைச் சார்ந்திருக்கும் மதிப்பைக் காட்டுகிறது, எனவே நமக்கு இரண்டு அளவுருக்கள் மட்டுமே தேவை.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்
எளிமையான வினவலை எழுதுவோம் - கிராஃபனாவில் படிநிலை புள்ளிவிவரங்களை எவ்வாறு காண்பிப்பது, இந்த தரவை கிளிக்ஹவுஸில் சேமிப்பது, நாங்கள் உருவாக்கிய அட்டவணையில். இந்த எளிய கோரிக்கையை நாங்கள் எழுதுகிறோம். நாங்கள் படிகளில் இருந்து தேர்வு செய்கிறோம். நாங்கள் ஒரு மதிப்பைத் தேர்ந்தெடுத்து, இந்த மதிப்புகளின் நேரத்தைத் தேர்ந்தெடுக்கிறோம், அதாவது நாங்கள் பேசிய அதே மூன்று அளவுருக்கள்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இதன் விளைவாக, இது போன்ற ஒரு வரைபடத்தைப் பெறுவோம். அவர் ஏன் இவ்வளவு விசித்திரமானவர் என்று யாருக்குத் தெரியும்?

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அது சரி, நாம் நேரத்தை வரிசைப்படுத்த வேண்டும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இறுதியில் நாம் ஒரு சிறந்த, ஆனால் இன்னும் விசித்திரமான அட்டவணையைப் பெறுவோம். ஏன் தெரியுமா? அது சரி, இரண்டு பங்கேற்பாளர்கள் உள்ளனர், மேலும் கிராஃபனாவில் நாங்கள் இரண்டு நேரத் தொடரை வழங்குகிறோம், ஏனெனில் நீங்கள் தரவு மாதிரியை மீண்டும் பார்த்தால், ஒவ்வொரு நேரத் தொடரும் பெயர் மற்றும் அனைத்து முக்கிய-மதிப்பு லேபிள்களின் தனித்துவமான கலவையாகும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எனவே, நாம் ஒரு குறிப்பிட்ட நபரைத் தேர்ந்தெடுக்க வேண்டும். நாங்கள் ஜெய்யை தேர்வு செய்கிறோம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

மேலும் மீண்டும் வரைவோம். இப்போது வரைபடம் உண்மை போல் தெரிகிறது. இப்போது இது ஒரு சாதாரண அட்டவணை மற்றும் எல்லாம் நன்றாக வேலை செய்கிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

தோராயமாக அதே விஷயத்தை எப்படி செய்வது என்று உங்களுக்குத் தெரிந்திருக்கலாம், ஆனால் PromQL வழியாக ப்ரோமிதியஸில். இந்த மாதிரி ஏதாவது. கொஞ்சம் எளிமையானது. மேலும் அதையெல்லாம் உடைப்போம். நாங்கள் படிகள் எடுத்தோம். மற்றும் ஜே மூலம் வடிகட்டவும். நாம் ஒரு மதிப்பைப் பெற வேண்டும் என்பதை இங்கே குறிப்பிடவில்லை, நேரத்தைத் தேர்ந்தெடுக்கவில்லை.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இப்போது ஜெய் அல்லது சைலண்ட் பாப்பின் இயக்க வேகத்தை கணக்கிட முயற்சிப்போம். ClickHouse இல் நாம் runDifference செய்ய வேண்டும், அதாவது ஜோடி புள்ளிகளுக்கு இடையிலான வேறுபாட்டைக் கணக்கிட்டு, சரியான வேகத்தைப் பெற அவற்றை நேரத்தால் வகுக்கவும். கோரிக்கை இப்படி இருக்கும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

மேலும் இது தோராயமாக இந்த மதிப்புகளைக் காண்பிக்கும், அதாவது சைலண்ட் பாப் அல்லது ஜே வினாடிக்கு தோராயமாக 1,8 படிகள் எடுக்கும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

ப்ரோமிதியஸில் இதை எப்படி செய்வது என்று உங்களுக்குத் தெரியும். முன்பு இருந்ததை விட மிகவும் எளிதானது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்கிராஃபனாவில் செய்வதையும் எளிதாக்க, நான் இந்த ரேப்பரைச் சேர்த்துள்ளேன், இது PromQL ஐப் போலவே உள்ளது. இது ரேட் மேக்ரோஸ் அல்லது நீங்கள் எதை வேண்டுமானாலும் அழைக்கலாம். Grafana இல் நீங்கள் வெறுமனே "விகிதம்" என்று எழுதுகிறீர்கள், ஆனால் எங்காவது ஆழமாக அது இந்த பெரிய கோரிக்கையாக மாறுகிறது. நீங்கள் அதைப் பார்க்க வேண்டியதில்லை, அது எங்காவது இருக்கிறது, ஆனால் நீங்கள் நிறைய நேரத்தை மிச்சப்படுத்துகிறீர்கள், ஏனென்றால் இவ்வளவு பெரிய SQL வினவல்களை எழுதுவது எப்போதும் விலை உயர்ந்தது. நீங்கள் எளிதாக தவறு செய்யலாம், பின்னர் நீண்ட காலமாக என்ன நடக்கிறது என்பதை புரிந்து கொள்ள முடியாது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இது ஒரு ஸ்லைடில் கூட பொருந்தாத ஒரு கோரிக்கை, அதை நான் இரண்டு நெடுவரிசைகளாகப் பிரிக்க வேண்டியிருந்தது. இது கிளிக்ஹவுஸில் உள்ள கோரிக்கையாகும், இது ஒரே விகிதத்தை உருவாக்குகிறது, ஆனால் இரண்டு நேரத் தொடர்களுக்கும்: சைலன்ட் பாப் மற்றும் ஜே, பேனலில் இரண்டு நேரத் தொடர்கள் இருக்கும். இது ஏற்கனவே மிகவும் கடினம், என் கருத்து.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

மேலும் ப்ரோமிதியஸின் கூற்றுப்படி அது தொகை (விகிதம்) ஆக இருக்கும். ClickHouse க்காக, RateColumns என்ற தனி மேக்ரோவை உருவாக்கினேன், இது ப்ரோமிதியஸில் வினவல் போல் தெரிகிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

நாங்கள் அதைப் பார்த்தோம், PromQL மிகவும் அருமையாக இருப்பது போல் தெரிகிறது, ஆனால் அது நிச்சயமாக வரம்புகளைக் கொண்டுள்ளது.

இவை:

  • வரையறுக்கப்பட்ட SELECT.
  • எல்லைக்கோடு இணைகிறது.
  • ஆதரவு இல்லை.

நீங்கள் நீண்ட காலமாக அதனுடன் பணிபுரிந்திருந்தால், சில சமயங்களில் PromQL இல் ஏதாவது செய்வது மிகவும் கடினம் என்பதை நீங்கள் அறிவீர்கள், ஆனால் SQL இல் நீங்கள் கிட்டத்தட்ட எல்லாவற்றையும் செய்யலாம், ஏனென்றால் நாங்கள் இப்போது பேசிய இந்த விருப்பங்கள் அனைத்தும் SQL இல் செய்யப்படலாம். . ஆனால் அதைப் பயன்படுத்துவது வசதியாக இருக்குமா? மிகவும் சக்திவாய்ந்த மொழி எப்போதும் மிகவும் வசதியாக இருக்காது என்று இது என்னை நினைக்க வைக்கிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எனவே, சில நேரங்களில் நீங்கள் பணிக்கு ஒரு மொழியை தேர்வு செய்ய வேண்டும். இது பேட்மேன் சூப்பர்மேனுடன் சண்டையிடுவது போன்றது. சூப்பர்மேன் வலிமையானவர் என்பது தெளிவாகத் தெரிகிறது, ஆனால் பேட்மேனால் அவரைத் தோற்கடிக்க முடிந்தது, ஏனெனில் அவர் மிகவும் நடைமுறை மற்றும் அவர் என்ன செய்கிறார் என்பதை சரியாக அறிந்திருந்தார்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அடுத்த பகுதி PromQL விரிவாக்கம் ஆகும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

விக்டோரியாமெட்ரிக்ஸ் பற்றி மீண்டும் ஒருமுறை. விக்டோரியாமெட்ரிக்ஸ் என்றால் என்ன? இது ஒரு நேரத் தொடர் தரவுத்தளமாகும், இது OpenSource இல் உள்ளது, அதன் ஒற்றை மற்றும் கிளஸ்டர் பதிப்புகளை நாங்கள் விநியோகிக்கிறோம். எங்கள் வரையறைகளின்படி, இப்போது சந்தையில் உள்ள எதையும் விட இது வேகமானது மற்றும் சுருக்கமானது ஒத்ததாக உள்ளது, அதாவது உண்மையான நபர்கள் ஒரு புள்ளிக்கு 0,4 பைட்டுகள் சுருக்கத்தை தெரிவிக்கின்றனர், அதே சமயம் ப்ரோமிதியஸ் 1,2-1,4 ஆகும்.

நாங்கள் Prometheus ஐ விட அதிகமாக ஆதரிக்கிறோம். நாங்கள் InfluxDB, Graphite, OpenTSDB ஆகியவற்றை ஆதரிக்கிறோம்.

நீங்கள் எங்களுக்கு "எழுதலாம்", அதாவது, நீங்கள் பழைய தரவை மாற்றலாம்.

நாங்கள் ப்ரோமிதியஸ் மற்றும் கிராஃபனாவுடன் சரியாக வேலை செய்கிறோம், அதாவது நாங்கள் PromQL இன்ஜினை ஆதரிக்கிறோம். கிராஃபனாவில் நீங்கள் ப்ரோமிதியஸ் எண்ட்பாயிண்ட்டை விக்டோரியாமெட்ரிக்ஸாக மாற்றலாம், மேலும் உங்கள் எல்லா டாஷ்போர்டுகளும் அவர்கள் செய்ததைப் போலவே செயல்படும்.

ஆனால் VictoriaMetrics வழங்கும் கூடுதல் அம்சங்களையும் நீங்கள் பயன்படுத்தலாம்.

நாங்கள் சேர்த்த அம்சங்களை விரைவாகப் பார்ப்போம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இடைவெளி அளவுருவைத் தவிர்க்கவும் - கிராஃபானாவில் இடைவெளி அளவுருக்களை நீங்கள் தவிர்க்கலாம். பேனலில் பெரிதாக்கும்போது விசித்திரமான வரைபடங்களைப் பெற விரும்பவில்லை என்றால், மாறியைப் பயன்படுத்த பரிந்துரைக்கப்படுகிறது $__interval. இது உள் கிராஃபனா மாற்றம் மற்றும் இது தரவு வரம்பைத் தேர்ந்தெடுக்கிறது. இந்த வரம்பு என்னவாக இருக்க வேண்டும் என்பதை VictoriaMetrics தானே புரிந்து கொள்ள முடியும். மேலும் உங்கள் கோரிக்கைகள் அனைத்தையும் புதுப்பிக்க வேண்டிய அவசியமில்லை. இது மிகவும் எளிதாக இருக்கும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இரண்டாவது செயல்பாடு இடைவெளி குறிப்பு. இந்த இடைவெளியை உங்கள் வெளிப்பாடுகளில் பயன்படுத்தலாம். நீங்கள் அதை பெருக்கலாம், வகுக்கலாம், மாற்றலாம், பார்க்கவும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அடுத்தது ரோல்அப் ஃபங்ஷன் குடும்பம். ரோலப் செயல்பாடு உங்களின் எந்த நேரத் தொடரையும் மூன்று தனித்தனி நேரத் தொடராக மாற்றும். இவை நிமிடம், அதிகபட்சம் மற்றும் சராசரி. இது எனக்கு மிகவும் வசதியானது, ஏனெனில் சில நேரங்களில் இது சில வெளிப்புறங்களையும் தவறுகளையும் காட்டலாம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

நீங்கள் கோபமாகவோ அல்லது மதிப்பிடவோ செய்கிறீர்கள் என்றால், நீங்கள் எதிர்பார்த்தபடி நேரத் தொடர் செயல்படாத சில நிகழ்வுகளை நீங்கள் தவறவிடுவீர்கள். இந்த செயல்பாட்டின் மூலம் பார்ப்பது மிகவும் எளிதானது, அதிகபட்சம் சராசரியிலிருந்து அதிகம் என்று சொல்லலாம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அடுத்தது இயல்புநிலை மாறி. இயல்புநிலை - இந்த நேரத்தில் நமக்கு நேரத் தொடர் இல்லையென்றால், கிராஃபனாவில் என்ன மதிப்பை வரைய வேண்டும் என்பது இதன் பொருள். இது எப்போது நடக்கும்? நீங்கள் சில பிழை அளவீடுகளை ஏற்றுமதி செய்கிறீர்கள் என்று வைத்துக்கொள்வோம். நீங்கள் தொடங்கும் போது, ​​அடுத்த மூன்று மணிநேரம் அல்லது ஒரு நாளுக்கு எந்தப் பிழையும் இல்லை மற்றும் பிழைகள் கூட இல்லாத அளவுக்கு அருமையான பயன்பாடு உங்களிடம் உள்ளது. வெற்றியிலிருந்து பிழை வரையிலான உறவைக் காட்டும் டாஷ்போர்டுகள் உங்களிடம் உள்ளன. உங்களிடம் பிழை அளவீடு இல்லாததால் அவர்கள் உங்களுக்கு எதையும் காட்ட மாட்டார்கள். இயல்புநிலையில் நீங்கள் எதையும் குறிப்பிடலாம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

Keep_last_Value - மெட்ரிக் கடைசி மதிப்பை விடுவித்தால் சேமிக்கும். அடுத்த ஸ்கிராப்பிற்குப் பிறகு 5 நிமிடங்களுக்குள் ப்ரோமிதியஸ் அதைக் கண்டுபிடிக்கவில்லை என்றால், இங்கே அதன் கடைசி மதிப்பை நாங்கள் நினைவில் கொள்வோம், மேலும் உங்கள் விளக்கப்படங்கள் மீண்டும் உடைக்காது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

Scrape_interval - உங்கள் அளவீட்டில் ப்ரோமிதியஸ் எவ்வளவு அடிக்கடி தரவைச் சேகரிக்கிறார், எந்த அதிர்வெண்ணைக் காட்டுகிறார். இங்கே நீங்கள் ஒரு பாஸ் பார்க்க முடியும், எடுத்துக்காட்டாக.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்
லேபிள் மாற்றுவது ஒரு பிரபலமான அம்சமாகும். ஆனால் இது கொஞ்சம் சிக்கலானது என்று நாங்கள் நினைக்கிறோம், ஏனெனில் இது முழு வாதங்களையும் எடுக்கும். நீங்கள் 5 வாதங்களை நினைவில் கொள்வது மட்டுமல்லாமல், அவற்றின் வரிசையையும் நினைவில் கொள்ள வேண்டும்.
"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்
எனவே, அவற்றை ஏன் எளிதாக்கக்கூடாது? அதாவது, புரிந்துகொள்ளக்கூடிய தொடரியல் மூலம் அதை சிறிய செயல்பாடுகளாக உடைக்கவும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இப்போது வேடிக்கையான பகுதி. இது நீட்டிக்கப்பட்ட PromQL என்று ஏன் நினைக்கிறோம்? ஏனென்றால் நாங்கள் பொதுவான அட்டவணை வெளிப்பாடுகளை ஆதரிக்கிறோம். நீங்கள் QR குறியீட்டைப் பின்பற்றலாம் (https://github.com/VictoriaMetrics/VictoriaMetrics/wiki/ExtendedPromQL), விளையாட்டு மைதானத்தில் இருந்து எடுத்துக்காட்டுகளுடன் இணைப்புகளைப் பார்க்கவும், அங்கு நீங்கள் வினவல்களை உலாவியில் நிறுவாமல் விக்டோரியாமெட்ரிக்ஸில் நேரடியாக இயக்கலாம்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

மேலும் இது என்ன? மேலே உள்ள இந்தக் கோரிக்கை மிகவும் பிரபலமான கோரிக்கையாகும். பல நிறுவனங்களில் உள்ள எந்த டாஷ்போர்டிலும் நீங்கள் எல்லாவற்றுக்கும் ஒரே வடிகட்டியைப் பயன்படுத்துகிறீர்கள் என்று நினைக்கிறேன். பொதுவாக அப்படித்தான். ஆனால் நீங்கள் சில புதிய வடிப்பானைச் சேர்க்க வேண்டியிருக்கும் போது, ​​நீங்கள் ஒவ்வொரு பேனலையும் புதுப்பிக்க வேண்டும் அல்லது டாஷ்போர்டைப் பதிவிறக்க வேண்டும், அதை JSON இல் திறக்க வேண்டும், மாற்றத்தைக் கண்டறிய வேண்டும், அதற்கும் நேரம் எடுக்கும். ஏன் இந்த மதிப்பை ஒரு மாறியில் சேமித்து மீண்டும் பயன்படுத்தக்கூடாது? இது என் கருத்துப்படி, மிகவும் எளிமையானதாகவும் தெளிவாகவும் தெரிகிறது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எடுத்துக்காட்டாக, அனைத்து கோரிக்கைகளிலும் நான் கிராஃபனாவில் வடிப்பான்களைப் புதுப்பிக்க வேண்டியிருக்கும் போது, ​​டாஷ்போர்டு பெரியதாக இருக்கலாம் அல்லது அவற்றில் பல இருக்கலாம். கிராஃபனாவில் இந்தச் சிக்கலை எப்படித் தீர்க்க விரும்புகிறேன்?

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இந்த சிக்கலை நான் இவ்வாறு தீர்க்கிறேன்: நான் ஒரு பொதுவான வடிகட்டியை உருவாக்கி, அதில் இந்த வடிப்பானை வரையறுக்கிறேன், பின்னர் அதை வினவல்களில் மீண்டும் பயன்படுத்துகிறேன். ஆனால் நீங்கள் இப்போது அதையே செய்தால், அது வேலை செய்யாது, ஏனெனில் வினவல் மாறிகளுக்குள் மாறிகளைப் பயன்படுத்த கிராஃபானா உங்களை அனுமதிக்காது. மேலும் இது கொஞ்சம் விசித்திரமானது.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எனவே இதைச் செய்ய உங்களை அனுமதிக்கும் ஒரு விருப்பத்தை நான் செய்தேன். நீங்கள் ஆர்வமாக இருந்தால் அல்லது அத்தகைய அம்சத்தை விரும்பினால், இந்த யோசனை உங்களுக்கு பிடிக்கவில்லை என்றால், அதை ஆதரிக்கவும் அல்லது விரும்பவில்லை என்றால். https://github.com/grafana/grafana/pull/16694

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

PromQL பற்றி மேலும் நீட்டிக்கப்பட்டது. இங்கே நாம் ஒரு மாறியை மட்டுமல்ல, முழு செயல்பாட்டையும் வரையறுக்கிறோம். நாம் அதை ru (வள பயன்பாடு) என்று அழைக்கிறோம். இந்த செயல்பாடு இலவச ஆதாரங்கள், வள வரம்பு மற்றும் வடிகட்டி ஆகியவற்றை ஏற்றுக்கொள்கிறது. தொடரியல் எளிமையானது போல் தெரிகிறது. இந்த செயல்பாட்டைப் பயன்படுத்துவதும், நம்மிடம் உள்ள இலவச நினைவகத்தின் சதவீதத்தைக் கணக்கிடுவதும் மிகவும் எளிதானது. அதாவது, நமக்கு எவ்வளவு நினைவகம் உள்ளது, வரம்பு என்ன, எப்படி வடிகட்டுவது. நீங்கள் அனைத்தையும் எழுதினால், அதே வடிப்பான்களை மீண்டும் பயன்படுத்தினால், இது மிகவும் வசதியாகத் தெரிகிறது, ஏனெனில் இது ஒரு பெரிய, பெரிய வினவலாக மாறும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அத்தகைய ஒரு பெரிய, பெரிய கோரிக்கையின் உதாரணம் இங்கே. இது Grafanaக்கான அதிகாரப்பூர்வ NodeExporter டாஷ்போர்டில் இருந்து வந்தது. ஆனால் இங்கு என்ன நடக்கிறது என்பது எனக்குப் புரியவில்லை. அதாவது, நீங்கள் நெருக்கமாகப் பார்த்தால், நிச்சயமாக, எனக்குப் புரிகிறது, ஆனால் அடைப்புக்குறிகளின் எண்ணிக்கை உடனடியாக இங்கே என்ன நடக்கிறது என்பதைப் புரிந்துகொள்வதற்கான உந்துதலைக் குறைக்கும். ஏன் அதை எளிமையாகவும் தெளிவாகவும் செய்யக்கூடாது?

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எடுத்துக்காட்டாக, இது போன்ற, குறிப்பிடத்தக்க விஷயங்கள் அல்லது பகுதிகளை மாறிகளாகப் பிரித்தல். பின்னர் உங்கள் அடிப்படை கணிதத்தை செய்யுங்கள். இது ஏற்கனவே நிரலாக்கத்தைப் போன்றது, எதிர்காலத்தில் கிராஃபனாவில் இதைத்தான் பார்க்க விரும்புகிறேன்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

எங்களிடம் ஏற்கனவே இந்த ru செயல்பாடு இருந்தால், இதை எப்படி எளிதாக்கலாம் என்பதற்கான இரண்டாவது எடுத்துக்காட்டு இங்கே உள்ளது, மேலும் இது ஏற்கனவே VictoriaMetrics இல் நேரடியாக உள்ளது. பின்னர் நீங்கள் CTE இல் அறிவித்த தற்காலிக சேமிப்பில் உள்ள மதிப்பை அனுப்பவும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

சரியான நிரலாக்க மொழியைப் பயன்படுத்துவது எவ்வளவு முக்கியம் என்பதைப் பற்றி நான் ஏற்கனவே பேசினேன். மற்றும், அநேகமாக, கிராஃபனாவில் உள்ள ஒவ்வொரு நிறுவனமும் வித்தியாசமாக நடக்கிறது. உங்கள் டெவலப்பர்களுக்கு கிராஃபனாவுக்கான அணுகலை நீங்கள் வழங்கலாம், மேலும் டெவலப்பர்கள் தங்கள் சொந்த காரியத்தைச் செய்வார்கள். அவர்கள் அனைவரும் எப்படியோ வித்தியாசமாக செய்கிறார்கள். ஆனால் அது எப்படியாவது ஒரே மாதிரியாக இருக்க வேண்டும், அதாவது பொதுவான தரத்திற்கு குறைக்க வேண்டும் என்று நான் விரும்பினேன்.

உங்களிடம் சிஸ்டம் இன்ஜினியர்கள் கூட இல்லை என்று வைத்துக்கொள்வோம், ஒருவேளை உங்களிடம் வல்லுநர்கள், டெவொப்ஸ் அல்லது எஸ்ஆர்ஈ இருக்கலாம். கண்காணிப்பு என்றால் என்ன, கிராஃபனா என்றால் என்ன என்று தெரிந்த வல்லுநர்கள் உங்களிடம் இருக்கலாம். மேலும் அவர்கள் இதை ஏற்கனவே 100 முறை எழுதி அனைவருக்கும் விளக்கியுள்ளனர், ஆனால் சில காரணங்களால் யாரும் கேட்கவில்லை.

இந்த அறிவை அவர்கள் நேரடியாக கிராஃபானாவில் வைத்து மற்ற பயனர்கள் அம்சங்களை மீண்டும் பயன்படுத்தினால் என்ன செய்வது? இலவச நினைவகத்தின் சதவீதத்தை அவர்கள் கணக்கிட வேண்டும் என்றால், அவர்கள் வெறுமனே செயல்பாட்டைப் பயன்படுத்துவார்கள். ஏற்றுமதியாளர்களை உருவாக்குபவர்கள், அவர்களின் தயாரிப்புகளுடன் சேர்ந்து, அவர்களின் அளவீடுகளுடன் எவ்வாறு செயல்படுவது என்பதற்கான செயல்பாடுகளின் தொகுப்பை வழங்கினால் என்ன செய்வது, ஏனெனில் இந்த அளவீடுகள் என்னவென்று அவர்களுக்குத் தெரியும் மற்றும் அவற்றை எவ்வாறு சரியாகக் கணக்கிடுவது?

இது உண்மையில் இல்லை. இதை நானே செய்தேன். இது கிராஃபனாவில் உள்ள நூலக ஆதரவு. நோட் எக்ஸ்போர்ட்டரை உருவாக்கியவர்கள் நான் பேசியதைச் செய்தார்கள் என்று வைத்துக்கொள்வோம். மேலும் அவை செயல்பாடுகளின் தொகுப்பையும் வழங்கின.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

அதாவது, இது போல் தெரிகிறது. இந்த லைப்ரரியை கிராஃபனாவுடன் இணைத்து, எடிட்டிங்கிற்குச் செல்கிறீர்கள், இந்த அளவீட்டில் எப்படி வேலை செய்வது என்பது JSON இல் மிக எளிமையாக எழுதப்பட்டுள்ளது. அதாவது, சில செயல்பாடுகளின் தொகுப்பு, அவற்றின் விளக்கம் மற்றும் அவை என்னவாக மாறும்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

இது பயனுள்ளதாக இருக்கும் என்று நான் நினைக்கிறேன், ஏனென்றால் கிராஃபனாவில் நீங்கள் அப்படி எழுதுவீர்கள். அத்தகைய மற்றும் அத்தகைய நூலகத்திலிருந்து அத்தகைய செயல்பாடு இருப்பதாக கிராஃபானா உங்களுக்கு "சொல்கிறது" - அதைப் பயன்படுத்துவோம். அது மிகவும் அருமையாக இருக்கும் என்று நினைக்கிறேன்.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

விக்டோரியாமெட்ரிக்ஸ் பற்றி கொஞ்சம். நாங்கள் நிறைய சுவாரஸ்யமான விஷயங்களைச் செய்கிறோம். சுருக்கத்தைப் பற்றிய எங்கள் கட்டுரைகளைப் படிக்கவும், பிற நேரத் தொடர் தரவு பயன்பாடுகளுடனான எங்கள் போட்டிகள், PromQL உடன் எவ்வாறு வேலை செய்வது என்பது பற்றிய எங்கள் விளக்கங்கள், ஏனெனில் இதில் இன்னும் நிறைய ஆரம்பநிலையாளர்கள் உள்ளனர், அத்துடன் செங்குத்து அளவிடுதல் மற்றும் தானோஸுடனான மோதல் பற்றி.

"ExtendedPromQL" - ரோமன் கவ்ரோனென்கோவின் அறிக்கையின் டிரான்ஸ்கிரிப்ட்

கேள்விகள்:

எனது கேள்வியை ஒரு எளிய வாழ்க்கை கதையுடன் தொடங்குகிறேன். நான் முதன்முதலில் கிராஃபானாவைப் பயன்படுத்தத் தொடங்கியபோது, ​​5 வரிகள் கொண்ட மிக அழுத்தமான வினவலை எழுதினேன். இறுதி முடிவு மிகவும் உறுதியான வரைபடம். இந்த அட்டவணை கிட்டத்தட்ட தயாரிப்புக்கு சென்றுவிட்டது. ஆனால் நெருக்கமான ஆய்வில், இந்த வரைபடம் யதார்த்தத்துடன் எந்த தொடர்பும் இல்லாத முழுமையான முட்டாள்தனத்தைக் காட்டுகிறது என்று மாறியது, இருப்பினும் எண்கள் நாம் எதிர்பார்க்கும் வரம்பிற்குள் வந்துள்ளன. மற்றும் என் கேள்வி. எங்களிடம் நூலகங்கள் உள்ளன, எங்களிடம் செயல்பாடுகள் உள்ளன, ஆனால் கிராஃபனாவுக்கான சோதனைகளை எவ்வாறு எழுதுவது? ஒரு வணிக முடிவு சார்ந்து ஒரு சிக்கலான கோரிக்கையை நீங்கள் எழுதியுள்ளீர்கள் - சேவையகங்களின் உண்மையான கொள்கலனை ஆர்டர் செய்ய அல்லது ஆர்டர் செய்ய வேண்டாம். நமக்குத் தெரிந்தபடி, வரைபடத்தை வரையும் இந்த செயல்பாடு உண்மைக்கு ஒத்ததாகும். நன்றி.

கேள்விக்கு நன்றி. இரண்டு பகுதிகள் உள்ளன. முதலில், எனது அனுபவத்தின் அடிப்படையில், பெரும்பாலான பயனர்கள் தங்கள் விளக்கப்படங்களைப் பார்க்கும்போது, ​​அவர்கள் எதைக் காட்டுகிறார்கள் என்பது புரியவில்லை என்ற எண்ணத்தைப் பெறுகிறேன். சில காரணங்களால், ஒரு செயல்பாட்டிற்குள் ஒரு பிழையாக இருந்தாலும், வரைபடங்களில் ஏற்படும் எந்தவொரு ஒழுங்கின்மைக்கும் ஒரு சாக்குப்போக்கைக் கொண்டு வருவதில் மக்கள் மிகவும் திறமையானவர்கள். மற்றும் இரண்டாவது பகுதி - உங்கள் டெவலப்பர்கள் ஒவ்வொருவரும் தங்கள் சொந்த திறன் திட்டமிடலைச் செய்து சில நிகழ்தகவுகளுடன் தவறுகளைச் செய்வதற்குப் பதிலாக, இதுபோன்ற செயல்பாடுகளைப் பயன்படுத்துவது உங்கள் சிக்கலைத் தீர்ப்பதற்கான சிறந்த அணுகுமுறையாக இருக்கும் என்று எனக்குத் தோன்றுகிறது.

சரிபார்க்க எப்படி?

எப்படி சரிபார்க்க வேண்டும்? அநேகமாக இல்லை.

கிராஃபனாவில் ஒரு சோதனையாக.

கிராஃபனாவுக்கும் அதற்கும் என்ன சம்பந்தம்? Grafana இந்தக் கோரிக்கையை நேரடியாக DataSourceக்கு மொழிபெயர்க்கிறது.

அளவுருக்களில் சிறிது சேர்த்தல்.

இல்லை, கிராஃபனாவில் எதுவும் சேர்க்கப்படவில்லை. GET அளவுருக்கள் இருக்கலாம், அதாவது, படி. இது வெளிப்படையாகக் குறிப்பிடப்படவில்லை, ஆனால் நீங்கள் அதை மேலெழுதலாம் அல்லது மேலெழுத முடியாது, ஆனால் அது தானாகவே சேர்க்கப்படும். நீங்கள் இங்கே தேர்வு எழுத மாட்டீர்கள். இங்கே உண்மையின் ஆதாரமாக நாம் கிராஃபானாவை நம்பியிருக்க வேண்டும் என்று நான் நினைக்கவில்லை.

அறிக்கைக்கு நன்றி! சுருக்கத்திற்கு நன்றி! வரைபடத்தில் ஒரு மாறியை மேப்பிங் செய்வதைக் குறிப்பிட்டுள்ளீர்கள், கிராஃபனாவில் நீங்கள் ஒரு மாறிக்குள் ஒரு மாறியைப் பயன்படுத்த முடியாது. நான் என்ன சொல்கிறேன் என்று தெரிகிறதா?

ஆமாம்.

கிராஃபனாவில் விழிப்பூட்டலை உருவாக்க விரும்பும்போது இது ஆரம்பத்தில் தலைவலியாக இருந்தது. அங்கு நீங்கள் ஒவ்வொரு ஹோஸ்டுக்கும் தனித்தனியாக எச்சரிக்கை செய்ய வேண்டும். நீங்கள் செய்த இந்த விஷயம், கிராஃபனாவில் விழிப்பூட்டல்களுக்கு வேலை செய்யுமா?

Grafana மாறிகளை வேறுவிதமாக அணுகவில்லை என்றால், ஆம், அது வேலை செய்யும். ஆனால் எனது ஆலோசனை என்னவென்றால், கிராஃபனாவில் விழிப்பூட்டலைப் பயன்படுத்த வேண்டாம், நீங்கள் எச்சரிக்கை மேலாளரைப் பயன்படுத்துவது நல்லது.

ஆம், நான் அதைப் பயன்படுத்துகிறேன், ஆனால் கிராஃபனாவில் அமைப்பது எளிதாகத் தோன்றியது, ஆனால் ஆலோசனைக்கு நன்றி!

ஆதாரம்: www.habr.com

கருத்தைச் சேர்