zoukankan      html  css  js  c++  java
  • zabbix自定义模板监控oracle

    zabbix服务器端安装:zabbix-3.2.6.tar.gz
    zabbix client端安装:zabbix-agent-3.2.6-1.x86_64.rpm

    1.首先必须在目标机器安装zabbix-agent 

    [root@prod02 ~]# cd /opt/source

    [root@prod02 ~]#ls

    zabbix-agent-3.2.6-1.x86_64.rpm

    [root@prod02 ~]#rpm -ivh zabbix-agent-3.2.6-1.x86_64.rpm

     

    [root@prod02 ~]# /etc/init.d/zabbix_agentd status
    ● zabbix_agentd.service - SYSV: Starts and stops Zabbix Agent using chkconfig
    Loaded: loaded (/etc/rc.d/init.d/zabbix_agentd; bad; vendor preset: disabled)
    Active: active (running) since Thu 2018-07-12 10:11:14 CST; 1 months 22 days ago
    Docs: man:systemd-sysv-generator(8)
    CGroup: /system.slice/zabbix_agentd.service
    ├─791 /opt/zabbix/sbin/zabbix_agentd
    ├─796 /opt/zabbix/sbin/zabbix_agentd: collector [idle 1 sec]
    ├─797 /opt/zabbix/sbin/zabbix_agentd: listener #1 [waiting for connection]
    ├─798 /opt/zabbix/sbin/zabbix_agentd: listener #2 [waiting for connection]
    ├─799 /opt/zabbix/sbin/zabbix_agentd: listener #3 [waiting for connection]
    └─800 /opt/zabbix/sbin/zabbix_agentd: active checks #1 [idle 1 sec]

    Jul 12 10:11:14 10-10-15-71 systemd[1]: Starting SYSV: Starts and stops Zabbix Agent using chkconfig...
    Jul 12 10:11:14 10-10-15-71 zabbix_agentd[754]: Starting zabbix_agentd: [ OK ]
    Jul 12 10:11:14 10-10-15-71 systemd[1]: Started SYSV: Starts and stops Zabbix Agent using chkconfig.

    [root@prod02 zabbix]# netstat -ntlp |grep zabbix  #zabbix客户端使用1050端口
    tcp 0 0 0.0.0.0:1050 0.0.0.0:* LISTEN 1615/zabbix_agentd

    [root@prod02 ~]# cd /opt/zabbix/
    [root@prod02 zabbix]# ll
    total 4
    drwxr-xr-x 2 zabbix zabbix 78 May 16 10:50 bin
    drwxr-xr-x 2 zabbix zabbix 48 May 16 10:50 etc
    drwxr-xr-x 2 zabbix zabbix 6 Jun 20 2017 lib
    drwxr-xr-x 2 zabbix zabbix 26 May 16 10:50 sbin
    drwxr-xr-x 2 zabbix zabbix 4096 May 16 10:50 scripts
    drwxr-xr-x 3 zabbix zabbix 16 May 16 10:50 share

    2.查看防火墙等配置,以及SELINUX策略等问题。

    [root@prod02 ]# cat /etc/selinux/config |grep SELINUX
    # SELINUX= can take one of these three values:
    SELINUX=disabled
    # SELINUXTYPE= can take one of three two values:
    SELINUXTYPE=targeted

    [root@prod02 ]#  systemctl status firewalld
    ● firewalld.service - firewalld - dynamic firewall daemon
    Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
    Active: inactive (dead)

    3.修改agent配置文件

    [root@prod02 ]#  cat /opt/zabbix/etc/zabbix_agentd.conf
    PidFile=/var/run/zabbix_agentd.pid
    LogFile=/var/log/zabbix_agentd.log
    ListenPort=1050 #zabbix客户端端口号
    EnableRemoteCommands=1
    LogRemoteCommands=1
    Server=100.150.10.10 #zabbix服务器地址
    ServerActive=100.150.10.10:1051 #zabbix服务器地址及端口号
    HostnameItem=system.hostname
    Timeout=30
    AllowRoot=1
    DebugLevel=4
    LogFileSize=128
    Include=/opt/zabbix/etc/extra.conf
    UnsafeUserParameters=1
    UserParameter=findsock[*],/opt/zabbix/scripts/findsock.sh $1
    UserParameter=net.tcp.listen.grep[*],grep -q $$(printf '%04X.00000000:0000.0A' $1) /proc/net/tcp && echo 1 || echo 0
    UserParameter=net.tcp6.listen.grep[*], ss -nlt| grep "<$1>" >/dev/null && echo 1 || echo 0
    UserParameter=finddisks,/opt/zabbix/scripts/finddisks.sh
    UserParameter=disproc,/opt/zabbix/scripts/disproc.sh
    UserParameter=disraid,/opt/zabbix/scripts/disraid.sh
    UserParameter=raid,/opt/zabbix/scripts/checkraid.sh
    UserParameter=iostats[*],/opt/zabbix/scripts/iostats.sh $1
    UserParameter=bond[*],/usr/sbin/ethtool $1 | awk -F ":" '/Speed/ {print $NF}'|sed 's/Mb.*$//g'
    LogFileSize=128
    [root@prod02 zabbix]# cat etc/extra.conf
    #jmx
    UserParameter=jmx.scan.tomcat[*],cat /opt/apache-tomcat/jmx.json
    UserParameter=jmx.scan.tomcat2[*],cat /opt/apache-tomcat-2/jmx.json
    UserParameter=jmx.tomcat[*],/opt/zabbix/scripts/jmx_status.sh $1 $2 $3 $4
    UserParameter=jmx.tomcat2[*],/opt/zabbix/scripts/jmx_status.sh $1 $2 $3 $4

    UserParameter=mysql[*],/opt/zabbix/scripts/mysql.sh $1
    UserParameter=nginx[*],/opt/zabbix/scripts/nginx.sh $1
    UserParameter=performance,/opt/zabbix/scripts/performance.sh
    UserParameter=redis.info[*],/opt/zabbix/scripts/redis.sh $1

    4.编写oracle client机器上的可执行脚本
    [root@prod02 ~]#cd /opt/zabbix/scripts/
    [root@prod02 ~]#vi oracle_status.sh
    以监控oracle脚本的运行状态为例
    #!/bin/bash
    function active() {
    ps -ef | grep pmon | grep -v grep | awk '{print $NF}' > /dev/null
    if [ $? -eq 0 ]; then
    echo 1
    else
    echo 0
    fi
    }
    if [ $# -ne 1 ]; then
    echo "the args is error."
    else
    $1
    fi
    [root@prod02 ~]#chmod u+x oracle_status.sh

    在目标机器上执行对应脚本
    [root@prod02 ~]# cd /opt/zabbix/scripts/
    [root@prod02 scripts]# ./oracle_status.sh active
    1

    参数为active,编辑zabbix_agentd.conf ,添加下列条目:

    [root@prod02 ~]#UserParameter=oracle_status[*],/usr/local/zabbix/script/oracle_status.sh $1

    重启zabbix_agented
    [root@prod02 ~]#/etc/init.d/zabbix_agentd restart

    5,zabbix服务器机器获取脚本数据,可使用zabbix-get
    [root@server bin]# ./zabbix_get -s 100.10.93.18 -p 1050 -k "oracle_status[active]"
    1

    100.10.93.18 为zabbix client机器
    到这一步证明zabbix-service已经获取到目标机器数据

    6.在zabbix服务器的web配置,添加监控项

    配置-->主机-->监控项-->创建监控项

    名称:oracle_status 键值:oracle_status[active] 主机接口:client地址及端口

    7:添加图形

    配置-->主机-->图形

    添加监控项

     8.添加触发器

    9.查看最新数据的监控项

     

  • 相关阅读:
    android签名文件(.keystore)
    server2008部署网狐荣耀遇到的问题
    网关详解
    服务端架构
    rest service下载文件与上传
    mysql 按类别之用一条SQL语句查询出每个班前10名学生数据
    windows mysql 和linux mysql解决乱码问题
    关于redis的安装
    收藏nginx学习
    linux在tomcat中指定jdk
  • 原文地址:https://www.cnblogs.com/elontian/p/9579577.html
Copyright © 2011-2022 走看看