Observable Platform-1: анализ выбора технологии
Observable Platform-1: анализ выбора технологии

что можно наблюдать

Наблюдаемость означает степень, в которой внутреннее состояние системы можно вывести из ее внешних результатов. Наблюдаемость и управляемость системы — математически двойственные понятия.

Цитата иллюстрации: https://mp.weixin.qq.com/s/nAF3lv-qZprLWvOdvSbYXg

В современных программных системах и облачных вычислениях наблюдаемость играет все более важную роль в обеспечении надежности, производительности и безопасности приложений и инфраструктуры. С ростом сложности программных систем, широким распространением микросервисов и растущей зависимостью от распределенных архитектур важность наблюдаемости становится все более важной.

Наблюдаемость в основном включает в себя следующие три аспекта:

  • бревно: записи системных событий, собранные при работе системы бревноды ХОРОШО.,Включает ошибки, предупреждения, ожидание информации. бревно может предоставить подробную информацию о внутреннем состоянии системы,Например, запуск и завершение работы системы, использование ресурсов, Ожидание. ошибки и исключения.
  • Метрики: Метрики — это статистика производительности системы, собранная во время работы системы, например. CPU Использование, использование памяти, ожидание сетевого трафика. индекс может предоставить Статус работы Обзор системы, такой как общее состояние системы, узкие места производительности, ожидание.
  • трассировка ссылок:трассировка Полное отслеживание запросов и ответов в системе ссылок может помочь проанализировать узкие места в производительности системы, ошибки и исключения.

Инструменты наблюдения могут помочь системным администраторам и разработчикам собирать и анализировать вышеуказанные данные, чтобы улучшить понимание и контроль над системой.

Вот некоторые конкретные применения наблюдаемости:

  1. Устранение неполадок. Инструменты наблюдения могут помочь системным администраторам и разработчикам быстро находить и устранять ошибки системы.
  2. Оптимизация производительности. Инструменты наблюдения могут помочь системным администраторам и разработчикам выявить узкие места в производительности системы для оптимизации.
  3. Монитор безопасности: инструменты наблюдения помогают системным администраторам и разработчикам контролировать состояние безопасности системы.,Это предотвращает возникновение инцидентов безопасности.

Эволюция наблюдения

от Одно приложение эра к Эпохе микросервисов, (индекс, бревно, ссылка) Размеры базы данных мониторов претерпели следующие изменения:

Одно приложение

существовать Одно В эпоху приложений приложения обычно представляли собой единое целое, упаковывались и развертывались на сервере в рамках проекта. Поэтому мощность данных обычно одна, например мощность сервера. Процессор, память, сеть и другие показатели.

SOA-приложение

В эпоху SOA приложения делятся на несколько независимых сервисов, и каждый сервис можно независимо разрабатывать, развертывать и управлять им. Таким образом, база данных мониторинга становится более сложной, требующей внимания к использованию ресурсов, показателям производительности и т. д. каждого сервиса.

Распределенное приложение

В эпоху микросервисов приложения делятся на более мелкие микросервисы, и каждый микросервис обычно отвечает только за определенную бизнес-функцию. Поэтому база данных мониторинга становится больше, и необходимо обращать внимание на использование ресурсов, показатели производительности, отслеживание ссылок и другие данные каждого микросервиса.

В частности, базовые параметры данных мониторинга для индикаторов, журналов и отслеживания ссылок в разные эпохи следующие:

этап

индекс

бревно

трассировка ссылок

Одно приложениеэпоха

Использование ресурсов сервера, показатели производительности и т. д.

Журнал запуска приложения

никто

эпоха SOA

Использование ресурсов сервиса, показатели производительности и т. д.

Журнал работы сервиса

Связь между услугами

Эпоха микросервисов

Использование ресурсов микросервиса, показатели производительности и т. д.

микро Журнал работы сервиса

Связи вызовов между микросервисами

С развитием архитектуры приложений размеры базы данных мониторинга становятся все больше и больше, что выдвигает более высокие требования к проектированию и внедрению систем мониторинга. Система мониторинга должна иметь возможность собирать, хранить и анализировать данные мониторинга из разных источников и разных измерений, чтобы обеспечить комплексную поддержку работы и обслуживания приложений.

Мониторинг ресурсов и наблюдаемость приложений

Традиционный ресурсно-ориентированный мониторинг в основном фокусируется на рабочем состоянии системы, включая общее состояние системы, узкие места в производительности и т. д. Традиционный ресурсно-ориентированный мониторинг обычно использует индикаторы для измерения рабочего состояния системы, такие как использование ЦП, использование памяти, сетевой трафик и т. д.

Наблюдение, ориентированное на приложение, фокусируется не только на рабочем состоянии системы, но также на бизнес-логике и данных приложения. Наблюдение, ориентированное на приложения, обычно использует такие технологии, как журналы и трассировка ссылок, для сбора и анализа данных, генерируемых во время работы приложений.

разница

Размеры

Традиционный ресурсно-ориентированный мониторинг

Ориентированная на приложения наблюдаемость

фокус

Статус работы системы

Статус работы приложения, бизнес-логика, данные

Источник данных

индекс

бревно、трассировка ссылок

соединять

Традиционный ресурсно-ориентированный мониторингда Ориентированная на приложения наблюдаемостьчасть。Ориентированная на приложения наблюдательность нужно собирать и анализировать Статус работы системыизиндекс,Этииндексобычно состоит из Традиционный ресурсно-ориентированный мониторингпоставлять。

объем

Традиционный ресурсно-ориентированный Объем мониторинга обычно ограничивается уровнем системы, например, серверами, контейнерами, ожиданием баз данных. Ориентированная на приложения Наблюдаемость может быть расширена до уровня приложения, например, бизнес-логики приложения и ожидания данных.

Конкретно,Традиционный ресурсно-ориентированный мониторинги Ориентированная на приложения наблюдаемостьсуществовать Существуют следующие аспектысуществоватьразница:

  • сосредоточиться на Другой:Традиционный ресурсно-ориентированный мониторингосновнойсосредоточиться —Рабочее состояние системы, например, общее состояние системы и узкие места в производительности. И Ориентированная на приложения наблюдаемость Не толькососредоточиться на рабочее состояние системы, также обратите внимание Бизнес-логика и данные приложения.
  • Источник данныхдругой:Традиционный ресурсно-ориентированный мониторинг Обычно используетсяиндекс для измерения рабочего состояния системы. И Ориентированная на приложения наблюдаемостьно Обычно используется Журналы, отслеживание ссылкиждать технологию сбора и анализа данных, генерируемых во время работы приложения.
  • Цель анализадругой:Традиционный ресурсно-ориентированный мониторингосновной用于Найдите неисправности и оптимизируйте производительность。и Ориентированная на приложения наблюдательность можно использовать для проверки неисправности и оптимизируйте производительность、Анализируйте бизнес-логику、Разберитесь в данных.

Конкретно,Дляресурсизмонитори Ориентированная на приложения наблюдаемостьсуществовать Существуют следующие аспектысуществоватьсоединять:

  1. Традиционный ресурсно-ориентированный мониторингда Ориентированная на приложения наблюдаемостьчасть:Ориентированная на приложения наблюдательность нужно собирать и анализировать Статус работы системыизиндекс,Этииндексобычно состоит из Традиционный ресурсно-ориентированный мониторингпоставлять。
  2. Традиционный ресурсно-ориентированный мониторингможет быть Ориентированная на приложения наблюдаемостьпоставлять基础:Традиционный ресурсно-ориентированный мониторингможет быть Ориентированная на приложения наблюдаемостьпоставлять Статус работы индекс системы, эти индексы могут помочь проанализировать бизнес-логику и данные приложения.

Конкретно,Традиционный ресурсно-ориентированный мониторинги Ориентированная на приложения наблюдаемостьсуществовать Существуют следующие аспектысуществоватьобъемразница:

  1. Объем традиционного ресурсно-ориентированного мониторинга обычно ограничивается системным уровнем.:Например сервер、контейнер、Ожидание базы данных.
  2. Ориентированная на приложения наблюдаемостьно可以扩展到应用层面:Например, бизнес-логика приложения и ожидание данных.

Дляресурсизмонитори Ориентированная на приложения наблюдательность Два связанных, но разных понятия. Традиционный ресурсно-ориентированный мониторингда Ориентированная на приложения Часть наблюдения, которая может быть Ориентированная на приложения наблюдаемостьпоставлять基础。и Ориентированная на приложения Наблюдательность может быть расширена до уровня приложения, чтобы обеспечить бизнес-логику для приложения. данныхпоставлять支持。

Мониторинг системы в основном фокусируется на рабочем состоянии системы, включая общее состояние системы, узкие места в производительности и т. д. При мониторинге системы обычно используются метрики для измерения рабочего состояния системы, такие как загрузка ЦП, использование памяти, сетевой трафик и т. д.

Приложение Наблюдаемое Не толькососредоточиться на рабочее состояние системы, также обратите внимание Бизнес-логика и данные приложения. Приложение Наблюдаемое Обычно используется Журналы, отслеживание ссылкиждать технологию сбора и анализа данных, генерируемых во время работы приложения.

Конкретно,системамонитори Приложение Разницу Наблюдаемого можно резюмировать следующим образом:

Размеры

Мониторинг системы

Приложение Наблюдаемое

Цель анализа

Найдите неисправности и оптимизируйте производительность

Обнаруживайте ошибки, оптимизируйте производительность, анализируйте бизнес-логику и анализируйте данные.

Индикаторы мониторинга

CPU、MEM、Used、Load

SLO, SLI, измерение времени, измерение событий, доступность

Например, SLO — это целевой уровень обслуживания приложения, SLI — это индикатор для измерения SLO, измерение времени и событий могут помочь проанализировать бизнес-логику приложения, а доступность может помочь понять ситуацию с данными приложения.

Вот несколько советов по мониторингу развития вашей базы данных:

Распределенная система мониторинга используется для хранения и обработки данных мониторинга распределенным образом, чтобы справиться с ростом базы данных мониторинга.

Используйте технологию анализа данных для анализа и обработки данных мониторинга и извлечения ценной информации для повышения эффективности и результативности мониторинга.

Используйте автоматизированные инструменты, чтобы сократить ручное вмешательство и повысить автоматизацию мониторинга.

Мониторинг развития систем хранения данных

вместе Эволюция архитектуры приложений, возможность мониторинга данных хранения Также постоянно меняется。существовать Одно приложениеэпоха,Хранение файлы могут удовлетворить потребности в хранении данных монитора. существовать SOA В эпоху микросервисов необходимо использовать распределенные базы данных, такие как TSDB、NoSQL База данных и т. д. В будущем, по мере роста объема данных мониторинга и увеличения спроса на анализ, новые технологии баз данных, такие как графовые базы данных, будут играть все более важную роль в мониторинге хранения данных.

Способ хранения

модель данных

Эффективность хранения

Эффективность запросов

Применимые типы данных

Применимые сценарии

ограничение

Хранение файлов

неструктурированный

Низкий

Низкий

все

Простое хранение данных

Сложное управление данными и плохая масштабируемость

SQLDB

Реляционный

высокий

высокий

структурированный

анализ данных

Плохо хранит неструктурированные данные и имеет плохую горизонтальную масштабируемость.

TSDB

Тайминг

высокий

высокий

Данные временных рядов

Индикаторы мониторинга

Плохо хранит неструктурированные данные и поддерживает ограниченные типы данных.

NoSQL

нереляционный

высокий

Низкийквысокий

все

Разнообразное хранилище данных

Гибкая модель данных、Эффективность запросов Не так хорошо, как Реляционныйбаза данных

база данных строк

ХОРОШО

высокий

высокий

структурированный

Данные журнала

Гибкая модель данных

база данных столбцов

Список

высокий

высокий

неструктурированный

Данные отслеживания ссылок

Гибкая модель данных

графовая база данных

картина

высокий

высокий

реляционные данные

Топология приложения

Гибкая модель данных

Сводка сравнения

  • Хранение файлы: проще всего использовать, но сложно управление данными и плохая масштабируемость。Применимо к Простое хранение данных。
  • SQLDB:модель данныхвесь、Эффективность запросоввысокий,но Плохо хранит неструктурированные данные и имеет плохую горизонтальную масштабируемость.。Применимо канализ данных。
  • TSDB: Поддержка индекса временных меток、Сжатие данных、Выборка данных,но Плохо хранит неструктурированные данные и поддерживает ограниченные типы данных.。Применимо к Индикаторы мониторинга。
  • NoSQL:Гибкая модель данных, сильная горизонтальная масштабируемость, низкая стоимость, но эффективность запрос не так хорош, как в Реляционной базе данных. Подходит для Различное хранилище данных。
  • база данных строк:Эффективность хранениявысокий、Эффективность запросоввысокий,Применяется к структурированным данным,Например Данные журнала。
  • база данных столбцов:Эффективность хранениявысокий、Эффективность запросоввысокий,Применяется к неструктурированным данным,Например Данные отслеживания ссылок。
  • графовая база данные: может эффективно хранить и анализировать сложные реляционные данные. данные с высокой производительностью и масштабируемостью для топологии приложения。

Выбор технологии системы мониторинга

Система мониторинга

Данные индикатора

Данные журнала

Данные отслеживания ссылок

Nagios

Хранение файлов

Хранение файлов

Не поддерживается

Zabbix

SQLDB

SQLDB

Не поддерживается

Prometheus

TSDB

TSDB

Не поддерживается

наблюдаемая платформа

TSDB

NoSQL

NoSQL/графовая база данных

Nagios и Zabbix Обычно используетсяместный Хранение файлы, вы также можете использовать сторонние Хранение система файлов, например Elasticsearch。

Prometheus Обычно используется InfluxDB、Grafana ждать TSDB и Инструменты визуализации。

наблюдаемая платформа Обычно используется OpenTelemetry、Prometheus ждать TSDB и Elasticsearch, ClickHouseждать NoSQL а такжеграфовая база данных。

Выберите предложения

  • Данные индикатора: TSDB да Лучший выбор для хранения данных индекса,Потому что он высокий производительность, надежность и масштабируемость.。
  • Данные журнал: База данных NoSQL и хранилище данных Лучший выбор для журнала из-за его гибкой структуры хранения и высокой масштабируемости.
  • Данные отслеживания ссылок:NoSQLбаза данныхиграфовая база данныхдахранилище Данные отслеживания Лучший выбор для ссылок, поскольку позволяет эффективно хранить и анализировать сложные реляционные данные. данные。
  • Nagios и Zabbix да Традиционная система мониторинга в основном используется для индексирования использования ресурсов и производительности системы мониторинга. Они обычно используется Хранение файлы или Реляционная база данных для хранения индексированных данных и Данных. журнала。
  • Prometheus да Система мониторинга с открытым исходным кодом, ориентированная на индикаторы Данные Диптихика. он использует TSDB Для хранения данных индикатора и поддержки быстрого запроса данных индикатора.
  • наблюдаемая платформа да Ориентированная на приложения платформой наблюдения могут не только Индикаторы мониторингаданные,ОКмонитор Данные журналаи Данные отслеживания ссылок。они Обычно используется TSDB、NoSQL илиграфовая база данных来хранилищеиндексданные、Данные журналаи Данные отслеживания ссылок。

2.5 база данных столбцовиграфовая база данныхиз优势

вместе Рост объема данных монитора, Эффективность данных монитора хранениеи Масштабируемость предъявляет больше требований. база данных столбцовиграфовая база Данные имеют следующие преимущества, которые делают их основным выбором для хранения данных мониторинга:

Благодаря постоянному развитию технологий искусственного интеллекта мониторинг с помощью искусственного интеллекта (AIGC) Это стало горячей тенденцией в сфере наблюдения. АЙГК Можно использовать технологию искусственного интеллекта.,Автоматизируйте задачи монитора,Повышайте эффективность и точность.

существовать AIGC , векторные базы данных могут играть важную вспомогательную роль. Векторные базы данных могут эффективно хранить и анализировать неструктурированные данные, такие как данные. журналаи Данные отслеживания ссылки. Эти данные обычно имеют следующие характеристики:

Объем данных большой, а структура сложная.

Вам необходимо быстро запросить данные, например запросить данные журнала или данные идентификационных ссылок в течение определенного периода времени.

Векторная база данных эффективности храненияи Эффективность запросов可以满足Эти需求。также,База данных Vector также поддерживает технологию искусственного интеллекта.,Может использоваться в следующих сценариях применения:

  • Обнаружение аномалий. Базы данных векторов можно использовать для хранения исторических данных и использования технологий искусственного интеллекта для обнаружения аномалий.
  • Диагностика неисправностей: векторную базу данных можно использовать для хранения данных и использования технологии искусственного интеллекта для диагностики неисправностей.
  • Оптимизация производительности: векторная база данных может использоваться для хранения данных монитора.,И используйте технологию искусственного интеллекта для оптимизации производительности.

База данных векторов может быть AIGC предлагает следующие преимущества: Эффективное хранение и анализ некабельных данных. Поддерживает технологию искусственного интеллекта и может использоваться в сценариях обнаружения аномалий, диагностики неисправностей и оптимизации производительности.

Вот несколько конкретных примеров:

  1. существуют Обнаружение аномалий,База данных векторов может хранить исторические данные.,И используйте технологию искусственного интеллекта для обнаружения отклонений. Например,Может использовать алгоритмы машинного обучения,Извлекайте уроки из аномальных закономерностей в исторических данных,И существуют новые данные монитора для идентификации ХОРОШО.
  2. существуют. При диагностике неисправностей векторная база данных может хранить данные. журналаи Данные отслеживания ссылки и использовать технологии искусственного интеллекта для диагностики неисправностей ХОРОШО. Например, алгоритмы обработки естественного языка могут использоваться для журнал проводит ХОРОШО анализ и выявляет критически важную информацию, которая может привести к сбою.
  3. существуют Производительность оптимизируется,База данных векторов может хранить данные монитора.,И используйте технологию искусственного интеллекта для оптимизации производительности. Например,Может использовать алгоритмы машинного обучения,Анализ индекса производительности в данных монитора,и выявить узкие места в производительности.

вместе с С непрерывным развитием технологии AIGC, ее применение в области векторных баз данных существующегомонитора будет становиться все более обширным.

Создание платформы наблюдения с открытым исходным кодом

Объединение различного программного обеспечения существует вместе,В соответствии с реальными потребностями,构建一个满足特定需求изнаблюдаемая платформа. Например, вы можете Prometheus、Grafana и AlertManager Объединитесь вместе, чтобы построить базовую наблюдательную платформа. Вы также можете Prometheus、Grafana、AlertManager и DeepFlow Объединитесь вместе, чтобы построить более мощную наблюдательную платформа

Комбинация выбора программного обеспечения наблюдательной платформы с открытым исходным кодом в основном включает в себя следующие аспекты:

  • Хранение данных: ClickHouse, Neo4j, VectorDB. ждать TSDB、NoSQL илиграфовая база данных。
  • Сбор данных индикаторов: OpenTelemetry, Prometheus ждать。
  • Визуализация: Графана ждать。
  • Оповещение:AlertManager ждать。
  • Устранение неполадок: DeepFlow ждать。

в:

  • ClickHouse База данных в стиле да Список, с высокой производительностью, высокой надежностью и масштабируемостью, подходящая для хранения данных индексов, хранения данных. журналаи Данные отслеживания ссылок
  • Neo4j даграфовая база данных,Подходит для хранения сложных топологий каналов.,ресурс,Зависимости интерфейса
  • VectorDB — это векторная база данных, подходящая для анализа и поиска данных механизмами искусственного интеллекта, а также может служить долговременной памятью для механизмов искусственного интеллекта.
  • PromQL — это язык запросов Prometheus, который используется для запроса данных метрик.
  • LogQL да Loki Язык запросов для запроса данных журнала。
  • OpenTelemetry датрассировка ссылки стандартные для сбора и хранения данных отслеживания Набор инструментов для ссылок.
  • Prometheus да TSDB, используемый для хранения данных индикаторов.
  • Grafana инструмент давизуализации для визуализации данных индексов, Данные журналаи Данные отслеживания ссылок。
  • AlertManager — система сигнализации, используемая для отправки тревожных уведомлений.
  • Инструмент устранения неполадок DeepFlow,Для анализа данных монитора,Выясните причину сбоя системы.

ссылка

  1. Открытый исходный коднаблюдаемая решение платформы https://cloud.tencent.com/developer/article/2363793
  2. Открытый исходный коднаблюдаемая решение платформы-Эксплуатация и обслуживание手册 https://cloud.tencent.com/developer/article/2363815
boy illustration
Неразрушающее увеличение изображений одним щелчком мыши, чтобы сделать их более четкими артефактами искусственного интеллекта, включая руководства по установке и использованию.
boy illustration
Копикодер: этот инструмент отлично работает с Cursor, Bolt и V0! Предоставьте более качественные подсказки для разработки интерфейса (создание навигационного веб-сайта с использованием искусственного интеллекта).
boy illustration
Новый бесплатный RooCline превосходит Cline v3.1? ! Быстрее, умнее и лучше вилка Cline! (Независимое программирование AI, порог 0)
boy illustration
Разработав более 10 проектов с помощью Cursor, я собрал 10 примеров и 60 подсказок.
boy illustration
Я потратил 72 часа на изучение курсорных агентов, и вот неоспоримые факты, которыми я должен поделиться!
boy illustration
Идеальная интеграция Cursor и DeepSeek API
boy illustration
DeepSeek V3 снижает затраты на обучение больших моделей
boy illustration
Артефакт, увеличивающий количество очков: на основе улучшения характеристик препятствия малым целям Yolov8 (SEAM, MultiSEAM).
boy illustration
DeepSeek V3 раскручивался уже три дня. Сегодня я попробовал самопровозглашенную модель «ChatGPT».
boy illustration
Open Devin — инженер-программист искусственного интеллекта с открытым исходным кодом, который меньше программирует и больше создает.
boy illustration
Эксклюзивное оригинальное улучшение YOLOv8: собственная разработка SPPF | SPPF сочетается с воспринимаемой большой сверткой ядра UniRepLK, а свертка с большим ядром + без расширения улучшает восприимчивое поле
boy illustration
Популярное и подробное объяснение DeepSeek-V3: от его появления до преимуществ и сравнения с GPT-4o.
boy illustration
9 основных словесных инструкций по доработке академических работ с помощью ChatGPT, эффективных и практичных, которые стоит собрать
boy illustration
Вызовите deepseek в vscode для реализации программирования с помощью искусственного интеллекта.
boy illustration
Познакомьтесь с принципами сверточных нейронных сетей (CNN) в одной статье (суперподробно)
boy illustration
50,3 тыс. звезд! Immich: автономное решение для резервного копирования фотографий и видео, которое экономит деньги и избавляет от беспокойства.
boy illustration
Cloud Native|Практика: установка Dashbaord для K8s, графика неплохая
boy illustration
Краткий обзор статьи — использование синтетических данных при обучении больших моделей и оптимизации производительности
boy illustration
MiniPerplx: новая поисковая система искусственного интеллекта с открытым исходным кодом, спонсируемая xAI и Vercel.
boy illustration
Конструкция сервиса Synology Drive сочетает проникновение в интрасеть и синхронизацию папок заметок Obsidian в облаке.
boy illustration
Центр конфигурации————Накос
boy illustration
Начинаем с нуля при разработке в облаке Copilot: начать разработку с минимальным использованием кода стало проще
boy illustration
[Серия Docker] Docker создает мультиплатформенные образы: практика архитектуры Arm64
boy illustration
Обновление новых возможностей coze | Я использовал coze для создания апплета помощника по исправлению домашних заданий по математике
boy illustration
Советы по развертыванию Nginx: практическое создание статических веб-сайтов на облачных серверах
boy illustration
Feiniu fnos использует Docker для развертывания личного блокнота Notepad
boy illustration
Сверточная нейронная сеть VGG реализует классификацию изображений Cifar10 — практический опыт Pytorch
boy illustration
Начало работы с EdgeonePages — новым недорогим решением для хостинга веб-сайтов
boy illustration
[Зона легкого облачного игрового сервера] Управление игровыми архивами
boy illustration
Развертывание SpringCloud-проекта на базе Docker и Docker-Compose