суббота, 20 ноября 2010 г.

Nagios3 + Nagiosql на Debian lanny squeeze INSTALL

Источники:
http://habrahabr.ru/blogs/linux/88293/
http://adminletters.blogspot.com/2009/09/nagios3-nagiosql-debian-lenny.html


Свой сервер мониторинга с nagios и cacti

Под катом советы по быстрому развертыванию «системы мониторинга» посредством nagios и cacti.

Предположим имеется девственно чистый сервер с предустановленным debian lenny. А нам предстоит сделать из этой бесформенной массы луна-парк с блэк джеком и девочками. Хм, хотя нет, наверное все таки нужно сделать сервер мониторинга с nagios и cacti.

Прежде всего необходимо поставить ssh сервер и mc (midnight commander), думаю комментировать зачем и почему мы это делаем излишне

debian:~# apt-get update
debian:~# apt-get install openssh-server
debian:~# apt-get install mc


Далее ставим nagios. Ставить будем «кошерным» способом, посредством apt. Это избавит нас от проблемы зависимостей, многочасового лазания в дебрях конфигурационных файлов и сократит время разворачивания системы.
И так, набираем магическую команду

debian:~# apt-get install nagios3

и, вуаля у нас уже установлен нагиос в минимальной конфигурации. Что же произошло? Менеджер пакетов просмотрел зависимости для пакета nagios3. Кроме базового пакета были установлены плагины к нагиосу, апач и много-много нужных библиотек.
Так же были созданы минимальные конфиги для нагиоса и апача. В теории все должно «работать из коробки», но как обычно приходиться пользоваться напильником.

Как мы можем увидеть, в конфиге /etc/nagios3/nagios.conf указано, что для доступа к nagios используется обыкновенная http авторизация, но к сожалению файла авторизации нет.
Дабы исправить сей скорбный факт создадим его командой

debian:~# htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin
New password:
Re-type new password:
Adding password for user nagiosadmin


Cоздает нового пользователя, если без ключа -с то доовляет в список позде можно изменить доступ к сайту в файле /etc/nagios3/cgi.cfg в это файле хроняться права на доступ к нагиос.
Прошу обратить внимание, что пользователь должен быть именно nagiosadmin, а не Вася, Люся или Петручио.
Это связано, с тем что по умолчанию в nagios.cfg пользователь c доступом ко всем функциям — nagiosadmin.
После можно добавить пользователя и указать для него доступ с правами только чтение в файле /etc/nagios3/cgi.cfg отметив нового пользователя в соответсвующий строках

Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».

debian:~# mcedit /etc/nagios3/nagios.cfg

check_external_commands=1

Изменяем пермишенсы и владельцев

debian:~# chown -R nagios.www-data /var/lib/nagios3
debian:~# chmod -R 770 /var/lib/nagios3/spool
debian:~# chmod 644 /etc/nagios3/resource.cfg


Установка nagios3 завершена. Мы можем зайти в интерфейс nagios3 набрав в Вашем любимом браузере:
http ://youre_server_ip/nagios3

NagiosQL

Теперь с чистой совестью приступим к его конфигурации. Вы можете с головой погрузиться в конфигурационные файлы и часами их править, получая неописуемое удовлетворение множественные оргазмы от данного процесса. Либо совершить акт настройки нагиоса посредством веб интерфейса. Например, применив NagiosQL.
Дабы соблюсти «кошерность» установки NagiosQL, добавим репозиторий с присобранным NagiosQL в список репозиториев.
Список репозиториев находиться в /etc/apt/sources.list:

deb http:// debian.swobspace.net lenny main
deb-src http:// debian.swobspace.net lenny main


Дальше, что бы из репозитория debian.swobspace.net получить только NagiosQL создадим файл /etc/apt/preferences

debian:~# nano /etc/apt/preferences

и в нем укажем, наши предпочтения по установке пакетов

Package: *
Pin: origin debian.swobspace.net
Pin-Priority: 200


Package: nagiosql
Pin: origin debian.swobspace.net
Pin-Priority: 600


Получаем и импортируем ключи для репозитория debian.swobspace.net
debian:~# wget http:// www.swobspace.net/wob@swobspace.net.pub.asc -O- | apt-key add -

Обновляем список пакетов
debian:~# apt-get update

Устанавливаем NagiosQL
debian:~# apt-get install nagiosql

Именно здесь Мы целиком и полностью видим преимущество «кошерного» подхода в установке пакетов, в зависимостях оказались php, mysql, необходимые модули и библиотеки. Не надо ломать голову почему не работает какая то функция, или почему не генерируется график.
Во время установки вас спросит root пароль для доступа к базе данных mysql, обязательно запишите его на листочке.

Настройка
1.Активируем установщик NagiosQL
debian:~# touch /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER

2. Заходим http://youre_server_ip/nagiosql и в интуитивно понятном веб интерфейсе выполняем установку, именно здесь и потребуется тот клочок пергамента на котором мы неясными каракулями записали root пароль от mysql. Впроцессе установки будет созданна база данных (имя базы оставить по умолчанию) в mysql, нужно задать логин и пароль с которым nagioosql будет конектиться к базе, потом указать рутовый логин(root) и пароль к базе даныых что бы установщик nagiosql создал ту самую базу. Также нада указать админский логин и пароль для администрирования nagiosql через web-браузер.


3. После удачной установки деактивируем установщик NagiosQL
debian:~# rm -f /usr/share/nagiosql/htdocs/install/ENABLE_INSTALLER
для надежности можно удалить всю папку с установщиком
debian:~# rm -rf /usr/share/nagiosql/htdocs/install

4. Добавляем в /etc/nagios3/nagios.cfg строку.
cfg_dir=/etc/nagiosql/domains/localhost

5. Создаем папку /etc/nagios/import и копируем в нее все конфиги из /etc/nagios3/conf.d и /etc/nagios-plugins/. И импортируем их в NagiosQL.
cp /etc/nagios3/commands.cfg /etc/nagios3/import/
cp /etc/nagios3/conf.d/* /etc/nagios3/import/
cp /etc/nagios-plugins/config/* /etc/nagios3/import/

Импорт данных осуществляется в меню Tools => Data import //в браузере 127.0.0.1/nagiosql

7. Обнулим конфигурацию нагиоса, она будет перезаписана nagiosql

echo > /etc/nagios3/commands.cfg
cd /etc/nagios-plugins/config
ls -1 | awk '{system("echo > "$1);}'
cd /etc/nagios3/conf.d/
ls -1 | awk '{system("echo > "$1);}'


8. Зададим пароль для админа
htpasswd -c /etc/nagios3/htpasswd.users nagiosadmin

9. Перезапускаем нагиос
/etc/init.d/nagios3 restart

Если выдает ошибки:

Total Warnings: 0
Total Errors: 3

One or more problems was encountered while running the pre-flight check...

Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
'Whats New' section to find out what has changed.

errors in config! ... failed!
failed!


в браузере 127.0.0.1/nagiosql в Tools Nagios Control выбирите Check configuration files: "Do it"
и выполните
/etc/init.d/nagios3 restart

потом Write monitoring data "Do it"
и выполните
/etc/init.d/nagios3 restart

потом "Write additional data" "Do it"
и выполните
/etc/init.d/nagios3 restart


##############
Если ошибка при выполнении команыды /etc/init.d/nagios3 restart


Restarting nagios3 monitoring daemon: nagios3

Nagios Core 3.2.1
Copyright (c) 2009-2010 Nagios Core Development Team and Community Contributors
Copyright (c) 1999-2009 Ethan Galstad
Last Modified: 03-09-2010
License: GPL

Website: http://www.nagios.org
Reading configuration data...
Error in configuration file '/etc/nagios3/nagios.cfg' - Line 145 (Illegal value for check_external_commands)
Error processing main config file!



***> One or more problems was encountered while processing the config files...

Check your configuration file(s) to ensure that they contain valid
directives and data defintions. If you are upgrading from a previous
version of Nagios, you should be aware that some variables/definitions
may have been removed or modified in this version. Make sure to read
the HTML documentation regarding the config files, as well as the
'Whats New' section to find out what has changed.

errors in config! ... failed!
failed!


Вы не указали (см.вверху) обработку внешних команд.
Включаем обработку внешних команд, вещь нужная, например для «Re-schedule the next check of this host».
debian:~# mcedit /etc/nagios3/nagios.cfg
check_external_commands=1


Перезапускаем нагиос
/etc/init.d/nagios3 restart

для того, чтобы коммнады check_alive_fast и подобные появились в конфигурации хостов, надо поменять им тип с "misc" на "check"

теперь нагиос будет доступен по адресу
http://yourhost.com/nagios3
а админка к нему
http://yourhost.com/nagiosql

вторник, 22 июня 2010 г.

3G modem Huawei E219 + D-Link DIR 320

3G operator Utel (Ukraine)

Download firmware openwrt-brcm-2.4-squashfs.trx from OpenWRT official website

воскресенье, 6 июня 2010 г.

LAMP [ Linux Apache2 MySQL PHP ] Ubuntu Debian

----------- Install MySQL

vito@comp:~$ sudo apt-get install mysql-server mysql-client

input root password and then chek for working ok try to login into mysql

vito@comp:~$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
Your MySQL connection id is 40
Server version: 5.1.37-1ubuntu5.1 (Ubuntu)

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql>


----------- Install Apach2

vito@comp:~$ sudo apt-get install apache2
[sudo] password for vito:
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
linux-headers-2.6.32-21 linux-headers-2.6.32-21-generic
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap
Предлагаемые пакеты:
apache2-doc apache2-suexec apache2-suexec-custom
НОВЫЕ пакеты, которые будут установлены:
apache2 apache2-mpm-worker apache2-utils apache2.2-bin apache2.2-common libapr1 libaprutil1 libaprutil1-dbd-sqlite3
libaprutil1-ldap
обновлено 0, установлено 9 новых пакетов, для удаления отмечено 0 пакетов, и 4 пакетов не обновлено.
Необходимо скачать 3.328kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 10,1MB.
Хотите продолжить [Д/н]? y
Получено:1 http://ua.archive.ubuntu.com/ubuntu/ lucid/main libapr1 1.3.8-1build1 [116kB]
...
Enabling module authz_host.
Enabling module reqtimeout.


Настраивается пакет apache2-mpm-worker (2.2.14-5ubuntu8) ...
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]


Настраивается пакет apache2 (2.2.14-5ubuntu8) ...


Обрабатываются триггеры для libc-bin ...
ldconfig deferred processing now taking place


Chek for apapsh2 is Ok in web-brouser http://127.0.0.1/ should be shown somthing like this "It works!"

----------------- Install PHP5

vito@comp:~$ sudo apt-get install php5
Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Следующие пакеты устанавливались автоматически и больше не требуются:
linux-headers-2.6.32-21 linux-headers-2.6.32-21-generic
Для их удаления используйте 'apt-get autoremove'.
Будут установлены следующие дополнительные пакеты:
apache2-mpm-prefork libapache2-mod-php5 php5-common
Предлагаемые пакеты:
php-pear php5-suhosin
Пакеты, которые будут УДАЛЕНЫ:
apache2-mpm-worker
НОВЫЕ пакеты, которые будут установлены:
apache2-mpm-prefork libapache2-mod-php5 php5 php5-common
обновлено 0, установлено 4 новых пакетов, для удаления отмечено 1 пакетов, и 4 пакетов не обновлено.
Необходимо скачать 3.376kБ архивов.
После данной операции, объём занятого дискового пространства возрастёт на 8.790kB.
Хотите продолжить [Д/н]? y
Получено:1 http://ua.archive.ubuntu.com/ubuntu/ lucid/main apache2-mpm-prefork 2.2.14-5ubuntu8 [2.422B]
...
Настраивается пакет apache2-mpm-prefork (2.2.14-5ubuntu8) ...
* Starting web server apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
[ OK ]


Настраивается пакет php5-common (5.3.2-1ubuntu4.2) ...
Настраивается пакет libapache2-mod-php5 (5.3.2-1ubuntu4.2) ...


Creating config file /etc/php5/apache2/php.ini with new version
* Reloading web server config apache2 apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName

vito@comp:~$ vi /var/www/test.php //ucoment text
#

try http://127.0.0.1/test.php it returens test page PHP Version 5.2.6-1+lenny8

---------------apache2 restart


vito@comp:~$ sudo /etc/init.d/apache2 restart
* Restarting web server apache2
IF YOU GET THIS ERROR : apache2: Could not reliably determine the server's fully qualified domain name, using 127.0.1.1 for ServerName
YOU NEED : use a text editor such as "sudo nano" at the command line to create a new file
vito@comp:~$ sudo nano /etc/apache2/conf.d/fqdn //then add to the file and save

ServerName localhost



-------------myphpadmin

vito@comp:~$ sudo apt-get install phpmyadmin //Chose apache2 in ask window

Чтение списков пакетов... Готово
Построение дерева зависимостей
Чтение информации о состоянии... Готово
Инициализация состояний пакетов... Готово
Запись информации расширенных состояний... Готово
Следующие НОВЫЕ пакеты будут установлены:
dbconfig-common javascript-common libjs-mootools libmcrypt4 libt1-5 php5-gd php5-mcrypt php5-mysql phpmyadmin wwwconfig-common
Следующие пакеты будут УДАЛЕНЫ:
linux-headers-2.6.32-21{u} linux-headers-2.6.32-21-generic{u}
0 пакетов обновлено, 10 установлено новых, 2 пакетов отмечено для удаления, и 4 пакетов не обновлено.
Необходимо получить 5.379kБ архивов. После распаковки освободится 63,5MБ.
Хотите продолжить? [Y/n/?] y
Запись информации расширенных состояний... Готово
Получить:1 http://ua.archive.ubuntu.com/ubuntu/ lucid/main dbconfig-common 1.8.44ubuntu1 [474kB]


Запись информации расширенных состояний... Готово

vito@comp:~$ sudo /etc/init.d/apache2 restart


---------------- Check for phpmyadmin works normal
Chek for apapsh2 is Ok in web-browser http://127.0.0.1/phpmyadmin

IF YOU SEE:
"Not Found
The requested URL /phpmyadmin was not found on this server.
Apache/2.2.9 (Debian) PHP/5.2.6-1+lenny9 with Suhosin-Patch Server at 127.0.0.1 Port 80"

YOU NEED ADD ALIASES INTO /etc/phpmyadmin/apache.conf

By default apache search phpmyadmin site directory(index.html and etc.) in /var/www/phpmyadmin and can't find it, because actually phpmyadmin site directory is located in /usr/share/phpmyadmin. In this case you need to add symbolic link to apache2 config file:

vito@comp:~$ sudo ln -s /etc/phpmyadmin/apache.conf /etc/apache2/conf.d/phpmyadmin.conf


---------------- Add the alias "/phpmyadmin /usr/share/phpmyadmin" //these lines taked from /etc/phpmyadmin/apache.conf

vito@comp:~$ sudo /etc/init.d/apache2 restart

----------------- Try open http://127.0.0.1/phpmyadmin/ to be shore that evrything works Ok.


Related links
Blog Yaap
Feyhoa
LAMP_ubuntu

To resolve alise problem on Debiani-like systems chek to
HowToForge
LinuxQuestions.Org