Установка ThousandEyes Enterprise Agent через CLI Catalyst 9000
-
[Резюме и требования.]
[1. Загрузите образ Docker.]
[2. Установите контейнер Docker.]
[2.1 Включите инфраструктуру IOx на коммутаторе.]
[2.2 Установите приложение с флэш-памяти.]
[2.3 Проверьте установку.]
[3. Настройте контейнер Docker.]
[3.1 Подготовьте VLAN.]
[3.1.A (Необязательно) Настройка Stackwise.]
[3.2 Настройте интерфейсы коммутатора.]
[3.3 Настройка ThousandEyes.]
[Настройка с помощью DHCP IP]
[3.4 Настройка параметров Docker Run.]
[(Необязательно) Для нескольких интерфейсов]
[3.5 Активируйте и запустите.]
[4. Проверьте, что контейнер Docker работает.]
[4.1 Проверка сведений о Docker.]
[4.2 Проверка состояния агента.]
[5. (Необязательно) Изменение контейнера Docker.]
[5.1 Остановите приложение.]
[5.2 Деактивируйте приложение.]
[5.3 Изменение и выход.]
[5.4 Повторная активация приложения.]
[5.5 Запустите приложение и подтвердите.]
[6. Подробная информация о настройках брандмауэра (изображение).]
[7. Устранение неполадок агентов.]
[Чтобы проверить, работает ли приложение:]
[Чтобы подключиться к кластеру и проверить журналы:]
[Чтобы проверить использование ресурсов приложения:]
[Чтобы проверить подключение из командной строки IOSXE (при необходимости учитывайте VRF):]
[Чтобы перезапустить контейнер из командной строки IOSXE:]
[Чтобы полностью отсоединить агент от группы учетных записей после изменения токена:]
[Заключение и ресурсы.]
[Дополнительные ресурсы и документация] Резюме и требования.
В этой статье представлен обзор шагов по установке агента ThousandEyes Enterprise Agent на поддерживаемом коммутаторе Cisco с помощью интерфейса командной строки. В этом руководстве показано, как установить агент через порты на передней панели.
В приведенных ниже шагах рассматриваются следующие сценарии:- Автономный коммутатор или коммутаторы StackWise.
- Один или несколько интерфейсов для трафика агента.
Ниже приведена краткая таблица требований. Более подробные требования к установке Enterprise Agents на коммутаторах Cisco Catalyst серии 9000 можно найти в нашей
документации по коммутаторам Catalyst.
Catalyst 9300
Catalyst 9400
Методы установки
Docker
Docker
Поддерживаемые типы тестов
Все
Все
Требования к оборудованию
Для запуска тестов браузера требуется SSD
SSD требуется для запуска тестов браузера
Требования к ОС
Все тесты
: IOS-XE 17.3.1 и более поздние версии
Все тесты
: IOS-XE 17.6.1 и более поздние версии
Тесты без использования браузера
: IOS-XE 17.6.1 и более поздние версии
Тесты без использования браузера
: IOS-XE 17.6.1 или более поздней версии
Требования к управлению
DNA Center 2.2.2.3 или более поздней версии
DNA Center 2.2.2.3 или выше
Права
22 единицы на одну лицензию DNA
22 единицы на одну лицензию DNA
Сеть
Действительная VLAN с доступом в Интернет, которая будет использоваться для мониторинга трафика
Действительная VLAN с доступом в Интернет, которая будет использоваться для мониторинга трафика
Примечание: для развертывания агента в StackWise мы устанавливаем агент в основном коммутаторе, необходимо настроить алгоритм выбора роли 1+1 вместо N+1, а в резервном коммутаторе должно быть доступно не менее 4 ГБ флэш-памяти.
Примечание: для развертывания агента в StackWise мы устанавливаем агент в основном коммутаторе, необходимо настроить алгоритм выбора роли 1+1 вместо N+1, а в резервном коммутаторе должно быть не менее 4 ГБ флэш-памяти.
Примечание
. Для развертывания агента в StackWise мы устанавливаем агент в основном коммутаторе, необходимо настроить алгоритм выбора роли 1+1 вместо N+1, а в резервном коммутаторе должно быть не менее 4 ГБ флэш-памяти.
- Загрузите образ Docker.
Загрузите образ Docker с панели управления ThousandEyes и скопируйте его на коммутатор Cisco с помощью SCP, FTP, TFTP или USB-накопителя.
Чтобы загрузить образ, перейдите в
раздел «Network & App Synthetics»
>
«Agent Settings
» >
«Add New Enterprise Agent».
![Alex1.png]
После нажатия
Add New Enterprise Agent
откроется боковое меню, перейдите в
Cisco Application Hosting
>
Download – TAR
![ahernan4_1-1765920814424.png]
Используйте SCP, FTP, TFTP или USB-накопитель, чтобы скопировать подписанный образ Docker в каталог bootflash коммутатора.
copy ftp://thousandeyes@X.X.X.X/thousandeyes-enterprise-agent-x86_64-5.0.1.cisco.tar bootflash:
Убедитесь, что образ загружен на коммутатор.
Примечание.
Если вы планируете развернуть агент в коммутаторах StackWise, необходимо загрузить образ Docker в оба коммутатора: активный и резервный. Дополнительные сведения см. в пункте 3.1.A.
switch#dir
Directory of flash:/ 311299 -rw- 2097152 Nov 1 202x 09:00:32 -04:00 nvram_config_bkup
311298 -rw- 2097152 Nov 1 202x 09:00:32 -04:00 nvram_config
311329 -rw- 5242880 Oct 31 202x 21:45:12 -04:00 ssd
311308 -rw- 186705920 Oct 24 202x 13:48:11 -04:00
thousandeyes-enterprise-agent-x86_64-x.x.x.cisco.tar
… - Установите контейнер Docker.
Примечание
. Для хостинга приложений требуется лицензия DNA Advantage.
SWITCH#show version
Technology Package License Information:
Technology-package Technology-package
Current Type Next rebootnetwork-advantage Smart License network-advantage
dna-advantage
Subscription Smart License
dna-advantage При необходимости активируйте лицензию и перезагрузите систему. SWITCH#license boot level network-advantage add-on dna-advantage 2.1 Включите инфраструктуру IOx на коммутаторе.
SWITCH#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH(config)#iox
SWITCH(config)#end
Дождитесь, пока все службы запустятся:
IOx Infrastructure Summary:IOx service (CAF) 1.11.0.5 : Running
IOx service (HA) : Running IOx service (IOxman) : Running IOx service (Sec storage) : Not Running Libvirtd 1.3.4 : Running
Dockerd 18.03.0 : Running
<<< this must be in the “Running” state before proceeding (allow 3-5 min)
Application DB Sync Info : Available Sync Status : Disabled
2.2 Установите приложение с флэш-памяти.
Примечание.
Укажите желаемое имя приложения и расположение файла образа. В приведенном ниже коде замените <desired_app_id> своими данными.
SWITCH#app-hosting install appid
<desired_app_id>
package flash: thousandeyes-enterprise-agent-x86_64-x.x.x.cisco.tar Installing package 'flash: thousandeyes-enterprise-agent-x86_64-x.x.x.cisco.tar for
<desired_app_id>
. Use 'show app-hosting list' for progress. Кроме того, вы также можете установить приложение по URL-адресу, если коммутатор Catalyst подключен к Интернету.
SWITCH#app-hosting install appid DESIRED_APP_ID package https://downloads.thousandeyes.com/enterprise-agent/thousandeyes-enterprise-agent-x86_64-x.x.x.cisco.tar
Теперь ваше приложение должно быть установлено! 2.3 Проверьте установку.
Проверьте установку, выполнив следующее:
SWITCH#show app-hosting list App id StateTE_AGENT RUNNING
thousand_eyes_enterprise_agent
DEPLOYED
Примечание
: в случае сбоя развертывания используйте следующее для устранения неполадок
SWITCH#show log
3. Настройте контейнер Docker.
После установки и проверки приложения вы можете настроить контейнер Docker в соответствии с вашими требованиями.
3.1 Подготовка VLAN.
Необходимо подготовить VLAN на коммутаторе Catalyst, который будет использоваться агентом с доступом в Интернет.
VLAN должна иметь подсеть, маршрутизируемую в сети клиента, и доступ к Интернету (прямой или через HTTP-прокси).
DHCP-сервер можно настроить в VLAN или позже использовать статическую конфигурацию сети во время установки агента.
IP-адрес агента/гостя должен быть неиспользуемым адресом и находиться в той же подсети, что и шлюз по умолчанию.
3.1.A (Необязательно) Конфигурация Stackwise.
Для конфигурации StackWise агентов на платформах Cisco 9000 учитывайте следующее:
Алгоритм выбора роли по умолчанию — N+1, при котором любой коммутатор в стеке может быть активным или резервным. Чтобы обеспечить постоянную связь агента ThousandEyes Catalyst 9000 Docker, необходимо настроить алгоритм выбора роли 1+1 вместо N+1. Режим выбора роли 1+1 гарантирует, что агент Docker будет иметь внешнюю сетевую связь, если событие высокой доступности приведет к смене активного коммутатора.
Подтвердите режим выбора роли 1+1 с помощью команды
show switch stack-mode
Обратите особое внимание на
столбец
«Mode»,
чтобы убедиться, что он отражает правильный режим избыточности!
Установка агента выполняется только на активном коммутаторе.
Для обеспечения высокой доступности необходимо загрузить установочный tar-файл Enterprise Agent в флэш-память резервного коммутатора. Для копирования файла на резервный коммутатор можно использовать следующую команду:copy flash: flash-
<# of the switch>
Для получения помощи по настройке режима избыточности 1+1 обратитесь к документу
«Настройка избыточности 1:1»
, предоставленному Cisco.
После настройки интерфейса коммутатора (шаг 3.2) убедитесь, что конфигурация порта App-Gig была скопирована на резервный коммутатор. По умолчанию конфигурация автоматически дублируется между коммутаторами стека.
На резервном коммутаторе необходимо как минимум 4,0 Гб свободного места во флэш-памяти для размещения приложений в случае отработки отказа, как показано ниже в следующих журналах:
![ahernan4_0-1765922696959.png]
3.2 Настройте интерфейсы коммутатора.
Настройте порт AppGigabitEthernet, чтобы разрешить VLAN уровня 2. (Вы должны разрешить VLAN, который вы используете для маршрутизации в Интернет)
SWITCH#conf t
Enter configuration commands, one per line. End with CNTL/Z.
SWITCH(config)#interface appGigabitEthernet <x x=""> SWITCH(config-if)#switchport mode trunk SWITCH(config-if)#switchport trunk allowed vlan <vlan #="">
SWITCH(config-if)#exit Примечание
. Если вы настраиваете несколько интерфейсов/VLAN для агента, вы должны использовать разные интерфейсы appGigabitEthernet. Например: AppGigabitEthernet 1/0/1 для vlan 100, AppGigabitEthernet 2/0/1 для vlan 200. Примечание
. Помимо appGigabitEthernet, у вас также должен быть собственный интерфейс VLAN, настроенный с определенным IP-адресом. Этот IP-адрес интерфейса VLAN должен быть маршрутизирован в Интернет, чтобы иметь доступ к контроллерам ThousandEyes. Этот IP-адрес VLAN будет шлюзом агента. Примечание
: для агентов с несколькими интерфейсами потребуются интерфейсы VLAN, пропорциональные количеству необходимых интерфейсов агента. Пример: SWITCH(config)#vlan
<vlan#>
SWITCH(config)#interface vlan
<vlan #="">
SWITCH(config-interface)#ip address
<agent’s gateway="" ip="">
<subnet mask=""> 3.3 Настройте ThousandEyes. Настройте приложение ThousandEyes, используя статический IP-адрес или IP-адрес DHCP. Обратите внимание, что при использовании DHCP вам понадобится работающий сервер DHCP в VLAN.
Настройка с помощью DHCP IP
SWITCH(config)#app-hosting appid thousand_eyes_enterprise_agent
SWITCH(config-app-hosting)#app-vnic appGigabitEthernet trunk SWITCH(config-config-app-hosting-trunk)#vlan X guest-interface 0
SWITCH(config-config-app-hosting-vlan-access-ip)#exit
SWITCH(config-config-app-hosting-trunk)#exit
SWITCH(config-app-hosting)#exit
(Рекомендуется) Настройка с помощью статического IP-адреса
Назначьте IP-адрес интерфейса VLAN в качестве шлюза по умолчанию. Не забудьте использовать VLAN, который маршрутизируется в Интернет.
IP-адрес агента/гостя должен быть
неиспользуемым
адресом и находиться в той же подсети, что и шлюз по умолчанию.
Мы также используем DNS-резолверы (серверы имен)
SWITCH(config)#app-hosting appid thousand_eyes_enterprise_agent
SWITCH(config-app-hosting)#app-default-gateway <interface ip="" vlan=""> guest-interface 0
SWITCH(config-app-hosting)#name-server0 x.x.x.x
SWITCH(config-app-hosting)#name-server1 x.x.x.x
SWITCH(config-app-hosting)#app-vnic AppGigabitEthernet trunk
SWITCH(config-config-app-hosting-trunk)#vlan <vlan#> guest-interface 0
exit
SWITCH(config-config-app-hosting-vlan-access-ip)#guest-ipaddress <agent’s ip=""> netmask <netmask>
3.4 Настройте параметры запуска Docker.
Настройте необходимые параметры запуска Docker, чтобы указать токен учетной записи, как показано ниже. Если вы хотите указать имя хоста, отличное от имени коммутатора, сделайте это здесь. Полный список доступных параметров настройки агента Docker можно найти
здесь.
Примечание
. Агент настраивается через параметры выполнения Docker (а не через веб-интерфейс).
Замените <token> на
токен группы учетных записей
, который можно
найти
в приложении ThousandEyes.
Перейдите в раздел
«Network & App Synthetics
» >
«Agent Settings
» >
«Add New Enterprise Agent
» >
«Cisco Devices» > «Catalyst Switching».
![ahernan4_0-1765924075454.png]
SWITCH(config-app-hosting)#app-resource docker SWITCH(config-app-hosting-docker)#prepend-pkg-opts SWITCH(config-app-hosting-docker)#run-opts 1 "-e TEAGENT_ACCOUNT_TOKEN=
<token>
"
SWITCH(config-app-hosting-docker)#run-opts 2 "--hostname
<agent name="">
"
(Необязательно) Для нескольких интерфейсов
SWITCH(config-config-app-hosting-trunk)#vlan <vlan#> guest-interface 1 SWITCH(config-config-app-hosting-vlan-access-ip)#guest-ipaddress
<second agents="" ip="">
netmask <x.x.x.x>
SWITCH(config-app-hosting)#app-resource docker SWITCH(config-app-hosting-docker)#run-opts 3 "-e TEAGENT_DEF_IPV4_GW_ETH1=
<second (second="" gateway)="" interface="" ip="" vlan="">
3.5 Активировать и запустить.
После завершения настройки пора запустить систему.
SWITCH(config-app-hosting)#start SWITCH(config-app-hosting)#end
SWITCH(config-app-hosting)#
Введите «exit» три раза, чтобы полностью выйти из режима настройки. Используйте команду «wr mem», чтобы убедиться, что изменения конфигурации сохранились после перезагрузки.
SWITCH#wr
Building configuration...
Compressed configuration from 77282 bytes to 31251 bytes[OK]
4. Убедитесь, что контейнер Docker работает.
Чтобы проверить данные агента на коммутаторе, контейнер Docker должен быть запущен и работать.
SWITCH#sh app-hosting list App id StateTE_AGENT RUNNING
thousand_eyes_enterprise_agent
RUNNING
4.1 Проверка сведений о Docker.
Проверьте следующее в Docker
SWITCH#show app-hosting detail appid <desired_app_id>
App id : <desired_app_id>
Owner : iox
State : RUNNING
Application Type : docker Name : ThousandEyes Enterprise Agent Version : 5.0.1 Description : ThousandEyes enterprise agents perform active synthetic measurements to your business-critical applications. See https://docs.thousandeyes.com/product-documentation/getting-started for the types of data you can collect using enterprise agents. Path : flash:thousandeyes-enterprise-agent-X.X.X.cisco.tar URL Path : Activated profile name : custom Resource reservation Memory : 500 MB Disk : 1 MB CPU : 1850 units VCPU : 1 Attached devices Type Name Alias --------------------------------------------- serial/shell iox_console_shell serial0 serial/aux iox_console_aux serial1 serial/syslog iox_syslog serial2 serial/trace iox_trace serial3 Network interfaces ---------------------------------------
eth0: MAC address : x Network name : x
DockerRun-time information Command : Entry-point : /sbin/my_pre_init Run options in use : -e TEAGENT_ACCOUNT_TOKEN=<token> --hostname=$(SYSTEM_NAME) --mount type=tmpfs,destination=/var/tmp/te-agent,tmpfs-size=340m -e TEAGENT_PROXY_TYPE=DIRECT -e TEAGENT_PROXY_LOCATION= -e TEAGENT_PROXY_USER= -e TEAGENT_PROXY_AUTH_TYPE= -e TEAGENT_PROXY_PASS= -e TEAGENT_PROXY_BYPASS_LIST= -e TEAGENT_KDC_USER= -e TEAGENT_KDC_PASS= -e TEAGENT_KDC_REALM= -e TEAGENT_KDC_HOST= -e TEAGENT_KDC_PORT=88 -e TEAGENT_KERBEROS_WHITELIST= -e TEAGENT_KERBEROS_RDNS=1 -e PROXY_APT= -e APT_PROXY_USER= -e APT_PROXY_PASS= -e APT_PROXY_LOCATION= -e TEAGENT_AUTO_UPDATES=1 -e TEAGENT_ACCOUNT_TOKEN=
<token>
--hostname
<agent name="">
Package run options : -e TEAGENT_ACCOUNT_TOKEN=<token> --hostname=$(SYSTEM_NAME) --mount type=tmpfs,destination=/var/tmp/te-agent,tmpfs-size=340m -e TEAGENT_PROXY_TYPE=DIRECT -e TEAGENT_PROXY_LOCATION= -e TEAGENT_PROXY_USER= -e TEAGENT_PROXY_AUTH_TYPE= -e TEAGENT_PROXY_PASS= -e TEAGENT_PROXY_BYPASS_LIST= -e TEAGENT_KDC_USER= -e TEAGENT_KDC_PASS= -e TEAGENT_KDC_REALM= -e TEAGENT_KDC_HOST= -e TEAGENT_KDC_PORT=88 -e TEAGENT_KERBEROS_WHITELIST= -e TEAGENT_KERBEROS_RDNS=1 -e PROXY_APT= -e APT_PROXY_USER= -e APT_PROXY_PASS= -e APT_PROXY_LOCATION= -e TEAGENT_AUTO_UPDATES=1
Application health information Status : 0 Last probe error : Last probe output :
4.2 Проверка состояния агента.
В платформе ThousandEyes перейдите в раздел
«Network & App Synthetics» > «Agent Settings»
и убедитесь, что агент находится в сети и имеет правильный IP-адрес.
5. (Необязательно) Изменение контейнера Docker.
Вы можете изменить контейнер Docker для определенных изменений конфигурации, таких как изменение IP-адресов, токена и т. д. Однако перед тем, как изменить контейнер Docker, необходимо сначала остановить и деактивировать хостинг приложения.
5.1 Остановите приложение.
Чтобы остановить приложение, выполните следующие действия:
catalyst# app-hosting stop appid
DESIRED_APP_ID
thousandeyes_enterprise_agent stopped successfully
Current state is:
STOPPED
5.2 Деактивируйте приложение.
Чтобы деактивировать приложение, выполните следующие действия:
catalyst# app-hosting deactivate appid
DESIRED_APP_ID
thousandeyes_enterprise_agent
deactivated successfully
Current state is: DEPLOYED
5.3 Изменение и выход.
После подтверждения остановки и деактивации приложения вы можете внести изменения в настройки Docker. По завершении введите «exit» три раза, чтобы выйти из интерфейса.
catalyst(config)#app-hosting appid
DESIRED_APP_ID
catalyst(config-app-hosting)#app-resource docker
catalyst(config-app-hosting-docker)#prepend-pkg-opts
catalyst(config-app-hosting-docker)#
<run-opts command="">
catalyst(config-app-hosting-docker)#exit
catalyst(config-app-hosting)#exit
catalyst(config)#exit
5.4 Повторная активация приложения.
Чтобы повторно активировать приложение и подтвердить изменения, выполните следующие действия:
catalyst# app-hosting activate appid
DESIRED_APP_ID
thousandeyes_enterprise_agent activated successfully
Current state is:
ACTIVATED
5.5 Запуск приложения и подтверждение.
Чтобы запустить приложение и подтвердить его рабочий статус, выполните следующие действия:
catalyst# app-hosting start appid
DESIRED_APP_ID
thousandeyes_enterprise_agent started successfully
Current state is:
RUNNING
6. Подробная информация о настройке брандмауэра (изображение).
Чтобы убедиться, что трафик правильно добавлен в белый список, обратитесь к следующему изображению брандмауэра:
![Screenshot 2025-12-16 at 2.46.52 PM.png]
*Примечание
: выберите порт 80 или порт 443 в зависимости от требований безопасности вашей организации.
7. Устранение неполадок агентов.
В следующем разделе приведен список команд, которые полезны для устранения конкретных проблем с подключением.
Если вы выполнили все эти шаги и вам требуется дополнительная помощь, обратитесь в
службу поддержки ThousandEyes.
Наши специалисты будут рады вам помочь!
Чтобы проверить, работает ли приложение:
SWITCH#show app-hosting list
App id Statete_agent
RUNNING
Чтобы подключиться к кластеру и проверить журналы:
SWITCH#app-hosting connect appid DESIRED_APP_ID session bash # tail /var/log/agent/te-agent.log (option 1)tail -n 30 /var/log/agent/te-agent.log (option 2)
2021-02-05 15:12:20.291 DEBUG [60ff1700] [te.agent.AgentRelayStreamHandler] {} Sleep for 30 seconds
2021-02-05 15:12:25.379 DEBUG [89ac6a40] [te.agent.main] {} Calling getResults
2021-02-05 15:12:25.382 INFO [89ac6a40] [te.agent.main] {} Not calling commit results because we have nothing to commit
2021-02-05 15:12:25.382 DEBUG [89ac6a40] [te.agent.main] {} Commit thread sleeping for 20 seconds
2021-02-05 15:12:29.988 DEBUG [80ff9700] [te.agent.DataSubmitter] {} Trying to get results for https://data1.agt.thousandeyes.com/mixed
Чтобы проверить использование ресурсов приложения:
SWITCH# show app-hosting utilization appid
DESIRED_APP_ID
Чтобы проверить подключение из командной строки IOSXE (при необходимости учитывайте VRF):
ping sc1.thousandeyes.com
telnet
<ip>
443
Чтобы перезапустить контейнер из командной строки IOSXE:
app-hosting stop appid te app-hosting deactivate appid te app-hosting activate appid te app-hosting start appid te
Чтобы полностью отсоединить агент от группы учетных записей после изменения токена:- app-hosting connect appid thousandeyes_enterprise_agent session bash 2. sv stop te-agent 3. rm -rfv /data/appdata/te-agent-config.sqlite rm -rfv /var/lib/te-agent/data/te-agent.sqlite sv start te-agent
Заключение и ресурсы.
Если вы выполнили вышеуказанные шаги, Enterprise Agent должен быть успешно развернут!
Вы можете проверить это в платформе ThousandEyes. Перейдите в
раздел «Network & App Synthetics» > «Agent Settings» (Сеть и синтетические приложения > Настройки
агента
).
Вы должны увидеть установленный агент.
![ahernan4_1-1765926110941.png]
Примечание:
после развертывания может пройти 1–2 минуты, прежде чем статус
/последний контакт
отобразится как «Только что».
Дополнительные ресурсы и документация
Развертывание агента ThousandEyes на Catalyst 9000 с помощью Cisco DNA Center
Установка ThousandEyes Enterprise Agent на Cisco Catalyst 9000
Установка с помощью CLI KB
Настройка брандмауэра для Enterprise Agents
Получение поддержки от ThousandEyes</ip></run-opts></token></agent></token></token></desired_app_id></desired_app_id></second></x.x.x.x></second></vlan#></agent></token></token></netmask></agent’s></vlan#></interface></subnet></agent’s></vlan></vlan#></vlan></x></desired_app_id></desired_app_id></desired_app_id>






Здравствуйте! Похоже, вам интересна эта беседа, но у вас пока нет учетной записи.
Вы устали просматривать одни и те же посты каждый раз, когда заходите на сайт? После регистрации, вам не придётся искать обсуждения в которых вы принимали участие, настройте уведомления о новых сообщениях так как вам это удобно (по электронной почте или уведомлением). У вас появится возможность сохранять закладки и ставить лайки постам, чтобы выразить свою благодарность другим участникам сообщества.
С вашими комментариями этот пост может стать ещё лучше 💗
Зарегистрироваться Войти