Мой опыт замены дисков в Hetzner

О том, что Hetzner использует подержанные жесткие диски, не писал только ленивый. Не вижу в этом ничего плохого, учитывая их постоянное уплотнение и снижение отказоустойчивости. Рано или поздно, любые жесткие диски выходят из строя. Но раньше и трава была зеленее, и железо стабильнее. Отвалился один из дисков, входящих в стандартный софтварный RAID1, созданный с помощью mdadm. На работе сервера это никоим образом не сказалось, но отсутствие резервирования не есть хорошо. После полного бэкапа системы (файлы, базы данных, настройки) написали тикет в техподдержку. Заблаговременно нужно поставить загрузчик на оставшийся в живых диск (делаем наверняка, вдруг мертвый диск был главным, и с него загружалась система). Для этого достаточно выполнить ...

26 января 2015 г. · 5 минут · xandros

Ошибки при сборке Zabbix

Чтобы собрать Zabbix из исходников, нужно победить кучу ошибок, возникающих из-за отсутствующих на сервере зависимостей. Ниже собраны пакеты, которые нужно установить для устранения ошибок сборки. Справедливо для Debian, в других дистрибутивах можно поискать что-то похожее по названию. Флаг Ошибка Зависимость --with-mysql configure: error: MySQL library not found libmysqlclient-dev --with-libcurl configure: error: Curl library not found libcurl4-openssl-dev --with-net-snmp configure: error: Not found NET-SNMP library libsnmp-dev --with-openipmi configure: error: Invalid OPENIPMI directory - unable to find ipmiif.h libopenipmi-dev --with-jabber checking for IKSEMEL... configure: error: Jabber library not found libiksemel-dev --with-libxml2 configure: error: LIBXML2 library not found libxml2-dev --with-ssh2 configure: error: SSH2 library not found libssh2-1-dev Просто ставим недостающие зависимости через ...

26 декабря 2014 г. · 1 минута · xandros

net.tcp.service[https] ZBX_NOTSUPPORTED

С помощью net.tcp.service можно проверять, запущены ли всевозможные сервисы, а также отвечают ли они на TCP соединения. Сервисом может быть ssh, ntp, ldap, smtp, ftp, http, pop, nntp, imap, tcp, https и telnet, в качестве аргументов помимо имени сервиса также передать IP и порт. Столкнулся с ошибкой: ...

25 декабря 2014 г. · 1 минута · xandros

Мониторинг SSL-сертификатов в Zabbix

После покупки и добавления сертификата к домену обычно не обращаешь внимания на его срок жизни, пока в один прекрасный день сайт не перестаёт открываться по HTTPS. Для сертификатов для почтовых служб еще хуже, о не дошедшей почте узнаёшь гораздо позже. Чтобы такого не происходило, можно сделать напоминание о необходимости продления в системе мониторинга Zabbix. Варианта проверки валидности сертификата как минимум два: зайти через интерфейс, к которому добавлен SSL, и проверить его данные; либо же непосредственно на сервере обратиться к содержимому файла сертификата и наверняка получить желаемый результат. ...

24 декабря 2014 г. · 3 минуты · xandros

Redmine: избавляемся от Webrick

Если внимательно читать официальный мануал по установке Redmine, то можно наткнуться на замечание: Note: Webrick is not suitable for production use, please only use webrick for testing that the installation up to this point is functional. Use one of the many other guides in this wiki to setup redmine to use either Passenger (aka mod_rails), FCGI or a Rack server (Unicorn, Thin, Puma, hellip;) to serve up your redmine. ...

23 декабря 2014 г. · 3 минуты · xandros

Лечим ошибку sh: 0: getcwd() failed: No such file or directory

Если в консоли периодически проскакивает shell-init: error retrieving current directory: getcwd: cannot access parent directories: No such file or directory или sh: 0: getcwd() failed: No such file or directory то просто нужно выйти из папки, которую до этого удалили. Можете не благодарить.

27 октября 2014 г. · 1 минута · xandros

Удаляем напоминание о наличии обновлений Ubuntu LTS

Несмотря на огромный период времени до окончания срока поддержки предыдущей версии Ubuntu 12.04 LTS, после выхода Trusty Thar система назойливо напоминает о возможности апдейта в motd: New release ‘14.04.1 LTS’ available. Run ‘do-release-upgrade’ to upgrade to it. Отключить эту нотификацию можно в настройках update-менеджера. ...

13 октября 2014 г. · 1 минута · xandros

Мониторинг доступности upstream в nginx

Коммерческая версия Nginx Plus содержит в себе модуль ngx_http_status_module, который позволяет в режиме реального времени отслеживать состояние всех бэкендов веб-сервера. В некоммерческой версии на помощь приходят многочисленные сторонние наработки, выполняющие основной функционал модуля мониторинга, а именно мониторинг бэкендов и отображение актуальной статистики на отдельной странице. ...

30 сентября 2014 г. · 1 минута · xandros

Zabbix server is not running в CentOS

Если после установки серверной части системы мониторинга Zabbix в RHEL-системах в веб-интерфейсе вылазит ошибка Zabbix server is not running: the information displayed may not be current необходимо проверить 2 момента настройки: конфигурацию zabbix_server.conf политику доступа к портам в SELinux Рассмотрим второй момент подробнее ...

29 сентября 2014 г. · 1 минута · xandros

Поднимаем DRBD+OCFS2 на Debian 6 Squeeze

DRBD - сетевой RAID-массив, частями которого являются размещенные на разных машинах блочные устройства /dev/drbd. При изменении данных на примонтированном локально устройстве происходит синхронизация измененными блоками по сети. В результате чего имеем удаленную актуальную копию, используемую в качестве резервной в случае исчезновения связи с основным хранилищем. Более подробную информацию можно найти в официальной документации, дальше же лаконичное how-to по быстрой настройке кластера из двух DRBD-нод. Ставим необходимый софт: ...

28 сентября 2014 г. · 4 минуты · xandros

Shellshock: уязвимость во всех версиях Bash

24 сентября 2014 года были опубликованы данные об уязвимости в Unix Bash shell. За уязвимостью (и её продолжением закреплены идентификаторы CVE-2014-6271 и CVE-2014-7169. Подверженными оказались практически все версии Bash, начиная с 1.14. Производители наиболее популярных дистрибутивов незамедлительно отреагировали на проблему и уже выпустили обновления для Bash. ...

27 сентября 2014 г. · 2 минуты · xandros

Nginx+Apache2: реальные IP в логах индейца

Когда Apache используется в сочетании с Nginx в качестве бэкенда, все запросы на него прилетают с IP-адреса Nginx, выступающего в качестве прокси-сервера. Чтобы получить реальные IP-адреса этих запросов, необходимо установить и настроить модуль rpaf. Устанавливаем необходимый пакет: apt-get install libapache2-mod-rpaf Активируем модуль в Apache: a2enmod rpaf В случае необходимости исправляем конфиг модуля: mcedit /etc/apache2/mods-enabled/rpaf.conf RPAFenable On RPAFproxy_ips 127.0.0.1 192.168.0.1 Здесь выделенный IP-адрес следует заменить на адрес Nginx, фигурирующий в логах индейца. Перезапускаем Apache и проверяем работу модуля просмотром логов. ...

23 сентября 2014 г. · 1 минута · xandros

Временные параметры файлов в Linux

У каждого файла в ОС Linux существуют параметры mtime, ctime и atime. Тут следует сделать оговорку, что всё в Linux есть файл. В том числе каталог. Хотя изменение параметров отличаются для файлов и директорий. mtime - modification time - время последнего изменения файла atime - access time - время последнего обращения к файлу ctime - change time - время последнего изменения атрибутов файла (данные в inode) ...

19 августа 2014 г. · 2 минуты · xandros

Redmine и Gitlab на одном сервере

Об установке Gitlab на сервере под управлением Debian Squeeze ранее уже было написано. Теперь разберемся, как добавить на сервер систему управления проектами Redmine и по возможности не сломать управление репозиториями. Согласно официальной документации Redmine работа с бэкендом на ruby должна осуществляться через Apache mod passenger. Дальше будет описан способ отказаться от Apache и настроить работу через Nginx. ...

16 августа 2014 г. · 3 минуты · xandros

Вход в чужой screen

В screen есть возможность запустить какое-то приложение на выполнение и выйти в систему, “свернув окно”. Обратно вернуться в него может лишь пользователь, с терминала которого был запущен screen. Попытка попасть в открытую сессию screen другого пользователя выдаст ошибку Cannot open your terminal ‘/dev/pts/X’ - please check. ...

17 июля 2014 г. · 1 минута · xandros

Убийца Apache

Дисклеймер: Оригинал статьи “Убийца Apache у вас на пороге” был удален с Хабрахабра автором (скорее всего, из-за прямых инструкций по работе с опубликованным эксплойтом killapache.pl), однако материал является полезным не только для кулхацкеров начальных классов средней школы, но и для рядовых администраторов средней полосы нашей необъятной. ...

16 июля 2014 г. · 2 минуты · xandros

Добавление своих временных отрезков в Zabbix

При просмотре скринов и графов в Zabbix имеется возможность выбрать отображаемый промежуток времени. Варианты из коробки мало полезны для повседневной работы: часто нужно просмотреть не недельную тенденцию, а изменения за несколько последних дней. Чтобы добавить в линейку свои отрезки времени, необходимо отредактировать всего 1 файл в каталоге с веб-интерфейсом Zabbix. ...

22 мая 2014 г. · 1 минута · xandros

Обработка регулярок в nginx

Дабы не возвращаться к вниканию в официальную документацию, закреплю основные моменты конфигурирования nginx. Синтаксис директивы location: location [ = | ~ | ~* | ^~ ] uri { ... } Порядок проверки директив location: = точное совпадение ссылки, поиск прекращается ^~ строки без регулярных выражений, поиск прекращается поиск подходящей регулярки, сначала на максимальное совпадение, затем по порядку в файле конфигурации (если 2 одинаковых, работает с верхним) ~ совпадение с учетом регистра ~* совпадение без учета регистра если подходит под регулярку - п3, иначе п2 ...

19 мая 2014 г. · 2 минуты · xandros

Мониторинг OpenWRT в Zabbix

Установить непосредственно заббикс-агент с репозиториев OpenWRT: opkg update opkg install zabbix-agentd Создать пользователя и группу echo "zabbix:*:42223:42223:zabbix:/var:/bin/false" >> /etc/passwd echo "zabbix:x:42223:" >> /etc/group Создать папку под pid-файл (с нужными правами) mkdir /var/tmp chown zabbix /var/tmp Сконфигурировать агента vi /etc/zabbix_agentd.conf Hostname=openwrt StartAgents=1 PidFile=/var/tmp/zabbix_agentd.pid LogFileSize=1 LogFile=/tmp/zabbix_agentd.log Server=1.2.3.4 ServerActive=1.2.3.4 Набор дополнительных пользовательских параметров, позволяющих отслеживать состояние WiFi соединения, можно взять в Gist. Добавить run-скрипт ...

8 мая 2014 г. · 1 минута · xandros

Неизвестный тип адреса в Firefox

При нажатии в браузере Mozilla Firefox по ссылкам, начало которых отличается от стандартных (http://, https:// и тд) возникает ошибка “Неизвестный тип адреса: Firefox не может определить, как открыть данный адрес, так как протокол (ssh) не связан ни с одним приложением” Ошибка возникает в случае, если в настройках (Правка - Настройки - Приложения) к указанному протоколу не привязано никаких программ. ...

6 мая 2014 г. · 1 минута · xandros