25 апр. 2012 г.

Как посмотреть Service Tag / Server Tag сервера.

Очень легко стандартными средствами без сторонних программулек.

Для винды - открываем CMD и нам на помощь прийдут 3 WMI команды:

wmic bios get serialnumber


wmic csproduct get vendor,name,identifyingnumber

Установка последней версии Zabbix Server в Debian 6 из пакета

В стандартных репозиториях Debian 6 (Squeeze) идет галимый старый Zabbix 1.8.2. А это при том, что на дворе уже 1.8.11 ! :) Но эту проблему можно решить так:

Пропишем себе нестабильный репозиторий Sid:

nano /etc/apt/sources.list

Добавляем в конец строчку:

deb http://ftp.de.debian.org/debian sid main

Почти автоматическая установка Nagios agent для Windows машин.

Если домена AD нету и нет всяких майкрософтных приблуд и впадлу долго разбираться с такой фигней, то подходит такой солюшн:

1. Берем клиента отсюда.

2. Ставим NSClient++ на одну машинку вручную, конфигурим как надо (сервисы, адрес сервера и пароль если нужно - там всё интуитивно понятно). 


3. Копируем агента и конфиг в какую-нибудь беспарольно доступную шару. Туда же кидаем такой скриптик (назвав его, например, nscp_install.bat):

msiexec /i \\192.168.1.1\shared\soft\NSCP\NSCP-0.4.0.163-x64.msi /quiet 
copy  \\192.168.1.1\shared\soft\NSCP\nsclient.ini "C:\Program Files\NSClient++" /Y
net stop "NSClient++ (x64)"
net start "NSClient++ (x64)"

Этот скрипт в 1й строке тихо ставит клиента со всеми feachures enabled. Затем копирует готовый конфиг с заменой без вопросов, а в конце перезапускает сервис клиента чтобы он прохавал подмену. Не забудьте пути и возможно имена файлов поменять на свои.

4. Запускаем скриптик на всех машинах, где надо поставить клиента.

Установка V-Shell (оболочка для Nagios) в Debian/Ubuntu

Делается это довольно-таки просто (имеется в виду, что Nagios у вас уже установлен и работает):

sudo apt-get install php-apc
wget http://assets.nagios.com/downloads/exchange/nagiosvshell/vshell.tar.gz
tar -xzvf vshell.tar.gz
cd vshell


Затем подредактируйте install.php, а точнее строчки:

//target directory where vshell's web files will be stored
define('TARGETDIR',"/usr/local/vshell");
//target directory where your current apache configuration directory is located
define('APACHECONF',"/etc/httpd/conf.d");


Проверка правильности конфигурации Nagios

Очень полезная штука, когда где-то напакостил в конфигах - и не понятно где :)

Команда:

/usr/local/nagios/bin/nagios -v /usr/local/nagios/etc/nagios.cfg

Если у вас Nagios установлен в другую папку, то, понятное дело, пути будут другие.

24 апр. 2012 г.

Ошибка при компиляции Nagios 3.3.1 “make install”: Error 1

Экспериментальным путем я выяснил, что ставить Nagios всё-таки лучше из исходников. Т. к. в пакетной поставке нету ни конфигов для винды и версия старая, в общем, сакс полный.

Ставил я его на Ubuntu/Debian по официальному гайду Nagios Ubuntu installation . Но на этапе компиляции выгреб я ошибку:

/usr/bin/install: omitting directory `includes/rss/extlib’/usr/bin/install: omitting directory `includes/rss/htdocs’
/usr/bin/install: omitting directory `includes/rss/scripts’
make[1]: *** [install] Error 1
make[1]: Leaving directory `/tmp/nagios-3.3.1/nagios/html’
make: *** [install] Error 2

Но отчаиваться не стоит. Это трабла с конфигураторе, которая решается путем выполнения команд после /confogure, make all, make install:

sed -i 's:for file in includes/rss/\*;:for file in includes/rss/\*.\*;:g' ./html/Makefile
sed -i 's:for file in includes/rss/extlib/\*;:for file in includes/rss/extlib/\*.\*;:g' ./html/Makefile


После этого продолжаем ставить по официальному гайду - должно собраться без проблем всё.

Исправление ошибки No permission for Template zabbix при импорте конфигов в Zabbix

Ошибку "No permission for Template zabbix" выбивает потому что мы пытаемся загрузить конфиг больше, чем разрешено PHP.

Идем в (для Debian):

nano /etc/php5/apache2/php.ini

Находим и исправляем параметры (нас интересует больше всего последний - он и виновник этой ошибки)

post_max_size = 32M
max_execution_time = 600
max_input_time = 600
memory_limit = 256M
upload_max_filesize = 24M


Последний ставим больше размера нашего конфига.

Всё, должно теперь нормально импортироваться.

23 апр. 2012 г.

Установка драйвера nVidia в Debian 6, Ubuntu, RedHat / Oracle / CentOS / Fedora

Делал я эти манипуляции на Debian Linux и Oracle Linux. Но сами дрова и команды одинаковы практически для всех дистрибутивов Linux, потому должно работать везде.

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

Сразу оговорю, что на момент написания статьи у меня был Debian 6.0.4 (потом повторил на Oracle Linux) и видеокарта nVidia GeForce GT 440. Для старых (как и для будущих) видеокарт метод может быть другим.

Для начала ставим тулзы и либы необходимые для авто-сборки драйвера (если их еще нету - а по-умолч. они не ставятся) командой (Debian/Ubuntu):

apt-get install gcc make linux-headers-2.6*

Для RHEL-ов: это всё или стоит по умолчанию или yum install make.

Затем идем на http://www.geforce.com/Drivers

Скачиваем файлик для Линуха 32 или 64 - смотря что у нас и для нашей модели видеокарты.

Затем открываем консоль (не эмулятор!!!) комбинацией Ctrl+Alt+F1, логинимся в рута или пользователя, состоящего в группе sudo, и убиваем X-сервер(killall X) а переходим на уровень выполнения 3 (консольный):

20 апр. 2012 г.

Установка VirtualBox на Debian/Ubuntu (НЕ OSE)


VirtualBox существует 2 версии - обычная (типа проприетарная Sun) и OSE - Open Source Edition. Из главных отличий которые я нашел не сильно увлекаясь - у OSE отсутствует поддержка USB и SATA. Но ею можно хоть *опу подтерать) а проприетарная бесплатна только для персонального (на своем компе на рабочем месте - в т. ч., но не как сервер) использования.

Короче, OSE есть и в обычном репозитории, а для установки проприетарной добавляем в файл  /etc/apt/sources.list строчку:

deb http://download.virtualbox.org/virtualbox/debian squeeze contrib non-free

Теперь надо импортировать GPG-ключ, чтобы Apt не матерился :)

wget -q http://download.virtualbox.org/virtualbox/debian/oracle_vbox.asc -O- | sudo apt-key add -

Далее жмякаем:

apt-get update

После этого смотрим, что мы заимели командой:

aptitude search virtualbox

Мне выдало такое:

v virtualbox -
p virtualbox-3.2 - Oracle VM VirtualBox
p virtualbox-4.0 - Oracle VM VirtualBox
p virtualbox-4.1 - Oracle VM VirtualBox
p virtualbox-guest-additions - guest additions iso image for VirtualBox
c virtualbox-ose - x86 virtualization solution - base binaries
....


OSE нам не надо - мы уже определились. И лучше последнюю версию (на момент написания статьи!), потому жмякаем:

apt-get install virtualbox-4.1

И наслаждаемся процессом.

19 апр. 2012 г.

Удаление и архивирование файлов в Windows 2003 с помощью PowerShell

Модифицировал предыдущий скрипт.

Теперь он считывает из текстового файла маски файлов, которые надо заархивировать и удалить, затем делает своё черное дело :)

Единственный косяк, который пока не понял как устранить - архив уже должен существовать и быть архивом... Т. е. защиты от дурака не получилось у меня. Функция New-Item или как-то так создает файл, но текстовый - и это не подходит.

Вначале идет часть объявления, где в переменные заносятся все пути (чтобы легче было менять "под себя"), затем идет архивирование (если оно вообще нужно), а затем удаление.


####### define parameters
#----- get current date ----#
$Now = Get-Date
#----- define amount of days ----#
$Days = "10"
#----- define folder where files are located ----#
$TargetFolder = "C:\gb\QuoteServer"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- define delete list file path
$Del_List = "c:\scripts\files.txt"
#----- define files fore archiving list file path ---#
$Arch_List = "c:\scripts\archive.txt"
#----- define archive file path - this file MUST exist! ---#
$Arch_Path = "c:\scripts\test.zip"
####### archiving part
foreach ($_ in Get-Content $Arch_List)
{
$Files = Get-Childitem $TargetFolder -Include $_ -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
    {
    if ($File -ne $NULL)
        {
        write-host "Archiving File $File" -ForegroundColor "Green"
        $ZipFile = (new-object -com shell.application).NameSpace($Arch_Path)
  $ZipFile.CopyHere($_.fullname)
        }
    else
        {
        Write-Host "No more files to archive!" -foregroundcolor "Green"
        }
    }
}

####### deleting part
foreach ($_ in Get-Content $Del_List)
{
$Files = Get-Childitem $TargetFolder -Include $_ -Recurse | Where {$_.LastWriteTime -le "$LastWrite"}
foreach ($File in $Files)
    {
    if ($File -ne $NULL)
        {
        write-host "Deleting File $File" -ForegroundColor "DarkRed"
        Remove-Item $File.FullName | out-null
        }
    else
        {
        Write-Host "No more files to delete!" -foregroundcolor "Green"
        }
    }
}

Содержимое файлов со списками примерно такого формата:

B*.txt
*.dll
Del*f.doc

и т. п.

18 апр. 2012 г.

Как удалить файлы старше 10 (например) дней в Windows 2003

После некоторого гугления я понял, что это проще всего сделать на PowerShell.

Если он еще не установлен в системе, то берем тут -> Windows PowerShell 1.0 English-Language Installation Package for Windows Server 2003 . Возможно, выругается что нету .NET Framework Version 2.0 Redistributable Package. Тогда берем его там же, у Мракобесов: Microsoft .NET Framework Version 2.0 Redistributable Package (x64) или Microsoft .NET Framework Version 2.0 Redistributable Package (x86) . Также нужен как минимум Service Pack 1.
Инсталляция идет типа Далее, Далее, Финиш :)
Затем запускаем наш павер шелл и видим синенький экранчик с очень хорошим юзабилити (растягиваемый, работа с буфером мышкой - н ето что убогая стандартная CMD).

5 апр. 2012 г.

Отключение принудительной перезагрузки после установки обновлений в Windows XP/2003

Отключить принудительную перезагрузку после установки обновлений в Windows XP/2003 просто:

  • Отключение через реестр. Нужно создать (если его нет) ключ HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\Windows\WindowsUpdate\AU\NoAutoRebootWithLoggedOnUsers типа DWORD и установить в единицу.
  • Отключение через редактор групповых политик. Запустить gpedit.msc, далее Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update. Установить опцию "No auto-restart for scheduled Automatic Updates installations" в состояние "Enabled".

2 апр. 2012 г.

Использования screen для восстановления терминального подключения при не корректном его завершении

Screen - довольно-таки мощная и полезная утилита для системного администратора. У нее достаточно много ключей и параметров, которые человека нового, непосвященного могут вначале отпугнуть. В этой статье я напишу, как я использую эту утилиту.

Основное назначение screen, как для меня, - подключение к прерванному консольному сеансу. Т. е. вот вы, например, подключились к удаленному веб-серверу и запустили там какой-либо очень важный процесс, которым возможно нужно управлять. И вдруг у вас пропадает ssh-соединение - то ли проблемы с подключением через Интернет то ли еще по какой-то причине... И вы уже не сможете управлять процессом. Чтобы так не произошло - нужно запускать важные такие вещи в скрине.

Для начала установим его (как правило, в стандартную установку он не входит):

yum install screen (для RedHat/CentOS)
aptitude install screen (для Debian/Ubuntu)


Для других дистрибутивов нечто похожее.

Теперь войдите в скрин:

screen

Или выполните команду "в скрине":

screen sudo nano /etc/sudoers