Штатно в linux шаблоне есть триггер Lack of available memory on server {HOST.NAME} на параметр {Template OS Linux:vm.memory.size[available].last(0)}. Проблема в том, что в таком виде триггер бесполезен чуть менее чем совсем, и особенно с учётом штатного десятка мегабайт. Тем более, у разных серверов будет разное количество памяти и разные границы. Да, можно зайти в настройки хоста и поправить триггер, но это совсем через одно место.
К счастью, есть параметр, показывающий свободную память... в процентах. Куда логичнее абсолютного значения, не правда ли? И отличие всего в 1 букву: оно pavailable
Так что идём в Items, клонируем старый айтем, правим ему ключик и имя, повторяем в Triggers. Можно повторить для другого уровня с другой важностью, например 10 и 20 - average и warning.
Ну и почитать про этот параметр
https://www.zabbix.com/documentation/2.4/ru/manual/appendix/items/vm.memory.size_params
понедельник, 17 октября 2016 г.
пятница, 7 октября 2016 г.
ipset как аналог address lists микротика
Одно из частых применений address lists - "временные" записи, в том числе для неудачных попыток подключения и временных банов. Или наоборот, "полезных" машин, для port knocking.
Для этого у ipset есть опция timeout. А дальше как обычно, ALLOW|DROP
И пример доки
https://habrahabr.ru/post/108691/
Для этого у ipset есть опция timeout. А дальше как обычно, ALLOW|DROP
И пример доки
https://habrahabr.ru/post/108691/
понедельник, 26 сентября 2016 г.
вторник, 9 августа 2016 г.
python: Собираем свой пакет из pip версии
Зачастую в пакетах лежит нужная библиотека, но отставшая от нужной версии года так на 3-4. Или вообще доступная только в pip.
Самый простой вариант это использовать библиотеку из pip. К сожалению, у pip нет "собранных" версий, поэтому на хосте тогда нужен компилятор, что многим неприемлемо для "боевых" сред. И в целом это разумно.
Хороший выход - используем ноду для сборки и собираем там virtualenv с нужными пакетами. А потом итог оборачиваем в пакет (пишем спеку). Также это может быть докер, но опять же - туда нужен компилятор... И опять возвращаемся к virtualenv. Впрочем, для простых либ и единообразной среды достаточно скопировать нужные файлы в SOURCES и раскидать их по местам установщиком пакета, более сложные либы лучше пакетировать раздельно. Если уже есть такая же старая либа -- всё просто, качаем .src.rpm, правим .spec под новую версию, подкладываем архив с новыми исходниками, собираем.
А может быть, что за основу взять нечего... Тогда можно взять например python-pika, скопировать его spec и начать правки.
Нужно скачать архив нужной версии, для примера сделаем пакет для couchbase. Работаем от обычного пользователя, который будет заниматься сборкой
четверг, 14 июля 2016 г.
debian 8, apache, php: почта ходит только от рута
Довелось настраивать debian 8 + apache 2.4 (ITK) + php, штатный почтовик exim (и сразу - не забываем сказать dpkg-reconfigure exim4-config и выставить режим internet site), а дальше - есть скрипт-мейлер, от рута из консоли mail() возвращает true, а ровно оно же но через сайт отдаёт false. При этом в paniclog появляется строка
unable to set gid=1000 or uid=0 (euid=0): forcing real = effective
unable to set gid=1000 or uid=0 (euid=0): forcing real = effective
По данной строке уже гуглится проблема и решение:
<IfModule mpm_itk_module>
LimitUIDRange 0 6000
LimitGIDRange 0 6000
</IfModule>
ну или так
echo "LimitGIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
echo "LimitUIDRange 0 2000" >> /etc/apache2/mods-available/mpm_prefork.conf
service apache2 restart
(только с гидом не работает, надо uid+gid)
Кто-то набыдлокодил и выпустил это в мир, только непонятно кто именно.
Плюс кому-то также в exim надо вписать
disable_ipv6 = true
И опционально в /etc/php5/apache/php.ini найти sendmail_path и выставить
sendmail_path = "/usr/sbin/exim4 -ti"
И немного доков
пятница, 17 июня 2016 г.
couchbase: сброс пароля пользователя Administrator
Можно через cli
./couchbase-cli cluster-init -c localhost:8091 --user=Administrator --password=123 --cluster-init-username=Administrator --cluster-init-password=god
Но есть другой штатный способ, проще
/opt/couchbase/bin/cbreset_password 127.0.0.1:8091
./couchbase-cli cluster-init -c localhost:8091 --user=Administrator --password=123 --cluster-init-username=Administrator --cluster-init-password=god
Но есть другой штатный способ, проще
/opt/couchbase/bin/cbreset_password 127.0.0.1:8091
И внимание на вопрос:
Do you really want to do it? (yes/no)
Do you really want to do it? (yes/no)
Тут надо отвечать не y, а полностью yes, иначе просто молча выйдет. А должно быть так:
Do you really want to do it? (yes/no)yes
Resetting administrative password...
Password for user Administrator was successfully replaced.
четверг, 16 июня 2016 г.
nginx gzip основные content-type
gzip_types text/plain text/css application/json application/x-javascript text/xml application/xml application/xml+rss text/javascript application/javascript;
понедельник, 16 мая 2016 г.
Несколько online regexp формировалок
https://regex101.com
http://regexr.com/
https://www.debuggex.com/
http://regexr.com/
https://www.debuggex.com/
среда, 11 мая 2016 г.
rpmbuild: *** ERROR: No build ID note found in ...
Лечение:
1) добавить в сборку node-id
--buil-id
Если не помогло:
2) отключить сборку debuginfo
a) %global _missing_build_ids_terminate_build 0
б) %global debug_package %{nil}
в) попробовать удалить "проблемные" файлы
1) добавить в сборку node-id
--buil-id
Если не помогло:
2) отключить сборку debuginfo
a) %global _missing_build_ids_terminate_build 0
б) %global debug_package %{nil}
в) попробовать удалить "проблемные" файлы
пятница, 6 мая 2016 г.
Собираем google V8 под centos 6
Почти все действия проводим от простого пользователя, незачем зря портить систему. И желательно на отдельном билд-сервере.
Что есть V8?
https://github.com/v8/v8/wiki/Home
https://github.com/v8/v8/wiki/Home
V8 is Google's open source high-performance JavaScript engine, written in C++ ... V8 can run standalone, or can be embedded into any C++ application.
centos 6: готовим lsb_release
Штатно нет команды lsb_release. Часть информации можно получить через
cat /etc/*-release
но некоторое ПО хочет именно эту команду.
yum provides */lsb_release
и как вариант
yum install redhat-lsb-core
cat /etc/*-release
но некоторое ПО хочет именно эту команду.
yum provides */lsb_release
и как вариант
yum install redhat-lsb-core
centos 6: ставим gcc 4.9.2
yum install centos-release-scl-rh
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
И для активации
scl enable devtoolset-3 bash
yum install devtoolset-3-gcc devtoolset-3-gcc-c++
И для активации
scl enable devtoolset-3 bash
вторник, 26 апреля 2016 г.
Scapy
http://scapy.net/
Scapy — сетевая утилита написанная на языке Python, которая позволяет посылать, просматривать и анализировать сетевые пакеты. В отличии от многих других утилит, утилита Scapy не ограничена только теми протоколами, пакеты которых она может генерировать. Фактически, она позволяет создавать любые пакеты и комбинировать атаки различных типов.
С помощью Scapy легко осуществлять такие процедуры, как:
сканирование,
трассировку маршрута,
проверку хоста (probing),
юнит-тестирование каких-либо сетевых функций,
исследование сети и различные виды атак.
С помощью Scapy можно заменить:
hping,
arpspoof,
arp-sk,
arping,
p0f
и частично
Nmap,
tcpdump,
tshark.
http://xgu.ru/wiki/Scapy
И очень много примеров тут
https://habrahabr.ru/post/249563/
Scapy — сетевая утилита написанная на языке Python, которая позволяет посылать, просматривать и анализировать сетевые пакеты. В отличии от многих других утилит, утилита Scapy не ограничена только теми протоколами, пакеты которых она может генерировать. Фактически, она позволяет создавать любые пакеты и комбинировать атаки различных типов.
С помощью Scapy легко осуществлять такие процедуры, как:
сканирование,
трассировку маршрута,
проверку хоста (probing),
юнит-тестирование каких-либо сетевых функций,
исследование сети и различные виды атак.
С помощью Scapy можно заменить:
hping,
arpspoof,
arp-sk,
arping,
p0f
и частично
Nmap,
tcpdump,
tshark.
http://xgu.ru/wiki/Scapy
И очень много примеров тут
https://habrahabr.ru/post/249563/
четверг, 21 апреля 2016 г.
Смотрим и чистим таблицу conntrack
Иногда бывает так, что что-то сбивается в коннтрак таблицах, из недавнего: поменяли роутинг для одной сети, которая доступна напрямую, но ранее ходила через default gateway, соответственно внешний айпи стал другой. С TCP это не проблема, сессии сами отвалятся, а вот с UDP (та же телефония) будут проблемы. Совсем простое решение - ребутнуть шлюз, чуть сложнее - на проблемных телефонах поменять src port, это создаст новые правила в conntrack. Но мы попытаемся решить более цивилизованно.
вторник, 19 апреля 2016 г.
rtpengine + Centos 6
Достаточно интересный rtp proxy
https://github.com/sipwise/rtpengine
Инструкция под centos/redhat тут:
https://github.com/sipwise/rtpengine/blob/master/el/README.el.md
но она странная, поэтому соберём свою версию.
https://github.com/sipwise/rtpengine
Инструкция под centos/redhat тут:
https://github.com/sipwise/rtpengine/blob/master/el/README.el.md
но она странная, поэтому соберём свою версию.
Подписаться на:
Сообщения (Atom)