summaryrefslogtreecommitdiff
path: root/py_cmd
diff options
context:
space:
mode:
Diffstat (limited to 'py_cmd')
-rw-r--r--py_cmd/tsg_diagnose.py151
-rw-r--r--py_cmd/tsg_diagnose.py.bak164
2 files changed, 166 insertions, 149 deletions
diff --git a/py_cmd/tsg_diagnose.py b/py_cmd/tsg_diagnose.py
index c8bf8d8..8d5b36b 100644
--- a/py_cmd/tsg_diagnose.py
+++ b/py_cmd/tsg_diagnose.py
@@ -2,6 +2,7 @@
import re
import argparse
import sys
+from sys import path
import syslog
import random
path.append(r'../py_common') #将存放module的路径添加进来
@@ -11,154 +12,6 @@ from common_diagnose import *
#前台执行的diagnose cli命令, 不写syslog日志
#后台自动监测脚本, 写syslog, 也就是APP FM的功能
#写日志仅限于app相关, cpu,mem是snmp模块负责的
-
-#define KERN_EMERG "<0>" /* system is unusable */
-#define KERN_ALERT "<1>" /* action must be taken immediately */
-#define KERN_CRIT "<2>" /* critical conditions */
-#define KERN_ERR "<3>" /* error conditions */
-#define KERN_WARNING "<4>" /* warning conditions */
-#define KERN_NOTICE "<5>" /* normal but significant condition */
-#define KERN_INFO "<6>" /* informational */
-#define KERN_DEBUG "<7>" /* debug-level messages */
-
-MSG_PREFIX = ['EMERG', 'ALERT', 'CRIT', 'ERR', 'WARNING', 'NOTICE', 'INFO', 'DEBUG']
-
-G_SYSLOG_EVENT_SRC = "CLI"
-G_DIAGNOSE_NAME = "tsg_diagnose"
-G_DIAGNOSE_VERSION = "1.0.6 20190827"
-
-def tsg_diagnose_for_app():
- app_msg = ['app is not running', 'app is not running', 'app is not running', 'app maybe deadlock', 'app is reboot in 5 minute']
- app_msg.append('app is running normally')
- app_msg.append('app is running normally')
- app_msg.append('app is running normally')
-
- num = random.randint(1,7)
- if num <= 4:
- msg = "[%s] %s" %(MSG_PREFIX[num], app_msg[num])
- syslog.syslog(num, msg)
- print(msg)
- return num
-
-def tsg_diagnose_for_cpu():
- cpu_msg = []
- cpu_msg.append('CPU usage over 95%')
- cpu_msg.append('CPU usage over 90%')
- cpu_msg.append('CPU usage over 85%')
- cpu_msg.append('CPU usage over 80%')
- cpu_msg.append('CPU usage over 70%')
-
- num = random.randint(1,7)
- if num <= 4:
- msg = "[%s] %s" %(MSG_PREFIX[num], cpu_msg[num])
- syslog.syslog(num, msg)
- print(msg)
- return num
-
-
-def tsg_diagnose_for_mem():
- mem_msg = []
- mem_msg.append('free memory less than 1%')
- mem_msg.append('free memory less than 5%')
- mem_msg.append('free memory less than 10%')
- mem_msg.append('free memory less than 15%')
- mem_msg.append('free memory less than 20%')
-
- num = random.randint(1,7)
- if num <= 4:
- msg = "[%s] %s" %(MSG_PREFIX[num], mem_msg[num])
- syslog.syslog(num, msg)
- print(msg)
- return num
-
-
-def tsg_diagnose_for_disk():
- disk_msg = []
- disk_msg.append('disk usage over 99%')
- disk_msg.append('disk usage over 95%')
- disk_msg.append('disk usage over 90%')
- disk_msg.append('disk usage over 85%')
- disk_msg.append('disk usage over 80%')
-
- num = random.randint(1,7)
- if num <= 4:
- msg = "[%s] %s" %(MSG_PREFIX[num], disk_msg[num])
- syslog.syslog(num, msg)
- print(msg)
- return num
-
-def tsg_diagnose_for_network():
- return 7
-
-def tsg_diagnose():
-
- log_handle = syslog.openlog("TSG-MXN")
-
- diagnose_level = syslog.LOG_DEBUG
-
- #check app, not running, dead-lock
- check_ret = tsg_diagnose_for_app()
- if check_ret < diagnose_level:
- diagnose_level = check_ret
-
- #error, critical return immediately
- if diagnose_level <= syslog.LOG_WARNING:
- return diagnose_level
-
- #check app, drop packet, traffic bps
- check_ret = tsg_diagnose_for_network()
- if check_ret < diagnose_level:
- diagnose_level = check_ret
- #error, critical return immediately
- if diagnose_level <= syslog.LOG_WARNING:
- return diagnose_level
-
-
- #check cpu, more than 80%, 90%, 95%
- check_ret = tsg_diagnose_for_cpu()
- if check_ret < diagnose_level:
- diagnose_level = check_ret
- #error, critical return immediately
- if diagnose_level <= syslog.LOG_WARNING:
- return diagnose_level
-
- #check mem, free memory less than 10%
- check_ret = tsg_diagnose_for_mem()
- if check_ret < diagnose_level:
- diagnose_level = check_ret
- #error, critical return immediately
- if diagnose_level <= syslog.LOG_WARNING:
- return diagnose_level
-
-
- #check disk, free disk space less than 5%
- check_ret = tsg_diagnose_for_mem()
- if check_ret < diagnose_level:
- diagnose_level = check_ret
- #error, critical return immediately
- if diagnose_level <= syslog.LOG_WARNING:
- return diagnose_level
-
- #if not error, output success
- syslog.syslog(syslog.LOG_DEBUG, "TSG diagnose completed, all modules are running normally!")
- print ("TSG diagnose completed, all modules are running normally!")
- return 0
-
-def setup_cmd_args():
- parser = argparse.ArgumentParser(description='TSG OAM Argument Parser')
-
- parser.add_argument('-v', '--version', help = 'Print version information',
- action='store_true', default = 0)
-
- return parser
if __name__ == '__main__':
- comm_arg_parser = setup_cmd_args()
- arg_options = comm_arg_parser.parse_args()
-
- if arg_options.version != 0:
- print("%s version: %s" %(G_DIAGNOSE_NAME, G_DIAGNOSE_VERSION))
- sys.exit(0)
-
- fun_res_code = tsg_diagnose()
- sys.exit(fun_res_code)
+ tsg_common_diagnose(1)
diff --git a/py_cmd/tsg_diagnose.py.bak b/py_cmd/tsg_diagnose.py.bak
new file mode 100644
index 0000000..c8bf8d8
--- /dev/null
+++ b/py_cmd/tsg_diagnose.py.bak
@@ -0,0 +1,164 @@
+#coding=utf-8
+import re
+import argparse
+import sys
+import syslog
+import random
+path.append(r'../py_common') #将存放module的路径添加进来
+path.append(r'./py_common') #将存放module的路径添加进来
+from common_diagnose import *
+
+#前台执行的diagnose cli命令, 不写syslog日志
+#后台自动监测脚本, 写syslog, 也就是APP FM的功能
+#写日志仅限于app相关, cpu,mem是snmp模块负责的
+
+#define KERN_EMERG "<0>" /* system is unusable */
+#define KERN_ALERT "<1>" /* action must be taken immediately */
+#define KERN_CRIT "<2>" /* critical conditions */
+#define KERN_ERR "<3>" /* error conditions */
+#define KERN_WARNING "<4>" /* warning conditions */
+#define KERN_NOTICE "<5>" /* normal but significant condition */
+#define KERN_INFO "<6>" /* informational */
+#define KERN_DEBUG "<7>" /* debug-level messages */
+
+MSG_PREFIX = ['EMERG', 'ALERT', 'CRIT', 'ERR', 'WARNING', 'NOTICE', 'INFO', 'DEBUG']
+
+G_SYSLOG_EVENT_SRC = "CLI"
+G_DIAGNOSE_NAME = "tsg_diagnose"
+G_DIAGNOSE_VERSION = "1.0.6 20190827"
+
+def tsg_diagnose_for_app():
+ app_msg = ['app is not running', 'app is not running', 'app is not running', 'app maybe deadlock', 'app is reboot in 5 minute']
+ app_msg.append('app is running normally')
+ app_msg.append('app is running normally')
+ app_msg.append('app is running normally')
+
+ num = random.randint(1,7)
+ if num <= 4:
+ msg = "[%s] %s" %(MSG_PREFIX[num], app_msg[num])
+ syslog.syslog(num, msg)
+ print(msg)
+ return num
+
+def tsg_diagnose_for_cpu():
+ cpu_msg = []
+ cpu_msg.append('CPU usage over 95%')
+ cpu_msg.append('CPU usage over 90%')
+ cpu_msg.append('CPU usage over 85%')
+ cpu_msg.append('CPU usage over 80%')
+ cpu_msg.append('CPU usage over 70%')
+
+ num = random.randint(1,7)
+ if num <= 4:
+ msg = "[%s] %s" %(MSG_PREFIX[num], cpu_msg[num])
+ syslog.syslog(num, msg)
+ print(msg)
+ return num
+
+
+def tsg_diagnose_for_mem():
+ mem_msg = []
+ mem_msg.append('free memory less than 1%')
+ mem_msg.append('free memory less than 5%')
+ mem_msg.append('free memory less than 10%')
+ mem_msg.append('free memory less than 15%')
+ mem_msg.append('free memory less than 20%')
+
+ num = random.randint(1,7)
+ if num <= 4:
+ msg = "[%s] %s" %(MSG_PREFIX[num], mem_msg[num])
+ syslog.syslog(num, msg)
+ print(msg)
+ return num
+
+
+def tsg_diagnose_for_disk():
+ disk_msg = []
+ disk_msg.append('disk usage over 99%')
+ disk_msg.append('disk usage over 95%')
+ disk_msg.append('disk usage over 90%')
+ disk_msg.append('disk usage over 85%')
+ disk_msg.append('disk usage over 80%')
+
+ num = random.randint(1,7)
+ if num <= 4:
+ msg = "[%s] %s" %(MSG_PREFIX[num], disk_msg[num])
+ syslog.syslog(num, msg)
+ print(msg)
+ return num
+
+def tsg_diagnose_for_network():
+ return 7
+
+def tsg_diagnose():
+
+ log_handle = syslog.openlog("TSG-MXN")
+
+ diagnose_level = syslog.LOG_DEBUG
+
+ #check app, not running, dead-lock
+ check_ret = tsg_diagnose_for_app()
+ if check_ret < diagnose_level:
+ diagnose_level = check_ret
+
+ #error, critical return immediately
+ if diagnose_level <= syslog.LOG_WARNING:
+ return diagnose_level
+
+ #check app, drop packet, traffic bps
+ check_ret = tsg_diagnose_for_network()
+ if check_ret < diagnose_level:
+ diagnose_level = check_ret
+ #error, critical return immediately
+ if diagnose_level <= syslog.LOG_WARNING:
+ return diagnose_level
+
+
+ #check cpu, more than 80%, 90%, 95%
+ check_ret = tsg_diagnose_for_cpu()
+ if check_ret < diagnose_level:
+ diagnose_level = check_ret
+ #error, critical return immediately
+ if diagnose_level <= syslog.LOG_WARNING:
+ return diagnose_level
+
+ #check mem, free memory less than 10%
+ check_ret = tsg_diagnose_for_mem()
+ if check_ret < diagnose_level:
+ diagnose_level = check_ret
+ #error, critical return immediately
+ if diagnose_level <= syslog.LOG_WARNING:
+ return diagnose_level
+
+
+ #check disk, free disk space less than 5%
+ check_ret = tsg_diagnose_for_mem()
+ if check_ret < diagnose_level:
+ diagnose_level = check_ret
+ #error, critical return immediately
+ if diagnose_level <= syslog.LOG_WARNING:
+ return diagnose_level
+
+ #if not error, output success
+ syslog.syslog(syslog.LOG_DEBUG, "TSG diagnose completed, all modules are running normally!")
+ print ("TSG diagnose completed, all modules are running normally!")
+ return 0
+
+def setup_cmd_args():
+ parser = argparse.ArgumentParser(description='TSG OAM Argument Parser')
+
+ parser.add_argument('-v', '--version', help = 'Print version information',
+ action='store_true', default = 0)
+
+ return parser
+
+if __name__ == '__main__':
+ comm_arg_parser = setup_cmd_args()
+ arg_options = comm_arg_parser.parse_args()
+
+ if arg_options.version != 0:
+ print("%s version: %s" %(G_DIAGNOSE_NAME, G_DIAGNOSE_VERSION))
+ sys.exit(0)
+
+ fun_res_code = tsg_diagnose()
+ sys.exit(fun_res_code)