Назад | Перейти на главную страницу

Запланированный вывод команды nxlog pipe

Я пытаюсь прочитать вывод last команда в Nxlog. Я бы хотел бежать last на utmp файл через равные промежутки времени. Другими словами, я хочу запланировать выполнение команды оболочки с заданным интервалом времени и передать вывод в виде события журнала. Другими словами, я бы хотел <Schedule> статьи в im_exec модуль, но кажется, что это невозможно, поэтому я пробую что-то другое (пример для linux):

<Input sample_umtp_linux>
  Module im_null
  <Schedule>
    Every   1 sec
    Exec exec("/usr/bin/last", "-f", "/var/run/utmp");
  </Schedule>
</Input>

<Output out_debug>
    Module    om_file
    File      '<mydir>/debug.log'
</Output>

<Route processwtmp>
    Path      sample_umtp_linux => out_debug
</Route>

Я не получаю сообщений об ошибках, но и не получаю никаких сообщений. Есть ли способ поймать вывод и передать его в маршрутизацию Nxlog?

(Дополнительное ограничение: Я собираюсь развернуть решение на Hp Ux, поэтому мои возможности немного ограничены с точки зрения доступных системных инструментов. Я хотел бы как можно меньше зависеть от вещей, не связанных с самим Nxlog.)

Я нашел рабочее решение для Linux, которое должно было быть довольно очевидным:

<Input sample_umtp_linux>
  Module im_exec
  Command <my_script_dir>/run_last_forever.sh
</Input>

И со сценарием, run_last_forever.sh, как это:

#!/bin/sh
while true
do
    /usr/bin/last -f /var/run/utmp
    sleep 1
done

Однако похоже, что Nxlog все-таки не может быть собран для HP-UX. Но это отдельная тема.