Publish your project for free and start receiving offers from freelance contractors in serveral minutes after publication!
1 000 ₴

Скрипт на bash

closed without completion


Задача

Автоматическая поддержка работоспособности серверов и сайтов на них.


Вводные данные:

- множество VPS серверов с Centos 6/7 и панелью управления Vesta (в основном Centos 7). На всех серверах по несколько IP, на каждом IP по несколько сайтов.

- на каждом сервере есть root и ftp пользователь (с доступом в папку :/home/admin/web/)

- все сайты и IP добавлены через Vesta

- у 95% сайтов удаленная база данных, но есть и те у которых локальная

- сайты как с http так и https, часть сайтов работает через CloudFlare


Предполагаемая логика работы 

1. CRON запускает ваш bash скрипт

2. Скрипт определяет работоспособность APACHE, NGINX, SSH, MYSQL (mariadb в Vesta), SSHD и если какой-то сервис не работает перезапускает его

3. Скрипт проверяет среднюю загрузку сервера за указанное время, и если она больше указанного значения выполняет необходимые действия для ее снижения (ОЗУ, CPU, HDD/SSD)

4. Скрипт автоматически определяет все IP на сервере (IP можно и задать руками но не желательно).

5. Cкрипт определяет все сайты на каждом из IP и рандомно выбирает по сайту на каждом IP. 

Затем скрипт проверяет HTTP код ответа каждого выбранного сайта и если главная страница отдает код отличный от 200 ОК то выполняет необходимые действия зависящие от локального сервера.

Здесь важно проверить работоспособность базы данных на сервере, хоть и большинство сайтов имеют удаленную базу данных.

6. При выполнении каких-либо действий скрипт ведет лог в файле в public_html сервера (в директории дефолтного сайта весты), с указание действия и причины.


Пожелания:

- минимум действий с подключением скрипта, желательно это только разместить исполняемый файл без изменения прав и т.д. и добавить в CRON.

- безопасность


Если что-то по ТЗ нельзя организовать или можно реализовать другим способом это обговаривается.

Стоимость договорная.



  1. proposal concealed by freelancer
  2. proposal concealed by freelancer
  3. 3 days1 000 ₴
    Alexey
    Alexey Ilchmann
    465     8  0

    Варианты:
    1. grafana with alerting, graphite, collectd, monit
    2. zabbix, monit
    3. просто monit
    в некоторых случаях скриптование понадобится к примеру для инсталляции, для авто генерации конфигов monit на основании сервисов Vesta или запись не просто в файл, а в журнал Vesta...
    вместо monit можно использовать только systemd (но не хотелось бы)

    t.me/fromstix
    skype: fromstix

    PS В зависимости от количества серверов цена может увеличится... 10-15 точек мониторинга - норм.

    Ukraine Dnepr | 8 November at 19:54 |
  4. 3 days1 000 ₴
    Сергей
    Сергей Павленко
    253   

    Добрый день!
    Готов взяться за ваш проект, с настройкой мониторинга, оповещения и перезапуска нужных служб.

    Ukraine Kyiv | 9 November at 17:14 |
  • Игорь Г.
    8 November at 12:03 |

    Вам не баш скрипт нужен, а Zabbix или что-то подобное.

  • Александр Шальнев
    8 November at 13:25 |

    Все поставленные задачи решает https://mmonit.com/monit/

    Если нужна интеграция - обращайтесь.

  • Євгеній Медуха
    8 November at 15:09 |

    Если вы и найдете того кто это сделает. То впоследствии пожелаете оба. Никогда вжухскрипты для мониторинга не работали адекватно.

  • Alexey Ilchmann
    8 November at 19:33 |

    zabbix, systemd, monit

  • Сергей Яшин
    9 November at 08:48 |

    Здесь важно проверить работоспособность базы данных на сервере - нет универсального решения, если все сайты будут на разных движках, mysql может болтаться в памяти но при этом лежать.

  • Максим Кузнецов
    9 November at 12:35 |

    zabbix, monit 


    Решения с одной кнопкой "сделать всё заебись" - не существует.