пятница, 17 августа 2012 г.

Передача файлов между nix машинами

Возникла необходимость перекинуть большой объем на другой сервер, но была проблема, на сервере не было места для резервирования, поэтому вопрос быстро отпал. Нужно было передать файлы напрямую. Лучше использовать команду scp

для отправки на удаленный сервер
scp path/myfile user@8.8.8.8:/full/path/to/new/location/

Обратно тоже можно:
scp user@8.8.8.8:/full/path/to/file /path/to/put/here 
можно использовать маски * или ?, но для того чтобы передавать со вложенными папками, нужно использовать scp -r. Работает в обоих направлениях.
Самое главное, чтобы права доступа были.

Cacti (rrdtool) переход с 32bit на 64bit OS

Иногда необходимо перехать на новый сервер и захватить с собой , вроде бы перенос выполнен, но графики пустые . Часто дело оказывается в том что rrdtool использовалась на 32-bit машине или  на другой OS, а переносили на 64-bit машину и на другую OS. Для восстановаления работоспособности нужно выполнить 2 простые операции:

На 32-bit машине, выполняем экспорт БД в XML:


#!/bin/sh
for i in `ls *. rrd`
do rrdtool dump $i > $i.xml
done

На другой  машине восстанавливаем БД из XML файлов:




#!/bin/sh
for i in `ls *.xml`
do
/usr/bin/rrdtool restore $i `echo $i |sed s/.xml//g`;
done
 

четверг, 16 августа 2012 г.

SmokePing

Smokeping – утилита мониторинга состояния каналов. Удобна она тем, что отображает все состояния в виде графиков. А графики – это как все отлично понимают, самая наглядная вещь.
Помимо мониторинга задержек, с помощью Smokeping можно контролировать скорость реакции сервисов на запросы. Это тоже довольно интересная тема. По возрастанию времени ответа, допустим, вебсервера, можно судить о скорости генерации страниц и о том, насколько он эффективно работает и коственным путем отмечать повышение нагрузки на него. То же самое можно делать и с почтовым сервером и с ДНС, в общем практически с любым сервисом.


 ./configure --prefix=/opt/smokeping

так может получить, что не все модули perl установлены и получится ошибка
checking checking for perl module 'RRDs'... Failed
checking checking for perl module 'FCGI'... Failed
checking checking for perl module 'CGI'... Ok
checking checking for perl module 'CGI::Fast'... Failed
checking checking for perl module 'Config::Grammar'... Failed
checking checking for perl module 'Digest::HMAC_MD5'... Failed
checking checking for perl module 'LWP'... Ok
тогда ставим модули следующим образом

perl -MCPAN -e 'install <module-name>'

если не стоит RRD тогда его нужно ставить следующим образом

apt-get install rrdtool librrds-perl

затем делаем установку, предварительно скомпилировав

make install


делаем конфигурационный файл из поставки в дистрибутиве
cp /opt/smokeping/etc/config.dist /opt/smokeping/etc/config




создаем конфигурационный файл для Apache

touch /etc/apache2/conf.d/smokeping.conf

пишем в конфиг

<Directory "/opt/smokeping/htdocs/cache" >
    Order deny,allow
            Options None
                </Directory>
alias /smokeping /opt/smokeping/htdocs
 <Directory "/opt/smokeping/htdocs">
         AddHandler fcgid-script .fcgi
                        AllowOverride All
                        Options +ExecCGI
                         DirectoryIndex smokeping.fcgi
                                           </Directory>


копируем скрипт из поставки в дистрибутиве
cp /opt/smokeping/htdocs/smokeping.fcgi.dist /opt/smokeping/htdocs/smokeping
при запуске /opt/smokeping/ping/smokeping , может появиться ошибка

file '/opt/smokeping/etc/smokeping_secrets.dist' is world-readable or writable, refusing it

надо просто дать права записи для группы на файл smokeping_secrets.dist

вот примерный конфиг моего pathnames
imgcache и imgurl должны указывать на одну и туже папку

#sendmail = /usr/sbin/sendmail
imgcache = /opt/smokeping/htdocs/images
imgurl   = ../smokeping/images
datadir  = /opt/smokeping/lib
dyndir   = /opt/smokeping/__cgi
piddir   = /var/run/smokeping
smokemail = /opt/smokeping/etc/smokemail
tmail    = /opt/smokeping/etc/tmail
precreateperms = 2775


Probes файл в котором прописаны, что вы будете использовать для контроля.

*** Probes ***

+ FPing
binary = /usr/bin/fping

+ Curl
binary = /usr/bin/curl
step = 60

# SMTP - echoping smtp
+ EchoPingSmtp
# HTTP - echoping http
#+ HTTP
#+ EchoPingHttp
# DNS - echoping dns
+ EchoPingDNS
+EchoPingHttp

binary = /usr/bin/echoping
forks = 5
offset = 50%
step = 300

Targets файл в котором описываются цели, которые вы будете контролировать. Меню допускает вложенность. Сколько допускается вложений - не знаю, я использую 2.
Payments верхний уровень
Server второй уровень

urlformat формат применяется, если нужен доступ к web сайту отличному от 80 порта. Например HTTPS или по порту 8080

+ Payments

menu = Payments
title = Payments


++ Server
menu = FastMail
title = FastMail_https://myserver.ru
probe = Curl
host = myserver.ru
urlformat = https://%host%/

Вот и все.
Стоит отметить, что возможно использовать схему Master/Slave (главный/подчиненный), когда необходимо получать данные с удаленных серверов.

И еще, не забываем, что есть режим debug - для отладки, reload перезагрузка файлов конфигурации

вторник, 14 августа 2012 г.

Смена пароля root в mysql

Я готовил около 10 серверов, настроив один, я просто клонировал, конечно надо было менять и пароли root в mysql. Бегло порывшись в интернете, нашел только способ, для забывших пароль. Но, кто ищет тот найдет
mysqladmin -u root --password=oldpass password newpass

Почему не запускается ssh

Так получилось, что настраивал на одном из серверов доступ по ключам, и была ошибка в логах
Aug 14 10:54:33 r1204 kernel: [  152.435427] init: ssh main process ended, respawning
Aug 14 10:54:33 r1204 kernel: [  152.440190] init: ssh main process ended, respawning
Aug 14 10:54:33 r1204 kernel: [  152.444963] init: ssh respawning too fast, stopped

Включение детализации DEBUG3  решило проблему, на одном из сайтов нашел
/usr/sbin/sshd -ddd
И вот тут я увидел, что NumberOfPasswordPrompts была не закоментирована, я ведь настроил авторизацию по ключам.
Как только я закоментировал, ssh снова стал работать