Ad Widget

Collapse

Проверка наличия файла на удаленном web-сер

Collapse
X
 
  • Time
  • Show
Clear All
new posts
  • zmdpc
    Senior Member
    • Oct 2014
    • 484

    #1

    Проверка наличия файла на удаленном web-сер

    Добрый день коллеги.

    Есть необходимость отслеживать результата работы скрипта обрабатывающего некоторые входящие данные. Признаком его работы служит наличие определенного файла (установленного образца подающегося на вход скрипта) в папке на web-сайте. Обработка может занимать до 10 минут. Иногда происходит сбой обработки (хостером убивается процесс по его мнению чрезмерно создающего нагрузку на сервер). Файлы обрабатываются последовательно, их может быть десятки.

    Посоветуйте пожалуйста как можно поступить в подобной ситуации.
  • yukra
    Senior Member
    • Apr 2013
    • 1359

    #2
    Originally posted by zmdpc
    Добрый день коллеги.

    Есть необходимость отслеживать результата работы скрипта обрабатывающего некоторые входящие данные. Признаком его работы служит наличие определенного файла (установленного образца подающегося на вход скрипта) в папке на web-сайте. Обработка может занимать до 10 минут. Иногда происходит сбой обработки (хостером убивается процесс по его мнению чрезмерно создающего нагрузку на сервер). Файлы обрабатываются последовательно, их может быть десятки.

    Посоветуйте пожалуйста как можно поступить в подобной ситуации.
    Не очень понятно, что именно вам требуется и что у вас есть сейчас.
    Я так понимаю рутового доступа к серверу, на котором у вас работает php-скрипт нету, а есть только "пользовательский" доступ.

    Теоретически возможные варианты (в порядке вспоминания):
    • Настроить проверки через ssh
    • Доработать ваш php-скрипт так, что бы он выкладывал что-то типа лога в директорию, доступную по http. Забирать данные через external check
    • Написать второй скрипт, который будет запускаться по запросу через веб-сервер, смотреть как там чувствует себя первый скрипт и отдавать ответ в виде http-кода. Образаться к нему через web-мониторинг.
    • Принести на сервер zabbix-sender, собранный статикой, засытаь через него данные на сервер траппером.
    • Реализовать протокол zabbix-sender'а в вашем php-скрипте. Как минимум в паблике есть библиотеки, которые, судя по названиям, это умеют.
    • php-скриптом писать "логи" в любую доступную БД, читать в заббикс их через ODBC


    Причем я почти уверен, что если внимательно и подробно рассмотреть ваш случай, вполне найдется еще минимум пара способой

    Comment

    • zmdpc
      Senior Member
      • Oct 2014
      • 484

      #3
      Спасибо за ответ.
      Добавлю конкретики...

      Да доступ пользовательский.
      Скрипт импортирует данные из 1с - отслеживает появление файлов в папке куда они попадают через фтп. Выполнение задачи пишется в лог. Время выполнения шага обработки 100 позиций около 40 сек. Примерный вид 111.txt . Скрипт обработал поданные файлы и ждет дальше.

      Задача сводится к оперативному оповещению на телеграмм о возникновении проблемы группе лиц. Сервер zabbix обслуживает другие задачи, на нем все необходимые оповещения настроены и работают. Возникла мысль прикрутить ему еще и эту параллельную задачу.

      Мысль с мониторингом лога нравится...
      Посоветуйте каким образом можно реализовать ?

      Comment

      • yukra
        Senior Member
        • Apr 2013
        • 1359

        #4
        Originally posted by zmdpc
        Спасибо за ответ.
        Добавлю конкретики...

        Да доступ пользовательский.
        Скрипт импортирует данные из 1с - отслеживает появление файлов в папке куда они попадают через фтп. Выполнение задачи пишется в лог. Время выполнения шага обработки 100 позиций около 40 сек. Примерный вид [ATTACH]10431[/ATTACH] . Скрипт обработал поданные файлы и ждет дальше.

        Задача сводится к оперативному оповещению на телеграмм о возникновении проблемы группе лиц. Сервер zabbix обслуживает другие задачи, на нем все необходимые оповещения настроены и работают. Возникла мысль прикрутить ему еще и эту параллельную задачу.

        Мысль с мониторингом лога нравится...
        Посоветуйте каким образом можно реализовать ?
        Если исходить из того, что скрипт вы написали сами, то не должно быть особой проблемы его доработать так, что бы он вместе с записью в лог еще данные в заббикс отправлять траппером. Протокол там простой, можно самим реализовать, можно взять готовую реализацию на перле или питоне, или попробовать запустить статически собранный zabbix_sender.
        Ну во всяком случае я бы действовал примерно так.

        Comment

        • zmdpc
          Senior Member
          • Oct 2014
          • 484

          #5
          Попробовал собрать и использовать zabbix_sender (был собран на zabbix сервере). Не выходит ... ругается на отсутствие необходимых библиотек...
          Говорили о готовых реализациях на перле или питоне... можно ссылочку посмотреть ?

          Comment

          • SKabanov
            Member
            • Jan 2014
            • 36

            #6
            Originally posted by zmdpc
            Попробовал собрать и использовать zabbix_sender (был собран на zabbix сервере). Не выходит ... ругается на отсутствие необходимых библиотек...
            Говорили о готовых реализациях на перле или питоне... можно ссылочку посмотреть ?
            Вероятно сборка была выполнена с динамической линковкой библиотек, в вашем случае нужна статическая линковка. Об этом выше уже писали.

            P.S. из документации zabbix: "Используйте флаг --enable-static для статической линковки библиотек."

            Comment

            • yukra
              Senior Member
              • Apr 2013
              • 1359

              #7
              Originally posted by zmdpc
              Говорили о готовых реализациях на перле или питоне... можно ссылочку посмотреть ?
              выше есть ссылка спецификацию протокола, там, внизу страницы есть ссылки на примеры реализации.

              Comment

              Working...