[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"/ru/kb/how-to/vps/vector-servis-sbora-logovKbData":3},{"page":4,"pages":106,"recommendedPages":107,"category":69,"categoryTree":69,"total":15,"currentOrder":135,"activeManualCategoryId":69,"tag":-1},{"route":5,"uuid":8,"title":9,"excerpt":10,"content":11,"view_count":12,"published_at":13,"modified_at":13,"like":14,"category":17,"hero_image":62,"seo_metadata":63,"schema_org_metadata":67,"open_graph_metadata":70,"sections":71,"tags":95,"breadcrumbs":96,"images":103},{"language":6,"path":7},"ru","/kb/how-to/vps/vector-servis-sbora-logov","e5949f53-6af3-2e17-d21d-57f1970a9ebb","Vector – руководство по установке сервиса для сбора логов","По мере разрастания облачной инфраструктуры увеличивается необходимость отслеживания происходящего в каждой ее части. Одним из источников подобной информации являются логи – они предоставляют необходимые данные о работе приложений и дают основу для анализа различных бизнес-метрик.","\n\u003Cp>По мере разрастания облачной инфраструктуры увеличивается необходимость отслеживания происходящего в каждой ее части. Одним из источников подобной информации являются логи – они предоставляют необходимые данные о работе приложений и дают основу для анализа различных бизнес-метрик. Однако сбор логов проекта может быть крайне трудоемким занятием при большом количестве источников – гораздо удобнее собирать логи различных сервисов в одном месте.\u003C/p>\n\n\n\n\u003Cp>В этом и помогает Vector – платформа для агрегации и организации логов. В данной статье мы расскажем, как установить эту платформу и организовать с Vector сбор логов для дальнейшей обработки.\u003C/p>\n\n\n\n\u003Ch2 id=\"shema-raboty\">Схема работы\u003C/h2>\n\n\n\n\u003Cp>В рамках данной статьи мы рассмотрим, как можно собирать с Вектор логи с двух облачных серверов с приложением (в данном случае на \u003Ca href=\"https://beget.com/ru/cloud/marketplace/docker?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=vector&amp;utm_content=marketplace_docker\">готовом решении Docker\u003C/a>).\u003C/p>\n\n\n\n\u003Cp>Конфигурация серверов:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>Сервер приложения – готовое решение Docker, IP в приватной сети – \u003Ccode>10.16.0.1\u003C/code> и \u003Ccode>10.16.0.2\u003C/code>\u003C/li>\u003Cli>Сервер агрегации – Ubuntu Server, IP в приватной сети – \u003Ccode>10.16.0.3\u003C/code>\u003C/li>\u003C/ul>\n\n\n\n\u003Cp>Схема работы будет следующая:\u003C/p>\n\n\n\n\u003Cul>\u003Cli>Логи собираются с помощью \u003Ccode>vector\u003C/code> в режиме агента на конечных серверах\u003C/li>\u003Cli>Собранные логи отправляются по приватной сети на отдельный сервер с \u003Ccode>vector\u003C/code> в режиме агрегатора для дальнейшей обработки\u003C/li>\u003Cli>Обработанные логи сохраняются в облачное объектное хранилище\u003C/li>\u003C/ul>\n\n\n\n\u003Cp>Перенос обработки и сохранения логов на отдельный сервер позволяет минимизировать дополнительную нагрузку на конечные серверы.\u003C/p>\n\n\n\n\u003Ch2 id=\"ustanovka\">Установка\u003C/h2>\n\n\n\n\u003Cp>Vector может быть установлен как в виде бинарного исполняемого файла, так и в виде контейнера. Рассмотрим оба способа: на серверах приложения установим его в виде контейнера, на сервере-агрегаторе – с помощью менеджера пакетов дистрибутива.\u003C/p>\n\n\n\n\u003Ch3 id=\"servery-prilozheniya\">Серверы приложения\u003C/h3>\n\n\n\n\u003Cp>Создадим директорию под конфигурационные файлы Vector:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>mkdir -p /opt/vector/conf\ncd /opt/vector\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Добавим файл \u003Ccode>compose.yaml\u003C/code>:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;nginx&quot;}\">\u003Ccode>services:\n  vector:\n    image: timberio/vector:0.48.X-distroless-static\n    volumes:\n      - ./conf:/etc/vector\n      - /var/run/docker.sock:/var/run/docker.sock\n    command: [\"-c\", \"/etc/vector/vector.yaml\"]\n    ports: [\"8686:8686\"]\n    container_name: vector\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>В директории \u003Ccode>/opt/vector/conf\u003C/code> создадим файл \u003Ccode>vector.yaml\u003C/code>, в нем укажем конфигурацию Vector. В рамках данной статьи просто укажем сбор всех логов контейнеров и их отправку на сервер агрегации по приватной сети:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;nginx&quot;}\">\u003Ccode>sources:\n  containers:\n    type: docker_logs\nsinks:\n  aggregator:\n    type: vector\n    inputs: \n      - containers\n    address: 10.16.0.3:6000\n    version: \"2\"\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Загрузим образ \u003Ccode>vector\u003C/code> командой:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>docker compose pull\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>После чего запустим контейнер командой:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>docker compose up -d\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch3 id=\"server-agregacii\">Сервер агрегации\u003C/h3>\n\n\n\n\u003Cp>На сервере агрегации рассмотрим установку из репозитория с помощью менеджера пакетов, в данном случае \u003Ccode>apt\u003C/code>.\u003C/p>\n\n\n\n\u003Cp>Для этой задачи загрузим скрипт добавления репозитория:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>curl -L -o repo.sh https://setup.vector.dev\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Затем проверим корректность загруженного файла и добавим репозиторий:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>less repo.sh\nbash repo.sh\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>После успешного добавления репозитория удалим скрипт и установим \u003Ccode>vector\u003C/code>:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>rm repo.sh\napt install vector\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch2 id=\"konfiguraciya-agregatora\">\u003Cstrong>Конфигурация агрегатора\u003C/strong>\u003C/h2>\n\n\n\n\u003Cp>На сервере-агрегаторе нам потребуется настроить сбор логов с других серверов в S3-совместимое хранилище. Для этого в файле \u003Ccode>/etc/vector/vector.yaml\u003C/code> укажем следующие настройки:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;nginx&quot;}\">\u003Ccode>sources:\n  agents:\n    type: vector\n    version: \"2\"\n    address: \"10.16.0.3:6000\"\nsinks:\n  s3_archive:\n    type: \"aws_s3\"\n    bucket: \"bucket-name\"\n    auth:\n      access_key_id: \"access_key_бакета\"\n      secret_access_key: \"secret_key_бакета\"\n    compression: \"gzip\"\n    content_type: \"application/gzip\"\n    endpoint: \"https://s3.ru1.storage.beget.cloud\"\n    region: \"ru1\"\n    key_prefix: \"date=%Y-%m-%d--\"\n    framing:\n      method: \"newline_delimited\"\n    encoding:\n      codec: \"json\"\n    batch:\n      max_bytes: 10000000\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>В данной конфигурации \u003Ccode>vector\u003C/code> будет прослушивать порт 6000 на предмет входящих логов из других инстансов \u003Ccode>vector\u003C/code> и архивировать их в S3-хранилище в сжатом виде.\u003C/p>\n\n\n\n\u003Cp>Для запуска агрегатора выполним команды:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>systemctl enable vector\nsystemctl start vector\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch2 id=\"proverka-raboty\">\u003Cstrong>Проверка работы\u003C/strong>\u003C/h2>\n\n\n\n\u003Cp>На данный момент система сбора логов запущена, однако ей нечего обрабатывать – в нашем случае на серверах с Docker запущены только контейнеры \u003Ccode>vector\u003C/code>. Для проверки работы агрегатора запустим тестовые контейнеры hello-world на серверах с Docker.\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>docker run hello-world\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Cp>Вывод контейнера будет передан агрегатору, а тот, в свою очередь, сохранит лог в объектное хранилище в сжатом виде:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-image image-block\">\u003Cimg src=\"https://cp.beget.com/shared/Im9Wk3TUVkts1ZNxnTvRFheR0Y0gAvwb/image1.png\" alt=\"файлы логов vector\">\u003C/div>\n\n\n\n\u003Cp>В файле лога будут содержаться собранные Vector логи с обоих серверов:\u003C/p>\n\n\n\n\u003Cdiv class=\"wp-block-beget-code code-block\">\u003Cpre data-options=\"{&quot;mode&quot;:&quot;shell&quot;}\">\u003Ccode>{\"container_created_at\":\"2025-08-20T06:12:37.535496666Z\",\"container_id\":\"1e41367c029b04d00e5365a628d4b6a0bf20b55f57b0c9a23eff983505ca4fdb\",\"container_name\":\"inspiring_brahmagupta\",\"host\":\"e407c846511e\",\"image\":\"hello-world\",\"message\":\"\",\"source_type\":\"docker_logs\",\"stream\":\"stdout\",\"timestamp\":\"2025-08-20T06:12:38.954183279Z\"}\n{\"container_created_at\":\"2025-08-20T06:12:37.535496666Z\",\"container_id\":\"1e41367c029b04d00e5365a628d4b6a0bf20b55f57b0c9a23eff983505ca4fdb\",\"container_name\":\"inspiring_brahmagupta\",\"host\":\"e407c846511e\",\"image\":\"hello-world\",\"message\":\"Hello from Docker!\",\"source_type\":\"docker_logs\",\"stream\":\"stdout\",\"timestamp\":\"2025-08-20T06:12:38.954307381Z\"}\n{\"container_created_at\":\"2025-08-20T06:12:37.535496666Z\",\"container_id\":\"1e41367c029b04d00e5365a628d4b6a0bf20b55f57b0c9a23eff983505ca4fdb\",\"container_name\":\"inspiring_brahmagupta\",\"host\":\"e407c846511e\",\"image\":\"hello-world\",\"message\":\"This message shows that your installation appears to be working correctly.\",\"source_type\":\"docker_logs\",\"stream\":\"stdout\",\"timestamp\":\"2025-08-20T06:12:38.954328888Z\"}\n…\n{\"container_created_at\":\"2025-08-20T06:12:38.558644762Z\",\"container_id\":\"fb50713b279b94d06e86079f2e7db0f91fd42773ff9e9da7f5f32b8d30aec632\",\"container_name\":\"zen_dijkstra\",\"host\":\"81fcb2d44535\",\"image\":\"hello-world\",\"message\":\" https://docs.docker.com/get-started/\",\"source_type\":\"docker_logs\",\"stream\":\"stdout\",\"timestamp\":\"2025-08-20T06:12:40.113742206Z\"}\n{\"container_created_at\":\"2025-08-20T06:12:38.558644762Z\",\"container_id\":\"fb50713b279b94d06e86079f2e7db0f91fd42773ff9e9da7f5f32b8d30aec632\",\"container_name\":\"zen_dijkstra\",\"host\":\"81fcb2d44535\",\"image\":\"hello-world\",\"message\":\"\",\"source_type\":\"docker_logs\",\"stream\":\"stdout\",\"timestamp\":\"2025-08-20T06:12:40.113769278Z\"}\u003C/code>\u003C/pre>\u003C/div>\n\n\n\n\u003Ch2 id=\"zaklyuchenie\">\u003Cstrong>Заключение\u003C/strong>\u003C/h2>\n\n\n\n\u003Cp>В данной статье мы рассмотрели процесс сбора и сохранения логов в объектное хранилище, однако функционал Vector позволяет гораздо больше – например, с помощью Vector можно собирать логи в Kubernetes и т. д. Все поддерживаемые источники, преобразования и методы хранения вы можете узнать в\u003Ca href=\"https://vector.dev/docs\"> документации решения\u003C/a>.\u003C/p>\n\n\n\n\u003Cp>Если возникнут вопросы, напишите нам, пожалуйста, тикет из панели управления аккаунта (раздел “\u003Ca href=\"https://cp.beget.com/support?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=vector&amp;utm_content=cp_support_link\">Помощь и поддержка\u003C/a>”), а если вы захотите обсудить эту статью, альтернативы Vector или наши продукты с коллегами по цеху и сотрудниками \u003Ca href=\"https://beget.com/ru/cloud?utm_source=kb&amp;utm_medium=article&amp;utm_campaign=vector&amp;utm_content=site_cloud_link\">платформы для IT-инфраструктуры\u003C/a> Beget – ждем вас в нашем\u003Ca href=\"https://t.me/beget_chat\"> сообществе\u003C/a> в Telegram.\u003C/p>\n",871,"2025-10-17T17:27:13+03:00",{"count":15,"liked":16},0,false,{"route":18,"title":20,"tags":21,"breadcrumbs":54,"uuid":55,"parent_uuid":56,"default_page_path":26,"seo_metadata":57},{"language":6,"path":19},"/kb/how-to/vps","VPS",[22,27,31,35,39,43,47,51],{"id":23,"title":24,"seo_metadata":25},"apache","Apache",{"title":26,"description":26,"header":26,"keywords":26},"",{"id":28,"title":29,"seo_metadata":30},"lets-encrypt","Let's Encrypt",{"title":26,"description":26,"header":26,"keywords":26},{"id":32,"title":33,"seo_metadata":34},"nginx","Nginx",{"title":26,"description":26,"header":26,"keywords":26},{"id":36,"title":37,"seo_metadata":38},"perenos-sajta","Перенос сайта",{"title":26,"description":26,"header":26,"keywords":26},{"id":40,"title":41,"seo_metadata":42},"ssl","SSL",{"title":26,"description":26,"header":26,"keywords":26},{"id":44,"title":45,"seo_metadata":46},"terminal","Терминал",{"title":26,"description":26,"header":26,"keywords":26},{"id":48,"title":49,"seo_metadata":50},"vestacp","VestaCP",{"title":26,"description":26,"header":26,"keywords":26},{"id":52,"title":20,"seo_metadata":53},"vps",{"title":26,"description":26,"header":26,"keywords":26},[],"957abe7d-4a90-1475-bfb0-6439507ed391","fa9a1354-631a-4206-df34-291f0db8f42a",{"title":58,"description":59,"header":60,"keywords":61},"VPS. Полезные статьи – Beget","Полезные статьи о VPS на сайте Beget","VPS. Полезные статьи","vps, вопрос ответ",{"src":26,"text":26},{"title":64,"description":65,"keywords":66},"Vector – установка сервиса сбора логов","Vector – установка и настройка высокопроизводительного сервиса сбора, преобразования и отправки логов | Пошаговая инструкция по запуску сборщика логов","Vector сборщик логов, руководство по установке сервиса вектор",{"faq":68,"how_to":69,"product":69},[],null,{},[72,76,79,83,86,89,92],{"level":73,"name":74,"anchor":75},1,"Схема работы","shema-raboty",{"level":73,"name":77,"anchor":78},"Установка","ustanovka",{"level":80,"name":81,"anchor":82},2,"Серверы приложения","servery-prilozheniya",{"level":80,"name":84,"anchor":85},"Сервер агрегации","server-agregacii",{"level":73,"name":87,"anchor":88},"Конфигурация агрегатора","konfiguraciya-agregatora",{"level":73,"name":90,"anchor":91},"Проверка работы","proverka-raboty",{"level":73,"name":93,"anchor":94},"Заключение","zaklyuchenie",[],[97,101],{"route":98,"title":100},{"language":6,"path":99},"/kb/how-to","Полезные статьи",{"route":102,"title":20},{"language":6,"path":19},[104],{"src":105},"https://cp.beget.com/shared/Im9Wk3TUVkts1ZNxnTvRFheR0Y0gAvwb/image1.png",[],[108,117,126],{"route":109,"uuid":111,"title":112,"excerpt":26,"content":26,"view_count":15,"published_at":26,"modified_at":26,"like":69,"category":69,"hero_image":69,"seo_metadata":69,"schema_org_metadata":69,"open_graph_metadata":69,"sections":113,"tags":114,"breadcrumbs":115,"images":116},{"language":6,"path":110},"/kb/how-to/vps/perenos-sajta-c-virtualnogo-hostinga-na-vps-c-pomoshhyu-vesta","f97f0bb7-d3ab-758c-a3fb-60717db50474","Перенос сайта c виртуального хостинга на VPS c помощью Vesta",[],[],[],[],{"route":118,"uuid":120,"title":121,"excerpt":26,"content":26,"view_count":15,"published_at":26,"modified_at":26,"like":69,"category":69,"hero_image":69,"seo_metadata":69,"schema_org_metadata":69,"open_graph_metadata":69,"sections":122,"tags":123,"breadcrumbs":124,"images":125},{"language":6,"path":119},"/kb/how-to/vps/razvertyvanie-django-s-pomoshchyu-nginx-postgresql-i-gunicorn","be5461a6-c6dc-f8a8-7403-cd6d475de1fb","Развертывание Django на сервере с помощью Nginx, PostgreSQL и Gunicorn",[],[],[],[],{"route":127,"uuid":129,"title":130,"excerpt":26,"content":26,"view_count":15,"published_at":26,"modified_at":26,"like":69,"category":69,"hero_image":69,"seo_metadata":69,"schema_org_metadata":69,"open_graph_metadata":69,"sections":131,"tags":132,"breadcrumbs":133,"images":134},{"language":6,"path":128},"/kb/how-to/vps/kak-nastroit-logirovanie-i-rotacziyu-logov-nginx-na-ubuntu","2be9c1bb-f185-f2b1-ce6e-c5eda66a91e4","Как настроить логирование и ротацию логов Nginx на Ubuntu",[],[],[],[],"popularity-desc"]