日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

Nxlog研究

發(fā)布時間:2023/12/31 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Nxlog研究 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

1、日志收集策略有誤,如果填了不存在類型的日志就會報此種錯誤

> ERROR failed to subscribe to msvistalog events,the channel was not found > [error code: 15007]; The specified channel could not be found. Check > channel configuration.

2018-09-11 15:48:24 ERROR failed to subscribe to msvistalog events,the channel was not found [error code: 15007]; 無法找到指定的通道。請檢查通道配置。

2018-09-11 16:01:54 ERROR failed to subscribe to msvistalog events using bookmark: 指定的隊列無效。?

2018-09-11 16:01:54 ERROR failed to subscribe to msvistalog events,the Query is invalid: [error code: 15001]


調(diào)用函數(shù)

NXlog的核心包含了一些內(nèi)置的語法。它能夠完成一些更加復(fù)雜的日志處理功能。當(dāng)NXLog啟動的時候,內(nèi)置的語言就會被預(yù)編譯,如果程序出錯了,NXLog會提示錯誤信息的。

函數(shù)使用位置

1、指令中的變量 2、Exec中執(zhí)行相應(yīng)程序

NXLog語言不包含異常捕獲程序,如果出錯了,會在NXLog的日志中打印出來,如果在處理的時候出錯了,那很可能就會把日志丟掉了

類型?

NXLog語言是強類型程序,NXLog 語言只支持簡單類型,復(fù)雜的類型例如HashMap這種是不支持的

?

描述

一些內(nèi)置函數(shù)??內(nèi)置處理函數(shù)??
Unknown?未知類型?
Boolean?可用TRUE、FALSE、undefined?
Integer?整形?
String?字符串,undefined字符串和空字符串相等,一個字符串最多放1M,編譯時就決定了的?
Datetime?時間戳?
IPv4 Address?IP地址???
IPv6 Address?IP地址??
正則表達(dá)式?只能用=~ 或者!~操作符????
Binary?可用保存bytes數(shù)組??
Variadic arguments?變長參數(shù)?
表達(dá)式

和常規(guī)的開發(fā)語言差不多,變量用$xxx這樣聲明,一些示例:

條件非

ifnot$successlog_error("failure");?

正則匹配

if$Message=~/^Testmessage/log_info("matched");?

使用/g進(jìn)行全局替換

if$SourceName=~s//s/_/glog_info("removedallwhitespaceinSourceName");?

使用/s代替.*

if$Message=~/failure/slog_info("failurestringpresentinthemessage");?

/m能代替正則的^和$

/i能忽略大小寫匹配

靜態(tài)計數(shù)器?

NXLog有一些靜態(tài)計數(shù)器,可以用create_stat來調(diào)用

if$Message=~/loginfailure/?
{?
#createwillnodoanythingifthecounteralreadyexists?
create_stat('login_failures','RATE',45,$EventTime);?
add_stat('login_failures',1,$EventTime);?
ifget_stat('login_failures',$EventTime)>=3?
log_warning("3ormoreloginfailuresdetectedwithin45seconds");?
}?

COUNT?累計計數(shù)器?
COUNTMIN?計算給定變量的最小值?
COUNTMAX?計算給定變量的最大值?
AVG?計算給定變量的平均值?
AVGMIN?計算給定變量的最小值平均值的?
AVGMAX?計算給定變量的最小值平均值的
RATE?指定時間間隔的值?
RATEMIN?指定時間間隔的最小值??
RATEMAX?指定時間間隔的最大值?
GRAD?計算在指定的時間間隔上的計數(shù)器的速率的變化
GRADMIN?計算在指定的時間間隔上的計數(shù)器的速率的最大值?
GRADMAX?計算在指定的時間間隔上的計數(shù)器的速率的最小值?
string lc(string arg);?把字符串轉(zhuǎn)成小寫
string uc(string arg);?把字符串轉(zhuǎn)成大寫?
datetime now();?當(dāng)前時間?
string type(unknown arg);?返回變量類型,"boolean", "integer", "string", "datetime", "ip4addr", "ip6addr", "regexp", "binary"?
integer microsecond(datetime datetime);?轉(zhuǎn)為微秒?
integer second(datetime datetime);?轉(zhuǎn)為秒?
integer minute(datetime datetime);?轉(zhuǎn)為分鐘
integer hour(datetime datetime)?轉(zhuǎn)為小時?
integer day(datetime datetime)轉(zhuǎn)為天?
integer month(datetime datetime)?轉(zhuǎn)為月?
integer year(datetime datetime)?轉(zhuǎn)為年?
datetime fix_year(datetime datetime);?設(shè)置當(dāng)前時間的年,BSD syslog或者cisco timestamp會把年丟掉的?
integer dayofweek(datetime datetime)?返回一周的第幾天?
integer dayofyear(datetime datetime)?返回一年的第幾天?
string string(unknown arg);?轉(zhuǎn)為string?
integer integer(unknown arg)?轉(zhuǎn)為integer
datetime datetime(integer arg)?轉(zhuǎn)為datetime?
datetime parsedate(string arg)?

轉(zhuǎn)為date,

例:$EventTime = parsedate($somestring); if not defined($EventTime) $EventTime = now();?

string strftime(datetime datetime, string fmt);?格式化字符串?
datetime strptime(string input, string fmt);?格式化日期?
string hostname();?獲取主機名?
string hostname_fqdn();?獲取主機名?
ip4addr host_ip();?獲取主機IP?
ip4addr host_ip(integer nth);?獲取非本地回路IP?
unknown get_var(string varname);?獲取變量
integer get_stat(string statname);?獲取計數(shù)器的值?
integer get_stat(string statname, datetime time);?獲取計數(shù)器的值,如果不存在就把time設(shè)進(jìn)去?
ip4addr ip4addr(integer arg)?轉(zhuǎn)為ipv4類型?
ip4addr ip4addr(integer arg, boolean ntoa);?轉(zhuǎn)為IPV4類型,ntoa代表是否反轉(zhuǎn)?
string substr(string src, integer from);?字符串截取?
string substr(string src, integer from, integer to);?字符串截取?
string replace(string subject, string src, string dst);?字符串替換?
string replace(string subject, string src, string dst, integer count);?字符串替換?
integer size(string str);?獲取字符串長度?
boolean dropped();?如果當(dāng)前事件drop了,返回True?
log_debug(unknown arg, varargs args);打印日志,級別為Debug?
debug(unknown arg, varargs args);?打印日志,級別為Debug?
log_info(unknown arg, varargs args);?打印日志,級別為Info?
log_warning(unknown arg, varargs args);?打印日志,級別為Warning?
log_error(unknown arg, varargs args);?打印日志,級別為Error?
delete(unknown arg);?刪除日志里面的指定字段?
create_var(string varname);?創(chuàng)建模塊變量?
create_var(string varname, integer lifetime);?創(chuàng)建模塊變量并指定生存周期?
create_var(string varname, datetime expiry);?創(chuàng)建模塊變量并指定生存周期?
delete_var(string varname);?刪除變量?
set_var(string varname, unknown value);?設(shè)置變量?
create_stat(string statname, string type);?創(chuàng)建計數(shù)器?
create_stat(string statname, string type, integer interval);?創(chuàng)建計數(shù)器?
create_stat(string statname, string type, integer interval, datetime time);?創(chuàng)建計數(shù)器?
create_stat(string statname, string type, integer interval, datetime time, integer lifetime);?創(chuàng)建計數(shù)器?
create_stat(string statname, string type, integer interval, datetime time, datetime expiry);?創(chuàng)建計數(shù)器?
add_stat(string statname, integer value);?添加計數(shù)器值?
add_stat(string statname, integer value, datetime time);?添加計數(shù)器值?
sleep(integer interval);?休眠指定時長?
drop();?放棄處理當(dāng)前日志?
rename_field(string old, string new);?修改日志字段名稱?
reroute(string routename);動態(tài)指定路由?
add_to_route(string routename);?復(fù)制一份日志動態(tài)指定路由,不影響當(dāng)前日志流?

?

總結(jié)

以上是生活随笔為你收集整理的Nxlog研究的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。