<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Документация Proto Observability Platform – BMC</title><link>/docs/tags/bmc/</link><description>Recent content in BMC on Документация Proto Observability Platform</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="/docs/tags/bmc/index.xml" rel="self" type="application/rss+xml"/><item><title>Instrumentation: Мониторинг IPMI/BMC с помощью Proto Observability</title><link>/docs/instrumentation/infra/other/ipmi/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/instrumentation/infra/other/ipmi/</guid><description>
&lt;p>На этой странице:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0">Архитектура&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D1%81%D0%B1%D0%BE%D1%80-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA-ipmi">Сбор метрик IPMI&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-ipmi_exporter">Конфигурация ipmi_exporter&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-protoobp-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82%D0%B0">Конфигурация ProtoOBP агента&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%D0%B5%D1%81%D0%BB%D0%B8-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B5-%D1%81%D0%BB%D1%83%D0%B6%D0%B1%D1%8B-%D0%BD%D0%B0-%D1%85%D0%BE%D1%81%D1%82%D0%B5">Если агент запускается в виде службы на хосте&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D0%B5%D1%81%D0%BB%D0%B8-%D0%B0%D0%B3%D0%B5%D0%BD%D1%82-%D0%B7%D0%B0%D0%BF%D1%83%D1%81%D0%BA%D0%B0%D0%B5%D1%82%D1%81%D1%8F-%D0%B2-%D0%B2%D0%B8%D0%B4%D0%B5-docker-%D0%BA%D0%BE%D0%BD%D1%82%D0%B5%D0%B9%D0%BD%D0%B5%D1%80%D0%B0">Если агент запускается в виде Docker контейнера&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%D0%BC%D0%B8%D0%BD%D0%B8%D0%BC%D0%B0%D0%BB%D1%8C%D0%BD%D1%8B%D0%B9-docker-composeyaml">Минимальный &lt;code>docker-compose.yaml&lt;/code>&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%D0%BF%D1%80%D0%BE%D0%B2%D0%B5%D1%80%D0%BA%D0%B0">Проверка&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D1%81%D0%BE%D0%B1%D0%B8%D1%80%D0%B0%D0%B5%D0%BC%D1%8B%D0%B5-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8">Собираемые метрики&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%D0%BB%D0%B5%D0%B9%D0%B1%D0%BB%D1%8B">Лейблы&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D0%B8%D0%BD%D1%84%D0%BE%D1%80%D0%BC%D0%B0%D1%86%D0%B8%D1%8F-%D0%BE-bmc">Информация о BMC&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D1%81%D0%BE%D1%81%D1%82%D0%BE%D1%8F%D0%BD%D0%B8%D0%B5-%D1%88%D0%B0%D1%81%D1%81%D0%B8">Состояние шасси&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D1%82%D0%B5%D0%BC%D0%BF%D0%B5%D1%80%D0%B0%D1%82%D1%83%D1%80%D1%8B-%D0%BE%D1%85%D0%BB%D0%B0%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5-%D1%8D%D0%BB%D0%B5%D0%BA%D1%82%D1%80%D0%BE%D0%BF%D0%B8%D1%82%D0%B0%D0%BD%D0%B8%D0%B5">Температуры, охлаждение, электропитание&lt;/a>&lt;/li>
&lt;li>&lt;a href="#system-event-log-sel">System Event Log (SEL)&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BD%D0%BE%D1%81%D1%82%D1%8C">Доступность&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%D0%BA%D0%BB%D1%8E%D1%87%D0%B5%D0%B2%D1%8B%D0%B5-%D0%BC%D0%B5%D1%82%D1%80%D0%B8%D0%BA%D0%B8-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B0%D1%88%D0%B1%D0%BE%D1%80%D0%B4%D0%BE%D0%B2-%D0%B8-%D0%B0%D0%BB%D0%B5%D1%80%D1%82%D0%BE%D0%B2">Ключевые метрики для дашбордов и алертов&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%D1%81%D0%B1%D0%BE%D1%80-%D0%BB%D0%BE%D0%B3%D0%BE%D0%B2-ipmi_exporter">Сбор логов ipmi_exporter&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="архитектура">Архитектура&lt;/h2>
&lt;p>ProtoOBP-агент собирает метрики IPMI &lt;strong>не напрямую&lt;/strong> с BMC, а через
&lt;a href="https://github.com/prometheus-community/ipmi_exporter">&lt;code>ipmi_exporter&lt;/code>&lt;/a> —
служебный экспортёр от Prometheus Community, который обращается к BMC по
протоколу RMCP/IPMI (UDP/623), запрашивает данные через инструменты
&lt;a href="https://www.gnu.org/software/freeipmi/">FreeIPMI&lt;/a> (&lt;code>bmc-info&lt;/code>, &lt;code>ipmi-sensors&lt;/code>,
&lt;code>ipmi-dcmi&lt;/code>, &lt;code>ipmi-sel&lt;/code>, &lt;code>ipmi-chassis&lt;/code>) и публикует результат в
Prometheus-формате на HTTP-порту &lt;code>9290&lt;/code>. ProtoOBP-агент скрейпит этот
HTTP-эндпоинт через интеграцию &lt;a href="../../prometheus">&lt;code>prometheus&lt;/code>&lt;/a>.&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">+-------+&lt;/span> &lt;span style="color:#000">RMCP&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">/&lt;/span>&lt;span style="color:#000">UDP&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">623&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">+---------------+&lt;/span> &lt;span style="color:#000">HTTP&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">9290&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">+----------------+&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#000">BMC&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">&amp;lt;---------------&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#000">ipmi_exporter&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">&amp;lt;-------------&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span> &lt;span style="color:#000">ProtoOBP&lt;/span> &lt;span style="color:#000">Agent&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">|&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#ce5c00;font-weight:bold">+-------+&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">+---------------+&lt;/span> &lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#000">scrape&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span> &lt;span style="color:#ce5c00;font-weight:bold">+----------------+&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Один экспортёр обслуживает любое число BMC — конкретный BMC передаётся в URL
запроса как query: &lt;code>?target=&amp;lt;bmc-host&amp;gt;&amp;amp;module=&amp;lt;module-name&amp;gt;&lt;/code>.&lt;/p>
&lt;h2 id="сбор-метрик-ipmi">Сбор метрик IPMI&lt;/h2>
&lt;h3 id="конфигурация-ipmi_exporter">Конфигурация ipmi_exporter&lt;/h3>
&lt;p>Конфигурация в формате &lt;code>prometheuscommunity/ipmi-exporter&lt;/code>: модули задают, как
именно опрашивать BMC — collectors, credentials, driver. Документация —
&lt;a href="https://github.com/prometheus-community/ipmi_exporter/blob/master/docs/configuration.md">ipmi_exporter/configuration.md&lt;/a>.&lt;/p>
&lt;p>&lt;strong>Важно про модули.&lt;/strong> Модуль в &lt;code>ipmi.yml&lt;/code> — это &lt;em>набор настроек&lt;/em>
(credentials, driver, privilege, набор коллекторов), а &lt;strong>не&lt;/strong> список BMC.
Конкретный BMC выбирается на стороне клиента, в URL scrape-запроса
(&lt;code>?target=&amp;lt;bmc-host&amp;gt;&amp;amp;module=&amp;lt;module-name&amp;gt;&lt;/code>). Поэтому один модуль обслуживает
любое количество BMC с одинаковыми настройками — отдельно перечислять
устройства в &lt;code>ipmi.yml&lt;/code> не нужно. Дополнительные модули заводятся только
если у части BMC отличаются credentials / driver / privilege / набор
коллекторов (типичные причины — другой вендор, legacy-прошивка без RMCP+,
отсутствие поддержки DCMI).&lt;/p>
&lt;p>Минимальная конфигурация с одним модулем &lt;code>default&lt;/code> — подходит, когда все
BMC в парке используют одни и те же учётные данные и поддерживают весь
стандартный набор коллекторов:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># /etc/ipmi_exporter/ipmi.yml&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">modules&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">default&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">user&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">pass&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;LAN_2_0&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># RMCP+ (IPMI 2.0)&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">privilege&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;admin&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">timeout&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">10000&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">collectors&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">bmc &lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># ipmi_bmc_info&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">ipmi &lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># ipmi_temperature_celsius, ipmi_fan_speed_rpm, ipmi_voltage_volts, ipmi_current_amperes&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">chassis &lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># ipmi_chassis_power_state, *_fault_state&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">dcmi &lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># ipmi_dcmi_power_consumption_current_watts (требует поддержки DCMI на BMC)&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">sel &lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># ipmi_sel_logs_count, ipmi_sel_free_space_bytes&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Если в парке несколько групп BMC с разными настройками, заведите по
модулю на группу. Имена модулей произвольные; для каждого target в
дальнейшем выбирается нужный модуль через &lt;code>module=&lt;/code> в URL. Пример с
тремя группами — стандартный парк, HPE iLO с собственной учётной
записью, и старое железо без поддержки DCMI и RMCP+:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#8f5902;font-style:italic"># /etc/ipmi_exporter/ipmi.yml&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">modules&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">default&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">user&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">pass&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;LAN_2_0&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">privilege&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;admin&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">timeout&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">10000&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">collectors&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000;font-weight:bold">[&lt;/span>&lt;span style="color:#000">bmc, ipmi, chassis, dcmi, sel]&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">hpe_ilo&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># HPE iLO часто настроен на «Administrator» вместо «ADMIN».&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">user&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;Administrator&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">pass&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;&amp;lt;see-secret&amp;gt;&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;LAN_2_0&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">privilege&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;admin&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">timeout&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">15000&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">collectors&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000;font-weight:bold">[&lt;/span>&lt;span style="color:#000">bmc, ipmi, chassis, dcmi, sel]&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">legacy&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#8f5902;font-style:italic"># Старое железо: только IPMI 1.5 (`LAN`), DCMI не поддерживается.&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">user&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">pass&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;ADMIN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;LAN&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">privilege&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#34;admin&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">timeout&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#0000cf;font-weight:bold">10000&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">collectors&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000;font-weight:bold">[&lt;/span>&lt;span style="color:#000">bmc, ipmi, chassis, sel]&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="конфигурация-protoobp-агента">Конфигурация ProtoOBP агента&lt;/h3>
&lt;h4 id="если-агент-запускается-в-виде-службы-на-хосте">Если агент запускается в виде службы на хосте&lt;/h4>
&lt;p>В &lt;code>/etc/protoobp-agent/conf.d/prometheus.d/conf.yaml&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">init_config&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">instances&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#204a87;font-weight:bold">prometheus_url&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">http://&amp;lt;ipmi-exporter-host&amp;gt;:9290/ipmi?target=&amp;lt;bmc-host&amp;gt;&amp;amp;module=default&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">namespace&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">ipmi_exporter&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">metrics&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#4e9a06">&amp;#34;ipmi_*&amp;#34;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">tags&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">bmc_host:&amp;lt;bmc-host&amp;gt;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Если BMC несколько — добавляйте отдельный &lt;code>instances:&lt;/code>-блок на BMC, меняя
&lt;code>target=&lt;/code> в URL и тег &lt;code>bmc_host&lt;/code>.&lt;/p>
&lt;p>Перезапустите агента:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>sudo systemctl restart protoobp-agent
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h4 id="если-агент-запускается-в-виде-docker-контейнера">Если агент запускается в виде Docker контейнера&lt;/h4>
&lt;p>Добавьте autodiscovery-лейблы к контейнеру &lt;strong>с &lt;code>ipmi_exporter&lt;/code>&lt;/strong>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">labels&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.check_names&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[&amp;#34;prometheus&amp;#34;]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.init_configs&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[{}]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.instances&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[{&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=&amp;lt;bmc-host&amp;gt;&amp;amp;module=default&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:&amp;lt;bmc-host&amp;gt;&amp;#34;]}]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>&lt;code>%%host%%&lt;/code> подставит IP контейнера &lt;code>ipmi_exporter&lt;/code> в docker network. Агент и
экспортёр должны быть в одной сети.&lt;/p>
&lt;p>Если экспортёр опрашивает несколько BMC, перечислите все цели в одном
лейбле &lt;code>com.protoobp.ad.instances&lt;/code>. Внутренний список становится массивом
инстансов одного чека, а внешний массив должен соответствовать длине
&lt;code>check_names&lt;/code> (в данном случае — &lt;code>1&lt;/code>), поэтому JSON получается вида
&lt;code>[[ {...}, {...}, ... ]]&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">labels&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.check_names&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[&amp;#34;prometheus&amp;#34;]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.init_configs&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[{}]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.instances&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[[
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> {&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=bmc-01&amp;amp;module=default&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:bmc-01&amp;#34;]},
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> {&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=bmc-02&amp;amp;module=default&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:bmc-02&amp;#34;]}
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> ]]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Без внешних квадратных скобок агент откажется применять шаблон с ошибкой
&lt;code>Template entries don't all have the same length, not using them&lt;/code>.&lt;/p>
&lt;h5 id="минимальный-docker-composeyaml">Минимальный &lt;code>docker-compose.yaml&lt;/code>&lt;/h5>
&lt;p>Рабочий минимум для запуска &lt;code>ipmi_exporter&lt;/code> рядом с ProtoOBP-агентом.
Файл &lt;code>./ipmi.yml&lt;/code> рядом с compose-файлом — это конфигурация
&lt;code>ipmi_exporter&lt;/code> из раздела &lt;a href="#%D0%BA%D0%BE%D0%BD%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%B0%D1%86%D0%B8%D1%8F-ipmi_exporter">Конфигурация ipmi_exporter&lt;/a>:&lt;/p>
&lt;p>Пример показывает опрос трёх BMC одним экспортёром — типичная
production-конфигурация. Если у BMC одинаковые credentials/driver, все
target&amp;rsquo;ы используют один модуль (например, &lt;code>default&lt;/code>). Если часть BMC
требует других настроек, на каждую группу заведите отдельный модуль в
&lt;code>ipmi.yml&lt;/code> и подставьте его имя в &lt;code>module=&lt;/code> для соответствующих target&amp;rsquo;ов
— как показано ниже для &lt;code>bmc-03.example.com&lt;/code> (HPE iLO).&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">services&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">ipmi-exporter&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">image&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">prometheuscommunity/ipmi-exporter:v1.10.0&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">volumes&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">./ipmi.yml:/config/ipmi.yml:ro&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">command&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- --&lt;span style="color:#000">config.file=/config/ipmi.yml&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">labels&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.check_names&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[&amp;#34;prometheus&amp;#34;]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.init_configs&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[{}]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.instances&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[[
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> {&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=bmc-01.example.com&amp;amp;module=default&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:bmc-01.example.com&amp;#34;]},
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> {&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=bmc-02.example.com&amp;amp;module=default&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:bmc-02.example.com&amp;#34;]},
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> {&amp;#34;prometheus_url&amp;#34;: &amp;#34;http://%%host%%:9290/ipmi?target=bmc-03.example.com&amp;amp;module=hpe_ilo&amp;#34;, &amp;#34;namespace&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;metrics&amp;#34;: [&amp;#34;ipmi_*&amp;#34;], &amp;#34;tags&amp;#34;: [&amp;#34;bmc_host:bmc-03.example.com&amp;#34;]}
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06"> ]]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">networks&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">ipmi-net&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">protoobp-agent&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">image&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">registry.git.proto.group/protoobp/protoobp-artifacts/protoobp-agent:7.40.3&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">volumes&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">/var/run/docker.sock:/var/run/docker.sock:ro&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">/proc/:/host/proc/:ro&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">/sys/fs/cgroup/:/host/sys/fs/cgroup:ro&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">environment&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">POBP_API_KEY=${POBP_API_KEY}&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">POBP_POBP_URL=${POBP_BACKEND_URL}&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">networks&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>- &lt;span style="color:#000">ipmi-net&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline">&lt;/span>&lt;span style="color:#204a87;font-weight:bold">networks&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">ipmi-net&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">driver&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#000">bridge&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Что важно:&lt;/p>
&lt;ul>
&lt;li>Подставьте реальные адреса BMC вместо &lt;code>bmc-01.example.com&lt;/code> /
&lt;code>bmc-02.example.com&lt;/code> / &lt;code>bmc-03.example.com&lt;/code> — DNS-имена или IP, по
которым доступен RMCP-порт BMC (&lt;code>UDP/623&lt;/code>) из сети &lt;code>ipmi-net&lt;/code>.&lt;/li>
&lt;li>Один target — это один блок внутри внешнего массива; добавление
четвёртого BMC — это лишний объект в том же &lt;code>[[ ... ]]&lt;/code>. На каждый
target агент создаёт отдельный инстанс чека &lt;code>prometheus&lt;/code>, и тег
&lt;code>bmc_host:&amp;lt;...&amp;gt;&lt;/code> различает метрики между ними.&lt;/li>
&lt;li>&lt;code>module=&lt;/code> в URL ссылается на имя модуля из &lt;code>ipmi.yml&lt;/code>. Если в парке
только одна группа BMC, оставьте &lt;code>module=default&lt;/code> для всех target&amp;rsquo;ов.
При наличии нескольких групп заведите соответствующие модули и
пропишите имя нужного модуля в URL каждого target&amp;rsquo;а.&lt;/li>
&lt;li>Оба контейнера должны быть в одной docker-сети, чтобы &lt;code>%%host%%&lt;/code> в
autodiscovery-URL резолвился в IP &lt;code>ipmi-exporter&lt;/code>.&lt;/li>
&lt;li>&lt;code>/var/run/docker.sock&lt;/code> смонтирован агенту read-only — без него агент
не увидит лейбл-аннотации соседних контейнеров и autodiscovery не
запустится.&lt;/li>
&lt;li>&lt;code>/proc&lt;/code> и &lt;code>/sys/fs/cgroup&lt;/code> нужны базовым host-чекам агента
(&lt;code>cpu&lt;/code>, &lt;code>memory&lt;/code>, &lt;code>io&lt;/code>, …); сам IPMI-чек к ним не привязан.&lt;/li>
&lt;li>Переменные &lt;code>${POBP_API_KEY}&lt;/code> и &lt;code>${POBP_BACKEND_URL}&lt;/code> подставятся из
&lt;code>.env&lt;/code>-файла рядом с compose или из окружения, в котором вы запускаете
&lt;code>docker compose up&lt;/code>.&lt;/li>
&lt;/ul>
&lt;h3 id="проверка">Проверка&lt;/h3>
&lt;p>&lt;code>ipmi_exporter&lt;/code> отдаёт данные напрямую (полезно для отладки):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>curl -s &lt;span style="color:#4e9a06">&amp;#39;http://&amp;lt;ipmi-exporter-host&amp;gt;:9290/ipmi?target=&amp;lt;bmc-host&amp;gt;&amp;amp;module=default&amp;#39;&lt;/span> &lt;span style="color:#000;font-weight:bold">|&lt;/span> head -60
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Пример вывода &lt;code>ipmi_exporter&lt;/code> для одного BMC (модуль &lt;code>default&lt;/code>, значения
сокращены):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-fallback" data-lang="fallback">&lt;span style="display:flex;">&lt;span># HELP ipmi_bmc_info Constant metric with value &amp;#39;1&amp;#39; providing details about the BMC.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_bmc_info gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_bmc_info{bmc_url=&amp;#34;N/A&amp;#34;,firmware_revision=&amp;#34;4.40.40&amp;#34;,manufacturer_id=&amp;#34;Dell Inc. (674)&amp;#34;,system_firmware_version=&amp;#34;1.18.2&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_chassis_cooling_fault_state Current Cooling/fan fault state (1=false, 0=true).
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_chassis_cooling_fault_state gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_chassis_cooling_fault_state 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_chassis_drive_fault_state Current drive fault state (1=false, 0=true).
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_chassis_drive_fault_state gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_chassis_drive_fault_state 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_chassis_power_state Current power state (1=on, 0=off).
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_chassis_power_state gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_chassis_power_state 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_temperature_celsius Temperature reading in degrees Celsius.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_temperature_celsius gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_temperature_celsius{id=&amp;#34;1&amp;#34;,name=&amp;#34;CPU 1 Temp&amp;#34;,state=&amp;#34;nominal&amp;#34;} 62.5
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_temperature_celsius{id=&amp;#34;2&amp;#34;,name=&amp;#34;CPU 2 Temp&amp;#34;,state=&amp;#34;nominal&amp;#34;} 60.1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_temperature_celsius{id=&amp;#34;3&amp;#34;,name=&amp;#34;Inlet Temp&amp;#34;,state=&amp;#34;nominal&amp;#34;} 24.0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_temperature_celsius{id=&amp;#34;4&amp;#34;,name=&amp;#34;Exhaust Temp&amp;#34;,state=&amp;#34;nominal&amp;#34;} 41.0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_fan_speed_rpm Fan speed in RPM.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_fan_speed_rpm gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_fan_speed_rpm{id=&amp;#34;5&amp;#34;,name=&amp;#34;Fan 1&amp;#34;,state=&amp;#34;nominal&amp;#34;} 7800
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_fan_speed_rpm{id=&amp;#34;6&amp;#34;,name=&amp;#34;Fan 2&amp;#34;,state=&amp;#34;nominal&amp;#34;} 7750
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_voltage_volts Voltage reading in volts.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_voltage_volts gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_voltage_volts{id=&amp;#34;9&amp;#34;,name=&amp;#34;+3.3V&amp;#34;,state=&amp;#34;nominal&amp;#34;} 3.30
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_voltage_volts{id=&amp;#34;10&amp;#34;,name=&amp;#34;+5V&amp;#34;,state=&amp;#34;nominal&amp;#34;} 5.02
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_voltage_volts{id=&amp;#34;11&amp;#34;,name=&amp;#34;+12V&amp;#34;,state=&amp;#34;nominal&amp;#34;} 12.05
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_current_amperes Current reading in amperes.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_current_amperes gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_current_amperes{id=&amp;#34;12&amp;#34;,name=&amp;#34;PSU 1 Current&amp;#34;,state=&amp;#34;nominal&amp;#34;} 1.95
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_power_watts Power reading in watts.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_power_watts gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_power_watts{id=&amp;#34;14&amp;#34;,name=&amp;#34;PSU 1 Power&amp;#34;,state=&amp;#34;nominal&amp;#34;} 235.0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_dcmi_power_consumption_current_watts Current power consumption in watts.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_dcmi_power_consumption_current_watts gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_dcmi_power_consumption_current_watts 245.0
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_scrape_duration_seconds Returns how long the scrape took to complete in seconds.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_scrape_duration_seconds gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_scrape_duration_seconds 0.45
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_sel_free_space_bytes Current free space remaining for new SEL entries.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_sel_free_space_bytes gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_sel_free_space_bytes 15856
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_sel_logs_count Current number of log entries in the SEL.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_sel_logs_count gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_sel_logs_count 12
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># HELP ipmi_up &amp;#39;1&amp;#39; if a scrape of the IPMI device was successful, &amp;#39;0&amp;#39; otherwise.
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span># TYPE ipmi_up gauge
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_up{collector=&amp;#34;bmc&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_up{collector=&amp;#34;chassis&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_up{collector=&amp;#34;dcmi&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_up{collector=&amp;#34;ipmi&amp;#34;} 1
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>ipmi_up{collector=&amp;#34;sel&amp;#34;} 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Если &lt;code>ipmi_up{collector=&amp;quot;ipmi&amp;quot;}&lt;/code> или &lt;code>ipmi_up{collector=&amp;quot;dcmi&amp;quot;}&lt;/code> стабильно
возвращают &lt;code>0&lt;/code> — соответствующий коллектор не смог получить данные. Обычные
причины: BMC не поддерживает DCMI (&lt;code>ipmi-dcmi: command invalid or unsupported&lt;/code>),
несовместимость freeipmi с прошивкой BMC, или неверные credentials/privilege.
Проверяйте логи &lt;code>ipmi_exporter&lt;/code> (см. раздел «Сбор логов ipmi_exporter» ниже).&lt;/p>
&lt;p>Статус интеграции в агенте:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>docker &lt;span style="color:#204a87">exec&lt;/span> protoobp-agent agent status &lt;span style="color:#000;font-weight:bold">|&lt;/span> grep -A &lt;span style="color:#0000cf;font-weight:bold">10&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;^ prometheus&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">prometheus&lt;/span> &lt;span style="color:#000;font-weight:bold">(&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">3.4&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">.&lt;/span>&lt;span style="color:#0000cf;font-weight:bold">0&lt;/span>&lt;span style="color:#000;font-weight:bold">)&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#ce5c00;font-weight:bold">------------------&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Instance&lt;/span> &lt;span style="color:#000">ID&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">prometheus&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#000">ipmi_exporter&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#000">db035d028c3af1a8&lt;/span> &lt;span style="color:#000;font-weight:bold">[&lt;/span>&lt;span style="color:#000">OK&lt;/span>&lt;span style="color:#000;font-weight:bold">]&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Configuration&lt;/span> &lt;span style="color:#000">Source&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">container&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#000">docker&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#ce5c00;font-weight:bold">//...&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Total&lt;/span> &lt;span style="color:#000">Runs&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">12&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Metric&lt;/span> &lt;span style="color:#000">Samples&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">Last&lt;/span> &lt;span style="color:#000">Run&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">12&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#000">Total&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">144&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Events&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">Last&lt;/span> &lt;span style="color:#000">Run&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#000">Total&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">0&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span> &lt;span style="color:#000">Service&lt;/span> &lt;span style="color:#000">Checks&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#000">Last&lt;/span> &lt;span style="color:#000">Run&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">1&lt;/span>&lt;span style="color:#000;font-weight:bold">,&lt;/span> &lt;span style="color:#000">Total&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#0000cf;font-weight:bold">12&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Имена собранных метрик в ProtoOBP — &lt;code>&amp;lt;namespace&amp;gt;.&amp;lt;exporter_metric_name&amp;gt;&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>docker &lt;span style="color:#204a87">exec&lt;/span> protoobp-agent agent check prometheus &lt;span style="color:#000;font-weight:bold">|&lt;/span> grep &lt;span style="color:#4e9a06">&amp;#39;&amp;#34;metric&amp;#34;:&amp;#39;&lt;/span> &lt;span style="color:#000;font-weight:bold">|&lt;/span> sort -u
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-gdscript3" data-lang="gdscript3">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_bmc_info&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_chassis_cooling_fault_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_chassis_drive_fault_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_chassis_power_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_current_amperes&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_dcmi_power_consumption_current_watts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_fan_speed_rpm&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_fan_speed_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_power_watts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_scrape_duration_seconds&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_sel_free_space_bytes&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_sel_logs_count&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_temperature_celsius&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_temperature_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_up&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_voltage_state&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#4e9a06">&amp;#34;metric&amp;#34;&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter.ipmi_voltage_volts&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="собираемые-метрики">Собираемые метрики&lt;/h3>
&lt;p>Имена ниже приведены без префикса namespace (&lt;code>ipmi_exporter.&lt;/code>), как у
экспортёра. В ProtoOBP они хранятся под выбранным namespace — например при
&lt;code>namespace: ipmi_exporter&lt;/code> метрика &lt;code>ipmi_temperature_celsius&lt;/code> обращается в
&lt;code>ipmi_exporter.ipmi_temperature_celsius&lt;/code>.&lt;/p>
&lt;h4 id="лейблы">Лейблы&lt;/h4>
&lt;p>Общие лейблы добавляются автоматически Docker-интеграцией агента:
&lt;code>docker_image&lt;/code>, &lt;code>image_name&lt;/code>, &lt;code>image_tag&lt;/code>, &lt;code>short_image&lt;/code>, &lt;code>service&lt;/code>, &lt;code>env&lt;/code>,
&lt;code>host&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;code>collector&lt;/code>&lt;/td>
&lt;td>&lt;code>ipmi_up&lt;/code>, &lt;code>ipmi_scrape_duration_seconds&lt;/code>&lt;/td>
&lt;td>Имя коллектора: &lt;code>bmc&lt;/code> / &lt;code>ipmi&lt;/code> / &lt;code>chassis&lt;/code> / &lt;code>dcmi&lt;/code> / &lt;code>sel&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>name&lt;/code>&lt;/td>
&lt;td>sensor-метрики (&lt;code>ipmi_temperature_celsius&lt;/code>, &lt;code>ipmi_fan_speed_rpm&lt;/code>, &lt;code>ipmi_voltage_volts&lt;/code>, &lt;code>ipmi_current_amperes&lt;/code>)&lt;/td>
&lt;td>Имя датчика (&lt;code>CPU 1 Temp&lt;/code>, &lt;code>Fan 1&lt;/code>, &lt;code>+3.3V&lt;/code>, …)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>id&lt;/code>&lt;/td>
&lt;td>sensor-метрики&lt;/td>
&lt;td>Числовой идентификатор датчика&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>state&lt;/code>&lt;/td>
&lt;td>sensor-метрики&lt;/td>
&lt;td>&lt;code>nominal&lt;/code> / &lt;code>warning&lt;/code> / &lt;code>critical&lt;/code> / &lt;code>na&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>bmc_url&lt;/code> / &lt;code>firmware_revision&lt;/code> / &lt;code>manufacturer_id&lt;/code> / &lt;code>system_firmware_version&lt;/code>&lt;/td>
&lt;td>&lt;code>ipmi_bmc_info&lt;/code>&lt;/td>
&lt;td>Из ответа &lt;code>bmc-info&lt;/code>&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="информация-о-bmc">Информация о BMC&lt;/h4>
&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>ipmi_bmc_info&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Метрика-«ярлык»: значение всегда &lt;code>1&lt;/code>; полезные данные — в лейблах (&lt;code>firmware_revision&lt;/code>, &lt;code>manufacturer_id&lt;/code>, &lt;code>system_firmware_version&lt;/code>).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_bmc_commercial_info&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Дополнительные коммерческие/OEM-поля (если BMC отдаёт).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="состояние-шасси">Состояние шасси&lt;/h4>
&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>ipmi_chassis_power_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Состояние питания шасси (&lt;code>1&lt;/code> = on, &lt;code>0&lt;/code> = off).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_chassis_cooling_fault_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Признак ошибки охлаждения (&lt;code>1&lt;/code> = false / нет ошибки, &lt;code>0&lt;/code> = true / есть).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_chassis_drive_fault_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Признак ошибки диска (&lt;code>1&lt;/code> = false / нет ошибки, &lt;code>0&lt;/code> = true / есть).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="температуры-охлаждение-электропитание">Температуры, охлаждение, электропитание&lt;/h4>
&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>ipmi_temperature_celsius&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Температура датчика в °C, лейбл &lt;code>name&lt;/code>.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_temperature_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Состояние датчика температуры (&lt;code>0&lt;/code>=nominal, &lt;code>1&lt;/code>=warning, &lt;code>2&lt;/code>=critical).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_fan_speed_rpm&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Скорость вращения вентилятора (RPM).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_fan_speed_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Состояние датчика fan.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_voltage_volts&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Напряжение по линии в вольтах.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_voltage_state&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Состояние датчика напряжения.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_current_amperes&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Ток в амперах.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_power_watts&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Мощность по датчику (если такой есть).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_dcmi_power_consumption_current_watts&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Текущее энергопотребление по DCMI (требует поддержки DCMI на BMC; коллектор &lt;code>dcmi&lt;/code>).&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="system-event-log-sel">System Event Log (SEL)&lt;/h4>
&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>ipmi_sel_logs_count&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Количество записей в журнале событий BMC.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_sel_free_space_bytes&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Свободное место в SEL, байт.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h4 id="доступность">Доступность&lt;/h4>
&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>ipmi_up&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>&lt;code>1&lt;/code> — экспортёр успешно отработал указанный &lt;code>collector&lt;/code>, &lt;code>0&lt;/code> — нет (см. лейбл &lt;code>collector&lt;/code>).&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>ipmi_scrape_duration_seconds&lt;/code>&lt;/td>
&lt;td>gauge&lt;/td>
&lt;td>Длительность сбора метрик по этому target&amp;rsquo;у.&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td>&lt;code>prometheus.health&lt;/code> (service check)&lt;/td>
&lt;td>check&lt;/td>
&lt;td>&lt;code>OK&lt;/code> — endpoint доступен, &lt;code>CRITICAL&lt;/code> — нет.&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;h3 id="ключевые-метрики-для-дашбордов-и-алертов">Ключевые метрики для дашбордов и алертов&lt;/h3>
&lt;p>&lt;strong>Доступность&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>ipmi_up{collector=&amp;quot;ipmi&amp;quot;} == 0&lt;/code> — экспортёр не смог достучаться до BMC
через &lt;code>ipmi-sensors&lt;/code>/&lt;code>ipmimonitoring&lt;/code> (часто причина: неверный driver/
privilege/credentials, либо BMC отверг RMCP+).&lt;/li>
&lt;li>&lt;code>prometheus.health == CRITICAL&lt;/code> — экспортёр недоступен.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Температуры и охлаждение&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>ipmi_temperature_celsius&lt;/code> рядом с порогом BMC (&lt;code>ipmi_temperature_state &amp;gt;= 1&lt;/code>)
— сенсор близок к перегреву.&lt;/li>
&lt;li>&lt;code>ipmi_fan_speed_rpm&lt;/code> per &lt;code>name&lt;/code> == 0 при включённом шасси или резкий скачок
к максимуму — отказ вентилятора или экстренный режим охлаждения.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Электропитание&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>ipmi_dcmi_power_consumption_current_watts&lt;/code> per host — энергопотребление
узла, для capacity-планирования.&lt;/li>
&lt;li>&lt;code>ipmi_voltage_state &amp;gt;= 1&lt;/code> или &lt;code>ipmi_current_state &amp;gt;= 1&lt;/code> — выход напряжения/
тока за номинал.&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>Шасси&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>&lt;code>ipmi_chassis_power_state == 0&lt;/code> без планового события — узел упал/выключен.&lt;/li>
&lt;li>&lt;code>ipmi_chassis_cooling_fault_state == 0&lt;/code> или &lt;code>ipmi_chassis_drive_fault_state == 0&lt;/code>
— фронт-панельный fault LED горит (в этих метриках &lt;code>0&lt;/code> означает «есть ошибка»).&lt;/li>
&lt;/ul>
&lt;p>&lt;strong>SEL&lt;/strong>&lt;/p>
&lt;ul>
&lt;li>Рост &lt;code>ipmi_sel_logs_count&lt;/code> (rate &amp;gt; 0 за окно) — BMC регистрирует новые
события; алерт на всплеск (увеличение &amp;gt; N за час).&lt;/li>
&lt;li>&lt;code>ipmi_sel_free_space_bytes&lt;/code> стремится к нулю — журнал переполняется,
старые записи начнут вытесняться.&lt;/li>
&lt;/ul>
&lt;h2 id="сбор-логов-ipmi_exporter">Сбор логов ipmi_exporter&lt;/h2>
&lt;p>Сам &lt;code>ipmi_exporter&lt;/code> пишет в stdout короткие json-подобные строки (&lt;code>level=INFO/ ERROR source=collector_&amp;lt;name&amp;gt;.go ...&lt;/code>). Эти логи полезны для траблшутинга
(видно, какой коллектор по какой причине не получает данные).&lt;/p>
&lt;p>В Docker сбор логов настраивается через autodiscovery-лейбл на контейнере
&lt;code>ipmi-exporter&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-yaml" data-lang="yaml">&lt;span style="display:flex;">&lt;span>&lt;span style="color:#204a87;font-weight:bold">labels&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;span style="display:flex;">&lt;span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#204a87;font-weight:bold">com.protoobp.ad.logs&lt;/span>&lt;span style="color:#000;font-weight:bold">:&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline"> &lt;/span>&lt;span style="color:#4e9a06">&amp;#39;[{&amp;#34;source&amp;#34;: &amp;#34;ipmi_exporter&amp;#34;, &amp;#34;service&amp;#34;: &amp;#34;ipmi-exporter&amp;#34;}]&amp;#39;&lt;/span>&lt;span style="color:#f8f8f8;text-decoration:underline">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Проверка — секция &lt;code>Logs Agent&lt;/code> в &lt;code>agent status&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" style="background-color:#f8f8f8;-moz-tab-size:4;-o-tab-size:4;tab-size:4;">&lt;code class="language-bash" data-lang="bash">&lt;span style="display:flex;">&lt;span>docker &lt;span style="color:#204a87">exec&lt;/span> protoobp-agent agent status &lt;span style="color:#000;font-weight:bold">|&lt;/span> grep -A &lt;span style="color:#0000cf;font-weight:bold">6&lt;/span> &lt;span style="color:#4e9a06">&amp;#34;ipmi_exporter&amp;#34;&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>В выводе должен присутствовать источник &lt;code>Source: ipmi_exporter&lt;/code> с ненулевым
&lt;code>BytesRead&lt;/code>. Принятые записи доступны в Logs Explorer ProtoOBP UI с фильтром
&lt;code>source:ipmi_exporter&lt;/code>.&lt;/p></description></item></channel></rss>