记一次zabbix监控oracle

 

前期准备

1.CentOS7安装包-CentOS-7-x86_64-Everything-1611.iso

2.Oracle12c安装包-linuxx64_12201_database.zip

3.orabbix安装包-orabbix-1.2.3.zip 

4.jdk安装包-jdk-8u191-linux-x64.tar.gz

虚拟机安装Linux 

自行百度,安装完成后开机配置参数。

配置静态ip

1.# cd /etc/sysconfig/network-scripts

2.# ls

  3.# vi ifcfg-ens33        --不同的机器可能名字不一样

修改或者添加如下内容,GATEWAY 在本机命名行窗口 ipconfig 查看

记一次zabbix监控oracle_第1张图片

4.# vi /etc/selinux/config    --关闭selinux SELINUX=disabled

5.# setenforce 0

6.# systemctl stop firewalld.service                -- 关闭防火墙

   # systemctl disable firewalld.service           -- 开机禁止启动防火墙

7.安装mysql

  # yum -y install mariadb-server mariadb-devel

  # systemctl start mariadb.service

  # mysql

8.设置数据库密码

 -> use mysql

 -> update user set password=password('123456');

 -> flush privileges;

 -> quit

# mysql -uroot -p123456;

 -> create database zabbix character set utf8 collate utf8_bin;

 -> grant all privileges on zabbix.* to 'zabbix'@'%' identified by '123456';

 -> grant all privileges on zabbix.* to zabbix@localhost identified by '123456';

PS:这里增加两个zabbix用户是因为用zabbix用户远程连接zabbix时,会出现远程连接mysql的用户可以使用zabbix数据库,但是本机不能使用zabbix数据库,具体原因可能是创建用户授权语句有问题,后期有机会会排查原因所在。

 -> flush privileges;

 -> quit

完成后可以在本机和服务器用zabbix账户登陆,查看是否显示zabbix数据库。

9.安装zabbix

# rpm -i https://repo.zabbix.com/zabbix/2.2/rhel/7/x86_64/zabbix-release-2.2-1.el7.noarch.rpm

# yum install zabbix-server-mysql zabbix-web-mysql zabbix-agent

# zcat /usr/share/doc/zabbix-server-mysql*/create.sql.gz | mysql -uzabbix -p zabbix      -- 此步骤会提示输入数据库密码,密码为zabbix用户的密码,但是可能执行不成功,原因是没有 create.sql.gz 文件。解决办法是进入到/usr/share/doc/zabbix-server-mysql*/create文件夹,手动导入 schema.sql、data.sql文件,远程连接的客户端可以先导入这两个文件,然后把当前的数据库导出,上传到服务器后,在create文件夹执行 # mysql -uroot -p zabbix -> 导出文件名.sql

# vi /etc/zabbix/zabbix_server.conf

    DBPassword=123456        -- DBPassword设置为zabbix用户的密码

# vi /etc/httpd/conf.d/zabbix.conf

    php_value date.timezone Asia/Shanghai        -- 修改默认时区为Asia/Shanghai

# systemctl restart zabbix-server zabbix-agent httpd

# systemctl enable zabbix-server zabbix-agent httpd

# systemctl start mariadb

# systemctl enable mariadb

10.启动zabbix

http://server_ip_or_name/zabbix

PS:如果数据库地址更改,则需要修改配置文件

# vi /etc/zabbix/web/zabbix.conf.php

    $DB['SERVER']    =    'NEW IPADDR'

# systemctl  restart httpd

如果Zabbix server is running显示Yes,则zabbix server启动成功。下一步安装oracle。

Oracle安装

前期准备:

  如果未安装GNOME环境,则运行以下命令

   # yum -y install gnome-classic-session gnome-terminal nautilus-open-terminal control-center liberation-mono-fonts

   # yum -y groupinstall "X Window System"

Oracle安装需要较大的存储空间,建议分配30GB。

1.修改域名和主机名 

# vi /etc/sysconfig/network

# vi /etc/hosts

 

2.安装依赖软件包

yum -y install binutils compat-libcap1 gcc gcc-c++ glibc

glibc-devel ksh libaio libaio-devel libgcc libstdc++

libstdc++-devel libXi libXtst make sysstat elfutils-libelf-devel

compat-libstdc++-33*      -- 这些命令可能是一条命令

3.修改内核参数

# vi /etc/sysctl.conf

fs.aio-max-nr = 1048576
fs.file-max = 6815744
kernel.shmall = 2097152
kernel.shmmax = 4098955264
kernel.shmmni = 4096
kernel.sem = 250 32000 100 128
net.core.wmem_default = 262144
net.core.rmem_default = 262144
net.ipv4.ip_local_port_range = 9000 65500
net.core.rmem_max = 4194304
net.core.wmem_max = 1048576

4.创建用户和组

4.1 创建基本组和附加组 

# groupadd -g 500 oinstall

# groupadd -g 501 dba 

4.2 创建用户

# useradd -g oinstall -G dba oracle

4.3 给用户设置密码

# echo "123456" | passwd --stdin oracle

 4.4 创建oracle家目录和创建oraInventory目录

mkdir -p /home/oracle/app/oracle 

mkdir /home/oracle/app/oraInventory

4.5 更改属主和属组 

# chown oracle:oinstall /home/oracle/app/oracle 

# chown oracle:oinstall /home/oracle/app/oraInventory

4.6 更改Oracle目录权限

# chmod 775 /home/oracle/app/oracle

4.7 编辑Oracle环境变量

# vi /home/oracle/.bash_profile

末尾添加如下内容ORACLE_HOME路径可能与oracle安装时路径不一致

umask 022
export ORACLE_BASE=/home/oracle/app/oracle
export ORACLE_HOME=$ORACLE_BASE/product/12.2.0/dbhome_1
export ORACLE_SID=orcl
export LANG=en_US.UTF-8
export NLS_LANG="AMERICAN_AMERICA".ZHS16GBK
export PATH=$PATH:$ORACLE_HOME/bin
export DISPLAY=192.168.1.124:0.0

保存后退出执行

# source /home/oracle/.bash_profile

此处可能会出现一个问题。oracle安装成功后,执行sqlplus命令会提示 bash: sqlplus: command not found 。此时先检查.bash_profile文件中路径是否正确,如果路径正确那就是.bash_profile配置的环境变量是属于oracle用户的,在非oracle用户使用时,由于/etc/profile或者/etc/bashrc没有配置环境变量,解决办法就是在这两个文件中加入上述内容。

/etc/profile:此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行.并从/etc/profile.d目录的配置文件中搜集shell的设置.
/etc/bashrc:为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取.
~/.bash_profile:每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次!默认情况下,他设置一些环境变量,执行用户的.bashrc文件.
~/.bashrc:该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取.

 

具体参考:https://www.cnblogs.com/VIPler/p/6838151.html

4.8 编辑Oracle安全认证模块

# vi /etc/pam.d/login

末尾加入以下内容 

session required /lib64/security/pam_limits.so
session required pam_limits.so

4.9 编辑Oracle资源限制

# vi /etc/security/limits.conf

#End of file --文件末尾加入

oracle soft nproc 2047
oracle hard nproc 16384
oracle soft nofile 1024
oracle hard nofile 65536
oracle soft stack 10240

4.10 编辑全局环境变量

# vi /etc/profile

if [ $USER = "oracle" ];then
    if [ $SHELL = "/bin/ksh" ];then
        ulimit -p 16384
        ulimit -p 65536
    else
        ulimit -u 16384 -n 65536
    fi
fi

 5.安装Oracle数据库

5.1 上传oracle软件包至 /home/oracle

5.2 将oracle家目录的软件包属主和属组改为oracle和oinstall

# chown oracle:oinstall /home/oracle/linuxx64_12201_database

5.3 切换为oracle用户

# su oracle

5.4 解压软件包

# unzip linuxx64_12201_database

PS:如果未找到unzip命令,则执行 # yum install unzip 安装unzip插件

5.5 真机启动GNOME桌面环境,并且切换至oracle用户

PS:不知道什么原因,用oracle用户登陆GNOME桌面,会一直黑屏,解决办法就是新建一个用户,并赋予root权限

# adduser tommy  //添加一个名为tommy的用户
# passwd tommy   //修改密码

    Changing password for user tommy.
    New UNIX password:     //在这里输入新密码
    Retype new UNIX password:  //再次输入新密码
    passwd: all authentication tokens updated successfully.

# vi /etc/sudoers    //修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:

    ## Allow root to run any commands anywhere
    root    ALL=(ALL)     ALL
    tommy   ALL=(ALL)     ALL

# systemctl set-default multi-user.target     //设置成命令模式

# systemctl set-default graphical.target      //设置成图形模式

重启系统 # reboot

用有root权限的用户登陆可视化界面,并且在命令行切换至oracle用户 # su oracle

5.6 执行安装脚本

# ./database/runInstaller

5.7 安装需要注意的选项

初试页面不接受更新 -> 创建和配置数据库 -> 服务器类 -> 单实例数据库安装 -> 高级安装 -> 企业版 -> 默认安装路径(需要注意是否与上面配置的环境变量路径一致) -> 一般用途/事务处理 -> 指定Oracel全局数据库名和服务标识符为:orcl(勾选选项) -> 在内存页中勾选启用自动内存管理,在字符集页中选择使用Unicode(AL3....) -> 使用默认选择的File system数据库系统即可 -> 不使用集中云控制管理 -> 选择开启恢复区域存储,默认路径即可 -> 选择第二个使用同一密码,也可以为不同用户设置不同密码 -> 设置数据库管理员组dba,数据库操作组oinstall -> 若提示有错误,是因为安装软件包的版本不一样或内核参数有问题或少依赖软件,需要解决报错,也可以勾选选择忽略 -> 开始安装过程,安装过程中会需要执行两个shell脚本,第二个shell脚本需要两次输入,均直接回车键使用默认值(用root用户执行)

5.8 网页测试

https://(主机名或者IP):5500/em

安装orabbix

1.使用oracle管理员登陆数据库

# sqlplus sys/PASSWORD as sysdba

PS:如果需要启动oracle,执行以下命令

# su oracle

$ lsnrctl start

$ lsnrctl status

SQL> conn /as sysdba

    Connected to an idle instance.

SQL> startup

创建用户

-> CREATE USER ZABBIX IDENTIFIED BY ZABBIX DEFAULT TABLESPACE SYSTEM TEMPORARY TABLESPACE TEMP PROFILE DEFAULT ACCOUNT UNLOCK;

此命令可能执行不成功,原因可能是11g与12c语法不同,但是没有深究。执行 -> alter session set "_ORACLE_SCRIPT"=true;但是实际生产环境不建议使用。

授予权限

-> GRANT CONNECT TO ZABBIX;

-> GRANT RESOURCE TO ZABBIX;

-> ALTER USER ZABBIX DEFAULT ROLE ALL;

-> GRANT SELECT ANY TABLE TO ZABBIX;

-> GRANT CREATE SESSION TO ZABBIX;

-> GRANT SELECT ANY DICTIONARY TO ZABBIX;

-> GRANT UNLIMITED TABLESPACE TO ZABBIX;

-> GRANT SELECT ANY DICTIONARY TO ZABBIX;

如果当前的oracle版本是11g的话,还需要添加如下的语句开放acl的访问控制,否则在监控的过程中有部份内容无法正常显示(例于数据库版本,数据库文件大小等)。

-> exec dbms_network_acl_admin.create_acl(acl => 'resolve.xml',description => 'resolve acl', principal =>'ZABBIX', is_grant => true, privilege => 'resolve');

-> exec dbms_network_acl_admin.assign_acl(acl => 'resolve.xml', host =>'*');

-> commit;

授权完成后可以使用zabbix用户登录测试下:

# sqlplus ZABBIX/ZABBIX

2. 上传orabbix安装包,创建目录

# mkdir /opt/orabbix/

# cd /opt/orabbix/

# unzip orabbix-1.2.3.zip

3.得到配置文件/opt/orabbix/conf/config.props

# cp /opt/orabbix/conf/config.props.sample /opt/orabbix/conf/config.props

4.修改配置文件

# vi /opt/orabbix/conf/config.props

#comma separed list of Zabbix servers
ZabbixServerList=ZabbixServer1

ZabbixServer1.Address=192.168.1.124
ZabbixServer1.Port=10051

#pidFile
OrabbixDaemon.PidFile=./logs/orabbix.pid
#frequency of item's refresh
OrabbixDaemon.Sleep=300
#MaxThreadNumber should be >= than the number of your databases
OrabbixDaemon.MaxThreadNumber=100

#put here your databases in a comma separated list
DatabaseList=orcl                             //DatabaseList的值未HOSTNAME配置的值,具体查看 # vi /etc/sysconfig/network

#Configuration of Connection pool
#if not specified Orabbis is going to use default values (hardcoded)
#Maximum number of active connection inside pool
DatabaseList.MaxActive=10
#The maximum number of milliseconds that the pool will wait
#(when there are no available connections) for a connection to be returned
#before throwing an exception, or <= 0 to wait indefinitely.
DatabaseList.MaxWait=100
DatabaseList.MaxIdle=1

#define here your connection string for each database
orcl.Url=jdbc:oracle:thin:@192.168.1.124:1521:orcl            //此处orcl为数据库实例
orcl.User=ZABBIX
orcl.Password=ZABBIX
#Those values are optionals if not specified Orabbix is going to use the general values
orcl.MaxActive=10
orcl.MaxWait=100
orcl.MaxIdle=1
orcl.QueryListFile=./conf/query.props

查看数据库实例可使用以下命令

-> select instance_name from v$instance;       //查看实例名

-> select global_name from global_name;       //查看服务名

5.将启动脚本拷贝到/etc/init.d/目录中,并且授予相关文件的可执行权限

# cp /opt/orabbix/init.d/orabbix /etc/init.d/

# chmod +x /etc/init.d/orabbix /opt/orabbix/run.sh

6.启动orabbix

# /etc/init.d/orabbix start

# vim /opt/orabbix/logs/orabbix.log       //查看启动日志

7.查看服务端口

# netstat -anutlp | grep orabbix

 8.导入orabbix的模板文件

/opt/orabbix/template 目录下,Orabbix_export_full.xml   Orabbix_export_graphs.xml   Orabbix_export_items.xml   Orabbix_export_triggers.xml 文件

记一次zabbix监控oracle_第2张图片

 9.新建主机加入模板

记一次zabbix监控oracle_第3张图片

记一次zabbix监控oracle_第4张图片

记一次zabbix监控oracle_第5张图片

你可能感兴趣的:(zabbix)