ndm agent 추가

This commit is contained in:
ByeonJungHun
2024-03-19 16:10:20 +09:00
parent 90987a8db6
commit 25ea47dbe5
24 changed files with 926 additions and 13 deletions

View File

@@ -11,4 +11,5 @@
#RECEIVER_CONTAINER_PORT: 9009
# port 설정이 필요할 경우 위 주석을 해제하고 설정
# RECEIVER_PORT 와 RECEIVER_CONTAINER_PORT 같은 경우 변수를 설정하지 않을 경우 default 값으로 각각 9010 , 9009 으로 설정 됨
agent_list: ['host-agent', 'container-agent']
#agent_list: ['host-agent', 'container-agent']
agent_list: ['ndm-agent']

View File

@@ -3,8 +3,8 @@ host_agent
container_agent
[host_agent]
10.10.54.150
10.10.54.105
[container_agent]
10.10.54.105
[ndm_agent]
10.10.54.151

Binary file not shown.

View File

@@ -0,0 +1,53 @@
#!/bin/sh
INTERVAL=3
if [ -n "$1" ];then
INTERVAL="$1"
fi
PROCESS_NAME="exem-ndm-agent"
HEAD=`ps -eo user,pid,pcpu,pmem,rss,sz,size,vsize,cmd | sed -n '1p'`
echo " ${HEAD}"
PEAK=0
while :
do
CUR_DATE=`date +%d' '%H:%M:%S`
PROCESS_PID=`ps -ef | grep -v grep | grep -v vi | grep -v tail | grep -v ctl | grep -v svc | grep ${PROCESS_NAME} | awk -F' ' '{print $2}'`
if [ -n "${PROCESS_PID}" ];then
RESULT=`ps -p ${PROCESS_PID} -o user,pid,pcpu,pmem,rss,sz,size,vsize,cmd --no-heading`
RSS=`echo ${RESULT} | awk -F' ' '{print $5}'`
if [ ${RSS} -gt ${PEAK} ];then
OUT_PEAK=" PEAK:${PEAK}/${RSS}"
PEAK=${RSS}
PEAK_STAT="peak"
else
OUT_PEAK=" PEAK:${PEAK}"
PEAK_STAT=""
fi
echo "${CUR_DATE} ${RESULT}${OUT_PEAK}"
if [ -n "${PEAK_STAT}" ];then
echo "${CUR_DATE} ${RESULT}${OUT_PEAK}" >> peak.log
fi
else
echo "${CUR_DATE} ${PROCESS_NAME} is not running."
PEAK=0
fi
sleep ${INTERVAL}
done

View File

@@ -0,0 +1,69 @@
[ndm-agent]
directory = ${EXEM_NDM_HOME}/log
filename = ndm-agent.log
output_type = stdout,file
#file_permission = <permission>
#xmlogger_ip = <xmlogger ip>
#xmlogger_port = <xmlogger port>
level = info
include_us_in_time = true
header_flag = time,pid,thread_id,level
#limit_file_size = <megabyte>
#backup_directory = <backup directory>
backup_file_count = 10
[syslog]
directory = ${EXEM_NDM_HOME}/log
filename = ndm-syslog.log
output_type = file
#file_permission = <permission>
#xmlogger_ip = <xmlogger ip>
#xmlogger_port = <xmlogger port>
level = info
include_us_in_time = true
header_flag = time
#limit_file_size = <megabyte>
#backup_directory = <backup directory>
#backup_file_count = <backup file count>
[syslog-dump]
directory = ${EXEM_NDM_HOME}/log/dump
filename = syslog.dump
output_type = file
#file_permission = <permission>
#xmlogger_ip = <xmlogger ip>
#xmlogger_port = <xmlogger port>
level = trace
include_us_in_time = true
header_flag = time
#limit_file_size = <megabyte>
#backup_directory = <backup directory>
#backup_file_count = <backup file count>
[snmp_trap]
directory = ${EXEM_NDM_HOME}/log
filename = ndm-snmptrap.log
output_type = file
#file_permission = <permission>
#xmlogger_ip = <xmlogger ip>
#xmlogger_port = <xmlogger port>
level = trace
include_us_in_time = true
header_flag = time
#limit_file_size = <megabyte>
#backup_directory = <backup directory>
#backup_file_count = <backup file count>
[snmp_trap-dump]
directory = ${EXEM_NDM_HOME}/log/dump
filename = snmptrap.dump
output_type = file
#file_permission = <permission>
#xmlogger_ip = <xmlogger ip>
#xmlogger_port = <xmlogger port>
level = trace
include_us_in_time = true
#header_flag = time,pid,level
#limit_file_size = 10
#backup_directory = <backup directory>
#backup_file_count = <backup file count>

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
#!/bin/sh
# /lib64/libcrypto.so.10 -> libcrypto.so.1.0.2k
ln -s libcrypto.so.1.0.2k libcrypto.so.10
# /lib64/libssl.so.10 -> libssl.so.1.0.2k
ln -s libssl.so.1.0.2k libssl.so.10

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

View File

@@ -0,0 +1,7 @@
#!/bin/sh
# /lib64/libcrypto.so.10 -> libcrypto.so.1.0.2k
ln -s libcrypto.so.1.0.2k libcrypto.so.10
# /lib64/libssl.so.10 -> libssl.so.1.0.2k
ln -s libssl.so.1.0.2k libssl.so.10

View File

@@ -11,3 +11,7 @@
- agent_list | select('search', 'container-agent') | list | count > 0
- "'container_agent' in group_names"
- include_tasks: ndm-agent.yml
when:
- agent_list | select('search', 'ndm-agent') | list | count > 0
- "'ndm_agent' in group_names"

View File

@@ -0,0 +1,37 @@
---
- name: Create exemONE Agent Directory
ansible.builtin.file:
path: "{{ EXEM_HOME }}"
state: directory
mode: '0755'
- name: Copy exemONE NDM-Agent File
ansible.posix.synchronize:
src: "{{ role_path }}/files/ndm"
dest: "{{ EXEM_HOME }}"
- name: Create Agent Script
ansible.builtin.template:
src: "{{ item }}.j2"
dest: "{{ EXEM_HOME }}/ndm/bin/{{ item }}"
mode: '0740'
with_items:
- ndm-ctl
- ndm-svc
- reg.env
- start
- stop
- name: Create Agent Conf
ansible.builtin.template:
src: "{{ item }}.j2"
dest: "{{ EXEM_HOME }}/ndm/conf/{{ item }}"
mode: '0755'
with_items:
- ndm.conf
- name: chmod change
ansible.builtin.shell: "chmod -R 740 {{ EXEM_HOME }}/ndm"
- name: exem-ndm-agent start
ansible.builtin.shell: "nohup {{ EXEM_HOME }}/ndm/bin/start"

View File

@@ -13,9 +13,7 @@
when: ansible_distribution_major_version == '7'
- name: install rsync os version 7
ansible.builtin.yum:
name: "{{ EXEM_HOME }}/rhel7.rpm"
state: present
ansible.builtin.shell: "yum localinstall -y {{ EXEM_HOME }}/rhel7.rpm"
when: ansible_distribution_major_version == '7'
- name: Copy rsync install rpm OS - 8
@@ -26,9 +24,7 @@
when: ansible_distribution_major_version == '8'
- name: install rsync os version 8
ansible.builtin.yum:
name: "{{ EXEM_HOME }}/rhel8.rpm"
state: present
ansible.builtin.shell: "yum localinstall -y {{ EXEM_HOME }}/rhel8.rpm"
when: ansible_distribution_major_version == '8'
- name: Copy rsync install rpm OS - 9
@@ -39,7 +35,5 @@
when: ansible_distribution_major_version == '9'
- name: install rsync os version 9
ansible.builtin.yum:
name: "{{ role_path }}/files/rpm/rhel9.rpm"
state: present
ansible.builtin.shell: "yum localinstall -y {{ EXEM_HOME }}/rhel9.rpm"
when: ansible_distribution_major_version == '9'

View File

@@ -0,0 +1,198 @@
#!/bin/sh
#EXEM_NDM_HOME="/{{ EXEM_HOME }}/ndm"
source /{{ EXEM_HOME }}/ndm/bin/reg.env
NDM_STOP_TIMEOUT=10
Usage()
{
echo "Usage : ndm-ctl [version|start|restart|stop]"
echo ""
exit $1
}
CMD_ARGUMENT=$@
BASE_NAME=`basename $0`
case "${BASE_NAME}" in
start)
CMD_ARGUMENT="start"
;;
stop)
CMD_ARGUMENT="stop"
;;
restart)
CMD_ARGUMENT="restart"
;;
version)
CMD_ARGUMENT="version"
;;
mongomonctl)
;;
*)
echo "unknown link. please check link name[$0]."
Usage 1
;;
esac
# option process
if [ -n "${CMD_ARGUMENT}" ];
then
for i in ${CMD_ARGUMENT}
do
# echo "$i"
case "$i" in
start)
ENV_RUN_MODE="start"
RUN_LIST="start"
;;
restart)
ENV_RUN_MODE="restart"
RUN_LIST="stop start"
;;
stop)
ENV_RUN_MODE="stop"
RUN_LIST="stop"
;;
version)
ENV_RUN_MODE="version"
RUN_LIST="version"
;;
help)
Usage 0
;;
*)
Usage 1
;;
esac
done
fi
if [ ! -d "${EXEM_NDM_HOME}" ];then
echo "agent home directory is not exist.[${EXEM_NDM_HOME}]"
exit 1
fi
cd ${EXEM_NDM_HOME} || exit 1
PROCESS_NAME="exem-ndm-agent"
SVC_FILE="ndm-svc"
SVC_PID_FILE="data/svc.pid"
AGENT_PID_FILE="data/ndm-agent.pid"
echo "${PROCESS_NAME} ${ENV_RUN_MODE} --- "
for MODE in ${RUN_LIST}; do
case "${MODE}" in
version)
bin/exem-ndm-agent -v
;;
start)
if [ -f "${SVC_PID_FILE}" ];then
SVC_PID=`cat ${SVC_PID_FILE}`
PROC_COMM=`cat /proc/${SVC_PID}/comm`
if [ $? -ne 0 ];then
PROC_COMM="none"
fi
if [ "${PROC_COMM}" = "${SVC_FILE}" ];then
echo "${PROCESS_NAME} is running."
exit 1
fi
rm -rf ${SVC_PID_FILE}
fi
if [ ! -f "bin/${SVC_FILE}" ];then
echo "bin/${SVC_FILE} is not exist."
exit 2
fi
bin/${SVC_FILE} >> ${EXEM_NDM_HOME}/log/svc.log 2>&1 &
# bin/${SVC_FILE} > /dev/null 2>&1 &
SVC_PID="$!"
echo "SVC_PID[${SVC_PID}]"
echo "${SVC_PID}" > ${SVC_PID_FILE}
;;
stop)
SVC_PID=`cat ${SVC_PID_FILE}`
if [ $? -ne 0 ] || [ "${SVC_PID}" = "" ];then
echo "${PROCESS_NAME} Service is not running."
exit 1
fi
PS_SVC_PID=`ps -ef | grep -v grep | grep ${SVC_PID} | grep ${SVC_FILE}`
if [ ! "${PS_SVC_PID}" = "" ];then
kill -9 ${SVC_PID}
echo "${PROCESS_NAME} Service terminate."
else
echo "${PROCESS_NAME} Service pid is not match[${PS_SVC_PID}/${SVC_PID}]"
fi
rm -rf ${SVC_PID_FILE}
if [ -f "${AGENT_PID_FILE}" ];then
RUN_NDM_PID=`cat ${AGENT_PID_FILE} | tr '\0' '\n'`
rm -rf ${AGENT_PID_FILE}
echo -n "Waiting for ${PROCESS_NAME} process(${RUN_NDM_PID}) exit."
NUM="0"
while [ ${NUM} -lt ${NDM_STOP_TIMEOUT} ]
do
PS_NDM_PID=`ps -ef | grep -v grep | grep ${RUN_NDM_PID} | grep mongomon`
if [ "${PS_NDM_PID}" = "" ];then
break
fi
NUM=`expr ${NUM} + 1`
sleep 1
echo -n "."
done
echo ""
if [ ${NUM} -eq ${NDM_STOP_TIMEOUT} ];then
echo "${PROCESS_NAME} process shutdown wait timed out."
else
echo "${PROCESS_NAME} process terminated."
fi
else
echo "${PROCESS_NAME} process is not running."
fi
;;
*)
Usage 2
;;
esac
done

View File

@@ -0,0 +1,125 @@
#!/bin/sh
source /{{ EXEM_HOME }}/ndm/bin/reg.env
#source /root/test2/bin/reg.env
func_check_log_file()
{
LOG_CHK_SIZE=1048576
if [ -n "$2" ];then
LOG_CHK_SIZE=$2
fi
if [ -f "$1" ];then
LOG_SIZE=`ls -la $1 | awk -F' ' '{print $5}'`
if [ $? -eq 0 ]; then
if [ ${LOG_SIZE} -gt ${LOG_CHK_SIZE} ]; then
rm -rf $1
# echo "log size is over. remove log file.[size:${LOG_SIZE},file:$1]"
fi
fi
fi
}
PROCESS_NAME="exem-ndm-agent"
PROCESS_PATH="${PROCESS_NAME}"
PID_FILE="ndm-agent.pid"
if [ ! -d "${EXEM_NDM_HOME}" ];then
echo "exem ndm home directory is not exist.[${EXEM_NDM_HOME}]"
exit 1
fi
# working directory is ${EXEM_NDM_HOME}/bin
cd ${EXEM_NDM_HOME} || exit 1
if [ -f "${EXEM_NDM_HOME}/data/${PID_FILE}" ]; then
RUN_PID=`cat ${EXEM_NDM_HOME}/data/${PID_FILE} | tr '\0' '\n' || echo "none"`
else
RUN_PID="none"
fi
PEAK=0
while :
do
# log manage
func_check_log_file "${EXEM_NDM_HOME}/log/svc.log" 1048576
if [ "${RUN_PID}" = "none" ];then
PATH=${EXEM_NDM_HOME}/bin:$PATH ${PROCESS_PATH} > /dev/null 2>&1 &
RUN_PID="$!"
echo "execute ${PROCESS_PATH} process.[${RUN_PID}]"
sleep 3
fi
if [ ! "${RUN_PID}" = "none" ] && [ -f "/proc/${RUN_PID}/cmdline" ];then
# PROC_COMM=`cat /proc/${RUN_PID}/comm || echo "none"`
PROC_COMM=`cat /proc/${RUN_PID}/cmdline | tr '\0' ' ' | awk -F' ' '{print $1}' || echo "none"`
# echo "PROC_COMM[${PROC_COMM}]"
else
PROC_COMM="none"
fi
if [ ! "${PROC_COMM}" = "${PROCESS_PATH}" ];then
echo "${PROCESS_NAME} process is not running.[pid:${RUN_PID}],comm[${PROC_COMM}]"
RUN_PID="none"
fi
##########################################
# check memory peak
CUR_DATE=`date +%d' '%H:%M:%S`
# MONGOMON_PID=`ps -ef | grep -v grep | grep -v vi | grep -v tail | grep -v ctl | grep -v svc | grep ${PROCESS_NAME} | awk -F' ' '{print $2}'`
# if [ -n "${MONGOMON_PID}" ];then
if [ ! "${RUN_PID}" = "none" ];then
# RESULT=`ps -p ${RUN_PID} -o user,pid,pcpu,pmem,rss,sz,size,vsize,cmd --no-heading`
RESULT=`ps -p ${RUN_PID} -o user,pid,pcpu,pmem,rss,sz,size,vsize,cmd --no-heading`
if [ -z "${RESULT}" ];then
echo "${CUR_DATE} get process stat has failed.[${RUN_PID}]"
PEAK=0
fi
RSS=`echo ${RESULT} | awk -F' ' '{print $5}'`
if [ ${RSS} -gt ${PEAK} ];then
OUT_PEAK=" PEAK:${PEAK}/${RSS}"
PEAK=${RSS}
PEAK_STAT="peak"
else
OUT_PEAK=" PEAK:${PEAK}"
PEAK_STAT=""
fi
# echo "${CUR_DATE} ${RESULT}${OUT_PEAK}"
if [ -n "${PEAK_STAT}" ];then
func_check_log_file "peak.log" 1024
echo "${CUR_DATE} ${RESULT}${OUT_PEAK}" >> peak.log
fi
else
echo "${CUR_DATE} ${PROCESS_NAME} is not running."
PEAK=0
fi
sleep 3
done

View File

@@ -0,0 +1,13 @@
#app_name="exem-ndm-agent"
receiver_ip={{ RECEIVER_ADDR }}
receiver_port={{ RECEIVER_PORT | default('9010') }}
#disconnect_exit=no
#syslog_port=514
#snmptrap_port=162
[Debug]
#write_recv_packet=no
#write_send_packet=no

View File

@@ -0,0 +1,9 @@
export EXEM_NDM_HOME=/{{ EXEM_HOME }}/ndm
if [ -z ${LD_LIBRARY_PATH} ];then
LD_LIBRARY_PATH=${EXEM_NDM_HOME}/lib64
else
LD_LIBRARY_PATH=${EXEM_NDM_HOME}/lib64:${LD_LIBRARY_PATH}
fi
export LD_LIBRARY_PATH

View File

@@ -0,0 +1,198 @@
#!/bin/sh
#EXEM_NDM_HOME="/{{ EXEM_HOME }}/ndm"
source /{{ EXEM_HOME }}/ndm/bin/reg.env
NDM_STOP_TIMEOUT=10
Usage()
{
echo "Usage : ndm-ctl [version|start|restart|stop]"
echo ""
exit $1
}
CMD_ARGUMENT=$@
BASE_NAME=`basename $0`
case "${BASE_NAME}" in
start)
CMD_ARGUMENT="start"
;;
stop)
CMD_ARGUMENT="stop"
;;
restart)
CMD_ARGUMENT="restart"
;;
version)
CMD_ARGUMENT="version"
;;
mongomonctl)
;;
*)
echo "unknown link. please check link name[$0]."
Usage 1
;;
esac
# option process
if [ -n "${CMD_ARGUMENT}" ];
then
for i in ${CMD_ARGUMENT}
do
# echo "$i"
case "$i" in
start)
ENV_RUN_MODE="start"
RUN_LIST="start"
;;
restart)
ENV_RUN_MODE="restart"
RUN_LIST="stop start"
;;
stop)
ENV_RUN_MODE="stop"
RUN_LIST="stop"
;;
version)
ENV_RUN_MODE="version"
RUN_LIST="version"
;;
help)
Usage 0
;;
*)
Usage 1
;;
esac
done
fi
if [ ! -d "${EXEM_NDM_HOME}" ];then
echo "agent home directory is not exist.[${EXEM_NDM_HOME}]"
exit 1
fi
cd ${EXEM_NDM_HOME} || exit 1
PROCESS_NAME="exem-ndm-agent"
SVC_FILE="ndm-svc"
SVC_PID_FILE="data/svc.pid"
AGENT_PID_FILE="data/ndm-agent.pid"
echo "${PROCESS_NAME} ${ENV_RUN_MODE} --- "
for MODE in ${RUN_LIST}; do
case "${MODE}" in
version)
bin/exem-ndm-agent -v
;;
start)
if [ -f "${SVC_PID_FILE}" ];then
SVC_PID=`cat ${SVC_PID_FILE}`
PROC_COMM=`cat /proc/${SVC_PID}/comm`
if [ $? -ne 0 ];then
PROC_COMM="none"
fi
if [ "${PROC_COMM}" = "${SVC_FILE}" ];then
echo "${PROCESS_NAME} is running."
exit 1
fi
rm -rf ${SVC_PID_FILE}
fi
if [ ! -f "bin/${SVC_FILE}" ];then
echo "bin/${SVC_FILE} is not exist."
exit 2
fi
bin/${SVC_FILE} >> ${EXEM_NDM_HOME}/log/svc.log 2>&1 &
# bin/${SVC_FILE} > /dev/null 2>&1 &
SVC_PID="$!"
echo "SVC_PID[${SVC_PID}]"
echo "${SVC_PID}" > ${SVC_PID_FILE}
;;
stop)
SVC_PID=`cat ${SVC_PID_FILE}`
if [ $? -ne 0 ] || [ "${SVC_PID}" = "" ];then
echo "${PROCESS_NAME} Service is not running."
exit 1
fi
PS_SVC_PID=`ps -ef | grep -v grep | grep ${SVC_PID} | grep ${SVC_FILE}`
if [ ! "${PS_SVC_PID}" = "" ];then
kill -9 ${SVC_PID}
echo "${PROCESS_NAME} Service terminate."
else
echo "${PROCESS_NAME} Service pid is not match[${PS_SVC_PID}/${SVC_PID}]"
fi
rm -rf ${SVC_PID_FILE}
if [ -f "${AGENT_PID_FILE}" ];then
RUN_NDM_PID=`cat ${AGENT_PID_FILE} | tr '\0' '\n'`
rm -rf ${AGENT_PID_FILE}
echo -n "Waiting for ${PROCESS_NAME} process(${RUN_NDM_PID}) exit."
NUM="0"
while [ ${NUM} -lt ${NDM_STOP_TIMEOUT} ]
do
PS_NDM_PID=`ps -ef | grep -v grep | grep ${RUN_NDM_PID} | grep mongomon`
if [ "${PS_NDM_PID}" = "" ];then
break
fi
NUM=`expr ${NUM} + 1`
sleep 1
echo -n "."
done
echo ""
if [ ${NUM} -eq ${NDM_STOP_TIMEOUT} ];then
echo "${PROCESS_NAME} process shutdown wait timed out."
else
echo "${PROCESS_NAME} process terminated."
fi
else
echo "${PROCESS_NAME} process is not running."
fi
;;
*)
Usage 2
;;
esac
done

View File

@@ -0,0 +1,198 @@
#!/bin/sh
#EXEM_NDM_HOME="/{{ EXEM_HOME }}/ndm"
source /{{ EXEM_HOME }}/ndm/bin/reg.env
NDM_STOP_TIMEOUT=10
Usage()
{
echo "Usage : ndm-ctl [version|start|restart|stop]"
echo ""
exit $1
}
CMD_ARGUMENT=$@
BASE_NAME=`basename $0`
case "${BASE_NAME}" in
start)
CMD_ARGUMENT="start"
;;
stop)
CMD_ARGUMENT="stop"
;;
restart)
CMD_ARGUMENT="restart"
;;
version)
CMD_ARGUMENT="version"
;;
mongomonctl)
;;
*)
echo "unknown link. please check link name[$0]."
Usage 1
;;
esac
# option process
if [ -n "${CMD_ARGUMENT}" ];
then
for i in ${CMD_ARGUMENT}
do
# echo "$i"
case "$i" in
start)
ENV_RUN_MODE="start"
RUN_LIST="start"
;;
restart)
ENV_RUN_MODE="restart"
RUN_LIST="stop start"
;;
stop)
ENV_RUN_MODE="stop"
RUN_LIST="stop"
;;
version)
ENV_RUN_MODE="version"
RUN_LIST="version"
;;
help)
Usage 0
;;
*)
Usage 1
;;
esac
done
fi
if [ ! -d "${EXEM_NDM_HOME}" ];then
echo "agent home directory is not exist.[${EXEM_NDM_HOME}]"
exit 1
fi
cd ${EXEM_NDM_HOME} || exit 1
PROCESS_NAME="exem-ndm-agent"
SVC_FILE="ndm-svc"
SVC_PID_FILE="data/svc.pid"
AGENT_PID_FILE="data/ndm-agent.pid"
echo "${PROCESS_NAME} ${ENV_RUN_MODE} --- "
for MODE in ${RUN_LIST}; do
case "${MODE}" in
version)
bin/exem-ndm-agent -v
;;
start)
if [ -f "${SVC_PID_FILE}" ];then
SVC_PID=`cat ${SVC_PID_FILE}`
PROC_COMM=`cat /proc/${SVC_PID}/comm`
if [ $? -ne 0 ];then
PROC_COMM="none"
fi
if [ "${PROC_COMM}" = "${SVC_FILE}" ];then
echo "${PROCESS_NAME} is running."
exit 1
fi
rm -rf ${SVC_PID_FILE}
fi
if [ ! -f "bin/${SVC_FILE}" ];then
echo "bin/${SVC_FILE} is not exist."
exit 2
fi
bin/${SVC_FILE} >> ${EXEM_NDM_HOME}/log/svc.log 2>&1 &
# bin/${SVC_FILE} > /dev/null 2>&1 &
SVC_PID="$!"
echo "SVC_PID[${SVC_PID}]"
echo "${SVC_PID}" > ${SVC_PID_FILE}
;;
stop)
SVC_PID=`cat ${SVC_PID_FILE}`
if [ $? -ne 0 ] || [ "${SVC_PID}" = "" ];then
echo "${PROCESS_NAME} Service is not running."
exit 1
fi
PS_SVC_PID=`ps -ef | grep -v grep | grep ${SVC_PID} | grep ${SVC_FILE}`
if [ ! "${PS_SVC_PID}" = "" ];then
kill -9 ${SVC_PID}
echo "${PROCESS_NAME} Service terminate."
else
echo "${PROCESS_NAME} Service pid is not match[${PS_SVC_PID}/${SVC_PID}]"
fi
rm -rf ${SVC_PID_FILE}
if [ -f "${AGENT_PID_FILE}" ];then
RUN_NDM_PID=`cat ${AGENT_PID_FILE} | tr '\0' '\n'`
rm -rf ${AGENT_PID_FILE}
echo -n "Waiting for ${PROCESS_NAME} process(${RUN_NDM_PID}) exit."
NUM="0"
while [ ${NUM} -lt ${NDM_STOP_TIMEOUT} ]
do
PS_NDM_PID=`ps -ef | grep -v grep | grep ${RUN_NDM_PID} | grep mongomon`
if [ "${PS_NDM_PID}" = "" ];then
break
fi
NUM=`expr ${NUM} + 1`
sleep 1
echo -n "."
done
echo ""
if [ ${NUM} -eq ${NDM_STOP_TIMEOUT} ];then
echo "${PROCESS_NAME} process shutdown wait timed out."
else
echo "${PROCESS_NAME} process terminated."
fi
else
echo "${PROCESS_NAME} process is not running."
fi
;;
*)
Usage 2
;;
esac
done