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

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

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

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


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

msiexec /i \192.168.1.1sharedsoftNSCPNSCP-0.4.0.163-x64.msi /quiet 
copy  \192.168.1.1sharedsoftNSCPnsclient.ini “C:Program FilesNSClient++” /Y
net stop “NSClient++ (x64)”
net start “NSClient++ (x64)”

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

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

http://geckich.blogspot.com/

Установка 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”);

Они, очевидно, для RHEL – исправляем на наши.

define(‘TARGETDIR’,”/var/www/vshell”);
define(‘APACHECONF’,”/etc/apache2/conf.d”);

Если вы устанавливали Nagios путем компиляции, а не из пакетов, то 1ю строчку редактировать скорее всего не прийдется. Затем:

chmod +x install.php
sudo ./install.php

Опять же, если вы ставили из пакетов, то придется подправить пути на правильные в файлике:

nano /etc/apache2/conf.d/vshell.conf
А если путем компиляции, то там всё и так правильно. Таким же образом всё ставится и в CentOS, только там менять вообще ничего не нужно.

Перезапускаем апач:

service apache2 restart

После установки можно заходить в новый шелл по адресу http://127.0.0.1/vshell/


http://geckich.blogspot.com/

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

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

Команда:

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

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

http://geckich.blogspot.com/

Ошибка при компиляции 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

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

http://geckich.blogspot.com/

Исправление ошибки 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

Последний ставим больше размера нашего конфига.
Всё, должно теперь нормально импортироваться.
http://geckich.blogspot.com/

Установка драйвера 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 (консольный):


init 3

после переходим в директорию с инсталлятором драйвера (обычно это /home/<username>/Downloads) и запускаем его

sh NVIDIA-Linux-x86_64-295.20.run

отвечаем утвердительно на все вопросы, даже о том что у нас не та версия компилятора 🙂 и обязательно – в конце Yes на вопрос о том, чтобы утилитка nvidia-config переколбасила наш xorg.conf. Если чего-то ему не хватит – доустанавливаем. Но по идее стандартного набора + то что в 1й команде ему должно хватить.

Теперь cтартуем x-server (т. е. переходим обратно на уровень выполнения с графикой):

init 5

Всё, должен подхватиться наш новый драйвер со всеми плюшками. Добавить 2й монитор и вообще конфигурить можем через апплет System -> Preferences -> NVIDIA X Server Settings (в Gnome):

Update: В Debian Wheezy (7, testing) такая установка тоже работает.

http://geckich.blogspot.com/

Установка 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
И наслаждаемся процессом.
http://geckich.blogspot.com/

Удаление и архивирование файлов в 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:gbQuoteServer"
#----- define LastWriteTime parameter based on $Days ---#
$LastWrite = $Now.AddDays(-$Days)
#----- define delete list file path
$Del_List = "c:scriptsfiles.txt"
#----- define files fore archiving list file path ---#
$Arch_List = "c:scriptsarchive.txt"
#----- define archive file path - this file MUST exist! ---#
$Arch_Path = "c:scriptstest.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

и т. п.

http://geckich.blogspot.com/

Как удалить файлы старше 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).

Сразу проверяем, разрешено ли у нас запускать скрипты:

Get-ExecutionPolicy

Скорее всего нет – т. е. вернет что-то типа Restricted. Посему юзаем команду, меняющую “политику партии”:

Set-ExecutionPolicy RemoteSigned

Теперь создаем где-нибудь текстовый файл с расширением .ps1 и пишем в него:

#----- получаем текущую дату и пихаем в переменную ----#
$Now = Get-Date
#----- задаем количество дней старше которых файлы будут удаляться ----#
$Days = "10"
#----- задаем папку которая будет чиститься ----#
$TargetFolder = "C:ApplicationsLogs"
#----- вот тут самое прикольное - задаем маску, то ли это просто расширение ----#
#----- то ли это будут файлы какогото спец формата, например такие PROG_Date.log где Date - дата ----#
$Extension = "PROG*.log"
#----- здесь делаем дату за которой будут удаляться файлы ---#
$LastWrite = $Now.AddDays(-$Days)
#----- получаем список файлов. Если не надо рекурсии то убираем соотв. параметр ---#
#----- если надо удалить тупо все файлы старше 10 дней то убираем -Include $Extension ---#
$Files = Get-Childitem $TargetFolder -Include $Extension -Recurse | Where{$_.LastWriteTime -le "$LastWrite"}
#----- в цикле вербозно удаляем все полученные файлы ---#
foreach ($File in $Files)
{
if ($File -ne $NULL)
{
write-host "Deleting File $File" -ForegroundColor "DarkRed"
Remo ve-Item $File.FullName | out-null
}
else
{
Write-Host "No more files to delete!" -foregroundcolor "Green"
}
}

Напоследок, если хотим сделать shedule, то пишем батник с содержимым типа такого:
%SystemRoot%system32windowspowershellv1.0powershell.exe -command “c:scriptsdelete.ps1”
Где вначале идет путь к павер шеллу (у вас он может отличаться), а в конце – путь к файлу со скриптом.
Затем пихаем батник в планировщик.
Усё, товарищи. 
http://geckich.blogspot.com/

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

Отключить принудительную перезагрузку после установки обновлений в Windows XP/2003 просто:
  • Отключение через реестр. Нужно создать (если его нет) ключ HKEY_LOCAL_MACHINESOFTWAREPoliciesMicrosoftWindowsWindowsUpdateAUNoAutoRebootWithLoggedOnUsers типа DWORD и установить в единицу.
  • Отключение через редактор групповых политик. Запустить gpedit.msc, далее Computer Configuration -> Administrative Templates -> Windows Components -> Windows Update. Установить опцию “No auto-restart for scheduled Automatic Updates installations” в состояние “Enabled”.
http://geckich.blogspot.com/