日志管理Rsyslog

日志管理Rsyslog

[TOC]

背景

有一個(gè)4臺(tái)機(jī)器的分布式服務(wù)散休,不多不少,上每臺(tái)機(jī)器上查看日志比較麻煩园匹,用Flume雳刺,LogstashElasticSearch偎肃、Kibana等分布式日志管理系統(tǒng)又顯得大材小用煞烫,所以想到了centos自帶的rsyslog。

簡(jiǎn)介

Rsyslog可以簡(jiǎn)單的理解為syslog的超集累颂,在老版本的Linux系統(tǒng)中滞详,Red Hat Enterprise Linux 3/4/5默認(rèn)是使用的syslog作為系統(tǒng)的日志工具,從RHEL 6 開始系統(tǒng)默認(rèn)使用了Rsyslog紊馏。

Rsyslog 是負(fù)責(zé)收集 syslog 的程序料饥,可以用來取代 syslogd 或 syslog-ng。 在這些 syslog 處理程序中朱监,個(gè)人認(rèn)為 rsyslog 是功能最為強(qiáng)大的岸啡。 其特性包括:

  • 支持輸出日志到各種數(shù)據(jù)庫(kù),如 MySQL赫编,PostgreSQL巡蘸,MongoDB奋隶,ElasticSearch,等等悦荒;
  • 通過 RELP + TCP 實(shí)現(xiàn)數(shù)據(jù)的可靠傳輸(基于此結(jié)合豐富的過濾條件可以建立一種 可靠的數(shù)據(jù)傳輸通道供其他應(yīng)用來使用)唯欣;
  • 精細(xì)的輸出格式控制以及對(duì)消息的強(qiáng)大 過濾能力;
  • 高精度時(shí)間戳搬味;隊(duì)列操作(內(nèi)存境氢,磁盤以及混合模式等); 支持?jǐn)?shù)據(jù)的加密和壓縮傳輸?shù)取?/li>

版本查看

$rsyslogd -version
rsyslogd 3.22.1, compiled with:
    FEATURE_REGEXP:             Yes
    FEATURE_LARGEFILE:          Yes
    FEATURE_NETZIP (message compression):   Yes
    GSSAPI Kerberos 5 support:      Yes
    FEATURE_DEBUG (debug build, slow code): No
    Atomic operations supported:        Yes
    Runtime Instrumentation (slow code):    No

See http://www.rsyslog.com for more information.

安裝

yum -y rsyslog
#查看是否安裝了rsyslog
rpm -qa | grep rsyslog
#如果還需要?jiǎng)e的組件(mysql模塊,日志輪轉(zhuǎn))
yum -y rsyslog-mysql  
yum -y logrotate

啟動(dòng)/停止

/etc/init.d/rsyslog start
/etc/init.d/rsyslog stop
/etc/init.d/rsyslog restart

//幫助文檔 man rsyslogd, 或者輸入一個(gè)錯(cuò)誤的命令
$rsyslogd --help
rsyslogd: invalid option -- '-'
usage: rsyslogd [-c<version>] [-46AdnqQvwx] [-l<hostlist>] [-s<domainlist>]
                [-f<conffile>] [-i<pidfile>] [-N<level>] [-M<module load path>]
                [-u<number>]
To run rsyslogd in native mode, use "rsyslogd -c3 <other options>"

For further information see http://www.rsyslog.com/doc

配置

rsyslog的配置文件有多種書寫方法:

  • sysklogd(一些結(jié)構(gòu)不兼容新特性)碰纬,
  • legacy rsyslog(以“$”開頭的寫法萍聊,如:$ModLoad imtcp.so),
  • RainerScript(一種新的格式悦析,是最推薦使用的一種寿桨,尤其是需要做復(fù)雜的配置時(shí))。

在本文中的配置都比較簡(jiǎn)單她按,就采用了legacy rsyslog的配置書寫方法牛隅。更多詳情參考:http://www.rsyslog.com/doc/master/configuration/basic_structure.html#statement-types

配置文件簡(jiǎn)單實(shí)例

下面是一個(gè)例子:

$less /etc/rsyslog.conf 
#rsyslog v3 config file

# if you experience problems, check
# http://www.rsyslog.com/troubleshoot for assistance

#### MODULES ####

$ModLoad imuxsock.so    # provides support for local system logging (e.g. via logger command)
$ModLoad imklog.so      # provides kernel logging support (previously done by rklogd)
#$ModLoad immark.so     # provides --MARK-- message capability

# Provides UDP syslog reception
#$ModLoad imudp.so
#$UDPServerRun 514

# Provides TCP syslog reception
#$ModLoad imtcp.so  
#$InputTCPServerRun 514


#### GLOBAL DIRECTIVES ####

# Use default timestamp format
$ActionFileDefaultTemplate RSYSLOG_TraditionalFileFormat

# File syncing capability is disabled by default. This feature is usually not required, 
# not useful and an extreme performance hit
#$ActionFileEnableSync on


#### RULES ####

# Log all kernel messages to the console.
# Logging much else clutters up the screen.
#kern.*                                                 /dev/console

# Log anything (except mail) of level info or higher.
# Don't log private authentication messages!
*.info;mail.none;authpriv.none;cron.none                /var/log/messages

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

# Log all the mail messages in one place.
mail.*                                                  -/var/log/maillog


# Log cron stuff
cron.*                                                  /var/log/cron

# Everybody gets emergency messages
*.emerg                                                 *

# Save news errors of level crit and higher in a special file.
uucp,news.crit                                          /var/log/spooler

# Save boot messages also to boot.log
local7.*                                                /var/log/boot.log

配置文件模塊

配置文件查看less /etc/rsyslog.conf。Rsyslog的配置主要有以下模塊:

  • modules酌泰,模塊媒佣,配置加載的模塊,如:ModLoad imudp.so配置加載UDP傳輸模塊
  • global directives陵刹,全局配置默伍,配置ryslog守護(hù)進(jìn)程的全局屬性,比如主信息隊(duì)列大兴ニ觥(MainMessageQueueSize)
  • rules也糊,規(guī)則(選擇器+動(dòng)作),每個(gè)規(guī)則行由兩部分組成羡宙,selector部分和action部分狸剃,這兩部分由一個(gè)或多個(gè)空格或tab分隔,selector部分指定源和日志等級(jí)狗热,action部分指定對(duì)應(yīng)的操作
  • 模板(templates)
  • 輸出(outputs)

常用的modules

  • imudp钞馁,傳統(tǒng)方式的UDP傳輸,有損耗
  • imtcp匿刮,基于TCP明文的傳輸僧凰,只在特定情況下丟失信息,并被廣泛使用
  • imrelp熟丸,RELP傳輸月趟,不會(huì)丟失信息老翘,但只在rsyslogd 3.15.0及以上版本中可用
  • 更多參考

規(guī)則(rules)

規(guī)則的選擇器(selectors)

selector也由兩部分組成顷帖,設(shè)施和優(yōu)先級(jí),由點(diǎn)號(hào).分隔怀大。第一部分為消息源或稱為日志設(shè)施,第二部分為日志級(jí)別呀闻。多個(gè)選擇器用;分隔叉寂,如:*.info;mail.none

日志設(shè)施有:

  • auth(security), authpriv: 授權(quán)和安全相關(guān)的消息
  • kern: 來自Linux內(nèi)核的消息
  • mail: 由mail子系統(tǒng)產(chǎn)生的消息
  • cron: cron守護(hù)進(jìn)程相關(guān)的信息
  • daemon: 守護(hù)進(jìn)程產(chǎn)生的信息
  • news: 網(wǎng)絡(luò)消息子系統(tǒng)
  • lpr: 打印相關(guān)的日志信息
  • user: 用戶進(jìn)程相關(guān)的信息
  • local0 to local7: 保留总珠,本地使用

日志級(jí)別有(升序):

  • debug:包含詳細(xì)的開發(fā)情報(bào)的信息,通常只在調(diào)試一個(gè)程序時(shí)使用勘纯。
  • info:情報(bào)信息局服,正常的系統(tǒng)消息,比如騷擾報(bào)告驳遵,帶寬數(shù)據(jù)等淫奔,不需要處理。
  • notice: 不是錯(cuò)誤情況堤结,也不需要立即處理唆迁。
  • warning: 警告信息,不是錯(cuò)誤竞穷,比如系統(tǒng)磁盤使用了85%等唐责。
  • err:錯(cuò)誤,不是非常緊急瘾带,在一定時(shí)間內(nèi)修復(fù)即可鼠哥。
  • crit:重要情況,如硬盤錯(cuò)誤看政,備用連接丟失朴恳。
  • alert:應(yīng)該被立即改正的問題,如系統(tǒng)數(shù)據(jù)庫(kù)被破壞允蚣,ISP連接丟失于颖。
  • emerg:緊急情況,需要立即通知技術(shù)人員嚷兔。

日志設(shè)施的配置:

  • . 代表比后面還要高的消息等級(jí)都會(huì)記錄下來
  • .= 代表只有后面的這個(gè)消息等級(jí)會(huì)被記錄下來
  • .! 代表除了后面的這個(gè)消息等級(jí),其他的都會(huì)被記錄下來森渐,我在rsyslogd 4.6.2中失敗了不知道為啥。谴垫。

對(duì)于多個(gè)選擇器可以用;分隔章母。

local0.=debug                /home/admin/applogs/app-name/debug.log
local0.err;local0.warning;local0.info                /home/admin/applogs/app-name/info.log
local0.err                /home/admin/applogs/app-name/error.log

動(dòng)作 (action)

action是規(guī)則描述的一部分,位于選擇器的后面翩剪,規(guī)則用于處理消息乳怎。總的來說,消息內(nèi)容被寫到一種日志文件上蚪缀,但也可以執(zhí)行其他動(dòng)作秫逝,比如寫到數(shù)據(jù)庫(kù)表中或轉(zhuǎn)發(fā)到其他主機(jī)。

在前面的實(shí)例中的是寫到本地文件中的:

# The authpriv file has restricted access.
authpriv.*                                              /var/log/secure

也可以寫到mysql數(shù)據(jù)庫(kù)中询枚,

# modules, 要將日志寫到mysql中需要加載ommysql模塊
$ModLoad ommysql 
# rule, send to mysql
#*.*       :ommysql:database-server,database-name,database-userid,database-password
*.*       :ommysql:127.0.0.1,Syslog,syslogwriter,topsecret

關(guān)于配置發(fā)送消息到數(shù)據(jù)庫(kù)的更多類容可以參考:http://www.rsyslog.com/doc/master/tutorials/database.html

action的配置:

  • 保存到文件违帆,cron.* -/var/log/cron.log如果路徑前有-則表示每次輸出日志時(shí)不同步(fsync)指定日志文件。 文件路徑既可以是靜態(tài)文件也可以是動(dòng)態(tài)文件金蜀。動(dòng)態(tài)文件由模板前加 ? 定義刷后。

  • 通過網(wǎng)絡(luò)發(fā)送日志 格式如下: @[()]:[] @ 表示使用 UDP 協(xié)議。@@ 表示使用 TCP 協(xié)議渊抄。 可以為: z 表示使用 zlib 壓縮尝胆,NUMBER 表示壓縮級(jí)別。多個(gè)選項(xiàng) 使用 , 分隔护桦。 例如: . @192.168.0.1 # 使用 UDP 發(fā)送日志到 192.168.0.1 .@@example.com:18 # 使用 TCP 發(fā)送到 "example.com" 的 18 端口 . @(z9)[2001::1] # 使用 UDP 發(fā)送消息到 2001::1含衔,啟用 zlib 9 級(jí)壓縮

  • cron.* ~ 丟棄所有信息,即該配置之后的動(dòng)作不會(huì)看到該日志二庵。 隨 rsyslog 版本不同贪染,如果有如下警告信息,則將 ~ 修改為 stop催享。

    ?

模板(templates)

模板允許你指定日志信息的格式杭隙,也可用于生成動(dòng)態(tài)文件名,或在規(guī)則中使用因妙。其定義如下所示寺渗,其中TEMPLATE_NAME是模板的名字,PROPERTY是rsyslog本身支持的一些屬性參數(shù)。

$template TEMPLATE_NAME,"text %PROPERTY% more text", [OPTION]

使用例子:

$template DynamicFile,"/var/log/test_logs/%timegenerated%-test.log"
$template DailyPerHostLogs,"/var/log/syslog/%$YEAR%/%$MONTH%/%$DAY%/%HOSTNAME%/messages.log"

*.info ?DailyPerHostLogs
*.* ?DynamicFile

在模板中我們用到的properties可以參考官方文檔說明兰迫,例子中用到的timegenerated是指接收到消息時(shí)的時(shí)間戳信殊。

輸出(outputs)

輸出頻道為用戶可能想要的輸出類型提供了保護(hù),在規(guī)則中使用前要先定義.其定義如下所示汁果,其中NAME指定輸出頻道的名稱涡拘,F(xiàn)ILE_NAME指定輸出文件,MAX_SIZE指定日志文件的大小据德,單位是bytes, ACTION指定日志文件到達(dá)MAX_SIZE時(shí)的操作鳄乏。

$outchannel NAME, FILE_NAME, MAX_SIZE, ACTION

在規(guī)則中使用輸出頻道按照如下的格式:

selectors :omfile:$NAME

例子:

$outchannel log_rotation, /var/log/test_log.log, 104857600, /home/joe/log_rotation_script

*.* :omfile:$log_rotation

配置的驗(yàn)證

通過下面命令可以校驗(yàn)配置文件是否配置正確:

sudo rsyslogd -f /etc/rsyslog.conf -N4

其中 -N后面的數(shù)值代表rsyslog啟動(dòng)時(shí)-c 后指定的版本。

通過下面命令可以手動(dòng)發(fā)送日志信息:

logger -p local0.info "hello world"

日志文件Rotating

隨著日志文件越來越大棘利,這不僅會(huì)帶來性能問題橱野,同時(shí)對(duì)日志的管理也非常棘手。 當(dāng)一個(gè)日志文件被rotated善玫,會(huì)創(chuàng)建一個(gè)新的日志文件水援,同時(shí)舊的日志文件會(huì)被重命名。這些文件在一段時(shí)間內(nèi)被保留,一旦產(chǎn)生一定數(shù)量的舊的日志蜗元,系統(tǒng)就會(huì)刪除一部分舊的日志或渤。

logrotate配置文件實(shí)例

logrotate是通過cron任務(wù)調(diào)用的,在安裝的時(shí)候就自動(dòng)創(chuàng)建了奕扣,所以通過ps命令看不到logrotate薪鹦,可查看定時(shí)任務(wù)調(diào)用:cat /etc/cron.daily/logrotate

#!/bin/sh

/usr/sbin/logrotate /etc/logrotate.conf >/dev/null 2>&1
EXITVALUE=$?
if [ $EXITVALUE != 0 ]; then
    /usr/bin/logger -t logrotate "ALERT exited abnormally with [$EXITVALUE]"
fi
exit 0

cron.daily下的文件執(zhí)行都是通過/etc/crontab配置的:

$cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed

0 0 * * * root run-parts /etc/cron.daily #定時(shí)執(zhí)行cron.daily

logrotate的配置文件為/etc/logrotate.conf,下面給一個(gè)例子:

# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
#compress

# packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp, or btmp -- we'll rotate them here
/var/log/syslog
{
    rotate 7
    daily
    missingok
    notifempty
    delaycompress
    compress
    postrotate
        invoke-rc.d rsyslog reload > /dev/null
    endscript
}
/var/log/cron.log
/var/log/debug
/var/log/messages
{
    rotate 4
    weekly
    missingok
    notifempty
    compress
    delaycompress
    sharedscripts
    postrotate
        invoke-rc.d rsyslog reload > /dev/null
    endscript
}
# system-specific logs may be configured here

syslog的日志文件每天被rotated惯豆,保留7份舊的日志池磁。其他的日志文件每周進(jìn)行一次rotate,并保留4份舊的日志楷兽。

logrotate配置項(xiàng)

我們可以通過man logrotate來獲取所有的參數(shù)和詳細(xì)描述框仔。這里列出一部分:

  • daily 指定轉(zhuǎn)儲(chǔ)周期為每天
  • weekly 指定轉(zhuǎn)儲(chǔ)周期為每周
  • monthly 指定轉(zhuǎn)儲(chǔ)周期為每月
  • compress 通過gzip 壓縮轉(zhuǎn)儲(chǔ)以后的日志
  • nocompress 不需要壓縮時(shí),用這個(gè)參數(shù)
  • copytruncate 用于還在打開中的日志文件拄养,把當(dāng)前日志備份并截?cái)?/li>
  • nocopytruncate 備份日志文件但是不截?cái)?/li>
  • missingok 如果文件不存在,繼續(xù)下一個(gè)文件银舱,不報(bào)異常
  • nomissingok 如果文件不存在瘪匿,報(bào)異常(默認(rèn)配置)
  • create mode(文件權(quán)限) owner(擁有者) group(組) 轉(zhuǎn)儲(chǔ)文件,使用指定的文件模式創(chuàng)建新的日志文件
  • nocreate 不建立新的日志文件
  • delaycompress 和 compress 一起使用時(shí)寻馏,轉(zhuǎn)儲(chǔ)的日志文件到下一次轉(zhuǎn)儲(chǔ)時(shí)才壓縮
  • nodelaycompress 覆蓋 delaycompress 選項(xiàng)棋弥,轉(zhuǎn)儲(chǔ)同時(shí)壓縮。
  • errors address 轉(zhuǎn)儲(chǔ)時(shí)的錯(cuò)誤信息發(fā)送到指定的Email 地址
  • ifempty 即使是空文件也轉(zhuǎn)儲(chǔ)诚欠,(logrotate 的缺省選項(xiàng))
  • notifempty 如果是空文件的話顽染,不轉(zhuǎn)儲(chǔ)
  • mail address 把轉(zhuǎn)儲(chǔ)的日志文件發(fā)送到指定的E-mail 地址
  • nomail 轉(zhuǎn)儲(chǔ)時(shí)不發(fā)送日志文件
  • olddir directory 轉(zhuǎn)儲(chǔ)后的日志文件放入指定的目錄,必須和當(dāng)前日志文件在同一個(gè)文件系統(tǒng)
  • noolddir 轉(zhuǎn)儲(chǔ)后的日志文件和當(dāng)前日志文件放在同一個(gè)目錄下
  • prerotate/endscript 在轉(zhuǎn)儲(chǔ)以前需要執(zhí)行的命令可以放入這個(gè)對(duì)轰绵,這兩個(gè)關(guān)鍵字必須單獨(dú)成行
  • postrotate/endscript 在轉(zhuǎn)儲(chǔ)以后需要執(zhí)行的命令可以放入這個(gè)對(duì)粉寞,這兩個(gè)關(guān)鍵字必須單獨(dú)成行
  • rotate count 指定日志文件刪除之前轉(zhuǎn)儲(chǔ)的次數(shù),0 指沒有備份左腔,5 指保留5 個(gè)備份
  • tabootext [+] LIST 讓logrotate 不轉(zhuǎn)儲(chǔ)指定擴(kuò)展名的文件唧垦,缺省的擴(kuò)展名是:.rpm-orig, .rpmsave, v, 和 ~
  • size SIZE 當(dāng)日志文件到達(dá)指定的大小時(shí)才轉(zhuǎn)儲(chǔ),Size 可以指定 bytes (缺省)以及KB (sizek)或者M(jìn)B (sizem)

實(shí)例

sudo vim /etc/rsyslog.conf

# Provides UDP syslog reception
$ModLoad imudp.so
$UDPServerRun 514

$template ipAndMsg,"[%fromhost-ip%]  %$now%%msg%\n"

local0.=debug                /home/admin/applogs/app-name/debug.log;ipAndMsg
local0.err;local0.warning;local0.info                /home/admin/applogs/app-name/info.log;ipAndMsg
local0.err                /home/admin/applogs/app-name/error.log;ipAndMsg

sudo service rsyslog restart

sudo service syslog/syslog-ng stop

sudo vim /etc/logrotate.conf

/home/admin/applogs/app-name/debug.log
/home/admin/applogs/app-name/info.log
/home/admin/applogs/app-name/error.log{
    daily
    create 0664 root root
    rotate 30
    missingok
    nocompress
    notifempty
    dateext
    postrotate
        /etc/init.d/rsyslog restart > /dev/null 2>&1
    endscript
}

注意液样,最后必須加上:

postrotate
        /etc/init.d/rsyslog restart > /dev/null 2>&1
endscript

因?yàn)閘ogrotate之后振亮,即使已經(jīng)移走了,但是rsyslog還是持有這個(gè)文件操作句柄鞭莽,會(huì)繼續(xù)往原文件(被rotate的文件)中寫坊秸,即使已經(jīng)被重命名了,所以需要 restart rsyslog 來 reopen 下 logrotate新創(chuàng)建的同名文件澎怒。

另外有一個(gè)可以不用重啟的辦法褒搔,但是會(huì)丟失部分?jǐn)?shù)據(jù),logrotate 提供了 copytruncate。默認(rèn)的指令 create 做法站超,是 移動(dòng)舊文件荸恕,創(chuàng)建新文件,然后用腳本reopen新文件死相;而 copytruncate 是采用的先拷貝再清空融求, 先復(fù)制一份舊的日志,然后請(qǐng)客原文件算撮,整個(gè)過程原來的文件句柄生宛,并沒有變化,所以不需要reopen肮柜,服務(wù)可以不中斷陷舅,但是這個(gè)過程會(huì)導(dǎo)致部分?jǐn)?shù)據(jù)丟失。

參考

BASIC CONFIGURATION OF RSYSLOG(最完整的文檔)
Logrotate幫助文檔
using a different log format for all files
Rsyslog官網(wǎng)
如何對(duì)Rsyslog進(jìn)行配置
Rsyslog配置詳解
跟我學(xué)Rsyslog
Linux日志文件與Syslog函數(shù)介紹
logback SyslogAppender

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末审洞,一起剝皮案震驚了整個(gè)濱河市莱睁,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芒澜,老刑警劉巖仰剿,帶你破解...
    沈念sama閱讀 217,406評(píng)論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異痴晦,居然都是意外死亡南吮,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門誊酌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來部凑,“玉大人,你說我怎么就攤上這事碧浊⊥垦” “怎么了?”我有些...
    開封第一講書人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵箱锐,是天一觀的道長(zhǎng)必孤。 經(jīng)常有香客問我,道長(zhǎng)瑞躺,這世上最難降的妖魔是什么敷搪? 我笑而不...
    開封第一講書人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮幢哨,結(jié)果婚禮上赡勘,老公的妹妹穿的比我還像新娘。我一直安慰自己捞镰,他們只是感情好闸与,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開白布毙替。 她就那樣靜靜地躺著,像睡著了一般践樱。 火紅的嫁衣襯著肌膚如雪厂画。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,301評(píng)論 1 301
  • 那天拷邢,我揣著相機(jī)與錄音袱院,去河邊找鬼。 笑死瞭稼,一個(gè)胖子當(dāng)著我的面吹牛忽洛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播环肘,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼欲虚,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了悔雹?” 一聲冷哼從身側(cè)響起复哆,我...
    開封第一講書人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎腌零,沒想到半個(gè)月后梯找,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,443評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡莱没,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,649評(píng)論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了酷鸦。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片饰躲。...
    茶點(diǎn)故事閱讀 39,795評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖臼隔,靈堂內(nèi)的尸體忽然破棺而出嘹裂,到底是詐尸還是另有隱情,我是刑警寧澤摔握,帶...
    沈念sama閱讀 35,501評(píng)論 5 345
  • 正文 年R本政府宣布寄狼,位于F島的核電站,受9級(jí)特大地震影響氨淌,放射性物質(zhì)發(fā)生泄漏泊愧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,119評(píng)論 3 328
  • 文/蒙蒙 一盛正、第九天 我趴在偏房一處隱蔽的房頂上張望删咱。 院中可真熱鬧,春花似錦豪筝、人聲如沸痰滋。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)敲街。三九已至团搞,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間多艇,已是汗流浹背逻恐。 一陣腳步聲響...
    開封第一講書人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留墩蔓,地道東北人梢莽。 一個(gè)月前我還...
    沈念sama閱讀 47,899評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像奸披,于是被迫代替她去往敵國(guó)和親昏名。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,724評(píng)論 2 354

推薦閱讀更多精彩內(nèi)容

  • 1 概述 系統(tǒng)日志是記錄系統(tǒng)中硬件阵面、軟件和系統(tǒng)問題的信息轻局,同時(shí)還可以監(jiān)視系統(tǒng)中發(fā)生的事件。用戶可以通過它來檢查錯(cuò)誤...
    ghbsunny閱讀 3,868評(píng)論 0 0
  • 了解日志文件是很重要的事情样刷。日志文件可以記錄系統(tǒng)在什么時(shí)間仑扑、哪臺(tái)主機(jī)、哪個(gè)服務(wù)置鼻、出現(xiàn)了什么信息等镇饮。可以在系統(tǒng)出現(xiàn)問...
    Zhang21閱讀 5,301評(píng)論 0 5
  • 日志管理 日志簡(jiǎn)介: LINUX日志就是記錄系統(tǒng)活動(dòng)記錄的文件箕母,例如如何時(shí)储藐,何地,何人嘶是,做了是么事情钙勃,另外就是系統(tǒng)...
    geekdeedy閱讀 1,301評(píng)論 0 0
  • 如水般溫潤(rùn)的月光 傾進(jìn)玉碗里 泛著琥珀的光 蘭陵美酒便到了心頭 你推門走進(jìn)來 我問玉蘭花開了嗎 你回半年前開過, ...
    嵇游心閱讀 375評(píng)論 2 2
  • 2015年10月23日 第一個(gè)HTML5頁(yè)面 HTML5不區(qū)分字母大小寫聂喇、標(biāo)記結(jié)束符以及屬性是否加引號(hào)辖源,即下列代碼...
    a0d560da7818閱讀 500評(píng)論 0 2