#!/bin/bash #receiver mail list export receiver_mail_address=you@cnd.com,me@cnd.com,him@cnd.com #application log file location export applicaton_log_8081=/data/log/tomcat_logs8081/web_error.log export applicaton_log_8088=/data/log/tomcat_logs8088/web_error.log export collect_error_log_8081=/data/log/tomcat_logs8081/collect_error export collect_error_log_8088=/data/log/tomcat_logs8088/collect_error export mail_content_file=/root/can_do/mail_log.txt export line_switch_char="<br>" export env_identifier="Product" export keyword4app_exception="com.cnd.base.handle.ExceptionHandle" export keyword4sql_exception="nested exception is com.mysql.jdbc." export keyword4jdk_exception="java.*.Exception" # Note how an string variable is applcation to grep statement export error_num4app_8081=`grep "$keyword4app_exception" ${applicaton_log_8081} |wc -l` export error_num4sql_8081=`grep "$keyword4sql_exception" ${applicaton_log_8081} |wc -l` export error_num4jdkexception_8081=`grep "$keyword4jdk_exception" ${applicaton_log_8081} |wc -l` export error_num4app_8088=`grep "$keyword4app_exception" ${applicaton_log_8088} |wc -l` export error_num4sql_8088=`grep "$keyword4sql_exception" ${applicaton_log_8088} |wc -l` export error_num4jdkexception_8088=`grep "$keyword4jdk_exception" ${applicaton_log_8088} |wc -l` #this operation is overriding echo "【${env_identifier}】${line_switch_char}" > ${mail_content_file} #this operation is appending # decide whether app log 8081 has error or not if [ ${error_num4app_8081} -gt 0 ] || [ ${error_num4sql_8081} -gt 0 ] || [ ${error_num4jdkexception_8081} -gt 0 ] then echo "The application ${applicaton_log_8081} has $[${error_num4app_8081}+${error_num4sql_8081}+${error_num4jdkexception_8081}] errors.${line_switch_char} The detail error as the following:${line_switch_char}" >> ${mail_content_file} if [ ${error_num4app_8081} -gt 0 ] then grep "$keyword4app_exception" ${applicaton_log_8081} -A 5 >> ${mail_content_file} fi if [ ${error_num4sql_8081} -gt 0 ] then grep "$keyword4sql_exception" ${applicaton_log_8081} -A 5 >> ${mail_content_file} fi if [ ${error_num4jdkexception_8081} -gt 0 ] then grep "$keyword4jdk_exception" ${applicaton_log_8081} -A 5 >> ${mail_content_file} fi cp ${applicaton_log_8081} ${collect_error_log_8081}/web_error_`date +%Y%m%d_%H%M`.log echo "" > ${applicaton_log_8081} fi # decide whether app log 8088 has error or not if [ ${error_num4app_8088} -gt 0 ] || [ ${error_num4sql_8088} -gt 0 ] || [ ${error_num4jdkexception_8088} -gt 0 ] then echo "The application ${applicaton_log_8088} has $[${error_num4app_8088}+${error_num4sql_8088}+${error_num4jdkexception_8088}] errors.${line_switch_char} The detail error as the following:${line_switch_char}" >> ${mail_content_file} if [ ${error_num4app_8088} -gt 0 ] then grep "$keyword4app_exception" ${applicaton_log_8088} -A 5 >> ${mail_content_file} fi if [ ${error_num4sql_8088} -gt 0 ] then grep "$keyword4sql_exception" ${applicaton_log_8088} -A 5 >> ${mail_content_file} fi if [ ${error_num4jdkexception_8088} -gt 0 ] then grep "$keyword4jdk_exception" ${applicaton_log_8088} -A 5 >> ${mail_content_file} fi cp ${applicaton_log_8088} ${collect_error_log_8088}/web_error_`date +%Y%m%d_%H%M`.log echo "" > ${applicaton_log_8088} fi # decide whether send mail to monitor or not if [ ${error_num4app_8081} -gt 0 ] || [ ${error_num4app_8088} -gt 0 ] || [ ${error_num4sql_8081} -gt 0 ] || [ ${error_num4sql_8088} -gt 0 ] || [ ${error_num4jdkexception_8081} -gt 0 ] || [ ${error_num4jdkexception_8088} -gt 0 ] then mail -s "System Monitor Log" ${receiver_mail_address} < ${mail_content_file} fi #放在crontab执行以上命令脚本 #*/5 * * * * /root/can_do/monitorApplicationAccessLog.sh
您还没有登录,请您登录后再发表评论
本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现关键字异常时触发相应的动作或告警操作,通知到邮件联系人。 安装邮件服务 为了实现邮件告警功能,需要先安装邮件服务。可以使用 mailx 软件...
以下是一份详细的教程,讲解如何在Linux中设置磁盘监控并实现邮件通知。 首先,我们需要一个可以监控磁盘空间并触发报警的工具。`df`命令是Linux中用于查看文件系统磁盘空间的工具,而`cron`则是一个定时任务调度器...
Linux 下 nohup 日志输出过大问题的解决方法 Linux 是一个功能强大且广泛使用的操作系统,nohup 命令是 Linux 中的一个常用命令,用于在后台运行程序并将输出重定向到文件中。但是在使用 nohup 命令时,经常会遇到...
- **邮件报警机制**:当检测到流量异常(如超出阈值)时,通过发送邮件等方式及时通知管理员。 - **支持多个网卡**:修改脚本使其能够支持监控多个网卡的流量信息。 - **图形化展示**:使用`gnuplot`等工具绘制流量...
在Linux系统管理中,日志文件的管理和维护是至关重要的任务。日志文件记录了系统运行过程中的各种事件,如程序错误、系统警告、安全...此外,定期备份和监控日志清理策略是良好的实践,可以防止数据丢失或错误清理。
首先,我们要了解Linux下的一些基本磁盘监控命令。`df`命令用于查看磁盘空间的使用情况,它能显示每个挂载点的总空间、已用空间、剩余空间以及使用率。例如,`df -h`会以人类可读的格式(如KB、MB、GB)显示这些信息...
在Linux系统中,定时执行任务是一项非常实用的功能,尤其对于自动化运维、系统监控以及资源管理等方面至关重要。本文将深入解析如何在Linux环境下设置定时任务来定期执行特定操作,特别是删除日志或无用文件,以释放...
DSC(数据记录与监控)模块是LabVIEW中的一个功能扩展,它提供了一套工具,用于构建监控和数据采集系统或多通道数据记录应用程序。通过使用LabVIEW的DSC模块,开发者可以连接PLC(可编程逻辑控制器)与PAC(可编程...
监控中心负责收集并分析来自各远程监控现场的数据,实现对起重机械的实时监控和管理。 **2. 远程监控现场的设计** - **嵌入式系统**: 采用基于嵌入式Linux的操作系统,通过USB接口连接摄像头进行图像采集,通过...
### Linux下的流量监控Shell脚本知识点详解 #### 一、脚本概述 本文将详细介绍一个用于Linux环境下的网络流量监控Shell脚本。该脚本能够适用于任何Linux版本,并且已经过CentOS系统的测试验证。其核心功能是实时...
标题中的“提取海量数据的SQL存储过程”是指在处理大量数据时,使用SQL语言编写的一种存储过程,以高效地检索数据库中的信息。这种存储过程在处理大数据集时,特别是查询最后几页的数据时,能够确保查询时间不超过9...
- "(SCO Unix) How do I find out who or what shutdown or halted my system-"这个链接可能提供了针对SCO Unix系统的特定方法,尽管SCO Unix和Linux在某些方面有所不同,但其基本原理相似,即分析日志和审计记录。...
在Linux系统中,Java服务的自动化管理和监控是运维工作中的重要环节。自启动shell脚本和CPU、内存占用监控脚本能确保Java服务在系统启动时自动运行,并实时监测其性能状态,以便及时发现和处理潜在问题。下面将详细...
在现代IT环境中,日志文件扮演着极其重要的角色,特别是在Linux系统下。通过分析这些日志,管理员能够监控系统的健康状况、诊断问题以及防范安全威胁。本文将详细介绍如何利用一系列的Linux命令行工具(如`grep`、`...
2.领域:SIFT特征提取和配准 3.内容:图像的SIFT特征提取和配准MATLAB仿真。 [frames1,descr1,gss1,dogss1] = do_sift( I1, 'Verbosity', 1, 'NumOctaves', 4, 'Threshold', 0.1/3/2 ) ; %0.04/3/2 [frames2,descr2...
### Linux IO数据通道详解 #### 一、IO数据通道处理层次 在Linux系统中,输入/输出(Input/Output,简称IO)操作是一项基础而重要的功能。为了更好地管理和优化IO操作,Linux内核设计了一套复杂的IO数据通道处理...
在VB6(Visual Basic 6)环境中,我们可以利用其强大的编程能力来处理各种数据操作,如从文本文件中提取数据并生成Excel报表。这个过程通常包括以下步骤: 1. **读取文本文件**:VB6提供了`OpenTextFile`函数,通过...
这个VBA程序适用于需要定期或一次性从大量Word文档的表格中提取数据到Excel的工作场景,比如数据整理、报告生成或分析。通过自定义VBA代码,可以轻松调整数据提取的规则,适应不同格式的Word表格,提高工作效率。
在Linux系统中,shell脚本是一种强大的工具,可以自动化执行...结合日志文件,我们可以方便地查看历史数据,分析网络稳定性,及时发现并解决网络问题。在实际应用中,还可以根据具体需求进一步定制脚本,提高运维效率。
相关推荐
本文将详细介绍如何使用 Shell 脚本来监控 Linux 服务器日志,并在出现关键字异常时触发相应的动作或告警操作,通知到邮件联系人。 安装邮件服务 为了实现邮件告警功能,需要先安装邮件服务。可以使用 mailx 软件...
以下是一份详细的教程,讲解如何在Linux中设置磁盘监控并实现邮件通知。 首先,我们需要一个可以监控磁盘空间并触发报警的工具。`df`命令是Linux中用于查看文件系统磁盘空间的工具,而`cron`则是一个定时任务调度器...
Linux 下 nohup 日志输出过大问题的解决方法 Linux 是一个功能强大且广泛使用的操作系统,nohup 命令是 Linux 中的一个常用命令,用于在后台运行程序并将输出重定向到文件中。但是在使用 nohup 命令时,经常会遇到...
- **邮件报警机制**:当检测到流量异常(如超出阈值)时,通过发送邮件等方式及时通知管理员。 - **支持多个网卡**:修改脚本使其能够支持监控多个网卡的流量信息。 - **图形化展示**:使用`gnuplot`等工具绘制流量...
在Linux系统管理中,日志文件的管理和维护是至关重要的任务。日志文件记录了系统运行过程中的各种事件,如程序错误、系统警告、安全...此外,定期备份和监控日志清理策略是良好的实践,可以防止数据丢失或错误清理。
首先,我们要了解Linux下的一些基本磁盘监控命令。`df`命令用于查看磁盘空间的使用情况,它能显示每个挂载点的总空间、已用空间、剩余空间以及使用率。例如,`df -h`会以人类可读的格式(如KB、MB、GB)显示这些信息...
在Linux系统中,定时执行任务是一项非常实用的功能,尤其对于自动化运维、系统监控以及资源管理等方面至关重要。本文将深入解析如何在Linux环境下设置定时任务来定期执行特定操作,特别是删除日志或无用文件,以释放...
DSC(数据记录与监控)模块是LabVIEW中的一个功能扩展,它提供了一套工具,用于构建监控和数据采集系统或多通道数据记录应用程序。通过使用LabVIEW的DSC模块,开发者可以连接PLC(可编程逻辑控制器)与PAC(可编程...
监控中心负责收集并分析来自各远程监控现场的数据,实现对起重机械的实时监控和管理。 **2. 远程监控现场的设计** - **嵌入式系统**: 采用基于嵌入式Linux的操作系统,通过USB接口连接摄像头进行图像采集,通过...
### Linux下的流量监控Shell脚本知识点详解 #### 一、脚本概述 本文将详细介绍一个用于Linux环境下的网络流量监控Shell脚本。该脚本能够适用于任何Linux版本,并且已经过CentOS系统的测试验证。其核心功能是实时...
标题中的“提取海量数据的SQL存储过程”是指在处理大量数据时,使用SQL语言编写的一种存储过程,以高效地检索数据库中的信息。这种存储过程在处理大数据集时,特别是查询最后几页的数据时,能够确保查询时间不超过9...
- "(SCO Unix) How do I find out who or what shutdown or halted my system-"这个链接可能提供了针对SCO Unix系统的特定方法,尽管SCO Unix和Linux在某些方面有所不同,但其基本原理相似,即分析日志和审计记录。...
在Linux系统中,Java服务的自动化管理和监控是运维工作中的重要环节。自启动shell脚本和CPU、内存占用监控脚本能确保Java服务在系统启动时自动运行,并实时监测其性能状态,以便及时发现和处理潜在问题。下面将详细...
在现代IT环境中,日志文件扮演着极其重要的角色,特别是在Linux系统下。通过分析这些日志,管理员能够监控系统的健康状况、诊断问题以及防范安全威胁。本文将详细介绍如何利用一系列的Linux命令行工具(如`grep`、`...
2.领域:SIFT特征提取和配准 3.内容:图像的SIFT特征提取和配准MATLAB仿真。 [frames1,descr1,gss1,dogss1] = do_sift( I1, 'Verbosity', 1, 'NumOctaves', 4, 'Threshold', 0.1/3/2 ) ; %0.04/3/2 [frames2,descr2...
### Linux IO数据通道详解 #### 一、IO数据通道处理层次 在Linux系统中,输入/输出(Input/Output,简称IO)操作是一项基础而重要的功能。为了更好地管理和优化IO操作,Linux内核设计了一套复杂的IO数据通道处理...
在VB6(Visual Basic 6)环境中,我们可以利用其强大的编程能力来处理各种数据操作,如从文本文件中提取数据并生成Excel报表。这个过程通常包括以下步骤: 1. **读取文本文件**:VB6提供了`OpenTextFile`函数,通过...
这个VBA程序适用于需要定期或一次性从大量Word文档的表格中提取数据到Excel的工作场景,比如数据整理、报告生成或分析。通过自定义VBA代码,可以轻松调整数据提取的规则,适应不同格式的Word表格,提高工作效率。
在Linux系统中,shell脚本是一种强大的工具,可以自动化执行...结合日志文件,我们可以方便地查看历史数据,分析网络稳定性,及时发现并解决网络问题。在实际应用中,还可以根据具体需求进一步定制脚本,提高运维效率。