четверг, 7 марта 2013 г.

Salt - система управления конфигурацией

    Многие уже знакомы с  chief, puppet и другими системами  управления конфигурациями. Я для своего проекта выбрал - salt. Можно долго спорить на тему - что лучше, но я для себя выбрал именно salt - и одной из причин почему я это сделал было то что он написан на python.   Этот язык я люблю гораздо больше чем руби, да и при случае могу легко дописать то чего мне не хватает. И одной из таких вещей стало отсутствие в salt модуля для работы с PHP-FPM. PHP-FPM по прежнему очень широко используется, несмотря на распространение питона и руби - поэтому я решил самостоятельно написать модуль для мониторинга PHP-FPM в salt.

В настоящее время этот модуль находится в репозитории salt/salt-contrib поэтому устанавливать его нужно отдельно. Для этого просто создайте в file_roots вашего salt-master директорию с именем "_modules" и положите туда два файла: php_fpm.py и flup_fcgi_client.py.
Сами файлы находятся здесь - https://github.com/saltstack/salt-contrib/tree/master/modules
После этого обновите состояние ваших salt-minion и эта директория автоматически будет синхронизирована на всех salt-minion.

Как использовать этот модуль:

salt '*' php_fpm.status
my.super.server.com:
pool:                 admin
process manager:      dynamic
start time:           04/Mar/2013:15:11:15 +0400
start since:          115
accepted conn:        1
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       15
active processes:     1
total processes:      16
max active processes: 1
max children reached: 0

pool:                 frontend
process manager:      dynamic
start time:           04/Mar/2013:15:11:15 +0400
start since:          115
accepted conn:        747
listen queue:         0
max listen queue:     0
listen queue len:     128
idle processes:       15
active processes:     4
total processes:      19
max active processes: 6
max children reached: 0

salt '*' php_fpm.ping

my.super.server.com:
Ping path is not configured for pool:admin
Pool: frontend is UP