предисловие
Skywalking — это инструмент для мониторинга производительности приложений и отслеживания распределенных ссылок для распределенных систем. Он похож на ряд сервисов компонентов мониторинга серверов, таких как Tingyun и Borui. Аналогичные компоненты с открытым исходным кодом включают zipkin и pinpoint. Обновите springcloud, отсутствие связанных компонентов мониторинга ссылок , а zipkin связан с springcloud1.0, поэтому временно решите исследовать ходьбу по небу и построить его. Текущая последняя версия Skywalking — 6.4.В этом примере блога nacos используется в качестве центра регистрации, а springcloudgateway — в качестве шлюза для перенаправления запросов на обслуживание.
текст
архитектура
Как показано на рисунке ниже, все в основном разделено на три части:
- skywalking-agent: зонд, добавляемый при запуске отслеживаемой службы, используемый для сбора и передачи данных сборщику, а также отправки данных компоненту сборщика через gRPC;
- skywalking-collector: связывает сборщик данных, получает данные, отправленные агентом, и обрабатывает их.Данные могут храниться в H2, ElasticSearch, mysql и т. д.;
- skywalking-web: визуальный фон управления сетью, повторяющий сохраненные данные и отображающий собранные данные;
![image](https://s3.timeweb.com/newworld58-e1e8f297-7d39-4eff-9f5d-42281e40a914/UnderSkyWeb-cf73c3974aae838f1d68ff6c7ab19626381ee205695b0a59df123bcb8dedf1c6e3e98144.png)
строить прогулки по небу
Различные сервисные версии, используемые для сборки, следующие:
nacos | elasticsearch | skywalking | springcloudgateway |
---|---|---|---|
1.1.3 | 6.4.2 | 6.4.0 | Greenwich.SR1 |
Перед сборкой скачайте соответствующую версию пакета, при этом нужно убедиться, что соответствующий порт не занят, 8848 (nacos), 9200 (es), 8080 (skywalking-web), 11800, 12800.
Построение разбито на следующие этапы: 1.запуск конфигурации nacos, 2.запуск конфигурации es, 3.запуск конфигурации skywalking-collector и skywalking-web, 4.пуск skywalking-агента и сервиса.
1. Сначала запустите нако, см. подробностичто cos.IO/this-capable/docs/…, локальный доступhttp://localhost:8848/nacosМожно увидеть страницу управления.
2. Затем настройте и запустите es, сначала измените конфигурацию es и настройте соответствующее имя узла, адрес хоста и порт в загруженном каталоге es config/elasticsearch.yml следующим образом:
cluster.name: CollectorDBCluster
node.name: CollectorDBCluster
network.host: 127.0.0.1
http.port: 9200
./elasticsearch -d работает в фоновом режиме, локальный доступhttp://localhost:9200/Следующие данные указывают на то, что служба es в основном работает нормально.
{
name: "CollectorDBCluster",
cluster_name: "CollectorDBCluster",
cluster_uuid: "NuJtMyOnShun26UWoXCQXw",
version: {
number: "6.4.2",
build_flavor: "default",
build_type: "tar",
build_hash: "04711c2",
build_date: "2018-09-26T13:34:09.098244Z",
build_snapshot: false,
lucene_version: "7.4.0",
minimum_wire_compatibility_version: "5.6.0",
minimum_index_compatibility_version: "5.0.0"
},
tagline: "You Know, for Search"
}
3. Затем подготовьтесь к прыжкам в небо, сначала измените конфигурацию прыжков в небо, config/application.yml выглядит следующим образом:
#注册到nacos配置
cluster:
nacos:
serviceName: ${SW_SERVICE_NAME:"SkyWalking_OAP_Cluster"}
# Nacos cluster nodes, example: 10.0.0.1:8848,10.0.0.2:8848,10.0.0.3:8848
hostPort: ${SW_CLUSTER_NACOS_HOST_PORT:localhost:8848}
#存储选择es,注意nameSpace配置要一致,注释掉h2;如果选择使用h2,则不需要修改
storage:
elasticsearch:
nameSpace: CollectorDBCluster
clusterNodes: 127.0.0.1:9200
indexShardsNumber: 2
Если вам нужно изменить номер порта для skywalking-web, вам нужно изменить webapp/webapp.yml.
Затем начните ходить по небу, linux выполняет ./startup.sh в каталоге bin для прыжков по небу, а Windows запускает startup.bat. На этом этапе мы должны увидеть консоль nacos (http://localhost:8848/nacos)Список служб имеет регистрацию Skywalking, такую как SkyWalking_OAP_Cluster в списке, и может получить доступ к Skywalking console (http://локальный:8080/).
4. Прикрепите агент в каталоге Skywalking к соответствующему сервису проекта для запуска, например java -javaagent:/software/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo -Dskywalking.collector.backend_service= 127.0.0.1:11800 demo.jar Если проект запущен в idea или eclipse, добавьте параметр -javaagent:/software/skywalking/agent/skywalking-agent.jar -Dskywalking.agent.service_name=demo - в ПАРАМЕТРЫ ВМ запуск проекта Dskywalking.collector.backend_service=127.0.0.1:11800
Приведенное выше -Dskywalking.agent.service_name относится к имени службы, зарегистрированной для Skywalking, а -Dskywalking.collector.backend_service относится к службе и порту, где Skywalking получает агента для отправки собранных данных. После запуска двух служб вы можете увидеть две зарегистрированные службы и цепочку вызовов на фоне и диаграмме топологии, как показано на следующем рисунке.
Эпилог
Выше описан весь процесс сборки skywalking+nacos+elasticsearch+demo-сервиса, в нем я также столкнулся со многими проблемами, такими как проблемы с совместимостью версий, существующие баги в skywalking, небрежные ошибки настройки и т.д. к нему в первую очередь.Официальный документ будет завершен после того, как последующая ссылка на официальный документ будет пересмотрена.Я надеюсь общаться с вами больше.
Справочная документация:Блог Woohoo.cn на.com/Jack ion5/afraid/…