Tuesday 11 June 2013

Icinga 1.8 Manual Installation


Icinga 1.8 Manual Installation

Testing Environment
Test OS: CentOS 6.4 x86_64
Test Env: VMWare Workstation 8.0.4

Core Install

Prerequisites

yum install httpd gcc glibc glibc-common gd gd-devel
yum install libjpeg libjpeg-devel libpng libpng-devel
yum install net-snmp net-snmp-devel net-snmp-utils

Database(MySQL)

yum install mysql mysql-server libdbi libdbi-devel libdbi-drivers libdbi-dbd-mysql
service mysqld start
mysqladmin -u root password '<password>'

configuration(Unicode)

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
user=mysql
# Disabling symbolic-links is recommended to prevent assorted security risks
symbolic-links=0
default-character-set=utf8
default-collation=utf8_unicode_ci
character-set-server=utf8
collation-server=utf8_unicode_ci
skip-character-set-client-handshake
 
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
 
[client]
default-character-set=utf8

SELinux

sed -i 's/SELINUX=enforcing/SELINUX=permissive/' /etc/selinux/config
setenforce 0
or
chcon -R -t httpd_sys_script_exec_t /usr/local/icinga/sbin/
chcon -R -t httpd_sys_content_t /usr/local/icinga/share/
chcon -R -t httpd_sys_script_rw_t /usr/local/icinga/var/rw/

Create Account

useradd -m icinga
echo 2SHNckY1 | passwd --stdin icinga
groupadd icinga-cmd
usermod -a -G icinga-cmd icinga
usermod -a -G icinga-cmd apache
test icinga password : 2SHNckY1

Build Source

tar zxvf <파일위치>/icinga-1.8.3.tar.gz -C /tmp
cd /tmp/icinga-1.8.3
./configure --with-command-group=icinga-cmd --enable-idoutils --enable-ssl
make all
make fullinstall
make install-config

Add Timezone Information

vi /etc/httpd/conf.d/icinga.cfg
...생략...
<Directory "/usr/local/icinga/sbin">
...생략...
   SetEnv TZ "Asia/Seoul"
</Directory>
...생략...

Edit Contact Information

sudo vi /usr/local/icinga/etc/objects/contacts.cfg
메뉴얼에는 관리자 email로 변경할 것을 권하나 현재 e메일 계정이 없는 관계로 로컬 메일 계정을 사용하도록 icinga@localhost로 그대로 놔두었음

IDOUtils

cd /usr/local/icinga/etc/
mv idomod.cfg-sample idomod.cfg
mv ido2db.cfg-sample ido2db.cfg

Enable idomod event broker module

vi /usr/local/icinga/etc/icinga.cfg
broker_module=/usr/local/icinga/lib/idomod.so config_file=/usr/local/icinga/etc/idomod.cfg

Create Database

CREATE DATABASE icinga charset=utf8;
GRANT USAGE ON *.* TO 'icinga'@'localhost' IDENTIFIED BY '<password>' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT SELECT , INSERT , UPDATE , DELETE, DROP, CREATE VIEW ON icinga.* TO 'icinga'@'localhost';
FLUSH PRIVILEGES;
quit
Test icinga MySQL password : m9sWUcR3

Create Schema

cd /tmp/icinga-1.8.3/module/idoutils/db/mysql/
mysql -uroot -p icinga < mysql.sql

Edit Configuration(ido2db.cfg)

vi /usr/local/icinga/etc/ido2db.cfg
db_servertype=mysql
db_port=3306
db_user=icinga
db_pass=m9sWUcR3

Register service

chkconfig ido2db on
service ido2db start

Start icinga service

chkconfig icinga on
service icinga start

Build Nagios Plugin

tar zxvf nagios-plugins-1.4.16.tar.gz -C /tmp
cd /tmp/nagios-plugins-1.4.16
./configure \
--prefix=/usr/local/icinga --with-cgiurl=/icinga/cgi-bin \
--with-nagios-user=icinga --with-nagios-group=icinga
make && make install

Web Interface

Firewall

/etc/sysconfig/iptables
...생략...
-A INPUT -m state --state NEW -m tcp -p tcp --dport 80 -j ACCEPT
...생략...

Classic Web Interface

make cgis
make install-cgis
make install-html
make install-webconf

htpasswd -c /usr/local/icinga/etc/htpasswd.users icingaadmin
service httpd start

Connect WEB UI

http://<IP>/icinga

New Web Interface

Prerequisites

yum install php php-cli php-pear php-xmlrpc php-xsl php-pdo php-soap php-gd php-ldap php-mysql
PHP Timezone Setting
php.ini
date.timezone = Asia/Seoul

Download

wget http://sourceforge.net/projects/icinga/files/icinga-web/1.8.3/icinga-web-1.8.3.tar.gz/download

Database Creation

CREATE DATABASE icinga_web charset=utf8;
GRANT USAGE ON *.* TO 'icinga_web'@'localhost' IDENTIFIED BY 'm9sWUcR3' WITH MAX_QUERIES_PER_HOUR 0 MAX_CONNECTIONS_PER_HOUR 0 MAX_UPDATES_PER_HOUR 0;
GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, ALTER, INDEX ON icinga_web.* TO 'icinga_web'@'localhost';
FLUSH PRIVILEGES;
quit
Test icinga_web MySQL password : m9sWUcR3

Build

tar zxvf icinga-web-1.8.3.tar.gz -C /tmp
cd /tmp/icinga-web-1.8.3
./configure --prefix=/usr/local/icinga-web --with-web-user=apache --with-web-group=apache --with-web-path=/icinga-web --with-web-apache-path=/etc/httpd/conf.d --with-db-type=mysql --with-db-host=localhost --with-db-port=3306 --with-db-name=icinga_web --with-db-user=icinga_web --with-db-pass=m9sWUcR3 --with-conf-dir=etc/conf.d --with-api-subtype=mysql --with-api-host=localhost --with-api-port=3306 --with-log-dir=log
make install
make install-apache-config
--with-db-*는 icinga-web이 사용하는 Database 설정이고 --with-api-*는 Icinga(IDO2DB)가 사용하는 Database 설정이다.

Copy Image Packs

wget https://www.monitoringexchange.org/attachment/download/Artwork/Image-Packs/Base-Images/imagepak-base.tar.tar
tar zxvf imagepak-base.tar.tar -C /usr/local/icinga-web/pub/images/icinga/
cd /usr/local/icinga-web/pub/images/
ln -s ../icons

Icons Downloads(Optional)

mkdir -p /usr/local/icinga/share/images/logos/icons
cd /usr/local/icinga/share/images/logos/icons
wget http://files.softicons.com/download/toolbar-icons/16x16-free-application-icons-by-aha-soft/png/16x16/Linux.png
wget http://files.softicons.com/download/toolbar-icons/fugue-16px-additional-icons-by-yusuke-kamiyamane/png/16x16/windows.png
wget http://files.softicons.com/download/toolbar-icons/fugue-16px-icons-by-yusuke-kamiyamane/png/16x16/server.png
wget http://files.softicons.com/download/toolbar-icons/fugue-16px-icons-by-yusuke-kamiyamane/png/16x16/network-hub.png
wget http://files.softicons.com/download/toolbar-icons/fugue-16px-icons-by-yusuke-kamiyamane/png/16x16/network-firewall.png
wget http://files.softicons.com/download/toolbar-icons/pixelbox-icons-by-icojam/png/16x16/1_056.png
mv 1_056.png nas.png
chown icinga: *.png

위는 모니터링 웹에서 표시할 이미지를 받은 것으로 제대로 표시되기 위해서는 별도의 설정이 필요하다.

Database Initialize

make db-initialize

Create log directory

mkdir /usr/local/icinga-web/pub
chown apache: /usr/local/icinga-web/pub

Change root passsword

make icinga-reset-password
make icinga-reset-password로 icinga-web의 "root" 사용자 계정의 디폴트 암호인 "password"를 다른 암호로 반드시 변경한다.

Connect WEB UI

http://<IP>/icinga-web

No comments:

Post a Comment