āĻœāĻŸāĻŋāĻ˛ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš āĻ¸āĻšāĻœ āĻ•āĻžāĻœāĨ¤ āĻŦāĻž āĻŦāĻžāĻ˛āĻžāĻ°āĻŸāĻžāĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋāĻ° āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸

āĻœāĻŸāĻŋāĻ˛ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš āĻ¸āĻšāĻœ āĻ•āĻžāĻœāĨ¤ āĻŦāĻž āĻŦāĻžāĻ˛āĻžāĻ°āĻŸāĻžāĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋāĻ° āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸

āĻ¸āĻŦāĻžāĻ‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻĒāĻ›āĻ¨ā§āĻĻ āĻ•āĻ°ā§‡āĨ¤

āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻŦāĻ¸ā§‡ āĻĨāĻžāĻ•āĻž āĻāĻŦāĻ‚ āĻ—ā§āĻ°āĻžāĻĢā§‡āĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ¨ā§‹ āĻāĻŦāĻ‚ āĻ…āĻ¸āĻ™ā§āĻ—āĻ¤āĻŋāĻ—ā§āĻ˛āĻŋ āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻ¯āĻŧā§‡ āĻ•āĻŋāĻ›ā§ āĻ˜āĻŸā§‡āĻ›ā§‡ (āĻŦāĻž āĻ āĻŋāĻ• āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡) āĻ¤āĻ–āĻ¨ āĻ…āĻŦāĻšāĻŋāĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻ…āĻ¨ā§‡āĻ• āĻ­āĻžāĻ˛āĨ¤

āĻ†āĻ° āĻāĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻŸā§āĻ˛āĻ¸ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸ āĻ‡āĻ•ā§‹āĻ¸āĻŋāĻ¸ā§āĻŸā§‡āĻŽ āĻĨā§‡āĻ•ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻŦā§āĻ¯āĻŦāĻ¸ā§āĻĨāĻžāĻĒāĻ• āĻāĻŦāĻ‚ āĻ­āĻŋāĻ•ā§āĻŸā§‹āĻ°āĻŋāĻ¯āĻŧāĻžāĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻĒāĻŖā§āĻ¯ āĻ—ā§āĻ°ā§āĻĒ āĻĨā§‡āĻ•ā§‡ vmalertāĨ¤ Grafana āĻŽāĻ§ā§āĻ¯ā§‡ Zabbix āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻāĻŦāĻ‚ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž. āĻŦā§āĻ¯āĻžāĻļ āĻāĻŦāĻ‚ āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ āĻŦāĻŸāĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻ¸ā§āĻŦ-āĻ˛āĻŋāĻ–āĻŋāĻ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¯āĻž āĻĒāĻ°ā§āĻ¯āĻžāĻ¯āĻŧāĻ•ā§āĻ°āĻŽā§‡ āĻ•āĻŋāĻ›ā§ URL āĻŸā§‡āĻ¨ā§‡ āĻ†āĻ¨ā§‡ āĻāĻŦāĻ‚ āĻ•āĻŋāĻ›ā§ āĻ­ā§āĻ˛ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻŦāĻ˛ā§‡āĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ…āĻ¨ā§‡āĻ•.

āĻ†āĻŽāĻ°āĻž, āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ•ā§‹āĻŽā§āĻĒāĻžāĻ¨ā§€āĻ¤ā§‡, āĻœāĻŸāĻŋāĻ˛āĻ¤āĻž, āĻŦāĻž, āĻŦāĻ°āĻ‚, āĻœāĻŸāĻŋāĻ˛, āĻ¯ā§ŒāĻ—āĻŋāĻ• āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¤ā§ˆāĻ°āĻŋāĻ° āĻ…āĻ¸āĻŽā§āĻ­āĻŦāĻ¤āĻžāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻ¨āĻž āĻ¯āĻžāĻ“āĻ¯āĻŧāĻž āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¯āĻž āĻļā§‡āĻˇ āĻ•āĻ°ā§‡āĻ›āĻŋ āĻ¤āĻž āĻ•āĻžāĻŸāĻžāĻ° āĻ¨ā§€āĻšā§‡āĨ¤ āĻŸāĻŋāĻāĻ˛āĻĄāĻŋāĻ†āĻ°: āĻ“āĻĒā§‡āĻ¨ āĻ¸ā§‹āĻ°ā§āĻ¸ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒāĻŸāĻŋ āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻšāĻžāĻœāĻŋāĻ° āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛ āĻŦā§āĻ¯āĻžāĻ˛āĻ°ā§āĻŸāĻžāĻ°

āĻŦā§‡āĻļ āĻĻā§€āĻ°ā§āĻ˜ āĻ¸āĻŽāĻ¯āĻŧ āĻ§āĻ°ā§‡ āĻ†āĻŽāĻ°āĻž Grafana-āĻ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻžāĻĨā§‡ āĻ­āĻžāĻ˛āĻ­āĻžāĻŦā§‡ āĻŦāĻ¸āĻŦāĻžāĻ¸ āĻ•āĻ°ā§‡āĻ›āĻŋāĨ¤ āĻšā§āĻ¯āĻžāĻ, āĻāĻŸāĻŋ āĻ¸ā§‡āĻ°āĻž āĻ‰āĻĒāĻžāĻ¯āĻŧ āĻ¨āĻ¯āĻŧāĨ¤ āĻāĻŸāĻŋ āĻ¸āĻ°ā§āĻŦāĻĻāĻž āĻ•āĻŋāĻ›ā§ āĻŦāĻŋāĻļā§‡āĻˇ āĻ¸āĻŽāĻžāĻ§āĻžāĻ¨ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻžāĻ° āĻĒāĻ°āĻžāĻŽāĻ°ā§āĻļ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻšāĻ¯āĻŧ, āĻ¯ā§‡āĻŽāĻ¨ AlertmanagerāĨ¤ āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻžāĻ“ āĻāĻ•āĻžāĻ§āĻŋāĻ•āĻŦāĻžāĻ° āĻāĻ—āĻŋāĻ¯āĻŧā§‡ āĻ¯āĻžāĻ“āĻ¯āĻŧāĻžāĻ° āĻĻāĻŋāĻ•ā§‡ āĻ¤āĻžāĻ•āĻžāĻ˛āĻžāĻŽāĨ¤ āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°, āĻ§ā§€āĻ°ā§‡ āĻ§ā§€āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ†āĻ°ā§‹ āĻšā§‡āĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĻžāĻŽ.

āĻŦāĻ˛ā§āĻ¨ āĻ¯āĻ–āĻ¨ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻšāĻžāĻ°ā§āĻŸ XX% āĻ•āĻŽā§‡/āĻŦā§‡āĻĄāĻŧā§‡āĻ›ā§‡ āĻāĻŦāĻ‚ M āĻ˜āĻ¨ā§āĻŸāĻžāĻ° āĻ†āĻ—ā§‡āĻ° āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻžāĻ¯āĻŧ N āĻŽāĻŋāĻ¨āĻŋāĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ›ā§‡? āĻŽāĻ¨ā§‡ āĻšāĻšā§āĻ›ā§‡ āĻ†āĻĒāĻ¨āĻŋ Grafana āĻŦāĻž Alertmanager āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻāĻŸāĻŋ āĻŦāĻžāĻ¸ā§āĻ¤āĻŦāĻžāĻ¯āĻŧāĻ¨ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻāĻŸāĻŋ āĻ–ā§āĻŦ āĻ¸āĻšāĻœ āĻ¨āĻ¯āĻŧāĨ¤ (āĻ…āĻĨāĻŦāĻž āĻāĻŸāĻž āĻ¸āĻŽā§āĻ­āĻŦ āĻ¨āĻ¯āĻŧ, āĻāĻ–āĻ¨ āĻŦāĻ˛āĻŦ āĻ¨āĻž)

āĻŦāĻŋāĻˇāĻ¯āĻŧāĻ—ā§āĻ˛āĻŋ āĻ†āĻ°āĻ“ āĻœāĻŸāĻŋāĻ˛ āĻšāĻ¯āĻŧā§‡ āĻ“āĻ ā§‡ āĻ¯āĻ–āĻ¨ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨ā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻ‰āĻ¤ā§āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĒāĻžāĻ“āĻ¯āĻŧāĻž āĻ¤āĻĨā§āĻ¯ā§‡āĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋāĻ¤ā§‡āĨ¤ āĻ˛āĻžāĻ‡āĻ­ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ:

āĻ†āĻŽāĻ°āĻž āĻĻā§āĻŸāĻŋ āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡ āĻĄā§‡āĻŸāĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ, āĻ¤āĻžāĻ°āĻĒāĻ° āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ā§‡āĻ° āĻ•āĻŋāĻ›ā§ āĻĄā§‡āĻŸāĻžāĻ° āĻ¸āĻžāĻĨā§‡ āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°āĻŋ āĻāĻŦāĻ‚ āĻāĻ•āĻŸāĻŋ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ° āĻŦāĻŋāĻˇāĻ¯āĻŧā§‡ āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¨āĻŋāĻ‡āĨ¤ āĻ¸āĻ‚āĻ•ā§‡āĻ¤ āĻŦāĻž āĻŦāĻžāĻ¤āĻŋāĻ˛

āĻ†āĻŽāĻ°āĻž āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸āĻŋāĻĻā§āĻ§āĻžāĻ¨ā§āĻ¤ āĻ¸āĻŽā§āĻĒāĻ°ā§āĻ•ā§‡ āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§āĻ°ā§‚āĻĒ āĻ‡āĻšā§āĻ›āĻž āĻ…āĻ¨ā§‡āĻ• āĻ¸āĻžā§āĻšāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡. āĻāĻŦāĻ‚ āĻ¤āĻžāĻ°āĻĒāĻ°ā§‡ āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋāĻ° āĻĒā§āĻ°āĻ¯āĻŧā§‹āĻœāĻ¨ā§€āĻ¯āĻŧāĻ¤āĻž/āĻ•ā§āĻˇāĻŽāĻ¤āĻžāĻ° āĻĒā§āĻ°āĻĨāĻŽ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻž āĻ•āĻŽā§āĻĒāĻžāĻ‡āĻ˛ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°ā§‡āĻ›āĻŋ, āĻ¯āĻž āĻāĻ–āĻ¨āĻ“ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋāĨ¤

  • āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻĄā§‡āĻŸāĻž āĻ‰āĻ¤ā§āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¯ā§‡āĻŽāĻ¨ āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸, āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸, āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸

  • āĻŦāĻŋāĻ­āĻŋāĻ¨ā§āĻ¨ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒāĻžāĻ āĻžāĻ¨ - āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ, āĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻ• āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋāĨ¤

  • āĻšāĻŋāĻ¨ā§āĻ¤āĻž āĻ•āĻ°āĻžāĻ° āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻžāĻ¯āĻŧ, āĻāĻŸāĻž āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻšāĻ¯āĻŧā§‡ āĻ—ā§‡āĻ˛ āĻ¯ā§‡ āĻ†āĻŽāĻŋ āĻāĻ•āĻŸāĻŋ āĻ˜ā§‹āĻˇāĻŖāĻžāĻŽā§‚āĻ˛āĻ• āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻšāĻžāĻ‡ āĻ¨āĻž, āĻ•āĻŋāĻ¨ā§āĻ¤ā§ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛ā§‡āĻ–āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻšāĻžāĻ‡

  • āĻāĻ•āĻŸāĻŋ āĻ¸āĻŽāĻ¯āĻŧāĻ¸ā§‚āĻšā§€ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻšāĻ˛āĻŽāĻžāĻ¨

  • āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°āĻžāĻ¯āĻŧ āĻšāĻžāĻ˛ā§ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ¸āĻšāĻœ āĻ†āĻĒāĻĄā§‡āĻŸ

  • āĻ¸ā§‹āĻ°ā§āĻ¸ āĻ•ā§‹āĻĄāĻ—ā§āĻ˛āĻŋ āĻĨā§‡āĻ•ā§‡ āĻĒāĻ°āĻŋāĻˇā§‡āĻŦāĻžāĻŸāĻŋ āĻĒā§āĻ¨āĻ°ā§āĻ¨āĻŋāĻ°ā§āĻŽāĻžāĻŖ āĻ¨āĻž āĻ•āĻ°ā§‡ āĻ•ā§‹āĻ¨āĻ“āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻžāĻ°āĻŋāĻ¤āĻž āĻĒā§āĻ°āĻ¸āĻžāĻ°āĻŋāĻ¤ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž

āĻāĻ‡ āĻ¤āĻžāĻ˛āĻŋāĻ•āĻžāĻŸāĻŋ āĻ†āĻ¨ā§āĻŽāĻžāĻ¨āĻŋāĻ• āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻ­āĻŦāĻ¤ āĻ–ā§āĻŦ āĻ¸āĻ āĻŋāĻ• āĻ¨āĻ¯āĻŧāĨ¤ āĻ•āĻŋāĻ›ā§ āĻĒāĻ¯āĻŧā§‡āĻ¨ā§āĻŸ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›ā§‡, āĻ•āĻŋāĻ›ā§ āĻŽāĻžāĻ°āĻž āĻ—ā§‡āĻ›ā§‡āĨ¤ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ¯āĻĨāĻžāĻ°ā§€āĻ¤āĻŋāĨ¤

āĻ†āĻ¸āĻ˛ā§‡, āĻāĻ­āĻžāĻŦā§‡āĻ‡ āĻŦā§āĻ¯āĻžāĻ˛āĻžāĻ°ā§āĻŸāĻžāĻ°ā§‡āĻ° āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸ āĻļā§āĻ°ā§ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻœāĻŸāĻŋāĻ˛ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻš āĻ¸āĻšāĻœ āĻ•āĻžāĻœāĨ¤ āĻŦāĻž āĻŦāĻžāĻ˛āĻžāĻ°āĻŸāĻžāĻ° āĻ¸ā§ƒāĻˇā§āĻŸāĻŋāĻ° āĻ‡āĻ¤āĻŋāĻšāĻžāĻ¸

āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤ āĻ•ā§€ āĻ˜āĻŸā§‡āĻ›āĻŋāĻ˛ āĻāĻŦāĻ‚ āĻāĻŸāĻŋ āĻ•ā§€āĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡ āĻ¤āĻž āĻ†āĻŽāĻŋ āĻ¸āĻ‚āĻ•ā§āĻˇā§‡āĻĒā§‡ āĻŦāĻ°ā§āĻŖāĻ¨āĻž āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦāĨ¤ (āĻšā§āĻ¯āĻžāĻ, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻāĻ–āĻžāĻ¨ā§‡āĻ‡ āĻļā§‡āĻˇ āĻ¨āĻ¯āĻŧāĨ¤ āĻĒāĻŖā§āĻ¯ āĻŦāĻŋāĻ•āĻžāĻļā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ…āĻ¨ā§‡āĻ• āĻĒāĻ°āĻŋāĻ•āĻ˛ā§āĻĒāĻ¨āĻž āĻ°āĻ¯āĻŧā§‡āĻ›ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻœāĻ•ā§‡ āĻĨāĻžāĻŽāĻŦ)

āĻāĻŸāĻž āĻ•āĻŋāĻ­āĻžāĻŦā§‡ āĻ•āĻžāĻœ āĻ•āĻ°ā§‡?

āĻ†āĻĒāĻ¨āĻŋ āĻ˛ā§āĻ¯āĻŧāĻžāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻ¯ā§‡āĻ–āĻžāĻ¨ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻ¸ā§āĻĒāĻˇā§āĻŸāĻ­āĻžāĻŦā§‡ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ āĻžāĻ¨ (āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸, āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤ āĻ†āĻĒāĻ¨āĻŋ āĻ‰āĻ¤ā§āĻ¤āĻ° āĻĒāĻžāĻŦā§‡āĻ¨ āĻāĻŦāĻ‚ āĻāĻ•āĻ°āĻ•āĻŽ āĻĒā§āĻ°āĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¤āĻžāĻĻā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ¤āĻžāĻ°āĻĒāĻ° āĻ•ā§‹āĻ¨ā§‹ āĻ§āĻ°āĻ¨ā§‡āĻ° āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻšāĻžāĻ˛ā§/āĻŦāĻ¨ā§āĻ§ āĻ•āĻ°ā§āĻ¨āĨ¤ Balerter āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻŦā§‡ (āĻ‡āĻŽā§‡āĻ˛, āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ, āĻ¸ā§āĻ˛ā§āĻ¯āĻžāĻ•, āĻ‡āĻ¤ā§āĻ¯āĻžāĻĻāĻŋ)āĨ¤ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻŋāĻ°āĻ¤āĻŋāĻ¤ā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ. āĻāĻŦāĻ‚... āĻ¸āĻžāĻ§āĻžāĻ°āĻŖāĻ­āĻžāĻŦā§‡, āĻāĻŸāĻžāĻ‡)

āĻāĻ•āĻŸāĻŋ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻ¸āĻš āĻĻā§‡āĻ–āĻžāĻ¨ā§‹ āĻ­āĻžāĻ˛:

-- @interval 10s
-- @name script1

local minRequestsRPS = 100

local log = require("log")
local ch1 = require("datasource.clickhouse.ch1")

local res, err = ch1.query("SELECT sum(requests) AS rps FROM some_table WHERE date = now()")
if err ~= nil then
    log.error("clickhouse 'ch1' query error: " .. err)
    return
end

local resultRPS = res[1].rps

if resultRPS < minResultRPS then
    alert.error("rps-min-limit", "Requests RPS are very small: " .. tostring(resultRPS))
else
    alert.success("rps-min-limit", "Requests RPS ok")
end 

āĻāĻ–āĻžāĻ¨ā§‡ āĻ•āĻŋ āĻšāĻšā§āĻ›ā§‡:

  • āĻ†āĻŽāĻ°āĻž āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻāĻ‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻŸāĻŋ āĻĒā§āĻ°āĻ¤āĻŋ 10 āĻ¸ā§‡āĻ•ā§‡āĻ¨ā§āĻĄā§‡ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ° āĻ•āĻ°āĻž āĻ‰āĻšāĻŋāĻ¤

  • āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨ (āĻāĻĒāĻŋāĻ†āĻ‡āĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻ˛āĻ—āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ā§‡āĻ° āĻœāĻ¨ā§āĻ¯, āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ¯āĻŧ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°ā§‡āĻ° āĻœāĻ¨ā§āĻ¯)

  • āĻ˛āĻ— āĻ†āĻ‰āĻŸāĻĒā§āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨

  • āĻ¨āĻžāĻŽā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸ āĻ…ā§āĻ¯āĻžāĻ•ā§āĻ¸ā§‡āĻ¸ āĻ•āĻ°āĻ¤ā§‡ āĻāĻ•āĻŸāĻŋ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ ch1 (āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ¨āĻŋāĻœā§‡āĻ‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ°ā§‡ āĻ•āĻ¨āĻĢāĻŋāĻ—āĻžāĻ° āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡)

  • āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ āĻžāĻ¨

  • āĻāĻ•āĻŸāĻŋ āĻ¤ā§āĻ°ā§āĻŸāĻŋāĻ° āĻ•ā§āĻˇā§‡āĻ¤ā§āĻ°ā§‡, āĻ†āĻŽāĻ°āĻž āĻ˛āĻ— āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ¸ā§āĻĨāĻžāĻ¨ā§‡ āĻāĻ•āĻŸāĻŋ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻĒā§āĻ°āĻĻāĻ°ā§āĻļāĻ¨ āĻ•āĻ°āĻŋ

  • āĻāĻ•āĻŸāĻŋ āĻ§ā§āĻ°ā§āĻŦāĻ•ā§‡āĻ° āĻ¸āĻžāĻĨā§‡ āĻ•ā§āĻ¯ā§‹āĻ¯āĻŧāĻžāĻ°ā§€ āĻĢāĻ˛āĻžāĻĢāĻ˛ā§‡āĻ° āĻ¤ā§āĻ˛āĻ¨āĻž āĻ•āĻ°ā§āĻ¨ (āĻāĻ•āĻŸāĻŋ āĻ˛āĻžāĻ‡āĻ­ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖā§‡, āĻ†āĻŽāĻ°āĻž āĻāĻ‡ āĻŽāĻžāĻ¨āĻŸāĻŋ āĻĒā§‡āĻ¤ā§‡ āĻĒāĻžāĻ°āĻŋ, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻĒā§‹āĻ¸ā§āĻŸāĻ—ā§āĻ°ā§‡āĻ¸ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡)

  • āĻ†āĻ‡āĻĄāĻŋ āĻĻāĻŋāĻ¯āĻŧā§‡ āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¸āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻŦāĻž āĻ…āĻ•ā§āĻˇāĻŽ āĻ•āĻ°ā§āĻ¨ rps-min-limit

  • āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻžāĻ° āĻ¸ā§āĻĨāĻŋāĻ¤āĻŋ āĻĒāĻ°āĻŋāĻŦāĻ°ā§āĻ¤āĻŋāĻ¤ āĻšāĻ˛ā§‡ āĻ†āĻĒāĻ¨āĻŋ āĻāĻ•āĻŸāĻŋ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻŦā§‡āĻ¨

āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻŸāĻŋ āĻŦā§‡āĻļ āĻ¸āĻšāĻœ āĻāĻŦāĻ‚ āĻŦā§‹āĻ§āĻ—āĻŽā§āĻ¯āĨ¤ āĻ¯āĻžāĻ‡āĻšā§‹āĻ•, āĻ…āĻŦāĻļā§āĻ¯āĻ‡, āĻŦāĻžāĻ¸ā§āĻ¤āĻŦ āĻœā§€āĻŦāĻ¨ā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋ āĻŦā§‡āĻļ āĻĻā§€āĻ°ā§āĻ˜ āĻāĻŦāĻ‚ āĻœāĻŸāĻŋāĻ˛ āĻšāĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĨ¤ āĻŦāĻŋāĻ­ā§āĻ°āĻžāĻ¨ā§āĻ¤ āĻšāĻ“āĻ¯āĻŧāĻž āĻāĻŦāĻ‚ āĻ­ā§āĻ˛ āĻ•āĻ°āĻž āĻ¸āĻšāĻœāĨ¤

āĻ…āĻ¤āĻāĻŦ, āĻāĻ•āĻŸāĻŋ āĻ¯ā§ŒāĻ•ā§āĻ¤āĻŋāĻ• āĻ‡āĻšā§āĻ›āĻž āĻĒāĻ°āĻŋāĻĒāĻ•ā§āĻ• āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ - āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛āĻŋāĻ–āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ“āĻ¯āĻŧāĻžāĻ° āĻœāĻ¨ā§āĻ¯āĨ¤ āĻāĻŦāĻ‚ v0.4.0 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡ āĻāĻŸāĻŋ āĻ‰āĻĒāĻ¸ā§āĻĨāĻŋāĻ¤ āĻšāĻ¯āĻŧā§‡āĻ›āĻŋāĻ˛āĨ¤

āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ

āĻ‰āĻĒāĻ°ā§‡āĻ° āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĨā§‡āĻ•ā§‡ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž:

-- @test script1
-- @name script1-test

test = require('test')

local resp = {
    {
        rps = 10
    }
} 

test.datasource('clickhouse.ch1').on('query', 'SELECT sum(requests) AS rps FROM some_table WHERE date = now()').response(resp)

test.alert().assertCalled('error', 'rps-min-limit', 'Requests RPS are very small: 10')
test.alert().assertNotCalled('success', 'rps-min-limit', 'Requests RPS ok')

āĻĒāĻĻāĻ•ā§āĻˇā§‡āĻĒāĻ—ā§āĻ˛āĻŋ:

  • āĻ¯ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ˛ā§‡āĻ–āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡ āĻ¤āĻžāĻ° āĻ¨āĻžāĻŽ āĻ¨āĻŋāĻ°ā§āĻĻā§‡āĻļ āĻ•āĻ°ā§āĻ¨

  • āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻžāĻ° āĻ¨āĻžāĻŽ (āĻ˛āĻ—ā§‡āĻ° āĻœāĻ¨ā§āĻ¯)

  • āĻŸā§‡āĻ¸ā§āĻŸāĻŋāĻ‚ āĻŽāĻĄāĻŋāĻ‰āĻ˛ āĻ¸āĻ‚āĻ¯ā§‹āĻ— āĻ•āĻ°ā§āĻ¨

  • āĻ†āĻŽāĻ°āĻž āĻŦāĻ˛āĻŋ āĻ•ā§āĻ˛āĻŋāĻ•āĻšāĻžāĻ‰āĻ¸ā§‡ āĻāĻ•āĻŸāĻŋ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ•ā§€ āĻĢāĻ˛āĻžāĻĢāĻ˛ āĻĢā§‡āĻ°āĻ¤ āĻĻā§‡āĻ“āĻ¯āĻŧāĻž āĻ‰āĻšāĻŋāĻ¤ ch1

  • āĻ†āĻŽāĻ°āĻž āĻĒāĻ°ā§€āĻ•ā§āĻˇāĻž āĻ•āĻ°āĻŋ āĻ¯ā§‡ āĻ¨āĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āĻŸ āĻŦāĻžāĻ°ā§āĻ¤āĻž āĻ¸āĻš āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž (āĻ¤ā§āĻ°ā§āĻŸāĻŋ) rps-min-limit āĻ•āĻ˛ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧā§‡āĻ›ā§‡

  • āĻšā§‡āĻ• āĻ•āĻ°ā§āĻ¨ āĻ¯ā§‡ rps-min-limit āĻ¸āĻ¤āĻ°ā§āĻ•āĻ¤āĻž āĻ¨āĻŋāĻˇā§āĻ•ā§āĻ°āĻŋāĻ¯āĻŧ āĻ•āĻ°āĻž āĻšāĻ¯āĻŧāĻ¨āĻŋ (āĻ¸āĻĢāĻ˛)

Balerter āĻ†āĻ° āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨?

āĻ†āĻŽāĻŋ āĻ¸āĻŦāĻšā§‡āĻ¯āĻŧā§‡ āĻ—ā§āĻ°ā§āĻ¤ā§āĻŦāĻĒā§‚āĻ°ā§āĻŖ āĻ‰āĻĒāĻ° āĻ¸ā§āĻĒāĻ°ā§āĻļ āĻ•āĻ°āĻžāĻ° āĻšā§‡āĻˇā§āĻŸāĻž āĻ•āĻ°āĻŦ, āĻ†āĻŽāĻžāĻ° āĻŽāĻ¤ā§‡, Balerter āĻĻāĻ•ā§āĻˇāĻ¤āĻž. āĻ†āĻĒāĻ¨āĻŋ āĻ…āĻĢāĻŋāĻ¸āĻŋāĻ¯āĻŧāĻžāĻ˛ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸā§‡ āĻŦāĻŋāĻ¸ā§āĻ¤āĻžāĻ°āĻŋāĻ¤āĻ­āĻžāĻŦā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻĻā§‡āĻ–āĻ¤ā§‡ āĻĒāĻžāĻ°ā§‡āĻ¨ https://balerter.com

  • āĻĨā§‡āĻ•ā§‡ āĻ¤āĻĨā§āĻ¯ āĻ—ā§āĻ°āĻšāĻŖ

    • āĻ•ā§āĻ˛āĻŋāĻ• āĻšāĻžāĻ‰āĻ¸

    • postgres

    • āĻŽāĻžāĻ‡āĻāĻ¸āĻ•āĻŋāĻ‰āĻāĻ˛

    • āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸

    • āĻ˛ā§‹āĻ•āĻŋ

  • āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛āĻ—ā§āĻ˛āĻŋāĻ¤ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻĒāĻžāĻ āĻžāĻ¨

    • āĻĸāĻŋāĻ˛āĻž

    • āĻŸā§‡āĻ˛āĻŋāĻ—ā§āĻ°āĻžāĻŽ

    • syslog- āĻ°

    • āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ (āĻ†āĻĒāĻ¨āĻžāĻ° āĻ•āĻŽā§āĻĒāĻŋāĻ‰āĻŸāĻžāĻ°ā§‡ UI āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ)

    • āĻ‡āĻŽā§‡āĻ‡āĻ˛

    • āĻ…āĻ¨ā§ˆāĻ•ā§āĻ¯

  • āĻ†āĻĒāĻ¨āĻžāĻ° āĻĄā§‡āĻŸāĻžāĻ° āĻ‰āĻĒāĻ° āĻ­āĻŋāĻ¤ā§āĻ¤āĻŋ āĻ•āĻ°ā§‡ āĻ—ā§āĻ°āĻžāĻĢ āĻ¤ā§ˆāĻ°āĻŋ āĻ•āĻ°ā§āĻ¨, S3 āĻ¸āĻžāĻŽāĻžā§āĻœāĻ¸ā§āĻ¯āĻĒā§‚āĻ°ā§āĻŖ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœā§‡ āĻ‡āĻŽā§‡āĻœ āĻ†āĻĒāĻ˛ā§‹āĻĄ āĻ•āĻ°ā§āĻ¨ āĻāĻŦāĻ‚ āĻāĻŸāĻŋāĻ•ā§‡ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋāĻ¤ā§‡ āĻ¸āĻ‚āĻ¯ā§āĻ•ā§āĻ¤ āĻ•āĻ°ā§āĻ¨ (āĻ›āĻŦāĻŋ āĻ¸āĻš āĻ‰āĻĻāĻžāĻšāĻ°āĻŖ)

  • āĻ†āĻĒāĻ¨āĻžāĻ•ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻŽāĻ§ā§āĻ¯ā§‡ āĻĄā§‡āĻŸāĻž āĻŦāĻŋāĻ¨āĻŋāĻŽāĻ¯āĻŧ āĻ•āĻ°āĻ¤ā§‡ āĻĻā§‡āĻ¯āĻŧ - āĻ—ā§āĻ˛ā§‹āĻŦāĻžāĻ˛ āĻ•ā§€/āĻŽāĻžāĻ¨ āĻ¸ā§āĻŸā§‹āĻ°ā§‡āĻœ

  • āĻ˛ā§āĻ¯āĻŧāĻžāĻ¤ā§‡ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¨āĻŋāĻœāĻ¸ā§āĻŦ āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋ āĻ˛āĻŋāĻ–ā§āĻ¨ āĻāĻŦāĻ‚ āĻ¸ā§‡āĻ—ā§āĻ˛āĻŋāĻ•ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§āĻ¨ (āĻĄāĻŋāĻĢāĻ˛ā§āĻŸāĻ°ā§‚āĻĒā§‡, āĻ˛ā§āĻ¯āĻŧāĻž āĻ˛āĻžāĻ‡āĻŦā§āĻ°ā§‡āĻ°āĻŋāĻ—ā§āĻ˛āĻŋ json, csv-āĻāĻ° āĻ¸āĻžāĻĨā§‡ āĻ•āĻžāĻœ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻ°āĻŦāĻ°āĻžāĻš āĻ•āĻ°āĻž āĻšāĻ¯āĻŧ)

  • āĻ†āĻĒāĻ¨āĻžāĻ° āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻĨā§‡āĻ•ā§‡ HTTP āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ āĻĒāĻžāĻ āĻžāĻ¨ (āĻāĻŦāĻ‚ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ āĻĒā§āĻ°āĻ¤āĻŋāĻ•ā§āĻ°āĻŋāĻ¯āĻŧāĻž āĻĒāĻžāĻŦā§‡āĻ¨)

  • āĻāĻ•āĻŸāĻŋ API āĻĒā§āĻ°āĻĻāĻžāĻ¨ āĻ•āĻ°ā§‡ (āĻāĻ–āĻ¨āĻ“ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻĒāĻ›āĻ¨ā§āĻĻ āĻŽāĻ¤ā§‹ āĻ•āĻžāĻ°ā§āĻ¯āĻ•āĻ°ā§€ āĻ¨āĻ¯āĻŧ)

  • āĻĒā§āĻ°āĻŽāĻŋāĻĨāĻŋāĻ‰āĻ¸ āĻĢāĻ°āĻŽā§āĻ¯āĻžāĻŸā§‡ āĻŽā§‡āĻŸā§āĻ°āĻŋāĻ•ā§āĻ¸ āĻ°āĻĒā§āĻ¤āĻžāĻ¨āĻŋ āĻ•āĻ°ā§‡

āĻ†āĻĒāĻ¨āĻŋ āĻ†āĻ° āĻ•āĻŋ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻžāĻ¨?

āĻāĻŸāĻŋ āĻ‡āĻ¤āĻŋāĻŽāĻ§ā§āĻ¯ā§‡āĻ‡ āĻ¸ā§āĻĒāĻˇā§āĻŸ āĻ¯ā§‡ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€āĻ°āĻž āĻāĻŦāĻ‚ āĻ†āĻŽāĻ°āĻž āĻ¸āĻŋāĻ¨āĻŸā§āĻ¯āĻžāĻ•ā§āĻ¸ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ° āĻ•āĻ°ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸāĻ—ā§āĻ˛āĻŋāĻ° āĻ˛āĻžā§āĻš āĻ¨āĻŋāĻ¯āĻŧāĻ¨ā§āĻ¤ā§āĻ°āĻŖ āĻ•āĻ°āĻžāĻ° āĻ•ā§āĻˇāĻŽāĻ¤āĻž āĻšāĻžāĻ‡ā§ˇ āĻœāĻ¨ā§āĻ¯ cron. āĻāĻŸāĻŋ v1.0.0 āĻ¸āĻ‚āĻ¸ā§āĻ•āĻ°āĻŖā§‡āĻ° āĻ†āĻ—ā§‡ āĻ•āĻ°āĻž āĻšāĻŦā§‡

āĻ†āĻŽāĻŋ āĻ†āĻ°āĻ“ āĻĄā§‡āĻŸāĻž āĻ‰āĻ¤ā§āĻ¸ āĻāĻŦāĻ‚ āĻŦāĻŋāĻœā§āĻžāĻĒā§āĻ¤āĻŋ āĻŦāĻŋāĻ¤āĻ°āĻŖ āĻšā§āĻ¯āĻžāĻ¨ā§‡āĻ˛ āĻ¸āĻŽāĻ°ā§āĻĨāĻ¨ āĻ•āĻ°āĻ¤ā§‡ āĻšāĻžāĻ‡ā§ˇ āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻ•ā§‡āĻ‰ āĻ…āĻŦāĻļā§āĻ¯āĻ‡ MongoDB āĻŽāĻŋāĻ¸ āĻ•āĻ°āĻŦā§‡āĨ¤ āĻ•āĻŋāĻ›ā§ āĻœāĻ¨ā§āĻ¯ āĻ‡āĻ˛āĻžāĻ¸ā§āĻŸāĻŋāĻ• āĻ…āĻ¨ā§āĻ¸āĻ¨ā§āĻ§āĻžāĻ¨. āĻāĻ¸āĻāĻŽāĻāĻ¸ āĻĒāĻžāĻ āĻžāĻ¨ āĻāĻŦāĻ‚/āĻ…āĻĨāĻŦāĻž āĻ†āĻĒāĻ¨āĻžāĻ° āĻŽā§‹āĻŦāĻžāĻ‡āĻ˛ āĻĢā§‹āĻ¨ā§‡ āĻ•āĻ˛ āĻ•āĻ°ā§āĻ¨āĨ¤ āĻ†āĻŽāĻ°āĻž āĻļā§āĻ§ā§āĻŽāĻžāĻ¤ā§āĻ° āĻĢāĻžāĻ‡āĻ˛ āĻĨā§‡āĻ•ā§‡ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ—ā§āĻ°āĻšāĻŖ āĻ•āĻ°āĻ¤ā§‡ āĻ¸āĻ•ā§āĻˇāĻŽ āĻšāĻ¤ā§‡ āĻšāĻžāĻ‡, āĻ•āĻŋāĻ¨ā§āĻ¤ā§, āĻ‰āĻĻāĻžāĻšāĻ°āĻŖāĻ¸ā§āĻŦāĻ°ā§‚āĻĒ, āĻāĻ•āĻŸāĻŋ āĻĄāĻžāĻŸāĻžāĻŦā§‡āĻ¸ āĻĨā§‡āĻ•ā§‡. āĻļā§‡āĻˇ āĻĒāĻ°ā§āĻ¯āĻ¨ā§āĻ¤, āĻ†āĻŽāĻ°āĻž āĻāĻ•āĻŸāĻŋ āĻ†āĻ°āĻ“ āĻŦā§āĻ¯āĻŦāĻšāĻžāĻ°āĻ•āĻžāĻ°ā§€-āĻŦāĻžāĻ¨ā§āĻ§āĻŦ āĻ“āĻ¯āĻŧā§‡āĻŦāĻ¸āĻžāĻ‡āĻŸ āĻāĻŦāĻ‚ āĻĒā§āĻ°āĻ•āĻ˛ā§āĻĒā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻ†āĻ°āĻ“ āĻ­āĻžāĻ˛ āĻĄāĻ•ā§āĻŽā§‡āĻ¨ā§āĻŸā§‡āĻļāĻ¨ āĻšāĻžāĻ‡āĨ¤

āĻ•ā§‡āĻ‰ āĻ¸āĻŦāĻ¸āĻŽāĻ¯āĻŧ āĻ•āĻŋāĻ›ā§ āĻŽāĻŋāĻ¸ āĻ•āĻ°āĻ›ā§‡) āĻāĻ–āĻžāĻ¨ā§‡ āĻ†āĻŽāĻ°āĻž āĻ¸āĻ āĻŋāĻ•āĻ­āĻžāĻŦā§‡ āĻ…āĻ—ā§āĻ°āĻžāĻ§āĻŋāĻ•āĻžāĻ° āĻ¸ā§‡āĻŸ āĻ•āĻ°āĻžāĻ° āĻœāĻ¨ā§āĻ¯ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§‡āĻ° āĻ…āĻ¨ā§āĻ°ā§‹āĻ§ā§‡āĻ° āĻ‰āĻĒāĻ° āĻ¨āĻŋāĻ°ā§āĻ­āĻ° āĻ•āĻ°āĻŋāĨ¤ āĻāĻŦāĻ‚ āĻ¸āĻŽā§āĻĒā§āĻ°āĻĻāĻžāĻ¯āĻŧā§‡āĻ° āĻ¸āĻžāĻšāĻžāĻ¯ā§āĻ¯ā§‡ āĻ¸āĻŦāĻ•āĻŋāĻ›ā§ āĻ‰āĻĒāĻ˛āĻŦā§āĻ§āĻŋ āĻ•āĻ°āĻž

āĻ‰āĻĒāĻ¸āĻ‚āĻšāĻžāĻ° āĻ‡āĻ¨

āĻ†āĻŽāĻ°āĻž āĻŦā§āĻ¯āĻžāĻŦāĻšāĻžāĻ° āĻ•āĻ°āĻŋ āĻŦā§āĻ¯āĻžāĻ˛āĻ°ā§āĻŸāĻžāĻ° āĻ†āĻŽāĻŋ āĻāĻ–āĻ¨ āĻŦā§‡āĻļ āĻ•āĻŋāĻ›ā§ āĻ¸āĻŽāĻ¯āĻŧā§‡āĻ° āĻœāĻ¨ā§āĻ¯ āĻāĻŸāĻŋ āĻ›āĻŋāĻ˛ āĻ•āĻ°ā§‡āĻ›āĻŋ. āĻ•āĻ¯āĻŧā§‡āĻ• āĻĄāĻœāĻ¨ āĻ¸ā§āĻ•ā§āĻ°āĻŋāĻĒā§āĻŸ āĻ†āĻŽāĻžāĻĻā§‡āĻ° āĻŽāĻ¨ā§‡āĻ° āĻļāĻžāĻ¨ā§āĻ¤āĻŋ āĻ°āĻ•ā§āĻˇāĻž āĻ•āĻ°ā§‡āĨ¤ āĻ†āĻŽāĻŋ āĻ†āĻļāĻž āĻ•āĻ°āĻŋ āĻāĻ‡ āĻ•āĻžāĻœāĻŸāĻŋ āĻ…āĻ¨ā§āĻ¯ āĻ•āĻžāĻ°ā§‹ āĻ•āĻžāĻœā§‡ āĻ˛āĻžāĻ—āĻŦā§‡āĨ¤

āĻāĻŦāĻ‚ āĻ†āĻĒāĻ¨āĻžāĻ° āĻ‡āĻ¸ā§āĻ¯ā§ āĻāĻŦāĻ‚ āĻĒāĻŋāĻ†āĻ° āĻ¸āĻš āĻ¸ā§āĻŦāĻžāĻ—āĻ¤āĻŽāĨ¤

āĻ‰āĻ¤ā§āĻ¸: www.habr.com

āĻāĻ•āĻŸāĻŋ āĻŽāĻ¨ā§āĻ¤āĻŦā§āĻ¯ āĻœā§āĻĄāĻŧā§āĻ¨