您的位置:首页 > 数据库 > Oracle

开源监控解决方案:zabbix 监控oracle database(一)

2018-09-11 09:50 1361 查看
https://github.com/netrusov/ZabbixDBA

[root@amb01 ~]# unzip ZabbixDBA-master.zip
[root@amb01 ~]# mkdir /opt/zdba
[root@amb01 ~]# cp -r ZabbixDBA-master/* /opt/zdba

[root@amb01 ~]# cd /opt/zdba
[root@amb01 zdba]# cp init.d/zdba /etc/init.d/
[root@amb01 zdba]# chmod 755 /etc/init.d/zdba
[root@amb01 zdba]# chkconfig --add zdba

[root@amb01 ~]# su - oracle
[oracle@amb01 ~]$ sqlplus / as sysdba
SQL> create user zabbix identified by zabbix default tablespace system temporary tablespace temp profile default account unlock;
SQL> grant connect to zabbix;
SQL> grant resource to zabbix;
SQL> alter user zabbix default role all;
SQL> grant select any table to zabbix;
SQL> grant create session to zabbix;
SQL> grant select any dictionary to zabbix;
SQL> grant unlimited tablespace to zabbix;
SQL> grant select any dictionary to zabbix;
SQL> grant select on v_$session to zabbix;
SQL> grant select on v_$system_event to zabbix;
SQL> grant select on v_$event_name to zabbix;
SQL> grant select on v_$recovery_file_dest to zabbix;

[root@amb01 zdba]# vi conf/config.pl
{
zabbix => {
host    => '192.168.40.35',
port    => 10051,
timeout => 30,
},
daemon => {
sleep      => 60,
split_logs => 1
},
db => {
default => {
user       => 'zabbix',
pass       => 'zabbix',
query_list => 'query.props.pl',
sleep      => 60,
retry_step => 1,
},
list   => [qw|ambdb01|],
ambdb01 => {
dsn        => 'DBI:Oracle:host=192.168.40.41;port=1521;sid=amb01',
query_list => [qw|query.props.pl|],
sleep      => 60,
},
},
}

安装perl模块
[root@amb01 zdba]# cat cpanfile
requires "Carp" => "0";
requires "Data::Dumper" => "0";
requires "DBI" => "0";
requires "English" => "0";
requires "FindBin" => "0";
requires "forks" => "0";
requir
5b4
es "IO::Socket::INET" => "0";
requires "JSON" => "0";
requires "Log::Any::Adapter::Log4perl" => "0";
requires "Log::Log4perl" => "0";
requires "Moo" => "0";
requires "perl" => "5.010";
requires "strict" => "0";
requires "Time::HiRes" => "0";
requires "warnings" => "0";
 https://metacpan.org 
[root@amb01 ~]# tar zxvf Carp-1.50.tar.gz
[root@amb01 ~]# cd Carp-1.50
[root@amb01 Carp-1.50]# perl Makefile.PL
[root@amb01 Carp-1.50]# make
[root@amb01 Carp-1.50]# make install

[root@amb01 ~]# tar zxvf Data-Dumper-2.161.tar.gz
[root@amb01 ~]# cd Data-Dumper-2.161
[root@amb01 Data-Dumper-2.161]# perl Makefile.PL
[root@amb01 Data-Dumper-2.161]# make
[root@amb01 Data-Dumper-2.161]# make install

[root@amb01 ~]# tar zxvf DBI-1.637.tar.gz
[root@amb01 ~]# cd DBI-1.637
[root@amb01 DBI-1.637]# perl Makefile.PL
[root@amb01 DBI-1.637]# make
[root@amb01 DBI-1.637]# make install

[root
4a0c
@amb01 ~]# tar zxvf forks-0.36.tar.gz
[root@amb01 ~]# cd forks-0.36
[root@amb01 forks-0.36]# perl Makefile.PL
[root@amb01 forks-0.36]# make
[root@amb01 forks-0.36]# make install

[root@amb01 ~]# tar zxvf IO-1.39.tar.gz
[root@amb01 ~]# cd IO-1.39
[root@amb01 IO-1.39]# perl Makefile.PL
[root@amb01 IO-1.39]# make
[root@amb01 IO-1.39]# make install

[root@amb01 ~]# tar zxvf JSON-2.97001.tar.gz
[root@amb01 ~]# cd JSON-2.97001
[root@amb01 JSON-2.97001]# perl Makefile.PL
[root@amb01 JSON-2.97001]# make
[root@amb01 JSON-2.97001]# make install

[root@amb01 ~]# tar zxvf Log-Any-Adapter-Log4perl-0.09.tar.gz
[root@amb01 ~]# cd Log-Any-Adapter-Log4perl-0.09
[root@amb01 Log-Any-Adapter-Log4perl-0.09]# perl Makefile.PL
[root@amb01 Log-Any-Adapter-Log4perl-0.09]# make
[root@amb01 Log-Any-Adapter-Log4perl-0.09]# make install

[root@amb01 ~]# tar zxvf Log-Log4perl-1.49.tar.gz
[root@amb01 ~]# cd Log-Log4perl-1.49
[root@amb01 Log-Log4perl-1.49]# perl Makefile.PL
[root@amb01 Log-Log4perl-1.49]# make
[root@amb01 Log-Log4perl-1.49]# make install

[root@amb01 ~]# tar zxvf Module-Runtime-0.016.tar.gz
[root@amb01 ~]# cd Module-Runtime-0.016
[root@amb01 Module-Runtime-0.016]# perl Makefile.PL
[root@amb01 Module-Runtime-0.016]# make
[root@amb01 Module-Runtime-0.016]# make install

[root@amb01 ~]# tar zxvf Moo-2.003004.tar.gz
[root@amb01 ~]# cd Moo-2.003004
[root@amb01 Moo-2.003004]# perl Makefile.PL
[root@amb01 Moo-2.003004]# make
[root@amb01 Moo-2.003004]# make install

[root@amb01 ~]# tar zxvf Time-HiRes-1.9758.tar.gz
[root@amb01 ~]# cd Time-HiRes-1.9758
[root@amb01 Time-HiRes-1.9758]# perl Makefile.PL
[root@amb01 Time-HiRes-1.9758]# make
[root@amb01 Time-HiRes-1.9758]# make install

[root@amb01 ~]# tar zxvf List-MoreUtils-0.428.tar.gz
[root@amb01 ~]# cd List-MoreUtils-0.428
[root@amb01 List-MoreUtils-0.428]# perl Makefile.PL
[root@amb01 List-MoreUtils-0.428]# make
[root@amb01 List-MoreUtils-0.428]# make install

[root@amb01 ~]# tar zxvf Exporter-Tiny-1.002001.tar.gz
[root@amb01 ~]# cd Exporter-Tiny-1.002001
[root@amb01 Exporter-Tiny-1.002001]# perl Makefile.PL
[root@amb01 Exporter-Tiny-1.002001]# make
[root@amb01 Exporter-Tiny-1.002001]# make install

[root@amb01 ~]# tar zxvf Sys-SigAction-0.23.tar.gz
[root@amb01 ~]# cd Sys-SigAction-0.23
[root@amb01 Sys-SigAction-0.23]# perl Makefile.PL
[root@amb01 Sys-SigAction-0.23]# make
[root@amb01 Sys-SigAction-0.23]# make install

[root@amb01 ~]# tar zxvf Acme-Damn-0.08.tar.gz
[root@amb01 ~]# cd Acme-Damn-0.08
[root@amb01 Acme-Damn-0.08]# perl Makefile.PL
[root@amb01 Acme-Damn-0.08]# make
[root@amb01 Acme-Damn-0.08]# make insall

[root@amb01 ~]# rpm -ivh oracle-instantclient11.2-basic-11.2.0.4.0-1.x86_64.rpm
[root@amb01 ~]# rpm -ivh oracle-instantclient11.2-devel-11.2.0.4.0-1.x86_64.rpm
[root@amb01 ~]# rpm -ivh oracle-instantclient11.2-sqlplus-11.2.0.4.0-1.x86_64.rpm

[root@amb01 ~]# vim /root/.bash_profile
export ORACLE_HOME=/usr/lib/oracle/11.2/client64
export PATH=$PATH:$ORACLE_HOME/bin
export LD_LIBRARY_PATH=$ORACLE_HOME/lib:/usr/lib:/usr/local/lib

[root@lepus ~]# source /root/.bash_profile

[root@amb01 ~]# tar zxvf DBD-Oracle-1.74.tar.gz
[root@amb01 ~]# cd DBD-Oracle-1.74
[root@amb01 DBD-Oracle-1.74]# perl Makefile.PL
[root@amb01 DBD-Oracle-1.74]# make
[root@amb01 DBD-Oracle-1.74]# make install

崩溃中......

[root@amb01 ~]# yum install -y perl-CPAN
[root@amb01 ~]# perl -MCPAN -e shell
cpan[1]> install Log::Any::Adapter
cpan[2]> install Devel::GlobalDestruction
cpan[3]> install Role::Tiny

[root@amb01 ~]# service zdba start
Starting ZabbixDBA service:  ZabbixDBA started

[root@amb01 ~]# cat /opt/zdba/log/zdba.log
[2018/09/11 10:04:16][INFO ] [27] starting ZabbixDBA (version 3.2.0)
[2018/09/11 10:04:16][INFO ] [53] starting thread for database 'ambdb01'

[root@amb01 ~]# cat /opt/zdba/log/ambdb01.log
[2018/09/11 10:04:16][INFO ] [ZDBA::monitor:50] starting monitoring of 'ambdb01'
[2018/09/11 10:04:16][INFO ] [ZDBA::DBIx::connect:47] connected to 'DBI:Oracle:host=192.168.40.41;port=1521;sid=amb01'
[2018/09/11 10:04:20][INFO ] [ZDBA::monitor:151] completed fetching data on 'ambdb01' (elapsed 4e-06)

Zabbix Server
一,导入模板
二,创建主机并关联模板
三,大功告成
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  zabix perl oracle database