前言 logstash 可以处理各类日志 对于 Mongod 的 Log 来说,情况既简单又复杂 简单性在于 mongodb patterns 已经都定义好了,拿来就能用;复杂性在于,这样抓出来的信息几乎没有太大价值...日志在不同类别下message部分的格式完全不一样,操作耗时信息是可有可无的 Tip: grok 预定义的正则匹配可以参考 grok patterns ,mongo的日志规范可以参考 Mongodb Log...,不同版本的格式也是不一样的 这里简单分享一下使用logstash处理 Mongod 日志的方法 ,相关的理论基础可以参考 grok Tip: 当前的最新版本为 MongoDB 3.2.1 ,Logstash
前言 mysql 升级过程中出现了general_log的缺失,下面分享一下处理过程 ---- 概要 ---- 什么是general_log 目前的mysql提供了两种查询日志, 这两种查询日志为 普通日志...(general log) 和 慢速日志(slow log) 慢速日志(slow log) 可以提供一种机制,将执行时间超过指定长度的语句记录下来 mysql> show variables like...| | log_slow_rate_limit | 1 | | log_slow_rate_type...| session | | log_slow_slave_statements | OFF | | log_slow_sp_statements...| | slow_query_log_file | slow.log | | slow_query_log_timestamp_always
f, _ := os.Create("gin.log") gin.DefaultWriter = io.MultiWriter(f) router := gin.Default()...router.Run() } 我们自定义了log的记录方式,但是这种方式国语简单,不利于我们收集错误信息。...= nil { fmt.Println(err.Error()) } logFileName := now.Format("2006-01-02") + ".log" //日志文件...logger := Logger() return func(c *gin.Context) { // 开始时间 startTime := time.Now() // 处理请求
前言 logstash 可以处理各类日志,对于Apache和Nginx的访问日志,由于遵循统一标准,在 grok patterns 中已经有现成定义, 一条 COMBINEDAPACHELOG 就可以匹配...但是对于 Mysql 的 Slow Log 来说,情况就要复杂得多,主要表现在格式不统一,字段比较随意,有些字段会偶尔出现,偶尔消失,sql内容也长段不一行数不定,所以目前也没有一个成熟的预定好的 patterns
检测配置 [root@h102 etc]# /opt/logstash/bin/logstash -f logstash-for-mongo.conf -t ...
/mysql/general_log.CSV ll general_log. du -sh general_log.* file general_log.CSV cat general_log.CSV...Query Log The General Query Log 5.2.3 The General Query Log The general query log is a general record...Possible destinations for log entries are log files or the general_log and slow_log tables in the mysql...To write slow query log entries only to the log file, use --log-output=FILE to select files as the log...log and slow query log files.
/mysql/general_log.CSV' (Errcode: 2 - No such file or directory) Error : Out of memory; check if mysqld.../mysql/general_log.CSV' (Errcode: 2 - No such file or directory) Error : Out of memory; check if mysqld.../mysql/general_log.CSV' (Errcode: 2 - No such file or directory) ERROR 1243 (HY000) at line 26: Unknown.../mysql/general_log.CSV' (Errcode: 2 - No such file or directory) ERROR 13 (HY000) at line 1598: Can't.../mysql/general_log.CSV' (Errcode: 2 - No such file or directory) FATAL ERROR: Upgrade failed real 0m5.161s
http://mpvideo.qpic.cn/0b78vuaakaaat4ame46tanpfblodawwqabia.f10002.mp4?dis_k=5a4...
表结构如下 mysql> desc general_log; +--------------+---------------------+------+-----+-------------------...[root@upgrade-slave mysql]# ll general_log.* -rw-r--r--. 1 root root 0 Dec 15 00:18 general_log.CSV...general_log.CSV [root@upgrade-slave mysql]# chmod 660 general_log.CSV [root@upgrade-slave mysql]# ll...general_log.* -rw-rw----. 1 mysql mysql 0 Dec 15 00:18 general_log.CSV -rw-------. 1 mysql mysql...8776 Dec 14 23:37 general_log.frm [root@upgrade-slave mysql]#
OK mysql.func OK mysql.general_log...OK mysql.slave_master_info OK mysql.slave_relay_log_info...ERROR 1194 (HY000) at line 1591: Table 'general_log' is marked as crashed and should be repaired ERROR...1194 (HY000) at line 1598: Table 'general_log' is marked as crashed and should be repaired FATAL ERROR...: Upgrade failed real 0m5.853s user 0m0.055s sys 0m0.066s [root@upgrade-slave ~]# 这时general_log 被认为已经
此时多出来一个文件 general_log.CSM [root@upgrade-slave mysql]# ll general_log.* -rw-rw----. 1 mysql mysql 35...Dec 15 00:22 general_log.CSM -rw-rw----. 1 mysql mysql 0 Dec 15 00:18 general_log.CSV -rw-------....1 mysql mysql 8776 Dec 15 00:22 general_log.frm [root@upgrade-slave mysql]# 再次尝试升级 [root@upgrade-slave...OK mysql.func OK mysql.general_log...OK mysql.slave_master_info OK mysql.slave_relay_log_info
match => [ "timestamp", "ISO8601" ] #remove_field => [ "timestamp" ] } } Item Comment filter { 框定处理逻辑的定义范围
grokparsefailure" ] } ---- 配置分析 input input { stdin {} file { type=>"mongolog" path=>"/tmp/xyz.log...生产中不会这样配置,一般用来进行交互调试) file { 定义了一个输入源,使用 file 插件从指定文本读取数据 type=>"mongolog" 指定读入数据的类型 path=>"/tmp/xyz.log..." 指定输入源文件的地址,必须为绝对路径 start_position => beginning 指定读取特性,默认为跟踪新生成的记录或条目 合起来的意思就是:从终端读取,从 /tmp/xyz.log
Your MySQL connection id is 17 Server version: 5.6.27-75.0-log Percona Server (GPL), Release 75.0, Revision...| db | | event | | func | | general_log...proxies_priv | | servers | | slave_master_info | | slave_relay_log_info...| | slave_worker_info | | slow_log | | tables_priv | | time_zone...Op | Msg_type | Msg_text | +-------------------+--------+----------+----------+ | mysql.general_log
Timestamp 默认是使用的 iso8601-local Severity Levels Level Description F Fatal E Error...
/mysql/general_log.CSV ls: ....mysql]# ll general_log.* -rw------- 1 mysql mysql 8776 Apr 21 2011 general_log.frm [root@old-master...mysql]# ll general_log. general_log.CSM general_log.CSV general_log.frm [root@normal-instancek mysql...]# du -sh general_log.* 4.0K general_log.CSM 0 general_log.CSV 12K general_log.frm [root@normal-instancek...mysql]# file general_log.CSV general_log.CSV: empty [root@normal-instancek mysql]# cat general_log.CSV
普通日志(general log) 可以提供一种机制,能将打开日志期间所有的语句记录下来,由于开销比较大,所以正常情况下是关闭的,只在进行深度分析时打开 General query log A type...Unlike the binary log, which is used for replication, the general query log contains SELECT statements...| OFF | | general_log_file | /var/lib/mysql/general.log |...设定为 FILE ,则会记录到 general_log_file 中去 mysql> show variables like "%log_output%"; +---------------+----...------+ 1 row in set (0.00 sec) mysql> 如果为 TABLE 则会写到 mysql.general_log 中,关于general_log的详细机制,可以参考附录中的相关资料
output output { elasticsearch { hosts => ["localhost:9200"] index=>"mongodb-slow-log-%...elasticsearch 插件来进行输出,将结果输出到ES中 hosts => ["localhost:9200"] 指定es的目标地址为 localhost:9200 index=>"mongodb-slow-log...logstash-%{+YYYY.MM.dd} stdout { codec => rubydebug } 定义了一个出口,使用 stdout 插件将信息输出到标准输,也就是终端,并且使用 rubydebug 插件处理过后进行展示...内容可能有,也可能无,如果有,以 [ 开头,且以 ] 结尾,中间的任何内容放到 context 中 Tip: 可以参考 mongodb patterns 中的匹配设置 ,MONGO3_LOG %{TIMESTAMP_ISO8601
.*\}(\s+%{NUMBER:spend_time:int}ms$)? Item Comment .* 匹配任意内容 \} 匹配 } (\s+%{NUMBE...
cat logstash-for-mongo.conf input { stdin {} file { type=>"mongolog" path=>"/tmp/xyz.log..." ] } } output { elasticsearch { hosts => ["localhost:9200"] index=>"mongodb-slow-log
领取专属 10元无门槛券
手把手带您无忧上云