пятница, 14 августа 2015 г.

mint 17: добавляем свежий флэш

Штатно идёт пакет mint-flashplugin аж от 2011 года (дистр 2015!), с флэшем 11.2.ххх
Даже di.fm и тот отказывается играть на такой старой и дырявой версии.

Суть в том, что adobe забросила свободную версию и её подхватил гугл, назвав pepper flash. Поставим
sudo apt-get install pepperflashplugin-nonfree

Далее (при необходимости - у меня chromium, заработало и так):
sudo update-pepperflashplugin-nonfree --install

Перезапускаем хромиум, смотрим
chrome://plugins/
появился

Adobe Flash Player - Version: 18.0.0.233
Shockwave Flash 18.0 r0

Возможные проблемы:
после перезапуска флэш теряется, помогает переустановить пакет
sudo gedit /etc/chromium-browser/default,И в самом конце файла вставь следующую строчку:. /usr/lib/pepflashplugin-installer/pepflashplayer.sh,затем сохрани.
http://mintlinux.ru/forum/thread4772-1.html

также вариант
Строка . /usr/lib/pepflashplugin-installer/pepflashplayer.sh исчезает — перезаписывается/заменяется файл /etc/chromium-browser/default .
Оттуда же.
Для себя я решил проблему костылём, по принципу "Если гора не идёт к Магомету..." — в конфиге, постоянно откатывающемся, прописан путь к .so , ну так я этот путь и создал. В /usr/lib/ сделал ссылку (гуем, разумеется) на pepflashplugin-installer/ , обозвал её pepperflashplugin-nonfree

ЗЫ почему-то firefox обычно не теряет плагин, вариант тогда - перейти на него. Хотя вариант сомнительный.

понедельник, 10 августа 2015 г.

debian 7: сборка nginx в пакет

/etc/apt/sources.list.d/nginx.list:
deb http://nginx.org/packages/mainline/debian/ wheezy nginx
deb-src http://nginx.org/packages/mainline/debian/ wheezy nginx

сборка
cd /usr/src
apt-get source nginx && apt-get install build-dep nignx
cd nginx-(version)
cd debian
nano rules
правим правила configure
nano changelogs
добавить запись о новой версии (или просто поставить пакет на холд, чтобы его не обновило потом)
cd ../../
apt-get source -b nginx или из из папки исходников debuild -uc -us


четверг, 6 августа 2015 г.

сборка couchbase

что нужно:
https://github.com/couchbase/tlm
Смотрим, ничего не понимаем, ужасаемся, читаем эту заметку.
Предварительно подключаем epel для centos.

вторник, 4 августа 2015 г.

nginx и обработка POST параметров

Есть набор переменных, $arg_* и массив $args, но туда попадают только переменные из строки запроса (прежде всего это будут GET запросы, но и у POST могут быть). А что делать, если надо обработать POST запросы? Зачем? Например, есть некий софт, который запрашивает файл через post, надо получить имя и отдать его с диска. Только ради этого писать обёртку на любом языке, которая требует ресурсов, обслуживания, обновлений, проверки что оно всегда работает итд? А если эта прослойка не успела ещё запуститься или просто упала, а файл уже запросили? Всего-то дел, получить имя из запроса...
Увы, штатного метода нет, но благодаря модулям со сторонними языками это реализуемо, правда пока найдено только 2 метода.

tengine - nginx версия от taobao

https://github.com/alibaba/tengine/
http://tengine.taobao.org/

среда, 22 июля 2015 г.

FreeBSD, gsutil и костыли

Установка проста, "по мануалу"
cd /root
wget --no-check-certificate https://storage.googleapis.com/pub/gsutil.tar.gz
tar -zvxf gsutil.tar.gz
mkdir bin
cd bin
ln -s ../gsutil/gsutil

понедельник, 20 июля 2015 г.

zfs: подключаем лог записи и кэш (ZIL и l2arc)

ZFS можно существенно ускорить, если подключить кэши чтения и записи, но для этого требуется SSD, и лучше несколько.
О чём нужно помнить:

  • кэш записи будет сильно изнашивать диск(и), поэтому если делать серьёзно, то надо ставить SLC или eMLC диски, в зеркало
  • + сами диски обязаны иметь обвязку для сброса данных на флэш при отключении питания. То есть 99% бытовых дисков использовать себе дороже.
  • Кэш чтения - можно ставить и бытовые SSD, но лучше подбирать по большому числу IOPS и большой линейной скорости. Если денег много или очень много горячих данных - eMLC предпочтительнее.
  • диски кэша чтения в зеркало не объединяются, но учитывая логику работы - ошибка с SSD - читаем с основного массива, это не критично, только упадёт производительность.
  • при использовании аппаратных рейдов кэш чтения крайне желательно подключать в обход рейда, в набортный сата, при его наличии и соответствию минимум sata 3gbit стандарту, лучше сата 3 - 6Гбит.

четверг, 16 июля 2015 г.

Шаблоны zabbix

Где искать шаблоны (актуально 2.0+)

Официальная "хранилка". Не сказать что много чего есть, но начать можно оттуда
https://share.zabbix.com/

Форум, много чего есть, использовать поиск
Zabbix Cookbook

Вики, тоже можно заглянуть
https://www.zabbix.org/wiki/Main_Page

Русская ветка
https://www.zabbix.com/forum/forumdisplay.php?f=21

и например оттуда
Ubiquiti UniFi + zabbix
Интерактивная карта для Zabbix.

Прочие источники
Наверное, под 90% всего открытого выложено на github, например
https://github.com/jjmartres/Zabbix/tree/master/zbx-templates
https://github.com/kmomberg/pyZabbixSender

Как менять лимиты на лету

Есть ulimit, есть /etc/limits.conf, но для применения изменений надо перезапускать софт или перезагружать сервер.
Но можно менять и "на лету". Правда, для этого нужен util-linux не ниже 2.23, так что centos 6 и debian 7 в пролёте. Называется prlimit
prlimit --pid <pid> --<limit>=<soft>:<hard>

В более ранних версиях можно попробовать конструкцию вида
echo -n "Max processes=20000:191967" > /proc/`pidof mysqld`/limits

среда, 15 июля 2015 г.

zabbix-get: command not found

# zabbix_get
-bash: zabbix_get: command not found

Если поставить штатую репу, в совсем последних версиях _вдруг_ пропал zabbix_get. Причина? Теперь это отдельный пакет
yum install -y zabbix-get

вторник, 14 июля 2015 г.

mysqldump: убрать DEFINER из бэкапа

В некоторых версиях появилась бесполезная хрень называемая DEFINER, паразитирующая на CREATE VIEW, CREATE PROCEDURE.
Почему хрень? Потому что такой функционал востребован максимум в 5% бэкапов и должен включаться опционально, и штатно НЕ НУЖЕН. Так что 2 пути - выпиливать из кода или обработать дамп.
Первый шаг пропустим, второй - коды разные, синтаксис тоже. Коды 50017, 50013
пример на sed:
sed -i'' 's/DEFINER=[^*]*\*/\*/g' mydump.sql


http://stackoverflow.com/questions/9446783/remove-definer-clause-from-mysql-dumps

понедельник, 13 июля 2015 г.

Как получить свой айпи, через который уходят запросы в мир

ip -o -f inet a |awk -v iface="$(ip -o -f inet r get 8.8.8.8|awk '{print $5}')" '$2==iface{sub(/\/.*$/,"",$4); print $4}'может иметь смысл для скриптов, "куда биндиться".

Получить свой внешний адрес сложнее, прямых способов я пока не знаю, только через сервисы типа myip.com (подставить свой любимый), пример
curl -s myip.com | grep Client_IP | awk '{print $2}'

среда, 8 июля 2015 г.

snmp + agentX, быстрая настройка

Ставим net-snmp, net-snmp-utils
Если агент нам нужен только под 1 сервис - имеет смысл штатный хитрый конфиг переименовать, взяв за основу самый простой.

zabbix 2.4: The frontend does not match Zabbix database и далее

Запустили один не очень новый сервер с заббиксом и вылезло
Zabbix server will automatically upgrade the database
The frontend does not match Zabbix database. Current database version (mandatory/optional): 2020000/2020000. Required mandatory version: 2030000. Contact your system administrator.

RabbitMQ: Highly Available Queues

Сделать high availability несложно, но нюансы далее.
Быстрый старт.