<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Документация Proto Observability Platform – ёмкость</title><link>/docs/tags/%D1%91%D0%BC%D0%BA%D0%BE%D1%81%D1%82%D1%8C/</link><description>Recent content in ёмкость on Документация Proto Observability Platform</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="/docs/tags/%D1%91%D0%BC%D0%BA%D0%BE%D1%81%D1%82%D1%8C/index.xml" rel="self" type="application/rss+xml"/><item><title>Alerting: Пример: матрица эскалации по ёмкости Ceph-кластера</title><link>/docs/alerting/escalation-matrix-ceph/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/alerting/escalation-matrix-ceph/</guid><description>
&lt;p>На этой странице — практический пример &lt;strong>матрицы эскалации&lt;/strong>: как направить
оповещения о состоянии Ceph-кластера на разные &lt;strong>уровни&lt;/strong> и &lt;strong>каналы коммуникации&lt;/strong>
в зависимости от критичности и предиктивного прогноза. Пример опирается на штатную
связку платформы &lt;strong>Правило → Политика → Канал&lt;/strong> (см. &lt;a href="../configuration/">Настройка оповещений&lt;/a>)
и использует метрики интеграции &lt;strong>&lt;code>ceph&lt;/code>&lt;/strong> (см. &lt;a href="../../instrumentation/infra/cache/ceph/">Мониторинг Ceph&lt;/a>).&lt;/p>
&lt;h2 id="задача">Задача&lt;/h2>
&lt;p>Ёмкость Ceph-кластера постепенно расходуется по мере роста данных. Нужно:&lt;/p>
&lt;ul>
&lt;li>наблюдать &lt;strong>общую заполненность, состояние OSD, объекты в пулах,
IOPS/пропускную способность и задержки&lt;/strong>;&lt;/li>
&lt;li>уведомлять при достижении пороговых значений;&lt;/li>
&lt;li>при &lt;strong>устойчивом росте заполнения&lt;/strong> предиктивно эскалировать уведомление на
верхний уровень — пока место ещё не закончилось.&lt;/li>
&lt;/ul>
&lt;h2 id="метрики">Метрики&lt;/h2>
&lt;p>Все показатели поставляет интеграция &lt;code>ceph&lt;/code> (точки в именах метрик становятся
подчёркиваниями в хранилище — например, &lt;code>ceph.aggregate_pct_used&lt;/code> →
&lt;code>ceph_aggregate_pct_used&lt;/code>):&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;/td>
&lt;td>&lt;code>ceph_aggregate_pct_used&lt;/code>&lt;/td>
&lt;td>— (весь кластер)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Заполненность OSD, %&lt;/td>
&lt;td>&lt;code>ceph_osd_pct_used&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph_osd&lt;/code> (нет на Ceph luminous и новее)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Full / near-full OSD&lt;/td>
&lt;td>&lt;code>ceph_num_full_osds&lt;/code>, &lt;code>ceph_num_near_full_osds&lt;/code>&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>OSD всего / online / участвующих&lt;/td>
&lt;td>&lt;code>ceph_num_osds&lt;/code>, &lt;code>ceph_num_up_osds&lt;/code>, &lt;code>ceph_num_in_osds&lt;/code>&lt;/td>
&lt;td>—&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Объекты в пуле&lt;/td>
&lt;td>&lt;code>ceph_num_objects&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph_pool&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>IOPS (чтение/запись/всего)&lt;/td>
&lt;td>&lt;code>ceph_read_op_per_sec&lt;/code>, &lt;code>ceph_write_op_per_sec&lt;/code>, &lt;code>ceph_op_per_sec&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph_pool&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Пропускная способность (чтение/запись)&lt;/td>
&lt;td>&lt;code>ceph_read_bytes_sec&lt;/code>, &lt;code>ceph_write_bytes_sec&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph_pool&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>Задержки apply / commit&lt;/td>
&lt;td>&lt;code>ceph_apply_latency_ms&lt;/code>, &lt;code>ceph_commit_latency_ms&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph_osd&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Метрики размечены тегами &lt;code>ceph_pool:&amp;lt;имя&amp;gt;&lt;/code>, &lt;code>ceph_osd:osd&amp;lt;id&amp;gt;&lt;/code>, а также
&lt;code>ceph_mon_state&lt;/code> и &lt;code>ceph_fsid&lt;/code> на уровне кластера.&lt;/p>
&lt;h2 id="уровни-эскалации-и-каналы">Уровни эскалации и каналы&lt;/h2>
&lt;p>Матрица связывает критичность/прогноз с уровнем и каналом доставки:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Уровень&lt;/th>
&lt;th>Когда&lt;/th>
&lt;th>Канал (тип)&lt;/th>
&lt;th>Получатель&lt;/th>
&lt;th>Лейблы маршрутизации&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>&lt;strong>L1 — Предупреждение&lt;/strong>&lt;/td>
&lt;td>заполнение 80–90%; появился near-full OSD; рост задержек commit&lt;/td>
&lt;td>Электронная почта&lt;/td>
&lt;td>Команда хранилища&lt;/td>
&lt;td>&lt;code>severity=WARNING&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>L2 — Критично&lt;/strong>&lt;/td>
&lt;td>заполнение &amp;gt; 90%; появился full OSD; задержка commit &amp;gt; 1000 мс&lt;/td>
&lt;td>Telegram&lt;/td>
&lt;td>Дежурный инженер&lt;/td>
&lt;td>&lt;code>severity=CRITICAL&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;strong>L3 — Эскалация (предиктив)&lt;/strong>&lt;/td>
&lt;td>&lt;strong>прогноз заполнения 100% в течение часа&lt;/strong>&lt;/td>
&lt;td>Webhook (ITSM) + Telegram&lt;/td>
&lt;td>Руководитель / ITSM + дежурный&lt;/td>
&lt;td>&lt;code>escalation_level=L3&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Уровень несут &lt;strong>лейблы правила&lt;/strong>: критичность (&lt;code>severity&lt;/code>) задаётся полем
«Критичность», а &lt;code>escalation_level&lt;/code> — обычным лейблом в блоке «Лейблы».&lt;/p>
&lt;h2 id="шаг-1-каналы">Шаг 1. Каналы&lt;/h2>
&lt;p>Создайте три канала (&lt;code>Алерты&lt;/code> → &lt;code>Каналы&lt;/code> → &lt;code>Добавить&lt;/code>), по одному на уровень:&lt;/p>
&lt;ul>
&lt;li>&lt;code>ceph-team&lt;/code> — &lt;strong>Электронная почта&lt;/strong>: адрес команды хранилища;&lt;/li>
&lt;li>&lt;code>ceph-oncall&lt;/code> — &lt;strong>Telegram&lt;/strong>: чат/бот дежурного;&lt;/li>
&lt;li>&lt;code>ceph-itsm&lt;/code> — &lt;strong>Webhook&lt;/strong>: эндпоинт ITSM / инцидент-менеджмента.&lt;/li>
&lt;/ul>
&lt;p>Поля форм для каждого типа описаны в разделе
&lt;a href="../configuration/#%d0%ba%d0%b0%d0%bd%d0%b0%d0%bb%d1%8b-%d0%be%d0%bf%d0%be%d0%b2%d0%b5%d1%89%d0%b5%d0%bd%d0%b8%d0%b9">Каналы оповещений&lt;/a>.&lt;/p>
&lt;h2 id="шаг-2-правила">Шаг 2. Правила&lt;/h2>
&lt;p>Создайте правила (&lt;code>Алерты&lt;/code> → &lt;code>Правила&lt;/code> → &lt;code>Добавить&lt;/code>), выставив &lt;strong>Критичность&lt;/strong> и
лейбл &lt;code>escalation_level&lt;/code>. Ключевые выражения (PromQL/MetricsQL):&lt;/p>
&lt;p>&lt;strong>Заполнение &amp;gt; 80%&lt;/strong> (WARNING, &lt;code>escalation_level=L1&lt;/code>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-promql" data-lang="promql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_aggregate_pct_used&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">80&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="ow">and&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_aggregate_pct_used&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;lt;=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">90&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Заполнение &amp;gt; 90%&lt;/strong> (CRITICAL, &lt;code>escalation_level=L2&lt;/code>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-promql" data-lang="promql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_aggregate_pct_used&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">90&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;strong>Прогноз заполнения 100% в течение часа&lt;/strong> (CRITICAL, &lt;code>escalation_level=L3&lt;/code>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-promql" data-lang="promql">&lt;span class="line">&lt;span class="cl">&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_aggregate_pct_used&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">85&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w"> &lt;/span>&lt;span class="ow">and&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kr">predict_linear&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_aggregate_pct_used&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="p">[&lt;/span>&lt;span class="s">30m&lt;/span>&lt;span class="err">:&lt;/span>&lt;span class="s">1m&lt;/span>&lt;span class="p">],&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">3600&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;=&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">100&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Функция &lt;code>predict_linear&lt;/code> экстраполирует тренд за короткое окно &lt;code>[30m:1m]&lt;/code> на час
вперёд: правило срабатывает &lt;strong>предиктивно&lt;/strong>, ещё на росте, до фактического
исчерпания ёмкости. Для долгосрочного планирования полезно второе предиктивное
правило с окном &lt;code>[7d:1h]&lt;/code> и горизонтом в сутки/недели.&lt;/p>
&lt;p>Состояние OSD и задержки — по аналогии:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-promql" data-lang="promql">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># появился near-full OSD (WARNING, L1)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_num_near_full_osds&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1"># появился full OSD (CRITICAL, L2)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_num_full_osds&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="c1"># задержка commit по любому OSD &amp;gt; 1000 мс (CRITICAL, L2)&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="w">&lt;/span>&lt;span class="k">max&lt;/span>&lt;span class="o">(&lt;/span>&lt;span class="nv">ceph_commit_latency_ms&lt;/span>&lt;span class="o">)&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="o">&amp;gt;&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h2 id="шаг-3-политики">Шаг 3. Политики&lt;/h2>
&lt;p>Свяжите лейблы с каналами (&lt;code>Алерты&lt;/code> → &lt;code>Политики&lt;/code> → &lt;code>Добавить&lt;/code>). Политики
проверяются по возрастанию поля «Порядок»; на первой совпавшей обработка
останавливается, если не включено «Продолжение».&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th>Порядок&lt;/th>
&lt;th>Матчер&lt;/th>
&lt;th>Канал(ы)&lt;/th>
&lt;th>Продолжение&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td>10&lt;/td>
&lt;td>&lt;code>escalation_level = L3&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph-itsm&lt;/code>&lt;/td>
&lt;td>Вкл.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>11&lt;/td>
&lt;td>&lt;code>escalation_level = L3&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph-oncall&lt;/code>&lt;/td>
&lt;td>Выкл.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>20&lt;/td>
&lt;td>&lt;code>severity = CRITICAL&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph-oncall&lt;/code>&lt;/td>
&lt;td>Выкл.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>30&lt;/td>
&lt;td>&lt;code>severity = WARNING&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph-team&lt;/code>&lt;/td>
&lt;td>Выкл.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>100&lt;/td>
&lt;td>&lt;code>alertname =~ .*&lt;/code>&lt;/td>
&lt;td>&lt;code>ceph-team&lt;/code>&lt;/td>
&lt;td>Выкл.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Две политики уровня L3 (порядок 10 и 11) с «Продолжением» на первой направляют
предиктивный алерт &lt;strong>сразу в два канала&lt;/strong> — ITSM и дежурному. Более высокий
приоритет L3 (порядок 10) перехватывает его раньше общей критичной политики
(порядок 20).&lt;/p>
&lt;p>После изменений нажмите &lt;strong>«Применить»&lt;/strong>.&lt;/p>
&lt;h2 id="что-произойдёт-при-исчерпании-ёмкости">Что произойдёт при исчерпании ёмкости&lt;/h2>
&lt;p>По мере расходования ёмкости кластера срабатывают и маршрутизируются:&lt;/p>
&lt;ol>
&lt;li>заполнение проходит &lt;strong>80%&lt;/strong> → правило L1 → политика &lt;code>severity=WARNING&lt;/code> →
&lt;strong>email&lt;/strong> команде хранилища;&lt;/li>
&lt;li>заполнение проходит &lt;strong>90%&lt;/strong> (или появляется full OSD) → правило L2 →
политика &lt;code>severity=CRITICAL&lt;/code> → &lt;strong>Telegram&lt;/strong> дежурному;&lt;/li>
&lt;li>тренд указывает на &lt;strong>100% в течение часа&lt;/strong> → предиктивное правило L3 →
политика &lt;code>escalation_level=L3&lt;/code> → &lt;strong>Webhook (ITSM)&lt;/strong> и &lt;strong>Telegram&lt;/strong> —
эскалация на верхний уровень ещё до физического исчерпания ёмкости.&lt;/li>
&lt;/ol>
&lt;p>Жизненный цикл алерта (&lt;code>pending&lt;/code> → &lt;code>firing&lt;/code> → &lt;code>resolved&lt;/code>) и формат уведомлений
для каждого канала описаны в разделе &lt;a href="../troubleshooting/">Диагностика и формат уведомлений&lt;/a>.&lt;/p>
&lt;h2 id="что-дальше">Что дальше&lt;/h2>
&lt;ul>
&lt;li>&lt;a href="../configuration/">Настройка оповещений&lt;/a> — подробное описание полей каналов,
политик и правил.&lt;/li>
&lt;li>&lt;a href="../metrics-and-expressions/">Метрики и выражения для правил&lt;/a> — синтаксис
выражений и аннотации со ссылками на дашборды.&lt;/li>
&lt;li>&lt;a href="../../instrumentation/infra/cache/ceph/">Мониторинг Ceph&lt;/a> — сбор метрик и
логов кластера, полный список метрик интеграции &lt;code>ceph&lt;/code>.&lt;/li>
&lt;/ul></description></item></channel></rss>