性能监控之日志监控部分-阿里云开发者社区

开发者社区> 余二五> 正文

性能监控之日志监控部分

简介:
+关注继续查看
这部分是以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




本文转自 vfast_chenxy 51CTO博客,原文链接:http://blog.51cto.com/chenxy/794582,如需转载请自行联系原作者

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
C#轻量级高性能日志组件EasyLogger(六)
一、课程介绍 本次分享课程属于《C#高级编程实战技能开发宝典课程系列》中的第六部分,阿笨后续会计划将实际项目中的一些比较实用的关于C#高级编程的技巧分享出来给大家进行学习,不断的收集、整理和完善此系列课程! 一、本高级系列课程适合人群如下 1、有一定的NET开发基础。
2563 0
MySQL 性能监控4大指标——第二部分
本文作者为 John Matson,主要介绍 mysql 性能监控应该关注的4大指标。 第一部分介绍了前两个指标:查询吞吐量与查询执行性能。本文将继续介绍另两个指标:MySQL 连接与缓冲池。文章系国内 ITOM 管理平台 OneAPM 编译呈现。
2716 0
Kubernetes Ingress 日志分析与监控的最佳实践
Ingress 主要提供 HTTP 层(7 层)路由功能,是目前 K8s 中 HTTP/HTTPS 服务的主流暴露方式。为简化广大用户对于 Ingress 日志分析与监控的门槛,阿里云容器服务和日志服务将 Ingress 日志打通,只需要应用一个 yaml 资源即可完成日志采集、分析、可视化等一整套 Ingress 日志方案的部署。
5000 0
阿里云容器Kubernetes监控(一) - 资源监控
简介 容器通过集装箱式的编译、打包、部署,大大提高了应用的迭代速度。对于架构师而言,容器带来的是分钟级的部署、秒级的伸缩与恢复、一个量级的迭代速度提升、50%左右的基础成本节省。但是对于落地实施容器的开发者而言。
6159 0
Elasticsearch 日志监控方案
Elasticsearch 日志监控方案 -- ElastAlert,Watcher
191 0
+关注
20382
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
《2021云上架构与运维峰会演讲合集》
立即下载
《零基础CSS入门教程》
立即下载
《零基础HTML入门教程》
立即下载