diff --git a/10-01.md b/10-01.md index 0210c25..66db72e 100644 --- a/10-01.md +++ b/10-01.md @@ -1,70 +1 @@ -# Домашнее задание к занятию "10.1. Keepalived/vrrp" -** - - Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.1 Keepalived/vrrp - Александр Александров" - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - ---- - -### Задание 1. - -Требуется развернуть топологию из лекции и выполнить установку и настройку сервиса Keepalived. - -``` -vrrp_instance test { - -state "name_mode" - -interface "name_interface" - -virtual_router_id "number id" - -priority "number priority" - -advert_int "number advert" - -authentication { - -auth_type "auth type" - -auth_pass "password" - -} - -unicast_peer { - -"ip address host" - -} - -virtual_ipaddress { - -"ip address host" dev "interface" label "interface":vip - -} - -} - -``` - -*Пришлите скриншот рабочей конфигурации и состояния сервиса для каждого нода.* - -## Дополнительные задания (со звездочкой*) - -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - -### Задание 2*. - -Проведите тестирование работы ноды, когда один из интерфейсов выключен. Для этого: -- добавьте еще одну виртуальную машину и включите ее в сеть; -- на машине установите wireshark и запустите процесс прослеживания интерфейса; -- запустите процесс ping на виртуальный хост; -- выключите интерфейс на одной ноде (мастер), остановите wireshark; -- найдите пакеты ICMP, в которых будет отображён процесс изменения MAC адреса одной ноды на другой. - - *Пришлите скриншот до и после выключения интерфейса из Wireshark.* +# Домашнее задание к занятию 10.1 «Keepalived/vrrp» ** Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.1 Keepalived/vrrp — Александр Александров» Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ### Задание 1 Разверните топологию из лекции и выполните установку и настройку сервиса Keepalived. ``` vrrp_instance test { state "name_mode" interface "name_interface" virtual_router_id "number id" priority "number priority" advert_int "number advert" authentication { auth_type "auth type" auth_pass "password" } unicast_peer { "ip address host" } virtual_ipaddress { "ip address host" dev "interface" label "interface":vip } } ``` *Пришлите скриншот рабочей конфигурации и состояния сервиса для каждого нода.* ## Дополнительные задания со звёздочкой* Эти задания дополнительные. Их можно не выполнять. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале. ### Задание 2* Проведите тестирование работы ноды, когда один из интерфейсов выключен. Для этого: - добавьте ещё одну виртуальную машину и включите её в сеть; - на машине установите Wireshark и запустите процесс прослеживания интерфейса; - запустите процесс ping на виртуальный хост; - выключите интерфейс на одной ноде (мастер), остановите Wireshark; - найдите пакеты ICMP, в которых будет отображён процесс изменения MAC-адреса одной ноды на другой. *Пришлите скриншот до и после выключения интерфейса из Wireshark.* \ No newline at end of file diff --git a/10-02.md b/10-02.md index e1b94b3..1ea8e2c 100644 --- a/10-02.md +++ b/10-02.md @@ -1,70 +1 @@ -# Домашнее задание к занятию "10.2 Кластеризация" -** - -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.2 Кластеризация- Александр Александров" - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - ---- - -### Задание 1. - -В чем различие между SMP и MPP системами? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 2. - -В чем отличие сильно связанных и слабо связанных систем? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 3. - -Какие преимущества отличают кластерные системы от обычных серверов? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 4. - -Приведите примеры типов современных кластерных систем? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 5. - -Где использует сервис Kafka, rabitMQ? - -*Приведите ответ в свободной форме.* - ---- - -## Дополнительные задания (со звездочкой*) -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - ---- - -### Задание 6*. - -Исследуйте построение кластера на основе rabbitMQ https://github.com/ypereirareis/docker-rabbitmq-ha-cluster. -Используя docker-compose? соберите инфраструктуру. Исследуйте ее работы. - -Ответьте на следующие вопросы: - -- на каких компонетах развернут кластер? -- назначение компонентов кластера? -- какие тесты можно провести для анализа работы кластера? - -*Приведите в пример скришоты работающей системы и ответы на вопросы.* +# Домашнее задание к занятию 10.2 «Кластеризация» ** Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.2 Кластеризация — Александр Александров» Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ### Задание 1 В чём различие между SMP- и MPP-системами? *Приведите ответ в свободной форме.* --- ### Задание 2 В чём отличие сильно связанных и слабо связанных систем? *Приведите ответ в свободной форме.* --- ### Задание 3 Какие преимущества отличают кластерные системы от обычных серверов? *Приведите ответ в свободной форме.* --- ### Задание 4 Приведите примеры типов современных кластерных систем. *Приведите ответ в свободной форме.* --- ### Задание 5 Где используют сервис Kafka, rabitMQ? *Приведите ответ в свободной форме.* --- ## Задания со звёздочкой* Эти задания дополнительные. Их можно не выполнять. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале. --- ### Задание 6* Исследуйте построение кластера на основе rabbitMQ: https://github.com/ypereirareis/docker-rabbitmq-ha-cluster. Используя docker-compose, соберите инфраструктуру. Исследуйте её работы. Ответьте на вопросы. - На каких компонетах развёрнут кластер? - Назначение компонентов кластера. - Какие тесты можно провести для анализа работы кластера? *Приведите в пример скриншоты работающей системы и ответы на вопросы.* \ No newline at end of file diff --git a/10-03.md b/10-03.md index 4cad94a..4f2d263 100644 --- a/10-03.md +++ b/10-03.md @@ -1,46 +1 @@ -# Домашнее задание к занятию "10.3 Pacemaker" - -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.3 Pacemaker - Александр Александров" - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - ---- - -### Задание 1. - -Опишите основные функции и назначение Pacemaker. - -*Приведите ответ в свободной форме.* - ---- - -### Задание 2. - -Опишите основные функции и назначение Corosync. - -*Приведите ответ в свободной форме.* - ---- - -### Задание 3. - -Соберите модель, состоящую из двух виртуальных машин. Установите pacemaker, corosync, pcs. Настройте HA кластер. - -*Пришлите скриншот рабочей конфигурации и состояния сервиса для каждого нода.* - ---- - -### Дополнительные задания (со звездочкой*) -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - ---- - -### Задание 4. - -Установите и настройте DRBD сервис для настроенного кластера. - -*Пришлите скриншот рабочей конфигурации и состояние сервиса для каждого нода.* +# Домашнее задание к занятию 10.3 «Pacemaker» Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.3 Pacemaker — Александр Александров» Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ### Задание 1 Опишите основные функции и назначение Pacemaker. *Приведите ответ в свободной форме.* --- ### Задание 2 Опишите основные функции и назначение Corosync. *Приведите ответ в свободной форме.* --- ### Задание 3 Соберите модель, состоящую из двух виртуальных машин. Установите Pacemaker, Corosync, Pcs. Настройте HA кластер. *Пришлите скриншот рабочей конфигурации и состояния сервиса для каждого нода.* --- ### Задания со звёздочкой* Эти задания дополнительные. Выполнять их не обязательно. Это не повлияет на зачёт. Вы можете их выполнить, если хотите глубже разобраться в материале. --- ### Задание 4 Установите и настройте DRBD-сервис для настроенного кластера. *Пришлите скриншот рабочей конфигурации и состояние сервиса для каждого нода.* \ No newline at end of file diff --git a/10-04.md b/10-04.md index 60bb220..2cce5f6 100644 --- a/10-04.md +++ b/10-04.md @@ -1,50 +1 @@ -# Домашнее задание к занятию "10.4 Резервное копирование" - -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.4 Резервное копирование - Александр Александров" - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - ---- - -### Задание 1. - -В чем отличие между: - -- полное резервное копирование, -- дифференциальное резервное копирование, -- инкрементное резервное копирование. - -*Приведите ответ в свободной форме.* - ---- - -### Задание 2. - -Установите программное обеспечении Bacula, настройте bacula-dir, bacula-sd, bacula-fd. Протестируйте работу сервисов (трех сервисов). - -*Пришлите скриншот рабочей конфигурации.* - ---- - -### Задание 3. - -Установите программное обеспечении rsync. Настройте синхронизацию на двух нодах. Протестируйте работу сервиса. - -*Пришлите скриншот рабочей конфигурации.* - ---- - -### Дополнительные задания (со звездочкой*) -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - ---- - -### Задание 4*. - -Настройте резервное копирование двумя (или более) методами, используя одну из рассмотренных команд для папки /etc/default. Проверьте резервное копирование. - -*Пришлите скриншот рабочей конфигурации результат выполнения.* +# Домашнее задание к занятию 10.4 «Резервное копирование» Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.4 Резервное копирование — Александр Александров» Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ### Задание 1 В чём разница между: - полным резервным копированием, - дифференциальным резервным копированием, - инкрементным резервным копированием. *Приведите ответ в свободной форме.* --- ### Задание 2 Установите программное обеспечении Bacula, настройте bacula-dir, bacula-sd, bacula-fd. Протестируйте работу сервисов. *Пришлите конфигурационные файлы для bacula-dir, bacula-sd, bacula-fd.* --- ### Задание 3 Установите программное обеспечении Rsync. Настройте синхронизацию на двух нодах. Протестируйте работу сервиса. *Пришлите рабочую конфигурацию сервера и клиента Rsync.* --- ### Задание со звёздочкой* Это задание дополнительное. Его можно не выполнять. На зачёт это не повлияет. Вы можете его выполнить, если хотите глубже разобраться в материале. --- ### Задание 4* Настройте резервное копирование двумя или более методами, используя одну из рассмотренных команд для папки /etc/default. Проверьте резервное копирование. *Пришлите рабочую конфигурацию выбранного сервиса по поставленной задаче.* \ No newline at end of file diff --git a/10-05.md b/10-05.md index 46da656..55d6838 100644 --- a/10-05.md +++ b/10-05.md @@ -1,75 +1 @@ -# Домашнее задание к занятию "10.5 Балансировка нагрузки. HAProxy/Nginx." - -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.5 Балансировка нагрузки. HAProxy/Nginx - Александр Александров". - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - ---- - -### Задание 1. - -Что такое балансировка нагрузки и зачем она нужна? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 2. - -Чем отличаются между собой алгоритмы балансировки round robin и weighted round robin? В каких случаях каждый из них лучше применять? - -*Приведите ответ в свободной форме.* - ---- - -### Задание 3. - -Установите и запустите haproxy. - -*Приведите скриншот systemctl status haproxy, где будет видно, что haproxy запущен* - ---- - -### Задание 4. - -Установите и запустите nginx. - -*Приведите скриншот systemctl status nginx, где будет видно, что nginx запущен* - ---- - -### Задание 5. - -Настройте nginx на виртуальной машине таким образом, чтобы при запросе: - -`curl http://localhost:8088/ping` - -он возвращал в ответе строчку: - -"nginx is configured correctly" - -*Приведите скриншот получившейся конфигурации* - ---- - -## Дополнительные задания (со звездочкой*) - -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - ---- - -### Задание 6*. - -Настройте haproxy таким образом, чтобы при ответе на запрос: - -`curl http://localhost:8080/` - -он проксировал его в nginx на порту 8088, который был настроен в задании 5 и возвращал от него ответ: - -"nginx is configured correctly". - -*Приведите скриншот получившейся конфигурации* +# Домашнее задание к занятию 10.5 «Балансировка нагрузки. HAProxy/Nginx» Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.5 Балансировка нагрузки. HAProxy/Nginx — Александр Александров». Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ### Задание 1 Что такое балансировка нагрузки и зачем она нужна? *Приведите ответ в свободной форме.* --- ### Задание 2 Чем отличаются алгоритмы балансировки Round Robin и Weighted Round Robin? В каких случаях каждый из них лучше применять? *Приведите ответ в свободной форме.* --- ### Задание 3 Установите и запустите Haproxy. *Приведите скриншот systemctl status haproxy, где будет видно, что Haproxy запущен.* --- ### Задание 4 Установите и запустите Nginx. *Приведите скриншот systemctl status nginx, где будет видно, что Nginx запущен.* --- ### Задание 5 Настройте Nginx на виртуальной машине таким образом, чтобы при запросе: `curl http://localhost:8088/ping` он возвращал в ответе строчку: "nginx is configured correctly". *Приведите конфигурации настроенного Nginx сервиса и скриншот результата выполнения команды curl http://localhost:8088/ping.* --- ## Задания со звёздочкой* Эти задания дополнительные. Их выполнять не обязательно. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале. --- ### Задание 6* Настройте Haproxy таким образом, чтобы при ответе на запрос: `curl http://localhost:8080/` он проксировал его в Nginx на порту 8088, который был настроен в задании 5 и возвращал от него ответ: "nginx is configured correctly". *Приведите конфигурации настроенного Haproxy и скриншоты результата выполнения команды curl http://localhost:8080/.* \ No newline at end of file diff --git a/10-06.md b/10-06.md index 4d158d7..b8d7574 100644 --- a/10-06.md +++ b/10-06.md @@ -1,50 +1,52 @@ -# Домашнее задание к занятию "10.6 Disaster recovery" +# Домашнее задание к занятию 10.6 «Disaster recovery» Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.6 Disaster recovery - Александр Александров". +Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.6 Disaster recovery — Александр Александров». -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- -### Задание 1. +### Задание 1 -В чем разница между DRaaS, BaaS, Active-Active, Active-Passive? +В чём разница между DRaaS, BaaS, Active-Active, Active-Passive? *Приведите ответ в свободной форме.* --- -### Задание 2. +### Задание 2 -Компании необходимо составить план восстановления в случае Disaster recovery. Сервер состоит из системного диска и диска с данными. +Компании нужно составить план восстановления в случае Disaster recovery. Сервер состоит из системного диска и диска с данными. Требуется копировать два логических диска на один физический: -- системный диск (C:) (20 гигабайт), +- системный диск (C:) (20 гигабайт); - диск с данными (D:) (256 гигабайт). В требованиях говорится: -- Данные критичны в течение 24 часов после аварии. -- Сеть критична к большим потокам данных в рабочее время. -- Рабочее время с 9.00 до 18.00, пять дней (понедельник – пятница). -- План резервирования должен быть реализован для диска C и для диска D. (В случае Linux систем /dev/sda1, /dev/sda4 или /dev/sdb1 данные). -- Считается, что для этой задачи может быть: 1) поставлен второй сервер или 2) выбрана облачная инфраструктура с определенной услугой. -- Компания готова платить за 10 терабайт места, как в одном, так и в другом случае. +- данные критичны в течение 24 часов после аварии; +- сеть критична к большим потокам данных в рабочее время; +- рабочее время с 9.00 до 18.00, пять дней (понедельник – пятница); +- план резервирования должен быть реализован для диска C и для диска D. В случае Linux-систем /dev/sda1, /dev/sda4 или /dev/sdb1-данные; +- считается, что для этой задачи может быть: 1) поставлен второй сервер или 2) выбрана облачная инфраструктура с определённой услугой; +- компания готова платить за 10 терабайт места как в одном, так и в другом случае. -*Приведите ответ в форме плана востановления с выбранным механизмой и получившийся топологией.* +*Приведите ответ в форме плана восcтановления с выбранным механизмом и получившейся топологией.* --- -# Дополнительные задания (со звездочкой*) +# Задания со звёздочкой* -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. +Эти задания дополнительные. Их выполнять не обязательно. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале. -### Задание 3*. +### Задание 3* -Используя программу r-sync, составете конфигурацию для выполнения прошлой задачи. +Используя программу R-sync, составьте конфигурацию для выполнения прошлой задачи. *Пришлите файл конфигурации.* + + diff --git a/10-07.md b/10-07.md index 19c4ac6..49dd529 100644 --- a/10-07.md +++ b/10-07.md @@ -1,70 +1 @@ -# Домашнее задание к занятию "10.7 Отказоустойчивость в облаке" -**Домашнее задание выполните в [Google Docs](https://docs.google.com/) и отправьте в личном кабинете на проверку ссылку на ваш документ.** - -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "10.7 Отказоустойчивость в облаке — Александр Александров" - -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. - -Любые вопросы по решению задач задавайте в чате учебной группы. - - --- - -## Задание 1 - -Возьмите за основу [Задание 1 из модуля 7.3 Подъем инфраструктуры в Яндекс.Облаке](https://github.com/netology-code/sdvps-homeworks/blob/main/7-03.md#задание-1) - -Теперь вместо одной виртуальной машины сделайте terraform playbook, который: - -1) Создаст 2 идентичные виртуальные машины. Используйте аргумент [count](https://www.terraform.io/docs/language/meta-arguments/count.html) для создания таких ресурсов. -2) Создаст [Таргет группу](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_target_group). Поместите в нее созданные на шаге 1 виртуальные машины. -3) Создаст [Сетевой балансировщик нагрузки](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_network_load_balancer). Который слушает на порту 80, отправляет трафик на порт 80 виртуальных машин и http healthcheck на порт 80 виртуальных машин. - -Рекомендуею почитать [документацию сетевого балансировщика](https://cloud.yandex.ru/docs/network-load-balancer/quickstart) нагрузки для того, чтобы было понятно, что вы сделали. - -Далее установите на созданные виртуальные машины пакет nginx любым удобным способом и запустите nginx web сервер на порту 80. - -Далее перейдите в веб консоль Yandex.Cloud - убедитесь, что: - -1) Созданный балансировщик находится в статусе Active, -2) Обе виртуальные машины в целевой группе находятся в состоянии healthy. - -Сделайте запрос на 80 порт на внешний IP адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы nginx. - -*В качестве результата Домашней работы пришлите:* - -*1) Terraform Playbook.* - -*2) Скришнот статуса балансировщика и целевой группы.* - -*3) Скриншот страницы, которая открылась при запросе IP адреса балансировщика.* - ---- - -## Дополнительные задания (со звездочкой*) -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. - ---- - -## Задание 2* - -Теперь, вместо создания виртуальных машин, создайте [Группу виртуальных машин с балансировщиком нагрузки](https://cloud.yandex.ru/docs/compute/operations/instance-groups/create-with-balancer). - -Nginx необходимо будет поставить тоже автоматизированно. Для этого вам надо будет подложить файл установки nginx в user-data ключ [метадаты](https://cloud.yandex.ru/docs/compute/concepts/vm-metadata) виртуальной машины. - -- [Пример файла установки nginx](https://github.com/nar3k/yc-public-tasks/blob/master/terraform/metadata.yaml) -- [Как подставлять файл в метадату виртуальной машины](https://github.com/nar3k/yc-public-tasks/blob/a6c50a5e1d82f27e6d7f3897972adb872299f14a/terraform/main.tf#L38) - -Далее перейдите в веб консоль Yandex.Cloud,убедитесь, что: - -1) Созданный балансировщик находится в статусе Active, -2) Обе виртуальные машины в целевой группе находятся в состоянии healthy. - -Сделайте запрос на 80 порт на внешний IP адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы nginx. - -*В качестве результата Домашней работы пришлите* - -*1) Terraform Playbook.* - -*2) Скришнот статуса балансировщика и целевой группы.* - -*3) Скриншот страницы, которая открылась при запросе IP адреса балансировщика.* +# Домашнее задание к занятию 10.7 «Отказоустойчивость в облаке» **Домашнее задание выполните в [Google Docs](https://docs.google.com/) и отправьте в личном кабинете на проверку ссылку на ваш документ.** Название файла должно содержать номер лекции и фамилию студента. Пример названия: «10.7 Отказоустойчивость в облаке — Александр Александров» Перед тем как выслать ссылку, убедитесь, что её содержимое не приватно, т. е. открыто на просмотр всем, у кого есть ссылка. Если нужно прикрепить дополнительные ссылки, просто добавьте их в Google Docs. Любые вопросы по решению задач задавайте в чате учебной группы. --- ## Задание 1 Возьмите за основу [задание 1 из модуля 7.3 «Подъём инфраструктуры в Яндекс Облаке»](https://github.com/netology-code/sdvps-homeworks/blob/main/7-03.md#задание-1). Теперь вместо одной виртуальной машины сделайте terraform playbook, который: - создаст 2 идентичные виртуальные машины. Используйте аргумент [count](https://www.terraform.io/docs/language/meta-arguments/count.html) для создания таких ресурсов; - создаст [таргет-группу](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_target_group). Поместите в неё созданные на шаге 1 виртуальные машины; - создаст [сетевой балансировщик нагрузки](https://registry.terraform.io/providers/yandex-cloud/yandex/latest/docs/resources/lb_network_load_balancer), который слушает на порту 80, отправляет трафик на порт 80 виртуальных машин и http healthcheck на порт 80 виртуальных машин. Рекомендую почитать [документацию сетевого балансировщика](https://cloud.yandex.ru/docs/network-load-balancer/quickstart) нагрузки для того, чтобы было понятно, что вы сделали. Далее установите на созданные виртуальные машины пакет Nginx любым удобным способом и запустите Nginx веб-сервер на порту 80. Далее перейдите в веб-консоль Yandex Cloud и убедитесь, что: - созданный балансировщик находится в статусе Active, - обе виртуальные машины в целевой группе находятся в состоянии healthy. Сделайте запрос на 80 порт на внешний IP-адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы Nginx. *В качестве результата пришлите:* *1. Terraform Playbook.* *2. Скриншот статуса балансировщика и целевой группы.* *3. Скриншот страницы, которая открылась при запросе IP-адреса балансировщика.* --- ## Задания со звёздочкой* Эти задания дополнительные. Выполнять их не обязательно. На зачёт это не повлияет. Вы можете их выполнить, если хотите глубже разобраться в материале. --- ## Задание 2* Теперь, вместо создания виртуальных машин, создайте [группу виртуальных машин с балансировщиком нагрузки](https://cloud.yandex.ru/docs/compute/operations/instance-groups/create-with-balancer). Nginx нужно будет поставить тоже автоматизированно. Для этого вам нужно будет подложить файл установки Nginx в user-data-ключ [метадаты](https://cloud.yandex.ru/docs/compute/concepts/vm-metadata) виртуальной машины. - [Пример файла установки Nginx](https://github.com/nar3k/yc-public-tasks/blob/master/terraform/metadata.yaml). - [Как подставлять файл в метадату виртуальной машины.](https://github.com/nar3k/yc-public-tasks/blob/a6c50a5e1d82f27e6d7f3897972adb872299f14a/terraform/main.tf#L38) Далее перейдите в веб-консоль Yandex Cloud и убедитесь, что: - созданный балансировщик находится в статусе Active, - обе виртуальные машины в целевой группе находятся в состоянии healthy. Сделайте запрос на 80 порт на внешний IP-адрес балансировщика и убедитесь, что вы получаете ответ в виде дефолтной страницы Nginx. *В качестве результата пришлите* *1. Terraform Playbook.* *2. Скриншот статуса балансировщика и целевой группы.* *3. Скриншот страницы, которая открылась при запросе IP-адреса балансировщика.* \ No newline at end of file diff --git a/9-01.md b/9-01.md index 5c2ebcf..a8ce14d 100644 --- a/9-01.md +++ b/9-01.md @@ -1,51 +1,82 @@ -# Домашнее задание к занятию "9.1. Системы мониторинга " +# Домашнее задание к занятию «Обзор систем IT-мониторинга» -** +В практике есть основное и дополнительное (со звездочкой) задания. Первое нужно выполнять обязательно, второе - по желанию и его решение никак не повлияет на получение вами зачета по этому домашнему заданию, при этом вы сможете глубже и/или шире разобраться в материале. -**Домашнее задание выполните в [Google Docs](https://docs.google.com/) и отправьте в личном кабинете на проверку ссылку на ваш документ.** +Пожалуйста, присылайте на проверку всю задачу сразу. Любые вопросы по решению задач задавайте в чате учебной группы. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "9.1. Системы мониторинга - Александр Александров" +### Цели задания +1. Научиться запускать мониторинг ИТ-системы через Yandex Monitoring +2. Научиться настраивать уведомления о событиях в процессе мониторинга через e-mail -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +### Чеклист готовности к домашнему заданию +- [ ] Просмотрите в личном кабинете занятие "Обзор систем ИТ-мониторинга" -Любые вопросы по решению задач задавайте в чате учебной группы. - - --- - -### Задание 1. - -Какие преимущества и недостатки реактивного и проактивного мониторинга? - -*Приведите ответ в свободной форме.* +### Инструкция по выполнению домашнего задания +1. Сделайте fork [репозитория c шаблоном решения](https://github.com/netology-code/sys-pattern-homework) к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/gitlab-hw или https://github.com/имя-вашего-репозитория/8-03-hw). +2. Выполните клонирование этого репозитория к себе на ПК с помощью команды `git clone`. +3. Выполните домашнее задание и заполните у себя локально этот файл README.md: + - впишите вверху название занятия и ваши фамилию и имя; + - в каждом задании добавьте решение в требуемом виде: текст/код/скриншоты/ссылка; + - для корректного добавления скриншотов воспользуйтесь инструкцией [«Как вставить скриншот в шаблон с решением»](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md); + - при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md). +4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`). +5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. +6. Любые вопросы задавайте в чате учебной группы и/или в разделе «Вопросы по заданию» в личном кабинете. --- - -### Задание 2. - -Какие метрики необходимо мониторить у веб-страницы, чтобы знать о ее доступности и функциональности? - -*Приведите ответ в свободной форме.* + +### Задание 1 + +Создайте виртуальную машину в Yandex Compute Cloud и с помощью Yandex Monitoring создайте дашборд, на котором будет видно загрузку процессора. + +#### Процесс выполнения +1. В окне браузера откройте облачную платформу Yandex Cloud +2. Перейдите в раздел "Все сервисы" > "Инфраструктура и сеть" > "Compute Cloud" +3. Нажмите на синюю кнопку "Создать ВМ" в правом верхнем углу окна браузера +4. Задайте имя виртуальной машины. Используйте английские буквы и цифры. +5. Выберите операционную систему Debian 11 +6. Установите объём HDD равный 3ГБ +7. Выберите платформу Intel Ice Lake +8. Установите количество vCPU равное 2 +9. Установите гарантированную долю vCPU равную 20% +10. Задайте количество RAM равное 1ГБ +11. Поставьте галочку "Прерываемая" +12. В разделе "Доступ" выберите сервисный аккаунт с ролью monitoring.editor. Если такого аккаунта нету, нажмите на кнопку "Создать новый". Задайте имя аккаунта английскими буквами, напротив надписи "Роли в каталоге" нажмите на знак "плюс". Прокручивая колесо мыши на себя, найдите роль monitoring.editor и нажмите на неё левой кнопкой мыши. Теперь вы сможете найти только что созданную роль в выпадающем списке аккаунтов. +13. Задайте логин учётной записи вашей виртуальной машины +14. Вставьте публичный SHH-ключ в поле SSH-ключ. Если этого ключа у вас нету, создайте его с помощью утилиты PuTTYgen +15. Поставьте галочку "Установить" в пункте "Агент сбора метрик" +16. Нажмите на синюю кнопку "Создать ВМ" +17. Перейдите в раздел "Все сервисы" > "Инфраструктура и сеть" > "Monitoring" +18. Нажмите на кнопку "Создать дашборд", расположенную в разделе "Возможности сервиса" > "Дашборды" +19. В открывшемся окне в разделе "Добавить виджет" нажмите на "График" +20. Пред вам предстанет конструктор запросов, выберите "Запрос А" +21. В параметре service конструктора запросов выберите Compute Cloud +22. В появившемся параметре name конструктора запросов выберите cpu_utilization +23. Поправьте диапазон времени отрисовки графика нажав на кнопку "Сейчас" в верху экрана, левее кнопок 3m, 1h, 1d, 1w, "Отменить". +24. Нажмите на кнопку "Сохранить" в правом верхнем углу экрана +25. Задайте имя дашборда, если появится окно ввода имени дашборда +26. Сделайте скриншот + +#### Требования к результату +* прикрепите в файл README.md скриншот вашего дашборда в Yandex Monitoring с мониторингом загрузки процессора виртуальной машины --- -### Задание 3. - -С помощью Yandex Monitoring создайте дашборд, на котором видны основные метрики сетевого подключения вашей виртуальной машины. +### Задание 2 со звёздочкой* +*Это дополнительное задание. Его можно не выполнять. Это не повлияет на зачёт. Вы можете его выполнить, если хотите глубже разобраться в материале.* -*Приложите скриншоты.* +С помощью Yandex Monitoring сделайте 2 алерта на загрузку процессора: WARN и ALARM. Создайте уведомление по e-mail. ---- - -## Дополнительные задания (со звездочкой*) -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. +#### Требования к результату +* прикрепите в файл README.md скриншот уведомления в Yandex Monitoring ---- +## Критерии оценки -### Задание 4*. +1. Выполнено минимум обязательное задание +2. Прикреплен (ы) скриншот(ы) +3. Задание оформлено в шаблоне с решением и опубликовано на GitHub -С помощью Yandex Monitoring сделайте 2 алерта на загрузку процессора: WARN и ALARM. И создайте уведомление по e-mail. -*Приложите скриншот с уведомлением.* diff --git a/9-02.md b/9-02.md index 75dcdc8..76f6d17 100644 --- a/9-02.md +++ b/9-02.md @@ -1,48 +1,77 @@ -# Домашнее задание к занятию "9.2. Zabbix" +# Домашнее задание к занятию «Система мониторинга Zabbix» -** +В практике есть 2 основных и 1 дополнительное (со звездочкой) задания. Первые два нужно выполнять обязательно, третье - по желанию и его решение никак не повлияет на получение вами зачета по этому домашнему заданию, при этом вы сможете глубже и/или шире разобраться в материале. -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. +Пожалуйста, присылайте на проверку всю задачу сразу. Любые вопросы по решению задач задавайте в чате учебной группы. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "9.2. Zabbix - Александр Александров" +### Цели задания +1. Научиться устанавливать Zabbix Server c веб-интерфейсом +2. Научиться устанавливать Zabbix Agent на хосты +3. Научиться устанавливать Zabbix Agent на компьютер и подключать его к серверу Zabbix -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +### Чеклист готовности к домашнему заданию +- [ ] Просмотрите в личном кабинете занятие "Система мониторинга Zabbix" -Любые вопросы по решению задач задавайте в чате учебной группы. +### Инструкция по выполнению домашнего задания ---- - -### Задание 1. - -Чем Zabbix может помочь в решении ваших задач? - -*Приведите ответ в свободной форме.* +1. Сделайте fork [репозитория c шаблоном решения](https://github.com/netology-code/sys-pattern-homework) к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/gitlab-hw или https://github.com/имя-вашего-репозитория/8-03-hw). +2. Выполните клонирование этого репозитория к себе на ПК с помощью команды `git clone`. +3. Выполните домашнее задание и заполните у себя локально этот файл README.md: + - впишите вверху название занятия и ваши фамилию и имя; + - в каждом задании добавьте решение в требуемом виде: текст/код/скриншоты/ссылка; + - для корректного добавления скриншотов воспользуйтесь инструкцией [«Как вставить скриншот в шаблон с решением»](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md); + - при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md). +4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`). +5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. +6. Любые вопросы задавайте в чате учебной группы и/или в разделе «Вопросы по заданию» в личном кабинете. --- -### Задание 2. +### Задание 1 Установите Zabbix Server с веб-интерфейсом. -*Приложите скриншот авторизации в админке* +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. Установите PostgreSQL. Для установки достаточна та версия что есть в системном репозитороии Debian 11 +3. Пользуясь конфигуратором комманд с официального сайта, составьте набор команд для установки последней версии Zabbix с поддержкой PostgreSQL и Apache +4. Выполните все необходимые команды для установки Zabbix Server и Zabbix Web Server + +#### Требования к результаты +1. Прикрепите в файл README.md скриншот авторизации в админке +2. Приложите в файл README.md текст использованных команд в GitHub --- -### Задание 3. +### Задание 2 Установите Zabbix Agent на два хоста. -*Приложите скриншот раздела Configuration > Hosts, где видно, что агенты подключены к серверу.* -*Приложите скриншот лога zabbix agent, где видно, что он работает с сервером.* -*Приложите скриншот раздела Monitoring > Latest data для обоих хостов, где видны поступающие от агентов данные.* +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. Установите Zabbix Agent на 2 виртмашины, одной из них может быть ваш Zabbix Server +3. Добавьте Zabbix Server в список разрешенных серверов ваших Zabbix Agentов +4. Добавьте Zabbix Agentов в раздел Configuration > Hosts вашего Zabbix Servera +5. Проверьте что в разделе Latest Data начали появляться данные с добавленных агентов + +#### Требования к результаты +1. Приложите в файл README.md скриншот раздела Configuration > Hosts, где видно, что агенты подключены к серверу +2. Приложите в файл README.md скриншот лога zabbix agent, где видно, что он работает с сервером +3. Приложите в файл README.md скриншот раздела Monitoring > Latest data для обоих хостов, где видны поступающие от агентов данные. +4. Приложите в файл README.md текст использованных команд в GitHub --- -## Дополнительные задания (со звездочкой*) +## Задание 3 со звёздочкой* +Установите Zabbix Agent на Windows (компьютер) и подключите его к серверу Zabbix. + +#### Требования к результаты +1. Приложите в файл README.md скриншот раздела Latest Data, где видно свободное место на диске C: +--- -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. +## Критерии оценки -### Задание 4*. +1. Выполнено минимум 2 обязательных задания +2. Прикреплены требуемые скриншоты и тексты +3. Задание оформлено в шаблоне с решением и опубликовано на GitHub -Установите Zabbix Agent на Windows компьютер и подключите его к серверу Zabbix. -*Приложите скриншот раздела Latest Data, где видно свободное место на диске C:* diff --git a/9-03.md b/9-03.md index c102c99..ffd944d 100644 --- a/9-03.md +++ b/9-03.md @@ -1,59 +1,142 @@ -# Домашнее задание к занятию "9.3. Zabbix ч.2" -** +# Домашнее задание к занятию «Система мониторинга Zabbix. Часть 2» -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. +В практике есть 4 основных и 5 дополнительных (со звездочкой) заданий. Основные задания нужно выполнять обязательно, со звездочкой - по желанию и его решение никак не повлияет на получение вами зачета по этому домашнему заданию, при этом вы сможете глубже и/или шире разобраться в материале. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "9.3. Zabbix ч.2 - Александр Александров" +Пожалуйста, присылайте на проверку все задачи сразу. Любые вопросы по решению задавайте в чате учебной группы. -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +### Цели задания +1. Научитья создавать свои шаблоны в Zabbix, добавлять в Zabbix хосты и связывать шаблон с хостами +2. Научиться составлять кастомный дашборд +3. Научиться создавать UserParameter на Bash +4. Научиться создавать Python-скрип, добавляться в него UserParameter и прикреплять к шаблону +5. Научиться создавать Vagrant-скрипты для Zabbix Agent -Любые вопросы по решению задач задавайте в чате учебной группы. +### Чеклист готовности к домашнему заданию +- [ ] Просмотрите в личном кабинете занятие "Система мониторинга Zabbix. Часть 2" ---- +### Инструкция по выполнению домашнего задания -### Задание 1. +1. Сделайте fork [репозитория c шаблоном решения](https://github.com/netology-code/sys-pattern-homework) к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/gitlab-hw или https://github.com/имя-вашего-репозитория/8-03-hw). +2. Выполните клонирование этого репозитория к себе на ПК с помощью команды `git clone`. +3. Выполните домашнее задание и заполните у себя локально этот файл README.md: + - впишите вверху название занятия и ваши фамилию и имя; + - в каждом задании добавьте решение в требуемом виде: текст/код/скриншоты/ссылка; + - для корректного добавления скриншотов воспользуйтесь инструкцией [«Как вставить скриншот в шаблон с решением»](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md); + - при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md). +4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`). +5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. +6. Любые вопросы задавайте в чате учебной группы и/или в разделе «Вопросы по заданию» в личном кабинете. -Создайте свой шаблон, в котором будут элементы данных, мониторящие закгрузку CPU и RAM хоста. + --- -*Приведите скриншот вкладки Items вашего шаблона.* +### Задание 1 +Создайте свой шаблон, в котором будут элементы данных, мониторящие загрузку CPU и RAM хоста. ---- +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. В веб-интерфейсе Zabbix Servera в разделе Templates создайте новый шаблон +3. Создайте Item который будет собирать информацию об загрузке CPU в процентах +4. Создайте Item который будет собирать информацию об загрузке RAM в процентах -### Задание 2. +#### Требования к результату +- [ ] Прикрепите в файл README.md скриншот страницы шаблона с названием «Задание 1» -Привяжите созданный вами шаблон к хосту. + --- -*Приведите скриншот вкладки Items хоста, к которому прикреплён шаблон.* +### Задание 2 +Добавьте в Zabbix два хоста и задайте им имена <фамилия и инициалы-1> и <фамилия и инициалы-2>. Например: ivanovii-1 и ivanovii-2. ---- +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. Установите Zabbix Agent на 2 виртмашины, одной из них может быть ваш Zabbix Server +3. Добавьте Zabbix Server в список разрешенных серверов ваших Zabbix Agentов +4. Добавьте Zabbix Agentов в раздел Configuration > Hosts вашего Zabbix Servera +5. Прикрепите за каждым хостом шаблон Linux by Zabbix Agent +6. Проверьте что в разделе Latest Data начали появляться данные с добавленных агентов -### Задание 3. +#### Требования к результату +- [ ] Результат данного задания сдавайте вместе с заданием 3 -Создайте UserParameter, который будет возвращать в ответ на обращение вашу фамилию и инициалы, независимо от того, что ему отправлено на вход. Прикрепите его к хосту. + --- -*Приложите скриншот раздела Latest data, где виден результат возвращаемый вашим UserParameter.* +### Задание 3 +Привяжите созданный шаблон к двум хостам. Также привяжите к обоим хостам шаблон Linux by Zabbix Agent. ---- -## Дополнительные задания (со звездочкой*) +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. Зайдите в настройки каждого хоста и в разделе Templates прикрепите к этому хосту ваш шаблон +3. Так же к каждому хосту привяжите шаблон Linux by Zabbix Agent +4. Проверьте что в раздел Latest Data начали поступать необходимые данные из вашего шаблона -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. +#### Требования к результату +- [ ] Прикрепите в файл README.md скриншот страницы хостов, где будут видны привязки шаблонов с названиями «Задание 2-3». Хосты должны иметь зелёный статус подключения ---- + --- -### Задание 4*. +### Задание 4 +Создайте свой кастомный дашборд. -Создайте свой UserParameter. Он должен вызывать какой-нибудь скрипт, который: +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. В разделе Dashboards создайте новый дашборд +3. Разместите на нём несколько графиков на ваше усмотрение. +#### Требования к результату +- [ ] Прикрепите в файл README.md скриншот дашборда с названием «Задание 4» + + --- + +### Задание 5* со звёздочкой +Создайте карту и расположите на ней два своих хоста. + +#### Процесс выполнения +1. Настройте между хостами линк. +2. Привяжите к линку триггер, связанный с agent.ping одного из хостов, и установите индикатором сработавшего триггера красную пунктирную линию. +3. Выключите хост, чей триггер добавлен в линк. Дождитесь срабатывания триггера. + +#### Требования к результату +- [ ] Прикрепите в файл README.md скриншот карты, где видно, что триггер сработал, с названием «Задание 5» + + --- + +### Задание 6* со звёздочкой +Создайте UserParameter на bash и прикрепите его к созданному вами ранее шаблону. Он должен вызывать скрипт, который: - при получении 1 будет возвращать ваши ФИО, -- при получении 2, будет возвращать текущую дату. +- при получении 2 будет возвращать текущую дату. + +#### Требования к результату +- [ ] Прикрепите в файл README.md код скрипта, а также скриншот Latest data с результатом работы скрипта на bash, чтобы был виден результат работы скрипта при отправке в него 1 и 2 + + --- + +### Задание 7* со звёздочкой +Доработайте Python-скрипт из лекции, создайте для него UserParameter и прикрепите его к созданному вами ранее шаблону. +Скрипт должен: +- при получении 1 возвращать ваши ФИО, +- при получении 2 возвращать текущую дату, +- делать всё, что делал скрипт из лекции. + +- [ ] Прикрепите в файл README.md код скрипта в Git. Приложите в Git скриншот Latest data с результатом работы скрипта на Python, чтобы были видны результаты работы скрипта при отправке в него 1, 2, -ping, а также -simple_print.* + + --- + +### Задание 8* со звёздочкой + +Настройте автообнаружение и прикрепление к хостам созданного вами ранее шаблона. + +#### Требования к результату +- [ ] Прикрепите в файл README.md скриншот правила обнаружения, а также скриншот страницы Discover, где видны оба хоста.* + + --- -*Приложите код скрипта.* -*Приложите скриншот Latest data с результатом работы скрипта.* +### Задание 9* со звёздочкой ---- +Доработайте скрипты Vagrant для 2-х агентов, чтобы они были готовы к автообнаружению сервером, а также имели на борту разработанные вами ранее параметры пользователей. -### Задание 5*. +- [ ] Приложите в GitHub файлы Vagrantfile и zabbix-agent.sh.* -Создайте свой кастомный Screen. +## Критерии оценки -*Приложите скриншот вашего Screen, где виден результат работы скрипта из задания 4 + графики.* +1. Выполнено минимум 4 обязательных задания +2. Прикреплены требуемые скриншоты, код и файлы +3. Задание оформлено в шаблоне с решением и опубликовано на GitHub diff --git a/9-04.md b/9-04.md index 47d1c32..b2939da 100644 --- a/9-04.md +++ b/9-04.md @@ -1,56 +1,98 @@ -# Домашнее задание к занятию "9.4. Prometheus" -** +# Домашнее задание к занятию «Система мониторинга Prometheus» -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. +В практике есть 3 основных и 2 дополнительных (со звездочкой) заданий. Основные задания нужно выполнять обязательно, со звездочкой - по желанию и его решение никак не повлияет на получение вами зачета по этому домашнему заданию, при этом вы сможете глубже и/или шире разобраться в материале. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "9.4. Prometheus - Александр Александров" +Пожалуйста, присылайте на проверку все задачи сразу. Любые вопросы по решению задавайте в чате учебной группы. -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +### Цели задания +1. Научиться устанавливать Prometheus +2. Научиться устанавливать Node Exporter +3. Научиться подключать Node Exporter к серверу Prometheus +4. Научиться устанавливать Grafana и интегрировать с Prometheus -Любые вопросы по решению задач задавайте в чате учебной группы. +### Чеклист готовности к домашнему заданию +- [ ] Просмотрите в личном кабинете занятие "Система мониторинга Prometheus" ---- +### Инструкция по выполнению домашнего задания + +1. Сделайте fork [репозитория c шаблоном решения](https://github.com/netology-code/sys-pattern-homework) к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/gitlab-hw или https://github.com/имя-вашего-репозитория/8-03-hw). +2. Выполните клонирование этого репозитория к себе на ПК с помощью команды `git clone`. +3. Выполните домашнее задание и заполните у себя локально этот файл README.md: + - впишите вверху название занятия и ваши фамилию и имя; + - в каждом задании добавьте решение в требуемом виде: текст/код/скриншоты/ссылка; + - для корректного добавления скриншотов воспользуйтесь инструкцией [«Как вставить скриншот в шаблон с решением»](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md); + - при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md). +4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`). +5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. +6. Любые вопросы задавайте в чате учебной группы и/или в разделе «Вопросы по заданию» в личном кабинете. -### Задание 1. +--- +### Задание 1 Установите Prometheus. -*Приведите скриншот systemctl status prometheus, где будет написано prometheus.service - Prometheus Service Netology Lesson 9.4 - [Ваши ФИО]* +#### Процесс выполнения +1. Выполняя задание, сверяйтесь с процессом, отражённым в записи лекции +2. Создайте пользователя prometheus +3. Скачайте prometheus и в соответствии с лекцией разместите файлы в целевые директории +4. Создайте сервис как показано на уроке +5. Проверьте что prometheus запускается, останавливается, перезапускается и отображает статус с помощью systemctl ---- +#### Требования к результату +- [ ] Прикрепите к файлу README.md скриншот systemctl status prometheus, где будет написано: prometheus.service — Prometheus Service Netology Lesson 9.4 — [Ваши ФИО] -### Задание 2. +--- +### Задание 2 Установите Node Exporter. -*Приведите скриншот systemctl status node-exporter, где будет написано node-exporter.service - Node Exporter Netology Lesson 9.4 - [Ваши ФИО]* +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +3. Скачайте node exporter приведённый в презентации и в соответствии с лекцией разместите файлы в целевые директории +4. Создайте сервис для как показано на уроке +5. Проверьте что node exporter запускается, останавливается, перезапускается и отображает статус с помощью systemctl ---- +#### Требования к результату +- [ ] Прикрепите к файлу README.md скриншот systemctl status node-exporter, где будет написано: node-exporter.service — Node Exporter Netology Lesson 9.4 — [Ваши ФИО] -### Задание 3. +--- +### Задание 3 Подключите Node Exporter к серверу Prometheus. -*Приложите скриншот конфига из интерфейса Prometheus вкладки Status > Configuration* -*Приложите скриншот из интерфейса Prometheus вкладки Status > Targets, чтобы было видно минимум два эндпоинта* +#### Процесс выполнения +1. Выполняя ДЗ сверяйтесь с процессом отражённым в записи лекции. +2. Отредактируйте prometheus.yaml, добавив в массив таргетов установленный в задании 2 node exporter +3. Перезапустите prometheus +4. Проверьте что он запустился ---- -## Дополнительные задания (со звездочкой*) - -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. +#### Требования к результату +- [ ] Прикрепите к файлу README.md скриншот конфигурации из интерфейса Prometheus вкладки Status > Configuration +- [ ] Прикрепите к файлу README.md скриншот из интерфейса Prometheus вкладки Status > Targets, чтобы было видно минимум два эндпоинта --- +## Дополнительные задания со звёздочкой* +Эти задания дополнительные. Их можно не выполнять. Это не повлияет на зачёт. Вы можете их выполнить, если хотите глубже разобраться в материале. -### Задание 4*. +--- +### Задание 4* Установите Grafana. -*Приложите скриншот левого нижнего угла интерфейса, чтобы при наведении на иконку пользователя были видны ваши ФИО* +#### Требования к результату +- [ ] Прикрепите к файлу README.md скриншот левого нижнего угла интерфейса, чтобы при наведении на иконку пользователя были видны ваши ФИО --- -### Задание 5*. - +### Задание 5* Интегрируйте Grafana и Prometheus. -*Приложите скриншот дашборда (ID:11074) с поступающими туда данными из Node Exporter* +#### Требования к результату +- [ ] Прикрепите к файлу README.md скриншот дашборда (ID:11074) с поступающими туда данными из Node Exporter + +## Критерии оценки +1. Выполнено минимум 3 обязательных задания +2. Прикреплены требуемые скриншоты +3. Задание оформлено в шаблоне с решением и опубликовано на GitHub + + diff --git a/9-05.md b/9-05.md index 0b9b7b2..14eacb9 100644 --- a/9-05.md +++ b/9-05.md @@ -1,52 +1,66 @@ -# Домашнее задание к занятию "9.5. Prometheus ч.2" -** +# Домашнее задание к занятию «Prometheus. Часть 2» -Домашнее задание выполните в Google Docs и отправьте в личном кабинете на проверку ссылку на ваш документ. +В практике есть 3 основных и 1 дополнительное (со звездочкой) задания. Основные задания нужно выполнять обязательно, со звездочкой - по желанию и его решение никак не повлияет на получение вами зачета по этому домашнему заданию, при этом вы сможете глубже и/или шире разобраться в материале. -Название файла должно содержать номер лекции и фамилию студента. Пример названия: "9.5. Prometheus ч.2 - Александр Александров" +Пожалуйста, присылайте на проверку все задачи сразу. Любые вопросы по решению задавайте в чате учебной группы. -Перед тем как выслать ссылку, убедитесь, что ее содержимое не является приватным (открыто на просмотр всем, у кого есть ссылка). Если необходимо прикрепить дополнительные ссылки, просто добавьте их в свой Google Docs. +### Цели задания +1. Научитья настраивать оповещения в Prometheus +2. Научиться устанавливать Alertmanager и интегрировать его с Prometheus +3. Научиться активировать экспортёр метрик в Docker и подключать его к Prometheus. +4. Научиться создавать дашборд Grafana -Любые вопросы по решению задач задавайте в чате учебной группы. +### Чеклист готовности к домашнему заданию +- [ ] Просмотрите в личном кабинете занятие "Система мониторинга Prometheus. Часть 2" ---- +### Инструкция по выполнению домашнего задания -### Задание 1. +1. Сделайте fork [репозитория c шаблоном решения](https://github.com/netology-code/sys-pattern-homework) к себе в Github и переименуйте его по названию или номеру занятия, например, https://github.com/имя-вашего-репозитория/gitlab-hw или https://github.com/имя-вашего-репозитория/8-03-hw). +2. Выполните клонирование этого репозитория к себе на ПК с помощью команды `git clone`. +3. Выполните домашнее задание и заполните у себя локально этот файл README.md: + - впишите вверху название занятия и ваши фамилию и имя; + - в каждом задании добавьте решение в требуемом виде: текст/код/скриншоты/ссылка; + - для корректного добавления скриншотов воспользуйтесь инструкцией [«Как вставить скриншот в шаблон с решением»](https://github.com/netology-code/sys-pattern-homework/blob/main/screen-instruction.md); + - при оформлении используйте возможности языка разметки md. Коротко об этом можно посмотреть в [инструкции по MarkDown](https://github.com/netology-code/sys-pattern-homework/blob/main/md-instruction.md). +4. После завершения работы над домашним заданием сделайте коммит (`git commit -m "comment"`) и отправьте его на Github (`git push origin`). +5. Для проверки домашнего задания преподавателем в личном кабинете прикрепите и отправьте ссылку на решение в виде md-файла в вашем Github. +6. Любые вопросы задавайте в чате учебной группы и/или в разделе «Вопросы по заданию» в личном кабинете. +--- +### Задание 1 Создайте файл с правилом оповещения, как в лекции, и добавьте его в конфиг Prometheus. -*Погасите node exporter, стоящий на мониторинге, и прикрепите скриншот раздела оповещений Prometheus, где оповещение будет в статусе Pending.* +### Требования к результату +- [ ] Погасите node exporter, стоящий на мониторинге, и прикрепите скриншот раздела оповещений Prometheus, где оповещение будет в статусе Pending --- -### Задание 2. - +### Задание 2 Установите Alertmanager и интегрируйте его с Prometheus. - -*Прикрепите скриншот Alerts из Prometheus, где правило оповещение будет в статусе Fireing, и скриншот из Alertmanager, где будет видно действующее правило оповещения.* - +### Требования к результату +- [ ] Прикрепите скриншот Alerts из Prometheus, где правило оповещения будет в статусе Fireing, и скриншот из Alertmanager, где будет видно действующее правило оповещения --- -### Задание 3. - -Активируйте экспортер метрик в Docker и подключите его к Prometheus. +### Задание 3 +Активируйте экспортёр метрик в Docker и подключите его к Prometheus. -*Приложите скриншот браузера с открытым эндпоинтом, а также скриншот списка таргетов из интерфейса Prometheus.* - +### Требования к результату +- [ ] приложите скриншот браузера с открытым эндпоинтом, а также скриншот списка таргетов из интерфейса Prometheus.* --- -## Дополнительные задания (со звездочкой*) - -Эти задания дополнительные (не обязательные к выполнению) и никак не повлияют на получение вами зачета по этому домашнему заданию. Вы можете их выполнить, если хотите глубже и/или шире разобраться в материале. ---- - -### Задание 4*. +### Задание 4* со звездочкой Создайте свой дашборд Grafana с различными метриками Docker и сервера, на котором он стоит. -*Приложите скриншот на котором будет дашборд Grafana с действующей метрикой.* +### Требования к результату +- [ ] Приложите скриншот, на котором будет дашборд Grafana с действующей метрикой + +## Критерии оценки +1. Выполнено минимум 3 обязательных задания +2. Прикреплены требуемые скриншоты +3. Задание оформлено в шаблоне с решением и опубликовано на GitHub diff --git a/README.md b/README.md index 7e32286..79271c2 100644 --- a/README.md +++ b/README.md @@ -2,37 +2,38 @@ В этом репозитории расположены ваши домашние задания к каждой лекции. -Обязательными к выполнению являются задачи без указания звездочки. Их выполнение необходимо для получения зачета и диплома о профессиональной переподготовке. +Обязательны к выполнению задачи без звездочек. Их нужно выполнить, чтобы получить зачёт. -Задачи со звездочкой (*) являются дополнительными задачами и/или задачами повышенной сложности. Они не являются обязательными к выполнению, но помогут вам глубже понять тему. +Задачи со звёздочкой (*) — дополнительные задачи и/или задачи повышенной сложности. Их выполнять не обязательно, но они помогут вам глубже понять тему. -Любые вопросы по решению задач задавайте в чате учебной группы (ссылку вы найдете в письме на вашей эл. почте). +Любые вопросы по решению задач задавайте в чате учебной группы. Ссылку вы найдёте в письме на вашей электронной почте. -## Модуль 9. Мониторинг +## Модуль «Мониторинг» -9.1. [Системы мониторинга](https://github.com/netology-code/srlb-homework/blob/main/9-01.md) +1. [Обзор систем ИТ-мониторинга](9-01.md) -9.2. [Zabbix](https://github.com/netology-code/srlb-homework/blob/main/9-02.md) +2. [Система мониторинга Zabbix](9-02.md) -9.3. [Zabbix. Часть 2](https://github.com/netology-code/srlb-homework/blob/main/9-03.md) +3. [Система мониторинга Zabbix. Часть 2](9-03.md) -9.4. [Prometheus](https://github.com/netology-code/srlb-homework/blob/main/9-04.md) +4. [Система мониторинга Prometheus](9-04.md) -9.5. [Prometheus. Часть 2](https://github.com/netology-code/srlb-homework/blob/main/9-05.md) +5. [Система мониторинга Prometheus. Часть 2](9-05.md) -## Модуль 10. Отказоустойчивость +## Модуль 10. «Отказоустойчивость» -10.1. [Keepalived/vrrp](https://github.com/netology-code/srlb-homework/blob/main/10-01.md) +1. [Keepalived/vrrp](10-01.md) -10.2. [Кластеризация](https://github.com/netology-code/srlb-homework/blob/main/10-02.md) +2. [Кластеризация](10-02.md) -10.3. [Pacemaker](https://github.com/netology-code/srlb-homework/blob/main/10-03.md) +3. [Pacemaker](10-03.md) -10.4. [Резервное копирование. Bacula](https://github.com/netology-code/srlb-homework/blob/main/10-04.md) +4. [Резервное копирование. Bacula](10-04.md) -10.5. [Балансировка нагрузки. HAProxy/Nginx](https://github.com/netology-code/srlb-homework/blob/main/10-05.md) +5. [Балансировка нагрузки. HAProxy/Nginx](10-05.md) -10.6. [Disaster recovery](https://github.com/netology-code/srlb-homework/blob/main/10-06.md) +6. [Disaster recovery](10-06.md) + +7. [Отказоустойчивость в облаке](10-07.md) -10.7. [Отказоустойчивость в облаке](https://github.com/netology-code/srlb-homework/blob/main/10-07.md)