• Быстрый переход
  • Рубрики
  • Свежие записи
  • Метки
  • Архивы
  • Реклама 1
  • Реклама 2
  • Рейтинг@Mail.ru

    Установка Cacti + Plugin Architecture 2.9 + Spine на CentOS 5.5 i386


    Cacti — Веб-приложение которое поможет Вам мониторить состояние вашего сервера, CISCO и всего что может отдавать данные по SNMP протоколу. Вы сможете наблюдать за загрузкой CPU сервера, видеть на графике среднюю загрузку памяти за период времени, количество DNS запросов приходящих на сервер, количество писем (спама) приходящих на почтовый сервер. Сможете мониторить среднюю нагрузку на сеть в рабочие часы и многое другое.

    Cacti Plugin Architecture — дополнение для Cacti расширяющее возможности стандартного пакета путем включения функции установки стороних плагинов.

    Spine — быстрый и качественный поллер для Cacti написанный на C. Используется взамен стандартного поллера, идущего в стандартной инсталляции Cacti, cmd.php.

    Показательная, базовая установка Cacti с прибомбасами на CentOS 5.5 i386. Многие элементы настройки защиты веб-сервера игнорируются, ввиду тестовой инсталляции.Все действия будут выполняться под рутом.

    Начнем с инсталяции базового веб-сервера LAMP.

    Устновим репозиторий RPMforge:
    rpm -Uhv apt.sw.be/redhat/el5/en/i386/rpmforge/RPMS/rpmforge-release-0.3.6-1.el5.rf.i386.rpm

    Обновим систему и ребутнёмся:
    yum -y update
    reboot
    Установим стандартные пакеты для веб-сервера:
    yum install -y mysql mysql-server mysql-devel httpd httpd-devel php php-mysql php-gd phpimap
    php-ldap php-odbc php-pear php-xml php-xmlrpc php-mcrypt curl curl-devel perl-libwwwperl
    libxml2 php-mbstring phpmyadmin

    Настройка MySQL сервера:
    chkconfig mysqld on
    service mysqld start
    mysql_secure_installation

    Введя последнюю команду, внимательно читайте и следуйте пунктам ее вывода. В конце концов, вы должны будете поставить пароль для рута MySQL, позволить внешние подключения к серверу, отключить анонимного пользователя, удалить тестовую базу, обновить записи сервера.

    Настройка Apache, httpd:
    chkconfig httpd on
    service httpd start

    Настройка PhpMyAdmin:
    vim /etc/httpd/conf.d/phpmyadmin.conf

    #
    # Web application to manage MySQL
    #
    #<Directory "/usr/share/phpmyadmin">
    # Order Deny,Allow
    # Deny from all
    # Allow from 127.0.0.1
    #
    Alias /phpmyadmin /usr/share/phpmyadmin
    Alias /phpMyAdmin /usr/share/phpmyadmin
    Alias /mysqladmin /usr/share/phpmyadmin

    vim /usr/share/phpmyadmin/config.inc.php

    Найдите следующую строку (в моем случае она 17я):
    $cfg['blowfish_secret'] = '';

    Пройдите по этой ссылке и скопируйте сгенирированный Blowfish секрет. Вставьте его в конце, между одиночными кавычками. Пример:
    $cfg['blowfish_secret'] = '85NoZZ8_y})SzG5{ys1_#YEQoxwC*sn02%JhcK@WA';

    Перегрузите httpd:
    service httpd restart

    Начнем инсталяцию самого Cacti.

    Установим зависимости нужные Cacti:
    yum install -y net-snmp net-snmp-utils rrdtool php-snmp

    Добавим в автозагрузку и запустим сервис SNMP:
    chkconfig snmpd on
    service snmpd start

    Скачаем пакеты Cacti:
    wget www.cacti.net/downloads/cacti-0.8.7g.tar.gz
    wget www.cacti.net/downloads/pia/cacti-plugin-0.8.7g-PA-v2.9.tar.gz
    wget www.cacti.net/downloads/spine/cacti-spine-0.8.7g.tar.gz

    Разархивируем их:
    tar -xzvf cacti-0.8.7g.tar.gz
    tar -xzvf cacti-plugin-0.8.7g-PA-v2.9.tar.gz
    tar -xzvf cacti-spine-0.8.7g.tar.gz

    Создадим рабочую папку Cacti на сервере:
    mkdir /var/www/cacti

    Скопируем содержимое распакованной папки Cacti в рабочую папку Cacti:
    cp -rf cacti-0.8.7g/* /var/www/cacti/

    Создадим в системе юзера для Cacti и дадим ему соответствующие права:
    useradd -c CactiUser -d /var/www/cacti/ -s /sbin/nologin cactiuser
    chown -R root /var/www/cacti (изначально убедитесь что все права на папку Cacti принадлежат руту)
    chown -R cactiuser /var/www/cacti/log /var/www/cacti/rra

    Создадим базу данных для Cacti с привилегиями для cactiuser:
    mysql -u root -p
    Enter password:

    Welcome to the MySQL monitor. Commands end with ; or \g.
    Your MySQL connection id is 55
    Server version: 5.0.77 Source distribution
    Type 'help;' or '\h' for help. Type '\c' to clear the buffer.

    mysql> create database cacti;
    mysql> GRANT ALL ON cacti.* TO cactiuser@localhost IDENTIFIED BY 'cactipassword';
    mysql> flush privileges;
    mysql> quit

    Импортируем структуру Cacti в ее базу:
    mysql -u cactiuser -p cacti < /var/www/cacti/cacti.sql
    Enter password: (cactipassword)

    Настроим доступ Cacti в ее базу данных:
    vim /var/www/cacti/include/config.php

    $database_type = "mysql";
    $database_default = "cacti";
    $database_hostname = "localhost";
    $database_username = "cactiuser";
    $database_password = "cactipassword";
    $database_port = "3306";

    Перейдем в рабочую директорию Cacti и установим фиксы официальными патчами:
    cd /var/www/cacti

    wget www.cacti.net/downloads/patches/0.8.7g/data_source_deactivate.patch
    wget www.cacti.net/downloads/patches/0.8.7g/graph_list_view.patch
    wget www.cacti.net/downloads/patches/0.8.7g/html_output.patch
    wget www.cacti.net/downloads/patches/0.8.7g/ldap_group_authenication.patch
    wget www.cacti.net/downloads/patches/0.8.7g/script_server_command_line_parse.patch
    wget www.cacti.net/downloads/patches/0.8.7g/ping.patch
    wget www.cacti.net/downloads/patches/0.8.7g/poller_interval.patch
    patch -p1 -N < data_source_deactivate.patch
    patch -p1 -N < graph_list_view.patch
    patch -p1 -N < html_output.patch
    patch -p1 -N < ldap_group_authenication.patch
    patch -p1 -N < script_server_command_line_parse.patch
    patch -p1 -N < ping.patch
    patch -p1 -N < poller_interval.patch

    Обратно перейдем в домашнюю директорию:
    cd

    Создадим cacti.conf чтобы включить вебдоступ:
    vim /etc/httpd/conf.d/cacti.conf

    Alias /cacti /var/www/cacti
    <Directory /var/www/cacti/>
    DirectoryIndex index.php
    Options -Indexes
    AllowOverride all
    order deny,allow
    deny from all
    allow from 192.168.1.0/24 (you can do it like "allow from all")
    AddType application/x-httpd-php .php
    php_flag magic_quotes_gpc on
    php_flag track_vars on

    Перезагрузим апач:
    service httpd restart

    Создадим задачу Cron для Cacti:
    vim /etc/cron.d/cacti
    */5 * * * * cactiuser php /var/www/cacti/poller.php > /dev/null 2>&1

    С этого момента вы можете начать использовать базовую инсталяцию Cacti в продакшане, но давайте установим дополнительный, не лишний функционал.

    Cacti Plugin Architecture.

    Скопируем .diff патч файл архитектуры в рабочую директорию Cacti:
    cp cacti-plugin-arch/cacti-plugin-0.8.7g-PA-v2.9.diff /var/www/cacti/

    Перейдем в рабочую папку Cacti и выполним тестовое применение патча, дабы посматреть если есть какието помехи:
    cd /var/www/cacti/

    patch -p1 -N --dry-run < cacti-plugin-0.8.7g-PA-v2.9.diff

    Тест должен пройти на ура, кроме одной строчки, но это не проблема:

    patching file include/config.php
    Hunk #1 succeeded at 30 with fuzz 1.

    После того как убедились что в процессе патчинга не должно возникнуть никаких проблем применим сам патч:
    patch -p1 -N < cacti-plugin-0.8.7g-PA-v2.9.diff

    Отредактируем файл конфигурации Cacti:
    vim /var/www/cacti/include/config.php

    Найдите следующую строчку и обязательно впешите в нее рабочую директорию Cacti (начиная с рут папки веб-сервера). В нашем случае это будет выглядить так:
    $url_path = "/cacti/";

    Импортируем дополнительную схему базы архитектуры плагинов в базу данных Cacti:
    mysql -u cactiuser -p cacti < /root/cacti-plugin-arch/pa.sql
    Enter password: (cactipassword)

    Перейдем к установке Spine.

    Установим зависимости нужные при компиляции Spine:
    yum install -y net-snmp-devel

    Перейдем в распакованную папку Spine и начнем компиляцию:
    cd /root/cacti-spine-0.8.7g
    ./configure --prefix=
    make
    make install

    Переименуем файл конфигурации спайна:
    mv /etc/spine.conf.dist /etc/spine.conf

    Разрешим спайну доступ к базе данных Cacti:
    vim /etc/spine.conf

    DB_Host localhost
    DB_Database cacti
    DB_User cactiuser
    DB_Pass cactipassword
    DB_Port 3306
    DB_PreG 0

    Наконецто зайдем на страничку нашего Cacti server/cacti.
    Увидим пару страниц процесса «инсталяции» cacti. Два раза кликаем Next и третий раз Finish.
    Логинимся в консоль: admin/admin

    Перейдем на страницу Settings, после на вкладку Paths.
    Внизу страницы пропишим пусть к бинарнику Spine. В нашем случае:
    /bin/spine

    Затем перейдем на вкладку Poller и установим в граффе Poller Type – spine.

    Что бы включить Plugin Management, нужно перейти на страницу User Management, вкладка Realm Permissions и поставить птичку напротив Plugin Management.
    Сохраняемся.

    И под конец давайте попробуем поставить один плагин.
    Перейдем в папку плагинов в директории Cacti:
    cd /var/www/cacti/plugins

    Скачаем и разархивируем архив плагина:
    wget docs.cacti.net/_media/plugin:settings-v0.7-1.tgz
    mv -f plugin:settings-v0.7-1.tgz settings-v0.7-1.tgz
    tar -xzvf settings-v0.7-1.tgz

    После этих шагов перейдем обратно в консоль управления Cacti, на страничку Plugin Management.
    Инсталируйте и включите плагин.

    UPD.:
    Так выглядят стандартные графики в конце нашей инсталяции. Пробел в графике потому что я не сразу сделал этот скриншот и выключил виртуалку. Ниже приведен скрин с рабочей системы.

    Автор: admin, 23 июля 2012
    Рубрики: OS FreeBSD, OS Linux
    Метки: , , , , , ,

    Написать комментарий

    Последние статьи