ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು

ಸೆಲ್ಯೂಟ್, ಖಬ್ರೋವೈಟ್ಸ್! ಕೋರ್ಸ್‌ಗೆ ಹೊಸ ದಾಖಲಾತಿಯ ಪ್ರಾರಂಭದ ನಿರೀಕ್ಷೆಯಲ್ಲಿ "DevOps ಅಭ್ಯಾಸಗಳು ಮತ್ತು ಪರಿಕರಗಳು" ನಿಮಗಾಗಿ ಆಸಕ್ತಿದಾಯಕ ವಸ್ತುಗಳ ಅನುವಾದವನ್ನು ಸಿದ್ಧಪಡಿಸಲಾಗಿದೆ.

ಈ ಲೇಖನ ಲೋಕಿಯ ಕಿರು ಪರಿಚಯ. ಪ್ರಾಜೆಕ್ಟ್ ಲೋಕಿ ಗ್ರಾಪಂನಿಂದ ಬೆಂಬಲಿತವಾಗಿದೆ ಮತ್ತು ಲಾಗ್‌ಗಳ (ಸರ್ವರ್‌ಗಳು ಅಥವಾ ಕಂಟೈನರ್‌ಗಳಿಂದ) ಕೇಂದ್ರೀಕೃತ ಸಂಗ್ರಹಣೆಯ ಗುರಿಯನ್ನು ಹೊಂದಿದೆ.

ಲೋಕಿಯ ಮುಖ್ಯ ಪ್ರೇರಣೆ ಪ್ರಮೀತಿಯಸ್ ಲಾಗ್ ನಿರ್ವಹಣೆಗೆ ತನ್ನ ವಿಧಾನಗಳನ್ನು ಅನ್ವಯಿಸುವ ಕಲ್ಪನೆಯೊಂದಿಗೆ:

  • ಡೇಟಾವನ್ನು ಸಂಗ್ರಹಿಸಲು ಲೇಬಲ್‌ಗಳನ್ನು ಬಳಸುವುದು
  • ಕಡಿಮೆ ಸಂಪನ್ಮೂಲ ಬಳಕೆ

ನಾವು ಪ್ರಮೀತಿಯಸ್ನ ತತ್ವಗಳಿಗೆ ಹಿಂತಿರುಗುತ್ತೇವೆ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ನ ಸಂದರ್ಭದಲ್ಲಿ ಅದರ ಬಳಕೆಯ ಕೆಲವು ಉದಾಹರಣೆಗಳನ್ನು ನೀಡುತ್ತೇವೆ.

ಪ್ರಮೀತಿಯಸ್ ಬಗ್ಗೆ ಕೆಲವು ಮಾತುಗಳು

ಲೋಕಿ ಹೇಗೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಾರೆ ಎಂಬುದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಒಂದು ಹೆಜ್ಜೆ ಹಿಂದಕ್ಕೆ ಇಡುವುದು ಮತ್ತು ಪ್ರಮೀಥಿಯಸ್ ಅನ್ನು ಸ್ವಲ್ಪಮಟ್ಟಿಗೆ ಭೇಟಿ ಮಾಡುವುದು ಮುಖ್ಯ.

ಸಂಗ್ರಹಣಾ ಸ್ಥಳಗಳಿಂದ (ರಫ್ತುದಾರರ ಮೂಲಕ) ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯುವುದು ಮತ್ತು ಲೇಬಲ್‌ಗಳ ರೂಪದಲ್ಲಿ ಮೆಟಾಡೇಟಾವನ್ನು ಸೇರಿಸುವುದರೊಂದಿಗೆ ಅವುಗಳನ್ನು TSDB (ಸಮಯ ಸರಣಿ ಡೇಟಾ ಬೇಸ್, ಸಮಯ ಸರಣಿ ಡೇಟಾಬೇಸ್) ನಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದು ಪ್ರಮೀತಿಯಸ್‌ನ ವಿಶಿಷ್ಟ ಗುಣಲಕ್ಷಣಗಳಲ್ಲಿ ಒಂದಾಗಿದೆ.

ಅದು ಏಕೆ ಬೇಕು

ಇತ್ತೀಚೆಗೆ, ಕಂಟೈನರ್‌ಗಳು ಮತ್ತು ಕುಬರ್ನೆಟ್‌ಗಳ ಜಗತ್ತಿನಲ್ಲಿ ಪ್ರಮೀತಿಯಸ್ ವಾಸ್ತವಿಕ ಮಾನದಂಡವಾಗಿದೆ: ಅದರ ಸ್ಥಾಪನೆಯು ತುಂಬಾ ಸರಳವಾಗಿದೆ ಮತ್ತು ಕುಬರ್ನೆಟ್ಸ್ ಕ್ಲಸ್ಟರ್ ಆರಂಭದಲ್ಲಿ ಪ್ರಮೀತಿಯಸ್‌ಗೆ ಅಂತಿಮ ಬಿಂದುವನ್ನು ಹೊಂದಿದೆ. ನಿರ್ದಿಷ್ಟ ಲೇಬಲ್‌ಗಳನ್ನು ನಿರ್ವಹಿಸುವಾಗ ಕಂಟೈನರ್‌ನಲ್ಲಿ ನಿಯೋಜಿಸಲಾದ ಅಪ್ಲಿಕೇಶನ್‌ಗಳಿಂದ ಪ್ರಮೀತಿಯಸ್ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ಹೊರತೆಗೆಯಬಹುದು. ಆದ್ದರಿಂದ, ಅಪ್ಲಿಕೇಶನ್ ಮಾನಿಟರಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ತುಂಬಾ ಸುಲಭ.

ದುರದೃಷ್ಟವಶಾತ್, ಲಾಗ್ ನಿರ್ವಹಣೆಗೆ ಇನ್ನೂ ಯಾವುದೇ ಟರ್ನ್‌ಕೀ ಪರಿಹಾರವಿಲ್ಲ, ಮತ್ತು ನೀವೇ ಪರಿಹಾರವನ್ನು ಕಂಡುಹಿಡಿಯಬೇಕು:

  • ಲಾಗ್‌ಗಳನ್ನು ಕೇಂದ್ರೀಕರಿಸಲು ನಿರ್ವಹಿಸಲಾದ ಕ್ಲೌಡ್ ಸೇವೆ (AWS, Azure ಅಥವಾ Google)
  • ಮಾನಿಟರಿಂಗ್ ಸೇವೆ "ಸೇವೆಯಾಗಿ ಮಾನಿಟರಿಂಗ್" (ಉದಾಹರಣೆಗೆ, ಡೇಟಾಡಾಗ್)
  • ನಿಮ್ಮ ಸ್ವಂತ ಲಾಗ್ ಸಂಗ್ರಹಣೆ ಸೇವೆಯನ್ನು ರಚಿಸುವುದು.

ಮೂರನೆಯ ಆಯ್ಕೆಗಾಗಿ, ನಾನು ಸಾಂಪ್ರದಾಯಿಕವಾಗಿ ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟವನ್ನು ಬಳಸಿದ್ದೇನೆ, ನಾನು ಯಾವಾಗಲೂ ಅದರಲ್ಲಿ ಸಂತೋಷವಾಗಿರಲಿಲ್ಲ (ವಿಶೇಷವಾಗಿ ಅದರ ಭಾರ ಮತ್ತು ಸೆಟಪ್‌ನ ಸಂಕೀರ್ಣತೆ).

ಲೋಕಿ ಅನ್ನು ಈ ಕೆಳಗಿನ ತತ್ವಗಳ ಪ್ರಕಾರ ಕಾರ್ಯಗತಗೊಳಿಸಲು ಸುಲಭವಾಗುವಂತೆ ವಿನ್ಯಾಸಗೊಳಿಸಲಾಗಿದೆ:

  • ಪ್ರಾರಂಭಿಸಲು ಸುಲಭ
  • ಕೆಲವು ಸಂಪನ್ಮೂಲಗಳನ್ನು ಬಳಸುತ್ತದೆ
  • ಯಾವುದೇ ವಿಶೇಷ ನಿರ್ವಹಣೆ ಇಲ್ಲದೆ ಸ್ವತಂತ್ರವಾಗಿ ಕೆಲಸ
  • ದೋಷದ ತನಿಖೆಗಳಿಗೆ ಸಹಾಯ ಮಾಡಲು ಪ್ರೊಮೀಥಿಯಸ್‌ಗೆ ಆಡ್-ಆನ್ ಆಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ

ಆದಾಗ್ಯೂ, ಈ ಸರಳತೆಯು ಕೆಲವು ಹೊಂದಾಣಿಕೆಗಳ ವೆಚ್ಚದಲ್ಲಿ ಬರುತ್ತದೆ. ಅವುಗಳಲ್ಲಿ ಒಂದು ವಿಷಯವನ್ನು ಇಂಡೆಕ್ಸ್ ಮಾಡುವುದು ಅಲ್ಲ. ಆದ್ದರಿಂದ, ಪಠ್ಯ ಹುಡುಕಾಟವು ಹೆಚ್ಚು ಪರಿಣಾಮಕಾರಿ ಅಥವಾ ಶ್ರೀಮಂತವಾಗಿಲ್ಲ ಮತ್ತು ಪಠ್ಯದ ವಿಷಯದ ಅಂಕಿಅಂಶಗಳನ್ನು ಇರಿಸಿಕೊಳ್ಳಲು ನಿಮಗೆ ಅನುಮತಿಸುವುದಿಲ್ಲ. ಆದರೆ ಲೋಕಿಯು ಪ್ರಮೀತಿಯಸ್‌ಗೆ ಗ್ರೆಪ್ ಸಮಾನ ಮತ್ತು ಪೂರಕವಾಗಲು ಬಯಸುವುದರಿಂದ, ಇದು ಅನನುಕೂಲವಲ್ಲ.

ಘಟನೆ ತನಿಖೆ

ಲೋಕಿಗೆ ಏಕೆ ಇಂಡೆಕ್ಸಿಂಗ್ ಅಗತ್ಯವಿಲ್ಲ ಎಂಬುದನ್ನು ಚೆನ್ನಾಗಿ ಅರ್ಥಮಾಡಿಕೊಳ್ಳಲು, ಲೋಕಿ ಡೆವಲಪರ್‌ಗಳು ಬಳಸಿದ ಘಟನೆಯ ತನಿಖಾ ವಿಧಾನಕ್ಕೆ ಹಿಂತಿರುಗಿ ನೋಡೋಣ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
1 ಎಚ್ಚರಿಕೆ → 2 ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ → 3 ಅಡ್ಹಾಕ್ ಪ್ರಶ್ನೆ → 4 ಲಾಗ್ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆ → 5 ವಿತರಿಸಿದ ಟ್ರೇಸಿಂಗ್ → 6 ಸರಿಪಡಿಸಿ!
(1 ಎಚ್ಚರಿಕೆ → 2 ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ → 3 ಅಡ್ಹಾಕ್ ಪ್ರಶ್ನೆ → 4 ಲಾಗ್ ಒಟ್ಟುಗೂಡಿಸುವಿಕೆ → 5 ವಿತರಿಸಿದ ಟ್ರೇಸಿಂಗ್ → 6 ಫಿಕ್ಸ್!)

ನಾವು ಕೆಲವು ರೀತಿಯ ಎಚ್ಚರಿಕೆಯನ್ನು ಪಡೆಯುತ್ತೇವೆ (ಸ್ಲಾಕ್ ಅಧಿಸೂಚನೆ, SMS, ಇತ್ಯಾದಿ) ಮತ್ತು ಅದರ ನಂತರ:

  • ಗ್ರಾಫನಾ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳನ್ನು ನೋಡಿ
  • ಸೇವಾ ಮೆಟ್ರಿಕ್‌ಗಳನ್ನು ನೋಡಿ (ಉದಾಹರಣೆಗೆ, ಪ್ರೊಮೆಥಿಯಸ್‌ನಲ್ಲಿ)
  • ಲಾಗ್ ನಮೂದುಗಳನ್ನು ನೋಡಿ (ಉದಾಹರಣೆಗೆ, ಸ್ಥಿತಿಸ್ಥಾಪಕ ಹುಡುಕಾಟದಲ್ಲಿ)
  • ಬಹುಶಃ ವಿತರಿಸಿದ ಕುರುಹುಗಳನ್ನು ನೋಡೋಣ (ಜೇಗರ್, ಜಿಪ್ಕಿನ್, ಇತ್ಯಾದಿ)
  • ಮತ್ತು ಅಂತಿಮವಾಗಿ ಮೂಲ ಸಮಸ್ಯೆಯನ್ನು ಸರಿಪಡಿಸಿ.

ಇಲ್ಲಿ, Grafana + Prometheus + Elasticsearch + Zipkin ಸ್ಟಾಕ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ನೀವು ನಾಲ್ಕು ವಿಭಿನ್ನ ಪರಿಕರಗಳನ್ನು ಬಳಸಬೇಕಾಗುತ್ತದೆ. ಸಮಯವನ್ನು ಉಳಿಸಲು, ಈ ಎಲ್ಲಾ ಹಂತಗಳನ್ನು ಒಂದೇ ಸಾಧನದಿಂದ ಮಾಡಲು ಸಾಧ್ಯವಾಗುವುದು ಒಳ್ಳೆಯದು: ಗ್ರಾಫನಾ. 6 ನೇ ಆವೃತ್ತಿಯಿಂದ ಗ್ರಾಫಾನಾದಲ್ಲಿ ಸಂಶೋಧನೆಗೆ ಈ ವಿಧಾನವನ್ನು ಅಳವಡಿಸಲಾಗಿದೆ ಎಂದು ಗಮನಿಸಬೇಕಾದ ಅಂಶವಾಗಿದೆ. ಹೀಗಾಗಿ, ಗ್ರಾಫಾನಾದಿಂದ ನೇರವಾಗಿ ಪ್ರಮೀತಿಯಸ್ ಡೇಟಾವನ್ನು ಪ್ರವೇಶಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಪ್ರಮೀತಿಯಸ್ ಮತ್ತು ಲೋಕಿ ನಡುವೆ ಎಕ್ಸ್‌ಪ್ಲೋರರ್ ಪರದೆಯ ವಿಭಜನೆ

ಈ ಪರದೆಯಿಂದ, ನೀವು ಸ್ಪ್ಲಿಟ್ ಸ್ಕ್ರೀನ್ ಪರಿಕಲ್ಪನೆಯನ್ನು ಬಳಸಿಕೊಂಡು ಪ್ರಮೀತಿಯಸ್ ಮೆಟ್ರಿಕ್‌ಗಳಿಗೆ ಸಂಬಂಧಿಸಿದ ಲೋಕಿಯಲ್ಲಿ ಲಾಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಬಹುದು. ಆವೃತ್ತಿ 6.5 ರಿಂದ, ನಿಮ್ಮ ಮೆಚ್ಚಿನ ವಿತರಿಸಿದ ಟ್ರೇಸಿಂಗ್ ಟೂಲ್‌ಗಳಿಗೆ (ಜೇಗರ್) ಲಿಂಕ್‌ಗಳನ್ನು ಅನುಸರಿಸಲು ಲೋಕಿ ಲಾಗ್ ನಮೂದುಗಳಲ್ಲಿ ಟ್ರೇಸ್ ಐಡಿಯನ್ನು ಪಾರ್ಸ್ ಮಾಡಲು ಗ್ರಾಫಾನಾ ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಲೋಕಿ ಸ್ಥಳೀಯ ಪರೀಕ್ಷೆ

ಲೋಕಿಯನ್ನು ಸ್ಥಳೀಯವಾಗಿ ಪರೀಕ್ಷಿಸಲು ಸುಲಭವಾದ ಮಾರ್ಗವೆಂದರೆ ಡಾಕರ್-ಸಂಯೋಜನೆಯನ್ನು ಬಳಸುವುದು. ಡಾಕರ್-ಕಂಪೋಸ್ ಫೈಲ್ ಲೋಕಿ ರೆಪೊಸಿಟರಿಯಲ್ಲಿದೆ. ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ನೀವು ರೆಪೊಸಿಟರಿಯನ್ನು ಪಡೆಯಬಹುದು git:

$ git clone https://github.com/grafana/loki.git

ನಂತರ ನೀವು ಉತ್ಪಾದನಾ ಡೈರೆಕ್ಟರಿಗೆ ಬದಲಾಯಿಸಬೇಕಾಗಿದೆ:

$ cd production

ಅದರ ನಂತರ, ನೀವು ಇತ್ತೀಚಿನ ಡಾಕರ್ ಚಿತ್ರಗಳನ್ನು ಪಡೆಯಬಹುದು:

$ docker-compose pull

ಅಂತಿಮವಾಗಿ, ಲೋಕಿ ಸ್ಟಾಕ್ ಅನ್ನು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸಲಾಗಿದೆ:

$ docker-compose up

ಲೋಕಿ ವಾಸ್ತುಶಿಲ್ಪ

ಲೋಕಿ ವಾಸ್ತುಶಿಲ್ಪದೊಂದಿಗೆ ಒಂದು ಸಣ್ಣ ರೇಖಾಚಿತ್ರ ಇಲ್ಲಿದೆ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಲೋಕಿ ಆರ್ಕಿಟೆಕ್ಚರ್ ಪ್ರಿನ್ಸಿಪಲ್ಸ್

ವೆಬ್ ಕ್ಲೈಂಟ್ ಸರ್ವರ್‌ನಲ್ಲಿ ಅಪ್ಲಿಕೇಶನ್‌ಗಳನ್ನು ರನ್ ಮಾಡುತ್ತದೆ, ಪ್ರೋಮ್‌ಟೈಲ್ ಲಾಗ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸುತ್ತದೆ ಮತ್ತು ಅವುಗಳನ್ನು ಲೋಕಿಗೆ ಕಳುಹಿಸುತ್ತದೆ, ವೆಬ್ ಕ್ಲೈಂಟ್ ಮೆಟಾಡೇಟಾವನ್ನು ಲೋಕಿಗೆ ಕಳುಹಿಸುತ್ತದೆ. ಲೋಕಿ ಎಲ್ಲವನ್ನೂ ಒಟ್ಟುಗೂಡಿಸಿ ಗ್ರಾಪಂಗೆ ರವಾನಿಸುತ್ತಾನೆ.
ಲೋಕಿ ಓಡುತ್ತಿದ್ದಾರೆ. ಲಭ್ಯವಿರುವ ಘಟಕಗಳನ್ನು ವೀಕ್ಷಿಸಲು, ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

$ docker ps

ಹೊಸದಾಗಿ ಸ್ಥಾಪಿಸಲಾದ ಡಾಕರ್‌ನ ಸಂದರ್ಭದಲ್ಲಿ, ಆಜ್ಞೆಯು ಈ ಕೆಳಗಿನ ಔಟ್‌ಪುಟ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಬೇಕು:

IMAGE               PORTS                  NAMES
grafana/promtail:                          production_promtail_1
grafana/grafana: m  0.0.0.0:3000->3000/tcp production_grafana_1
grafana/loki: late  80/tcp,0.0.0.0:3100... production_loki_1

ನಾವು ಈ ಕೆಳಗಿನ ಘಟಕಗಳನ್ನು ನೋಡುತ್ತೇವೆ:

  • ಪ್ರೋಮ್‌ಟೈಲ್: ಲಾಗ್‌ಗಳನ್ನು ಕೇಂದ್ರೀಕರಿಸುವ ಜವಾಬ್ದಾರಿಯುತ ಏಜೆಂಟ್
  • ಗ್ರಾಫನಾ: ಪ್ರಸಿದ್ಧ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಸಾಧನ
  • ಲೋಕಿ: ಡೇಟಾ ಕೇಂದ್ರೀಕರಣ ಡೀಮನ್

ಕ್ಲಾಸಿಕ್ ಮೂಲಸೌಕರ್ಯದ ಭಾಗವಾಗಿ (ಉದಾಹರಣೆಗೆ, ವರ್ಚುವಲ್ ಯಂತ್ರಗಳ ಆಧಾರದ ಮೇಲೆ), ಪ್ರತಿ ಯಂತ್ರದಲ್ಲಿ ಪ್ರೋಮ್‌ಟೇಲ್ ಏಜೆಂಟ್ ಅನ್ನು ನಿಯೋಜಿಸಬೇಕು. ಗ್ರಾಫನಾ ಮತ್ತು ಲೋಕಿ ಒಂದೇ ಯಂತ್ರದಲ್ಲಿ ಅಳವಡಿಸಬಹುದಾಗಿದೆ.

ಕುಬರ್ನೆಟ್ಸ್ಗೆ ನಿಯೋಜನೆ

ಕುಬರ್ನೆಟ್ಸ್‌ನಲ್ಲಿ ಲೋಕಿ ಘಟಕಗಳನ್ನು ಸ್ಥಾಪಿಸುವುದು ಈ ಕೆಳಗಿನಂತಿರುತ್ತದೆ:

  • ಸರ್ವರ್ ಕ್ಲಸ್ಟರ್‌ನಲ್ಲಿರುವ ಪ್ರತಿಯೊಂದು ಯಂತ್ರಗಳಲ್ಲಿ ಪ್ರೋಮ್‌ಟೇಲ್ ಏಜೆಂಟ್ ಅನ್ನು ನಿಯೋಜಿಸಲು ಡೇಮನ್‌ಸೆಟ್
  • ಲೋಕಿ ನಿಯೋಜನೆ
  • ಮತ್ತು ಕೊನೆಯದು ಗ್ರಾಫಾನ ನಿಯೋಜನೆ.

ಅದೃಷ್ಟವಶಾತ್, ಲೋಕಿ ಹೆಲ್ಮ್ ಪ್ಯಾಕೇಜ್ ಆಗಿ ಲಭ್ಯವಿದೆ, ಇದು ನಿಯೋಜಿಸಲು ಸುಲಭವಾಗುತ್ತದೆ.

ಹೆಮ್ಲ್ ಮೂಲಕ ಅನುಸ್ಥಾಪನೆ

ನೀವು ಈಗಾಗಲೇ Heml ಅನ್ನು ಸ್ಥಾಪಿಸಿರಬೇಕು. ಇದನ್ನು ಯೋಜನೆಯ GitHub ರೆಪೊಸಿಟರಿಯಿಂದ ಡೌನ್‌ಲೋಡ್ ಮಾಡಬಹುದು. ನಿಮ್ಮ ಆರ್ಕಿಟೆಕ್ಚರ್‌ಗೆ ಸೂಕ್ತವಾದ ಆರ್ಕೈವ್ ಅನ್ನು ಹೊರತೆಗೆಯುವ ಮೂಲಕ ಮತ್ತು ಚುಕ್ಕಾಣಿಯನ್ನು ಸೇರಿಸುವ ಮೂಲಕ ಇದನ್ನು ಸ್ಥಾಪಿಸಲಾಗಿದೆ $PATH.

ಗಮನಿಸಿ: ಹೆಲ್ಮ್‌ನ ಆವೃತ್ತಿ 3.0.0 ಇತ್ತೀಚೆಗೆ ಬಿಡುಗಡೆಯಾಗಿದೆ. ಅದರಲ್ಲಿ ಅನೇಕ ಬದಲಾವಣೆಗಳು ಆಗಿರುವುದರಿಂದ, ಅದನ್ನು ಬಳಸಲು ಪ್ರಾರಂಭಿಸುವ ಮೊದಲು ಓದುಗರಿಗೆ ಸ್ವಲ್ಪ ಸಮಯ ಕಾಯಲು ಸಲಹೆ ನೀಡಲಾಗುತ್ತದೆ..

ಹೆಲ್ಮ್‌ಗೆ ಮೂಲವನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ

ಕೆಳಗಿನ ಆಜ್ಞೆಯೊಂದಿಗೆ "ಲೋಕಿ" ರೆಪೊಸಿಟರಿಯನ್ನು ಸೇರಿಸುವುದು ಮೊದಲ ಹಂತವಾಗಿದೆ:

$ helm add loki https://grafana.github.io/loki/charts

ಅದರ ನಂತರ, ನೀವು "ಲೋಕಿ" ಹೆಸರಿನ ಪ್ಯಾಕೇಜ್‌ಗಳನ್ನು ಹುಡುಕಬಹುದು:

$ helm search loki

ಫಲಿತಾಂಶ:

loki/loki       0.17.2 v0.4.0 Loki: like Prometheus, but for logs.
loki/loki-stack 0.19.1 v0.4.0 Loki: like Prometheus, but for logs.
loki/fluent-bit 0.0.2  v0.0.1 Uses fluent-bit Loki go plugin for...
loki/promtail   0.13.1 v0.4.0 Responsible for gathering logs and...

ಈ ಪ್ಯಾಕೇಜ್‌ಗಳು ಈ ಕೆಳಗಿನ ವೈಶಿಷ್ಟ್ಯಗಳನ್ನು ಹೊಂದಿವೆ:

  • ಪ್ಯಾಕ್ ಲೋಕಿ/ಲೋಕಿ ಲೋಕಿ ಸರ್ವರ್‌ಗೆ ಮಾತ್ರ ಹೊಂದಿಕೆಯಾಗುತ್ತದೆ
  • ಪ್ಯಾಕ್ ಲೋಕಿ/ಫ್ಲುಯೆಂಟ್-ಬಿಟ್ Promtail ಬದಲಿಗೆ ಲಾಗ್‌ಗಳನ್ನು ಸಂಗ್ರಹಿಸಲು fluent-bin ಅನ್ನು ಬಳಸಿಕೊಂಡು DaemonSet ಅನ್ನು ನಿಯೋಜಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ
  • ಪ್ಯಾಕ್ ಲೋಕಿ/ಪ್ರಾಮ್‌ಟೇಲ್ ಲಾಗ್ ಸಂಗ್ರಹಣೆ ಏಜೆಂಟ್ ಅನ್ನು ಒಳಗೊಂಡಿದೆ
  • ಪ್ಯಾಕ್ ಲೋಕಿ/ಲೋಕಿ-ಸ್ಟಾಕ್, Promtail ಜೊತೆಗೆ ಲೋಕಿ ಅನ್ನು ತಕ್ಷಣವೇ ನಿಯೋಜಿಸಲು ನಿಮಗೆ ಅನುಮತಿಸುತ್ತದೆ.

ಲೋಕಿ ಅನ್ನು ಸ್ಥಾಪಿಸಲಾಗುತ್ತಿದೆ

ಲೋಕಿ ಅನ್ನು ಕುಬರ್ನೆಟ್ಸ್‌ಗೆ ನಿಯೋಜಿಸಲು, "ಮೇಲ್ವಿಚಾರಣೆ" ನೇಮ್‌ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿ:

$ helm upgrade --install loki loki/loki-stack --namespace monitoring

ಡಿಸ್ಕ್ಗೆ ಉಳಿಸಲು, ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಿ --set loki.persistence.enabled = true:

$ helm upgrade --install loki loki/loki-stack 
              --namespace monitoring 
              --set loki.persistence.enabled=true

ಗಮನಿಸಿ: ನೀವು ಅದೇ ಸಮಯದಲ್ಲಿ ಗ್ರಾಫನಾವನ್ನು ನಿಯೋಜಿಸಲು ಬಯಸಿದರೆ, ನಂತರ ನಿಯತಾಂಕವನ್ನು ಸೇರಿಸಿ --set grafana.enabled = true

ನೀವು ಈ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಿದಾಗ, ನೀವು ಈ ಕೆಳಗಿನ ಔಟ್ಪುಟ್ ಅನ್ನು ಪಡೆಯಬೇಕು:

LAST DEPLOYED: Tue Nov 19 15:56:54 2019
NAMESPACE: monitoring
STATUS: DEPLOYED
RESOURCES:
==> v1/ClusterRole
NAME AGE
loki-promtail-clusterrole 189d
…
NOTES:
The Loki stack has been deployed to your cluster. Loki can now be added as a datasource in Grafana.
See <a href="http://docs.grafana.org/features/datasources/loki/">http://docs.grafana.org/features/datasources/loki/</a> for more details.

"ಮೇಲ್ವಿಚಾರಣೆ" ನೇಮ್‌ಸ್ಪೇಸ್‌ನಲ್ಲಿ ಪಾಡ್‌ಗಳ ಸ್ಥಿತಿಯನ್ನು ನೋಡಿದಾಗ, ಎಲ್ಲವನ್ನೂ ನಿಯೋಜಿಸಲಾಗಿದೆ ಎಂದು ನಾವು ನೋಡಬಹುದು:

$ kubectl -n monitoring get pods -l release=loki

ಫಲಿತಾಂಶ:

NAME                 READY  STATUS   RESTARTS  AGE
loki-0               1/1    Running  0         147m
loki-promtail-9zjvc  1/1    Running  0         3h25m
loki-promtail-f6brf  1/1    Running  0         11h
loki-promtail-hdcj7  1/1    Running  0         3h23m
loki-promtail-jbqhc  1/1    Running  0         11h
loki-promtail-mj642  1/1    Running  0         62m
loki-promtail-nm64g  1/1    Running  0         24m

ಎಲ್ಲಾ ಪಾಡ್‌ಗಳು ಚಾಲನೆಯಲ್ಲಿವೆ. ಈಗ ಕೆಲವು ಪರೀಕ್ಷೆಗಳನ್ನು ಮಾಡುವ ಸಮಯ!

ಗ್ರಾಫಾನಾಗೆ ಸಂಪರ್ಕಿಸಲಾಗುತ್ತಿದೆ

ಕುಬರ್ನೆಟ್ಸ್ ಅಡಿಯಲ್ಲಿ ಗ್ರಾಫಾನಾಗೆ ಸಂಪರ್ಕಿಸಲು, ನೀವು ಅದರ ಪಾಡ್ಗೆ ಸುರಂಗವನ್ನು ತೆರೆಯಬೇಕು. ಗ್ರಾಫನಾ ಪಾಡ್‌ಗಾಗಿ ಪೋರ್ಟ್ 3000 ಅನ್ನು ತೆರೆಯಲು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯಾಗಿದೆ:

$ kubectl -n port-forward monitoring svc/loki-grafana 3000:80

ಗ್ರಾಫನಾ ನಿರ್ವಾಹಕರ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಮರುಪಡೆಯುವುದು ಮತ್ತೊಂದು ಪ್ರಮುಖ ಅಂಶವಾಗಿದೆ. ಗುಪ್ತಪದವನ್ನು ರಹಸ್ಯವಾಗಿಡಲಾಗಿದೆ loki-grafana ಕ್ಷೇತ್ರದಲ್ಲಿ .data.admin-user ಬೇಸ್ 64 ಸ್ವರೂಪದಲ್ಲಿ.

ಅದನ್ನು ಪುನಃಸ್ಥಾಪಿಸಲು, ನೀವು ಈ ಕೆಳಗಿನ ಆಜ್ಞೆಯನ್ನು ಚಲಾಯಿಸಬೇಕು:

$ kubectl -n monitoring get secret loki-grafana 
 --template '{{index .data "admin-password" | base64decode}}'; echo

ಡೀಫಾಲ್ಟ್ ನಿರ್ವಾಹಕ ಖಾತೆ (ನಿರ್ವಾಹಕ) ಜೊತೆಯಲ್ಲಿ ಈ ಪಾಸ್‌ವರ್ಡ್ ಅನ್ನು ಬಳಸಿ.

ಗ್ರಾಫನಾದಲ್ಲಿ ಲೋಕಿ ಡೇಟಾ ಮೂಲ ವ್ಯಾಖ್ಯಾನ

ಮೊದಲನೆಯದಾಗಿ, ಲೋಕಿ ಡೇಟಾ ಮೂಲವನ್ನು (ಕಾನ್ಫಿಗರೇಶನ್ / ಡೇಟಾಸೋರ್ಸ್) ರಚಿಸಲಾಗಿದೆ ಎಂದು ಖಚಿತಪಡಿಸಿಕೊಳ್ಳಿ.
ಇಲ್ಲಿ ಒಂದು ಉದಾಹರಣೆ ಇದೆ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಲೋಕಿಗೆ ಡೇಟಾ ಮೂಲವನ್ನು ಹೊಂದಿಸುವ ಉದಾಹರಣೆ

"ಪರೀಕ್ಷೆ" ಕ್ಲಿಕ್ ಮಾಡುವ ಮೂಲಕ ನೀವು ಲೋಕಿಯೊಂದಿಗೆ ಸಂಪರ್ಕವನ್ನು ಪರೀಕ್ಷಿಸಬಹುದು.

ಲೋಕಿಗೆ ವಿನಂತಿಗಳನ್ನು ಮಾಡುವುದು

ಈಗ ಗ್ರಾಫನಾಗೆ ಹೋಗಿ ಮತ್ತು "ಎಕ್ಸ್‌ಪ್ಲೋರ್" ವಿಭಾಗಕ್ಕೆ ಹೋಗಿ. ಕಂಟೈನರ್‌ಗಳಿಂದ ಲಾಗ್‌ಗಳನ್ನು ಸ್ವೀಕರಿಸುವಾಗ, ಲೋಕಿ ಕುಬರ್ನೆಟ್ಸ್‌ನಿಂದ ಮೆಟಾಡೇಟಾವನ್ನು ಸೇರಿಸುತ್ತಾರೆ. ಹೀಗಾಗಿ, ನಿರ್ದಿಷ್ಟ ಕಂಟೇನರ್‌ನ ಲಾಗ್‌ಗಳನ್ನು ವೀಕ್ಷಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಉದಾಹರಣೆಗೆ, ಪ್ರಾಮ್‌ಟೈಲ್ ಕಂಟೇನರ್ ಲಾಗ್‌ಗಳನ್ನು ಆಯ್ಕೆ ಮಾಡಲು, ನೀವು ಈ ಕೆಳಗಿನ ಪ್ರಶ್ನೆಯನ್ನು ಬಳಸಬಹುದು: {container_name = "promtail"}.
ಇಲ್ಲಿ ಲೋಕಿ ಡೇಟಾ ಮೂಲವನ್ನು ಆಯ್ಕೆ ಮಾಡಲು ಮರೆಯಬೇಡಿ.

ಈ ಪ್ರಶ್ನೆಯು ಕಂಟೇನರ್ ಚಟುವಟಿಕೆಯನ್ನು ಈ ಕೆಳಗಿನಂತೆ ಹಿಂತಿರುಗಿಸುತ್ತದೆ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಗ್ರಾಫಾನಾದಲ್ಲಿ ಪ್ರಶ್ನೆ ಫಲಿತಾಂಶ

ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗೆ ಸೇರಿಸಲಾಗುತ್ತಿದೆ

ಗ್ರಾಫನಾ 6.4 ರಿಂದ ಪ್ರಾರಂಭಿಸಿ, ಲಾಗ್ ಮಾಹಿತಿಯನ್ನು ನೇರವಾಗಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ನಲ್ಲಿ ಹಾಕಲು ಸಾಧ್ಯವಿದೆ. ಅದರ ನಂತರ, ಬಳಕೆದಾರನು ತನ್ನ ಸೈಟ್‌ನಲ್ಲಿನ ವಿನಂತಿಗಳ ಸಂಖ್ಯೆಯ ನಡುವೆ ಅಪ್ಲಿಕೇಶನ್ ಟ್ರೇಸ್‌ಗಳಿಗೆ ತ್ವರಿತವಾಗಿ ಬದಲಾಯಿಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ.

ಈ ಸಂವಾದವನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಉದಾಹರಣೆ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್ ಕೆಳಗೆ ಇದೆ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಪ್ರಮೀತಿಯಸ್ ಮೆಟ್ರಿಕ್‌ಗಳು ಮತ್ತು ಲೋಕಿ ಲಾಗ್‌ಗಳೊಂದಿಗೆ ಮಾದರಿ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್

ಲೋಕಿಯ ಭವಿಷ್ಯ

ನಾನು ಲೋಕಿ ಅನ್ನು ಮೇ/ಜೂನ್‌ನಲ್ಲಿ ಆವೃತ್ತಿ 0.1 ನೊಂದಿಗೆ ಬಳಸಲು ಪ್ರಾರಂಭಿಸಿದೆ. ಆವೃತ್ತಿ 1 ಅನ್ನು ಈಗಾಗಲೇ ಇಂದು ಬಿಡುಗಡೆ ಮಾಡಲಾಗಿದೆ ಮತ್ತು 1.1 ಮತ್ತು 1.2 ಸಹ.

ಆವೃತ್ತಿ 0.1 ಸಾಕಷ್ಟು ಸ್ಥಿರವಾಗಿಲ್ಲ ಎಂದು ಒಪ್ಪಿಕೊಳ್ಳಬೇಕು. ಆದರೆ 0.3 ಈಗಾಗಲೇ ಪ್ರಬುದ್ಧತೆಯ ನಿಜವಾದ ಚಿಹ್ನೆಗಳನ್ನು ತೋರಿಸಿದೆ, ಮತ್ತು ಮುಂದಿನ ಆವೃತ್ತಿಗಳು (0.4, ನಂತರ 1.0) ಈ ಅನಿಸಿಕೆಯನ್ನು ಮಾತ್ರ ಬಲಪಡಿಸಿತು.

1.0.0 ನಂತರ, ಈ ಅದ್ಭುತ ಸಾಧನವನ್ನು ಬಳಸದಿರಲು ಯಾರೂ ಕ್ಷಮಿಸುವುದಿಲ್ಲ.

ಹೆಚ್ಚಿನ ಸುಧಾರಣೆಗಳು ಲೋಕಿಯ ಬಗ್ಗೆ ಇರಬಾರದು, ಬದಲಿಗೆ ಅತ್ಯುತ್ತಮ ಗ್ರಾಫಾನಾದೊಂದಿಗೆ ಅದರ ಏಕೀಕರಣ. ವಾಸ್ತವವಾಗಿ, ಗ್ರಾಫನಾ 6.4 ಈಗಾಗಲೇ ಡ್ಯಾಶ್‌ಬೋರ್ಡ್‌ಗಳೊಂದಿಗೆ ಉತ್ತಮ ಏಕೀಕರಣವನ್ನು ಹೊಂದಿದೆ.

ಇತ್ತೀಚೆಗೆ ಬಿಡುಗಡೆಯಾದ Grafana 6.5, JSON ಸ್ವರೂಪದಲ್ಲಿ ಲಾಗ್‌ಗಳ ವಿಷಯಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಗುರುತಿಸುವ ಮೂಲಕ ಈ ಏಕೀಕರಣವನ್ನು ಇನ್ನಷ್ಟು ಸುಧಾರಿಸುತ್ತದೆ.

ಕೆಳಗಿನ ವೀಡಿಯೊ ಈ ಕಾರ್ಯವಿಧಾನದ ಸಣ್ಣ ಉದಾಹರಣೆಯನ್ನು ತೋರಿಸುತ್ತದೆ:

ಲೋಕಿ - ಪ್ರಮೀತಿಯಸ್ ವಿಧಾನವನ್ನು ಬಳಸಿಕೊಂಡು ದಾಖಲೆಗಳನ್ನು ಸಂಗ್ರಹಿಸುವುದು
ಗ್ರಾಫನಾದಲ್ಲಿ ಸಲ್ಲಿಸಲಾದ ಲೋಕಿ ತಂತಿಗಳನ್ನು ಬಳಸುವುದು

JSON ಕ್ಷೇತ್ರಗಳಲ್ಲಿ ಒಂದನ್ನು ಬಳಸಲು ಸಾಧ್ಯವಾಗುತ್ತದೆ, ಉದಾಹರಣೆಗೆ, ಇದಕ್ಕೆ:

  • ಬಾಹ್ಯ ಉಪಕರಣಕ್ಕೆ ಲಿಂಕ್‌ಗಳು
  • ಲಾಗ್ ವಿಷಯ ಫಿಲ್ಟರಿಂಗ್

ಉದಾಹರಣೆಗೆ, ನೀವು ಜಿಪ್‌ಕಿನ್ ಅಥವಾ ಜೇಗರ್‌ಗೆ ಹೋಗಲು ಟ್ರೇಸ್‌ಐಡಿ ಅನ್ನು ಕ್ಲಿಕ್ ಮಾಡಬಹುದು.

ಎಂದಿನಂತೆ, ನಿಮ್ಮ ಕಾಮೆಂಟ್‌ಗಳಿಗಾಗಿ ನಾವು ಎದುರು ನೋಡುತ್ತೇವೆ ಮತ್ತು ನಿಮ್ಮನ್ನು ಆಹ್ವಾನಿಸುತ್ತೇವೆ ತೆರೆದ ವೆಬ್ನಾರ್, ಅಲ್ಲಿ ನಾವು 2019 ರಲ್ಲಿ DevOps ಉದ್ಯಮವು ಹೇಗೆ ಅಭಿವೃದ್ಧಿಗೊಂಡಿದೆ ಮತ್ತು 2020 ಕ್ಕೆ ಸಂಭವನೀಯ ಅಭಿವೃದ್ಧಿ ಮಾರ್ಗಗಳನ್ನು ಚರ್ಚಿಸುತ್ತೇವೆ.

ಮೂಲ: www.habr.com