<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Документация Proto Observability Platform – proxy</title><link>/docs/tags/proxy/</link><description>Recent content in proxy on Документация Proto Observability Platform</description><generator>Hugo -- gohugo.io</generator><language>ru</language><atom:link href="/docs/tags/proxy/index.xml" rel="self" type="application/rss+xml"/><item><title>Setup: Работа агента через прокси-сервер</title><link>/docs/setup/agent/proxy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>/docs/setup/agent/proxy/</guid><description>
&lt;p>На этой странице:&lt;/p>
&lt;ul>
&lt;li>&lt;a href="#%d1%81%d0%bf%d0%be%d1%81%d0%be%d0%b1%d1%8b-%d0%bf%d0%be%d0%b4%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d1%8f">Способы подключения&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%ba%d0%be%d1%80%d0%bf%d0%be%d1%80%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d1%8b%d0%b9-https-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8">Корпоративный HTTP(S)-прокси&lt;/a>
&lt;ul>
&lt;li>&lt;a href="#%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80%d1%8b">Параметры&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%ba%d0%b0%d0%ba%d0%be%d0%b9-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8-%d0%b2%d1%8b%d0%b1%d0%b8%d1%80%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%b4%d0%bb%d1%8f-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%b0">Какой прокси выбирается для запроса&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%b8%d1%81%d0%ba%d0%bb%d1%8e%d1%87%d0%b5%d0%bd%d0%b8%d1%8f-no_proxy">Исключения: no_proxy&lt;/a>&lt;/li>
&lt;li>&lt;a href="#linux-%d0%b8-windows">Linux и Windows&lt;/a>&lt;/li>
&lt;li>&lt;a href="#docker">Docker&lt;/a>&lt;/li>
&lt;li>&lt;a href="#kubernetes">Kubernetes&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%ba%d0%b0%d0%ba%d0%b8%d0%b5-%d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d0%b5-%d0%b8%d0%b4%d1%83%d1%82-%d1%87%d0%b5%d1%80%d0%b5%d0%b7-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8">Какие данные идут через прокси&lt;/a>&lt;/li>
&lt;/ul>
&lt;/li>
&lt;li>&lt;a href="#%d0%bf%d1%80%d0%be%d0%bc%d0%b5%d0%b6%d1%83%d1%82%d0%be%d1%87%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d1%80%d0%b5%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d1%8f%d1%82%d0%be%d1%80">Промежуточный сервер-ретранслятор&lt;/a>&lt;/li>
&lt;li>&lt;a href="#%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b">Проверка работы&lt;/a>&lt;/li>
&lt;/ul>
&lt;h2 id="способы-подключения">Способы подключения&lt;/h2>
&lt;p>Агент сам устанавливает соединения с ProtoOBP Backend: отправляет метрики, трейсы, логи и служебные данные. Если прямого сетевого доступа от хоста с агентом до бэкенда нет, используйте один из двух способов:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Способ&lt;/th>
&lt;th style="text-align:left">Когда подходит&lt;/th>
&lt;th style="text-align:left">Что меняется в конфигурации агента&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;a href="#%d0%ba%d0%be%d1%80%d0%bf%d0%be%d1%80%d0%b0%d1%82%d0%b8%d0%b2%d0%bd%d1%8b%d0%b9-https-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8">Корпоративный HTTP(S)-прокси&lt;/a>&lt;/td>
&lt;td style="text-align:left">В сети уже есть прокси-сервер (Squid, корпоративный шлюз и т. п.), через который разрешён выход хостов&lt;/td>
&lt;td style="text-align:left">Добавляется секция &lt;code>proxy&lt;/code>, адреса бэкенда (&lt;code>pobp_url&lt;/code>, &lt;code>apm_pobp_url&lt;/code>) остаются прежними&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;a href="#%d0%bf%d1%80%d0%be%d0%bc%d0%b5%d0%b6%d1%83%d1%82%d0%be%d1%87%d0%bd%d1%8b%d0%b9-%d1%81%d0%b5%d1%80%d0%b2%d0%b5%d1%80-%d1%80%d0%b5%d1%82%d1%80%d0%b0%d0%bd%d1%81%d0%bb%d1%8f%d1%82%d0%be%d1%80">Промежуточный сервер-ретранслятор&lt;/a>&lt;/td>
&lt;td style="text-align:left">Нужно вынести единственную точку выхода в отдельный сегмент сети, а прокси с поддержкой &lt;code>CONNECT&lt;/code> нет&lt;/td>
&lt;td style="text-align:left">Вместо адреса бэкенда указывается адрес ретранслятора&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Соединения от трейсеров приложений к агенту (порт &lt;code>8126&lt;/code>, DogStatsD &lt;code>8125&lt;/code>, OTLP &lt;code>4317&lt;/code>/&lt;code>4318&lt;/code>) остаются локальными и через прокси не проходят.&lt;/p>
&lt;h2 id="корпоративный-https-прокси">Корпоративный HTTP(S)-прокси&lt;/h2>
&lt;h3 id="параметры">Параметры&lt;/h3>
&lt;p>Прокси задаётся в секции &lt;code>proxy&lt;/code> основного файла конфигурации &lt;code>protoobp.yaml&lt;/code> (расположение файла — в разделе &lt;a href="../#%d1%84%d0%b0%d0%b9%d0%bb%d1%8b-%d0%ba%d0%be%d0%bd%d1%84%d0%b8%d0%b3%d1%83%d1%80%d0%b0%d1%86%d0%b8%d0%b8-%d0%b0%d0%b3%d0%b5%d0%bd%d1%82%d0%b0">Файлы конфигурации агента&lt;/a>):&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">proxy&lt;/span>&lt;span class="p">:&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="nt">http&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://&amp;lt;ЛОГИН&amp;gt;:&amp;lt;ПАРОЛЬ&amp;gt;@&amp;lt;АДРЕС_ПРОКСИ&amp;gt;:&amp;lt;ПОРТ&amp;gt;&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="nt">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://&amp;lt;ЛОГИН&amp;gt;:&amp;lt;ПАРОЛЬ&amp;gt;@&amp;lt;АДРЕС_ПРОКСИ&amp;gt;:&amp;lt;ПОРТ&amp;gt;&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="nt">no_proxy&lt;/span>&lt;span class="p">:&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="l">&amp;lt;ХОСТ_1&amp;gt;&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="l">&amp;lt;ХОСТ_2&amp;gt;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Параметр&lt;/th>
&lt;th style="text-align:left">Переменная окружения&lt;/th>
&lt;th style="text-align:left">Назначение&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;code>proxy.http&lt;/code>&lt;/td>
&lt;td style="text-align:left">&lt;code>POBP_PROXY_HTTP&lt;/code>&lt;/td>
&lt;td style="text-align:left">Прокси для запросов к адресам со схемой &lt;code>http://&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;code>proxy.https&lt;/code>&lt;/td>
&lt;td style="text-align:left">&lt;code>POBP_PROXY_HTTPS&lt;/code>&lt;/td>
&lt;td style="text-align:left">Прокси для запросов к адресам со схемой &lt;code>https://&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;code>proxy.no_proxy&lt;/code>&lt;/td>
&lt;td style="text-align:left">&lt;code>POBP_PROXY_NO_PROXY&lt;/code>&lt;/td>
&lt;td style="text-align:left">Хосты, к которым агент обращается напрямую. В переменной окружения значения разделяются пробелом или запятой&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;code>no_proxy_nonexact_match&lt;/code>&lt;/td>
&lt;td style="text-align:left">&lt;code>POBP_NO_PROXY_NONEXACT_MATCH&lt;/code>&lt;/td>
&lt;td style="text-align:left">Расширенное сравнение для &lt;code>no_proxy&lt;/code>: домены с поддоменами и подсети CIDR. По умолчанию &lt;code>false&lt;/code>&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;code>skip_ssl_validation&lt;/code>&lt;/td>
&lt;td style="text-align:left">&lt;code>POBP_SKIP_SSL_VALIDATION&lt;/code>&lt;/td>
&lt;td style="text-align:left">Отключить проверку TLS-сертификата бэкенда. Используйте, только если прокси подменяет сертификат, а корпоративный корневой сертификат нельзя добавить в систему&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Если параметры не заданы ни в файле, ни через &lt;code>POBP_PROXY_*&lt;/code>, агент использует стандартные переменные окружения &lt;code>HTTP_PROXY&lt;/code>, &lt;code>HTTPS_PROXY&lt;/code> и &lt;code>NO_PROXY&lt;/code>. Переменные &lt;code>POBP_PROXY_*&lt;/code> имеют приоритет над стандартными, а переменные окружения в целом — над значениями из &lt;code>protoobp.yaml&lt;/code>.&lt;/p>
&lt;p>Логин и пароль указываются в адресе прокси. Специальные символы в них (&lt;code>@&lt;/code>, &lt;code>:&lt;/code>, &lt;code>/&lt;/code>, &lt;code>#&lt;/code>, &lt;code>%&lt;/code>) кодируются в URL-формате, например &lt;code>p@ss&lt;/code> записывается как &lt;code>p%40ss&lt;/code>. Чтобы не хранить пароль в открытом виде, задайте его через &lt;a href="../secrets/">управление секретами&lt;/a>: &lt;code>https: ENC[proxy_url]&lt;/code>.&lt;/p>
&lt;p>В журнале агента учётные данные прокси маскируются (&lt;code>*****:*****@&lt;/code>).&lt;/p>
&lt;h3 id="какой-прокси-выбирается-для-запроса">Какой прокси выбирается для запроса&lt;/h3>
&lt;p>Агент выбирает прокси по схеме &lt;strong>адреса назначения&lt;/strong>, а не по схеме адреса прокси:&lt;/p>
&lt;ul>
&lt;li>адрес бэкенда &lt;code>http://protoobp-backend&lt;/code> → используется &lt;code>proxy.http&lt;/code>;&lt;/li>
&lt;li>адрес бэкенда &lt;code>https://protoobp-backend&lt;/code> → используется &lt;code>proxy.https&lt;/code>.&lt;/li>
&lt;/ul>
&lt;div class="alert alert-warning" role="alert">
&lt;h4 class="alert-heading">Обратите внимание&lt;/h4>
В типовой установке &lt;code>pobp_url&lt;/code> и &lt;code>apm_pobp_url&lt;/code> указываются со схемой &lt;code>http://&lt;/code>. В этом случае заполнять нужно &lt;code>proxy.http&lt;/code>: если задан только &lt;code>proxy.https&lt;/code>, агент будет подключаться к бэкенду напрямую. Если не уверены, укажите один и тот же прокси в обоих параметрах.
&lt;/div>
&lt;p>Сам прокси-сервер обычно указывается со схемой &lt;code>http://&lt;/code> в обоих параметрах: для HTTPS-запросов агент открывает через него туннель методом &lt;code>CONNECT&lt;/code>.&lt;/p>
&lt;h3 id="исключения-no_proxy">Исключения: no_proxy&lt;/h3>
&lt;p>По умолчанию элемент &lt;code>no_proxy&lt;/code> сравнивается с хостом назначения &lt;strong>точно&lt;/strong>, включая порт, если он указан в адресе. Например, для &lt;code>pobp_url: http://backend.local:8080&lt;/code> подойдёт элемент &lt;code>backend.local:8080&lt;/code>, а &lt;code>backend.local&lt;/code> — нет.&lt;/p>
&lt;p>Включите &lt;code>no_proxy_nonexact_match: true&lt;/code>, чтобы использовать привычные правила &lt;code>NO_PROXY&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">no_proxy_nonexact_match&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&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="nt">proxy&lt;/span>&lt;span class="p">:&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="nt">http&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">no_proxy&lt;/span>&lt;span class="p">:&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="l">.corp.local &lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># домен и все его поддомены&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="m">10.0.0.0&lt;/span>&lt;span class="l">/8 &lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="c"># подсеть&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="l">localhost&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;h3 id="linux-и-windows">Linux и Windows&lt;/h3>
&lt;ol>
&lt;li>
&lt;p>Добавьте секцию &lt;code>proxy&lt;/code> в &lt;code>protoobp.yaml&lt;/code>:&lt;/p>
&lt;ul>
&lt;li>Linux: &lt;code>/etc/protoobp-agent/protoobp.yaml&lt;/code>;&lt;/li>
&lt;li>Windows: &lt;code>%ProgramData%\Protoobp\protoobp.yaml&lt;/code>.&lt;/li>
&lt;/ul>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">api_key&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">&amp;lt;ВАШ_API_KEY&amp;gt;&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="nt">pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://protoobp-backend&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="nt">apm_config&lt;/span>&lt;span class="p">:&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="nt">apm_non_local_traffic&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&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="nt">apm_pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://protoobp-backend&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="nt">proxy&lt;/span>&lt;span class="p">:&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="nt">http&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">https&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;/li>
&lt;li>
&lt;p>Перезапустите агента: на Linux — &lt;code>systemctl restart protoobp-agent&lt;/code>, на Windows — через ProtoOBP Agent Manager или командой &lt;code>agent.exe restart-service&lt;/code> (см. &lt;a href="../windows/#%d1%83%d0%bf%d1%80%d0%b0%d0%b2%d0%bb%d0%b5%d0%bd%d0%b8%d0%b5">Windows агент – управление&lt;/a>).&lt;/p>
&lt;/li>
&lt;/ol>
&lt;p>Вместо секции в файле на Linux можно задать переменные &lt;code>POBP_PROXY_HTTP&lt;/code>, &lt;code>POBP_PROXY_HTTPS&lt;/code> и &lt;code>POBP_PROXY_NO_PROXY&lt;/code> через drop-in файл systemd — см. &lt;a href="../linux/#%d0%bf%d0%b5%d1%80%d0%b5%d0%bc%d0%b5%d0%bd%d0%bd%d1%8b%d0%b5-%d0%be%d0%ba%d1%80%d1%83%d0%b6%d0%b5%d0%bd%d0%b8%d1%8f-%d0%b0%d0%b3%d0%b5%d0%bd%d1%82%d0%b0">Переменные окружения агента&lt;/a>.&lt;/p>
&lt;h3 id="docker">Docker&lt;/h3>
&lt;p>Передайте параметры переменными окружения контейнера агента:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">docker run -d --name protoobp-agent &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -e &lt;span class="nv">POBP_API_KEY&lt;/span>&lt;span class="o">=&lt;/span>&amp;lt;ВАШ_API_KEY&amp;gt; &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -e &lt;span class="nv">POBP_URL&lt;/span>&lt;span class="o">=&lt;/span>http://protoobp-backend &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -e &lt;span class="nv">POBP_PROXY_HTTP&lt;/span>&lt;span class="o">=&lt;/span>http://proxy.corp.local:3128 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -e &lt;span class="nv">POBP_PROXY_HTTPS&lt;/span>&lt;span class="o">=&lt;/span>http://proxy.corp.local:3128 &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> -e &lt;span class="nv">POBP_PROXY_NO_PROXY&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="s2">&amp;#34;localhost 127.0.0.1&amp;#34;&lt;/span> &lt;span class="se">\
&lt;/span>&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="se">&lt;/span> ...
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>В &lt;code>docker-compose.yaml&lt;/code> те же переменные указываются в секции &lt;code>environment&lt;/code> сервиса агента.&lt;/p>
&lt;h3 id="kubernetes">Kubernetes&lt;/h3>
&lt;p>Добавьте переменные в &lt;code>values.yaml&lt;/code> Helm-чарта агента. Cluster Agent получает переменные отдельно от агента на нодах, поэтому их нужно продублировать в &lt;code>clusterAgent.env&lt;/code>:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">protoobp&lt;/span>&lt;span class="p">:&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="nt">env&lt;/span>&lt;span class="p">:&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_HTTP&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_HTTPS&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_NO_PROXY&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;localhost 127.0.0.1 .svc .cluster.local&amp;#34;&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_NO_PROXY_NONEXACT_MATCH&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;true&amp;#34;&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="nt">clusterAgent&lt;/span>&lt;span class="p">:&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="nt">env&lt;/span>&lt;span class="p">:&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_HTTP&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_HTTPS&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://proxy.corp.local:3128&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_PROXY_NO_PROXY&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;localhost 127.0.0.1 .svc .cluster.local&amp;#34;&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="nt">name&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">POBP_NO_PROXY_NONEXACT_MATCH&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="nt">value&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="s2">&amp;#34;true&amp;#34;&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Внесите в &lt;code>no_proxy&lt;/code> внутрикластерные адреса (&lt;code>.svc&lt;/code>, &lt;code>.cluster.local&lt;/code>), чтобы обращения агента к kubelet, API Kubernetes и Cluster Agent не уходили на прокси. Примените изменения командой из раздела &lt;a href="../kubernetes/#%d0%b8%d0%b7%d0%bc%d0%b5%d0%bd%d0%b5%d0%bd%d0%b8%d0%b5-%d0%bf%d0%b0%d1%80%d0%b0%d0%bc%d0%b5%d1%82%d1%80%d0%be%d0%b2">Изменение параметров Kubernetes агента&lt;/a>.&lt;/p>
&lt;h3 id="какие-данные-идут-через-прокси">Какие данные идут через прокси&lt;/h3>
&lt;p>Секция &lt;code>proxy&lt;/code> действует для всех исходящих HTTP(S)-соединений агента:&lt;/p>
&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Данные&lt;/th>
&lt;th style="text-align:left">Компонент&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">Метрики хоста, контейнеров и интеграций, события, проверки сервисов&lt;/td>
&lt;td style="text-align:left">основной агент&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Трейсы и статистика APM&lt;/td>
&lt;td style="text-align:left">trace-агент&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Логи (при отправке по HTTP — режим по умолчанию)&lt;/td>
&lt;td style="text-align:left">основной агент&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">Процессы и контейнеры (если включён сбор)&lt;/td>
&lt;td style="text-align:left">process-агент&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Логи, которые агент отправляет по TCP (параметр &lt;code>logs_config.force_use_tcp: true&lt;/code>), через HTTP-прокси не проходят. Чтобы логи гарантированно шли через прокси, задайте &lt;code>logs_config.force_use_http: true&lt;/code>.&lt;/p>
&lt;h2 id="промежуточный-сервер-ретранслятор">Промежуточный сервер-ретранслятор&lt;/h2>
&lt;p>В этом варианте агент не знает о прокси: в его конфигурации вместо адреса бэкенда указывается адрес промежуточного сервера, который пересылает соединения на ProtoOBP Backend. В примере ниже ретранслятором служит Nginx с модулем &lt;code>stream&lt;/code>: он принимает соединения агента по HTTP на порту &lt;code>80&lt;/code> и открывает TLS-соединение к бэкенду на порту &lt;code>443&lt;/code>.&lt;/p>
&lt;ol>
&lt;li>
&lt;p>Настройте прокси-сервер. Минимальная конфигурация Nginx:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-nginx" data-lang="nginx">&lt;span class="line">&lt;span class="cl">&lt;span class="k">user&lt;/span> &lt;span class="s">www-data&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">worker_processes&lt;/span> &lt;span class="s">auto&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">error_log&lt;/span> &lt;span class="s">/var/log/nginx/error.log&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">pid&lt;/span> &lt;span class="s">/run/nginx.pid&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">load_module&lt;/span> &lt;span class="s">/usr/lib/nginx/modules/ngx_stream_module.so&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">events&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">worker_connections&lt;/span> &lt;span class="mi">1024&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="k">stream&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">server&lt;/span> &lt;span class="p">{&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">listen&lt;/span> &lt;span class="mi">80&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">proxy_ssl_verify&lt;/span> &lt;span class="no">off&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">proxy_ssl&lt;/span> &lt;span class="no">on&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="kn">proxy_pass&lt;/span> &lt;span class="n">proto-backend&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="mi">443&lt;/span>&lt;span class="p">;&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> &lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="p">}&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Где &lt;code>proto-backend&lt;/code> – адрес вашего бэкенд сервера.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Настройте агента. В используемых адресах вместо адресов бэкенда укажите адрес прокси-сервера:&lt;/p>
&lt;div class="highlight">&lt;pre tabindex="0" class="chroma">&lt;code class="language-yaml" data-lang="yaml">&lt;span class="line">&lt;span class="cl">&lt;span class="nt">api_key&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">your-api-key&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="nt">pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://nginx-proxy&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="nt">skip_ssl_validation&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&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="nt">apm_config&lt;/span>&lt;span class="p">:&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="nt">apm_non_local_traffic&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">true&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="nt">apm_pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">http://nginx-proxy&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="nt">telemetry&lt;/span>&lt;span class="p">:&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="nt">enabled&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="kc">false&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="nt">database_monitoring&lt;/span>&lt;span class="p">:&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="nt">metrics&lt;/span>&lt;span class="p">:&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="nt">pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">nginx-proxy&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="nt">activity&lt;/span>&lt;span class="p">:&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="nt">pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">nginx-proxy&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="nt">samples&lt;/span>&lt;span class="p">:&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="nt">pobp_url&lt;/span>&lt;span class="p">:&lt;/span>&lt;span class="w"> &lt;/span>&lt;span class="l">nginx-proxy&lt;/span>&lt;span class="w">
&lt;/span>&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/div>&lt;p>Где &lt;code>nginx-proxy&lt;/code> – адрес вашего прокси-сервера.&lt;/p>
&lt;p>Если агент собирает логи, укажите адрес ретранслятора и для них: &lt;code>logs_config.logs_pobp_url: http://nginx-proxy&lt;/code>. Адрес со схемой &lt;code>http://&lt;/code> или &lt;code>https://&lt;/code> переводит отправку логов в режим HTTP.&lt;/p>
&lt;/li>
&lt;li>
&lt;p>Примените изменения, перезапустив агента.&lt;/p>
&lt;/li>
&lt;/ol>
&lt;h2 id="проверка-работы">Проверка работы&lt;/h2>
&lt;ol>
&lt;li>Выполните &lt;code>protoobp-agent status&lt;/code> (команды для других платформ — в разделе &lt;a href="../commands/#%d0%bf%d1%80%d0%be%d0%b2%d0%b5%d1%80%d0%ba%d0%b0-%d1%80%d0%b0%d0%b1%d0%be%d1%82%d1%8b-%d0%b0%d0%b3%d0%b5%d0%bd%d1%82%d0%b0">Проверка работы агента&lt;/a>). В блоке &lt;code>Forwarder&lt;/code> не должно быть ошибок отправки, в блоке &lt;code>APM Agent&lt;/code> — ошибок записи трейсов, в блоке &lt;code>Logs Agent&lt;/code> — ошибок подключения.&lt;/li>
&lt;li>Если данные не поступают, включите подробный журнал (&lt;code>log_level: debug&lt;/code> в &lt;code>protoobp.yaml&lt;/code>) и найдите в &lt;a href="../logs/">журнале агента&lt;/a> строки &lt;code>Using proxy&lt;/code>: в них видно, какой прокси выбран для каждого адреса назначения. Если таких строк нет, для схемы адреса бэкенда прокси не задан — см. &lt;a href="#%d0%ba%d0%b0%d0%ba%d0%be%d0%b9-%d0%bf%d1%80%d0%be%d0%ba%d1%81%d0%b8-%d0%b2%d1%8b%d0%b1%d0%b8%d1%80%d0%b0%d0%b5%d1%82%d1%81%d1%8f-%d0%b4%d0%bb%d1%8f-%d0%b7%d0%b0%d0%bf%d1%80%d0%be%d1%81%d0%b0">Какой прокси выбирается для запроса&lt;/a>.&lt;/li>
&lt;li>Ответ прокси &lt;code>407 Proxy Authentication Required&lt;/code> означает неверный логин или пароль либо незакодированные специальные символы в них.&lt;/li>
&lt;li>После проверки верните прежний &lt;code>log_level&lt;/code>.&lt;/li>
&lt;/ol></description></item></channel></rss>