— CIAO проверяет HTTP (S) конечные точки URL на код состояния HTTP (или ошибки в нижнем стеке TCP) и отправляет уведомление об изменении состояния по электронной почте или веб-крючкам.
— Он использует синтаксис Cron, чтобы запланировать чеки и поставляется с веб -интерфейсом и Restful JSON API.
Что в этом документе
- Построить изображение Docker
- Быстрый Начало
- Проверьте результат
🚀 Построить изображение Docker
1. Dockerfile для создания изображения тревога-сиао
Dockerfile
FROM ruby:2.6.5-alpine # for postgres: postgresql-dev RUN apk add --no-cache \ sqlite-dev \ tzdata \ yarn WORKDIR /app ARG RACK_ENV=production ENV RACK_ENV=$RACK_ENV ADD Gemfile* /app/ RUN set -x \ && apk add --no-cache --virtual .build-deps \ build-base \ libxml2-dev \ libxslt-dev \ && gem install bundler \ && bundle install --without development:test --jobs 20 -j"$(nproc)" --retry 3 \ # Remove unneeded files (cached *.gem, *.o, *.c) && rm -rf \ /usr/local/bundle/cache/*.gem \ /usr/local/bundle/gems/**/*.c \ /usr/local/bundle/gems/**/*.o \ && apk del .build-deps COPY package.json yarn.lock /app/ RUN set -x \ && yarn install \ && rm -rf /tmp/* COPY . ./ # The command '/bin/sh -c rake assets:precompile' needs the RAILS_MASTER_KEY to be set!? # https://github.com/rails/rails/issues/32947 # # Added xz-libs (should be only build-dep) because nokogiri needs liblzma.so.5 # during rake tasks (eg. assets-precompile) RUN set -x \ && apk add --no-cache xz-libs \ && SECRET_KEY_BASE=foo bundle exec rake assets:precompile \ # Remove folders not needed in resulting image && rm -rf \ /tmp/* \ app/assets \ lib/assets \ node_modules \ spec \ tmp/cache \ vendor/assets ENV RAILS_LOG_TO_STDOUT=true ENV RAILS_SERVE_STATIC_FILES=true ENV EXECJS_RUNTIME=Disabled EXPOSE 3000 VOLUME /app/db/sqlite CMD ["./start.sh"]
Построить изображение
docker build -t alarm-ciao .
2. Файл с композитом Docker, который устанавливает тревогу в Slack Channel
version: "3" services: ciao: image: alarm-ciao container_name: ciao ports: - '3000:3000' environment: - 'CIAO_WEBHOOK_ENDPOINT_1=https://hooks.slack.com/services/T1111TT1/A11AA1AAAA1/aAAaAAA11AAAa1AaAAAaAAA1' - 'CIAO_WEBHOOK_PAYLOAD_1={"username":"Ciao Check","attachments":[{"fallback":"Required plain-text summary of the attachment.","pretext":"__log_level__","color":"__color__","text":"__time_stamp__","title":"__name__ Status code (__status_after__)","footer":"__url__","footer_icon":"https://miro.medium.com/fit/c/262/262/2*sN7hp_jv8UsChU50y3e6ag.png"}]}' volumes: - /opt/ciao/data:/app/db/sqlite/
- Примечания:
__log_level__, __color__, __name__, __status_after__, __url__, __time_stamp__
будет заменен через код
🚀 Быстрое начало
- Запустите контейнер Docker
docker-compose up -d
- Добавить фальшивый URL и настоящий URL
- Получить тревогу через Slack Channel
Прочитайте больше
- Монитор — Gitlab
- SQLPAD — Быстрый старт с Docker
- Онлайн-CV с Google-Cloud Run
- Gitlab предки проверки филиалов
- Haproxy с резоклерами в случае AWS Application LoadBalancer
- Как установить заголовок http-request в Haproxy
- Как блокировать IP -адреса в Haproxy
- Как бросить роли/пользователя Postgres с привилегиями
- Создайте сервер Ubuntu 20.04 с помощью Vagrant
- Ansible Vault Quick Start
- Создать будильник с помощью Python и Systemd
- 5 минут Travellist-Laravel-Demo
🌠 Блог · Web · LinkedIn · Группа · Страница · Twitter 🌠
Оригинал: «https://dev.to/vumdao/monitor-http-s-url-endpoints-using-ciao-368b»