精华内容
下载资源
问答
  • 搜索日志、如何搜索日志

    千次阅读 2018-08-17 13:52:47
    EventLog Analyzer提供了专门的日志搜索功能,你可以搜索原始日志来发现网络异常,如:错误的配置、病毒、非法访问、应用错误等等。点击“搜索”标签。日志搜索栏如下: 选择具体的主机、主机组 把搜索范围限制到...

    搜索日志、如何搜索日志
    EventLog Analyzer提供了专门的日志搜索功能,你可以搜索原始日志来发现网络异常,如:错误的配置、病毒、非法访问、应用错误等等。点击“搜索”标签。日志搜索栏如下:

    选择具体的主机、主机组
    把搜索范围限制到具体的主机或主机组。在文本框中输入或者通过“选择主机”链接选择。如果没有指定主机,就会在所有的主机日志中搜索。
    选择日志类型
    选择具体的搜索日志类型(例如:Windows事件日志、syslog、Oracle日志等),通过日志类型下拉菜单选择。如果没有指定类型,就会在所有类型的日志中搜索。
    默认情况下,即你没有输入主机或主机组、并且选择默认的所有日志类型,那么你就可以搜索所有主机的所有类型的日志。
    搜索类型
    EventLog Analyzer支持“基本”和“高级”搜索。你可以使用通配符搜索、逻辑搜索、分组搜索和范围搜索。
    基本搜索
    如果你要手动输入你的搜索字符串(搜索条件),请选择“基本搜索”链接。

    搜索字段值
    在搜索框中直接输入搜索值。

    搜索字段
    在搜索框中直接输入字段名称和值。一对字段名称和值表达式为<字段名称> = <字段值>
    例如:EVENTID = 529

    高级搜索
    通过交互式的搜索创建器来帮助你创建复杂的搜索表达式。请选择高级搜索链接。

    设置搜索条件
    你可以把搜索条件分组,每组可以有过个字段。字段之间和分组直接都可以使用逻辑操作符(AND/OR)来连接。

    完成条件定义之后,点击应用按钮。
    搜索框中显示刚刚定义的搜索表达式,点击执行按钮开始搜索。
    搜索结果中包含结果图表以及所有符合条件的日志。结果图表只显示2周的数据。

    说明:如果数据不足2周,那么只能显示现有天数的图表。
    如何清除和保持查询?

    清除搜索
    “清除搜索”用来清除当前的搜索条件。
    保存搜索
    如果你需要搜索结果,那么点击“保存搜索”链接来保存搜索,相应的搜索结果就保存为报表配置文件。


    更多示例——基本搜索
    使用逻辑操作符
    使用逻辑操作符表达式的格式为<字段名称> = <字段值> <逻辑符号> <字段名称> = <字段值>。可以使用的逻辑操作符有:AND、OR、NOT。
    例如:HOSTNAME = 192.168.117.59 AND USERNAME = guest

    使用比较操作符
    使用比较操作符表达式的格式为<字段名称> <比较操作符> <字段值>。可以使用的比较操作符有:=、!=、>、<、>=、 <=。
    例如:HOSTNAME != 192.168.117.59

    使用通配符
    使用通配符表达式的格式为<字段名称> = <部分字段值> <通配符>。可以使用的通配符有:?表示单个字符;*表示多个字符。
    例如:HOSTNAME = 192.*

    使用词组
    使用词组表达式的格式为<字段名称> = <“部分字段值">。使用英文双引号("")在字段值中定义词组。
    例如:MESSAGE = “session"

    使用范围
    使用范围表达式的格式为<字段名称> = [<起始值> TO <结束值>]。使用英文中括号[]来定义字段值的起始范围。
    例如:USERNAME = [k To z]

    使用字段分组
    使用分组字段表达式的格式为(<字段名称> = <字段值> <逻辑操作符>.<字段名称> = <字段值>) <逻辑操作符>.<字段名称> = <字段值>。把字段使用英文小括号()进行逻辑分组。
    例如:(SEVERITY = debug or FACILITY = user) and HOSTNAME = 192.168.117.59

    展开全文
  • 这是网上找的一个搜狗搜索日志记录,总共有五百万条用户的搜索信息,可以为练习大数据的数据源,这是网上找的一个搜狗搜索日志记录,总共有五百万条用户的搜索信息,可以为练习大数据的数据源,这是网上找的一个...
  • linux grep 正则搜索某段时间日志

    千次阅读 2019-10-04 22:26:04
    命令: grep '时间' '日志文件名 ' 通过正则表达式匹配一段时间的日志信息, grep "2019-09-23 14:58:52,4[1-3][1-9]" logs
    命令: grep '时间' '日志文件名 '

    通过正则表达式匹配一段时间的日志信息,

    grep "2019-09-23 14:58:52,4[1-3][1-9]" logs

     

    展开全文
  • 携程10TB级日志的秒级搜索v3
  • 项目调用ES日志检索接口,实现简单的日志界面展示;操作数据,然后通过数据去渲染页面,而不是直接操作DOM 日志检索语法 简单的对基本的语法做一个总结 1.语法关键字 + - && || ! ( ) { } [ ] ^ “ ~ * ...

    项目调用ES日志检索接口,实现简单的日志界面展示;操作数据,然后通过数据去渲染页面,而不是直接操作DOM

    日志检索语法

    简单的对基本的语法做一个总结

    1.语法关键字

    + - && || ! ( ) { } [ ] ^ “ ~ * ? : /
    如果所要查询的查询词中本身包含关键字,则需要用\进行转义(注意是本身!)

    例1:rvm:5100/kibana/kibana:6.7.0

     

    例2:[MessageBroker-1]

     

    2.查询词(Term)

    支持两种查询词,一种是单一查询词,如”hello”,一种是词组(phrase),如”hello world”。

    例1:Unexpected

     

    例2:”not get “

     

    3. 查询域(Field)

    在查询语句中,可以指定从哪个域中寻找查询词,如果不指定,则从默认域中查找。
    查询域和查询词之间用:分隔,如title:”Do it right”。
    :仅对紧跟其后的查询词起作用,如果title:Do it right,则仅表示在title中查询Do,而it right要在默认域中查询。

    例1:stream:”stdout”

     

    例2:只搜“1”,可以搜到log和message两个字段都有1,搜 log:“1”,只可以搜到log字段的1

     

    4.通配符查询(Wildcard)

    支持两种通配符:?表示一个字符,*表示多个字符。
    通配符可以出现在查询词的中间或者末尾,如te?t,test*,te*t,但决不能出现在开始,如*test,?test。

    例1:k8s-?

     

    例2: k8s-*

     

    例3:kube-syst*m

     

    5.模糊查询(Fuzzy)

    模糊查询的算法是基于Levenshtein Distance,也即当两个词的差别小于某个比例的时候,就算匹配,如roam~0.8,即表示差别小于0.2,相似度大于0.8才算匹配。

    例1:fetc~

     

    例2:con~

     

    6.临近查询(Proximity)

    在词组后面跟随~10,表示词组中的多个词之间的距离之和不超过10,则满足查询。
    所谓词之间的距离,即查询词组中词为满足和目标词组相同的最小移动次数。
    如索引中有词组”apple boy cat”。
    如果查询词为”apple boy cat”~0,则匹配。
    如果查询词为”boy apple cat”~2,距离设为2方能匹配,设为1则不能匹配。

    步数123
    (0)boyapplecat
    (1) boy catapple
    (2)appleboycat

    如果查询词为”cat boy apple”~4,距离设为4方能匹配。

    步数123
    (0)catboyapple
    (1) cat boyapple
    (2) boycat apple
    (3) boy applecat
    (4)appleboycat

    例1:”not get user”~0

     

    例2:”get not user”~3

     

    7.区间查询(Range)

    区间查询包含两种,一种是包含边界,用[A TO B]指定,一种是不包含边界,用{A TO B}指定。
    如date:[20020101 TO 20030101],当然区间查询不仅仅用于时间,如title:{Aida TO Carmen}

    例1:hostname:{k8s-1 TO k8s-5}

     

    8.增加一个查询词的权重(Boost)

    可以在查询词后面加^N来设定此查询词的权重,默认是1,如果N大于1,则说明此查询词更重要,如果N小于1,则说明此查询词更不重要。
    如jakarta^4 apache,”jakarta apache”^4 “Apache Lucene”

    例1:network^4 error

     

    9.布尔操作符

    布尔操作符包括连接符,如AND,OR,和修饰符,如NOT,+,-。
    默认状态下,空格被认为是OR的关系,QueryParser.setDefaultOperator(Operator.AND)设置为空格为AND。
    +表示一个查询语句是必须满足的(required),NOT和-表示一个查询语句是不能满足的(prohibited)。

    例1:network AND error

     

    例2: network OR error

     

    10.组合

    可以用括号,将查询语句进行组合,从而设定优先级。
    如(jakarta OR apache) AND website

    例1:network AND (error OR success)

     

    前端高亮显示kibana搜索结果

    那界面如何实现key值标蓝显示,搜索结果标黄显示呢?
    ES接口可以返回哪些是搜索结果,对应在文本中替换即可。

     

    import React, { PureComponent, Fragment } from 'react';
    import { connect } from 'dva';
    import { formatMessage } from 'umi-plugin-react/locale';
    import { Card, Button, DatePicker, Modal, notification } from 'antd';
    import RefreshTable from '@/components/RefreshTable';
    import PageHeaderWrapper from '@/components/PageHeaderWrapper';
    import styles from './Log.less';
    import AceEditor from 'react-ace';
    import jQuery from 'jquery';
    import brace from 'brace';
    import 'brace/mode/json';
    import 'brace/mode/yaml';
    import 'brace/theme/github';
    const $ = jQuery;
    
    const { RangePicker } = DatePicker;
    
    @connect(({ log, loading }) => ({
      log,
      loading: loading.models.log,
    }))
    class Log extends PureComponent {
      state = {
        pageSize: 50,
        pageNo: 1,
        filterParam: '',
        sortBy: '',
        sortFlag: 'desc',
        startTime: null,
        endTime: null,
        initFlag: true,
        logAll: [],
        renderStartFlag: true,
        renderParam: '',
      };
    
      lastlog = [];
    
      columns = [
        {
          title: '日志内容',
          dataIndex: '_source',
          disabled: true,
          key: '_source',
          render: (text, record, index) => (
            // 日志显示内容很多,且页面渲染,所以根据高度折叠;点击+查看更多
            <div
              style={{
                height: $('.antd-pro-pages-log-log-logColor').height() * 3 + Number(12),
                overflow: 'hidden',
              }}
            >
              {record._source &&
                this.getLogArr(record._source, index, record.highlight) &&
                this.getLogArr(record._source, index, record.highlight).length !== 0 &&
                this.getLogArr(record._source, index, record.highlight).map(item => (
                  <Fragment>
                    {/* 每个key值标蓝 logColor是蓝色样式 */}
                    <span className={styles.logColor}>{Object.keys(item)[0]}</span>
                    {/* 因为value值会对搜索结果标黄,span包裹搜索结果,所以需渲染html */}
                    <span
                      className={styles.logText}
                      dangerouslySetInnerHTML={{ __html: Object.values(item)[0] }}
                    ></span>
                  </Fragment>
                ))}
            </div>
          ),
        },
        {
          title: '创建时间',
          dataIndex: 'time',
          sorter: true,
          width: 155,
          key: 'time',
        },
      ];
    
      componentDidMount() {
        // 一开始获取日志数据
        this.getServiceList();
      }
    
      getServiceList = value => {
        const { dispatch } = this.props;
        let params = {};
        if (!value) {
          const { pageSize, pageNo, filterParam, sortBy, sortFlag } = this.state;
          params = {
            pageSize,
            pageNo,
            keyword: filterParam.trim(),
            sortBy,
            sortFlag,
          };
        } else {
          params = value;
        }
        delete params.sortBy;
    
        dispatch({
          type: 'log/fetch',
          payload: params,
          callback: res => {
            this.setState({
              renderStartFlag: true,
              startLogTime: res.data.startTime,
              endLogTime: res.data.endTime,
            });
          },
        });
      };
    
      getLogArr = (logData, index, highlight) => {
        // highlight每一行数据标黄部分
        const { renderParam, initFlag, renderStartFlag } = this.state;
    
        if (!initFlag && !renderStartFlag) {
          let resultArr = [];
          resultArr = this.lastlog[index];
          return resultArr;
        }
    
        let logArr = [];
        if (logData && Object.keys(logData).length !== 0) {
          Object.keys(logData).forEach(item => {
            if (typeof logData[item] !== 'object') {
              // 如果不是对象,直接显示
              let logObj = {};
              logObj[item] = logData[item];
              logArr.push(logObj);
            } else {
              // 还是对象,继续循环
              Object.keys(logData[item]).forEach(citem => {
                if (typeof logData[item][citem] !== 'object') {
                  let logObj = {};
                  logObj[`${item}.${citem}`] = logData[item][citem];
                  logArr.push(logObj);
                } else {
                  Object.keys(logData[item][citem]).forEach(sitem => {
                    let logObj = {};
                    logObj[`${item}.${citem}.${sitem}`] =
                      typeof logData[item][citem][sitem] === 'string'
                        ? logData[item][citem][sitem]
                        : JSON.stringify(logData[item][citem][sitem]);
                    logArr.push(logObj);
                  });
                }
              });
            }
          });
        }
        let resultArr = [];
        let beforeArr = [];
        let afterArr = [];
        if (renderParam !== '' && renderStartFlag && highlight) {
          logArr.forEach(item => {
            Object.keys(highlight).forEach(jitem => {
              if (jitem === Object.keys(item)[0]) {
                let itemValue = highlight[jitem][0];
                itemValue = itemValue.replace(/</g, `&lt;`);
                itemValue = itemValue.replace(/>/g, `&gt;`);
                // 返回结果需高亮标黄的搜索结果;且把包含搜索结果的键值对提前
                itemValue = itemValue.replace(
                  /@kibana-highlighted-field@/g,
                  `<span class='logYellow'>`
                );
                itemValue = itemValue.replace(/@\/kibana-highlighted-field@/g, `</span>`);
    
                item[Object.keys(item)[0]] = itemValue;
                beforeArr.push(item);
              } else {
                afterArr.push(item);
              }
            });
          });
          resultArr = beforeArr.concat(afterArr);
        } else {
          resultArr = logArr;
        }
        this.lastlog[index] = resultArr;
    
        return resultArr;
      };
    
    
      render() {
        const {
          log: { data },
          loading,
          route,
        } = this.props;
    
        return (
          <PageHeaderWrapper content={`${formatMessage({ id: `logCaption` })}`}>
            <Card bordered={false}>
              <RefreshTable
                data={data && data.data ? data.data : {}}
                rowKey={record =>
                  `${record.id}/${record._source['@timestamp']}/${record._source['docker'] &&
                    record._source['docker']['container_id']}/${record._source['_BOOT_ID']}`
                }
                columns={this.columns}
                locale={locle}
                expandedRowRender={record => (
                  <AceEditor
                    width="100%"
                    mode="json"
                    key={record._source['@timestamp']}
                    height="300px"
                    value={record._source ? JSON.stringify(record._source, null, 4) : ''}
                    theme="github"
                    name="UNIQUE_ID_OF_DIV"
                    editorProps={{ $blockScrolling: true }}
                  />
                )}
              >
              </RefreshTable>
            </Card>
          </PageHeaderWrapper>
        );
      }
    }
    
    export default Log;

     

    展开全文
  • grep (global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。用于过滤/搜索的特定...

    what’s grep

    grep (globally search a regular expression and print,以正则表达式進行全域尋找以及列印)是一种强大的文本搜索工具,在给出文件列表或标准输入后,grep会对匹配一个或多个正则表达式的文本进行搜索,并只输出匹配的行或文本。十分灵活和强大

    前言

    grep的强大,在于他与其他命令一起的连用,从简单到复杂,拼接功能实现强大的逻辑

    例如这么一个功能,需要各种神方法从服务器搜索日志:

    • 查找包含指定关键字的文件的文件名(包含某一错误信息的日志文件名,一般带有日期)
    • 查找包含指定关键字的文件的行(包含某一错误信息的行,一般带有行号或者错误位置或者日期等其他信息)
    • 输出包含指定关键字每天出现的次数(假设日志错误行包含有日期或者日志文件名包含日期)
    • 从固定格式的文件中输出指定行内容(适用于报文/批量等固定格式的文件)
    • 输出到日志文件(控制台不便于copy和整理)

    需要

    • cd切换到日志文件的目录
    • Windows可以用 git bash 或者 装个cmder(推荐) ,Linux下直接使用原生Shell即可
    • 输出的日志文件会影响到查找的内容,主要不要输出在当前文件夹,或者输出后处理掉,避免影响结果(因为在同个目录下)
    • 正则表达式记不住没关系,从 https://tool.oschina.net/regex 找即可

    可能会一起用到的命令

    • cat
    • awk
    • sed

    实战

    以下命令省略后面的>error500-x.txt 输出到文件的指令,需要请自行在尾部添加.

    1. 查找包含500错误的行内容并输出到error500.txt
    grep -rn "HTTP protocol error 500 (Internal Server Error)"
    

    控制台输出包含指定关键字的行

    ServerLog_2020_01_07_08_02_39.log:685:          2020-01-07 08:02:42 0061                     'protocol error 500 (Internal Server Error): 3rd System API '
    
    1. 查找包含500错误的日期,-oE后面加正则表达式用于提取日期
    grep -rn "HTTP protocol error 500 (Internal Server Error)" | grep -oE "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][0-9]|2[0-8])))"
    

    控制台输出
    在这里插入图片描述

    1. 查找包含500错误的日期并进行分组统计,awk "{s[$1]+=1}END{ for(i in s){ print i, s[i] } }" 中的+=1代表遇到1个就累计加一,但那时有些情况需要累计加0.5,例如一行出现两个日期等等,根据实际情况修改
    grep -rn "HTTP protocol error 500 (Internal Server Error)" | grep -oE "([0-9]{3}[1-9]|[0-9]{2}[1-9][0-9]{1}|[0-9]{1}[1-9][0-9]{2}|[1-9][0-9]{3})-(((0[13578]|1[02])-(0[1-9]|[12][0-9]|3[01]))|((0[469]|11)-(0[1-9]|[12][0-9]|30))|(02-(0[1-9]|[1][ 0-9]|2[0-8])))"  | Sort |  awk "{s[$1]++}END{ for(i in s){  print i, s[i] } }"
    

    控制台输出
    在这里插入图片描述

    1. 输出固定行内容,470,470p代表输出第470行,470,480p代表输出470~480行.
    sed -n '470,470p' SeverLog_2020_01_08_08_19_40.log
    

    控制台输出

    020-01-08 08:19:40 0169 Environment=PROD,v_user_id=zhengkai2020upupup
    

    附录:grep命令参数大全

    • -a 或 --text : 不要忽略二进制的数据。
    • -A<显示行数> 或 --after-context=<显示行数> : 除了显示符合范本样式的那一列之外,并显示该行之后的内容。
    • -b 或 --byte-offset : 在显示符合样式的那一行之前,标示出该行第一个字符的编号。
    • -B<显示行数> 或 --before-context=<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前的内容。
    • -c 或 --count : 计算符合样式的列数。
    • -C<显示行数> 或 --context=<显示行数>或-<显示行数> : 除了显示符合样式的那一行之外,并显示该行之前后的内容。
    • -d <动作> 或 --directories=<动作> : 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
    • -e<范本样式> 或 --regexp=<范本样式> : 指定字符串做为查找文件内容的样式。
    • -E 或 --extended-regexp : 将样式为延伸的正则表达式来使用。
    • -f<规则文件> 或 --file=<规则文件> : 指定规则文件,其内容含有一个或多个规则样式,让grep查找符合规则条件的文件内容,格式为每行一个规则样式。
    • -F 或 --fixed-regexp : 将样式视为固定字符串的列表。
    • -G 或 --basic-regexp : 将样式视为普通的表示法来使用。
    • -h 或 --no-filename : 在显示符合样式的那一行之前,不标示该行所属的文件名称。
    • -H 或 --with-filename : 在显示符合样式的那一行之前,表示该行所属的文件名称。
    • -i 或 --ignore-case : 忽略字符大小写的差别。
    • -l 或 --file-with-matches : 列出文件内容符合指定的样式的文件名称。
    • -L 或 --files-without-match : 列出文件内容不符合指定的样式的文件名称。
    • -n 或 --line-number : 在显示符合样式的那一行之前,标示出该行的列数编号。
    • -o 或 --only-matching : 只显示匹配PATTERN 部分。
    • -q 或 --quiet或–silent : 不显示任何信息。
    • -r 或 --recursive : 此参数的效果和指定"-d recurse"参数相同。
    • -s 或 --no-messages : 不显示错误信息。
    • -v 或 --revert-match : 显示不包含匹配文本的所有行。
    • -V 或 --version : 显示版本信息。
    • -w 或 --word-regexp : 只显示全字符合的列。
    • -x --line-regexp : 只显示全列符合的列。
    • -y : 此参数的效果和指定"-i"参数相同。
    展开全文
  • Linux搜索日志关键字的2种方法

    千次阅读 2020-07-15 10:43:45
    1.1 查看日志前n行 cat 文件名 | head -n 数量 cat info.log | head -n 200 # 查看info.log前200行 1.2 查看日志尾n行 cat 文件名 | tail -n 数量  cat info.log | tail -n 200 # 查看info.log后200行 ...
  • Linux 搜索日志信息

    千次阅读 2018-06-06 11:32:00
    Linux 搜索日志信息 在工作中我们经常要通过日志来查找问题,但有时候日志太多又不知道日志什么时候打印的,这时我们可以通过一下方法来查找: 1、进入到日志文件存放的目录下 2、grep 关键字 * 例如...
  • Linux在日志搜索关键词

    千次阅读 2018-12-07 12:32:48
    1、查看日志 前 n行:  cat 文件名 | head -n 数量  demo:  cat test.log | head -n 200 # 查看test.log前200行 2、查看日志 尾 n行:  cat 文件名 | tail -n 数量  demo:  cat test.log | tail...
  • 用ELK 实时处理搜索日志

    千次阅读 2016-01-27 17:53:38
    搜索日志采用log4j生成,logstash检测到传递给elasticsearch。 log4j: log4j.appender.E.layout.ConversionPattern= %d|%m%n logstash配置  新增logstash_search.conf: input { file { type ...
  • grep命令搜索日志

    千次阅读 2018-10-25 17:15:12
    查看mysql慢日志中ip地址为192.168.0.10发送过来的SQL语句的后面三行     tail -50 /usr/local/mysql/data/sql-slow.log |grep -3 ‘192.168.0.10’    匹配php错误日志中某一个字段  2,...
  • 在Linux系统中使用xShell如何搜索查找文件里面的内容是查找问题、系统维护当中最常见的需求。搜索、查找文件当中的内容,一般最常用的是grep命令,另外还有egrep, vi命令也能搜索文件里面内容 假如是非压缩包文件,...
  • Kibana也能做到类似grafana那样的炫酷图象化展示,更加立体的表现日志情况,首先选择左侧菜单栏里的“Visualize”(可视化): 然后点击“Create a Visualization”,里面既有很多种图形供你选择,有饼型,有...
  • 使用Elasticsearch搜索log4j日志

    千次阅读 2019-05-06 10:52:26
    当服务报错时,即时定位错误将会变得麻烦,这时候可能迫切需要一个能统一查看甚至是搜索日志的平台,前一阵子学习了ElasticSearch,又碰巧看了log4j的实现,花了一天时间,笔者鼓捣出了一个日志搜索平台,使用的技术...
  • 搜狗搜索日志分析

    万次阅读 2019-09-29 09:07:37
    本文利用搜狗搜索日志的500w条数据,对搜索日志进行了一系列的分析。主要分为两个阶段,第一阶段是数据准备、数据预处理和数据加载阶段,第二阶段为分析阶段。 第一阶段首先下载数据,并在自己电脑上安装好实验所需...
  • 日志文件搜索关键字算法

    千次阅读 2018-08-19 11:26:26
    //按行读取日志文件,对每一行分别计算关键字次数,累加进map while (line!= null ){ for ( int i= 0 ;i;i++){ line += " " ; //不加单词,若关键词在句末,则被遗漏 //通过split方法实现搜索关键字...
  • 浅谈搜索引擎日志分析(SEO)

    千次阅读 2015-02-28 12:51:47
    对于网站优化来说,搜索引擎日志分析是必不可少的一块,无论你是收录上百的小型网站,还是收录上百万的大中型网站,SEO要想做得好,都必需进行科学的日志分析,日志是发生在网站服务器上的所有事件的记录,包括用户...
  • Linux 日志文件搜索

    千次阅读 2018-01-31 14:10:08
    1. 通常查找出错误日志 cat error.log | grep 'nick' , 这时候我们还有个需求就是输出当前这个日志的前后几行: cat error.log | grep -C 5 'nick' 显示file文件里匹配foo字串那行以及上下5行 cat error....
  • 查看匹配的行数: grep-o“关键字xxxx”/etc/tomcat.log | wc–l 最近匹配的记录明细: grep“关键字xxx” -A 1 /etc/tomcat.log | tail–n 10 查看其中一条前后10行: grep-C 10“具体行的唯一......
  • less 查看日志,并且搜索

    万次阅读 2018-04-13 15:54:58
    一、关键字搜索日志【非常实用】 1:less catalina.out 2:大写字母:F【find的意思,并且其实他正在计算行数】直接到达日志最底部,也就是最新日志 3:ctrl+c【把上面的计算行数运算停止】 4:?要搜索的字符【用...
  • 像google那样搜索日志:Splunk

    千次阅读 2016-08-22 20:03:39
    “通过使用Splunk,在1.5小时,我们就可以进行完整的安全事件审查,可是就在从前,仅仅是为了在审查前找到所需的日志数据就需要花费一天半的时间。” Cisco “Splunk可以快速合并或关联异地的日志源,...
  • 使用less命令查看日志搜索关键字

    千次阅读 2019-09-24 16:15:57
    1、查看日志 less /var/log/messages Ctrl+F向前翻页 Ctrl+B向后翻页 n键向前继续显示搜索结果 Shift+n键向后复看搜索结果 2、ps查看进程信息并通过less分页显示 ps -ef |less 3、查看命令历史使用记录并...
  • 在如此之大的文件中快速搜索日志是运维人员经常遇见的问题。我们经常遇见的问题是查询一段时间的某些条日志。比如,今天有一个访问失败了,大约是在上午9点,把这条日志找出来,然后查找失败原因。常见处理方式及...
  • 在如此之大的文件中快速搜索日志是运维人员经常遇见的问题。我们经常遇见的问题是查询一段时间的某些条日志。比如,今天有一个访问失败了,大约是在上午9点,把这条日志找出来。查找失败原因。 常见处理方式及...
  • linux 在日志搜索关键字,并标红

    万次阅读 2018-09-01 00:32:38
    cat main.log |grep “关键字” –color -a10
  • docker 日志查询

    千次阅读 2018-10-02 16:51:35
    docker 日志查询 docker exec -it 29bab410a9fa /bin/bash 注意:29bab410a9fa 为容器ID; 容器日志查询: 1、docker ps 获取容器id 2、docker logs -f 容器ID/name
  • linux日志关键字查找

    万次阅读 2018-11-28 18:03:59
    1.全局搜索关键字所在文件夹 grep “要搜索的内容” * -Rn //此命令区分大小写,英文双引号要加上 ...2.滚动日志文件关键字高亮红色 tail -f 要搜索的文本 | perl -pe ‘s/(要搜索的内容)/\e[1;31m$1\e[0m/g’//...
  • 注意:这两个时间段,如果在日志中前者时间不存在,将查询不出来内容。 如果后者的值不存在,将相当于后面的限制没有起作用。 可以使用通配符进行时间段的查询。 sed -n '/2018\-06\-05 12:00:[ 0-9 ][ 0...
  • gzip -dc 文件名 | grep “搜索条件” 可以做到不解压日志压缩包直接搜索里面的内容
  • Linux学习日志--文件搜索命令

    千次阅读 2015-06-24 10:25:09
     学习了Linux中的文件搜索命令find和locate,系统搜索命令whereis 和which ,字符串搜索命令grep,find和locate的区别和用法格式,什么是path环境变量以及其好处,whereis和which的用法,区别在于查询系统命令内容...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 328,550
精华内容 131,420
关键字:

日志内搜索