<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Документация Proto Observability Platform – annotations</title><link>/docs/tags/annotations/</link><description>Recent content in annotations on Документация Proto Observability Platform</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="/docs/tags/annotations/index.xml" rel="self" type="application/rss+xml"/><item><title>Guides: Маркеры событий (аннотации)</title><link>/docs/guides/event_markers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/guides/event_markers/</guid><description>
&lt;p>На этой странице:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#%d1%87%d1%82%d0%be-%d1%8d%d1%82%d0%be-%d1%82%d0%b0%d0%ba%d0%be%d0%b5">Что это такое&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b1%d1%8b%d1%81%d1%82%d1%80%d1%8b%d0%b9-%d1%81%d1%82%d0%b0%d1%80%d1%82">Быстрый старт&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b7%d0%b0%d1%87%d0%b5%d0%bc-%d1%8d%d1%82%d0%be-%d0%bd%d1%83%d0%b6%d0%bd%d0%be">Зачем это нужно&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%b2%d1%8b%d0%b5-%d0%bf%d0%be%d0%bd%d1%8f%d1%82%d0%b8%d1%8f">Ключевые понятия&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b3%d0%be%d1%82%d0%be%d0%b2%d1%8b%d0%b5-%d0%bf%d1%80%d0%b8%d0%bc%d0%b5%d1%80%d1%8b">Готовые примеры&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%81%d0%bf%d1%80%d0%b0%d0%b2%d0%be%d1%87%d0%bd%d0%b8%d0%ba-api">Справочник API&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%81%d0%be%d0%b2%d0%bc%d0%b5%d1%81%d1%82%d0%b8%d0%bc%d0%be%d1%81%d1%82%d1%8c-%d1%81-grafana">Совместимость с Grafana&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d1%85%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b8-%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf">Хранение и доступ&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="что-это-такое">Что это такое&lt;/h2>
&lt;div class="alert alert-info" role="alert">
&lt;h4 class="alert-heading">Доступно с версии 201&lt;/h4>
Grafana-совместимый API маркеров событий (&lt;code>/api/annotations&lt;/code>) для записи релизов, деплоев, изменений и инцидентов и их отображения на дашбордах.
&lt;/div>
&lt;p>&lt;strong>Маркер события (аннотация)&lt;/strong> — это отметка во времени поверх графиков метрик:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>точечный маркер&lt;/strong> — вертикальная линия (событие в один момент);&lt;/li>
&lt;li>&lt;strong>интервальный маркер&lt;/strong> — закрашенная область (событие с длительностью).&lt;/li>
&lt;/ul>
&lt;p>Метрики показывают, &lt;em>что&lt;/em> произошло (выросло время отклика, пошли ошибки), но не отвечают, &lt;em>почему именно в этот момент&lt;/em>. Маркеры добавляют недостающий слой контекста: «время отклика подскочило сразу после релиза &lt;code>v2.4.1&lt;/code>» или «провал трафика — это плановые работы, а не авария».&lt;/p>
&lt;p>События записываются простым HTTP-запросом из CI/CD-пайплайнов, скриптов и сторонних систем.&lt;/p>
&lt;h2 id="быстрый-старт">Быстрый старт&lt;/h2>
&lt;p>Отметить релиз — один запрос:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl -X POST &lt;span class="s2">&amp;#34;https://&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PROTO_BACKEND_URL&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/api/annotations&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -d &lt;span class="s1">&amp;#39;{&amp;#34;text&amp;#34;: &amp;#34;Релиз payment_bank v2.4.1&amp;#34;, &amp;#34;tags&amp;#34;: [&amp;#34;release&amp;#34;], &amp;#34;type&amp;#34;: &amp;#34;RELEASE&amp;#34;, &amp;#34;service&amp;#34;: &amp;#34;payment_bank&amp;#34;}&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>В ответ вернётся идентификатор созданного маркера:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-json" data-lang="json">&lt;span class="line">&lt;span class="cl">&lt;span class="p">{&lt;/span> &lt;span class="nt">&amp;#34;id&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;0a4e7c8b-1f2d-4a3e-9b8c-2d1e0f3a4b5c&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="nt">&amp;#34;message&amp;#34;&lt;/span>&lt;span class="p">:&lt;/span> &lt;span class="s2">&amp;#34;Annotation added&amp;#34;&lt;/span> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Готово — событие записано и доступно для отображения на дашбордах. Аутентификация не требуется (см. &lt;a href="#%d1%85%d1%80%d0%b0%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d0%b8-%d0%b4%d0%be%d1%81%d1%82%d1%83%d0%bf">Хранение и доступ&lt;/a>); &lt;code>PROTO_BACKEND_URL&lt;/code> указывается без префикса &lt;code>https://&lt;/code>.&lt;/p>
&lt;h2 id="зачем-это-нужно">Зачем это нужно&lt;/h2>
&lt;p>Один маркер на графике мгновенно отвечает на первый вопрос при разборе сбоя — «что изменилось прямо перед этим?». Большинство инцидентов в проде вызвано именно изменениями (деплой или конфигурация), поэтому такая корреляция напрямую &lt;strong>сокращает время восстановления (MTTR)&lt;/strong>.&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Сценарий&lt;/th>
&lt;th>Что отмечаем&lt;/th>
&lt;th>Что это даёт заказчику&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>Релизы и деплои&lt;/strong>&lt;/td>
&lt;td>Версия, коммит, время выката&lt;/td>
&lt;td>Видно, что всплеск ошибок совпал с релизом → быстрый откат и точный виновник&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Инциденты и аварии&lt;/strong>&lt;/td>
&lt;td>Период деградации (интервал)&lt;/td>
&lt;td>Готовая хронология для постмортема и аудита&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Плановые работы&lt;/strong>&lt;/td>
&lt;td>Окно техработ (интервал)&lt;/td>
&lt;td>Падение трафика не путают с аварией и не засчитывают как нарушение SLO&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Изменения конфигурации&lt;/strong>&lt;/td>
&lt;td>Feature-флаг, масштабирование, миграция БД&lt;/td>
&lt;td>Объясняет «загадочные» деградации, не связанные с релизом кода&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>Бизнес-события&lt;/strong>&lt;/td>
&lt;td>Кампания, распродажа, рассылка&lt;/td>
&lt;td>Всплеск нагрузки выглядит объяснимым, а не аномальным&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Дополнительно маркеры дают &lt;strong>контекст дежурному без «археологии»&lt;/strong> (не нужно искать по Git, чатам и CI-логам) и при длительном хранении служат &lt;strong>журналом изменений в проде&lt;/strong>.&lt;/p>
&lt;h2 id="ключевые-понятия">Ключевые понятия&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Точечный маркер&lt;/strong> — событие в один момент времени (по умолчанию). Время задаётся полем &lt;code>time&lt;/code>.&lt;/li>
&lt;li>&lt;strong>Интервальный маркер&lt;/strong> — событие с длительностью. Создаётся добавлением &lt;code>timeEnd&lt;/code> и отображается закрашенной областью.&lt;/li>
&lt;li>&lt;strong>Глобальное событие&lt;/strong> — поле &lt;code>service&lt;/code> не задано. Относится ко всей платформе и видно на дашборде любого сервиса. Подходит для платформенных релизов и общих работ.&lt;/li>
&lt;li>&lt;strong>Событие сервиса&lt;/strong> — поле &lt;code>service&lt;/code> задано. Видно только в контексте этого сервиса, не зашумляя остальные дашборды.&lt;/li>
&lt;li>&lt;strong>Теги&lt;/strong> (&lt;code>tags&lt;/code>) — метки для фильтрации (&lt;code>release&lt;/code>, &lt;code>deployment&lt;/code>, &lt;code>change&lt;/code>, &lt;code>incident&lt;/code>, &lt;code>env:production&lt;/code>). По ним дашборды отбирают, какие события показывать.&lt;/li>
&lt;li>&lt;strong>Тип&lt;/strong> (&lt;code>type&lt;/code>) — категория маркера, например &lt;code>RELEASE&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h2 id="готовые-примеры">Готовые примеры&lt;/h2>
&lt;p>Скопируйте подходящий шаблон в свой пайплайн или скрипт. Время указывается в &lt;strong>миллисекундах эпохи&lt;/strong> (Unix-время × 1000).&lt;/p>
&lt;p>&lt;strong>Релиз конкретного сервиса&lt;/strong> (со ссылкой на сборку — в &lt;code>text&lt;/code> допустима HTML-разметка):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl -X POST &lt;span class="s2">&amp;#34;https://&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PROTO_BACKEND_URL&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/api/annotations&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -d &lt;span class="s1">&amp;#39;{
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;text&amp;#34;: &amp;#34;Релиз &amp;lt;b&amp;gt;payment_bank&amp;lt;/b&amp;gt; v2.4.1 · commit a1b2c3d · &amp;lt;a href=\&amp;#34;https://ci/build/987\&amp;#34;&amp;gt;сборка #987&amp;lt;/a&amp;gt;&amp;#34;,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;tags&amp;#34;: [&amp;#34;release&amp;#34;, &amp;#34;env:production&amp;#34;],
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;type&amp;#34;: &amp;#34;RELEASE&amp;#34;,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;service&amp;#34;: &amp;#34;payment_bank&amp;#34;
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Глобальный релиз&lt;/strong> (виден на всех дашбордах — &lt;code>service&lt;/code> не указан):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl -X POST &lt;span class="s2">&amp;#34;https://&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PROTO_BACKEND_URL&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/api/annotations&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -d &lt;span class="s1">&amp;#39;{&amp;#34;text&amp;#34;: &amp;#34;Платформенный релиз v2.4.1&amp;#34;, &amp;#34;tags&amp;#34;: [&amp;#34;release&amp;#34;], &amp;#34;type&amp;#34;: &amp;#34;RELEASE&amp;#34;}&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Окно технических работ&lt;/strong> (интервальный маркер — заданы &lt;code>time&lt;/code> и &lt;code>timeEnd&lt;/code>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl -X POST &lt;span class="s2">&amp;#34;https://&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PROTO_BACKEND_URL&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/api/annotations&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -H &lt;span class="s2">&amp;#34;Content-Type: application/json&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -d &lt;span class="s1">&amp;#39;{
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;text&amp;#34;: &amp;#34;Плановое обслуживание БД&amp;#34;,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;tags&amp;#34;: [&amp;#34;change&amp;#34;, &amp;#34;maintenance&amp;#34;],
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;time&amp;#34;: 1730000000000,
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> &amp;#34;timeEnd&amp;#34;: 1730003600000
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="s1"> }&amp;#39;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Получить релизы сервиса за период:&lt;/strong>&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-shell" data-lang="shell">&lt;span class="line">&lt;span class="cl">curl &lt;span class="s2">&amp;#34;https://&lt;/span>&lt;span class="si">${&lt;/span>&lt;span class="nv">PROTO_BACKEND_URL&lt;/span>&lt;span class="si">}&lt;/span>&lt;span class="s2">/api/annotations?from=1729000000000&amp;amp;to=1731000000000&amp;amp;tags=release&amp;amp;service=payment_bank&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="справочник-api">Справочник API&lt;/h2>
&lt;p>Базовый путь — &lt;code>/api/annotations&lt;/code>. Время передаётся в миллисекундах эпохи.&lt;/p>
&lt;h3 id="эндпоинты">Эндпоинты&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Метод&lt;/th>
&lt;th>Путь&lt;/th>
&lt;th>Назначение&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>POST&lt;/code>&lt;/td>
&lt;td>&lt;code>/api/annotations&lt;/code>&lt;/td>
&lt;td>Создать маркер&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>GET&lt;/code>&lt;/td>
&lt;td>&lt;code>/api/annotations&lt;/code>&lt;/td>
&lt;td>Получить список маркеров&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PUT&lt;/code>&lt;/td>
&lt;td>&lt;code>/api/annotations/{id}&lt;/code>&lt;/td>
&lt;td>Полностью заменить маркер&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>PATCH&lt;/code>&lt;/td>
&lt;td>&lt;code>/api/annotations/{id}&lt;/code>&lt;/td>
&lt;td>Частично обновить маркер&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>DELETE&lt;/code>&lt;/td>
&lt;td>&lt;code>/api/annotations/{id}&lt;/code>&lt;/td>
&lt;td>Удалить маркер&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="поля-запроса-post--put">Поля запроса (&lt;code>POST&lt;/code> / &lt;code>PUT&lt;/code>)&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Поле&lt;/th>
&lt;th style="text-align:center">Обяз.&lt;/th>
&lt;th>Тип&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>text&lt;/code>&lt;/td>
&lt;td style="text-align:center">да&lt;/td>
&lt;td>строка&lt;/td>
&lt;td>Описание события (допустима HTML-разметка)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>tags&lt;/code>&lt;/td>
&lt;td style="text-align:center">нет&lt;/td>
&lt;td>массив строк&lt;/td>
&lt;td>Метки для фильтрации&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>time&lt;/code>&lt;/td>
&lt;td style="text-align:center">нет&lt;/td>
&lt;td>число&lt;/td>
&lt;td>Время начала, epoch ms (по умолчанию — текущее)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>timeEnd&lt;/code>&lt;/td>
&lt;td style="text-align:center">нет&lt;/td>
&lt;td>число&lt;/td>
&lt;td>Время окончания, epoch ms; задаёт интервальный маркер&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>service&lt;/code>&lt;/td>
&lt;td style="text-align:center">нет&lt;/td>
&lt;td>строка&lt;/td>
&lt;td>Имя сервиса; пусто — глобальное событие&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>type&lt;/code>&lt;/td>
&lt;td style="text-align:center">нет&lt;/td>
&lt;td>строка&lt;/td>
&lt;td>Тип маркера, например &lt;code>RELEASE&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Поля идентификаторов дашбордов и панелей Grafana (&lt;code>dashboardUID&lt;/code>, &lt;code>panelId&lt;/code>) принимаются, но &lt;strong>игнорируются&lt;/strong>: в Proto Observability Platform маркеры привязываются к сервису, а не к конкретному дашборду.&lt;/p>
&lt;h3 id="получение-и-фильтрация-get">Получение и фильтрация (&lt;code>GET&lt;/code>)&lt;/h3>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Параметр&lt;/th>
&lt;th>Описание&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;code>from&lt;/code>, &lt;code>to&lt;/code>&lt;/td>
&lt;td>Диапазон по времени, epoch ms&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>tags&lt;/code>&lt;/td>
&lt;td>Фильтр по тегам (можно повторять). По умолчанию — совпадение по всем; &lt;code>matchAny=true&lt;/code> — по любому&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>type&lt;/code>&lt;/td>
&lt;td>Фильтр по типу маркера&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>service&lt;/code>&lt;/td>
&lt;td>Сервис; возвращаются как его события, так и глобальные&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>limit&lt;/code>&lt;/td>
&lt;td>Максимум записей (по умолчанию 100)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h2 id="совместимость-с-grafana">Совместимость с Grafana&lt;/h2>
&lt;p>API повторяет контракт &lt;a href="https://grafana.com/docs/grafana/latest/developer-resources/api-reference/http-api/annotations/" target="_blank" rel="noopener noreferrer">Grafana Annotations API&lt;/a>: поля &lt;code>text&lt;/code> / &lt;code>tags&lt;/code> / &lt;code>time&lt;/code> / &lt;code>timeEnd&lt;/code>, ответы вида &lt;code>{&amp;quot;id&amp;quot;, &amp;quot;message&amp;quot;}&lt;/code>, возврат списка простым JSON-массивом. Это позволяет переиспользовать привычные инструменты и скрипты записи маркеров. Дополнительно поддержаны расширения Proto — поля &lt;code>service&lt;/code> и &lt;code>type&lt;/code>.&lt;/p>
&lt;h2 id="хранение-и-доступ">Хранение и доступ&lt;/h2>
&lt;ul>
&lt;li>&lt;strong>Срок хранения&lt;/strong> по умолчанию — &lt;strong>370 дней&lt;/strong>, настраивается переменной окружения &lt;code>POBP_DATA_RETENTION_ANNOTATIONS_DAYS&lt;/code>.&lt;/li>
&lt;li>&lt;strong>Доступ.&lt;/strong> Эндпоинт не требует аутентификации и рассчитан на вызов из доверенного сетевого контура (CI/CD-пайплайн, внутренние скрипты). Ограничьте к нему доступ средствами сети.&lt;/li>
&lt;/ul>
&lt;p>См. также: &lt;a href="../../alerting/#%d0%b8%d0%bd%d1%82%d0%b5%d0%b3%d1%80%d0%b0%d1%86%d0%b8%d1%8f-%d1%81-cicd">Интеграция с CI/CD&lt;/a> и &lt;a href="../dashboards/">Кастомные дашборды&lt;/a>.&lt;/p></description></item></channel></rss>