--- title: Gatus - просто мониторинг description: published: true date: 2024-08-08T14:54:22.568Z tags: мониторинг, gatus editor: markdown dateCreated: 2024-08-08T14:47:57.868Z --- У меня было очень много заметок про различные мониторинги. Кажется, что я уже про всё более-менее полезное что-то да писал. Оказалось, что нет. Расскажу про очередной небольшой и удобный мониторинг, который позволяет очень просто и быстро создать дашборд с зелёными и красными кнопками. Если зелёные, то всё ОК, если красные, то НЕ ОК. Речь пойдёт про Gatus (https://github.com/TwiN/gatus). С его помощью очень удобно создавать Status Page. Сразу покажу, как это будет выглядеть: ⇨ [https://status.twin.sh](https://status.twin.sh) И сразу же простой пример, как это настраивается. Там всё максимально просто и быстро. Мы будем проверять следующие условия: ◽️Подключение к сайту [zabbix.com](https://zabbix.com) проходит успешно, а его IP равен 188.114.99.224. Так как этот домен резолвится в разные IP, можно будет увидеть, как срабатывает проверка. ◽️Сайт [github.com](https://github.com) отдаёт код 200 при подключении и содержит заголовок страницы GitHub: Let’s build from here · GitHub. ◽️Сайт ya.ru отдаёт код 200 и имеет отклик менее 10 мс. На практике он будет больше, посмотрим, как срабатывает триггер. По этой проверке будет уведомление в Telegram. ◽️Домен [vk.com](https://vk.com) имеет сертификат со сроком истечения не менее 48 часов и делегирование домена не менее 720 часов. Специально подобрал разнообразные примеры, чтобы вы оценили возможности мониторинга. Я просто открыл документацию и сходу по ней всё сделал. Всё очень просто и понятно, особо разбираться не пришлось. Создаём конфигурационный файл для этих проверок: ```bash mkdir gatus && cd gatus touch config.yaml ``` ```yaml alerting: telegram: token: "1393668911:AAHtEAKqxUH7ZpyX28R-wxKfvH1WR6-vdNw" id: "210806260" endpoints: - name: Zabbix Connection url: "https://zabbix.com" interval: 30s conditions: - "[CONNECTED] == true" - "[IP] == 188.114.99.224" - name: Github Title url: "https://github.com" interval: 30s conditions: - "[STATUS] == 200" - "[BODY] == pat(*