?

Log in

Fri, Feb. 17th, 2017, 02:27 pm
Допрыгались: не могу мониторить сервер Zabbix-ом, потому что сервер отдаёт сжатые страницы

Сделал мониторинг сервера, мониторинг сайта на нём. Всё было бы хорошо, но zabbix выполняет curl и в ответе не находит нужную подстроку. Проверяю в консоли: curl выдаёт только кракозябы. Начинаю разбираться - оказывается, что это страница сжата gzip, но это не волнует ни curl, ни его друга zabbix-а.

Авторы, как бы знают, что такое происходит, но их это не беспокоит. Есть решение, которое заключается в полной пересборке сервера (боюсь влазить) или в отключении шифрования на сайте продакшена.

Для того, чтобы не потерять статистику времени открытия сайта, иду на хитрость: чисто статистически на старице будет знак "=", которого вроде как нет в Internal Server Error, хотя, если это сообщение тоже будет сжато, то мониторинг ничего не заметит.

Куда копать?

Ещё оказалось, что так как архивирует nginx, то есть пару разделов, которые обходятся без кеширования, а проксируются в чистом виде. Сделал ещё пару тестов на такие страницы.

Thu, Feb. 16th, 2017, 02:03 pm
Репозитории debian для серверов, которые больше не поддерживаются

У меня был замечательный сервер, который работал безупречно и давно. И вот, для установки хитрого скрипта для zabbix оказалось, что нужен curl. А его не было. И репозитории на etch давно канули в лету. Ан нет, не только не канули, но можно даже выбрать день (фазу луны, день недели) в соответствии с которым использовать репозиторй.

http://snapshot.debian.org/

Thu, Feb. 16th, 2017, 11:22 am
Мониторинг web-серверов zabbix

Мониторинг серверов apache2 и nginx выполняется достаточно просто по готовому шаблону. Инструкции apache2 и nginx. Сами шаблоны и описания макросов. Главное, что сейчас можно визуально наблюдать как nginx фронтэндит перед apache, и что меняется в нагрузке от кеширования и т.п.

Wed, Feb. 15th, 2017, 03:18 pm
Кеширование при помощи nginx

НЕТ ВРЕМЕНИ ОБЪЯСНЯТЬ!!! КЕШИРОВАНИЕ ВКЛЮЧЕНО, ВКЛАДКИ НАДО ЗАКРЫТЬ. Когда-то настанет такой день, когда я спокойно почитаю эти статьи, и подумаю как улучишь систему. Вы верите?

Модуль ngx_http_proxy_module

Настройка кеширования в nginx

Кэширование в Nginx

nginx как reverse proxy

Кеширующий прокси-сервер на nginx. Хитрая конфигурация

Прозрачное кэширование в nginx для всех и каждого


5 наиболее популярных вариантов настройки сервера для вашего веб-приложения


Как противостоять DDoS-атакам с помощью NGINX и NGINX Plus

Доступные методы борьбы с DDoS-атаками для владельцев vds/dedicated серверов с Linux


Простой и эффективный метод отразить http DDoS от 50мбит с помощью nginx и iptables


16 рецептов защиты от DDoS-атак своими силами

Нейронная сеть против DDoS'а

Сравнение решений по балансировке высоконагруженных систем

Проверка нагрузки на web-сервер с ab для Linux и Unix

Wed, Nov. 30th, 2016, 02:42 pm
Определить принадлежит ли пользователь группе в Lotus Domino (на Lotus Script)

Понадобилось мне рассылать сообщения не всем, а только членам группы. Вроде бы понятно, а вроде и не очень просто получается. Начал гуглить кто как ищет принадлежность человека группе. Нашел тему про принадлежность текущего пользователя группам:
Read more...Collapse )
Как-то вот так. Это я для себя, чтобы лучше запомнить :-)

Tue, Nov. 1st, 2016, 11:53 am
Заббикс сожрал всё место на диске (zabbix mysql database purge and partitioning)

Вдохновившись успешным поборонием размера базы amavis, я решил, что зря кончается место на диске сервера Zabbix. Дорогой англоязычный сайт по заббиксу - хуябикс - показал скрипты для очистки совести базы данных. Я попробовал. Оставшиеся два с половиной гига ушли в ноль за ночь при попытке выполнить скрипт удаления. Обидно, но мотивирует на решительные действия.

1) Сохранить базу данных на другом сервере, а потом грохнуть на боевом

2) innodb_file_per_table (с примером для zabbix)

3) Создать партиционирование (кстати, как это по-русски?) на основе хранимых процедур

Жду последствия наступления четырёх утра, чтобы посмотреть как процедура создаст партишен.

Mon, Oct. 31st, 2016, 01:43 pm
amavis mysql database purge

Настроил я как-то замечательный спам-сервер, карантин создал в базе данныз mysql, да через какое-то время база данных подросла так, что в неё больше ничего уже и не помещалось. И удалить не получалось (см. в конце про хаузкипинг), поэтому базу я удалил напрочь, а в новой настроил добавление к новым записям номера недели. И если даже на 7 гигабайтах базы проверка просто по дате занимала долгие часы (и так и не заканчивалась ничем), то сейчас за несколько минут отрабатывают вот такие команды:

DELETE FROM msgs WHERE partition_tag >= weekofyear(adddate(now(), interval -140 day)) AND partition_tag <= weekofyear(adddate(now(), interval -90 day));
DELETE FROM msgrcpt WHERE partition_tag >= weekofyear(adddate(now(), interval -140 day)) AND partition_tag <= weekofyear(adddate(now(), interval -90 day));
DELETE FROM quarantine WHERE partition_tag >= weekofyear(adddate(now(), interval -140 day)) AND partition_tag <= weekofyear(adddate(now(), interval -90 day));
DELETE FROM maddr WHERE partition_tag >= weekofyear(adddate(now(), interval -140 day)) AND partition_tag <= weekofyear(adddate(now(), interval -90 day));

Или 90 дней многовато?

Mon, Sep. 5th, 2016, 03:28 pm
Удаление супер-большой базы данных MySQL

Внезапно столкнулся с идиотской ситуацией: забыл настроить очистку старых писем в карантине почтового сервера, и за несколько лет база вырасла до 83 гигабайт. В такой базе не только запрос на удаление старых писем не выполняется, но и запрос на поиск единсвенного документа выполняется очень долго. Когда я решил просто пересоздать базу данных (грохнул старую, создал новую), то оказалось, что все данные лежат в единственном файле, и этот файл не умеет уменьшаться, может только расти.

Я нашел статью, на основе которой решил свою задачу.

10 most recent