<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
	<id>https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=Linux_command_extension</id>
	<title>Linux command extension - История изменений</title>
	<link rel="self" type="application/atom+xml" href="https://doc.ruscomtech.ru/index.php?action=history&amp;feed=atom&amp;title=Linux_command_extension"/>
	<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Linux_command_extension&amp;action=history"/>
	<updated>2026-09-16T11:51:27Z</updated>
	<subtitle>История изменений этой страницы в вики</subtitle>
	<generator>MediaWiki 1.43.9</generator>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=Linux_command_extension&amp;diff=6692&amp;oldid=prev</id>
		<title>Aleksandr.Zubarev в 19:32, 15 сентября 2026</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Linux_command_extension&amp;diff=6692&amp;oldid=prev"/>
		<updated>2026-09-15T19:32:30Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;ru&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Предыдущая версия&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Версия от 19:32, 15 сентября 2026&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l147&quot;&gt;Строка 147:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Строка 147:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Заполните &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Заполните &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt;.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Поле &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; остаётся обязательным по схеме, но при наличии &amp;lt;code&amp;gt;private_key_file&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt; используется парольная фраза ключа.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;** Поле &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; остаётся обязательным по схеме, но при наличии &amp;lt;code&amp;gt;private_key_file&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt; используется парольная фраза ключа.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;== История версий ==&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;{| class=&quot;wikitable&quot;&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;! Версия&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;! Изменения&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|-&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|0.1.0&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|Начало поддержки расширения в Ключ-АСТРОМ &amp;lt;code&amp;gt;1.285+&amp;lt;/code&amp;gt;. Расширение выполняет команды на удалённых Linux-хостах по SSH и преобразует полученные значения в метрики.&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-side-deleted&quot;&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;|}&lt;/ins&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;

&lt;!-- diff cache key ka_db:diff:1.41:old-6630:rev-6692:php=table --&gt;
&lt;/table&gt;</summary>
		<author><name>Aleksandr.Zubarev</name></author>
	</entry>
	<entry>
		<id>https://doc.ruscomtech.ru/index.php?title=Linux_command_extension&amp;diff=6630&amp;oldid=prev</id>
		<title>IKuznetsov: Новая страница: «= Расширение linux_command для Ключ-АСТРОМ = Расширение &#039;&#039;&#039;linux_command&#039;&#039;&#039; предназначено для выполнения произвольных &#039;&#039;&#039;bash&#039;&#039;&#039;-команд на удалённых хостах по &#039;&#039;&#039;SSH&#039;&#039;&#039; и преобразования вывода в метрики Ключ-АСТРОМ. Метрики имеют префикс &lt;code&gt;custom.linux_command&lt;/code&gt;.  == Возможности расш...»</title>
		<link rel="alternate" type="text/html" href="https://doc.ruscomtech.ru/index.php?title=Linux_command_extension&amp;diff=6630&amp;oldid=prev"/>
		<updated>2026-08-25T22:46:54Z</updated>

		<summary type="html">&lt;p&gt;Новая страница: «= Расширение linux_command для Ключ-АСТРОМ = Расширение &amp;#039;&amp;#039;&amp;#039;linux_command&amp;#039;&amp;#039;&amp;#039; предназначено для выполнения произвольных &amp;#039;&amp;#039;&amp;#039;bash&amp;#039;&amp;#039;&amp;#039;-команд на удалённых хостах по &amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039; и преобразования вывода в метрики Ключ-АСТРОМ. Метрики имеют префикс &amp;lt;code&amp;gt;custom.linux_command&amp;lt;/code&amp;gt;.  == Возможности расш...»&lt;/p&gt;
&lt;p&gt;&lt;b&gt;Новая страница&lt;/b&gt;&lt;/p&gt;&lt;div&gt;= Расширение linux_command для Ключ-АСТРОМ =&lt;br /&gt;
Расширение &amp;#039;&amp;#039;&amp;#039;linux_command&amp;#039;&amp;#039;&amp;#039; предназначено для выполнения произвольных &amp;#039;&amp;#039;&amp;#039;bash&amp;#039;&amp;#039;&amp;#039;-команд на удалённых хостах по &amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039; и преобразования вывода в метрики Ключ-АСТРОМ. Метрики имеют префикс &amp;lt;code&amp;gt;custom.linux_command&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
== Возможности расширения ==&lt;br /&gt;
&lt;br /&gt;
* Выполнение произвольной &amp;#039;&amp;#039;&amp;#039;bash&amp;#039;&amp;#039;&amp;#039;-команды на удалённом хосте.&lt;br /&gt;
* Подключение по &amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039; с паролем или по приватному ключу.&lt;br /&gt;
* Запуск команды от имени другого пользователя через &amp;lt;code&amp;gt;su &amp;amp;#x3C;user&amp;amp;#x3E; -c &amp;amp;#x3C;command&amp;amp;#x3E;&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Разбор вывода в двух режимах:&lt;br /&gt;
** &amp;lt;code&amp;gt;SINGLE_VALUE&amp;lt;/code&amp;gt; — первое числовое значение из вывода.&lt;br /&gt;
** &amp;lt;code&amp;gt;MULTI_VALUE&amp;lt;/code&amp;gt; — набор пар &amp;lt;code&amp;gt;key=value&amp;lt;/code&amp;gt;.&lt;br /&gt;
* Отправка метрик с измерением &amp;lt;code&amp;gt;endpoint&amp;lt;/code&amp;gt;, соответствующим имени endpoint.&lt;br /&gt;
&lt;br /&gt;
== Требования ==&lt;br /&gt;
На хосте, где запускается расширение (АктивныйШлюз или среда выполнения), должны быть установлены:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;ssh&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;sshpass&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Конфигурация ==&lt;br /&gt;
Конфигурация задаётся через &amp;#039;&amp;#039;&amp;#039;activation.json&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
&lt;br /&gt;
=== Пример activation.json ===&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
{&lt;br /&gt;
  &amp;quot;enabled&amp;quot;: true,&lt;br /&gt;
  &amp;quot;description&amp;quot;: &amp;quot;linux_command activation&amp;quot;,&lt;br /&gt;
  &amp;quot;version&amp;quot;: &amp;quot;0.0.6&amp;quot;,&lt;br /&gt;
  &amp;quot;activationContext&amp;quot;: &amp;quot;REMOTE&amp;quot;,&lt;br /&gt;
  &amp;quot;pythonRemote&amp;quot;: {&lt;br /&gt;
    &amp;quot;endpoints&amp;quot;: [&lt;br /&gt;
      {&lt;br /&gt;
        &amp;quot;endpoint_name&amp;quot;: &amp;quot;test-endpoint&amp;quot;,&lt;br /&gt;
        &amp;quot;execution_frequency&amp;quot;: 1,&lt;br /&gt;
        &amp;quot;hostname&amp;quot;: &amp;quot;172.18.38.131&amp;quot;,&lt;br /&gt;
        &amp;quot;ssh_port&amp;quot;: 22,&lt;br /&gt;
        &amp;quot;username&amp;quot;: &amp;quot;test-user&amp;quot;,&lt;br /&gt;
        &amp;quot;password&amp;quot;: &amp;quot;{{sshPassword}}&amp;quot;,&lt;br /&gt;
        &amp;quot;second_username&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;second_password&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;private_key_file&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;private_key_passphrase&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;command&amp;quot;: &amp;quot;id -u&amp;quot;,&lt;br /&gt;
        &amp;quot;metric_extraction_mode&amp;quot;: &amp;quot;SINGLE_VALUE&amp;quot;,&lt;br /&gt;
        &amp;quot;metric_pair_delimiter&amp;quot;: &amp;quot;&amp;quot;,&lt;br /&gt;
        &amp;quot;key_value_delimiter&amp;quot;: &amp;quot;&amp;quot;&lt;br /&gt;
      }&lt;br /&gt;
    ]&lt;br /&gt;
  }&lt;br /&gt;
}&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Параметры endpoint ==&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
!Параметр&lt;br /&gt;
!Описание&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;endpoint_name&amp;lt;/code&amp;gt;&lt;br /&gt;
|Имя endpoint (попадает в измерение &amp;lt;code&amp;gt;endpoint&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;execution_frequency&amp;lt;/code&amp;gt;&lt;br /&gt;
|Частота запуска в минутах (минимум 1).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;hostname&amp;lt;/code&amp;gt;&lt;br /&gt;
|Хост для &amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039;-подключения.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;ssh_port&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039;-порт (по умолчанию 22).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039;-пользователь.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt;&lt;br /&gt;
|&amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039;-пароль.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;second_username&amp;lt;/code&amp;gt;&lt;br /&gt;
|Второй пользователь для &amp;lt;code&amp;gt;su&amp;lt;/code&amp;gt; (опционально).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;second_password&amp;lt;/code&amp;gt;&lt;br /&gt;
|Пароль второго пользователя (опционально).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;private_key_file&amp;lt;/code&amp;gt;&lt;br /&gt;
|Путь к приватному ключу на АктивномШлюзе/среде выполнения (опционально).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt;&lt;br /&gt;
|Парольная фраза ключа (опционально).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;command&amp;lt;/code&amp;gt;&lt;br /&gt;
|Команда для запуска.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;metric_extraction_mode&amp;lt;/code&amp;gt;&lt;br /&gt;
|Режим извлечения метрик: &amp;lt;code&amp;gt;SINGLE_VALUE&amp;lt;/code&amp;gt; или &amp;lt;code&amp;gt;MULTI_VALUE&amp;lt;/code&amp;gt;.&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;metric_pair_delimiter&amp;lt;/code&amp;gt;&lt;br /&gt;
|Разделитель пар в &amp;lt;code&amp;gt;MULTI_VALUE&amp;lt;/code&amp;gt; (по умолчанию &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;).&lt;br /&gt;
|-&lt;br /&gt;
|&amp;lt;code&amp;gt;key_value_delimiter&amp;lt;/code&amp;gt;&lt;br /&gt;
|Разделитель ключ/значение в &amp;lt;code&amp;gt;MULTI_VALUE&amp;lt;/code&amp;gt; (по умолчанию &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;).&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Режимы извлечения метрик ==&lt;br /&gt;
&lt;br /&gt;
=== SINGLE_VALUE ===&lt;br /&gt;
Берётся первая строка, которую можно преобразовать в число с плавающей точкой.&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Команда: &amp;lt;code&amp;gt;id -u&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Вывод: &amp;lt;code&amp;gt;1001&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метрика: &amp;lt;code&amp;gt;custom.linux_command.value = 1001&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== MULTI_VALUE ===&lt;br /&gt;
Ожидается вывод в формате &amp;lt;code&amp;gt;key=value&amp;lt;/code&amp;gt; (или с заданными разделителями).&lt;br /&gt;
&lt;br /&gt;
&amp;#039;&amp;#039;&amp;#039;Пример:&amp;#039;&amp;#039;&amp;#039;&lt;br /&gt;
&lt;br /&gt;
Команда: &amp;lt;code&amp;gt;printf &amp;#039;cpu=12\nmem=45.5\nerrors=0\n&amp;#039;&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;metric_pair_delimiter&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;\n&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
&amp;lt;code&amp;gt;key_value_delimiter&amp;lt;/code&amp;gt;: &amp;lt;code&amp;gt;=&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Метрики:&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;custom.linux_command.cpu = 12&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;custom.linux_command.mem = 45.5&amp;lt;/code&amp;gt;&lt;br /&gt;
* &amp;lt;code&amp;gt;custom.linux_command.errors = 0&amp;lt;/code&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Примеры сценариев ==&lt;br /&gt;
&lt;br /&gt;
=== Команда от второго пользователя ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;username&amp;lt;/code&amp;gt;: пользователь для &amp;#039;&amp;#039;&amp;#039;SSH&amp;#039;&amp;#039;&amp;#039;.&lt;br /&gt;
* &amp;lt;code&amp;gt;second_username&amp;lt;/code&amp;gt;: пользователь, от которого выполнить команду.&lt;br /&gt;
* &amp;lt;code&amp;gt;command&amp;lt;/code&amp;gt;: например, &amp;lt;code&amp;gt;id -u&amp;lt;/code&amp;gt;.&lt;br /&gt;
&lt;br /&gt;
Фактически выполняется:&amp;lt;pre&amp;gt;&lt;br /&gt;
su &amp;amp;lt;second_username&amp;amp;gt; -c &amp;#039;&amp;amp;lt;command&amp;amp;gt;&amp;#039;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=== Подключение по приватному ключу ===&lt;br /&gt;
&lt;br /&gt;
* &amp;lt;code&amp;gt;private_key_file&amp;lt;/code&amp;gt;: путь к приватному ключу (например, &amp;lt;code&amp;gt;/root/.ssh/id_rsa&amp;lt;/code&amp;gt;).&lt;br /&gt;
* Если ключ защищён парольной фразой:&lt;br /&gt;
** Заполните &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt;.&lt;br /&gt;
** Поле &amp;lt;code&amp;gt;password&amp;lt;/code&amp;gt; остаётся обязательным по схеме, но при наличии &amp;lt;code&amp;gt;private_key_file&amp;lt;/code&amp;gt; + &amp;lt;code&amp;gt;private_key_passphrase&amp;lt;/code&amp;gt; используется парольная фраза ключа.&lt;/div&gt;</summary>
		<author><name>IKuznetsov</name></author>
	</entry>
</feed>