Icingaweb2监控oracle数据库的安装配置流程

时间:2022-12-16 18:12:28

Icinga2安装配置check_oracle_health流程

1.安装

由于check_oracle_health是使用perl语言编写的,因此在安装该插件之前,首先要安装oracle的客户端实例,分别是basic,sqlplus,sdk包括perl的oracle插件(DBI和DBD)。

第一步: 下载Oracle Instant Client

Oracle Instant Client的主页在http://www.oracle.com/technology/tech/oci/instantclient/index.html;同一软件按配置分成了不同的可下载包,让用户可以按照自己的需求,找到最合适的部分下载。要成功配置DBD::Oracle, 需要instantclient-basic-xxx,instantclient-sdk-xxx,instantclient-sqlplus-xxx这三个文件,可以下载zip包或者rpm包,zip包的话使用unzip命令在当前目录解压这三个zip文件,会自动生成instantclient_xxx目录,这里面包含了以上三个包里面的所有文件。

这时候这三个zip文件已经没用,可以删之,也可备份供以后重用。

第二步:安装DBI

wget  http://search.cpan.org/CPAN/authors/id/T/TI/TIMB/DBI-1.609.tar.gz

tar  zxvf  DBI-1.609.tar.gz

cd  DBI-1.609

perl  Makefile.PL

make all

make install

第三步:安装DBD

wget http://mirrors.neusoft.edu.cn/cpan/authors/id/P/PY/PYTHIAN/DBD-Oracle-1.52.tar.gz
tar zxvf DBD-Oracle-1.52.tar.gz 
cd DBD-Oracle-1.52
perl Makefile.PL

此时会遇到错误:

解决方法是配置相应的环境变量:

export ORACLE_HOME=/usr/lib/oracle/11.2/client64

注:此路径为安装的instance所在目录

export
PATH=$ORACLE_HOME/bin:$PATH;

export
LD_LIBRARY_PATH=$ORACLE_HOME/lib:/lib:/usr/lib;
再执行perl Makefile.PL就可以了
make 
make
install

第四步:安装check_oracle_health

wget http://labs.consol.de/wp-content/uploads/2009/09/check_oracle_health-1.6.3.tar.gz

tar
zxvf check_oracle_health-1.6.3.tar.gz

cd
check_oracle_health-1.6.3

./configure
--prefix=/usr/lib/nagios/plugins --with-nagios-user=nagios
--with-nagios-group=nagios --with-mymodules-dir=/usr/lib/nagios/plugins/libexec
--with-mymodules-dyn-dir=/usr/lib/nagios/plugins/libexec

make
all

make
install

安装完毕后,进入libexec目录下查看已经有这个插件了。

在此目录下打开终端,运行插件相应的命令,观察是否能够正常执行,返回相应的结果。

2.配置

Icinga2的配置文件与icinga1有很大不同,icinga1的配置文件均在object目录下,分别是hosts.cfg,commands.cfg和services.cfg。但是icinga2的配置文件分为两部分,一部分在/etc/icinga2/conf.d目录下的hosts.conf和services.conf文件,另一部分是位于/usr/share/icinga2/include目录下的command-plugins.conf文件。这三个文件与icinga1的文件的对应关系为

Icinga1                                                  icinga2

hosts.cfg             < ————— >     hosts.conf

services.cfg        < —————
>     services.conf

commands.cfg    < ————— >    command-plugins.conf

具体配置示例:

host.conf文件配置:

添加主机:

object
Host "Host_Name" {

import "generic-host"

address = "the host’s IP"

}

command-plugins.conf文件配置:

添加命令:

object
CheckCommand " Custom Command " {

import
"plugin-check-command"

command = [ PluginDir + " /<file
name stored in plugin directory> " ]

/*define all require arguments*/

arguments
= {

"--connect"="$connection$"

"--username"="$user_name$"

"--password"="$pwd$"

"--mode"="$Mode$"

"--warning"="$W_ARG$"

"--critical"="$C_ARG$"

}

       vars.connection = "the host’s hostname or address
you want to connect"

vars.user_name
= "user name"

vars.pwd
= "password"

}

services.conf文件配置:

添加服务:

apply Service "Service Description" {

import
"generic-service"

check_command
= "Custom Command"

vars.Mode
= "select mode you want to Monitor "

vars.W_ARG
= beyond parameter1 cause Warning

vars.C_ARG
= beyond parameter2 cause Critical

assign where
host.name == " Host_Name "

}

把相应的主机,命令和服务都配好后,

重启icnga2:systemctl restart icinga2

打开浏览器,输入:http://localhost/icingaweb2/

登录icingaweb2监控页查看相关的监控信息。

至此,配置完成。