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

Иногда нужно узнать серийный номер сервера из консоли ОС.
Для Windows:

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

wmic bios get serialnumber
wmic csproduct get vendor,name,identifyingnumber

Результат будет примерно таким:

IdentifyingNumber    Name                Vendor
ABCDEF1              PowerEdge 2950      Dell Inc.

wmic /user:administrator /node:remote-host bios get serialnumber

а эта комана выводит серийный номер удаленного сервера:

SerialNumber
ABCDEF1

Для корректной работы этих команд должна быть хотя бы в режиме Manual служба Windows Management Instrumentation.

Для Linux:

используем команду

dmidecode -s system-serial-number

Установка последней версии 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

После чего делаем:
apt-get update
aptitude install zabbix-server-mysql zabbix-agent zabbix-frontend-php 
Оно нам обновит наш вожделенный Заббикс, после чего надо убрать/закомментировать строчку с Sid – ну, если не хотите сильно удивиться после следующего апдейта системы.
http://geckich.blogspot.com/

Почти автоматическая установка 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/