这部分是以oralce的alert日志为例可以监控你想要监控的日志,用日志的完整路径替换oralce的日志路径就可以了
#!/bin/bash
rm /export/home/monitorsh/alertcom.log
#SERVERNAME
SERVERNAME=$(uname -a | awk '{ print $2}')
filename="/export/home/monitorsh/"$SERVERNAME"_DBSERVERLOGMONITOR.sql"
echo "connect user/password" >>${filename}
#要监控的日志,只对变化部分,写入记录,如果需要全文扫描,去掉下面nl和comm行,直接用要扫描的日志文件的绝对路径和文件名替换 alertcom1.log文件,sed行的替换就可以了,注意将文件中的特殊字符转换一下,否则可能出错;首次执行可能因为无历史文件参考而出错,第二 次执行则不会出错
#给日志文件加行标便于比较
nl /export/home/oracle/admin/orcl/bdump/alert_orcl.log > /export/home/monitorsh/alertnew.log
#比较新日志和上一次统计时的日志,取出差异部分放入 alertcom1.log
comm -23 /export/home/monitorsh/alertnew.log /export/home/monitorsh/alertold.log> /export/home/monitorsh/alertcom1.log
#去掉文件中的特殊字符,图书字符在搜索关键字是可能会导致异常
sed "s/\'/\'\'\'\'/" /export/home/monitorsh/alertcom1.log >/export/home/monitorsh/alertcom.log
linkstring=$(echo "'||chr(13)||chr(10)||'")
while read line
do
keyword=$(echo ${line} | awk '{print $2}')
while read line2
do
#在文档中搜索关键字
keyline=$(echo ${line2} | grep ${keyword} | grep -v grep)
line2num=$(echo ${line2} | awk '{print $1}')
if [ -z "${keyline}" ]
then
echo "OK" >>/export/home/monitorsh/sql/getlog.log
else
LogContent1=$(echo ${line2})
#获得关键字所在行的行标和行内容
LogContent=$line2num"|""""$LogContent1"""
echo "insert into TAB_DBSERVERLOGMONITOR values ("$line2num","$SERVERNAME",'"$keyword"','"$LogContent"','oracle',to_char(sysdate,'yyyymmddhh24miss'),to_char(sysdate,'yyyymmddhh24miss'));" >>${filename}
echo "commit;" >>${filename}
fi
done < /export/home/monitorsh/alertcom.log
done < /export/home/monitorsh/keyword.conf
rm /export/home/monitorsh/alertold.log
mv /export/home/monitorsh/alertnew.log /export/home/monitorsh/alertold.log
filename=$SERVERNAME"_DBSERVERLOGMONITOR.sql"
ftp -i -n 10.43.94.15 <<!
user user password
cd /export/home/monitorsh/sql
lcd /export/home/monitorsh
binary
prompt
put ${filename}
bye
!
关键字定义文档keyword.conf文件格式:
1 down
2 fail
3 notification
性能监控之日志监控部分
精选 转载
提问和评论都可以,用心的回复会被更多人看到
评论
发布评论
相关文章
-
#yyds干货盘点#Prometheus 之日志及探针监控Prometheus 干货
-
中职网络安全2022国赛之日志监控
简介8.安全日志文件大小至少为128MB,设置当达到最大的日志大小上限时,覆盖
经验分享 日志文件 点击事件 系统日志 -
RabbitMQ高级特性(七):RabbitMQ之日志与监控(了解)
RabbitMQ高级特性(七):RabbitMQ之日志与监控
java-rabbitmq rabbitmq java 版本号 Erlang -
workstation 性能监控 windows 性能监控日志
一、远程连接到Windows服务器,使用windows系统自带工具进行收集性能数据 1、Windows服务器中自带的性能监控工具叫做PerformanceMonitor,在开始-运行中输入‘Perfmon.msc’,然后回车即可运行。通过界面,控制面板所有控制面板项管理工具性能监视器也能打开 打开后,页面展示 2、添加计数器性能>数据收集器集>用
workstation 性能监控 windows perfmon 日志 虚拟内存 性能计数器 物理内存 -
liunux系统性能监控日志记录 linux 监控日志
1. 前言本文主要讲解如何在Linux上使用lnav监控和分析Apache日志文件,在本文中,我们将解释如何安装和使用lnav,这是一种高级日志文件查看器。使用lnav,您将能够同时观察几种类型的日志。2. 在Linux中安装和启动lnav要安装lnav,请使用你的Linux发行版软件包管理器安装。基于Debian发行版aptitude install lnav基于红帽发行版yum install
liunux系统性能监控日志记录 kjb文件 解析 linux导出日志关键字数据 华为如何在开发者选项观察错误日志 Apache -
鸿蒙性能监控 Android性能监控
一、、微内核天然无Root权限,外核服务相互隔离,细粒度权限控制,从源头上提升系统安全。 二、鸿蒙OS实现模块化解耦,对应不同设备可以弹性部署。 包括一下设备: 1、 智慧屏专有服务;2、 &
鸿蒙性能监控 Android性能监控 华为 鸿蒙 操作系统 微内核