ಪೆಟ್ಟಿಗೆಯ ಹೊರಗೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯೊಂದಿಗೆ Zabbix ಅನ್ನು ಹೇಗೆ ಸಂಪರ್ಕಿಸುವುದು

ಹಿಂದಿನ ಲೇಖನದಲ್ಲಿ "ಝಬ್ಬಿಕ್ಸ್ - ಮ್ಯಾಕ್ರೋ ಗಡಿಗಳನ್ನು ವಿಸ್ತರಿಸುವುದು" ದೃಢೀಕರಣ ಸೆಶನ್ ಅನ್ನು ಹೇಗೆ ಸ್ವೀಕರಿಸುವುದು ಮತ್ತು ಅದನ್ನು ಸ್ಥಳೀಯ ಹೋಸ್ಟ್ ಮ್ಯಾಕ್ರೋಗೆ ಬದಲಿಸುವುದು ಹೇಗೆ ಎಂದು ನಾನು ನಿಮಗೆ ಹೇಳಿದೆ. ಬಾಹ್ಯ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳು ಮತ್ತು ಸಾಫ್ಟ್‌ವೇರ್ ಇಲ್ಲದೆ ಆಸ್ಟರಿಸ್ಕ್‌ನೊಂದಿಗೆ ಜಬ್ಬಿಕ್ಸ್ ಅನ್ನು ಹೇಗೆ ಸಂಪರ್ಕಿಸುವುದು ಎಂದು ಈ ಲೇಖನದಲ್ಲಿ ನಾನು ನಿಮಗೆ ಹೇಳುತ್ತೇನೆ.

ಹೆಚ್ಚುವರಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅಥವಾ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಸ್ಥಾಪಿಸದೆಯೇ ಈ ಎರಡು ವ್ಯವಸ್ಥೆಗಳ "ಸ್ನೇಹಿತರನ್ನು" ಮಾಡುವ ಕಲ್ಪನೆಯು ಬಹಳ ಹಿಂದೆಯೇ ಹುಟ್ಟಿದೆ. ತ್ವರಿತ ಗೂಗ್ಲಿಂಗ್ ಅನೇಕ ಸಂಭವನೀಯ ಪರಿಹಾರಗಳನ್ನು ನೀಡಿತು, ಇದು ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು (ಪೈಹಾ, ಬ್ಯಾಷ್, ಪೈಥಾನ್, ಇತ್ಯಾದಿಗಳಲ್ಲಿ) ಸರ್ವರ್‌ಗೆ ಅಪ್‌ಲೋಡ್ ಮಾಡುವ ಅಂಶಕ್ಕೆ ಕುದಿಯುತ್ತದೆ ಮತ್ತು ನೀವು ಸಂತೋಷವಾಗಿರುತ್ತೀರಿ. ಬಾಹ್ಯ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳಿಲ್ಲದೆ ಮತ್ತು ಮಾನಿಟರಿಂಗ್ ಮತ್ತು PBX ನೊಂದಿಗೆ ಸರ್ವರ್‌ನಲ್ಲಿ ಹೆಚ್ಚುವರಿ ಸಾಫ್ಟ್‌ವೇರ್ ಅನ್ನು ಸ್ಥಾಪಿಸದೆ - "ಬಾಕ್ಸ್‌ನ ಹೊರಗೆ" ಮಾನಿಟರಿಂಗ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಲು ನಾನು ಬಯಸುತ್ತೇನೆ.

ನಾನು ಇದರೊಂದಿಗೆ ಒಟ್ಟು 4 ಕೆಲಸದ ದಿನಗಳನ್ನು ಕಳೆದಿದ್ದೇನೆ, ಆದರೆ ಫಲಿತಾಂಶವು ಯೋಗ್ಯವಾಗಿದೆ. AMI ಇಂಟರ್ಫೇಸ್, ಕಡಿಮೆ ಮಟ್ಟದ ಪತ್ತೆ, ಟ್ರಿಗ್ಗರ್‌ಗಳ ಮೂಲಕ ಕೆಲಸ ಮಾಡುವುದು ಮತ್ತು ಮುಖ್ಯವಾಗಿ, PBX ಮತ್ತು ಎಲ್ಲಾ ಇತರ ಸೆಟ್ಟಿಂಗ್‌ಗಳನ್ನು ಸಂಪರ್ಕಿಸಲು ಈಗ ಸುಮಾರು 15 ನಿಮಿಷಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ.

Zabbix 4.4 ಲಭ್ಯವಿದೆ, ಆಸ್ಟರಿಸ್ಕ್ ಆವೃತ್ತಿ 100 ರ ಸುಮಾರು 13 ತುಣುಕುಗಳು. ಕೆಲವು PBX ಗಳು FreePBX ವೆಬ್ ಇಂಟರ್‌ಫೇಸ್‌ನೊಂದಿಗೆ ಬರುತ್ತವೆ, ಕೆಲವು ಬೇರ್ ಕನ್ಸೋಲ್‌ನೊಂದಿಗೆ, ಡಯಲ್‌ಪ್ಲಾನ್ ಮೂಲಕ ತಂತ್ರಗಳು ಮತ್ತು ಏಕೀಕರಣದ ಗುಂಪನ್ನು ಹೊಂದಿರುತ್ತವೆ.

PBX ನಿಂದ ಡೇಟಾವನ್ನು ಸ್ವೀಕರಿಸಲಾಗುತ್ತಿದೆ

ಪರಿಹರಿಸಬೇಕಾದ ಮೊದಲ ಮತ್ತು ಮುಖ್ಯ ಅಂಶವೆಂದರೆ ಗೆಳೆಯರು ಮತ್ತು SIP ನೋಂದಣಿಗಳ ಬಗ್ಗೆ ಡೇಟಾವನ್ನು ಪಡೆಯುವುದು. ಈ ಉದ್ದೇಶಕ್ಕಾಗಿ, PBX AGI, AMI, ARI ಮತ್ತು SSH ಕನ್ಸೋಲ್ ಇಂಟರ್ಫೇಸ್‌ಗಳನ್ನು ಹೊಂದಿದೆ. ಸ್ಪಷ್ಟ ಕಾರಣಗಳಿಗಾಗಿ, ನಾನು ಹೆಚ್ಚುವರಿ ಮಾಡ್ಯೂಲ್‌ಗಳನ್ನು ಪರಿಗಣಿಸಲಿಲ್ಲ.

ಮೊದಲು ನಾವು ಈ ಅಗಿ, ಆಮಿ, ಅರಿಗಳು ಯಾವುವು ಎಂದು ಕಂಡುಹಿಡಿಯಬೇಕು.

  • AGI - ಡಯಲ್‌ಪ್ಲಾನ್‌ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್‌ಗಳನ್ನು ಬಳಸುವುದು. ಮುಖ್ಯವಾಗಿ ಕರೆ ನಿರ್ವಹಣೆಗೆ ಬಳಸಲಾಗುತ್ತದೆ.
  • AMI - ಎಲ್ಲಾ ಅಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ಒದಗಿಸಬಹುದು, ಪೋರ್ಟ್ 5038 ಮೂಲಕ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಟೆಲ್ನೆಟ್ನಂತೆಯೇ. ನಮಗೆ ಸರಿಹೊಂದುತ್ತದೆ!
  • ARI - ಆಧುನಿಕ, ಫ್ಯಾಶನ್, JSON. ಹಲವು ಸಾಧ್ಯತೆಗಳಿವೆ, ಡೇಟಾ ಸ್ವರೂಪವು Zabbix ಗೆ ಅರ್ಥವಾಗುವಂತಹದ್ದಾಗಿದೆ, ಆದರೆ ನನಗೆ ಯಾವುದೇ ಮುಖ್ಯ ವಿಷಯವಿಲ್ಲ: ನೀವು ಸಿಪ್ ನೋಂದಣಿಯನ್ನು ನಿಯಂತ್ರಿಸಲಾಗುವುದಿಲ್ಲ. ಮತ್ತೊಂದು ಅನನುಕೂಲವೆಂದರೆ ಗೆಳೆಯರಿಗೆ ಆನ್‌ಲೈನ್/ಆಫ್‌ಲೈನ್‌ನಲ್ಲಿ ಎರಡು ರಾಜ್ಯಗಳು ಮಾತ್ರ ಇವೆ, ಆದರೂ ಹೆಚ್ಚಿನ ರಾಜ್ಯಗಳು ಇವೆ ಮತ್ತು ರೋಗನಿರ್ಣಯ ಮಾಡುವಾಗ ಅವುಗಳನ್ನು ಗಣನೆಗೆ ತೆಗೆದುಕೊಳ್ಳುವುದು ಉಪಯುಕ್ತವಾಗಿದೆ.
  • SSH ಎಲ್ಲವನ್ನೂ ಮಾಡಬಹುದು, ಆದರೆ ಕೆಲವೊಮ್ಮೆ "ಭದ್ರತಾ ಕಾರಣಗಳಿಂದ" ಇದನ್ನು ಅನುಮತಿಸಲಾಗುವುದಿಲ್ಲ. ಪರಿಗಣನೆಗಳು ವಿಭಿನ್ನವಾಗಿರಬಹುದು, ನಾನು ಅವುಗಳೊಳಗೆ ಹೋಗುವುದಿಲ್ಲ.

ಆದಾಗ್ಯೂ, ಅದರ ಎಲ್ಲಾ ನ್ಯೂನತೆಗಳೊಂದಿಗೆ, ARI ಎಲ್ಲಾ ಮೇಲ್ವಿಚಾರಣೆ ಅಗತ್ಯಗಳಲ್ಲಿ 90% ಅನ್ನು ಒಳಗೊಂಡಿದೆ.

ಜಬ್ಬಿಕ್ಸ್ ಮತ್ತು ಟೆಲ್ನೆಟ್ - ನನ್ನ ನಿರಾಶೆ

ನನಗೆ AMI ಚೆನ್ನಾಗಿ ತಿಳಿದಿದೆ; ಒಂದು ಸಮಯದಲ್ಲಿ ನಾನು ದೂರಸ್ಥ ಕಚೇರಿಗಳು, ಕರೆ ನಿರ್ವಹಣೆ ಇತ್ಯಾದಿಗಳ ಮೂಲಕ ವಿಭಾಗದೊಂದಿಗಿನ ಸಂಭಾಷಣೆಗಳಲ್ಲಿ ನಷ್ಟಗಳ ಟ್ರ್ಯಾಕಿಂಗ್ ಅನ್ನು ಜಾರಿಗೆ ತಂದಿದ್ದೇನೆ. ಟೆಲ್ನೆಟ್ನೊಂದಿಗೆ, ಎಲ್ಲವೂ ತುಂಬಾ ಸ್ಪಷ್ಟವಾಗಿದೆ: ಸಂಪರ್ಕವನ್ನು ತೆರೆಯಿರಿ, ಆಜ್ಞೆಗಳನ್ನು ಕಳುಹಿಸಿ ಮತ್ತು ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಓದಿ. ನಾನು ಅದನ್ನೇ ಮಾಡಿದೆ, ಆದರೆ ಫಲಿತಾಂಶವು ನನ್ನನ್ನು ನಿರಾಶೆಗೊಳಿಸಿತು.

Zabbix ನಲ್ಲಿನ ಟೆಲ್ನೆಟ್ Linux ಕನ್ಸೋಲ್‌ನಲ್ಲಿರುವಂತೆಯೇ ಅಲ್ಲ, ಇದು ಸ್ವಲ್ಪ ಸರಳವಾಗಿದೆ ಮತ್ತು ಲಾಗಿನ್/ಪಾಸ್‌ವರ್ಡ್‌ನಂತಹ ಪ್ರಮಾಣಿತ ದೃಢೀಕರಣಕ್ಕೆ ಅನುಗುಣವಾಗಿರುತ್ತದೆ. ದೃಢೀಕರಣ ತರ್ಕವು ವಿಭಿನ್ನವಾಗಿದ್ದರೆ ಮತ್ತು ಲಾಗಿನ್/ಪಾಸ್‌ವರ್ಡ್ ಜೋಡಿಗಾಗಿ ಯಾವುದೇ ವಿನಂತಿಯಿಲ್ಲದಿದ್ದರೆ, ದೋಷ ಸಂಭವಿಸುತ್ತದೆ. ದೃಢೀಕರಣದ ಅಗತ್ಯವನ್ನು ಬೈಪಾಸ್ ಮಾಡಲು ವ್ಯರ್ಥ ಪ್ರಯತ್ನಗಳ ನಂತರ, ಟೆಲ್ನೆಟ್ ಮಾಡ್ಯೂಲ್ನ ಮೂಲ ಕೋಡ್ ಅನ್ನು ನೋಡಲು ಇದು ಉಪಯುಕ್ತವಾಗಿದೆ.

ಸಾಂಪ್ರದಾಯಿಕ ಲಾಗಿನ್ ಮತ್ತು ಪಾಸ್‌ವರ್ಡ್ ವಿನಂತಿ ಇರುವವರೆಗೆ, ನಾನು ಮುಂದೆ ಹೋಗುವುದಿಲ್ಲ ಎಂದು ನಾನು ಅರಿತುಕೊಂಡೆ. ಕೇವಲ ಮೋಜಿಗಾಗಿ, ನಾನು ಕೋಡ್‌ನಿಂದ ಅಧಿಕಾರಕ್ಕೆ ಸಂಬಂಧಿಸಿದ ಎಲ್ಲವನ್ನೂ ತೆಗೆದುಹಾಕಿದ್ದೇನೆ ಮತ್ತು ಎಲ್ಲವನ್ನೂ ಮತ್ತೆ ಜೋಡಿಸಿದ್ದೇನೆ. ಕೆಲಸ ಮಾಡುತ್ತದೆ! ಆದರೆ ಇದು ಅವಶ್ಯಕತೆಗಳನ್ನು ಪೂರೈಸುವುದಿಲ್ಲ. ಮುಂದುವರೆಯಿರಿ…

ಹುಡುಕಾಟಕ್ಕೆ ಹಿಂತಿರುಗಿ ನೋಡೋಣ

ನಾನು ARI ದಸ್ತಾವೇಜನ್ನು ಮತ್ತೊಮ್ಮೆ ಓದಿದ್ದೇನೆ, ಹೆಚ್ಚುವರಿ ಪರೀಕ್ಷೆಗಳನ್ನು ನಡೆಸಿದೆ - ಇಲ್ಲಿ ಯಾವುದೇ ಸಿಪ್ ನೋಂದಣಿಗಳಿಲ್ಲ. ಹಬ್ಬಗಳಿವೆ, ಸಂಭಾಷಣೆಗಳಿವೆ, ಬ್ರೀಚ್‌ಗಳಿವೆ, ಆದರೆ ಯಾವುದೇ ನೋಂದಣಿಗಳಿಲ್ಲ. ಕೆಲವು ಹಂತದಲ್ಲಿ ನಾನು ಯೋಚಿಸಿದೆ, ನಮಗೆ ನಿಜವಾಗಿಯೂ ರಣಹದ್ದು ನೋಂದಣಿ ಅಗತ್ಯವಿದೆಯೇ?

ತಮಾಷೆಯ ಕಾಕತಾಳೀಯವಾಗಿ, ಈ ಕ್ಷಣದಲ್ಲಿ ಹೊರಹೋಗುವ ಕರೆಗಳ ಸಮಸ್ಯೆಯೊಂದಿಗೆ ಬಳಕೆದಾರರಿಂದ ಮತ್ತೊಂದು ವಿನಂತಿಯು ಬರುತ್ತದೆ. ಸಮಸ್ಯೆಯೆಂದರೆ ಸಿಪ್ ನೋಂದಣಿ ಘನೀಭವಿಸುತ್ತಿದೆ ಮತ್ತು ಮಾಡ್ಯೂಲ್ ಅನ್ನು ಸರಳವಾಗಿ ರೀಬೂಟ್ ಮಾಡುವ ಮೂಲಕ ಪರಿಹರಿಸಲಾಗಿದೆ.

asterisk -rx "sip reload"

ವೆಬ್‌ನಲ್ಲಿ AMI ಅನ್ನು ಪ್ರವೇಶಿಸಲು ಇದು ಉತ್ತಮವಾಗಿದೆ: ಅದು ಎಲ್ಲಾ ಸಮಸ್ಯೆಗಳನ್ನು ಪರಿಹರಿಸುತ್ತದೆ ಎಂದು ನಾನು ಭಾವಿಸಿದೆ. ನಾನು ಈ ದಿಕ್ಕಿನಲ್ಲಿ ಅಗೆಯಲು ಪ್ರಾರಂಭಿಸುತ್ತೇನೆ, ಮತ್ತು ಅಕ್ಷರಶಃ ಮೊದಲ ಹುಡುಕಾಟದ ಸಾಲು ಅಧಿಕೃತ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯ ದಾಖಲಾತಿಗೆ ಕಾರಣವಾಗುತ್ತದೆ, ಅದು ನನ್ನ ಕಾರ್ಯಗಳಿಗೆ ಒಂದು ಆಯ್ಕೆ ಇದೆ ಎಂದು ಹೇಳುತ್ತದೆ ವೆಬ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಕಡತದಲ್ಲಿ /etc/asterisk/manager.conf, ವಿಭಾಗದಲ್ಲಿ ಹೌದು ಎಂದು ಹೊಂದಿಸಬೇಕಾಗಿದೆ [ಸಾಮಾನ್ಯ]

ಇದರ ನಂತರ, ಫಾರ್ಮ್ನ ಸಾಮಾನ್ಯ ವೆಬ್ ವಿನಂತಿಯ ಮೂಲಕ http://ats:8089/mxml?action=SIPshowregistry ನಾವು ಎಲ್ಲಾ ಅಗತ್ಯ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುತ್ತೇವೆ.

FreePBX ಇಂಟರ್ಫೇಸ್ ಅನ್ನು ಬಳಸುವಾಗ, ನೀವು ವೆಬ್ ಮೂಲಕ ಈ ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಲು ಸಾಧ್ಯವಿಲ್ಲ; manager.conf ಫೈಲ್‌ಗೆ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡುವ ಮೂಲಕ ನೀವು ಅದನ್ನು ಕನ್ಸೋಲ್ ಮೂಲಕ ಸಕ್ರಿಯಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ. ವೆಬ್ ಮೂಲಕ ಕಾನ್ಫಿಗರೇಶನ್ ಬದಲಾವಣೆಗಳನ್ನು ಮಾಡಿದಾಗ FreePBX ಅದನ್ನು ಅಳಿಸುವುದಿಲ್ಲ.

ನಾನು ದೀರ್ಘಕಾಲದವರೆಗೆ ವಿವಿಧ ರೀತಿಯ ಆಸ್ಟರಿಸ್ಕ್ ಸಂಯೋಜನೆಗಳೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿದ್ದೇನೆ, ಆದರೆ ಈ ವೈಶಿಷ್ಟ್ಯವನ್ನು ಎಲ್ಲಿಯೂ ಉಲ್ಲೇಖಿಸಿರುವುದನ್ನು ನಾನು ನೋಡಿಲ್ಲ. PBX ನೊಂದಿಗೆ ಸಂವಹನ ನಡೆಸುವ ಈ ವಿಧಾನವನ್ನು ಯಾರೂ ವಿವರಿಸುವುದಿಲ್ಲ ಎಂದು ನನಗೆ ಆಶ್ಚರ್ಯವಾಯಿತು. ಈ ವಿಷಯದ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಹುಡುಕಲು ಇದು ವಿಶೇಷವಾಗಿ ಉಪಯುಕ್ತವಾಗಿದೆ: ಪ್ರಾಯೋಗಿಕವಾಗಿ ಏನೂ ಇಲ್ಲ ಅಥವಾ ಅದನ್ನು ಸಂಪೂರ್ಣವಾಗಿ ವಿಭಿನ್ನ ಕಾರ್ಯಗಳಿಗಾಗಿ ಬಳಸಲಾಗಿದೆ.

ವೆಬ್ AMI - ಯಾವ ರೀತಿಯ ಪ್ರಾಣಿ?

ಆಯ್ಕೆಯನ್ನು ಸೇರಿಸಲಾಗುತ್ತಿದೆ ವೆಬ್ ಸಕ್ರಿಯಗೊಳಿಸಲಾಗಿದೆ ಕಡತಕ್ಕೆ manager.conf ವೆಬ್ ಮೂಲಕ ATS ನಿರ್ವಹಣೆಗೆ ಸಂಪೂರ್ಣ ಪ್ರವೇಶವನ್ನು ಒದಗಿಸಿದೆ. ಸಾಮಾನ್ಯ AMI ಮೂಲಕ ಲಭ್ಯವಿರುವ ಎಲ್ಲಾ ಆಜ್ಞೆಗಳು ಈಗ ವೆಬ್‌ನಲ್ಲಿವೆ, ನೀವು PBX ನಿಂದ ಸಾಕೆಟ್ ಮೂಲಕ ಈವೆಂಟ್‌ಗಳನ್ನು ಕೇಳಬಹುದು. ಕಾರ್ಯಾಚರಣೆಯ ತತ್ವವು ಕನ್ಸೋಲ್ AMI ಯಿಂದ ಭಿನ್ನವಾಗಿರುವುದಿಲ್ಲ. ಈ ಆಯ್ಕೆಯನ್ನು ಸಕ್ರಿಯಗೊಳಿಸಿದ ನಂತರ, ನೀವು ಈ ಕೆಳಗಿನ ವಿಳಾಸಗಳಲ್ಲಿ PBX ಅನ್ನು ಸಂಪರ್ಕಿಸಬಹುದು:

https://ats:8089/manager — ಪರೀಕ್ಷೆ ಮತ್ತು ಹಸ್ತಚಾಲಿತವಾಗಿ ವಿನಂತಿಗಳನ್ನು ಕಳುಹಿಸಲು ಸರಳ ಇಂಟರ್ಫೇಸ್ ಹೊಂದಿರುವ ವೆಬ್ ಪುಟ. ಎಲ್ಲಾ ಪ್ರತಿಕ್ರಿಯೆಗಳನ್ನು ಓದಬಲ್ಲ HTML ಗೆ ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಲಾಗಿದೆ. ಮೇಲ್ವಿಚಾರಣೆಗೆ ತುಂಬಾ ಸೂಕ್ತವಲ್ಲ.
https://ats:8089/rawman — ಪಠ್ಯದ ಔಟ್‌ಪುಟ್ ಮಾತ್ರ, ಕನ್ಸೋಲ್ AMI ಗೆ ಹೋಲುವ ಸ್ವರೂಪ
https://ats:8089/mxml - ಪಠ್ಯ ಔಟ್‌ಪುಟ್ ಮಾತ್ರ, XML ಸ್ವರೂಪದಲ್ಲಿ. ನಮಗೆ ಸರಿಹೊಂದುತ್ತದೆ!

ಪೆಟ್ಟಿಗೆಯ ಹೊರಗೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯೊಂದಿಗೆ Zabbix ಅನ್ನು ಹೇಗೆ ಸಂಪರ್ಕಿಸುವುದು

ಆಗ ನಾನು ಯೋಚಿಸಿದೆ: “ಇದೇ ಪರಿಹಾರ! ಈಗ ಎಲ್ಲವೂ ಸಿದ್ಧವಾಗಲಿದೆ! ಸುಲಭ-ಪೀಜಿ ನಿಂಬೆ ಸ್ಕ್ವೀಝಿ,” ಆದರೆ ಸಂತೋಷಪಡಲು ತುಂಬಾ ಮುಂಚೆಯೇ. ನಮಗೆ ಅಗತ್ಯವಿರುವ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯಲು, ಅಗತ್ಯ ಕ್ರಮದೊಂದಿಗೆ GET ವಿನಂತಿಯನ್ನು ಬಳಸುವುದು ಸಾಕು ಕ್ರಮ, ಇದು ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ ಎಲ್ಲಾ ನೋಂದಣಿಗಳ ಪಟ್ಟಿ ಮತ್ತು ಅವುಗಳ ಸ್ಥಿತಿಯೊಂದಿಗೆ xml ಅನ್ನು ಹಿಂತಿರುಗಿಸುತ್ತದೆ. ಇದೆಲ್ಲವೂ ಅದ್ಭುತವಾಗಿದೆ, ಆದರೆ ಕುಕೀಯಿಂದ ಸೆಶನ್ ಅನ್ನು ನೆನಪಿಟ್ಟುಕೊಳ್ಳಲು ನಿಮಗೆ ಅಧಿಕಾರದ ಅಗತ್ಯವಿದೆ. ನೀವು ಬ್ರೌಸರ್‌ನಲ್ಲಿ ಪರೀಕ್ಷಿಸಿದಾಗ, ಈ ಪ್ರಕ್ರಿಯೆಯ ಬಗ್ಗೆ ನೀವು ಯೋಚಿಸುವುದಿಲ್ಲ.

ದೃಢೀಕರಣ ಪ್ರಕ್ರಿಯೆ

ಮೊದಲು ನಾವು ವಿಳಾಸವನ್ನು ತಿಳಿಸುತ್ತೇವೆ http://ats:8089/mxml?action=login&username=zabbix&secret=zabbix, ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ, ಸರ್ವರ್ ನಮಗೆ ಅಧಿಕೃತ ಅಧಿವೇಶನದೊಂದಿಗೆ ಕುಕೀಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. HTTP ವಿನಂತಿಯು ಈ ರೀತಿ ಕಾಣುತ್ತದೆ:

https://ats:8089/mxml?action=login&username=zabbix&secret=zabbix

Host: ats:8089
User-Agent: Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:77.0) Gecko/20100101 Firefox/77.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Language: ru-RU,ru;q=0.8,en-US;q=0.5,en;q=0.3
Accept-Encoding: gzip, deflate, br
DNT: 1
Connection: keep-alive
Upgrade-Insecure-Requests: 1

ಉತ್ತರ:

GET: HTTP/1.1 200 OK
Server: Asterisk/13.29.2
Date: Thu, 18 Jun 2020 17:41:19 GMT
Cache-Control: no-cache, no-store
Content-type: text/xml
Set-Cookie: mansession_id="6f5de42c"; Version=1; Max-Age=600
Pragma: SuppressEvents
Content-Length: 146

<ajax-response>
<response type="object" id="unknown">
<generic response="Success" message="Authentication accepted"/>
</response>
</ajax-response>

ಅಲ್ಲಿ ಕೆಲಸ ಮಾಡಲು ನಿಮಗೆ ಬೇಕಾಗುತ್ತದೆ ಮಹಲು_ಐಡಿ="6f5de42c", ಅಂದರೆ ಅಧಿಕೃತ ಕುಕೀ ಸ್ವತಃ.
ನೀವು ಉತ್ತರಕ್ಕಾಗಿ ಪರಿಶೀಲಿಸಬೇಕಾದ ವಿಷಯ "ದೃಢೀಕರಣವನ್ನು ಸ್ವೀಕರಿಸಲಾಗಿದೆ" ಮುಂದೆ, PBX ಸರ್ವರ್‌ಗೆ ಎಲ್ಲಾ ಕರೆಗಳಿಗೆ, ನಾವು ವಿನಂತಿಗೆ ದೃಢೀಕರಣ ಕುಕೀಯನ್ನು ಸೇರಿಸುವ ಅಗತ್ಯವಿದೆ.

https://ats:8089/mxml?action=SIPpeers

Host: ats:8089
Connection: close
Cookie: mansession_id="6f5de42c"

ಅಧಿಕೃತ ಕುಕೀಯನ್ನು ಹೇಗೆ ಪಡೆಯುವುದು ಮತ್ತು ಅದನ್ನು ಇತರ ವಿನಂತಿಗಳಲ್ಲಿ ಹೇಗೆ ಬಳಸುವುದು ಎಂಬುದನ್ನು ಇಲ್ಲಿ ಓದಿ: "ಜಬ್ಬಿಕ್ಸ್ - ಮ್ಯಾಕ್ರೋ ಗಡಿಗಳನ್ನು ವಿಸ್ತರಿಸುವುದು»

Zabbix ನಲ್ಲಿ ಟ್ರ್ಯಾಕಿಂಗ್ ಅಂಶಗಳನ್ನು ರಚಿಸಲು ನಾನು ಸ್ವಯಂ ಪತ್ತೆಯನ್ನು ಬಳಸುತ್ತೇನೆ.

ಸ್ವಯಂ ಪತ್ತೆ

ನೋಂದಣಿಗಳನ್ನು ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಪತ್ತೆಹಚ್ಚಲು ಮತ್ತು ಪೀರ್ ಸ್ಟೇಟ್ಸ್ ಅನ್ನು ಟ್ರ್ಯಾಕ್ ಮಾಡಲು, ನೀವು ಈ ಕೆಳಗಿನ ವಿಳಾಸವನ್ನು ಸಂಪರ್ಕಿಸಬೇಕು: https://ats:8089/mxml?action=SIPshowregistry ಅಥವಾ https://ats:8089/mxml?action=SIPpeers

ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ, PBX ನಮಗೆ XML ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ನೀಡುತ್ತದೆ:

<ajax-response>
<response type="object" id="unknown">
<generic response="Success" eventlist="start" message="Registrations will follow"/>
</response>
...
<response type="object" id="unknown">
<generic event="RegistryEntry" host="login.mtt.ru" port="5060" username="111111" domain="login.mtt.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="222222" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
<response type="object" id="unknown">
<generic event="RegistryEntry" host="voip.uiscom.ru" port="5060" username="333333" domain="voip.uiscom.ru" domainport="5060" refresh="105" state="Registered" registrationtime="1592502142"/>
</response>
...
</ajax-response>

ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ ಬಹಳಷ್ಟು ಕಸವಿದೆ, ಆದ್ದರಿಂದ ಪೂರ್ವಪ್ರಕ್ರಿಯೆಯಲ್ಲಿ ನಾವು ಅದನ್ನು ಟೆಂಪ್ಲೇಟ್ ಮೂಲಕ ಫಿಲ್ಟರ್ ಮಾಡುತ್ತೇವೆ ಎಕ್ಸ್‌ಪಾತ್: //ಪ್ರತಿಕ್ರಿಯೆ/ಸಾಮಾನ್ಯ[@ಹೋಸ್ಟ್]
ನಂತರ ವಿನೋದ ಪ್ರಾರಂಭವಾಗುತ್ತದೆ. ಪತ್ತೆಹಚ್ಚುವಿಕೆಯೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಲು ಮತ್ತು ಕ್ರಿಯಾತ್ಮಕವಾಗಿ ಅಂಶಗಳನ್ನು ರಚಿಸಲು, ಪ್ರತಿಕ್ರಿಯೆಯು JSON ಸ್ವರೂಪದಲ್ಲಿರಬೇಕು. ಸ್ವಯಂ ಪತ್ತೆಗಾಗಿ XML ಬೆಂಬಲಿಸುವುದಿಲ್ಲ.

XML ಅನ್ನು JSON ಗೆ ಪರಿವರ್ತಿಸಲು, ನಾನು ಸ್ವಯಂ ಬದಲಿಯೊಂದಿಗೆ ಸ್ವಲ್ಪ ಆಡಬೇಕಾಗಿತ್ತು, ಅದಕ್ಕಾಗಿ ನಾನು JS ನಲ್ಲಿ ಸ್ಕ್ರಿಪ್ಟ್ ಮಾಡಿದ್ದೇನೆ

ಪೆಟ್ಟಿಗೆಯ ಹೊರಗೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯೊಂದಿಗೆ Zabbix ಅನ್ನು ಹೇಗೆ ಸಂಪರ್ಕಿಸುವುದು

ಒಂದು ಕುತೂಹಲಕಾರಿ ಅಂಶ: ಎಟಿಎಸ್ ಪ್ರತಿಕ್ರಿಯೆಯಲ್ಲಿ, ಎಲ್ಲಾ ನಿಯತಾಂಕಗಳು ಒಂದೇ ಉಲ್ಲೇಖಗಳಿಂದ ಸುತ್ತುವರೆದಿವೆ ಮತ್ತು ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಅನ್ವಯಿಸಿದ ನಂತರ //ಪ್ರತಿಕ್ರಿಯೆ/ಸಾಮಾನ್ಯ[@ಹೋಸ್ಟ್] ಅವುಗಳನ್ನು ಡಬಲ್ ಪದಗಳಿಗಿಂತ ಬದಲಾಯಿಸಲಾಗುತ್ತದೆ.

ಅಂಶಗಳನ್ನು ರಚಿಸಲು, ನಾವು XML ಪ್ರತಿಕ್ರಿಯೆಯಿಂದ (ಈಗ JSON) ವೇರಿಯಬಲ್‌ಗಳನ್ನು ಬಳಸುತ್ತೇವೆ.

ಪೆಟ್ಟಿಗೆಯ ಹೊರಗೆ ನಕ್ಷತ್ರ ಚಿಹ್ನೆಯೊಂದಿಗೆ Zabbix ಅನ್ನು ಹೇಗೆ ಸಂಪರ್ಕಿಸುವುದು

SIP ರಿಜಿಸ್ಟ್ರಿ

ಸಿಪ್ ನೋಂದಣಿಗಾಗಿ ನಾವು ಮೂರು ಅಸ್ಥಿರಗಳನ್ನು ಬಳಸುತ್ತೇವೆ: ಬಳಕೆದಾರ ಹೆಸರು, ಹೋಸ್ಟ್, ಬಂದರು. ಅಂಶದ ಹೆಸರಿನಿಂದ ನನಗೆ ಸಂತೋಷವಾಯಿತು [ಇಮೇಲ್ ರಕ್ಷಿಸಲಾಗಿದೆ]: 5060, ನೀವು ಎಲ್ಲಾ ಐದು ವೇರಿಯೇಬಲ್‌ಗಳನ್ನು ಬಳಸಬೇಕಾದ ಯಾವುದೇ ಸಂದರ್ಭಗಳು ನನಗೆ ಕಂಡುಬಂದಿಲ್ಲ.

ಎಲ್ಲಾ ನೋಂದಣಿಗಳ ಬಗ್ಗೆ ಮಾಹಿತಿಯನ್ನು ಪಡೆಯುವ ಮುಖ್ಯ ಅಂಶ, ನಕ್ಷತ್ರ ಚಿಹ್ನೆ - AMI SIP ಶೋರೆಜಿಸ್ಟ್ರಿ. ನಿಮಿಷಕ್ಕೊಮ್ಮೆ ಅದು GET ವಿನಂತಿಯನ್ನು ಮಾಡುತ್ತದೆ https://ats:8089/mxml?action=SIPshowregistry, ಅದರ ನಂತರ ಪ್ರತಿಕ್ರಿಯೆ XML ಡೇಟಾವನ್ನು ಪಾರ್ಸಿಂಗ್‌ಗಾಗಿ ಎಲ್ಲಾ ಅವಲಂಬಿತ ಅಂಶಗಳಿಗೆ ರವಾನಿಸಲಾಗುತ್ತದೆ. ಪ್ರತಿ ನೋಂದಣಿಗೆ ನಾನು ಅದರ ಮೇಲೆ ಅವಲಂಬಿತವಾದ ಅಂಶವನ್ನು ರಚಿಸುತ್ತೇನೆ. ಇದು ಅನುಕೂಲಕರವಾಗಿದೆ ಏಕೆಂದರೆ ನಾವು ಒಂದು ವಿನಂತಿಯಲ್ಲಿ ನವೀಕೃತ ಮಾಹಿತಿಯನ್ನು ಸ್ವೀಕರಿಸುತ್ತೇವೆ ಮತ್ತು ಪ್ರತಿ ವಿನಂತಿಗೆ ಪ್ರತ್ಯೇಕವಾಗಿ ಅಲ್ಲ. ಈ ಅನುಷ್ಠಾನವು ಗಮನಾರ್ಹ ನ್ಯೂನತೆಯನ್ನು ಹೊಂದಿದೆ - ಪ್ರೊಸೆಸರ್ನಲ್ಲಿನ ಲೋಡ್.

100 ಅವಲಂಬಿತ ಅಂಶಗಳನ್ನು ಪರೀಕ್ಷಿಸುವಾಗ, ನಾನು ಲೋಡ್ ಅನ್ನು ಗಮನಿಸಲಿಲ್ಲ, ಆದರೆ 1700 ಅಂಶಗಳೊಂದಿಗೆ, ಇದು ಪ್ರೊಸೆಸರ್ನಲ್ಲಿ ಗಮನಾರ್ಹವಾದ 15 ಸೆಕೆಂಡ್ ಲೋಡ್ ಅನ್ನು ನೀಡಿತು. ನೀವು ಹೆಚ್ಚಿನ ಸಂಖ್ಯೆಯ ಅವಲಂಬಿತ ಅಂಶಗಳನ್ನು ಹೊಂದಿದ್ದರೆ ಇದನ್ನು ನೆನಪಿನಲ್ಲಿಡಿ.

ಲೋಡ್ ಅನ್ನು "ಹರಡಲು" ಅಥವಾ ಒಂದು ಅಂಶಕ್ಕಾಗಿ ವಿಭಿನ್ನ ಮತದಾನ ಆವರ್ತನಗಳನ್ನು ಹೊಂದಿಸಲು ಒಂದು ಆಯ್ಕೆಯಾಗಿ, ನೀವು ಪ್ರತಿ ಅಂಶಕ್ಕೆ ಸಂಸ್ಕರಣಾ ತರ್ಕವನ್ನು ಪ್ರತ್ಯೇಕವಾಗಿ ಸರಿಸಬಹುದು.

ನಾನು ಸ್ವೀಕರಿಸಿದ ಮಾಹಿತಿಯನ್ನು ಮುಖ್ಯ ಅಂಶದಲ್ಲಿ ಸಂಗ್ರಹಿಸುವುದಿಲ್ಲ. ಮೊದಲನೆಯದಾಗಿ, ಇದರ ಅಗತ್ಯವನ್ನು ನಾನು ಕಾಣುತ್ತಿಲ್ಲ, ಮತ್ತು ಎರಡನೆಯದಾಗಿ, ಪ್ರತಿಕ್ರಿಯೆಯು 64K ಗಿಂತ ಹೆಚ್ಚಿದ್ದರೆ, ನಂತರ Zabbix ಅದನ್ನು ಕಡಿತಗೊಳಿಸುತ್ತದೆ.

ಅವಲಂಬಿತ ಅಂಶಕ್ಕಾಗಿ ನಾವು ಪೂರ್ಣ XML ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಬಳಸುವುದರಿಂದ, ಪೂರ್ವ ಸಂಸ್ಕರಣೆಯಲ್ಲಿ ನಾವು ಈ ಅಂಶದ ಮೌಲ್ಯವನ್ನು ಪಡೆಯಬೇಕಾಗಿದೆ. ಮೂಲಕ ಎಕ್ಸ್‌ಪಾತ್ ಇದನ್ನು ಈ ರೀತಿ ಮಾಡಲಾಗಿದೆ:
string(//response/generic[@event="RegistryEntry"][@username="{#SIP_REGISTRY_USERNAME}"][@host="{#SIP_REGISTRY_HOST}"][@port="{#SIP_REGISTRY_PORT}"]/@ ರಾಜ್ಯ)
ನೋಂದಣಿ ಸ್ಥಿತಿಗಳಿಗಾಗಿ, ನಾನು ಪಠ್ಯ ಸ್ಥಿತಿಗಳನ್ನು ಬಳಸಲಿಲ್ಲ, ಆದರೆ ಜಾವಾಸ್ಕ್ರಿಪ್ಟ್ ಬಳಸಿ ಅವುಗಳನ್ನು ಸಂಖ್ಯಾ ರೂಪಕ್ಕೆ ಪರಿವರ್ತಿಸಿದ್ದೇನೆ:

switch(value) {
  case 'Registered':
    return 1;
  case 'Unregistered':
    return 0;
  default:
    return -1;
}

SIP ಗೆಳೆಯರು

SIP ನೋಂದಣಿಗಳೊಂದಿಗೆ ಸಾದೃಶ್ಯದ ಮೂಲಕ, ಆಸ್ಟರಿಸ್ಕ್ನ ಮುಖ್ಯ ಅಂಶವಿದೆ - AMI SIPshowregistry, ಅವಲಂಬಿತವಾದವುಗಳನ್ನು ಸೇರಿಸಲಾಗುತ್ತದೆ.

ಇದು ಎರಡು ಅವಲಂಬಿತ ಅಂಶಗಳನ್ನು ರಚಿಸುತ್ತದೆ:

  • ಪಠ್ಯ ರೂಪದಲ್ಲಿ ಪೀರ್ ಸ್ಥಿತಿ
  • ಸಾಧನದ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ - ಸ್ಥಿತಿಯು ಸರಿಯಾಗಿದ್ದರೆ, ಸಾಧನದ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯವನ್ನು ಬರೆಯಲಾಗುತ್ತದೆ, ಇಲ್ಲದಿದ್ದರೆ "-1"

ಅಂಶದ ಹಾದಿಯು ಸ್ವಲ್ಪ ಸರಳವಾಗಿದೆ ಎಕ್ಸ್‌ಪಾತ್:

ಸ್ಟ್ರಿಂಗ್(//ಪ್ರತಿಕ್ರಿಯೆ/ಸಾಮಾನ್ಯ[@objectname="{#SIP_PEER_OBEJECTNAME}"]/@ಸ್ಥಿತಿ)

ಎರಡನೇ ಅಂಶಕ್ಕಾಗಿ ನಾನು ಪ್ರತ್ಯೇಕಿಸಲು JavaScript ಅನ್ನು ಬಳಸಿದ್ದೇನೆ ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ ಪೀರ್ ಸ್ಥಿತಿಯಿಂದ, ಅವುಗಳನ್ನು ಒಟ್ಟಿಗೆ ಸಂಗ್ರಹಿಸಲಾಗಿದೆ:

if(value.substring(0,2) == 'OK'){
	return value.match(/(d+)/gm);
}
else {
	return -1;
}

ತೀರ್ಮಾನಕ್ಕೆ

ಪೆಟ್ಟಿಗೆಯ ಹೊರಗಿನ ಪರಿಹಾರವು ಸಂಕೀರ್ಣವಾಗಬಹುದು ಮತ್ತು ತಕ್ಷಣವೇ ಸ್ಪಷ್ಟವಾಗಿಲ್ಲ. ವಿವಿಧ ವ್ಯವಸ್ಥೆಗಳ ನಡುವೆ ನಮ್ಯತೆ ಮತ್ತು ಒಯ್ಯುವಿಕೆಯನ್ನು ಹೆಚ್ಚಿಸುತ್ತದೆ

ಎಲ್ಲರಿಗೂ ಸಂತೋಷ ಮತ್ತು ಸುಲಭ ಏಕೀಕರಣ! ಹೊಂದಿಸಲು ಟೆಂಪ್ಲೇಟ್ ಮತ್ತು ಸೂಚನೆಗಳು GitHub.

ಮೂಲ: www.habr.com

ಕಾಮೆಂಟ್ ಅನ್ನು ಸೇರಿಸಿ