В двух словах, Zipkin позволяет визуализировать трассировки, которые, в свою очередь, являются усовершенствованными логами (имеют идентификатор запроса для отслеживания конкретных логов для конкретного запроса).
В официальной документации описан процесс запуска Zipkin без автозапуска. Данный подход не очень удобен, если мы заходим поднять сервер с Zipkin. Рассмотрим процесс установки необходимых компонентов для работы последнего и его автозапуск.
Выполним несколько предварительных действий.
Нам понадобиться пакет curl для загрузки Zipkin. В зависимости от типа Linux, команды будут отличаться.
a) Для систем на основе DEB (Debian / Ubuntu / Astra Linux):
apt update
apt install curl
б) Для систем на основе RPM (Rocky Linux / CentOS):
yum install curl
Для обработки сетевых запросов, нам нужно убедиться, что брандмауэр будет разрешать порт 9411, на котором по умолчанию слушает Zipkin.
В зависимости от используемой утилиты управления брандмауэром, наши действия будут немного отличаться:
а) Iptables (как правило, для систем на базе DEB):
iptables -I INPUT -p tcp —dport 9411 -j ACCEPT
Для сохранения правила используем iptables-persistent:
apt install iptables-persistent
netfilter-persistent save
б) Firewalld (как правило, для систем на базе RPM):
firewall-cmd —permanent —add-port=9411/tcp
firewall-cmd —reload
Приложение Zipkin представляет из себя jar-файл, который может быть запущен с помощью платформы Java. Таким образом наш процесс будет разбит на установку последней и загрузку самого Zipkin.
В зависимости от дистрибутива Linux наши команды будут немного отличаться.
а) Для систем на основе DEB:
apt install default-jdk
б) Для систем на основе RPM:
yum install java-11-openjdk-devel
OpenJDK установлен.
После смотрим версию java:
java -version
Мы должны увидеть что-то на подобие:
openjdk version «11.0.17» 2022-10-18
OpenJDK Runtime Environment (build 11.0.17+8-post-Ubuntu-1ubuntu220.04)
…
Для этого выполняем две команды:
curl -sSL https://zipkin.io/quickstart.sh | bash -s
java -jar zipkin.jar
Мы должны увидеть что-то на подобие:
oo
oooo
oooooo
oooooooo
oooooooooo
oooooooooooo
ooooooo ooooooo
oooooo ooooooo
oooooo ooooooo
oooooo o o oooooo
oooooo oo oo oooooo
ooooooo oooo oooo ooooooo
oooooo ooooo ooooo ooooooo
oooooo oooooo oooooo ooooooo
oooooooo oo oo oooooooo
ooooooooooooo oo oo ooooooooooooo
oooooooooooo oooooooooooo
oooooooo oooooooo
oooo oooo
________ ____ _ _____ _ _
|__ /_ _| _ | |/ /_ _| | |
/ / | || |_) | ‘ / | || | |
/ /_ | || __/| . | || | |
|____|___|_| |_|____|_| _|
:: version 2.24.0 :: commit 025fb71 ::
2022-12-22 11:42:07.180 INFO [/] 6310 — [oss-http-*:9411] c.l.a.s.Server : Serving HTTP at /0:0:0:0:0:0:0:0%0:9411 — http://127.0.0.1:9411/
Открываем браузер и переходим по адресу http://<адрес сервера>:9411 — должна открыться страница для создания запросов:
Zipkin работает. Прервем его работу комбинацией Ctrl + С и настроим автозапуск.
Создаем пользователя, от которого будет работать наш сервис:
useradd -r -c ‘Zipkin service’ zipkin
Создадим рабочий каталог и перенесем в него ранее скачанный файл jar:
mkdir /opt/zipkin
mv zipkin.jar /opt/zipkin/
Зададим права на данный каталог:
chown -R zipkin:zipkin /opt/zipkin
Создадим файл:
vi /etc/systemd/system/zipkin.service
[Unit]
Description=Zipkin Service
Documentation=https://zipkin.io/
[Service]
User=zipkin
Group=zipkin
Type=simple
WorkingDirectory=/opt/zipkin
ExecStart=/usr/bin/java -jar zipkin.jar
#ExecStart=/bin/java -jar zipkin.jar
ExecReload=/bin/kill -HUP $MAINPID
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Обратите внимание на опцию ExecStart — ее значение может отличаться в зависимости от дистрибутива Linux. Точный путь к файлу java смотрите командой:
which java
Разрешаем сервис и стартуем его:
systemctl enable zipkin —now
Проверим состояние командой:
systemctl status zipkin
Zulip — программное обеспечение для реализации корпоративного чата. Разработан в 2012 году, в 2014 был…
Zookeeper — cервис-координатор, который позволяет обеспечить контроль синхронизации данных. Разработан на Java компанией Apache Software…
Zimbra — программное обеспечение для реализации почтового сервиса или, если сказать точнее, автоматизации совместной деятельности…
Zabbix — бесплатная система мониторинга. Позволяет отслеживать состояние сетевых узлов, компьютеров и серверов. Возможности: Поддержка…
YouTube — компания-владелец одноименного портала для просмотра и хранения видео. Чтобы пользоваться данным порталом достаточно…
Yota — провайдер, предоставляющий доступ к сети Интернет по беспроводной связи. Впервые, сервис начал работать…