homework 10.1: complete task 2

This commit is contained in:
2022-09-23 09:39:42 +07:00
parent c9168ad6e1
commit baa0cb8ca6
3 changed files with 149 additions and 0 deletions

View File

@@ -73,3 +73,46 @@ vector используется в качестве принимающей то
```
В данном случае считаем ответы `3xx` успешно обработанными.
### Задание 2
> Дополнительное задание
>
> Вы устроились на работу в стартап. На данный момент у вас нет возможности развернуть полноценную систему
> мониторинга, и вы решили самостоятельно написать простой python3-скрипт для сбора основных метрик сервера. Вы, как
> опытный системный-администратор, знаете, что системная информация сервера лежит в директории `/proc`.
> Также, вы знаете, что в системе Linux есть планировщик задач cron, который может запускать задачи по расписанию.
>
> Суммировав все, вы спроектировали приложение, которое:
> - является python3 скриптом
> - собирает метрики из папки `/proc`
> - складывает метрики в файл 'YY-MM-DD-awesome-monitoring.log' в директорию /var/log (YY - год, MM - месяц, DD - день)
> - каждый сбор метрик складывается в виде json-строки, в виде:
>
> ```text
> + timestamp (временная метка, int, unixtimestamp)
> + metric_1 (метрика 1)
> + metric_2 (метрика 2)
>
> ...
>
> + metric_N (метрика N)
> ```
>
> - сбор метрик происходит каждую 1 минуту по cron-расписанию.
> - количество собираемых метрик должно быть не менее 4-х.
>
> Для успешного выполнения задания нужно привести:
> 1. работающий код python3-скрипта
> 2. конфигурацию cron-расписания
> 3. пример верно сформированного 'YY-MM-DD-awesome-monitoring.log', имеющий не менее 5 записей
Пример python-скрипта, который снимает некоторые метрики из файлов директории `/proc`: [monitor.py](./task2/monitor.py).
Конфигурация cron-расписания:
```text
* * * * * monitor.py
```
Пример формируемого файла: [22-09-23-awesome-monitoring.log](./task2/22-09-23-awesome-monitoring.log).