2014/12/02

ansible - SSH encountered an unknown error during the connection

ОКРУЖЕНИЕ: Fedora 20, ansible 1.7.2-1.fc20
ЦЕЛЬ: использовать ansible через ssh соединение
ПРОБЛЕМА: ansible myenvironment -m ping выдаёт ошибки:
eudub-myserver1 | FAILED => SSH encountered an unknown error during the connection. We recommend you re-run the command using -vvvv, which will enable SSH debugging output to help diagnose the issue
Команда ssh eudub-myserver1 выполняется без проблем
ansible myenvironment -m ping -vvvv выдаёт ошибки:
debug1: Control socket "/home/myuser/.ssh/tmp/eudub-myserver1_22_myuser" does not existdebug3: muxserver_listen: temporary control path /home/myuser/.ssh/tmp/eudub-myserver1_22_myuser.zMuh7FrM1b2EsXTqmuxserver_listen bind(): No such file or directoryeudubs-prdsrv-who02 | FAILED => SSH encountered an unknown error. The output was:OpenSSH_6.4, OpenSSL 1.0.1e-fips 11 Feb 2013
~/.ssh/config содержит
#ControlMaster auto
ControlPath /home/myuser/.ssh/tmp/%h_%p_%r
РЕШЕНИЕ: 
mkdir -p ~/.ssh/tmp/

2013/11/15

Ruby installation issue - Protected multilib versions

CURRENT CONFIGURATION:
RHEL 6.4 x64 on Amazon AWS VPC

OBJECTIVE:
Install Ruby 2.0.0

ISSUE:
Error running 'requirements_centos_libs_install gcc-c++ readline-devel zlib-devel libyaml-devel libffi-devel openssl-devel autoconf automake libtool bison',
please read /usr/local/rvm/log/1384535887_ruby-2.0.0-p247/package_install_gcc-c++_readline-devel_zlib-devel_libyaml-devel_libffi-devel_openssl-devel_autoconf_automake_libtool_bison.log
Requirements installation failed with status: 1.
Log file:
Error: Multilib version problems found. This often means that the root
cause is something else and multilib version checking is just
pointing out that there is a problem. Eg.:
1. You have an upgrade for libyaml which is missing some
dependency that another package requires. Yum is trying to
solve this by installing an older version of libyaml of the
different architecture. If you exclude the bad architecture
yum will tell you what the root cause is (which package
requires what). You can try redoing the upgrade with
--exclude libyaml.otherarch ... this should give you an error
message showing the root cause of the problem.
2. You have multiple architectures of libyaml installed, but
yum can only see an upgrade for one of those arcitectures.
If you don't want/need both architectures anymore then you
can remove the one with the missing update and everything
will work.
3. You have duplicate versions of libyaml installed already.
You can use "yum check" to get yum show these errors.
...you can also use --setopt=protected_multilib=false to remove
this checking, however this is almost never the correct thing to
do as something else is very likely to go wrong (often causing
much more problems).
Protected multilib versions: libyaml-0.1.3-1.el6.i686 != libyaml-0.1.3-1.1.el6.x86_64
You could try using --skip-broken to work around the problem
You could try running: rpm -Va --nofiles --nodigest

SOLUTION:
Try installation command first time.
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0
Receive the error message.
Continue installation with commands:
yum downgrade -y libyaml
yum install -y --setopt=protected_multilib=false libyaml-devel
curl -L https://get.rvm.io | bash -s stable --ruby=2.0.0

LINKS:
Ruby Version Manager (RVM)

2013/07/07

Копирование Fedora, CentOS, RedHat на VMware

ОКРУЖЕНИЕ: VMware ESXi 5.1, CentOS 6, RedHat 6, Fedora 19
ЦЕЛЬ: Подготовить виртуальную машину для копирования или клонирования с VMware ESXi на VMware ESXi .
ПРОБЛЕМА: Не работает сеть после копирования или клонирования
РЕШЕНИЕ:
# Выполняется от пользователя root
# Скопировать конфигурционные файлы в домашнюю директорию
yes | cp -f /etc/udev/rules.d/70-persistent-net.rules ~/.
yes | cp -f /etc/sysconfig/network-scripts/ifcfg-eth0 ~/.
# Изменить конфигурционные файлы
sed -i 's/^SUBSYSTEM/#SUBSYSTEM/g' /etc/udev/rules.d/70-persistent-net.rules
sed -i 's/^UUID/#UUID/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/^MACADDR/#MACADDR/g' /etc/sysconfig/network-scripts/ifcfg-eth0
sed -i 's/^HWADDR/#HWADDR/g' /etc/sysconfig/network-scripts/ifcfg-eth0
# Почистить перед копированием
rm -rf $(find /tmp -type f)
rm -rf $(find /var/log -type f)
rm -rf $(find /home -type f -name ".bash_history")
rm -fr ~/.bash_history
# Выключить виртуальную машину
poweroff
Скоприровать или экспортировать виртуальную машину.
Восстановить конфигурционные файлы на мастере (если нужно):
yes | cp -f ~/70-persistent-net.rules /etc/udev/rules.d/
yes | cp -f ~/ifcfg-eth0 /etc/sysconfig/network-scripts/
СКАЧАТЬ:

2012/08/09

Check on Nagios the latest files in folder with NSClient++ 0.3.9

CURRENT CONFIGURATION: Linux OpenSuSe, Nagios 3.2.3, NRPE; Windows 2003R2 x64 server, NSClient++ 0.3.9.330 2011-09-02
OBJECTIVE: Monitor MSSQL backup, IIS logs replication with Nagios. Check FOLDER with files (MSSQL backup, IIS logs, S3 logs, etc.). Send WARNING if files are older than some hours.
SOLUTION:
NRPE has to work on Nagios server and on Windows client computer with NSClient++.
Nagios server command.cfg file:
define command{
  command_name    check_nrpe_files_written
  command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c CheckFiles -a "path=$ARG1$" "pattern=$ARG2$" "filter=written gt -$ARG3$" truncate=4096 "master-syntax=files: %total%" max-dir-depth=$ARG4$ MinWarn=0
}

define command{
  command_name    check_nrpe_files_creation
  command_line    $USER1$/check_nrpe -H $HOSTADDRESS$ -c CheckFiles -a "path=$ARG1$" "pattern=$ARG2$" "filter=creation gt -$ARG3$" truncate=4096 "master-syntax=files: %total%" max-dir-depth=$ARG4$ MinWarn=0
}

Nagios server somename.cfg file examples:


define service{
...
  check_command           check_nrpe_files_creation!F:\\Backup\\SERVER01\\mssql\\backup\\default\\full!*.bkz!30h!0
  normal_check_interval   720
}
define service{
...
  check_command           check_nrpe_files_creation!F:\\Backup\\SERVER06\\ServiceDesk\\backup!*.data!30h!0
  normal_check_interval   720
}
define service{
...
  check_command           check_nrpe_files_creation!F:\\backup\\SERVER01!*-exchange_1_storage_group.bkf!8d!0
  normal_check_interval   1440
}
define service{
...
  check_command           check_nrpe_files_written!D:\\Logs\\IISLogs!*WEB01*.log!6h!4
  normal_check_interval   180
}
define service{
...
  check_command           check_nrpe_files_written!D:\\Replica\\UploadCopy\\s3!LastReplication.log!30h!0
  normal_check_interval   720
}

NSClient++ NSC.ini file:

[modules]
NRPEListener.dll
[NRPE]
allow_arguments=1
allow_nasty_meta_chars=1
Big thanks to NSClient++ author for program and excellent support.

2012/06/11

Amazon AWS windows instance w32time service issue

CURRENT CONFIGURATION:  Windows 2008R2 SP1 instance on Amazon AWS VPC
OBJECTIVE: Time synchronise
ISSUE:
C:\>sc start w32time
[SC] StartService FAILED 1290:
The service start failed since one or more services in the same process have anincompatible service SID type setting. A service with restricted service SID type can only coexist in the same process with other services with a restricted SID type. If the service SID type for this service was just configured, the hosting process must be restarted in order to start this service.
C:\>sc start Ec2Config
[SC] StartService FAILED 1068:
The dependency service or group failed to start.
SOLUTION:
Uninstall Ec2ConfigService. Delete all in c:\Program Files\Amazon\Ec2ConfigService\ except  config files in c:\Program Files\Amazon\Ec2ConfigService\Settings\ .
Uninstall w32time by command
w32tm /unregister
Reboot server.
Install and start w32time service by command
w32tm /register
@ping localhost -n 5 >; nul
sc start w32time
Configure w32time service. Example:
w32tm /config /update /manualpeerlist:0.ie.pool.ntp.org,0.europe.pool.ntp.org,3.europe.pool.ntp.org /syncfromflags:MANUAL
@ping localhost -n 2 >; nul
w32tm /monitor /computers:0.ie.pool.ntp.org
w32tm /resync
Reboot the server ant test w32time service. Example
w32tm /monitor /computers:0.ie.pool.ntp.org
w32tm /resync
w32tm /query /peers
w32tm /query /configuration
If w32time service works as you expected download and install Ec2ConfigService
Reboot the server.
LINKS: Reinstall ec2config