#!/usr/bin/env perl
# mysqltuner.pl - Version 1.6.4
# High Performance MySQL Tuning Script
# Copyright (C) 2006-2015 Major Hayden - [email protected]
#
# For the latest updates, please visit http://mysqltuner.com/
# Git repository available at http://github.com/major/MySQLTuner-perl
#
# Inspired by Matthew Montgomery's tuning-primer.sh script:
# http://forge.mysql.com/projects/view.php?id=44
Вторым шагом будет создание снимка состояния установленной системы для rkhunter командой:
rkhunter --propupd
rkhunter --check
Настройка rkhunter
Файл конфигурации /etc/rkhunter.conf
После редактирования конфигурационного файла сохраните его и проверьте на наличие проблем, запустив
rkhunter -C
Запустим rkhunter для проверки системы, но добавим ключ -rwo, чтобы выводились только предупреждения:
Зоны
- drop – входящие сетевые пакеты сбрасываются, без ответа, допускаются только исходящие соединения
- block – входящие сетевые соединения отклоняются с сообщением icmp-host-prohibited, допускаются только сетевые соединения инициированные внутри нашей системы.
- public – при недоверии к компьютерам, разрешается устанавливать только конкретные входящие соединения.
- external – для использования во внешних сетях с разрешенным маскарадингом, особенно для роутеров, разрешается устанавливать только конкретные входящие соединения
- dmz – для компьютеров собственной demilitarized zone которые публично доступны с ограниченным доступом к нашей внутренней сети, разрешается устанавливать только конкретные входящие соединения.
- work/home/internal – максимальное доверие к компьютерам, уверенность в том, что они не приченят вреда нашему компьютеру, разрешается устанавливать только конкретные входящие соединения
- trusted – все сетевые соединения разрешены.
Посмотреть текущую зону
firewall-cmd --get-default-zone
Для смены зоны например на home
firewall-cmd --set-default-zone=home
Либо непосредсвтенно в конфиге
nano /etc/firewalld/firewalld.conf
Получить текущую конфигурацию для нашей зоны public
firewall-cmd --zone=public --list-all
После внесение изменений перезагрузить FirewallD можно так
Дополнительно
для supervisord есть плагин Superlance
Включает в себя набор утилит httpok - отправляет гет запрос по урлу, если запрос не приходит или отваливается по таймауту то перезапускает процесс crashmail - отправляет на поучту письмо в случае неполадки memmon - мониторит использование памяти, и перезапускает процесс если привышает лимит указаный в конфиге crashmailbatch - аналогичный crashmail, разница только в том что уведамления группируются за определенный период и отправляется пучком. fatalmailbatch - отправляет уведомление когда супервизор много раз фейлится при запуске, так же уведомления группируются перед отправкой письма crashsms - аналогично crashmailbatch, отправляет смс через email шлюз.
Документация https://superlance.readthedocs.org/en/latest/
Установить
git clone git://github.com/kr/beanstalkd.git
cd beanstalkd
make
cp beanstalkd /usr/bin/beanstalkd
mkdir /var/lib/beanstalkd
Создаем скрипт автозапуска
nano -w /etc/systemd/system/beanstalkd.service
[Unit]
Description=Beanstalkd is a simple, fast work queue
[Service]
User=root
ExecStart=/usr/bin/beanstalkd -b /var/lib/beanstalkd
[Install]
WantedBy=multi-user.target
Заходим через наш бразуер на http://test.dev/producer.php и клацаем обновить можно менять job-ы, что бы удостовериться что в очередь попадают разные задачи а не одна и та же, и в нашем файлике data.txt проверяем, что все что передано, отправлено в файлик.
Почему Beanstalkd - это сервер очередей, написаный на С, он маленький и простой. И мониторятся очереди.
Сервер — это сам Beanstalkd, который принимает job-ы от клиента
Продюсер(клиент) — это основное PHP приложение, которое отправляет job-ы на сервер
Воркер — это PHP скрипт, который получает сообщение с сервера задач и выполняет какие-то действия
Что за job? Job (задание) — это любая информация, которую клиент отправляет на сервер очередей. Потом эта же информация передается на обработчик (воркер). К примеру, мы хотим отправить почту на сервер очередей, то создаем для него задачу: отправка почты - адрес получаетля, заголовок письма, тело письма.
Задача 1 - он должен запускаться только из консоли
Задача 2 - должен выключаться если сам воркер изменился ( запускать его будет супервизор (об этом будет позже) )
Задача 3 - собственно обрабатывать наши задачи из очереди
Используется https://github.com/pda/pheanstalk
watch('default')->reserve();
if ( !isset($job) OR !$job ) {
// return FALSE;
} else {
// распаковываем ранее запакованные данные
$data = unserialize($job->getData());
// и тд и тп =)
}
}
Beanstalk console - Административная консоль для сервера очередей Beanstalk, написанная на PHP
Возможности
- Общий список серверов в конфиге для всех пользователей
- Глобальный список серверов может быть установлен через переменную окружения BEANSTALK_SERVERS
- Каждый пользователь может добавить свой персональный сервер
- Полный список доступных труб
- Полная статистика тасков в трубах
- Realtime-обновление с подсветкой изменившихся значений
- Вы можете просматривать таски в каждой трубе (ready/delayed/buried)
- Вы можете выполнять операции с тасками в каждой трубе (add/kick/delete)
https://github.com/ptrofimov/beanstalk_console