Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

31 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Установка v1 (v1 - До версии с ELK)

Порядок сборки

PS \yii2> docker-compose up

Далее:

docker exec yii2_app composer install

Применение миграции и загрузка тестовых данных

docker exec yii2_app php yii migrate --interactive=0

docker exec yii2_app php yii seed

Установка зависимостей для ELK

docker exec yii2_app composer require yiisoft/yii2-elasticsearch
composer require elasticsearch/elasticsearch:^8.0

Проверка Memcache

(Кэширование на 30 секунд)

http://localhost:8080/index.php?r=cache
image

Обращене по API к списку дел

Отправка в список

PS \yii2\yii2app> curl.exe -X POST http://localhost:8080/index.php?r=api/add-todo -d "text=Купить хлеб"
{"success":true,"task":{"id":1763858311,"text":"Купить хлеб","created_at":"2025-11-23 00:38:31"}}
image

Получение списка всех задач

http://localhost:8080/index.php?r=api/list
[{"id":1763858311,"text":"Купить хлеб","created_at":"2025-11-23 00:38:31"},{"id":1763898846,"text":"заправить машину","created_at":"2025-11-23 11:54:06"}]

Получение конкретной задачи

Создание

PS \yii2\yii2app> curl.exe -X POST http://localhost:8080/index.php?r=api/add-todo -d "text=забрать документы"
{"success":true,"task":{"id":1763902144,"text":"забрать документы","created_at":"2025-11-23 12:49:04"}}

Отображение

http://localhost:8080/index.php?r=api/view&id=1763902144

Найдено по запросу:

{"id":1763902144,"text":"забрать документы","created_at":"2025-11-23 12:49:04"}

Изменение статуса задачи

PS \yii2\yii2app> curl.exe -X POST "http://localhost:8080/index.php?r=api/update-status&id=1763902892" -d "status=completed"

Удаление задачи

PS \yii2\yii2app> curl.exe -X delete "http://localhost:8080/index.php?r=api/delete&id=1763898846"

Коннект с Базой данных (MySQL)

Создание миграции

PS \compose\yii2> docker exec -it yii2_app php yii migrate
Yii Migration Tool (based on Yii v2.0.53)

Creating migration history table "migration"...Done.
No new migrations found. Your system is up-to-date.
PS \compose\yii2> docker exec -it yii2_app php yii migrate/create create_todo_table
Yii Migration Tool (based on Yii v2.0.53)

Create new migration '/app/migrations/m251123_172737_create_todo_table.php'? (yes|no) [no]:y
New migration created successfully.
PS \compose\yii2> docker exec -it yii2_app php yii migrate
Yii Migration Tool (based on Yii v2.0.53)

Total 1 new migration to be applied:
        m251123_172737_create_todo_table

Apply the above migration? (yes|no) [no]:y
*** applying m251123_172737_create_todo_table
    > create table {{%todo}} ... done (time: 0.087s)
*** applied m251123_172737_create_todo_table (time: 0.551s)

Если миграция не создалась (уже есть такая БД):

Остановить и удалить контейнеры

Очистка:

docker-compose down
docker volume rm yii2_mysql_data
docker-compose up -d

Воссоздание в SQL:

CREATE DATABASE IF NOT EXISTS testdb CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;

CREATE USER IF NOT EXISTS 'testuser'@'%' IDENTIFIED BY 'testpass';

GRANT ALL PRIVILEGES ON testdb.* TO 'testuser'@'%';

-- Применить изменения
FLUSH PRIVILEGES;

Сохранение в кэш

Проверка источника полученнных данных

2025-11-23 21:07:57 [172.18.0.1][-][-][info][yii\db\Command::execute] INSERT INTO `todo` (`text`) VALUES ('сгрупировать задачи')
    in /app/controllers/ApiController.php:34

2025-11-23 21:08:01 [172.18.0.1][-][-][info][app\controllers\ApiController::actionList] Cache MISS: loading from DB
    in /app/controllers/ApiController.php:48

2025-11-23 21:08:03 [172.18.0.1][-][-][info][app\controllers\ApiController::actionList] Cache HIT: loaded from cache
    in /app/controllers/ApiController.php:52

Обращение к Search

Отправка в индекс

POST http://localhost:9200/test-index/_doc

Header: Content-Type application/json
Body-raw: 
{
  "message": "Hello from test index",
  "timestamp": "2025-12-05T10:00:00Z",
  "user": {
    "name": "Joana",
    "id": 123
  }
}

Отображеине в Kibana (интрефейс к ElasticSearch)

Поиск: Discover -> Поиск по условию и фильтры

Визуализация: Visualize Library -> [Create new visualization] -> Lens => Отображеиен графиков и соотношений с цифрами

About

RESTful API для управления списком задач с ELK ( Yii2 )

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages