Для бизнеса очень важен полный мониторинг показателей работоспособности приложений и данных. Собирая точные показатели мониторинга и настраивая разумные механизмы сигнализации, мы можем заранее или как можно раньше обнаруживать проблемы, реагировать и решать проблемы и тем самым обеспечивать стабильность продукта. и улучшить пользовательский опыт.
Прошедшая эпоха монолитной Служить или микро-Служить,Для нас JavaBoy,Или реализовать управление и управление локальными приложениями через модуль SpringBoot Actuator.,или черезjavamelodyверноTomcatПриложение выполняет на уровне потокамонитор(Обратитесь к моей другой статье:《Одна статья для понимания: инструмент мониторинга производительности JavaMelody》)。
Теперь, когда мы вступили в эпоху облачных технологий, некоторые системы мониторинга в прошлом стали недоступны в среде развертывания приложений k8s, либо из-за различных дизайнерских идей, либо из-за несовместимости с сообществом открытого исходного кода. Это внезапно поставило многих разработчиков в тупик. потеря. .
В контексте развертывания приложений k8s нижеследующее будет сосредоточено на теме «Создание облачных индикаторов мониторинга наблюдаемости», чтобы обсудить «что можно сделать на уровне архитектуры и бизнеса» и, наконец, прийти к концепции построения бизнеса. Платформа системы мониторинга.
фон
В эпоху микросервисов и контейнеризации мы начали масштабно разбивать небольшие приложения, разделяя бизнес на небольшие системы и развертывая каждую небольшую систему независимо через Docker. Однако мы столкнулись с оркестровкой контейнеров, расширением и сжатием приложений, а также утомительными обновлениями. . Контейнеры сложны в управлении и множество других проблем;
После наступления облачной эры появился Kubernetes, который помогает студентам, занимающимся эксплуатацией и обслуживанием, эффективно управлять кластерами контейнеров;
Для студентов-разработчиков: после развертывания бизнес-системы, за которую мы отвечаем, в облаке, если нам нужно отслеживать работоспособность приложений и бизнес-данные, с какими проблемами мониторинга наблюдаемости мы столкнемся и как нам их решить?
Прорывной меч облачного уроженца и теоретическая основа
winter
Прежде всего следует упомянуть две основные концепции: Промутей и теорию наблюдаемости.
Излишне говорить, что Прометей — это революционный меч и оружие для облачного мониторинга; теория наблюдаемости — это теоретический источник нашего мониторинга и искусство войны, с помощью искусства войны и оружия мы можем преодолевать препятствия и решать практические проблемы; .
Prometheus
Prometheus создан на основе системы мониторинга Brogmon от Google (аналогично Kubernetes произошел от системы Brog от Google).
Он был разработан как программное обеспечение с открытым исходным кодом на Soundcloud бывшими инженерами Google в 2012 году, а ранняя версия была выпущена для широкой публики в начале 2015 года.
В мае 2016 года он стал вторым проектом, официально присоединившимся к CNCF Foundation после Kubernetes. В июне того же года была официально выпущена версия 1.0.
В конце 2017 года была выпущена версия 2.0 на основе нового уровня хранения, которая может лучше взаимодействовать с контейнерными и облачными платформами.
Теория наблюдаемости:
Мы используем диаграммы для определения и описания трех концепций показателей, трассировки и ведения журнала, тем самым уточняя объем мониторинга и делая более понятным содержание каждого существительного.
(1)Metric:Особенность в том, что его можно накапливать.иатомный,Каждый представляет собой логическую единицу измерения.,Или гистограмма за определенный период времени.
Например: текущая глубина очереди может быть определена как единица измерения, которая обновляется при записи или чтении; количество входных HTTP-запросов может быть определено как счетчик для простого накопления времени выполнения запроса; определяется как гистограмма, которая обновляет и суммирует статистические данные за определенный интервал времени.
(2)Logging:Характеристики описывают некоторые дискретные(прерывистый)событие。
Например: приложение выводит информацию об отладке или ошибках в виде прокручиваемого файла и сохраняет ее в Elasticsearch через систему сбора журналов; сведения об утверждении сохраняются в базе данных (BigTable) через Kafka или информация метаданных конкретного запроса; Elasticsearch из It удаляется из запроса службы и отправляется в службу сбора исключений, например NewRelic.
(3)Tracing:Характерной особенностью является то, что это находится в пределах одного запроса.,Обработка информации. Любые данные и метаданные привязаны к одной транзакции в системе.
Например: процесс выполнения RPC, вызывающий удаленную службу; фактический оператор SQL-запроса; бизнес-идентификатор HTTP-запроса.
Характеристики облачных приложений
Cloud Native: Cloud Native — это метод, специально разработанный для облачных приложений. Он используется для создания и развертывания приложений, позволяющих в полной мере использовать преимущества облачных вычислений, таких как знакомые «Tencent Cloud» и «Alibaba Cloud».
Облачная технология включает в себя набор шаблонов приложений, которые помогают предприятиям быстро, непрерывно, надежно и в масштабе доставлять бизнес-программное обеспечение.
Cloud Native состоит из микросервисной архитектуры, DevOps и гибкой инфраструктуры, представленной контейнерами. Цитируем картинку одноклассника Сун Цзинчао, чтобы описать возможности и характеристики, необходимые для облачных технологий:
Таким образом, нативную облачную технологию можно использовать для быстрого и частого создания, выпуска и развертывания. В сочетании с характеристиками облачных вычислений ее можно отделить от базового оборудования и операционной системы и легко удовлетворить потребности в масштабируемости и доступности. , портативность и т. д. требования и обеспечивают лучшую экономию.
облачный родной Также возьмите Чжаодизайндизайн, система Архитектура、развертыватьмодельи Большие изменения в инфраструктуре,Эти изменения отражают характеристики облачных приложений.:
Режим разработки: более высокие требования к эффективности,С популярностью модели DevOps,планирование、развивать、тест、Доставка становится все более эффективной.
Архитектура системы: система более сложна,Архитектура от первоначальной интеграции до многоуровневой модели,Микро Служить архитектуру.
Режим развертывания: улучшена динамика среды.,Контейнерная модель развертывания более динамична.,Сократить жизненный цикл экземпляра приложения,Более управляемый.
Инфраструктура: больше зависимостей в восходящем и нисходящем направлении.,Положитесь на различные облачные приложения и продукты различных облачных поставщиков.,Их больше по течению и по течению.
Болевые точки и цели облачного мониторинга
Малые и средние предприятия часто развертывают свои собственные облачные приложения в общедоступных облаках, поэтому пять крупнейших отечественных поставщиков облачных услуг (Alibaba Cloud, Huawei Cloud, Tencent Cloud, TiaNY Cloud и Amazon Cloud) регулярно собирают отзывы пользователей. Ниже мы разберем пять распространенных болевых точек:
Мы действительно слышали об этих болевых точках в новостях. Что касается пользователей ToC, мы можем быть честными в отношении некоторых серьезных ошибок и устранить давление общественного мнения посредством публичных публикаций, таких как: оптические кабели отключены, но для клиентов ToB, поставщиков облачных услуг; лицо Давление велико, а частота высока. Такие продукты необходимо классифицировать и классифицировать.
Цель облачного мониторинга — обеспечить, чтобы система мониторинга хорошо управлялась и все было под контролем.
Мы можем начать с трех аспектов: уровня приложения, уровня обслуживания и уровня пользователя.
(1) Уровень приложения: своевременное освещение обнаруженных проблем и их последующее устранение.
(2) Уровень обслуживания: восприятие работоспособности обслуживания, полноценная связь для обнаружения, анализа и решения проблем.
(3) Уровень пользователя: превратите пассивность в инициативу и улучшите качество пользователей.
Облачное решение для трехмерного мониторинга бизнеса
Облачное решение для трехмерного мониторинга бизнеса Иголкаверноосуществляется в семь этаповмонитор:
Каждая из семи вышеупомянутых ссылок имеет свою направленность. Давайте проанализируем их по отдельности ниже.
Тест бизнес-дозвона
Тест бизнес-дозвона:Доверие к собственной облачной технологии Служить Мониторинг качествасеть,Используйте точки контроля качества Служить, расположенные по всему миру.,Периодическая проверка веб-сайтов, доменных имен, серверных интерфейсов и т. д.,Помогите проанализировать качество сайта, просматривая изменения доступности и задержки с течением времени. .
Принцип проверки циферблата:Поставщики облачных технологий используют глобально распределенное обнаружениесеть(Например,Tencent Cloud предоставляет более 1000 ресурсов для проверки набора номера в более чем 200 городах по всему миру),Обеспечивает тестирование набора номера, имитирующее работу конечного пользователя.,приходите и удовлетворите насвернобудущее、Просматривать、передача инфекции、протокол、Сценарий тестирования коммутируемого доступа для периодического потокового мультимедиа;
выгода:Сосредоточьтесь на защите ключей с точки зрения «черного ящика»доменное имя、Служить Функция,Самый непосредственный опыт клиента,Проведите контроль качества,Например, следующие шесть сценариев:
(1) Оптимизация качества обслуживания
Подражайте пользователям со всего мира, чтобы получить доступ к сервисам и получить показатели качества обслуживания для различных бизнес-сценариев (производительность веб-сайта электронной коммерции, тестирование API и т. д.).
(2) Проверка выпуска
Проверка доступности и производительности после обновлений системы или выпуска новых функций, а также раннее обнаружение проблем с плохим пользовательским интерфейсом, таких как неспособность бизнеса открыться и низкая скорость работы.
(3) Оценка качества CDN
Оцените качество обслуживания CDN с помощью активного набора номера и предоставьте подробную поддержку данных для оптимизации взаимодействия пользователей с бизнесом.
(4) Защита от угона и взлома
Отслеживайте перехват доменных имен, перехват трафика, подделку страниц и другие действия для защиты трафика приложений и имиджа бренда.
(5) Обновление и преобразование IPV6
Сравните и проверьте эффект улучшения IPV6 по сравнению с IPV4 после преобразования, а также данные мониторинга, такие как сетевое подключение, в различных регионах по всей стране.
(6) Анализ конкурентной продукции
Наберите и протестируйте данные о производительности различных конкурирующих приложений, чтобы понять преимущества и недостатки приложения среди ключевых конкурентов в отрасли.
внешний интерфейсмонитор&Мини программамонитор
Внешний мониторинг: фактическое поведение пользователей при работе с пользовательскими терминалами и внешний мониторинг качества обслуживания, низкий порог, основанный на сценариях и упреждающий анализ поведения.
Сценарии применения:
Мониторинг качества сети
Мониторинг качества сети (особенно качества основной сети) имеет решающее значение для здоровья бизнеса.
Качество сети, являющееся первым препятствием на пути доступности услуг, оказывает глубокое влияние на удобство работы пользователей, а метод мониторинга качества сети на самом деле не сложен. ПК может быстро обнаружить проблемы в сети с помощью простых команд командной строки, таких как Ping, Dig и Telnet.
Среди них мониторинг сети делится на мониторинг коммутаторов сетевого оборудования, маршрутизаторов и т. д., мониторинг оптических кабельных линий, мониторинг обнаружения сетевых подключений и т. д.
Возьмем, к примеру, Tencent Cloud. Tencent Cloud предоставляет услуги во всех регионах, и сравнение качества сети операторов понятно с первого взгляда. Оно может помочь пользователям быстро обнаруживать проблемы в региональных и операторских сетях, своевременно их устранять и минимизировать влияние на бизнес.
Цель: Мониторинг в облаке. качества сети,Возможность обеспечить работоспособность основной бизнес-сети и магистральной сети, а также обнаружение и анализ качества сети.,Планирование бизнеса и аварийное восстановление.
Сценарий: Некоторые продукты имеют относительно высокие требования к сети, особенно для зарубежного бизнеса. Потому что дома особо переживать не стоит, а за рубежом много аварий (война на Ближнем Востоке, конфликт между Россией и Украиной), инфраструктуру обеспечить невозможно, внезапно прилетают ракеты, сеть отключается, и это очень нестабильна, кроме того, за рубежом много операторов, вся сеть не управляема;
Пользовательские индикаторы внутреннего мониторинга
Внутренний мониторинг: Prometheus предоставляет множество реализаций мониторинга индикаторов для компонентов с открытым исходным кодом, что позволяет нам использовать возможности сообщества с открытым исходным кодом «из коробки».
Но есть также некоторые бизнес-сценарии, которые должны быть определены нашей командой исследований и разработок. Prometheus предоставляет 4 различных типа метрик: Counter (счетчик), Gauge (панель мониторинга), Histogram (гистограмма), Summary (сводка).
Вывод: для разных сценариев Служить,Мы можем определить различные показатели монитора,если Служить Громкость звонка、скорость задержки、Монитор распределения задержки、Другой пример — Служить ценовую производительность.、Производительность по сбору мусорамониторждать.Протокол Prometheus: стал стандартом. Мониторинг облачных ресурсов.
Сценарии применения:контейнер、kafka、db,Основные поставщики облачных технологий поддерживают протокол Prometheus.,И поддерживает микро-Служить индивидуальный дизайн архитектуры монитора.
Отслеживание ссылок на внутренний мониторинг
Отслеживание ссылок: ориентировано на фоновую службу APM (управление производительностью приложений). Наблюдение за производительностью приложений (управление производительностью приложений, APM) — это платформа управления производительностью приложений, которая реализует полноканальный мониторинг на уровне кода службы: объем вызовов, уровень успеха, время потребления. и ненормальные сведения о проблеме.
Функция: полноканальный мониторинг внутренних сервисов, своевременная корреляция и анализ позиционирования аномалий обслуживания, защита и навигация по деловой активности, управление оптимизацией активных услуг, оптимизация затрат бизнеса и оценка бюджета.
Сценарий: В большинстве случаев мы используем Skywalking для доставки и мониторинга отслеживаемых ссылок.
Мониторинг облачных ресурсов
Мониторинг облачных ресурсов: фокус на облачных ресурсах: контейнерах、виртуальная машина、хранилище、Решения реального времени, такие как промежуточное программное обеспечение, более склонны обеспечивать эффективность эксплуатации и обслуживания.、Монитор производительности программного и аппаратного обеспечения и удобства использования.
Приведите простой пример: продукт облачной базы данных (в качестве примера возьмем Tencent Cloud Mysql).
Раньше развертывание БД осуществлялось исключительно администратором базы данных и контролировалось администратором базы данных, который вручную вводил инструкции и следил за производительностью Mysql;
В настоящее время, после перемещения БД в облако, Paas предоставляет клиентам только один экземпляр БД, а методы мониторинга более разнообразны. Вы можете использовать компоненты облачного мониторинга, чтобы визуально понимать различные показатели загрузки базы данных.
Индикаторы мониторинга
Четыре типа показателей экземпляров нашей базы данных можно удобно и быстро отслеживать через панель управления:
【1】Мониторинг ресурсов: процессор/жесткий диск/сетевая карта/память.
Включая, помимо прочего, следующие показатели: загрузка ЦП, загрузка памяти, использование памяти, загрузка диска, использование дискового пространства, использование дискового пространства, количество операций ввода-вывода в секунду, использование операций ввода-вывода в секунду, исходящий трафик интрасети, входящий трафик интрасети.
【2】Мониторинг двигателя: соединение с базой данных/таблица/InnoDB/ответ на доступ
Подключения к базе данных включают в себя: количество операций, выполняемых в секунду, количество транзакций, выполняемых в секунду, использование соединения, текущее количество открытых соединений, максимальное количество соединений и т. д.;
Ответ на доступ включает в себя: количество медленных запросов, количество полных сканирований таблицы, количество запросов, количество обновлений, количество удалений, количество вставок, количество покрытий, общее количество запросов и использование запросов;
Таблица: количество временных таблиц, количество ожиданий блокировки таблиц.
InnoDB: частота попадания в кеш, использование кеша, количество дисков чтения, количество дисков записи, количество fsyncs, количество открытых в данный момент таблиц в InnoDB и т. д.;
【3】Расширенные индикаторы мониторинга двигателя
Включая количество подключений, объем записи и чтения InnoDB и т. д.
【4】Мониторинг развертывания
Поскольку большинство приложений корпоративного уровня стремятся к высокой доступности и часто используют модель развертывания «главный-подчиненный», возникают такие проблемы, как задержка «главный-подчиненный». Облачный мониторинг может помочь нам удобно и быстро отслеживать такие показатели.
Стресс-тест производительности
Полная ссылка Стресс-тест производительности: с помощью инструментов облачных вендоров,Расширьте наши тестовые сценарии: от простого режима (GET/POST/PUT/PATCH/DELETE), режима сценария до пользовательской записи. Доступен только план коробки/отгрузки.,Поддерживает динамическое подключение и отключение модулей стресс-тестирования.,Благодаря гибкому стороннему механизму стресс-тестирования,обогатить нашутестсцена。
На этапе исследований и разработок мы часто используем такие инструменты, как Jmeter, для моделирования сценариев параллельных запросов; в эпоху облачных технологий этот вид стресс-тестирования также можно использовать для стресс-тестирования бизнеса после этапа выпуска.
Цель: Новая система онлайн Стресс-тест производительности、Тест пиковой стабильности бизнеса、Оценка планирования бизнес-потенциала、Итерация технологии и проверка обновления.
Мониторинг качества строительного бизнеса
Признанная в отрасли модель мониторинга услуг показана выше: при повышении индикаторов становится меньше (проблему легче выявить), а при понижении — больше индикаторов (больше измерений для анализа).
Шаги по организации мониторинга качества облачных услуг следующие:
Подвести итог
В условиях быстрого развития интернет-бизнеса облачные приложения становятся основной моделью архитектуры интернет-приложений. Облачные приложения легки, гибки, масштабируемы, просты в обслуживании и очень подходят для бизнес-сценариев с высоким уровнем параллелизма и большим трафиком.
Бизнес-мониторинг — одна из ключевых возможностей облачных приложений. Он может помочь команде эксплуатации и обслуживания понять рабочее состояние приложения в режиме реального времени, обнаружить и решить проблемы, а также обеспечить стабильность и надежность приложения.
Короче говоря, бизнес-мониторинг в эпоху облачных технологий станет более интеллектуальным, эффективным и наглядным, помогая команде эксплуатации и обслуживания более эффективно управлять и обслуживать облачные приложения, а также обеспечивать их стабильность и надежность. Друзья, если программирование больше не может выражать наши профессиональные возможности, то следует изучить собственный стек облачных знаний.
Рекомендовано в прошлом
«Саммит интернет-технологий»
《ArchSummit: взгляд на эволюцию архитектуры с точки зрения развития микросервисной среды》
《ArchSummit_2022_Глобальный архитектурный саммит》
《Глобальный саммит архитекторов в Шэньчжэне ArchSummit 2021》
«Классические книги»
《Параллельное программирование на Java на практике: Глава 1. Многопоточная безопасность и риски》
«Стек серверных технологий»
«Концепции основного дизайна Docker»》
«Прошлая и настоящая жизнь HTTP»
«Как провести качественную CR»
«Некоторое время приятно проводить рефакторинг, и приятно проводить рефакторинг постоянно».
«План оптимизации ускорения API: проектирование многоуровневого кэша»