
ಕೆಲವೊಮ್ಮೆ ನೀವು ಹೊಸ ಸೇವೆಗಾಗಿ ತ್ವರಿತವಾಗಿ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸಬೇಕಾಗುತ್ತದೆ, ಆದರೆ ನಿಮ್ಮ ಬಳಿ ಅಗತ್ಯವಾದ ಮೂಲಸೌಕರ್ಯ ಅಥವಾ ಪರಿಣತಿ ಇರುವುದಿಲ್ಲ. ಈ ಮಾರ್ಗದರ್ಶಿಯಲ್ಲಿ, ಅಂತರ್ನಿರ್ಮಿತ ಪರಿಕರಗಳನ್ನು ಮಾತ್ರ ಬಳಸಿಕೊಂಡು ಅರ್ಧ ಗಂಟೆಯಲ್ಲಿ ಯಾವುದೇ ವೆಬ್ ಸೇವೆಯನ್ನು ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡುವ ಸಾಧನವನ್ನು ನಾವು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತೇವೆ. ubuntu: ಬ್ಯಾಷ್, ಕ್ರಾನ್ ಮತ್ತು ಕರ್ಲ್. ಅಧಿಸೂಚನೆಗಳನ್ನು ತಲುಪಿಸಲು ನಾವು ಟೆಲಿಗ್ರಾಮ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ.
"ಕೇಕ್ ಮೇಲೆ ಚೆರ್ರಿ" ಬಳಕೆದಾರರ ಭಾವನಾತ್ಮಕ ಒಳಗೊಳ್ಳುವಿಕೆಯಾಗಿದೆ. ಜನರ ಮೇಲೆ ಪರೀಕ್ಷಿಸಲಾಗಿದೆ - ಇದು ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ನಾವು ಟೆಲಿಮೆಡಿಸಿನ್ ಸೇವೆಯಲ್ಲಿ ಡಾಕ್ಟರ್ ಸಮೀಪದ ಬಳಕೆದಾರರ ಒತ್ತಡದ ಮಟ್ಟವನ್ನು ನಿರ್ಧರಿಸಲು ಚಾಟ್ಬಾಟ್ ಅನ್ನು ರಚಿಸಿದಾಗ, ನಮಗೆ ಮೇಲ್ವಿಚಾರಣೆಯ ಅಗತ್ಯವಿದೆ. ಒಂದೆರಡು ಗಂಟೆಗಳಲ್ಲಿ, ಮಿನಿ-ಪ್ರಾಜೆಕ್ಟ್ ಅನ್ನು ರಚಿಸಲಾಗಿದೆ ಅದು ಉತ್ತಮವಾಗಿ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತದೆ, ಆದರೆ ಅದರ ಸಂದೇಶಗಳೊಂದಿಗೆ ಧನಾತ್ಮಕತೆಯನ್ನು ಕೂಡ ಸೇರಿಸುತ್ತದೆ.
ಮೊದಲಿಗೆ, ಸ್ಕ್ರಿಪ್ಟ್ಗಳೊಂದಿಗೆ ರೆಪೊಸಿಟರಿಯನ್ನು ಪಡೆಯೋಣ:
git clone https://github.com/rshekhovtsov/msms.gitmsms ಫೋಲ್ಡರ್ಗೆ ಹೋಗಿ ಮತ್ತು ಅದರಲ್ಲಿ ಕೆಲಸ ಮಾಡಿ.
ಟೆಲಿಗ್ರಾಮ್ ಅನ್ನು ನಿರ್ಬಂಧಿಸಿದರೆ, ಪ್ರಾಕ್ಸಿ ಬಳಸಿ. ಸರಳ ಮತ್ತು ಅತ್ಯಂತ ವಿಶ್ವಾಸಾರ್ಹ ಆಯ್ಕೆಯು ಟಾರ್ಸಾಕ್ಸ್ ಆಗಿದೆ:
sudo apt install tor
sudo apt install torsocksಉದಾಹರಣೆಯಾಗಿ, ಮೂರು ಹಂತಗಳಲ್ಲಿ google.com ಪ್ರಾರಂಭ ಪುಟದ ಮಾನಿಟರಿಂಗ್ ಅನ್ನು ಹೊಂದಿಸೋಣ.
ಹಂತ 1. ಟೆಲಿಗ್ರಾಮ್ನಲ್ಲಿ ಬೋಟ್ ರಚಿಸಿ ಮತ್ತು ಬಳಕೆದಾರ ಐಡಿ ಪಡೆಯಿರಿ
- ಟೆಲಿಗ್ರಾಮ್ನಲ್ಲಿನ ಸಂಪರ್ಕಗಳಿಗಾಗಿ ಹುಡುಕಾಟ ಬಾರ್ನಲ್ಲಿ ನಾವು ಹುಡುಕುತ್ತೇವೆ :

- ನಾವು ಅದನ್ನು ಪ್ರಾರಂಭ ಬಟನ್ನೊಂದಿಗೆ ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ, / newbot ಆಜ್ಞೆಯನ್ನು ನಮೂದಿಸಿ ಮತ್ತು ಪ್ರಶ್ನೆಗಳಿಗೆ ಉತ್ತರಿಸಿ. ಬಳಕೆದಾರರಿಗೆ ಪ್ರದರ್ಶಿಸಲಾಗುವ ಬೋಟ್ನ ಹೆಸರೇ ಹೆಸರು ಎಂದು ನೀವು ನೆನಪಿನಲ್ಲಿಟ್ಟುಕೊಳ್ಳಬೇಕು ಮತ್ತು ಬಳಕೆದಾರಹೆಸರು ಅನನ್ಯವಾಗಿದೆ ಮತ್ತು "ಬೋಟ್" ನೊಂದಿಗೆ ಕೊನೆಗೊಳ್ಳಬೇಕು:

ಇತರ ವಿಷಯಗಳ ಜೊತೆಗೆ, ಬೋಟ್ HTTP API ಗಾಗಿ ರಹಸ್ಯ ಟೋಕನ್ ಅನ್ನು ನೀಡುತ್ತದೆ, ಅದನ್ನು msms ಫೋಲ್ಡರ್ನಲ್ಲಿ ಟೆಲಿಗ್ರಾಮ್-api-key.txt ಫೈಲ್ಗೆ ನಕಲಿಸಬೇಕು ಮತ್ತು ಉಳಿಸಬೇಕು. - ನಾವು ಟೆಲಿಗ್ರಾಮ್ ಸರ್ಚ್ ಬಾರ್ನಲ್ಲಿ ನಮ್ಮ ಬೋಟ್ನ ಹೆಸರನ್ನು ಟೈಪ್ ಮಾಡುತ್ತೇವೆ ಮತ್ತು ಅದನ್ನು ಪ್ರಾರಂಭಿಸುತ್ತೇವೆ.
- ಅಂತಿಮ ಸ್ಪರ್ಶವಾಗಿ, ಎಚ್ಚರಿಕೆ ಸ್ವೀಕರಿಸುವವರ ಮೇಲ್ವಿಚಾರಣೆಯ ಪಟ್ಟಿಗೆ ನಮ್ಮನ್ನು ನಾವು ಸೇರಿಸಿಕೊಳ್ಳೋಣ:
sudo chmod +x ./recipients-setup.sh torsocks ./recipients-setup.shಸ್ಕ್ರಿಪ್ಟ್ ಬೋಟ್ಗೆ ಇತ್ತೀಚಿನ ಕರೆಗಳ ಪಟ್ಟಿಯನ್ನು ಪ್ರದರ್ಶಿಸುತ್ತದೆ; ಟೆಲಿಗ್ರಾಮ್ನಲ್ಲಿ ನಮ್ಮ ಐಡಿ ಮತ್ತು ಹೆಸರಿನೊಂದಿಗೆ ಒಂದು ಸಾಲು ಇರಬೇಕು. ನಾವು ಈ ಐಡಿಯನ್ನು ತೆಗೆದುಕೊಂಡು ಅದನ್ನು ಸೇವೆಗಳು/google-recipients.txt ಫೈಲ್ನಲ್ಲಿ ಉಳಿಸುತ್ತೇವೆ. ಫೈಲ್ ಫಾರ್ಮ್ಯಾಟ್: ಪ್ರತಿ ಸಾಲು ಒಂದು ಐಡಿ. ಉದಾಹರಣೆ:
123456789 987654321
ಹೊಸ ಸ್ವೀಕರಿಸುವವರನ್ನು ಸೇರಿಸಲು, ಟೆಲಿಗ್ರಾಮ್ನಲ್ಲಿ ಬೋಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲು, ಸ್ವೀಕರಿಸುವವರ-setup.sh ಅನ್ನು ರನ್ ಮಾಡಲು ಮತ್ತು ಫೈಲ್ಗೆ ಐಡಿಯನ್ನು ಸೇರಿಸಲು ನೀವು ಅವನನ್ನು ಕೇಳಬೇಕು.
ಹಂತ 2. ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಹೊಂದಿಸಿ
ಸೇವೆಗಳ ಫೋಲ್ಡರ್ನಲ್ಲಿ ini ಫೈಲ್ ಅನ್ನು ರಚಿಸುವ ಮೂಲಕ ಸೇವೆಯನ್ನು ವಿವರಿಸಲಾಗಿದೆ. ನೀವು ಐದು ನಿಯತಾಂಕಗಳನ್ನು ಹೊಂದಿಸಬೇಕಾಗಿದೆ:
- MSMS_SERVICE_NAME: ಸೇವೆಯ ಹೆಸರು - ಎಚ್ಚರಿಕೆಗಳು ಮತ್ತು ಮಾನಿಟರಿಂಗ್ ಲಾಗ್ನಲ್ಲಿ ಬಳಸಲಾಗುತ್ತದೆ.
- MSMS_SERVICE_ENDPOINT: ನಾವು ಕರ್ಲ್ನೊಂದಿಗೆ ಸಂಪರ್ಕಿಸುವ ಸೇವೆಯ ಅಂತಿಮ ಬಿಂದು.
- MSMS_CURL_PARAMS: ಹೆಚ್ಚುವರಿ ಕರ್ಲ್ ಆಯ್ಕೆಗಳು, ಕೆಳಗಿನ ಉದಾಹರಣೆಯನ್ನು ನೋಡಿ.
- MSMS_EXPECTED: ಸೇವೆಯಿಂದ ನಿರೀಕ್ಷಿತ ಪ್ರತಿಕ್ರಿಯೆ. ಉತ್ತರ ಚಿಕ್ಕದಾಗಿದ್ದರೆ ಬಳಸಲಾಗುತ್ತದೆ.
- MSMS_EXPECTED_FILE: ನಿರೀಕ್ಷಿತ ಸೇವೆಯ ಪ್ರತಿಕ್ರಿಯೆಯೊಂದಿಗೆ ಫೈಲ್ ಹೆಸರು. ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ, MSMS_EXPECTED ಅನ್ನು ಓವರ್ರೈಟ್ ಮಾಡುತ್ತದೆ.
- MSMS_RECIPIENTS: ಅಧಿಸೂಚನೆ ಸ್ವೀಕರಿಸುವವರ ಪಟ್ಟಿಯೊಂದಿಗೆ ಫೈಲ್.
google.com ಗೆ ವಿನಂತಿಯು ಮರುನಿರ್ದೇಶನದೊಂದಿಗೆ ಸ್ಥಿರ html ಅನ್ನು ಹಿಂದಿರುಗಿಸುತ್ತದೆ, ನಾವು ಅದನ್ನು ನಿರೀಕ್ಷಿತ ಸರ್ವರ್ ಪ್ರತಿಕ್ರಿಯೆಯಾಗಿ ಬಳಸುತ್ತೇವೆ:
curl google.com > services/google-response.htmlಸೇವೆಗಳು/google.ini ಫೈಲ್ ಅನ್ನು ರಚಿಸೋಣ:
MSMS_SERVICE_NAME='google front page'
# service endpoint
MSMS_SERVICE_ENDPOINT='google.com'
# curl parameters
MSMS_CURL_PARAMS='-s --connect-timeout 3 -m 7'
# expected service response
MSMS_EXPECTED_FILE='google-response.html'
# recipients list file
MSMS_RECIPIENTS='google-recipients.txt' В MSMS_CURL_PARAMS ಕರ್ಲ್ ಮಾಡಬಹುದಾದ ಎಲ್ಲವನ್ನೂ ನೀವು ಹೊಂದಿಸಬಹುದು, ಅವುಗಳೆಂದರೆ:
- ಕನ್ಸೋಲ್ ಮತ್ತು ಲಾಗ್ ಅನ್ನು ಅಸ್ತವ್ಯಸ್ತಗೊಳಿಸುವುದನ್ನು ತಪ್ಪಿಸಲು ಕರ್ಲ್ ಸಂದೇಶಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ:
-s - ಸೇವೆಯನ್ನು ಪರಿಶೀಲಿಸುವುದರೊಂದಿಗೆ ಸಂಪರ್ಕದ ಅವಧಿಯನ್ನು ಹೊಂದಿಸಿ (ಸೆಕೆಂಡ್ಗಳಲ್ಲಿ):
--connect-timeout 3 - ಪ್ರತಿಕ್ರಿಯೆ ಸಮಯ ಮೀರುವಿಕೆಯನ್ನು ಹೊಂದಿಸಿ:
-m 7 - SSL ಗಾಗಿ ಪ್ರಮಾಣಪತ್ರ ಪರಿಶೀಲನೆಯನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿ (ಉದಾಹರಣೆಗೆ, ನೀವು ಸ್ವಯಂ-ಸಹಿ ಪ್ರಮಾಣಪತ್ರವನ್ನು ಬಳಸುತ್ತಿದ್ದರೆ):
--insecure - http ವಿನಂತಿಯ ಪ್ರಕಾರವನ್ನು ಸೂಚಿಸಿ:
-X POST - ಶೀರ್ಷಿಕೆಗಳನ್ನು ಸೂಚಿಸಿ:
-H "Content-Type: application/json" - ವಿನಂತಿಯ ದೇಹವನ್ನು ಸ್ಟ್ರಿಂಗ್ ಅಥವಾ ಫೈಲ್ ಆಗಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ಫೈಲ್ಗೆ ಉದಾಹರಣೆ:
-d @request.json
ನಾವು ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಿದ್ದೇವೆ ಮತ್ತು ಸಮಯ ಮೀರುವಿಕೆಯನ್ನು 3 ಸೆಕೆಂಡುಗಳಿಗೆ ಹೊಂದಿಸಿದ್ದೇವೆ. ಸಂಪರ್ಕಿಸಲು ಮತ್ತು 7 ಸೆ. ಸೇವೆಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಸ್ವೀಕರಿಸಲು.
ಎಚ್ಚರಿಕೆ: ಉದಾಹರಣೆಯಲ್ಲಿರುವಂತೆ ಏಕ ಉಲ್ಲೇಖಗಳಲ್ಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಮೌಲ್ಯಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿ. ದುರದೃಷ್ಟವಶಾತ್, ಈ ಅರ್ಥದಲ್ಲಿ ಬ್ಯಾಷ್ ಸಾಕಷ್ಟು ದುರ್ಬಲವಾಗಿದೆ, ಮತ್ತು ತಪ್ಪಾದ ಉದ್ಧರಣ ಚಿಹ್ನೆಯೊಂದಿಗೆ ಆಕಸ್ಮಿಕ ಚಿಟ್ಟೆಯು ಕಷ್ಟಕರವಾದ ರೋಗನಿರ್ಣಯದ ದೋಷಗಳೊಂದಿಗೆ ಬ್ರಹ್ಮಾಂಡದ ಸಾವಿಗೆ ಕಾರಣವಾಗಬಹುದು.
ನಾವು ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಸ್ಥಾಪಿಸಿದ್ದೇವೆ. ಎಲ್ಲವೂ ಸರಿಯಾಗಿದೆಯೇ ಎಂದು ಪರಿಶೀಲಿಸೋಣ:
sudo chmod +x ./monitoring.sh
torsocks ./monitoring.shಸ್ಕ್ರಿಪ್ಟ್ ಈ ರೀತಿಯ ಸಂದೇಶವನ್ನು ಪ್ರದರ್ಶಿಸಬೇಕು:
2020-01-10 12:14:31
health-check "google front page": OKಹಂತ 3. ವೇಳಾಪಟ್ಟಿಯನ್ನು ಹೊಂದಿಸುವುದು
ಕ್ರಾನ್ನಲ್ಲಿ ಮಾನಿಟರಿಂಗ್ ವೇಳಾಪಟ್ಟಿಯನ್ನು ಹೊಂದಿಸೋಣ:
sudo crontab -eಪ್ರತಿ ನಿಮಿಷ google.com ಅನ್ನು ಪರಿಶೀಲಿಸಲು ಒಂದು ಸಾಲನ್ನು ಸೇರಿಸೋಣ:
*/1 * * * * torsocks <ПУТЬ К ПАПКЕ РЕПОЗИТОРИЯ>/monitoring.sh >> <ПУТЬ К ПАПКЕ РЕПОЗИТОРИЯ>/monitoring.log 2>&1ನಾವು ಪ್ರತಿದಿನ 11.00:XNUMX ಗಂಟೆಗೆ ಎಚ್ಚರಿಕೆಯನ್ನು ಸೇರಿಸುತ್ತೇವೆ, ಮೇಲ್ವಿಚಾರಣೆಯ ಕಾರ್ಯವನ್ನು ದೃಢೀಕರಿಸುತ್ತೇವೆ. ಇದನ್ನು ಮಾಡಲು, ನಾವು ಡೈಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ರವಾನಿಸುತ್ತೇವೆ:
0 11 * * * torsocks <ПУТЬ К ПАПКЕ РЕПОЗИТОРИЯ>/monitoring.sh DAILY >> <ПУТЬ К ПАПКЕ РЕПОЗИТОРИЯ>/monitoring.log 2>&1
2>&1 - ದೋಷಗಳನ್ನು ಮುಖ್ಯ ಔಟ್ಪುಟ್ ಸ್ಟ್ರೀಮ್ಗೆ ಮರುನಿರ್ದೇಶಿಸುವ ಪ್ರಮಾಣಿತ ತಂತ್ರ. ಪರಿಣಾಮವಾಗಿ, ಅವರು ಮಾನಿಟರಿಂಗ್ ಲಾಗ್ನಲ್ಲಿ ಸಹ ಕೊನೆಗೊಳ್ಳುತ್ತಾರೆ.
ಬದಲಾವಣೆಗಳನ್ನು ಉಳಿಸೋಣ ಮತ್ತು ಆಜ್ಞೆಯೊಂದಿಗೆ ಅವುಗಳನ್ನು ಎತ್ತಿಕೊಳ್ಳಿ:
sudo service cron reloadಕ್ರಾನ್ ಅನ್ನು ಹೊಂದಿಸುವುದರ ಕುರಿತು ನೀವು ಇನ್ನಷ್ಟು ಓದಬಹುದು, ಉದಾಹರಣೆಗೆ, .
ಹೀಗಾಗಿ, ಪ್ರತಿ ನಿಮಿಷವೂ ಮಾನಿಟರಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಪ್ರಾರಂಭಿಸಲಾಗುತ್ತದೆ, ಅದು ಕರ್ಲ್ ಮೂಲಕ google.com ಅನ್ನು ಸಂಪರ್ಕಿಸುತ್ತದೆ. ಸ್ವೀಕರಿಸಿದ ಪ್ರತಿಕ್ರಿಯೆಯು ನಿರೀಕ್ಷಿತ ಒಂದಕ್ಕಿಂತ ಭಿನ್ನವಾಗಿದ್ದರೆ, ಸ್ಕ್ರಿಪ್ಟ್ ಸ್ವೀಕರಿಸುವವರ ಪಟ್ಟಿಗೆ ಟೆಲಿಗ್ರಾಮ್ ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸುತ್ತದೆ. ಆಡಿಟ್ ಲಾಗ್ ಅನ್ನು ಫೈಲ್ ಮಾನಿಟರಿಂಗ್.ಲಾಗ್ ನಲ್ಲಿ ಇರಿಸಲಾಗಿದೆ
ನಾವು ಇನ್ನೊಂದು ಸೇವೆಯನ್ನು ಸೇರಿಸಬೇಕಾದರೆ, ಸೇವೆಗಳ ಫೋಲ್ಡರ್ನಲ್ಲಿ ನಾವು ಹೊಸ ini ಫೈಲ್ ಅನ್ನು ಸರಳವಾಗಿ ರಚಿಸುತ್ತೇವೆ ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ, ಸ್ವೀಕರಿಸುವವರ ಪ್ರತ್ಯೇಕ ಪಟ್ಟಿಯನ್ನು ರಚಿಸಿ. ಉಳಿದಂತೆ ಸ್ವಯಂಚಾಲಿತವಾಗಿ ಕೆಲಸ ಮಾಡುತ್ತದೆ.
ಪರಿಶೀಲಿಸಲಾಗುತ್ತಿರುವ ಸೇವೆಯು ಲಭ್ಯವಿಲ್ಲದಿದ್ದರೆ, ಪ್ರತಿ ನಿಮಿಷಕ್ಕೆ ಅಧಿಸೂಚನೆಯನ್ನು ಕಳುಹಿಸಲಾಗುತ್ತದೆ. ನೀವು ಸೇವೆಯನ್ನು ತ್ವರಿತವಾಗಿ ಮರುಸ್ಥಾಪಿಸಲು ಸಾಧ್ಯವಾಗದಿದ್ದರೆ, ಬೋಟ್ನ ಟೆಲಿಗ್ರಾಮ್ ಗುಣಲಕ್ಷಣಗಳಲ್ಲಿ ನೀವು ತಾತ್ಕಾಲಿಕವಾಗಿ ಅಧಿಸೂಚನೆಗಳನ್ನು ನಿಷ್ಕ್ರಿಯಗೊಳಿಸಬಹುದು.
ಈಗ ಹೆಚ್ಚುವರಿ ವೈಶಿಷ್ಟ್ಯಗಳು ಮತ್ತು ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಅನುಷ್ಠಾನವನ್ನು ಹತ್ತಿರದಿಂದ ನೋಡೋಣ.
ಸಂದೇಶ ಮಾದರಿಗಳು ಮತ್ತು ಭಾವನಾತ್ಮಕ ನಿಶ್ಚಿತಾರ್ಥ
ಬೋಟ್ನೊಂದಿಗೆ ಸಂವಹನವನ್ನು ಹೆಚ್ಚು ಉತ್ಸಾಹಭರಿತವಾಗಿಸಲು, ನಾವು ಅದಕ್ಕೆ ಮಾನೆಚ್ಕಾ ಎಂದು ಹೆಸರಿಸಿದ್ದೇವೆ, ಸೂಕ್ತವಾದ ಅವತಾರ ಚಿತ್ರವನ್ನು ಸೇರಿಸಿದ್ದೇವೆ ಮತ್ತು ಸಂದೇಶ ಪಠ್ಯಗಳನ್ನು ರಚಿಸಲು ವೃತ್ತಿಪರ PR ತಜ್ಞರನ್ನು ನೇಮಿಸಿಕೊಂಡಿದ್ದೇವೆ. ನೀವು ನಮ್ಮ ಅನುಭವವನ್ನು ಬಳಸಬಹುದು ಅಥವಾ ಅದನ್ನು ನಿಮ್ಮ ರುಚಿಗೆ ಬದಲಾಯಿಸಬಹುದು.
ಉದಾಹರಣೆಗೆ ಈ ರೀತಿ:

ಅಥವಾ ಈ ರೀತಿ:

ಯಾಕಿಲ್ಲ?
ಬೋಟ್ ಹೆಸರು ಮತ್ತು ಅವತಾರವನ್ನು ಈ ಮೂಲಕ ಹೊಂದಿಸಲಾಗಿದೆ .
ಸಂದೇಶ ಟೆಂಪ್ಲೇಟ್ಗಳು ಫೋಲ್ಡರ್ನಲ್ಲಿವೆ ಟೆಂಪ್ಲೇಟ್ಗಳು:
- curl-fail.txt: ಕರ್ಲ್ ಶೂನ್ಯವಲ್ಲದ ದೋಷ ಕೋಡ್ ಅನ್ನು ಹಿಂತಿರುಗಿಸಿದಾಗ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸಲಾಗಿದೆ. ಸಾಮಾನ್ಯವಾಗಿ ಇದು ಸೇವೆಯನ್ನು ತಲುಪುವ ಅಸಾಧ್ಯತೆಯ ಬಗ್ಗೆ ಮಾತನಾಡುತ್ತದೆ.
- daily.txt: ಸೇವೆಯ ಮೇಲ್ವಿಚಾರಣೆ ಕಾರ್ಯನಿರ್ವಹಿಸುತ್ತಿದೆ ಎಂದು ದೃಢೀಕರಿಸುವ ದೈನಂದಿನ ಸಂದೇಶ.
- service-fail.txt: ಸೇವೆಯ ಪ್ರತಿಕ್ರಿಯೆಯು ನಿರೀಕ್ಷಿಸಿದ್ದಕ್ಕಿಂತ ಭಿನ್ನವಾದಾಗ ಕಳುಹಿಸಲಾದ ಸಂದೇಶ.
ಅಂತರ್ನಿರ್ಮಿತ ಸಂದೇಶ ಟೆಂಪ್ಲೆಟ್ಗಳನ್ನು ಉದಾಹರಣೆಯಾಗಿ ಬಳಸಿಕೊಂಡು ಗ್ರಾಹಕೀಕರಣ ಆಯ್ಕೆಗಳನ್ನು ನೋಡೋಣ.
ಟೆಂಪ್ಲೇಟ್ಗಳು ಎಮೋಜಿಯನ್ನು ಬಳಸುತ್ತವೆ. ದುರದೃಷ್ಟವಶಾತ್, habr ಅವುಗಳನ್ನು ಪ್ರದರ್ಶಿಸುವುದಿಲ್ಲ.
ಎಮೋಜಿಯನ್ನು ಆಯ್ಕೆ ಮಾಡಲು, ಹುಡುಕಾಟವನ್ನು ಬಳಸಲು ಅನುಕೂಲಕರವಾಗಿದೆ :

ನೀವು ಟೆಂಪ್ಲೇಟ್ ಪಠ್ಯಕ್ಕೆ ಸೂಕ್ತವಾದ ಚಿಹ್ನೆಯನ್ನು ನಕಲಿಸಿ ಮತ್ತು ಅಂಟಿಸಿ (ಇದು ಸಾಮಾನ್ಯ ಯುನಿಕೋಡ್ ಆಗಿದೆ).
- curl-fail.txt:
Котёнок, помоги мне... Не могу достучаться до сервиса "$MSMS_SERVICE_NAME" `CURL EXIT CODE: $EXIT_CODE`ನಾವು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಸೇವೆಯ ಹೆಸರನ್ನು ಬಳಸಿದ್ದೇವೆ (ವೇರಿಯಬಲ್
MSMS_SERVICE_NAME) ಮತ್ತು ಕರ್ಲ್ ಎಕ್ಸಿಟ್ ಕೋಡ್ನೊಂದಿಗೆ ಆಂತರಿಕ ಸ್ಕ್ರಿಪ್ಟ್ ವೇರಿಯಬಲ್ (EXIT_CODE) ಮಾರ್ಕ್ಅಪ್ ಬಳಸಿ ನಾವು ಸಂದೇಶವನ್ನು ಫಾರ್ಮ್ಯಾಟ್ ಮಾಡಿದ್ದೇವೆ : "`" ಅಕ್ಷರಗಳು ಸ್ಥಿರ-ಅಗಲ ಪಠ್ಯವನ್ನು ಸುತ್ತುವರೆದಿವೆ. ಉಲ್ಲೇಖಗಳು ಮತ್ತು ಅಪಾಸ್ಟ್ರಫಿಗಳು ಬ್ಯಾಷ್ ಚಿಹ್ನೆಗಳಾಗಿರುವುದರಿಂದ, ನಾವು ಅವುಗಳನ್ನು "" ನೊಂದಿಗೆ ತಪ್ಪಿಸಿಕೊಳ್ಳುತ್ತೇವೆ. ವೇರಿಯೇಬಲ್ ಹೆಸರುಗಳು "$" ಚಿಹ್ನೆಯಿಂದ ಮುಂಚಿತವಾಗಿರುತ್ತವೆ.ಫಲಿತಾಂಶ:

- service-fail.txt:
Котёнок, помоги мне... Сервис "$MSMS_SERVICE_NAME" меня расстроил Он работает неправильно, вот что он мне отвечает: `$RESPONSE`ಫಲಿತಾಂಶ:

ಇಲ್ಲಿ ನಾವು ಇನ್ನೊಂದು ಸ್ಕ್ರಿಪ್ಟ್ ವೇರಿಯೇಬಲ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ:RESPONSE. ಇದು ಸೇವೆಯ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಒಳಗೊಂಡಿದೆ. - daily.txt:
Малыш, привет! У меня всё хорошо, cлежу за сервисом: "$MSMS_SERVICE_NAME" каждую минутку... А как у тебя дела?ಫಲಿತಾಂಶ:

ಸ್ಕ್ರಿಪ್ಟ್ಗಳ ಅನುಷ್ಠಾನಕ್ಕೆ ಹೋಗೋಣ.
ಮಾನಿಟರಿಂಗ್ ಸ್ಕ್ರಿಪ್ಟ್
ಮಾನಿಟರಿಂಗ್.sh ಸರಳವಾದ ಸ್ವಯಂ-ಶೋಧನೆಯನ್ನು ಮಾಡುತ್ತದೆ - ಇದು ಸೇವೆಗಳ ಫೋಲ್ಡರ್ನಿಂದ ಎಲ್ಲಾ ini ಫೈಲ್ಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ ಮತ್ತು ಪ್ರತಿಯೊಂದಕ್ಕೂ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಕಳುಹಿಸಲು ತರ್ಕದೊಂದಿಗೆ ಮುಖ್ಯ ಸ್ಕ್ರಿಪ್ಟ್ ಅನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ:
#!/bin/bash
cd $(dirname "$0")/services
for service_ini in $(ls *.ini); do
bash ../msms.sh "$1" "$service_ini"
doneಮಾನಿಟರಿಂಗ್ ಸ್ಥಿತಿಯ ಕುರಿತು ದೈನಂದಿನ ಸಂದೇಶವನ್ನು ರಚಿಸಲು, ನೀವು ಡೇಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಸ್ಕ್ರಿಪ್ಟ್ಗೆ ರವಾನಿಸಬಹುದು.
ಸ್ಕ್ರಿಪ್ಟ್ ಪ್ರಾರಂಭವಾದಾಗ, ಪ್ರಸ್ತುತ ಫೋಲ್ಡರ್ ಸೇವೆಗಳಿಗೆ ಬದಲಾಗುತ್ತದೆ ಎಂಬುದನ್ನು ದಯವಿಟ್ಟು ಗಮನಿಸಿ. ini ಫೈಲ್ಗಳಲ್ಲಿನ ಸೇವೆಗಳಿಗೆ ಸಂಬಂಧಿಸಿದಂತೆ ಫೈಲ್ ಮಾರ್ಗಗಳನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಲು ಇದು ನಿಮ್ಮನ್ನು ಅನುಮತಿಸುತ್ತದೆ.
ಅಧಿಸೂಚನೆಗಳನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಕಳುಹಿಸಲು ಸ್ಕ್ರಿಪ್ಟ್
msms.sh ಸೇವೆಯನ್ನು ಪರಿಶೀಲಿಸಲು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳನ್ನು ಕಳುಹಿಸಲು ಮುಖ್ಯ ತರ್ಕವನ್ನು ಒಳಗೊಂಡಿದೆ.
ಟೆಲಿಗ್ರಾಮ್ನೊಂದಿಗೆ ಕೆಲಸ ಮಾಡಿ:
# telegram endpoint
TG_API_URL="https://api.telegram.org/bot$(cat ../telegram-api-key.txt)/sendMessage"
#################################################################
# send message to telegram
# parameter: message text
#################################################################
function send_message {
for chat_id in $(cat ../$MSMS_RECIPIENTS); do
curl -s -X POST --connect-timeout 10 $TG_API_URL -d chat_id=$chat_id -d parse_mode="Markdown" -d text="$1"
echo
done
}
ಫೈಲ್ನಲ್ಲಿ ಉಳಿಸಲಾದ ರಹಸ್ಯ ಕೀಲಿಯನ್ನು ಬಳಸಿಕೊಂಡು ಟೆಲಿಗ್ರಾಮ್ REST API ಅನ್ನು ಪ್ರವೇಶಿಸಲು ನಾವು URL ಅನ್ನು ರಚಿಸುತ್ತೇವೆ.
send_message ಕಾರ್ಯವು ಈ REST API ಗೆ ಸಂದೇಶಗಳನ್ನು ಕಳುಹಿಸಲು ಕರ್ಲ್ ಅನ್ನು ಬಳಸುತ್ತದೆ, ನಾವು ini ನಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಫೈಲ್ನಿಂದ ಸ್ವೀಕರಿಸುವವರ ಐಡಿಗಳನ್ನು ತೆಗೆದುಕೊಳ್ಳುತ್ತದೆ. ನಾವು ಕಳುಹಿಸುವ ಡೇಟಾದಲ್ಲಿ, ನಾವು ಸಂದೇಶ ಮಾರ್ಕ್ಅಪ್ ಅನ್ನು ಬಳಸುತ್ತೇವೆ ಎಂದು ನಾವು ಸೂಚಿಸುತ್ತೇವೆ: parse_mode="Markdown".
ಪ್ರಸ್ತುತ ದಿನಾಂಕ ಮತ್ತು ಸಮಯವನ್ನು ಪ್ರದರ್ಶಿಸೋಣ ಮತ್ತು ini ಫೈಲ್ ಅನ್ನು ಲೋಡ್ ಮಾಡೋಣ.
echo $(date '+%Y-%m-%d %H:%M:%S')
# load variables from .ini file:
. $2
ಮ್ಯಾಜಿಕ್ ಸ್ಟ್ರಿಂಗ್ . $2 ಇನ್ಪುಟ್ಗೆ ರವಾನಿಸಲಾದ ini ಫೈಲ್ ಅನ್ನು ನಿಯಮಿತ ಸ್ಕ್ರಿಪ್ಟ್ನಂತೆ ಎರಡನೇ ಪ್ಯಾರಾಮೀಟರ್ನಂತೆ ಕಾರ್ಯಗತಗೊಳಿಸುತ್ತದೆ, ಅದರಲ್ಲಿ ನಿರ್ದಿಷ್ಟಪಡಿಸಿದ ಮೌಲ್ಯಗಳನ್ನು ಪರಿಸರ ವೇರಿಯಬಲ್ಗಳಲ್ಲಿ ನಮೂದಿಸುತ್ತದೆ.
ನಿಯತಾಂಕವನ್ನು ನಿರ್ದಿಷ್ಟಪಡಿಸಿದರೆ ಫೈಲ್ನಿಂದ ನಿರೀಕ್ಷಿತ ಪ್ರತಿಕ್ರಿಯೆಯನ್ನು ಲೋಡ್ ಮಾಡಿ MSMS_EXPECTED_FILE:
if [ -n "$MSMS_EXPECTED_FILE" ]; then
MSMS_EXPECTED="$(cat "$MSMS_EXPECTED_FILE")"
fi
ನಾವು ಸೇವೆಯನ್ನು ಪರಿಶೀಲಿಸುತ್ತೇವೆ ಮತ್ತು ಅಗತ್ಯವಿದ್ದರೆ ಎಚ್ಚರಿಕೆಗಳನ್ನು ಕಳುಹಿಸುತ್ತೇವೆ:
RESPONSE="$(eval curl $MSMS_CURL_PARAMS "$MSMS_SERVICE_ENDPOINT")"
EXIT_CODE=$?
if [[ $EXIT_CODE != 0 ]]; then
echo health-check "$MSMS_SERVICE_NAME" FAILED: CURL EXIT WITH $EXIT_CODE
MESSAGE="$(cat ../templates/curl-fail.txt)"
MESSAGE=$(eval echo $MESSAGE)
send_message "$MESSAGE"
elif [[ "$RESPONSE" != "$MSMS_EXPECTED" ]]; then
echo health-check "$MSMS_SERVICE_NAME" FAILED: "$RESPONSE"
MESSAGE="$(cat ../templates/service-fail.txt)"
MESSAGE=$(eval echo $MESSAGE)
send_message "$MESSAGE"
else
echo health-check "$MSMS_SERVICE_NAME": OK
fi
ಮೊದಲು ನಾವು ವೇರಿಯೇಬಲ್ಗೆ ನಿಯೋಜಿಸುತ್ತೇವೆ RESPONSE ಈ ಸೇವೆಗಾಗಿ ಕರ್ಲ್ ಆಜ್ಞೆಯನ್ನು ಕಾರ್ಯಗತಗೊಳಿಸುವ ಫಲಿತಾಂಶ.
ಅಭಿವ್ಯಕ್ತಿ EXIT_CODE=$? ಕೊನೆಯ ಆಜ್ಞೆಯ ಫಲಿತಾಂಶವನ್ನು ವೇರಿಯಬಲ್ ಆಗಿ ಇರಿಸುತ್ತದೆ, ಅಂದರೆ. ಮುಂಗುರುಳು. ಎಚ್ಚರಿಕೆಯನ್ನು ಕಳುಹಿಸಲು ಅಗತ್ಯವಿದ್ದರೆ, ಟೆಂಪ್ಲೇಟ್ ಅನ್ನು ಅನುಗುಣವಾದ ಫೈಲ್ನಿಂದ ಓದಲಾಗುತ್ತದೆ ಮತ್ತು ಇದನ್ನು ಬಳಸಿಕೊಂಡು ಸ್ವೀಕರಿಸುವವರಿಗೆ ಕಳುಹಿಸಲಾಗುತ್ತದೆ send_message.
ಕೊನೆಯ ಬ್ಲಾಕ್ ಡೈಲಿ ಪ್ಯಾರಾಮೀಟರ್ ಅನ್ನು ಪ್ರಕ್ರಿಯೆಗೊಳಿಸುತ್ತದೆ:
if test "$1" = "DAILY"; then
echo health-check "$MSMS_SERVICE_NAME" DAILY
MESSAGE="$(cat ../templates/daily.txt)"
MESSAGE=$(eval echo $MESSAGE)
send_message "$MESSAGE"
fiಇದು ಮೇಲ್ವಿಚಾರಣೆಯ ಕಾರ್ಯವನ್ನು ದೃಢೀಕರಿಸುವ ಸಂದೇಶವನ್ನು ಕಳುಹಿಸುತ್ತದೆ.
ಬಳಕೆದಾರರ ಐಡಿಗಳ ಪಟ್ಟಿಯನ್ನು ಪಡೆಯಲಾಗುತ್ತಿದೆ
ಸ್ವೀಕರಿಸುವವರು-setup.sh ಬೋಟ್ಗೆ ತಿಳಿಸಲಾದ ಇತ್ತೀಚಿನ ಸಂದೇಶಗಳನ್ನು ಪಡೆಯಲು ಟೆಲಿಗ್ರಾಮ್ API ಗೆ ಕರೆ ಮಾಡುತ್ತದೆ:
curl -s https://api.telegram.org/bot$(cat telegram-api-key.txt)/getUpdates
| python recipients-setup.pyಇದು ಪಟ್ಟಿಯನ್ನು ಸುಂದರವಾಗಿ ನಿರೂಪಿಸಲು ಪೈಥಾನ್ ಮ್ಯಾಜಿಕ್ ಅನ್ನು ಬಳಸುತ್ತದೆ. ಇದು ಅನಿವಾರ್ಯವಲ್ಲ, ನೀವು json ನಿಂದ ಬಯಸಿದ ಐಡಿಯನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು, ಅದು ಆಜ್ಞೆಯು ಔಟ್ಪುಟ್ ಮಾಡುತ್ತದೆ:
torsocks curl -s https://api.telegram.org/bot$(cat telegram-api-key.txt)/getUpdatesತೀರ್ಮಾನಕ್ಕೆ
ಹೀಗಾಗಿ, ನೀವು ರೆಡಿಮೇಡ್ ಸ್ಕ್ರಿಪ್ಟ್ಗಳು ಮತ್ತು ಸಂದೇಶ ಟೆಂಪ್ಲೇಟ್ಗಳನ್ನು ಬಳಸಬಹುದು, ಮೇಲ್ವಿಚಾರಣೆ ಮಾಡಲಾದ ಸೇವೆಗಳು ಮತ್ತು ಎಚ್ಚರಿಕೆಗಳಿಗಾಗಿ ಪಟ್ಟಿಗಳನ್ನು ಮಾತ್ರ ಹೊಂದಿಸಬಹುದು; ನೀವು ಬೋಟ್ಗಾಗಿ ಹೊಸ "ವ್ಯಕ್ತಿತ್ವ" ವನ್ನು ರಚಿಸಬಹುದು; ಅಥವಾ ಏನು ಪ್ರಸ್ತಾಪಿಸಲಾಗಿದೆ ಎಂಬುದರ ಆಧಾರದ ಮೇಲೆ ನೀವು ನಿಮ್ಮ ಸ್ವಂತ ನಿರ್ಧಾರವನ್ನು ತೆಗೆದುಕೊಳ್ಳಬಹುದು.
ಹೆಚ್ಚಿನ ಅಭಿವೃದ್ಧಿಯ ಆಯ್ಕೆಗಳು ಬೋಟ್ನಲ್ಲಿಯೇ ಮೇಲ್ವಿಚಾರಣೆಯನ್ನು ಕಾನ್ಫಿಗರ್ ಮಾಡಲು ಮತ್ತು ನಿರ್ವಹಿಸಲು ಸೂಚಿಸುತ್ತವೆ, ಆದರೆ ಇಲ್ಲಿ ನೀವು ಪೈಥಾನ್ ಇಲ್ಲದೆ ಮಾಡಲು ಸಾಧ್ಯವಿಲ್ಲ. ಯಾರಾದರೂ ಅದನ್ನು ನನ್ನ ಮುಂದೆ ಪಡೆದರೆ, ಪುಲ್ ವಿನಂತಿಯನ್ನು ಎಲ್ಲಿ ಸಲ್ಲಿಸಬೇಕೆಂದು ನಿಮಗೆ ತಿಳಿದಿದೆ :)
ಮೂಲ: www.habr.com



