Записки сисадмина

Или помойное ведро идей


Выделенные сервера от $130
VDS/VPS от $20

Nagios Plugin: check_ftp_login

В общем нужно было проверять Nagios’ом не только порт фтп на удаленном хосте, но и работоспособность определенного аккаунтa FTP. Т.е. чтобы check_ftp заходил на FTP сервер и логинился под определенным юзером.

Существующая утилитка check_ftp из набора Nagios Plugins на момент написания статьи не умела делать логин. Точнее утилитки как таковой там и нет, там просто стоит симлинк check_ftp -> check_tcp.

По сему утилитка была написана на Perl с использованием Nagios::Plugin и Net::FTP.

Может так же использоваться как пример написания Nagios Plugins на Perl в виду простоты кода.

Читать далее…

Теги: ,,,

20.08.2010 Автор admin | HOWTO, Monitoring, Очумелые ручки, Утилиты | no comments

Еще один способ отбиться от небольшого DDOS

Все нижеописанное относится к GNU/Linux 2.6.x. ДДОС совершенно тупой, разномастный: syn/tcp/udp/icmp flood тупо на все открытые порты, мегабит на 60. UDP срали вообще куда попало. Но основная атака конечно на HTTP. По этому, тушим сервисы и пишем….

Читать далее…

Теги: ,,,,,

11.08.2010 Автор admin | HOWTO, Безопасность | one comment

Восстановление сбойного загрузочного диска в Linux RAID 1

Наткнулся на хорошую статью по замене загрузочного диска в софтверном RAID Linux.

Если кратко, то на второй уцелевший диск надо засетапать grub )

13.11.2009 Автор admin | FixIT, HOWTO | no comments

Удаленный мониторинг хардварного RAID DELL Perc 6/i (LSI) с помощью Nagios и SNMPd

Здесь можно узнать, как мониторить удаленно хардварный RAID DELL Perc 6/i (чип LSI) с помощью утилиты MegaCLI, самописных скриптов, SNMPd и Nagios в Linux (CentOS).

О том, как подготовить Nagios и SNMPd, рассказано в статье о мониторинге софтварного RAID. Туда добавить мне нечего, можно скопипастить инфу оттуда.

А вот скрипт raid_status.pl несколько изменился. Для его корректной работы нужно скачать утилитку LSI MegaCLI for Linux. Так же я ставил симлинк /opt/MegaRAID/MegaCli/MegaCli64 -> /usr/sbin/MegaCLI:

# ln -s /opt/MegaRAID/MegaCli/MegaCli64 /usr/sbin/MegaCli

Теперь надо подготовить два скрипта.

Читать далее…

Теги: ,,,,,,,

22.07.2009 Автор admin | HOWTO, Monitoring | one comment

Мониторинг Software RAID в Linux с помощью Nagios

Небольшой ликбез по удаленному мониторингу софтварного рейда в Linux с помощью Nagios и SNMPd.

1. Мониторинговый скрипт

[ДАННЫЙ СКРИПТ НЕПРАВИЛЬНЫЙ, НО НЕТ ВРЕМЕНИ ПОФИКСИТЬ]

Для начала подготовим перловый скрипт на машине, которую требуется мониторить. Скрипт  будет проверять рейд и выдавать «OK» или «FAILED: описание» в зависимости от статуса RAID.

Читать далее…

Теги: ,,,,

22.07.2009 Автор admin | HOWTO, Monitoring | 2 comments

Установка X/KDE на удаленный CentOS сервер/VDS

Написано по материалам HowTo VNC Server. В качестве операционной системы удаленного сервера возьмем CentOS.

Поскольку у нас отсутствует доступ к консоли сервера, установим KDE на http://www.softpedia.com/get/Internet/Remote-Utils/VNC-for-Windows.shtml.

На сервере понадобится 512М оперативы чтобы все это нормально работало.

Все нижеописанное работает на VDS/VPS на основе Virtuozzo/OpenVZ.

Читать далее…

Теги: ,,,,,

03.04.2009 Автор admin | HOWTO, Очумелые ручки | one comment

Уменьшение потребления памяти MySQL

В основном это касается Virtual Dedicated Server (VDS/VPS), т.к. дефолтная установка MySQL на CeontOS/Fedora/RHEL с дефолтным my.cnf делает malloc на сотню с лишним мегабайт.

Конечно на потребляемую память MySQL влияют такие параметры как key_buffer, query_cache_size и т.п. Но они по дефолту идут минимальные, а кеш запросов вообще по моему отключен по дефолту.

Так вот все очень просто. Добавляем в my.cnf:

skip-innodb
skip-bdb

Это выключит хандлеры InnoDB и BerkeleyDB и всю потребляемую ими память. Ну конечно делать это нужно если вы не используете вышеприведенные типы таблиц.

Далее рестартуем мускуль и видим в топе что он занимает десяток-другой мегабайт.

PS: в большинстве случаев не помешает опция и skip-networking. А вот thread_cache_size я советую поставить в значение 5-15 (в зависимости от нагрузки) :)

Теги: ,,,,,

27.03.2009 Автор admin | FixIT, HOWTO, Базы Данных, Виртуализация, Очумелые ручки, Тюнинг | 9 comments

Yum + VPS + low memory

Бывает такая фигня с yum‘ом на VPSках с памятью <=256M, когда пытаешься сделать какое то телодвижение с yum‘ом, он вываливается с таким бектрасом:

-bash-3.2# yum search foobar
Loading «fastestmirror» plugin
Loading mirror speeds from cached hostfile
* epel: ftp.nluug.nl
Traceback (most recent call last):
File «/usr/bin/yum», line 29, in ?
yummain.main(sys.argv[1:])
File «/usr/share/yum-cli/yummain.py», line 105, in main
result, resultmsgs = base.doCommands()
File «/usr/share/yum-cli/cli.py», line 293, in doCommands
return self.yum_cli_commands[self.basecmd].doCommand(self, self.basecmd, self.extcmds)
File «/usr/share/yum-cli/yumcommands.py», line 383, in doCommand
return base.search(extcmds)
File «/usr/share/yum-cli/cli.py», line 867, in search
for (po, matched_value) in matching:
File «/usr/lib/python2.4/site-packages/yum/__init__.py», line 1313, in searchGenerator
for sack in self.pkgSack.sacks.values():
File «/usr/lib/python2.4/site-packages/yum/__init__.py», line 537, in <lambda>
pkgSack = property(fget=lambda self: self._getSacks(),
File «/usr/lib/python2.4/site-packages/yum/__init__.py», line 392, in _getSacks
self.repos.populateSack(which=repos)
File «/usr/lib/python2.4/site-packages/yum/repos.py», line 214, in populateSack
self.doSetup()
File «/usr/lib/python2.4/site-packages/yum/repos.py», line 66, in doSetup
self.ayum.plugins.run(‘postreposetup’)
File «/usr/lib/python2.4/site-packages/yum/plugins.py», line 169, in run
func(conduitcls(self, self.base, conf, **kwargs))
File «/usr/lib/yum-plugins/fastestmirror.py», line 90, in postreposetup_hook
repomirrors[str(repo)] = FastestMirror(repo.urls).get_mirrorlist()
File «/usr/lib/yum-plugins/fastestmirror.py», line 142, in get_mirrorlist
self._poll_mirrors()
File «/usr/lib/yum-plugins/fastestmirror.py», line 155, in _poll_mirrors
pollThread.start()
File «/usr/lib/python2.4/threading.py», line 416, in start
_start_new_thread(self.__bootstrap, ())
thread.error: can’t start new thread

Это означает что у него есть плагин «fastestmirror«, который жрет много памяти в пике. Ессесно ее не получает, т.к. память лимитирована.

Лечится добавлением –noplugins к команде yum‘а или добавлением памяти на VDS.

Теги: ,,,,,

02.03.2009 Автор admin | FixIT, HOWTO | no comments

Установка GeoIP/mod_geoip на CentOS/RHEL/Fedora №2

По просьбам трудящихся, опишем установку mod_geoip для Apache из Fedora-community репозитория Extra Packages for Enterprise Linux (EPEL).

Версию EPEL (5.2) и архитектуру системы вписать соответствующую или найти тут
# rpm -Uvh http://download.fedora.redhat.com/pub/epel/5/x86_64/epel-release-5-2.noarch.rpm
# yum install httpd mod_geoip
# httpd -t
Syntax OK
# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

В принципе все. ))

Теги: ,,,,

16.02.2009 Автор admin | HOWTO | one comment

Установка GeoIP/mod_geoip на CentOS/RHEL/Fedora

CentOS/RHEL/Fedora – простые шаги по установке

Предполагается что апач уже стоит и настроен. Предполагается версия mod_geoip 1.2.5. Возможно на момент прочтения она уже устарела. Проверьте последнюю версию на сайте MaxMind.

-bash-3.2# yum install GeoIP GeoIP-devel httpd-devel
-bash-3.2# wget http://geolite.maxmind.com/download/geoip/database/GeoLiteCountry/GeoIP.dat.gz
-bash-3.2# gunzip GeoIP.dat.gz
-bash-3.2# mv GeoIP.dat /var/lib/GeoIP/GeoIP.dat
-bash-3.2# wget http://geolite.maxmind.com/download/geoip/api/mod_geoip2/mod_geoip2_1.2.5.tar.gz
-bash-3.2# tar xzf mod_geoip2_1.2.5.tar.gz
-bash-3.2# cd mod_geoip2_1.2.5
>> В зависимости от битности ОС использовать путь библиотеки /usr/lib или /usr/lib64
-bash-3.2# apxs -i -a -L/usr/lib64 -I/usr/include -lGeoIP -c mod_geoip.c
-bash-3.2# vi /etc/httpd/conf/httpd.conf
==================
LoadModule geoip_module /usr/lib64/httpd/modules/mod_geoip.so
GeoIPEnable On
GeoIPDBFile /var/lib/GeoIP/GeoIP.dat
==================
-bash-3.2# httpd -t
Syntax OK
-bash-3.2# /etc/init.d/httpd restart
Stopping httpd: [ OK ]
Starting httpd: [ OK ]

Теги: ,,

14.02.2009 Автор admin | HOWTO | 6 comments