<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D1%8C%D1%82%D0%B5_%D1%80%D0%B5%D0%B0%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%8B_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8</id>
	<title>Ускорьте реагирование на инциденты с помощью опорного времени - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D1%8C%D1%82%D0%B5_%D1%80%D0%B5%D0%B0%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%8B_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D1%8C%D1%82%D0%B5_%D1%80%D0%B5%D0%B0%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%8B_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8&amp;action=history"/>
	<updated>2026-10-06T18:00:44Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D1%8C%D1%82%D0%B5_%D1%80%D0%B5%D0%B0%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%8B_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8&amp;diff=6836&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: « = Ускорьте реагирование на инциденты с помощью опорного времени в Расследованиях = &#039;&#039;&#039;Руководство&#039;&#039;&#039;  Эффективное реагирование на инциденты и анализ первопричин зависят от точного времени и контекста. С опорным временем в &#039;&#039;&#039;Расследованиях&#039;&#039;&#039; вы можете ул...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=%D0%A3%D1%81%D0%BA%D0%BE%D1%80%D1%8C%D1%82%D0%B5_%D1%80%D0%B5%D0%B0%D0%B3%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5_%D0%BD%D0%B0_%D0%B8%D0%BD%D1%86%D0%B8%D0%B4%D0%B5%D0%BD%D1%82%D1%8B_%D1%81_%D0%BF%D0%BE%D0%BC%D0%BE%D1%89%D1%8C%D1%8E_%D0%BE%D0%BF%D0%BE%D1%80%D0%BD%D0%BE%D0%B3%D0%BE_%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%B8&amp;diff=6836&amp;oldid=prev"/>
		<updated>2026-09-24T18:23:04Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: « = Ускорьте реагирование на инциденты с помощью опорного времени в Расследованиях = &amp;#039;&amp;#039;&amp;#039;Руководство&amp;#039;&amp;#039;&amp;#039;  Эффективное реагирование на инциденты и анализ первопричин зависят от точного времени и контекста. С опорным временем в &amp;#039;&amp;#039;&amp;#039;Расследованиях&amp;#039;&amp;#039;&amp;#039; вы можете ул...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;&lt;br /&gt;
= Ускорьте реагирование на инциденты с помощью опорного времени в Расследованиях =&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Руководство&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Эффективное реагирование на инциденты и анализ первопричин зависят от точного времени и контекста. С опорным временем в &amp;#039;&amp;#039;&amp;#039;Расследованиях&amp;#039;&amp;#039;&amp;#039; вы можете улучшить расследования на основе данных, получив более глубокое понимание последовательности событий. В этой статье рассказывается, как извлечь максимальную пользу из опорного времени в &amp;#039;&amp;#039;&amp;#039;Расследованиях&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
== Целевая аудитория ==&lt;br /&gt;
Эта статья предназначена для инженеров по безопасности и инженеров по надёжности сайтов, которые участвуют в реагировании на инциденты, анализе первопричин и охоте на угрозы, включающих расследования на основе данных.&lt;br /&gt;
&lt;br /&gt;
== Сценарий ==&lt;br /&gt;
Вы получаете уведомление о том, что в вашей продуктивной среде наблюдается высокая нагрузка ошибок &amp;#039;&amp;#039;&amp;#039;HTTP 503&amp;#039;&amp;#039;&amp;#039;. Теперь вам нужно быстро выяснить, что вызвало эти ошибки. Вы входите в свою среду Ключ-АСТРОМ и начинаете расследование. К счастью, ваши коллеги уже начали расследование, и некоторые первоначальные шаги уже предприняты.&lt;br /&gt;
&lt;br /&gt;
== Перед началом ==&lt;br /&gt;
&lt;br /&gt;
# Откройте общее расследование в режиме только для чтения в &amp;#039;&amp;#039;&amp;#039;Ключ-АСТРОМ Playground&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
# Дублируйте расследование, чтобы продолжить сценарий расследования и иметь возможность выполнять запросы. Инструкции см. в разделе «Дублирование расследований».&lt;br /&gt;
&lt;br /&gt;
== Начало работы ==&lt;br /&gt;
Следующие шаги проведут вас через процесс анализа первопричин с использованием опорного времени как одного из инструментов в &amp;#039;&amp;#039;&amp;#039;Расследованиях&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 1. Проанализируйте график ответов ====&lt;br /&gt;
Откройте дублированное расследование и выберите синий узел, чтобы увидеть графическое представление распределения кодов ответа во времени.&lt;br /&gt;
&lt;br /&gt;
Вы можете увидеть всплеск кода ответа 503 в течение некоторого времени, прежде чем он вернётся к нормальному состоянию.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 2. Найдите первое появление ошибки ====&lt;br /&gt;
Как указано в &amp;#039;&amp;#039;&amp;#039;RFC7231&amp;#039;&amp;#039;&amp;#039;, код ответа 503 (Service Unavailable) указывает на то, что сервер в настоящее время не может обработать запрос из-за временной перегрузки или запланированного обслуживания, которое, вероятно, будет устранено после некоторой задержки. Другими словами, запрос, приводящий к ответу 503, не является причиной проблемы, а лишь указывает на то, что что-то уже нарушило работу сервиса.&lt;br /&gt;
&lt;br /&gt;
Чтобы выяснить, что вызвало проблемы с сервисом, давайте рассмотрим события, произошедшие до первого запроса, получившего ответ 503.&lt;br /&gt;
&lt;br /&gt;
# В поле ввода запроса для синего узла удалите последнюю строку, содержащую команду &amp;lt;code&amp;gt;makeTimeseries&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Добавьте следующую команду фильтрации, чтобы получить только запросы с кодом ответа 503:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
| filter response_code == 503&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Добавьте следующую команду &amp;lt;code&amp;gt;summarize&amp;lt;/code&amp;gt;, чтобы взять минимальное значение метки времени из всех результатов:&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
| summarize min(timestamp)&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Запустите запрос.&lt;br /&gt;
# Это создаст новый узел с одним значением в поле &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Щёлкните правой кнопкой мыши по метке времени в таблице результатов и выберите &amp;#039;&amp;#039;&amp;#039;Установить как опорное время&amp;#039;&amp;#039;&amp;#039;, чтобы определить её как опорную.&lt;br /&gt;
&lt;br /&gt;
Вы заметите поле опорного времени в верхней части страницы и новый виртуальный столбец &amp;lt;code&amp;gt;timestamp_diff&amp;lt;/code&amp;gt;, представляющий смещение между значением метки времени и вашим опорным временем. Опорное время равно 00:00:00.000, так как значение в поле &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; и опорное время совпадают.&lt;br /&gt;
&lt;br /&gt;
Несколько виртуальных полей смещения могут находиться в одном наборе результатов; вы можете создать виртуальное поле для любого типа метки времени.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 3. Найдите предшествующее сообщение об ошибке ====&lt;br /&gt;
Используя опорное время, давайте поищем запрос, который привёл к неотзывчивости нашего сервиса.&lt;br /&gt;
&lt;br /&gt;
# Перейдите ко второму (оранжевому) узлу, чтобы увидеть логи &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Вы заметите, что поле смещения опорного времени также присутствует в этой таблице результатов.&lt;br /&gt;
# В меню поля опорного времени выберите &amp;#039;&amp;#039;&amp;#039;Раньше чем&amp;#039;&amp;#039;&amp;#039;. Это создаст фильтр по метке времени, чтобы получить логи, записанные до времени опорного значения метки времени.&lt;br /&gt;
# Переименуйте &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; в &amp;lt;code&amp;gt;start_time&amp;lt;/code&amp;gt; в команде фильтрации по метке времени.&lt;br /&gt;
#* &amp;#039;&amp;#039;&amp;#039;Причина&amp;#039;&amp;#039;&amp;#039;: при создании опорного времени для фильтрации используется первое поле метки времени. В данном случае используется поле &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt;. Для логов &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039; нам нужно использовать поле &amp;lt;code&amp;gt;start_time&amp;lt;/code&amp;gt;; это означает, что вам нужно вручную изменить фильтр и переименовать &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; в &amp;lt;code&amp;gt;start_time&amp;lt;/code&amp;gt; в операторе фильтра.&lt;br /&gt;
# Добавьте команду сортировки, чтобы отсортировать результаты в хронологическом порядке.&lt;br /&gt;
&lt;br /&gt;
Ваш запрос &amp;#039;&amp;#039;&amp;#039;DQL&amp;#039;&amp;#039;&amp;#039; должен выглядеть примерно так:&amp;lt;pre&amp;gt;&lt;br /&gt;
fetch logs, timeframe: &amp;quot;05:00:00Z/06:00:00Z&amp;quot;&lt;br /&gt;
| filter k8s.cluster.name == &amp;quot;prod.cupid.cluster&amp;quot;&lt;br /&gt;
| filter k8s.container.name == &amp;quot;istio-proxy&amp;quot;&lt;br /&gt;
| parse content, &amp;quot;json{JSONTIMESTAMP:start_time, INT:response_code}(flat=true)&amp;quot;&lt;br /&gt;
| filter start_time &amp;lt; toTimestamp(&amp;quot;2025-05-12T05:32:01.000Z&amp;quot;)&lt;br /&gt;
| sort timestamp desc&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
# Запустите запрос.&lt;br /&gt;
# Первая запись в таблице результатов содержит ответ &amp;#039;&amp;#039;&amp;#039;HTTP 500&amp;#039;&amp;#039;&amp;#039;, что может указывать на запрос, который мог вызвать ошибку в вашей системе.&lt;br /&gt;
# Щёлкните правой кнопкой мыши по метке времени записи и выберите &amp;#039;&amp;#039;&amp;#039;Заменить как опорное время&amp;#039;&amp;#039;&amp;#039;, чтобы заменить текущее опорное время значением из подозрительного запроса.&lt;br /&gt;
&lt;br /&gt;
==== Шаг 4. Проанализируйте логи приложения ====&lt;br /&gt;
Вы нашли запрос, который привёл к ошибке &amp;#039;&amp;#039;&amp;#039;HTTP 500&amp;#039;&amp;#039;&amp;#039; в логах &amp;#039;&amp;#039;&amp;#039;Istio&amp;#039;&amp;#039;&amp;#039;. Однако, чтобы понять, что произошло с вашим приложением, вам нужно углубиться в логи приложения.&lt;br /&gt;
&lt;br /&gt;
# Перейдите к первому узлу дерева запросов. Здесь вы можете увидеть все контейнеры и процессы, для которых у вас есть логи.&lt;br /&gt;
# В поле ввода запроса удалите команду &amp;lt;code&amp;gt;summarize&amp;lt;/code&amp;gt;.&lt;br /&gt;
# Щёлкните правой кнопкой мыши по значению &amp;lt;code&amp;gt;heartbeat-matcher-service&amp;lt;/code&amp;gt; в столбце &amp;lt;code&amp;gt;k8s.container.name&amp;lt;/code&amp;gt;, выберите &amp;#039;&amp;#039;&amp;#039;Фильтр&amp;#039;&amp;#039;&amp;#039; и запустите запрос.&lt;br /&gt;
# Результаты показывают все логи приложения и их относительное расстояние от момента возникновения ошибки (то есть смещение относительно нашего опорного времени).&lt;br /&gt;
# В меню поля опорного времени в разделе &amp;#039;&amp;#039;&amp;#039;Показать окружающие логи&amp;#039;&amp;#039;&amp;#039; выберите &amp;#039;&amp;#039;&amp;#039;1 мин&amp;#039;&amp;#039;&amp;#039; и запустите запрос.&lt;br /&gt;
# Это позволит вам внимательно изучить соответствующие события и отфильтровать только те, что находятся вокруг вашего опорного времени.&lt;br /&gt;
# В заголовке столбца &amp;lt;code&amp;gt;timestamp&amp;lt;/code&amp;gt; выберите &amp;#039;&amp;#039;&amp;#039;Сортировать по возрастанию&amp;#039;&amp;#039;&amp;#039;, чтобы отсортировать результаты в хронологическом порядке.&lt;br /&gt;
&lt;br /&gt;
Просматривая результаты, вы можете увидеть все запросы и залогированную информацию о времени инцидента. Прокрутив дальше вниз, вы обнаружите, что трассировка стека была записана в логи точно в момент опорного времени.&lt;br /&gt;
&lt;br /&gt;
== Заключение ==&lt;br /&gt;
С опорным временем вы можете эффективно перемещаться по логам, сохраняя временной контекст инцидента. Оно помогает отслеживать смещение времени между событиями, которые вы анализируете, и моментом возникновения инцидента. Это позволяет выявлять соответствующие цепочки и доказательства — даже из логов и событий, которые изначально могут показаться не связанными.&lt;br /&gt;
&lt;br /&gt;
Опорное время объединяет разнообразную информацию, обеспечивая согласованный контекст инцидента для всех точек данных.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>