Sycros Monitoring

Sycros EMS

사전 작업 1: 사용자 생성, 그룹/보안 설정
# useradd -m -d /userdir/sycros sycros
# password 설정

# usermod -aG wheel sycros
# usermod -aG dba sycros
# usermod -aG wasgrp sycros
# chage -E -1 -M -1 sycros
사전 작업 2: visudo 편집
#주석제거
## Same thing without a password
%wheel  ALL=(ALL)       NOPASSWD: /usr/sbin/gabconfig,/usr/sbin/lltstat,/opt/VRTSvcs/bin/hastatus,/usr/sbin/vxdmpadm,/usr/sbin/ssacli
Weblogic : Server Process모니터링(Collector방식)
wls_server_java.sh
#! /bin/bash

# Weblogic Server VM Monitoring

cm=`ps -ef|grep -E "Dweblogic.Name=cm[0-9]{1,2}"|grep -v grep|wc -l`
cs=`ps -ef|grep -E "Dweblogic.Name=cs[0-9]{1,2}"|grep -v grep|wc -l`
ga=`ps -ef|grep -E "Dweblogic.Name=ga[0-9]{1,2}"|grep -v grep|wc -l`
ha=`ps -ef|grep -E "Dweblogic.Name=ha[0-9]{1,2}"|grep -v grep|wc -l`
me=`ps -ef|grep -E "Dweblogic.Name=me[0-9]{1,2}"|grep -v grep|wc -l`
pr=`ps -ef|grep -E "Dweblogic.Name=pr[0-9]{1,2}"|grep -v grep|wc -l`


echo "<RESULT><RESP STATUS='1' PNAME='cm'><VALUE>$cm</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='cs'><VALUE>$cs</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='ga'><VALUE>$ga</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='ha'><VALUE>$ha</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='me'><VALUE>$me</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='pr'><VALUE>$pr</VALUE></RESP></RESULT>"
Server Disk Check : ssacli
#!/bin/bash
  
sudo /usr/sbin/ssacli ctrl all show config > ssacli_result.txt

cn011=`cat /usr/local/sycros/custom/ssacli_result.txt|grep "physicaldrive"|awk '{ if(NR >=1 && NR<=1) print $0}'|grep "OK"|wc -l`
cn012=`cat /usr/local/sycros/custom/ssacli_result.txt|grep "physicaldrive"|awk '{ if(NR >=2 && NR<=2) print $0}'|grep "OK"|wc -l`


echo "<RESULT><RESP STATUS='1' PNAME='CN011_480GB'><VALUE>$cn011</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='CN012_480GB'><VALUE>$cn012</VALUE></RESP></RESULT>"
Server Bonding Check :
#!/bin/bash

# S = Slot Number
# P = Port Nmuber

# Bond0 Public Network Interface Check

S1P0=`cat /proc/net/bonding/bond0|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep '01p0.*up'|wc -l`
S6P0=`cat /proc/net/bonding/bond0|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep '06p0.*up'|wc -l`
bond0_sum=`cat /proc/net/bonding/bond0|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep 'up'|wc -l`

# Bond1 Oracle InterConnect Interface Check

S4P1=`cat /proc/net/bonding/bond1|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep '4p1.*up'|wc -l`
S6P1=`cat /proc/net/bonding/bond1|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep '6p1.*up'|wc -l`
bond1_sum=`cat /proc/net/bonding/bond1|grep  -A 1 'Slave Interface'|awk '/Slave/,/MII/'|awk 'NR%2{printf "%s ",$0;next;}1'|grep 'up'|wc -l`

echo "<RESULT><RESP STATUS='1' PNAME='bond0-r001u01p0i01p0'><VALUE>$S1P0</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='bond0-r001u01p1i06p0'><VALUE>$S6P0</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='bond1-r001u01p1i04p1'><VALUE>$S4P1</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='bond1-r001u01p1i06p1'><VALUE>$S6P1</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='bond0'><VALUE>$bond0_sum</VALUE></RESP>"
echo "<RESP STATUS='1' PNAME='bond1'><VALUE>$bond1_sum</VALUE></RESP></RESULT>"

답글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다