В нынешней схеме архитектуры распределенного микросервисного кластера уровня предприятия отслеживание каналов обслуживания стало неотъемлемой частью.
skywalking это отличныйОдомашненныйФреймворк с открытым исходным кодом,2015год индивидуальноУ Шэн(Разработчик Huawei)Открытый исходный код , присоединился в 2017 году apache инкубатор.
skywalking Он распространяетсясистема ПриложениеИнструменты мониторинга эффективности программы,Предназначен для микро Служить、Облачная архитектураи На основе технологии контейнеризации (докер, K8s, Mesos) архитектура, это отличный APM(Application Performance Management)инструмент。skywalkingэто платформа наблюдательного анализаиУправление производительностью приложенийсистема。Обеспечить распространение Интегрированное решение для отслеживания, анализа телеметрии сервисной сетки, агрегирования и визуализации метрик.
SkyWalking собирает информацию о ссылках вызовов приложений путем загрузки зондов, анализирует собранную информацию о ссылках вызовов и генерирует отношения между приложениями, отношения между службами и индикаторы обслуживания. Apache SkyWalking (Incubating) в настоящее время поддерживает несколько языков, включая Java, .Net Core, Node.js и язык Go.
Обзорный вид — это глобальный вид приложения и компонентов.,в состав которого входят компонентыКоличество заявок,Колебания сигналов тревоги приложения,медленный Служить Список и пропускная способность приложений;Карта топологииНачните с зависимостей приложения,Показать топологическую связь всего приложения;Вид приложенияС точки зрения одного приложения,Покажите восходящие и нисходящие отношения приложения.,TopNиз Служитьи Служитьустройство,JVMиз Сопутствующая информация и перепискаиз Информация о хосте。просмотр сервисасосредоточиться наодинокий Служить Входрабочее состояниеи это Служитьиз Восходящие и нисходящие зависимости,Зависимость,Помогите пользователям настроить таргетингодинокий Служитьизоптимизацияимонитор;Цепочка вызовов показывает вызовыиз Один запрос проходитиз Все погребенные точки и каждая погребенная точкаиз Время выполнения;Просмотр сигналов тревогиЦелевые приложения на основе настроенных пороговых значений、Служитьустройство、Служить для оповещений в режиме реального времени.
Порты по умолчанию, используемые в SkyWalking, — 8080, 11800 и 12800. Убедитесь, что эти порты не заняты.
Были смоделированы три типа одновременных пользователей: 500, 750 и 1000. Используйте jmeter для тестирования, каждый поток отправляет 30 запросов и устанавливает время обдумывания 10 мс. Используемая частота дискретизации равна 1, то есть 100 %, что может отличаться от производственной. Частота выборки Pinpoint по умолчанию составляет 20, что составляет 50%. Ее можно изменить на 100%, установив файл конфигурации агента. Значение zipkin по умолчанию также равно 1. Всего существует 12 типов. Взгляните на сводную таблицу ниже:
Это видно из таблицы выше,Среди трех типов компонентов монитора связи,Зонд Скайуокинга оказывает наименьшее влияние на пропускную способность, а пропускная способность Зипкина находится посередине. Точечные датчики оказывают более очевидное влияние на пропускную способность.,При 500 одновременных пользователях,Пропускная способность теста Служить уменьшена с 1385 до 774.,Эффект велик. Затем посмотрите на влияние процессора и памяти.,внутри Служитьустройство Проведенный стресс-тест показал, что воздействие на ЦП и память находится практически в пределах 10%.
Все мы знаем, что в общих сценариях нам сложно интуитивно понять работу системы и бизнес-процесс, поскольку традиционные требования — текстовые описания и скучные коды. Благодаря отслеживанию ссылок вы можете уточнить взаимосвязь вызовов между службами на основе вызывающих ссылок. Если дизайн API соответствует спецификациям, вы даже можете интуитивно понять функцию вызываемых служб. Это очень важно для разработчиков, впервые знакомых с системой.
Основная функция ссылки — запись трудоемкого вызова между службами. Если служба занимает слишком много времени, это повлияет на общее взаимодействие с пользователем и даже вызовет исключение тайм-аута. Такая ситуация также время от времени возникает в архитектуре микросервиса. .
Если в ссылке вызова микросервиса возникает ошибка, вы можете визуально отобразить и просмотреть ее, найти интерфейс вызываемой службы и оперативно выяснить причину ошибки в микросервисе.
Отображение полной ссылки вызова. В зависимости от рациональности, читабельности и надежности бизнес-анализа можно определить, вызывается ли служба повторно, является ли ссылка слишком длинной, есть ли что-то, что можно оптимизировать, и является ли ссылка понятной. Некоторые сценарии более сложны. Например, центры обработки данных разбросаны, а услуги распределены по разным центрам обработки данных. Однако по географическим причинам расстояние между центрами обслуживания велико, а задержка может не соответствовать требованиям проектирования. поэтому необходимо найти ближайший дата-центр по ссылке, а затем настроить сервис на вызов ближайшего дата-центра.
С помощью информации о каналах, записанной в системе отслеживания услуг, можно создать диаграмму топологии сетевых вызовов системы, которая может отражать, от каких услуг зависит система и каковы отношения вызовов между службами, что можно увидеть с первого взгляда. Кроме того, подробная информация о вызовах служб также может быть отмечена на карте топологии сети, что также может играть роль в мониторинге услуг.
Когда мы используем es в качестве хранилища, лучше всего использовать версию 8.7.0 с явными методами хранения.
####### Ранняя версия
docker pull elasticsearch:7.12.0
#зеркало данных хранилища es по умолчанию
docker pull apache/skywalking-oap-server:8.7.0-es7
#webUI зеркальное отображение интерфейса
docker pull apache/skywalking-ui:8.7.0
#Сделать зеркало проекта микросервиса
docker pull openjdk:8-alpine3.9
docker pull elasticsearch:7.9.0
#зеркало данных хранилища es по умолчанию
docker pull apache/skywalking-oap-server:8.1.0-es7
#webUI зеркальное отображение интерфейса
docker pull apache/skywalking-ui:8.1.0
#Сделать зеркало проекта микросервиса
docker pull openjdk:8-alpine3.9
#Последняя версия:
docker save apache/skywalking-oap-server:8.7.0-es7 apache/skywalking-ui:8.7.0 elasticsearch:7.12.0 -o skywalking8.7.0.tar
#Стабильная версия:
docker save apache/skywalking-oap-server:8.1.0-es7 apache/skywalking-ui:8.1.0 elasticsearch:7.9.1 -o skywalking8.1.0.tar
curl -L "https://github.com/docker/compose/releases/download/v2.2.2/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-composechmod +x /usr/local/bin/docker-composeln -s /usr/local/bin/docker-compose /usr/bin/docker-composedocker-compose --version
sudo chmod +x /usr/local/bin/docker-compose
Здесь используется последняя версия изображения Скайуокинга.
version: '3'
services:
es7:
image: elasticsearch:7.12.1
container_name: es7
environment:
- "cluster.name=elasticsearch" #Установим имя кластера elasticsearch
- "discovery.type=single-node" #Запускаем в режиме одного узла
- "ES_JAVA_OPTS=-Xms512m -Xmx512m" #Устанавливаем размер используемой памяти JVM
volumes:
- /mydata/elasticsearch/plugins:/usr/share/elasticsearch/plugins #Монтирование файла плагина
- /mydata/elasticsearch/data:/usr/share/elasticsearch/data #Монтирование файла данных
ports:
- 9200:9200
- 9300:9300
oap:
image: apache/skywalking-oap-server:8.7.0-es7
container_name: oap
depends_on:
- es7
links:
- es7
ports:
- "11800:11800"
- "12800:12800"
healthcheck:
test: [ "CMD-SHELL", "/skywalking/bin/swctl ch" ]
interval: 30s
timeout: 10s
retries: 3
start_period: 10s
environment:
SW_STORAGE: elasticsearch7
SW_STORAGE_ES_CLUSTER_NODES: es7:9200
SW_HEALTH_CHECKER: default
TZ: Asia/Shanghai
SW_TELEMETRY: prometheus
JAVA_OPTS: "-Xms2048m -Xmx2048m"
ui:
image: apache/skywalking-ui:8.7.0
container_name: ui
depends_on:
- oap
links:
- oap
ports:
- "8088:8080" #Чтобы предотвратить конфликт порта 8080 Здесь мы используем сопоставление портов 8088.
environment:
SW_OAP_ADDRESS: http://oap:12800
TZ: Asia/Shanghai
Запустить службу
docker-compose up -d
Посмотреть стартап
docker-compose ps
Войдите в браузер Адрес сервера: 8088
Например:http://192.168.198.120:8088
Вот и все, что касается введения в skywalking. Эта глава представляет собой просто введение в то, как просто использовать skywalking. На самом деле, есть много функций, которые не были представлены. Заинтересованные студенты могут следовать приведенному выше руководству для установки и развертывания, а затем изучить их на своих местах. собственный. В нынешней среде, где микросервисная архитектура более популярна, без системы отслеживания цепочки вызовов будет сложно устранять проблемы, связанные с вызовами онлайн-сервисов. Skywalking — это техническая платформа, развивающаяся в настоящее время быстрее всего. Поскольку она неинвазивна для кода, многие компании в настоящее время используют Skywalking.
Источник ссылки: https://blog.csdn.net/weixin_4246913. 5/article/details/125092627