亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費(fèi)注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
1234下一頁
最近訪問板塊 發(fā)新帖
查看: 12982 | 回復(fù): 38
打印 上一主題 下一主題

請教各位大牛:獲取日志信息的關(guān)鍵字,logger發(fā)送給messages文件,謝謝. [復(fù)制鏈接]

論壇徽章:
0
跳轉(zhuǎn)到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2011-05-17 15:39 |只看該作者 |倒序?yàn)g覽
30可用積分
本帖最后由 deargentle 于 2011-05-20 15:29 編輯

目的:定時檢查alert.log是否包含定義的關(guān)鍵字,獲取數(shù)據(jù)庫的信息,并將信息發(fā)送給系統(tǒng)的messages

描述:
數(shù)據(jù)庫日志文件:/oracle/alert.log
讀取alert.log檢查是否含有ORA-和error、Error的錯誤信息,如有把日志行,通過logger (logger -f 可以實(shí)現(xiàn)),寫到/var/log/messages文件里。
每隔30分鐘檢查,如果log有新增的錯誤信息則再發(fā)送給messages,沒有則不發(fā)送,之前檢查出的不要重復(fù)寫。
(如果下一個檢查期間里增加的日志里有匹配的關(guān)鍵字則記錄,不管關(guān)鍵字是否重復(fù),有幾條就寫幾條。)

不知道我描述清楚了嗎,請幫忙寫個腳本,謝謝。

alert日志樣本:
Mon Feb 16 16:25:31 2009
ORA-1543 signalled during: create tablespace activemq datafile '/oracle/oradata/db/mq.dbf' size 256m extent management local segment space  management auto
Wed Feb 25 16:35:38 2009
WARNING: inbound connection timed out (ORA-3136)
Errors in file /oracle/admin/db/bdump/db_j000_31126.trc:
ORA-12012: error on auto execute of job 8887
ORA-44003: invalid SQL name
Tue Mar 17 23:01:00 2009
ARC1: Failed to archive thread 1 sequence 1568 (19809)
Wed Jul 29 12:50:57 2009
Errors in file /oracle/admin/db/bdump/db_arc0_3206.trc:
ORA-19815: WARNING: db_recovery_file_dest_size of 2147483648 bytes is 100.00% used, and has 0 remaining bytes available.
Wed Jul 29 12:50:57 2009
Linux-x86_64 Error: 13: Permission denied
Wed Jul 29 12:55:24 2009
ARCH: Error 19504 Creating archive log file to '/archivelog/1_1568_673098364.dbf'
ARCH: Failed to archive thread 1 sequence 1568 (19504)
ORA-16038 signalled during: alter database open...
Wed Jul 29 12:55:24 2009
Errors in file /oracle/admin/db/bdump/db_arc1_29171.trc:
ORA-19504: failed to create file "/archivelog/1_1569_673098364.dbf"
ORA-27040: file create error, unable to create file


ywlscpl  腳本tail -f 不能實(shí)時,美中不足。tail -f 肯定沒有問題,不知道tail 監(jiān)測文件變化的機(jī)制
nuclearxin  腳本再次運(yùn)行前需要清空日志,否則重復(fù)檢查,美中不足。

   謝了各位朋友

論壇徽章:
0
2 [報告]
發(fā)表于 2011-05-17 15:39 |只看該作者
本帖最后由 nuclearxin 于 2011-05-17 18:58 編輯
時間可以忽略掉,主要是判斷不重復(fù)寫日志

如果log有新增的錯誤信息則再發(fā)送給messages,沒有則不發(fā)送,曾 ...
deargentle 發(fā)表于 2011-05-17 17:22

  1. #!/bin/sh
  2. STARTLINE=1;
  3. while :
  4. do
  5. NEXTSTART=`wc -l /oracle/alert.log|cut -d" " -f1`

  6. sed -rn "$STARTLINE,\${/(ORA-)|(error)|(Error)/p}" /oracle/alert.log |xargs -i logger -t oracle -p syslog.error {}
  7. STARTLINE=$NEXTSTART
  8. STARTLINE=`expr $STARTLINE + 1 `
  9. sleep 1800
  10. ENDLINE=`wc -l /oracle/alert.log|cut -d" " -f1`

  11. done
復(fù)制代碼

論壇徽章:
2
射手座
日期:2014-10-10 15:59:4715-16賽季CBA聯(lián)賽之上海
日期:2016-03-03 10:27:14
3 [報告]
發(fā)表于 2011-05-17 16:01 |只看該作者
回復(fù) 1# deargentle


    供你參考:
  1. #!/bin/bash

  2. if grep 'ORA-|error|Error' /oracle/alert.log >/dev/null
  3. then
  4. logger -f /oracle/alert.log > /var/log/messages
  5. sleep 1800
  6. else
  7. sleep 1800
  8. fi
復(fù)制代碼

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀(jì)念章
日期:2016-05-31 15:47:20CU十四周年紀(jì)念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
4 [報告]
發(fā)表于 2011-05-17 16:08 |只看該作者
回復(fù) 2# yinyuemi


    沒有滿足每隔30分鐘檢查啊?
    怎樣在linux 下建一個任務(wù),每30min 運(yùn)行一次腳本啊,求大神賜教

論壇徽章:
0
5 [報告]
發(fā)表于 2011-05-17 16:12 |只看該作者
本帖最后由 deargentle 于 2011-05-17 16:16 編輯

crontab也可以啊,呵呵
*/30   *   *   *   *   cmd

關(guān)鍵是怎么實(shí)現(xiàn)不能重復(fù) , alert.log日志有時間戳的,就是不知道怎么做
“如果log有新增的錯誤信息則再發(fā)送給messages,沒有則不發(fā)送,之前檢查出的不要重復(fù)寫”
單純的把日志發(fā)送給message,沒有問題。

我需求的目的是通過日志服務(wù)器收集日志,再做分析和預(yù)警。

論壇徽章:
10
天蝎座
日期:2013-09-22 22:32:23程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-07 06:20:00lufei
日期:2016-06-17 17:38:40程序設(shè)計版塊每日發(fā)帖之星
日期:2016-06-12 06:20:002016科比退役紀(jì)念章
日期:2016-05-31 15:47:20CU十四周年紀(jì)念徽章
日期:2016-05-27 12:24:562015年亞洲杯之阿曼
日期:2015-05-03 21:01:352015年辭舊歲徽章
日期:2015-03-03 16:54:15天蝎座
日期:2013-10-20 21:05:24程序設(shè)計版塊每日發(fā)帖之星
日期:2016-08-11 06:20:00
6 [報告]
發(fā)表于 2011-05-17 16:14 |只看該作者
本帖最后由 liion631818 于 2011-05-17 16:16 編輯

怎么區(qū)分是不同的error? 只用error Error ORA- 沒辦法判斷啊

論壇徽章:
0
7 [報告]
發(fā)表于 2011-05-17 16:25 |只看該作者
本帖最后由 nuclearxin 于 2011-05-17 18:57 編輯

  1. #!/bin/sh
  2. STARTLINE=1;
  3. while :
  4. do
  5. NEXTSTART=`wc -l /oracle/alert.log|cut -d" " -f1`

  6. sed -rn "$STARTLINE,\${/(ORA-)|(error)|(Error)/p}" /oracle/alert.log |xargs -i logger -t oracle -p syslog.error {}
  7. STARTLINE=$NEXTSTART
  8. STARTLINE=`expr $STARTLINE + 1 `
  9. sleep 1800
  10. ENDLINE=`wc -l /oracle/alert.log|cut -d" " -f1`

  11. done
復(fù)制代碼

論壇徽章:
0
8 [報告]
發(fā)表于 2011-05-17 16:28 |只看該作者
時間無法精確了。。。
除非用 fork
perl 容易fork
shell的話需要 用來read pipe 來模擬
麻煩 容易被搶hehe

論壇徽章:
0
9 [報告]
發(fā)表于 2011-05-17 16:43 |只看該作者
本帖最后由 deargentle 于 2011-05-17 16:51 編輯

時間不用太精確,循環(huán)檢查過的不用重復(fù)寫。

呵呵。

論壇徽章:
0
10 [報告]
發(fā)表于 2011-05-17 16:56 |只看該作者
文件是一直變大嗎?
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復(fù)

  

北京盛拓優(yōu)訊信息技術(shù)有限公司. 版權(quán)所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關(guān)心和支持過ChinaUnix的朋友們 轉(zhuǎn)載本站內(nèi)容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP