ರೋಮನ್ ಖವ್ರೊನೆಂಕೊ ಅವರ ವರದಿಯ ಪ್ರತಿಲೇಖನವನ್ನು ಓದಲು ನಾನು ನಿಮಗೆ ಸಲಹೆ ನೀಡುತ್ತೇನೆ "ExtendedPromQL"
ನನ್ನ ಬಗ್ಗೆ ಸಂಕ್ಷಿಪ್ತವಾಗಿ. ನನ್ನ ಹೆಸರು ರೋಮನ್. ನಾನು ಕ್ಲೌಡ್ಫ್ಲೇರ್ನಲ್ಲಿ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದೇನೆ ಮತ್ತು ಲಂಡನ್ನಲ್ಲಿ ವಾಸಿಸುತ್ತಿದ್ದೇನೆ. ಆದರೆ ನಾನು ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ ನಿರ್ವಾಹಕನೂ ಆಗಿದ್ದೇನೆ.
ಮತ್ತು ನಾನು ಲೇಖಕ
ನಾವು ಮೊದಲ ಭಾಗದಿಂದ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, ಅದನ್ನು "ಅನುವಾದದ ತೊಂದರೆಗಳು" ಎಂದು ಕರೆಯಲಾಗುತ್ತದೆ ಮತ್ತು ಅದರಲ್ಲಿ ನಾನು ಯಾವುದೇ ಭಾಷೆ ಅಥವಾ ಸಂವಹನದ ಭಾಷೆ ಕೂಡ ಬಹಳ ಮುಖ್ಯ ಎಂಬ ಅಂಶದ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತೇನೆ. ಏಕೆಂದರೆ ನೀವು ನಿಮ್ಮ ಆಲೋಚನೆಗಳನ್ನು ಇನ್ನೊಬ್ಬ ವ್ಯಕ್ತಿ ಅಥವಾ ವ್ಯವಸ್ಥೆಗೆ ಹೇಗೆ ತಿಳಿಸುತ್ತೀರಿ, ನೀವು ವಿನಂತಿಯನ್ನು ಹೇಗೆ ರೂಪಿಸುತ್ತೀರಿ. ಇಂಟರ್ನೆಟ್ನಲ್ಲಿರುವ ಜನರು ಯಾವ ಭಾಷೆ ಉತ್ತಮ ಎಂದು ವಾದಿಸುತ್ತಾರೆ - ಜಾವಾ ಅಥವಾ ಇತರ. ನನಗಾಗಿ, ನಾನು ಕಾರ್ಯದ ಪ್ರಕಾರ ಆಯ್ಕೆ ಮಾಡಬೇಕೆಂದು ನಿರ್ಧರಿಸಿದೆ, ಏಕೆಂದರೆ ಇದೆಲ್ಲವೂ ನಿರ್ದಿಷ್ಟವಾಗಿದೆ.
ಮೊದಲಿನಿಂದಲೂ ಪ್ರಾರಂಭಿಸೋಣ. PromQL ಎಂದರೇನು? PromQL ಎಂಬುದು ಪ್ರಮೀತಿಯಸ್ ಪ್ರಶ್ನೆ ಭಾಷೆಯಾಗಿದೆ. ಸಮಯ ಸರಣಿಯ ಡೇಟಾವನ್ನು ಪಡೆಯಲು ನಾವು ಪ್ರಮೀತಿಯಸ್ನಲ್ಲಿ ಪ್ರಶ್ನೆಗಳನ್ನು ಹೇಗೆ ರಚಿಸುತ್ತೇವೆ.
ಸಮಯ ಸರಣಿ ಡೇಟಾ ಎಂದರೇನು? ಅಕ್ಷರಶಃ, ಇವು ಮೂರು ನಿಯತಾಂಕಗಳಾಗಿವೆ.
ಇವುಗಳು:
- ನಾವು ಏನು ನೋಡುತ್ತಿದ್ದೇವೆ?
- ನಾವು ಅದನ್ನು ನೋಡಿದಾಗ.
- ಮತ್ತು ಅದು ಯಾವ ಮೌಲ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ?
ನೀವು ಈ ಚಾರ್ಟ್ ಅನ್ನು ನೋಡಿದರೆ (ಈ ಚಾರ್ಟ್ ನನ್ನ ಫೋನ್ನಿಂದ ನನ್ನ ಹಂತದ ಅಂಕಿಅಂಶಗಳನ್ನು ತೋರಿಸುತ್ತದೆ), ಇದು ಈ ಪ್ರಶ್ನೆಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಉತ್ತರಿಸಬಹುದು.
ನಾವು ಹಂತಗಳನ್ನು ನೋಡುತ್ತೇವೆ. ನಾವು ಅರ್ಥವನ್ನು ನೋಡುತ್ತೇವೆ ಮತ್ತು ನಾವು ಅದನ್ನು ನೋಡಿದಾಗ ಸಮಯವನ್ನು ನೋಡುತ್ತೇವೆ. ಅಂದರೆ, ಈ ರೇಖಾಚಿತ್ರವನ್ನು ನೋಡುವಾಗ, ಭಾನುವಾರ ನಾನು ಸುಮಾರು 15 ಹೆಜ್ಜೆಗಳನ್ನು ನಡೆದಿದ್ದೇನೆ ಎಂದು ನೀವು ಸುಲಭವಾಗಿ ಹೇಳಬಹುದು. ಇದು ಸಮಯ ಸರಣಿ ಡೇಟಾ.
ಈಗ ನಾವು ಅವುಗಳನ್ನು ಟೇಬಲ್ ರೂಪದಲ್ಲಿ ಮತ್ತೊಂದು ಡೇಟಾ ಮಾದರಿಗೆ "ವಿಭಜಿಸೋಣ" (ಪರಿವರ್ತಿಸೋಣ). ಇಲ್ಲಿ ನಾವು ನೋಡುತ್ತಿರುವುದನ್ನು ಸಹ ನಾವು ಹೊಂದಿದ್ದೇವೆ. ಇಲ್ಲಿ ನಾನು ಸ್ವಲ್ಪ ಹೆಚ್ಚುವರಿ ಡೇಟಾವನ್ನು ಸೇರಿಸಿದೆ, ಅದನ್ನು ನಾವು ಮೆಟಾ-ಡೇಟಾ ಎಂದು ಕರೆಯುತ್ತೇವೆ, ಅಂದರೆ ಇದರ ಮೂಲಕ ಹೋದದ್ದು ನಾನಲ್ಲ, ಆದರೆ ಇಬ್ಬರು ಜನರು, ಉದಾಹರಣೆಗೆ, ಜೇ ಮತ್ತು ಸೈಲೆಂಟ್ ಬಾಬ್. ನಾವು ನೋಡುತ್ತಿರುವುದು ಇದನ್ನೇ; ಅದು ಏನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಯಾವಾಗ ಅದು ಮೌಲ್ಯವನ್ನು ತೋರಿಸುತ್ತದೆ.
ಈಗ ಈ ಎಲ್ಲಾ ಡೇಟಾವನ್ನು ಡೇಟಾಬೇಸ್ನಲ್ಲಿ ಸಂಗ್ರಹಿಸಲು ಪ್ರಯತ್ನಿಸೋಣ. ಉದಾಹರಣೆಗೆ, ನಾನು ಕ್ಲಿಕ್ಹೌಸ್ ಸಿಂಟ್ಯಾಕ್ಸ್ ಅನ್ನು ತೆಗೆದುಕೊಂಡಿದ್ದೇನೆ. ಮತ್ತು ಇಲ್ಲಿ ನಾವು "ಹಂತಗಳು" ಎಂಬ ಒಂದು ಟೇಬಲ್ ಅನ್ನು ರಚಿಸುತ್ತೇವೆ, ಅಂದರೆ ನಾವು ಏನು ನೋಡುತ್ತಿದ್ದೇವೆ. ನಾವು ಅದನ್ನು ನೋಡುವಾಗ ಒಂದು ಸಮಯವಿದೆ; ಅದು ಏನು ತೋರಿಸುತ್ತದೆ ಮತ್ತು ಕೆಲವು ಮೆಟಾ ಡೇಟಾವನ್ನು ನಾವು ಯಾರೆಂದು ಸಂಗ್ರಹಿಸುತ್ತೇವೆ: ಜೇ ಮತ್ತು ಸೈಲೆಂಟ್ ಬಾಬ್.
ಮತ್ತು ಈ ಎಲ್ಲವನ್ನೂ ದೃಶ್ಯೀಕರಿಸಲು ಪ್ರಯತ್ನಿಸಲು, ನಾವು ಗ್ರಾಫಾನಾವನ್ನು ಬಳಸುತ್ತೇವೆ ಏಕೆಂದರೆ, ಮೊದಲನೆಯದಾಗಿ, ಇದು ಸುಂದರವಾಗಿರುತ್ತದೆ.
ನಾವು ಈ ಪ್ಲಗಿನ್ ಅನ್ನು ಸಹ ಬಳಸುತ್ತೇವೆ. ಇದಕ್ಕೆ ಎರಡು ಕಾರಣಗಳಿವೆ. ಮೊದಲನೆಯದು ಏಕೆಂದರೆ ನಾನು ಅದನ್ನು ಬರೆದಿದ್ದೇನೆ. ಮತ್ತು ಅದನ್ನು ಗ್ರಾಫಾನಾದಲ್ಲಿ ತೋರಿಸಲು ಕ್ಲಿಕ್ಹೌಸ್ನಿಂದ ಸಮಯ ಸರಣಿ ಡೇಟಾವನ್ನು ಎಳೆಯುವುದು ಎಷ್ಟು ಕಷ್ಟ ಎಂದು ನನಗೆ ತಿಳಿದಿದೆ.
ನಾವು ಅದನ್ನು ಗ್ರಾಫ್ ಪ್ಯಾನೆಲ್ನಲ್ಲಿ ಪ್ರದರ್ಶಿಸುತ್ತೇವೆ. ಇದು ಗ್ರಾಫಾನಾದಲ್ಲಿ ಅತ್ಯಂತ ಜನಪ್ರಿಯ ಫಲಕವಾಗಿದೆ, ಇದು ಸಮಯಕ್ಕೆ ಮೌಲ್ಯದ ಅವಲಂಬನೆಯನ್ನು ತೋರಿಸುತ್ತದೆ, ಆದ್ದರಿಂದ ನಮಗೆ ಕೇವಲ ಎರಡು ನಿಯತಾಂಕಗಳು ಬೇಕಾಗುತ್ತವೆ.
ಸರಳವಾದ ಪ್ರಶ್ನೆಯನ್ನು ಬರೆಯೋಣ - ನಾವು ರಚಿಸಿದ ಕೋಷ್ಟಕದಲ್ಲಿ ಕ್ಲಿಕ್ಹೌಸ್ನಲ್ಲಿ ಈ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುವುದು, ಗ್ರಾಫಾನಾದಲ್ಲಿ ಹಂತದ ಅಂಕಿಅಂಶಗಳನ್ನು ಹೇಗೆ ತೋರಿಸುವುದು. ಮತ್ತು ನಾವು ಈ ಸರಳ ವಿನಂತಿಯನ್ನು ಬರೆಯುತ್ತೇವೆ. ನಾವು ಹಂತಗಳಿಂದ ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ. ನಾವು ಮೌಲ್ಯವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಈ ಮೌಲ್ಯಗಳ ಸಮಯವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ, ಅಂದರೆ ನಾವು ಮಾತನಾಡಿದ ಅದೇ ಮೂರು ನಿಯತಾಂಕಗಳು.
ಮತ್ತು ಪರಿಣಾಮವಾಗಿ, ನಾವು ಈ ರೀತಿಯ ಗ್ರಾಫ್ ಅನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಅವನು ಯಾಕೆ ವಿಚಿತ್ರ ಎಂದು ಯಾರಿಗೆ ಗೊತ್ತು?
ಅದು ಸರಿ, ನಾವು ಸಮಯದಿಂದ ವಿಂಗಡಿಸಬೇಕಾಗಿದೆ.
ಮತ್ತು ಕೊನೆಯಲ್ಲಿ ನಾವು ಉತ್ತಮ, ಆದರೆ ಇನ್ನೂ ವಿಚಿತ್ರ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ. ಯಾಕೆ ಗೊತ್ತಾ? ಅದು ಸರಿ, ಇಬ್ಬರು ಭಾಗವಹಿಸುವವರು ಇದ್ದಾರೆ ಮತ್ತು ಗ್ರಾಫನಾದಲ್ಲಿ ನಾವು ಎರಡು ಸಮಯದ ಸರಣಿಯನ್ನು ನೀಡುತ್ತೇವೆ, ಏಕೆಂದರೆ ನೀವು ಡೇಟಾ ಮಾದರಿಯನ್ನು ಮತ್ತೊಮ್ಮೆ ನೋಡಿದರೆ, ಪ್ರತಿ ಬಾರಿ ಸರಣಿಯು ಹೆಸರು ಮತ್ತು ಎಲ್ಲಾ ಪ್ರಮುಖ-ಮೌಲ್ಯ ಲೇಬಲ್ಗಳ ವಿಶಿಷ್ಟ ಸಂಯೋಜನೆಯಾಗಿದೆ.
ಆದ್ದರಿಂದ, ನಾವು ನಿರ್ದಿಷ್ಟ ವ್ಯಕ್ತಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಬೇಕಾಗುತ್ತದೆ. ನಾವು ಜೇ ಅನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತೇವೆ.
ಮತ್ತು ಮತ್ತೆ ಸೆಳೆಯೋಣ. ಈಗ ಗ್ರಾಫ್ ಸತ್ಯದಂತೆ ತೋರುತ್ತಿದೆ. ಈಗ ಇದು ಸಾಮಾನ್ಯ ವೇಳಾಪಟ್ಟಿಯಾಗಿದೆ ಮತ್ತು ಎಲ್ಲವೂ ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ.
ಮತ್ತು ಸರಿಸುಮಾರು ಅದೇ ಕೆಲಸವನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂದು ನಿಮಗೆ ತಿಳಿದಿರಬಹುದು, ಆದರೆ PromQL ಮೂಲಕ Prometheus ನಲ್ಲಿ. ಈ ರೀತಿಯ. ಸ್ವಲ್ಪ ಸರಳ. ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಒಡೆಯೋಣ. ನಾವು ಕ್ರಮಗಳನ್ನು ತೆಗೆದುಕೊಂಡಿದ್ದೇವೆ. ಮತ್ತು ಜೇ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡಿ. ನಾವು ಮೌಲ್ಯವನ್ನು ಪಡೆಯಬೇಕೆಂದು ನಾವು ಇಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸುತ್ತಿಲ್ಲ ಮತ್ತು ನಾವು ಸಮಯವನ್ನು ಆಯ್ಕೆ ಮಾಡುತ್ತಿಲ್ಲ.
ಈಗ ಜೇ ಅಥವಾ ಸೈಲೆಂಟ್ ಬಾಬ್ನ ಚಲನೆಯ ವೇಗವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಲು ಪ್ರಯತ್ನಿಸೋಣ. ಕ್ಲಿಕ್ಹೌಸ್ನಲ್ಲಿ ನಾವು ರನ್ನಿಂಗ್ ಡಿಫರೆನ್ಸ್ ಮಾಡಬೇಕಾಗಿದೆ, ಅಂದರೆ ಜೋಡಿ ಬಿಂದುಗಳ ನಡುವಿನ ವ್ಯತ್ಯಾಸವನ್ನು ಲೆಕ್ಕಾಚಾರ ಮಾಡಿ ಮತ್ತು ನಿಖರವಾದ ವೇಗವನ್ನು ಪಡೆಯಲು ಅವುಗಳನ್ನು ಸಮಯದಿಂದ ಭಾಗಿಸಿ. ವಿನಂತಿಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ.
ಮತ್ತು ಇದು ಸರಿಸುಮಾರು ಈ ಮೌಲ್ಯಗಳನ್ನು ತೋರಿಸುತ್ತದೆ, ಅಂದರೆ ಸೈಲೆಂಟ್ ಬಾಬ್ ಅಥವಾ ಜೇ ಪ್ರತಿ ಸೆಕೆಂಡಿಗೆ ಸರಿಸುಮಾರು 1,8 ಹಂತಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.
ಮತ್ತು ಪ್ರಮೀತಿಯಸ್ನಲ್ಲಿ ಇದನ್ನು ಹೇಗೆ ಮಾಡಬೇಕೆಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ. ಮೊದಲಿಗಿಂತ ಹೆಚ್ಚು ಸುಲಭ.
ಮತ್ತು ಗ್ರಾಫನಾದಲ್ಲಿ ಇದನ್ನು ಸುಲಭವಾಗಿ ಮಾಡಲು, ನಾನು ಈ ಹೊದಿಕೆಯನ್ನು ಸೇರಿಸಿದ್ದೇನೆ, ಅದು PromQL ಗೆ ಹೋಲುತ್ತದೆ. ಇದನ್ನು ರೇಟ್ ಮ್ಯಾಕ್ರೋಸ್ ಅಥವಾ ನೀವು ಯಾವುದನ್ನು ಕರೆಯಲು ಬಯಸುತ್ತೀರೋ ಅದನ್ನು ಕರೆಯಲಾಗುತ್ತದೆ. ಗ್ರಾಫನಾದಲ್ಲಿ ನೀವು ಸರಳವಾಗಿ "ದರ" ಎಂದು ಬರೆಯುತ್ತೀರಿ, ಆದರೆ ಎಲ್ಲೋ ಆಳವಾಗಿ ಅದು ಈ ದೊಡ್ಡ ವಿನಂತಿಯಾಗಿ ರೂಪಾಂತರಗೊಳ್ಳುತ್ತದೆ. ಮತ್ತು ನೀವು ಅದನ್ನು ನೋಡಬೇಕಾಗಿಲ್ಲ, ಅದು ಎಲ್ಲೋ ಇದೆ, ಆದರೆ ನೀವು ಸಾಕಷ್ಟು ಸಮಯವನ್ನು ಉಳಿಸುತ್ತೀರಿ, ಏಕೆಂದರೆ ಅಂತಹ ದೊಡ್ಡ SQL ಪ್ರಶ್ನೆಗಳನ್ನು ಬರೆಯುವುದು ಯಾವಾಗಲೂ ದುಬಾರಿಯಾಗಿದೆ. ನೀವು ಸುಲಭವಾಗಿ ತಪ್ಪು ಮಾಡಬಹುದು ಮತ್ತು ದೀರ್ಘಕಾಲದವರೆಗೆ ಏನಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳುವುದಿಲ್ಲ.
ಮತ್ತು ಇದು ಒಂದು ಸ್ಲೈಡ್ಗೆ ಹೊಂದಿಕೆಯಾಗದ ವಿನಂತಿಯಾಗಿದೆ ಮತ್ತು ನಾನು ಅದನ್ನು ಎರಡು ಕಾಲಮ್ಗಳಾಗಿ ವಿಭಜಿಸಬೇಕಾಗಿತ್ತು. ಇದು ಕ್ಲಿಕ್ಹೌಸ್ನಲ್ಲಿ ವಿನಂತಿಯಾಗಿದೆ, ಇದು ಒಂದೇ ದರವನ್ನು ಮಾಡುತ್ತದೆ, ಆದರೆ ಎರಡೂ ಸಮಯ ಸರಣಿಗಳಿಗೆ: ಸೈಲೆಂಟ್ ಬಾಬ್ ಮತ್ತು ಜೇ, ಆದ್ದರಿಂದ ನಾವು ಪ್ಯಾನೆಲ್ನಲ್ಲಿ ಎರಡು ಸಮಯದ ಸರಣಿಯನ್ನು ಹೊಂದಿದ್ದೇವೆ. ಮತ್ತು ಇದು ಈಗಾಗಲೇ ತುಂಬಾ ಕಷ್ಟ, ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ.
ಮತ್ತು ಪ್ರಮೀತಿಯಸ್ ಪ್ರಕಾರ ಇದು ಮೊತ್ತ (ದರ) ಆಗಿರುತ್ತದೆ. ಕ್ಲಿಕ್ಹೌಸ್ಗಾಗಿ, ನಾನು RateColumns ಎಂಬ ಪ್ರತ್ಯೇಕ ಮ್ಯಾಕ್ರೋವನ್ನು ಮಾಡಿದ್ದೇನೆ, ಅದು Prometheus ನಲ್ಲಿ ಪ್ರಶ್ನೆಯಂತೆ ಕಾಣುತ್ತದೆ.
ನಾವು ಅದನ್ನು ನೋಡಿದ್ದೇವೆ ಮತ್ತು PromQL ತುಂಬಾ ತಂಪಾಗಿದೆ ಎಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಇದು ಮಿತಿಗಳನ್ನು ಹೊಂದಿದೆ.
ಇವುಗಳು:
- ಸೀಮಿತ ಆಯ್ಕೆ.
- ಗಡಿರೇಖೆ ಸೇರುತ್ತದೆ.
- ಯಾವುದೇ ಬೆಂಬಲವಿಲ್ಲ.
ಮತ್ತು ನೀವು ಅದರೊಂದಿಗೆ ದೀರ್ಘಕಾಲ ಕೆಲಸ ಮಾಡಿದ್ದರೆ, ಕೆಲವೊಮ್ಮೆ PromQL ನಲ್ಲಿ ಏನನ್ನಾದರೂ ಮಾಡುವುದು ತುಂಬಾ ಕಷ್ಟ ಎಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ, ಆದರೆ SQL ನಲ್ಲಿ ನೀವು ಬಹುತೇಕ ಎಲ್ಲವನ್ನೂ ಮಾಡಬಹುದು, ಏಕೆಂದರೆ ನಾವು ಈಗ ಮಾತನಾಡಿರುವ ಈ ಎಲ್ಲಾ ಆಯ್ಕೆಗಳನ್ನು SQL ನಲ್ಲಿ ಮಾಡಬಹುದು . ಆದರೆ ಅದನ್ನು ಬಳಸಲು ಅನುಕೂಲಕರವಾಗಿದೆಯೇ? ಮತ್ತು ಇದು ಅತ್ಯಂತ ಶಕ್ತಿಯುತವಾದ ಭಾಷೆ ಯಾವಾಗಲೂ ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿರುವುದಿಲ್ಲ ಎಂದು ನನಗೆ ತೋರುತ್ತದೆ.
ಆದ್ದರಿಂದ, ಕೆಲವೊಮ್ಮೆ ನೀವು ಕಾರ್ಯಕ್ಕಾಗಿ ಭಾಷೆಯನ್ನು ಆರಿಸಬೇಕಾಗುತ್ತದೆ. ಇದು ಬ್ಯಾಟ್ಮ್ಯಾನ್ ಸೂಪರ್ಮ್ಯಾನ್ ವಿರುದ್ಧ ಹೋರಾಡುವಂತಿದೆ. ಸೂಪರ್ಮ್ಯಾನ್ ಬಲಶಾಲಿ ಎಂಬುದು ಸ್ಪಷ್ಟವಾಗಿದೆ, ಆದರೆ ಬ್ಯಾಟ್ಮ್ಯಾನ್ ಅವನನ್ನು ಸೋಲಿಸಲು ಸಾಧ್ಯವಾಯಿತು ಏಕೆಂದರೆ ಅವನು ಹೆಚ್ಚು ಪ್ರಾಯೋಗಿಕ ಮತ್ತು ಅವನು ಏನು ಮಾಡುತ್ತಿದ್ದಾನೆಂದು ನಿಖರವಾಗಿ ತಿಳಿದಿದ್ದನು.
ಮತ್ತು ಮುಂದಿನ ಭಾಗವು PromQL ಅನ್ನು ವಿಸ್ತರಿಸುವುದು.
ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ ಬಗ್ಗೆ ಮತ್ತೊಮ್ಮೆ. ವಿಕ್ಟೋರಿಯಾ ಮೆಟ್ರಿಕ್ಸ್ ಎಂದರೇನು? ಇದು ಸಮಯ ಸರಣಿಯ ಡೇಟಾಬೇಸ್ ಆಗಿದೆ, ಇದು ಓಪನ್ಸೋರ್ಸ್ನಲ್ಲಿದೆ, ನಾವು ಅದರ ಏಕ ಮತ್ತು ಕ್ಲಸ್ಟರ್ ಆವೃತ್ತಿಗಳನ್ನು ವಿತರಿಸುತ್ತೇವೆ. ನಮ್ಮ ಮಾನದಂಡಗಳ ಪ್ರಕಾರ, ಇದು ಈಗ ಮಾರುಕಟ್ಟೆಯಲ್ಲಿರುವ ಎಲ್ಲಕ್ಕಿಂತ ವೇಗವಾಗಿದೆ ಮತ್ತು ಸಂಕೋಚನವು ಹೋಲುತ್ತದೆ, ಅಂದರೆ ನಿಜವಾದ ಜನರು ಪ್ರತಿ ಪಾಯಿಂಟ್ಗೆ ಸುಮಾರು 0,4 ಬೈಟ್ಗಳ ಸಂಕೋಚನವನ್ನು ವರದಿ ಮಾಡುತ್ತಾರೆ, ಆದರೆ ಪ್ರಮೀತಿಯಸ್ 1,2-1,4 ಆಗಿದೆ.
ನಾವು ಕೇವಲ ಪ್ರಮೀತಿಯಸ್ಗಿಂತ ಹೆಚ್ಚಿನದನ್ನು ಬೆಂಬಲಿಸುತ್ತೇವೆ. ನಾವು InfluxDB, Graphite, OpenTSDB ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತೇವೆ.
ನೀವು ನಮಗೆ "ಬರೆಯಬಹುದು", ಅಂದರೆ, ನೀವು ಹಳೆಯ ಡೇಟಾವನ್ನು ವರ್ಗಾಯಿಸಬಹುದು.
ಮತ್ತು ನಾವು Prometheus ಮತ್ತು Grafana ಜೊತೆಗೆ ಸಂಪೂರ್ಣವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತೇವೆ, ಅಂದರೆ ನಾವು PromQL ಎಂಜಿನ್ ಅನ್ನು ಬೆಂಬಲಿಸುತ್ತೇವೆ. ಮತ್ತು ಗ್ರಾಫಾನಾದಲ್ಲಿ ನೀವು ಪ್ರಮೀತಿಯಸ್ ಎಂಡ್ಪಾಯಿಂಟ್ ಅನ್ನು ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ಗೆ ಸರಳವಾಗಿ ಬದಲಾಯಿಸಬಹುದು ಮತ್ತು ನಿಮ್ಮ ಎಲ್ಲಾ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳು ಅವರು ಮಾಡಿದಂತೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತವೆ.
ಆದರೆ ನೀವು ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ ಒದಗಿಸುವ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಸಹ ಬಳಸಬಹುದು.
ನಾವು ಸೇರಿಸಿದ ವೈಶಿಷ್ಟ್ಯಗಳ ಮೂಲಕ ನಾವು ತ್ವರಿತವಾಗಿ ಹೋಗುತ್ತೇವೆ.
ಮಧ್ಯಂತರ ಪ್ಯಾರಮ್ ಅನ್ನು ಬಿಟ್ಟುಬಿಡಿ - ನೀವು ಗ್ರಾಫಾನಾದಲ್ಲಿ ಮಧ್ಯಂತರ ನಿಯತಾಂಕಗಳನ್ನು ಬಿಟ್ಟುಬಿಡಬಹುದು. ಪ್ಯಾನೆಲ್ನಲ್ಲಿ ಜೂಮ್ ಇನ್/ಔಟ್ ಮಾಡುವಾಗ ವಿಚಿತ್ರ ಗ್ರಾಫ್ಗಳನ್ನು ಪಡೆಯಲು ನೀವು ಬಯಸದಿದ್ದಾಗ, ವೇರಿಯಬಲ್ ಅನ್ನು ಬಳಸಲು ಶಿಫಾರಸು ಮಾಡಲಾಗಿದೆ $__interval
. ಇದು ಆಂತರಿಕ ಗ್ರಾಫನಾ ಬದಲಾವಣೆಯಾಗಿದೆ ಮತ್ತು ಇದು ಡೇಟಾ ಶ್ರೇಣಿಯನ್ನು ಸ್ವತಃ ಆಯ್ಕೆ ಮಾಡುತ್ತದೆ. ಮತ್ತು VictoriaMetrics ಸ್ವತಃ ಈ ಶ್ರೇಣಿ ಏನಾಗಿರಬೇಕು ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಬಹುದು. ಮತ್ತು ನಿಮ್ಮ ಎಲ್ಲಾ ವಿನಂತಿಗಳನ್ನು ನೀವು ನವೀಕರಿಸುವ ಅಗತ್ಯವಿಲ್ಲ. ಇದು ಹೆಚ್ಚು ಸುಲಭವಾಗುತ್ತದೆ.
ಎರಡನೇ ಕಾರ್ಯವು ಮಧ್ಯಂತರ ಉಲ್ಲೇಖವಾಗಿದೆ. ನಿಮ್ಮ ಅಭಿವ್ಯಕ್ತಿಗಳಲ್ಲಿ ಈ ಮಧ್ಯಂತರವನ್ನು ನೀವು ಬಳಸಬಹುದು. ನೀವು ಅದನ್ನು ಗುಣಿಸಬಹುದು, ಭಾಗಿಸಬಹುದು, ವರ್ಗಾಯಿಸಬಹುದು, ಉಲ್ಲೇಖಿಸಬಹುದು.
ಮುಂದಿನದು ರೋಲಪ್ ಫಂಕ್ಷನ್ ಕುಟುಂಬ. ರೋಲಪ್ ಕಾರ್ಯವು ನಿಮ್ಮ ಯಾವುದೇ ಸಮಯದ ಸರಣಿಯನ್ನು ಮೂರು ಪ್ರತ್ಯೇಕ ಸಮಯ ಸರಣಿಗಳಾಗಿ ಪರಿವರ್ತಿಸುತ್ತದೆ. ಇವುಗಳು ನಿಮಿಷ, ಗರಿಷ್ಠ ಮತ್ತು ಸರಾಸರಿ. ನಾನು ಇದನ್ನು ತುಂಬಾ ಅನುಕೂಲಕರವೆಂದು ಭಾವಿಸುತ್ತೇನೆ ಏಕೆಂದರೆ ಕೆಲವೊಮ್ಮೆ ಇದು ಕೆಲವು ಔಟ್ಲೈಯರ್ಗಳು ಮತ್ತು ತಪ್ಪುಗಳನ್ನು ತೋರಿಸಬಹುದು.
ಮತ್ತು ನೀವು ಕೇವಲ ಕೋಪ ಅಥವಾ ರೇಟ್ ಮಾಡುತ್ತಿದ್ದರೆ, ಸಮಯ ಸರಣಿಯು ನೀವು ನಿರೀಕ್ಷಿಸಿದಂತೆ ವರ್ತಿಸದಿರುವ ಕೆಲವು ಸಂದರ್ಭಗಳಲ್ಲಿ ನೀವು ಬಹುಶಃ ತಪ್ಪಿಸಿಕೊಳ್ಳುವಿರಿ. ಈ ಫಂಕ್ಷನ್ನೊಂದಿಗೆ ನೋಡುವುದು ತುಂಬಾ ಸುಲಭ, ಸರಾಸರಿಯಿಂದ ಗರಿಷ್ಠ ಎಂದು ಹೇಳೋಣ.
ಮುಂದಿನದು ಡೀಫಾಲ್ಟ್ ವೇರಿಯೇಬಲ್. ಡೀಫಾಲ್ಟ್ - ಈ ಸಮಯದಲ್ಲಿ ನಾವು ಸಮಯ ಸರಣಿಯನ್ನು ಹೊಂದಿಲ್ಲದಿದ್ದರೆ ನಾವು ಗ್ರಾಫಾನಾದಲ್ಲಿ ಯಾವ ಮೌಲ್ಯವನ್ನು ಸೆಳೆಯಬೇಕು ಎಂದರ್ಥ. ಇದು ಯಾವಾಗ ಸಂಭವಿಸುತ್ತದೆ? ನೀವು ಕೆಲವು ದೋಷ ಮೆಟ್ರಿಕ್ಗಳನ್ನು ರಫ್ತು ಮಾಡುತ್ತಿದ್ದೀರಿ ಎಂದು ಹೇಳೋಣ. ಮತ್ತು ನೀವು ಅಂತಹ ತಂಪಾದ ಅಪ್ಲಿಕೇಶನ್ ಅನ್ನು ಹೊಂದಿದ್ದೀರಿ, ನೀವು ಪ್ರಾರಂಭಿಸಿದಾಗ, ನೀವು ಯಾವುದೇ ದೋಷಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಮತ್ತು ಮುಂದಿನ ಮೂರು ಗಂಟೆಗಳವರೆಗೆ ಅಥವಾ ಒಂದು ದಿನವೂ ಸಹ ಯಾವುದೇ ದೋಷಗಳಿಲ್ಲ. ಮತ್ತು ನೀವು ಯಶಸ್ಸಿನಿಂದ ದೋಷದ ನಡುವಿನ ಸಂಬಂಧವನ್ನು ತೋರಿಸುವ ಡ್ಯಾಶ್ಬೋರ್ಡ್ಗಳನ್ನು ಹೊಂದಿದ್ದೀರಿ. ಮತ್ತು ಅವರು ನಿಮಗೆ ಏನನ್ನೂ ತೋರಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ನೀವು ದೋಷ ಮೆಟ್ರಿಕ್ ಹೊಂದಿಲ್ಲ. ಮತ್ತು ಪೂರ್ವನಿಯೋಜಿತವಾಗಿ ನೀವು ಯಾವುದನ್ನಾದರೂ ನಿರ್ದಿಷ್ಟಪಡಿಸಬಹುದು.
Keep_last_Value - ಮೆಟ್ರಿಕ್ನ ಕೊನೆಯ ಮೌಲ್ಯವು ಕಾಣೆಯಾಗಿದ್ದರೆ ಅದನ್ನು ಉಳಿಸುತ್ತದೆ. ಮುಂದಿನ ಸ್ಕ್ರ್ಯಾಪ್ನ ನಂತರ 5 ನಿಮಿಷಗಳಲ್ಲಿ ಪ್ರಮೀತಿಯಸ್ ಅದನ್ನು ಕಂಡುಹಿಡಿಯದಿದ್ದರೆ, ಇಲ್ಲಿ ನಾವು ಅದರ ಕೊನೆಯ ಮೌಲ್ಯವನ್ನು ನೆನಪಿಸಿಕೊಳ್ಳುತ್ತೇವೆ ಮತ್ತು ನಿಮ್ಮ ಚಾರ್ಟ್ಗಳು ಮತ್ತೆ ಮುರಿಯುವುದಿಲ್ಲ.
Scrape_interval - ನಿಮ್ಮ ಮೆಟ್ರಿಕ್ನಲ್ಲಿ ಎಷ್ಟು ಬಾರಿ ಪ್ರೊಮೀಥಿಯಸ್ ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸುತ್ತಾನೆ ಮತ್ತು ಯಾವ ಆವರ್ತನದೊಂದಿಗೆ ತೋರಿಸುತ್ತದೆ. ಇಲ್ಲಿ ನೀವು ಪಾಸ್ ಅನ್ನು ನೋಡಬಹುದು, ಉದಾಹರಣೆಗೆ.
ಲೇಬಲ್ ಬದಲಿ ಜನಪ್ರಿಯ ವೈಶಿಷ್ಟ್ಯವಾಗಿದೆ. ಆದರೆ ಇದು ಸ್ವಲ್ಪ ಸಂಕೀರ್ಣವಾಗಿದೆ ಎಂದು ನಾವು ಭಾವಿಸುತ್ತೇವೆ ಏಕೆಂದರೆ ಇದು ಸಂಪೂರ್ಣ ವಾದಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಮತ್ತು ನೀವು 5 ವಾದಗಳನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳುವುದು ಮಾತ್ರವಲ್ಲ, ಅವುಗಳ ಅನುಕ್ರಮವನ್ನು ಸಹ ನೆನಪಿಟ್ಟುಕೊಳ್ಳಬೇಕು.
ಆದ್ದರಿಂದ, ಅವುಗಳನ್ನು ಏಕೆ ಸರಳಗೊಳಿಸಬಾರದು? ಅಂದರೆ, ಅರ್ಥವಾಗುವ ಸಿಂಟ್ಯಾಕ್ಸ್ನೊಂದಿಗೆ ಅದನ್ನು ಸಣ್ಣ ಕಾರ್ಯಗಳಾಗಿ ವಿಭಜಿಸಿ.
ಮತ್ತು ಈಗ ಮೋಜಿನ ಭಾಗ. ಇದು ವಿಸ್ತೃತ PromQL ಎಂದು ನಾವು ಏಕೆ ಭಾವಿಸುತ್ತೇವೆ? ಏಕೆಂದರೆ ನಾವು ಸಾಮಾನ್ಯ ಟೇಬಲ್ ಅಭಿವ್ಯಕ್ತಿಗಳನ್ನು ಬೆಂಬಲಿಸುತ್ತೇವೆ. ನೀವು QR ಕೋಡ್ ಅನ್ನು ಅನುಸರಿಸಬಹುದು (
ಮತ್ತು ಇದು ಏನು? ಮೇಲಿನ ಈ ವಿನಂತಿಯು ಸಾಕಷ್ಟು ಜನಪ್ರಿಯ ವಿನಂತಿಯಾಗಿದೆ. ಅನೇಕ ಕಂಪನಿಗಳಲ್ಲಿನ ಯಾವುದೇ ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಲ್ಲಿ ನೀವು ಎಲ್ಲದಕ್ಕೂ ಒಂದೇ ಫಿಲ್ಟರ್ ಅನ್ನು ಬಳಸುತ್ತೀರಿ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ. ಸಾಮಾನ್ಯವಾಗಿ ಹಾಗೆ. ಆದರೆ ನೀವು ಕೆಲವು ಹೊಸ ಫಿಲ್ಟರ್ ಅನ್ನು ಸೇರಿಸಬೇಕಾದಾಗ, ನೀವು ಪ್ರತಿ ಪ್ಯಾನೆಲ್ ಅನ್ನು ನವೀಕರಿಸಬೇಕು ಅಥವಾ ಡ್ಯಾಶ್ಬೋರ್ಡ್ ಅನ್ನು ಡೌನ್ಲೋಡ್ ಮಾಡಬೇಕು, ಅದನ್ನು JSON ನಲ್ಲಿ ತೆರೆಯಬೇಕು, ರಿಪ್ಲೇಸ್ ಅನ್ನು ಹುಡುಕಿ, ಇದು ಸಮಯ ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ಈ ಮೌಲ್ಯವನ್ನು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ಏಕೆ ಸಂಗ್ರಹಿಸಬಾರದು ಮತ್ತು ಅದನ್ನು ಮರುಬಳಕೆ ಮಾಡಬಾರದು? ಇದು ನನ್ನ ಅಭಿಪ್ರಾಯದಲ್ಲಿ ಹೆಚ್ಚು ಸರಳ ಮತ್ತು ಸ್ಪಷ್ಟವಾಗಿ ಕಾಣುತ್ತದೆ.
ಉದಾಹರಣೆಗೆ, ನಾನು ಎಲ್ಲಾ ವಿನಂತಿಗಳಲ್ಲಿ ಗ್ರಾಫಾನಾದಲ್ಲಿ ಫಿಲ್ಟರ್ಗಳನ್ನು ನವೀಕರಿಸಬೇಕಾದಾಗ, ಮತ್ತು ಡ್ಯಾಶ್ಬೋರ್ಡ್ ದೊಡ್ಡದಾಗಿರಬಹುದು ಅಥವಾ ಅವುಗಳಲ್ಲಿ ಹಲವಾರು ಇರಬಹುದು. ಮತ್ತು ನಾನು ಗ್ರಾಫಾನಾದಲ್ಲಿ ಈ ಸಮಸ್ಯೆಯನ್ನು ಹೇಗೆ ಪರಿಹರಿಸಲು ಬಯಸುತ್ತೇನೆ?
ನಾನು ಈ ಸಮಸ್ಯೆಯನ್ನು ಈ ರೀತಿ ಪರಿಹರಿಸುತ್ತೇನೆ: ನಾನು ಕಾಮನ್ಫಿಲ್ಟರ್ ಅನ್ನು ತಯಾರಿಸುತ್ತೇನೆ ಮತ್ತು ಅದರಲ್ಲಿ ಈ ಫಿಲ್ಟರ್ ಅನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇನೆ ಮತ್ತು ನಂತರ ಅದನ್ನು ಪ್ರಶ್ನೆಗಳಲ್ಲಿ ಮರುಬಳಕೆ ಮಾಡುತ್ತೇನೆ. ಆದರೆ ನೀವು ಈಗ ಅದೇ ರೀತಿ ಮಾಡಿದರೆ, ಅದು ಕಾರ್ಯನಿರ್ವಹಿಸುವುದಿಲ್ಲ ಏಕೆಂದರೆ ಕ್ವೆರಿ ವೇರಿಯೇಬಲ್ಗಳ ಒಳಗೆ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಬಳಸಲು ಗ್ರಾಫಾನಾ ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ. ಮತ್ತು ಇದು ಸ್ವಲ್ಪ ವಿಚಿತ್ರವಾಗಿದೆ.
ಮತ್ತು ಆದ್ದರಿಂದ ನಾನು ಇದನ್ನು ಮಾಡಲು ನಿಮಗೆ ಅನುಮತಿಸುವ ಆಯ್ಕೆಯನ್ನು ಮಾಡಿದ್ದೇನೆ. ಮತ್ತು ನೀವು ಆಸಕ್ತಿ ಹೊಂದಿದ್ದರೆ ಅಥವಾ ಅಂತಹ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಬಯಸಿದರೆ, ನಂತರ ಅದನ್ನು ಬೆಂಬಲಿಸಿ ಅಥವಾ ನೀವು ಈ ಕಲ್ಪನೆಯನ್ನು ಇಷ್ಟಪಡದಿದ್ದರೆ ಅದನ್ನು ಇಷ್ಟಪಡುವುದಿಲ್ಲ.
PromQL ವಿಸ್ತೃತ ಕುರಿತು ಇನ್ನಷ್ಟು. ಇಲ್ಲಿ ನಾವು ವೇರಿಯೇಬಲ್ ಅನ್ನು ಮಾತ್ರವಲ್ಲದೆ ಸಂಪೂರ್ಣ ಕಾರ್ಯವನ್ನು ವ್ಯಾಖ್ಯಾನಿಸುತ್ತೇವೆ. ಮತ್ತು ನಾವು ಅದನ್ನು ರು (ಸಂಪನ್ಮೂಲ ಬಳಕೆ) ಎಂದು ಕರೆಯುತ್ತೇವೆ. ಮತ್ತು ಈ ಕಾರ್ಯವು ಉಚಿತ ಸಂಪನ್ಮೂಲಗಳು, ಸಂಪನ್ಮೂಲ ಮಿತಿ ಮತ್ತು ಫಿಲ್ಟರ್ ಅನ್ನು ಸ್ವೀಕರಿಸುತ್ತದೆ. ಸಿಂಟ್ಯಾಕ್ಸ್ ಸರಳವಾಗಿದೆ ಎಂದು ತೋರುತ್ತದೆ. ಮತ್ತು ಈ ಕಾರ್ಯವನ್ನು ಬಳಸುವುದು ತುಂಬಾ ಸುಲಭ ಮತ್ತು ನಾವು ಹೊಂದಿರುವ ಉಚಿತ ಮೆಮೊರಿಯ ಶೇಕಡಾವಾರು ಲೆಕ್ಕಾಚಾರ. ಅಂದರೆ, ನಮ್ಮಲ್ಲಿ ಎಷ್ಟು ಮೆಮೊರಿ ಇದೆ, ಮಿತಿ ಏನು ಮತ್ತು ಹೇಗೆ ಫಿಲ್ಟರ್ ಮಾಡುವುದು. ನೀವು ಎಲ್ಲವನ್ನೂ ಬರೆದರೆ, ಅದೇ ಫಿಲ್ಟರ್ಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಿದರೆ ಅದು ಹೆಚ್ಚು ಅನುಕೂಲಕರವಾಗಿ ಕಾಣುತ್ತದೆ, ಏಕೆಂದರೆ ಅದು ದೊಡ್ಡ, ದೊಡ್ಡ ಪ್ರಶ್ನೆಯಾಗಿ ಬದಲಾಗುತ್ತದೆ.
ಮತ್ತು ಅಂತಹ ದೊಡ್ಡ, ದೊಡ್ಡ ವಿನಂತಿಯ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ. ಇದು Grafana ಗಾಗಿ ಅಧಿಕೃತ NodeExporter ಡ್ಯಾಶ್ಬೋರ್ಡ್ನಿಂದ ಬಂದಿದೆ. ಆದರೆ ಇಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಎಂದು ನನಗೆ ಅರ್ಥವಾಗುತ್ತಿಲ್ಲ. ಅಂದರೆ, ನೀವು ಹತ್ತಿರದಿಂದ ನೋಡಿದರೆ ನಾನು ಅರ್ಥಮಾಡಿಕೊಂಡಿದ್ದೇನೆ, ಆದರೆ ಆವರಣಗಳ ಸಂಖ್ಯೆಯು ಇಲ್ಲಿ ಏನಾಗುತ್ತಿದೆ ಎಂಬುದನ್ನು ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು ಪ್ರೇರಣೆಯನ್ನು ತಕ್ಷಣವೇ ಕಡಿಮೆ ಮಾಡುತ್ತದೆ. ಮತ್ತು ಅದನ್ನು ಏಕೆ ಸರಳ ಮತ್ತು ಸ್ಪಷ್ಟಗೊಳಿಸಬಾರದು?
ಉದಾಹರಣೆಗೆ, ಈ ರೀತಿಯಾಗಿ, ಮಹತ್ವದ ವಿಷಯಗಳನ್ನು ಅಥವಾ ಭಾಗಗಳನ್ನು ಅಸ್ಥಿರಗಳಾಗಿ ಬೇರ್ಪಡಿಸುವುದು. ತದನಂತರ ನಿಮ್ಮ ಮೂಲ ಗಣಿತವನ್ನು ಮಾಡಿ. ಇದು ಈಗಾಗಲೇ ಪ್ರೋಗ್ರಾಮಿಂಗ್ನಂತೆಯೇ ಇದೆ, ಇದನ್ನು ನಾನು ಭವಿಷ್ಯದಲ್ಲಿ ಗ್ರಾಫಾನಾದಲ್ಲಿ ನೋಡಲು ಬಯಸುತ್ತೇನೆ.
ನಾವು ಈಗಾಗಲೇ ಈ ರು ಕಾರ್ಯವನ್ನು ಹೊಂದಿದ್ದರೆ ನಾವು ಇದನ್ನು ಹೇಗೆ ಸುಲಭಗೊಳಿಸಬಹುದು ಎಂಬುದಕ್ಕೆ ಎರಡನೇ ಉದಾಹರಣೆ ಇಲ್ಲಿದೆ, ಮತ್ತು ಇದು ಈಗಾಗಲೇ ನೇರವಾಗಿ ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ನಲ್ಲಿ ಅಸ್ತಿತ್ವದಲ್ಲಿದೆ. ಮತ್ತು ನಂತರ ನೀವು CTE ನಲ್ಲಿ ಘೋಷಿಸಿದ ಕ್ಯಾಶ್ ಮಾಡಿದ ಮೌಲ್ಯವನ್ನು ಸರಳವಾಗಿ ರವಾನಿಸುತ್ತೀರಿ.
ಸರಿಯಾದ ಪ್ರೋಗ್ರಾಮಿಂಗ್ ಭಾಷೆಯನ್ನು ಬಳಸುವುದು ಎಷ್ಟು ಮುಖ್ಯ ಎಂಬುದರ ಕುರಿತು ನಾನು ಈಗಾಗಲೇ ಮಾತನಾಡಿದ್ದೇನೆ. ಮತ್ತು, ಪ್ರಾಯಶಃ, ಗ್ರಾಫನಾದಲ್ಲಿನ ಪ್ರತಿಯೊಂದು ಕಂಪನಿಯು ವಿಭಿನ್ನವಾಗಿ ನಡೆಯುತ್ತಿದೆ. ಮತ್ತು ನೀವು ಬಹುಶಃ ನಿಮ್ಮ ಡೆವಲಪರ್ಗಳಿಗೆ ಗ್ರಾಫನಾಗೆ ಪ್ರವೇಶವನ್ನು ನೀಡುತ್ತೀರಿ ಮತ್ತು ಡೆವಲಪರ್ಗಳು ತಮ್ಮದೇ ಆದ ಕೆಲಸವನ್ನು ಮಾಡುತ್ತಾರೆ. ಮತ್ತು ಅವರೆಲ್ಲರೂ ಅದನ್ನು ಹೇಗಾದರೂ ವಿಭಿನ್ನವಾಗಿ ಮಾಡುತ್ತಾರೆ. ಆದರೆ ಅದು ಹೇಗಾದರೂ ಒಂದೇ ಆಗಿರಬೇಕು, ಅಂದರೆ ಅದನ್ನು ಸಾಮಾನ್ಯ ಮಾನದಂಡಕ್ಕೆ ಇಳಿಸಬೇಕೆಂದು ನಾನು ಬಯಸುತ್ತೇನೆ.
ನೀವು ಕೇವಲ ಸಿಸ್ಟಮ್ ಇಂಜಿನಿಯರ್ಗಳನ್ನು ಹೊಂದಿಲ್ಲ ಎಂದು ಹೇಳೋಣ, ಬಹುಶಃ ನೀವು ತಜ್ಞರು, ಡೆವೊಪ್ಗಳು ಅಥವಾ SRE ಅನ್ನು ಸಹ ಹೊಂದಿರಬಹುದು. ಮಾನಿಟರಿಂಗ್ ಎಂದರೇನು, ಗ್ರಾಫಾನಾ ಎಂದರೇನು ಎಂದು ತಿಳಿದಿರುವ ತಜ್ಞರು ಬಹುಶಃ ನೀವು ಹೊಂದಿರಬಹುದು, ಅಂದರೆ, ಅವರು ವರ್ಷಗಳಿಂದ ಅದರೊಂದಿಗೆ ಕೆಲಸ ಮಾಡುತ್ತಿದ್ದಾರೆ ಮತ್ತು ಅದನ್ನು ಸರಿಯಾಗಿ ಹೇಗೆ ಮಾಡಬೇಕೆಂದು ಅವರಿಗೆ ತಿಳಿದಿದೆ. ಮತ್ತು ಅವರು ಇದನ್ನು ಈಗಾಗಲೇ 100 ಬಾರಿ ಬರೆದಿದ್ದಾರೆ ಮತ್ತು ಎಲ್ಲರಿಗೂ ವಿವರಿಸಿದ್ದಾರೆ, ಆದರೆ ಕೆಲವು ಕಾರಣಗಳಿಂದ ಯಾರೂ ಕೇಳುವುದಿಲ್ಲ.
ಅವರು ಈ ಜ್ಞಾನವನ್ನು ನೇರವಾಗಿ ಗ್ರಾಫನಾಗೆ ಹಾಕಿದರೆ ಇತರ ಬಳಕೆದಾರರು ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಮರುಬಳಕೆ ಮಾಡಬಹುದು? ಮತ್ತು ಅವರು ಉಚಿತ ಮೆಮೊರಿಯ ಶೇಕಡಾವಾರು ಪ್ರಮಾಣವನ್ನು ಲೆಕ್ಕ ಹಾಕಬೇಕಾದರೆ, ಅವರು ಕಾರ್ಯವನ್ನು ಸರಳವಾಗಿ ಅನ್ವಯಿಸುತ್ತಾರೆ. ರಫ್ತುದಾರರ ರಚನೆಕಾರರು, ಅವರ ಉತ್ಪನ್ನದ ಜೊತೆಗೆ, ಅವರ ಮೆಟ್ರಿಕ್ಗಳೊಂದಿಗೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡುವುದು ಎಂಬುದರ ಕುರಿತು ಕಾರ್ಯಗಳ ಒಂದು ಸೆಟ್ ಅನ್ನು ಸಹ ಒದಗಿಸಿದರೆ, ಈ ಮೆಟ್ರಿಕ್ಗಳು ಯಾವುವು ಮತ್ತು ಅವುಗಳನ್ನು ಸರಿಯಾಗಿ ಲೆಕ್ಕಾಚಾರ ಮಾಡುವುದು ಹೇಗೆ ಎಂದು ಅವರಿಗೆ ತಿಳಿದಿದೆ.
ಇದು ನಿಜವಾಗಿಯೂ ಅಸ್ತಿತ್ವದಲ್ಲಿಲ್ಲ. ಇದನ್ನೇ ನಾನೇ ಮಾಡಿದ್ದೇನೆ. ಇದು ಗ್ರಾಫನಾದಲ್ಲಿ ಗ್ರಂಥಾಲಯದ ಬೆಂಬಲವಾಗಿದೆ. ನೋಡ್ಎಕ್ಸ್ಪೋರ್ಟರ್ ಅನ್ನು ಮಾಡಿದ ವ್ಯಕ್ತಿಗಳು ನಾನು ಮಾತನಾಡಿದ್ದನ್ನು ಮಾಡಿದ್ದಾರೆ ಎಂದು ಹೇಳೋಣ. ಮತ್ತು ಅವರು ಕಾರ್ಯಗಳ ಗುಂಪನ್ನು ಸಹ ಒದಗಿಸಿದ್ದಾರೆ.
ಅಂದರೆ, ಇದು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ. ನೀವು ಈ ಲೈಬ್ರರಿಯನ್ನು ಗ್ರಾಫನಾಗೆ ಸಂಪರ್ಕಿಸುತ್ತೀರಿ, ನೀವು ಸಂಪಾದನೆಗೆ ಹೋಗುತ್ತೀರಿ ಮತ್ತು ಈ ಮೆಟ್ರಿಕ್ನೊಂದಿಗೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡಬೇಕೆಂದು JSON ನಲ್ಲಿ ಬರೆಯಲಾಗಿದೆ. ಅಂದರೆ, ಕೆಲವು ಕಾರ್ಯಗಳು, ಅವುಗಳ ವಿವರಣೆ ಮತ್ತು ಅವು ಏನಾಗುತ್ತವೆ.
ಇದು ಉಪಯುಕ್ತವಾಗಬಹುದು ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ, ಏಕೆಂದರೆ ಗ್ರಾಫನಾದಲ್ಲಿ ನೀವು ಹಾಗೆ ಬರೆಯುತ್ತೀರಿ. ಮತ್ತು ಅಂತಹ ಮತ್ತು ಅಂತಹ ಲೈಬ್ರರಿಯಿಂದ ಅಂತಹ ಮತ್ತು ಅಂತಹ ಕಾರ್ಯವಿದೆ ಎಂದು ಗ್ರಾಫಾನಾ ನಿಮಗೆ "ಹೇಳುತ್ತದೆ" - ಅದನ್ನು ಬಳಸೋಣ. ಅದು ತುಂಬಾ ತಂಪಾಗಿರುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ವಿಕ್ಟೋರಿಯಾಮೆಟ್ರಿಕ್ಸ್ ಬಗ್ಗೆ ಸ್ವಲ್ಪ. ನಾವು ಬಹಳಷ್ಟು ಆಸಕ್ತಿದಾಯಕ ವಿಷಯಗಳನ್ನು ಮಾಡುತ್ತೇವೆ. ಸಂಕೋಚನದ ಬಗ್ಗೆ, ಇತರ ಸಮಯ ಸರಣಿ ಡೇಟಾ ಅಪ್ಲಿಕೇಶನ್ಗಳೊಂದಿಗಿನ ನಮ್ಮ ಸ್ಪರ್ಧೆಗಳ ಬಗ್ಗೆ, PromQL ನೊಂದಿಗೆ ಹೇಗೆ ಕೆಲಸ ಮಾಡುವುದು ಎಂಬುದರ ಕುರಿತು ನಮ್ಮ ವಿವರಣೆಯನ್ನು ಓದಿ, ಏಕೆಂದರೆ ಇದರಲ್ಲಿ ಇನ್ನೂ ಸಾಕಷ್ಟು ಆರಂಭಿಕರಿದ್ದಾರೆ, ಜೊತೆಗೆ ಲಂಬ ಸ್ಕೇಲೆಬಿಲಿಟಿ ಮತ್ತು ಥಾನೋಸ್ನೊಂದಿಗಿನ ಮುಖಾಮುಖಿಯ ಬಗ್ಗೆ.
ಪ್ರಶ್ನೆಗಳು:
ನಾನು ನನ್ನ ಪ್ರಶ್ನೆಯನ್ನು ಸರಳ ಜೀವನ ಕಥೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುತ್ತೇನೆ. ನಾನು ಮೊದಲ ಬಾರಿಗೆ ಗ್ರಾಫನಾವನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದಾಗ, ನಾನು 5 ಸಾಲುಗಳನ್ನು ಹೊಂದಿರುವ ಅತ್ಯಂತ ಬಲವಾದ ಪ್ರಶ್ನೆಯನ್ನು ಬರೆದಿದ್ದೇನೆ. ಅಂತಿಮ ಫಲಿತಾಂಶವು ಬಹಳ ಮನವೊಪ್ಪಿಸುವ ಗ್ರಾಫ್ ಆಗಿದೆ. ಈ ವೇಳಾಪಟ್ಟಿ ಬಹುತೇಕ ಉತ್ಪಾದನೆಗೆ ಹೋಗಿದೆ. ಆದರೆ ಸೂಕ್ಷ್ಮವಾಗಿ ಪರಿಶೀಲಿಸಿದಾಗ, ಈ ಗ್ರಾಫ್ ವಾಸ್ತವದೊಂದಿಗೆ ಯಾವುದೇ ಸಂಬಂಧವಿಲ್ಲದ ಸಂಪೂರ್ಣ ಅಸಂಬದ್ಧತೆಯನ್ನು ತೋರಿಸುತ್ತದೆ ಎಂದು ಬದಲಾಯಿತು, ಆದರೂ ಸಂಖ್ಯೆಗಳು ನಾವು ನೋಡಲು ನಿರೀಕ್ಷಿಸಿದ ವ್ಯಾಪ್ತಿಯಲ್ಲಿ ಬರುತ್ತವೆ. ಮತ್ತು ನನ್ನ ಪ್ರಶ್ನೆ. ನಮ್ಮಲ್ಲಿ ಲೈಬ್ರರಿಗಳಿವೆ, ನಮಗೆ ಕಾರ್ಯಗಳಿವೆ, ಆದರೆ ನಾವು ಗ್ರಾಫಾನಾಗೆ ಪರೀಕ್ಷೆಗಳನ್ನು ಹೇಗೆ ಬರೆಯುತ್ತೇವೆ? ನೀವು ವ್ಯವಹಾರದ ನಿರ್ಧಾರವನ್ನು ಅವಲಂಬಿಸಿರುವ ಸಂಕೀರ್ಣ ವಿನಂತಿಯನ್ನು ಬರೆದಿದ್ದೀರಿ - ಸರ್ವರ್ಗಳ ನಿಜವಾದ ಧಾರಕವನ್ನು ಆದೇಶಿಸಲು ಅಥವಾ ಆದೇಶಿಸಬೇಡಿ. ಮತ್ತು ನಮಗೆ ತಿಳಿದಿರುವಂತೆ, ಗ್ರಾಫ್ ಅನ್ನು ಸೆಳೆಯುವ ಈ ಕಾರ್ಯವು ಸತ್ಯಕ್ಕೆ ಹೋಲುತ್ತದೆ. ಧನ್ಯವಾದ.
ಪ್ರಶ್ನೆಗೆ ಧನ್ಯವಾದಗಳು. ಎರಡು ಭಾಗಗಳಿವೆ. ಮೊದಲಿಗೆ, ನನ್ನ ಅನುಭವದ ಆಧಾರದ ಮೇಲೆ ನಾನು ಅನಿಸಿಕೆ ಪಡೆಯುತ್ತೇನೆ, ಹೆಚ್ಚಿನ ಬಳಕೆದಾರರು ತಮ್ಮ ಚಾರ್ಟ್ಗಳನ್ನು ನೋಡಿದಾಗ, ಅವರು ಏನು ತೋರಿಸುತ್ತಿದ್ದಾರೆಂದು ಅರ್ಥವಾಗುವುದಿಲ್ಲ. ಕೆಲವು ಕಾರಣಗಳಿಗಾಗಿ, ಗ್ರಾಫ್ಗಳಲ್ಲಿ ಸಂಭವಿಸುವ ಯಾವುದೇ ಅಸಂಗತತೆಗೆ ಒಂದು ಕ್ಷಮಿಸಿ ಬರಲು ಜನರು ತುಂಬಾ ಒಳ್ಳೆಯವರು, ಅದು ಕಾರ್ಯದೊಳಗೆ ದೋಷವಾಗಿದ್ದರೂ ಸಹ. ಮತ್ತು ಎರಡನೇ ಭಾಗ - ನಿಮ್ಮ ಪ್ರತಿಯೊಂದು ಡೆವಲಪರ್ಗಳು ತಮ್ಮದೇ ಆದ ಸಾಮರ್ಥ್ಯದ ಯೋಜನೆ ಮತ್ತು ಕೆಲವು ಸಂಭವನೀಯತೆಯೊಂದಿಗೆ ತಪ್ಪುಗಳನ್ನು ಮಾಡುವ ಬದಲು ಅಂತಹ ಕಾರ್ಯಗಳನ್ನು ಬಳಸುವುದು ನಿಮ್ಮ ಸಮಸ್ಯೆಯನ್ನು ಪರಿಹರಿಸಲು ಉತ್ತಮ ಮಾರ್ಗವಾಗಿದೆ ಎಂದು ನನಗೆ ತೋರುತ್ತದೆ.
ಹೇಗೆ ಪರಿಶೀಲಿಸುವುದು?
ಪರಿಶೀಲಿಸುವುದು ಹೇಗೆ? ಬಹುಷಃ ಇಲ್ಲ.
ಗ್ರಾಪಂನಲ್ಲಿ ಪರೀಕ್ಷೆಯಂತೆ.
ಗ್ರಾಪಂಗೂ ಇದಕ್ಕೂ ಏನು ಸಂಬಂಧ? ಗ್ರಾಫನಾ ಈ ವಿನಂತಿಯನ್ನು ನೇರವಾಗಿ ಡೇಟಾಸೋರ್ಸ್ಗೆ ಅನುವಾದಿಸುತ್ತದೆ.
ನಿಯತಾಂಕಗಳಿಗೆ ಸ್ವಲ್ಪ ಸೇರಿಸುವುದು.
ಇಲ್ಲ, ಗ್ರಾಫನಾಗೆ ಏನನ್ನೂ ಸೇರಿಸಲಾಗಿಲ್ಲ. GET ಪ್ಯಾರಾಮೀಟರ್ಗಳು ಇರಬಹುದು, ಉದಾಹರಣೆಗೆ, ಹೇಳಿ, ಹೆಜ್ಜೆ. ಇದನ್ನು ಸ್ಪಷ್ಟವಾಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಲಾಗಿಲ್ಲ, ಆದರೆ ನೀವು ಅದನ್ನು ಅತಿಕ್ರಮಿಸಬಹುದು, ಅಥವಾ ನೀವು ಅದನ್ನು ಅತಿಕ್ರಮಿಸದಿರಬಹುದು, ಆದರೆ ಅದನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಸೇರಿಸಲಾಗುತ್ತದೆ. ನೀವು ಇಲ್ಲಿ ಪರೀಕ್ಷೆಗಳನ್ನು ಬರೆಯುವುದಿಲ್ಲ. ಇಲ್ಲಿ ಸತ್ಯದ ಮೂಲವಾಗಿ ನಾವು ಗ್ರಾಫನಾವನ್ನು ಅವಲಂಬಿಸಬಾರದು ಎಂದು ನಾನು ಭಾವಿಸುತ್ತೇನೆ.
ವರದಿಗಾಗಿ ಧನ್ಯವಾದಗಳು! ಸಂಕೋಚನಕ್ಕಾಗಿ ಧನ್ಯವಾದಗಳು! ಗ್ರಾಫ್ನಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಮ್ಯಾಪಿಂಗ್ ಮಾಡುವುದನ್ನು ನೀವು ಪ್ರಸ್ತಾಪಿಸಿದ್ದೀರಿ, ಗ್ರಾಫನಾದಲ್ಲಿ ನೀವು ವೇರಿಯೇಬಲ್ನಲ್ಲಿ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸಲಾಗುವುದಿಲ್ಲ. ನಾನು ಏನು ಹೇಳಲು ಬಯಸಿದೆನೆಂದು ನಿನಗೆ ತಿಳಿಯಿತೆ?
ಹೌದು.
ನಾನು ಗ್ರಾಫನಾದಲ್ಲಿ ಎಚ್ಚರಿಕೆಯನ್ನು ರಚಿಸಲು ಬಯಸಿದಾಗ ಇದು ಆರಂಭದಲ್ಲಿ ತಲೆನೋವಾಗಿತ್ತು. ಮತ್ತು ಅಲ್ಲಿ ನೀವು ಪ್ರತಿ ಹೋಸ್ಟ್ಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಮಾಡಬೇಕಾಗಿದೆ. ನೀವು ಮಾಡಿದ ಈ ವಿಷಯ, ಇದು ಗ್ರಾಫಾನಾದಲ್ಲಿ ಎಚ್ಚರಿಕೆಗಳಿಗಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆಯೇ?
ಗ್ರಾಫನಾ ವಿಭಿನ್ನವಾಗಿ ವೇರಿಯೇಬಲ್ಗಳನ್ನು ಪ್ರವೇಶಿಸದಿದ್ದರೆ, ಹೌದು, ಅದು ಕೆಲಸ ಮಾಡುತ್ತದೆ. ಆದರೆ ನನ್ನ ಸಲಹೆಯೆಂದರೆ ಗ್ರಾಫಾನಾದಲ್ಲಿ ಎಚ್ಚರಿಕೆಯನ್ನು ಬಳಸಬೇಡಿ, ನೀವು ಅಲರ್ಟ್ಮ್ಯಾನೇಜರ್ ಅನ್ನು ಬಳಸುವುದು ಉತ್ತಮ.
ಹೌದು, ನಾನು ಅದನ್ನು ಬಳಸುತ್ತೇನೆ, ಆದರೆ ಗ್ರಾಫನಾದಲ್ಲಿ ಹೊಂದಿಸಲು ಸುಲಭವಾಗಿದೆ ಎಂದು ತೋರುತ್ತದೆ, ಆದರೆ ಸಲಹೆಗಾಗಿ ಧನ್ಯವಾದಗಳು!
ಮೂಲ: www.habr.com