Rsyslog Server

一舱权、安裝Rsyslog Server

RHEL/CENTOS 安裝 rsyslog

cd /etc/yum.repos.d/
wget http://rpms.adiscon.com/v8-stable-nightly/rsyslog-nightly.repo # for CentOS 7
wget http://rpms.adiscon.com/v8-stable-nightly/rsyslog-nightly-rhel7.repo # for RHEL 7
yum install rsyslog

當(dāng)前服務(wù)器默認(rèn)安裝了rsyslog-8.24.0-57.el7_9.1.x86_64,執(zhí)行yum install rsyslog命令后吨岭,會(huì)升級(jí)到rsyslog-8.2102.0.master-1613347368.x86_64甩鳄。

安裝rsyslog文檔栗弟,路徑 /usr/share/doc/rsyslog-8.2102.0.master/html

yum install rsyslog-doc

二项贺、協(xié)議選擇

通常,建議使用TCP syslog寇蚊,比UDP syslog可靠,但仍然很快棍好。主要是因?yàn)檎贪叮?dāng)syslog server 收到大量消息時(shí),UDP可能會(huì)丟失消息借笙。如果UDP system buffer 滿了扒怖,所有的消息都會(huì)丟失。TCP不會(huì)發(fā)生這樣的情況业稼。

但是有時(shí)候還是需要設(shè)置一個(gè)UDP server盗痒,因?yàn)橐恍┰O(shè)備(比如路由器)設(shè)計(jì)上就不能發(fā)送TCP syslog。

這種情況下低散,就得配置所有的syslog server types來(lái)覆蓋所有的情況俯邓。如果需要配置both syslog server types,確保它們運(yùn)行于合適的端口熔号。默認(rèn)稽鞭,UDP syslog 通過(guò)514端口接收消息。TCP syslog 需要一個(gè)配置一個(gè)不同的端口引镊,因?yàn)橥ǔPC service也會(huì)使用該端口朦蕴。

三、配置遠(yuǎn)程日志服務(wù)器 server side

Receiving Messages from a Remote System - rsyslog

/etc/rsyslog.confMODULES block弟头,配置接受tcp和udp的syslog吩抓。

#### MODULES ####

# The imjournal module bellow is now used as a message source instead of imuxsock.
$ModLoad imuxsock # provides support for local system logging (e.g. via logger command)
$ModLoad imjournal # provides access to the systemd journal
#$ModLoad imklog # reads kernel messages (the same are read from journald)
#$ModLoad immark  # provides --MARK-- message capability

# Provides UDP syslog reception
$ModLoad imudp
$UDPServerRun 514

# Provides TCP syslog reception
$ModLoad imtcp
$InputTCPServerRun 10514

重啟rsyslog服務(wù)

[root@VM-99-33-centos ~]# systemctl restart rsyslog

[root@VM-99-33-centos ~]# netstat -anpl |grep rsyslog
tcp        0      0 0.0.0.0:10514           0.0.0.0:*               LISTEN      30572/rsyslogd      
tcp6       0      0 :::10514                :::*                    LISTEN      30572/rsyslogd      
udp        0      0 0.0.0.0:514             0.0.0.0:*                           30572/rsyslogd      
udp6       0      0 :::514                  :::*                                30572/rsyslogd      
unix  2      [ ]         DGRAM                    311861   30572/rsyslogd     

四、配置客戶機(jī)發(fā)送日志到遠(yuǎn)程日志服務(wù)器 client side

Sending Messages to a Remote Syslog Server - rsyslog

How to Setup Rsyslog Client to Send Logs to Rsyslog Server in CentOS 7 (tecmint.com)

/etc/rsyslog.confforwarding block赴恨,添加行 *.* @@10.51.99.33:10514疹娶,以tcp協(xié)議發(fā)送到10.51.99.33:10514

# ### begin forwarding rule ###
# Remote Logging (we use TCP for reliable delivery)
#
# 為此伦连,在本地磁盤(pán)創(chuàng)建了一個(gè)隊(duì)列蚓胸。如果遠(yuǎn)程主機(jī)連不上,消息會(huì)被緩存在磁盤(pán)上待再次發(fā)送除师。
#$ActionQueueFileName fwdRule1 # unique name prefix for spool files
#$ActionQueueMaxDiskSpace 1g   # 1gb space limit (use as much as possible)
#$ActionQueueSaveOnShutdown on # save messages to disk on shutdown
#$ActionQueueType LinkedList   # run asynchronously
#$ActionResumeRetryCount -1    # infinite retries if host is down
# remote host is: name/ip:port, e.g. 192.168.0.1:514, port optional
#*.* @@remote-host:514
*.* @@10.51.99.33:10514
# ### end of the forwarding rule ###

五沛膳、測(cè)試

假定,沒(méi)有在rsyslog server端配置消息存儲(chǔ)路徑汛聚。

  1. 在客戶機(jī)上發(fā)送測(cè)試消息
[root@VM_1_101_centos ~]# logger "hello"
[root@VM_1_101_centos ~]# logger test
  1. 在服務(wù)器上查看消息
[root@VM-99-33-centos ~]# tail -f /var/log/messages
Sep 27 13:50:31 localhost root: hello
Sep 27 13:51:51 localhost root: test

六锹安、rsyslog debugging

RHEL7 - debugging_rsyslog

檢查語(yǔ)法

rsyslogd -N 1

運(yùn)行 rsyslog 于 debugging mode

rsyslogd -dn

七、配置遠(yuǎn)程日志服務(wù)器消息持久化存儲(chǔ)

1. 本地文件系統(tǒng)

Rsyslog - 使用本地文件作為遠(yuǎn)程消息存儲(chǔ)

基本用法

$template RemoteLogs,"/var/log/remotelog/%fromhost-ip%/%PROGRAMNAME%.log"
*.* ?RemoteLogs
& ~

高級(jí)用法

# do this in FRONT of the local/regular rules
if $fromhost-ip startswith '192.0.1.' then /var/log/network1.log
& ~
if $fromhost-ip startswith '192.0.2.' then /var/log/network2.log
& ~
# local/regular rules, like
*.* /var/log/syslog.log
用法

How to Setup Central Logging Server with Rsyslog in Linux (tecmint.com)
定義 ruleset

facility.severity_level destination (where to store log)

facility: 生成消息的 process/application 類型,包含 auth, cron, daemon, kernel, local0..local7叹哭。* 代表所有忍宋。
severity_level: 消息類型 emerg-0, alert-1, crit-2, err-3, warn-4, notice-5, info-6, debug-7。*代表所有級(jí)別风罩,none代表沒(méi)有限制級(jí)別糠排。
destination: 本地文件 or 遠(yuǎn)程rsyslog服務(wù)器(格式 IP:port).

We will use the following ruleset for collecting logs from remote hosts, using the RemoteLogs template. Note that these rules must come before any rules for processing local messages, as shown in the screenshot.

$template RemoteLogs,"/var/log/%HOSTNAME%/%PROGRAMNAME%.log"
*.* ?RemoteLogs 
& ~

Looking at the above ruleset, the first rule is “$template RemoteLogs,”/var/log/%HOSTNAME%/%PROGRAMNAME%.log””.

第一行 $template 配置 rsyslog 收集和寫(xiě)入所有的遠(yuǎn)程消息到/var/log目錄下指定的日志文件,基于 hostname (client machine name) 和前面配置的template RemoteLogs的remote client facility (program/application) 超升。

第二行 *.* ?RemoteLogs 定義使用模板 RemoteLogs入宦。

第三行 & ~ 指示rsyslog在消息寫(xiě)入文件后停止處理消息。如果不包含“&~”室琢,消息將被寫(xiě)入本地文件乾闰。
(范例:客戶端執(zhí)行logger test,日志寫(xiě)入/var/log/remotelog/10.51.1.101/root.log盈滴,而不寫(xiě)入/var/log/messages涯肩。默認(rèn)寫(xiě)入/var/log/messages。)

Journey of Life: rsyslogd dynamically create log file based on msg content (tiebing.blogspot.com)

$template RemoteHost,"/var/log/x/host/%$YEAR%-%$MONTH%-%$DAY%/%HOSTNAME%/%APP-NAME%.log"
$template unixTS,"%timegenerated:::date-unixtimestamp%,%msg%\n"
$template shortlog,"%msg:10:1000%"
$template DynFile,"/tmp/test-%msg:7:18%.log"
$template myFormat,"%rawmsg%\n"
$template DynamicFile,"/var/log/systems/host-%HOSTNAME%.log"
%fromhost-ip%/%fromhost-ip%_%$YEAR%-%$MONTH%-%$DAY%.log
"%timestamp% %fromhost-ip% %syslogtag% %msg%\n"
$template DynamicFile,"/var/log/systems/host-%fromhost-ip%.log"
$template timeandhost_auth, "/var/log/rsyslog/%FROMHOST%/%$YEAR%/%$MONTH%/%FROMHOST%-%$NOW%-auth.log"
$template timeandhost_syslog, "/var/log/rsyslog/%FROMHOST%/%$YEAR%/%$MONTH%/%FROMHOST%-%$NOW%-syslog.log"

if $source != 'mybox' then ?timeandhost_syslog
if $source != 'mybox' and ($syslogfacility-text == 'authpriv' or $syslogfacility-text == 'auth') then ?timeandhost_auth
if $syslogfacility-text == 'cron' then -/var/log/cron.log

if $source == 'mybox' and ($syslogfacility-text == 'authpriv' or $syslogfacility-text == 'auth') then /var/log/auth.log
if $source == 'mybox' then -/var/log/syslog

if $source == 'mybox' and $syslogfacility-text == 'daemon' then -/var/log/daemon.log
if $source == 'mybox' and $syslogfacility-text == 'kern' then -/var/log/kern.log

rsyslog – create dynamic files – Just Troubleshoot IT (nimdati.com)

$template DailyDynFileNGINX,"/var/log/nginx_%$YEAR%-%$MONTH%-%$DAY%"
if ($msg contains "nginx")
then {
     ?DailyDynFileNGINX
}


$template DailyDynFileNGINX,"/var/log/nginx_%$YEAR%-%$MONTH%-%$DAY%"
:msg,contains,"nginx" ?DailyDynFileNGINX
2. MongoDB

RHEL7- 使用MongoDB作為消息存儲(chǔ)

module(load”ommongodb”)

. action(type="ommongodb" server="DB_server" serverport="port" db="DB_name" collection="collection_name" uid="UID" pwd="password")

You can shape the form of the final database output with use of templates. By default, rsyslog uses a template based on standard lumberjack field names.

3. 存儲(chǔ)并轉(zhuǎn)發(fā)消息 (syslog relay)

Storing and forwarding remote messages - rsyslog
Rsyslog – Store and Forward messages to other hosts – Scubarda

Now create a new file /etc/rsyslog.d/90-store_forward.conf where we put the store&forward confguration

### Locally log received data
# log every host in a its own dir
$template RemoteHost,"/var/spool/rsyslog/%HOSTNAME%/%$YEAR%/%$MONTH%/%$DAY%/syslog.log"
# log everything in a single file
#$template RemoteHost,"/var/spool/rsyslog/received"

### Enable Remote Logging saving locally to the specified file
$RuleSet remote
*.* ?RemoteHost
# Send messages we receive to host
*.* @a.b.c.d:514 #UDP, just one @
*.* @e.f.g.h:514 #UDP
#*.* @@j.k.l.m:514 #TCP, two @

### Listeners (TCP/UDP)
# bind ruleset to the udp listener
$InputUDPServerBindRuleset remote
# and activate it on port udp/514:
$UDPServerRun 514

# bind ruleset to the tcp listener
#$InputTCPServerBindRuleset remote
# and activate it on port tcp/514:
#$InputTCPServerRun 514

附件一巢钓、rsyslog配置文件結(jié)構(gòu)解析

RSyslog Documentation - rsyslog

消息流概覽
  1. 消息在input modules的幫助下進(jìn)入rsyslog序仙。
  2. 然后栖茉,消息被發(fā)送到ruleset乱灵,根據(jù)條件適配rule溉委。
  3. 匹配對(duì)應(yīng)rule后,消息被轉(zhuǎn)到某個(gè)action烈菌,進(jìn)行消息處理阵幸,比如寫(xiě)入到文件、數(shù)據(jù)庫(kù)芽世,或者轉(zhuǎn)發(fā)到其他遠(yuǎn)程主機(jī)挚赊。

附件二、input modules

Input Modules - rsyslog

input modules description comments
imudp UDP Syslog Input Module
imtcp TCP Syslog Input Module
imuxsock Unix Socket Input Module
imfile Text File Input Module
imdocker Docker Input Module
imgssapi GSSAPI Syslog Input Module
imbatchreport Batch report input module
Imhiredis Redis input plugin
imhttp http input module
imkafka read from Apache Kafka
imklog Kernel Log Input Module
imkmsg /dev/kmsg Log Input Module
immark Mark Message Input Module
Impcap network traffic capture
improg Program integration input module
impstats Generate Periodic Statistics of Internal Counters
imptcp Plain TCP Syslog
imrelp RELP Input Module
imsolaris Solaris Input Module
imtuxedoulog Tuxedo ULOG input module
im3195 RFC3195 Input Module

附件三济瓢、output modules

Output Modules - rsyslog

output modules description comments
omruleset ruleset output/including module
omfile File Output Module
omelasticsearch Elasticsearch Output Module
omfwd syslog Forwarding Output Module
ommongodb MongoDB Output Module
ommysql MySQL Database Output Module
omoracle Oracle Database Output Module
ompgsql PostgreSQL Database Output Module
omhdfs Hadoop Filesystem Output Module
omhiredis Redis Output Module
omkafka write to Apache Kafka
omrabbitmq RabbitMQ output module
ommail Mail Output Module
omhttp HTTP Output Module
omhttpfs Hadoop HTTPFS Output Module
omjournal Systemd Journal Output
omlibdbi Generic Database Output Module
ompipe Pipe Output Module
omprog Program integration Output module
omrelp RELP Output Module
omsnmp SNMP Trap Output Module
omstdout stdout output module (testbench tool)
omudpspoof UDP spoofing output module
omusrmsg notify users
omuxsock Unix sockets Output Module
omamqp1 AMQP 1.0 Messaging Output Module
omclickhouse ClickHouse Output Module
GuardTime Log Signature Provider (gt) sig.provider
Keyless Signature Infrastructure Provider (ksi) sig.provider
KSI Signature Provider (rsyslog-ksi-ls12) sig.provider

附件四荠割、Actions

Actions - rsyslog

Action對(duì)象描述了對(duì)消息的操作。通過(guò)output modules實(shí)現(xiàn)旺矾。

Action對(duì)象有不同參數(shù):

  • 適用于所有action的參數(shù)蔑鹦,將在下面描述。
  • 用于action queue的參數(shù)箕宙。參見(jiàn) queue parameters嚎朽。
  • action 特定參數(shù)。適用于特定類型的actions柬帕。參見(jiàn) output modules哟忍。

General Action Parameters - 摘選

1. Regular File

通常消息會(huì)存儲(chǔ)到文件狡门。文件通過(guò)絕對(duì)路徑指定,以 ”/“ 開(kāi)頭锅很。Version 4.6.2 和 5.4.1后支持相對(duì)路徑其馏。相對(duì)路徑以 "." 開(kāi)頭。比如爆安,以 "./file-in-current-dir.log" 指派當(dāng)前目錄的文件叛复。rsyslogd通常將其工作目錄更改為root,因此相對(duì)路徑文件名要小心扔仓。
在每個(gè)條目前面加上減號(hào)“-”褐奥,以避免在每次日志記錄后同步文件。但是当辐,如果系統(tǒng)在嘗試寫(xiě)入后崩潰抖僵,則可能會(huì)丟失信息鲤看。然而缘揪,這可能會(huì)提升一些性能,特別是記錄詳細(xì)日志時(shí)义桂。如果你的系統(tǒng)有可靠的UPS找筝,并且接收大量日志數(shù)據(jù)(例如,防火墻日志)慷吊,那么最好在文件名前面指定 “-”袖裕。

文件名可以是靜態(tài)的static(始終相同)或動(dòng)態(tài)的dynamic (根據(jù)收到的消息不同)。動(dòng)態(tài)文件名會(huì)基于某些條件溉瓶,將消息自動(dòng)拆分為不同的文件急鳄。例如,dynamic file name selectors 可以根據(jù)發(fā)送消息的hostname將其拆分為不同的文件堰酿。dynamic file names 的一切都是自動(dòng)的疾宏,不需要 filter。

它需要搭配 template 工作触创。首先坎藐,要為文件名定義一個(gè)template。我們這里使用已經(jīng)定義的 template “DynFile” 哼绑。動(dòng)態(tài)文件名定義為岩馍,問(wèn)號(hào) ?"后接模板名。如下:

*.* ?DynFile

要避免同步抖韩,如下:

*.* -?DynFile

也可以使用 templates 來(lái)指定輸出格式蛀恩,如下:

*.* ?DynFile;MyTemplate

創(chuàng)建目錄也是支持的。比如茂浮,可以使用 hostname 作為目錄赦肋,program name 作為文件名:

$template DynFile,"/var/log/%HOSTNAME%/%programname%.log"
2. Template Name

每個(gè) ACTION 后面可以跟一個(gè) template name块攒。如果是,該 template 將用于消息格式化佃乘。如果沒(méi)有給定囱井,將給該 action 適配一個(gè) hard-coded default template 。對(duì)于給定的 action趣避,只能存在一個(gè) template name庞呕。Default template 被指派給每個(gè) action。參見(jiàn) template documentation程帕。

3. 調(diào)用插件

這是一個(gè)調(diào)用output插件的通用方法住练。插件必須支持這個(gè)功能。實(shí)際參數(shù)取決于module愁拭。通用語(yǔ)法如下:

:modname:params;template

現(xiàn)在讲逛,ommysql database output module 支持該語(yǔ)法 。對(duì)于 ommysql岭埠,module name 是 “ommysql” 盏混,參數(shù)就是傳統(tǒng)的那些。;template部分惜论,不是module指派的许赃,是適用于所有module的 rsyslog通用功能。

范例:ommysql module 調(diào)用如下:

:ommysql:dbhost,dbname,dbuser,dbpassword;dbtemplate

更多信息參見(jiàn) Database Table section 馆类。

4. Database Table

可以將消息存儲(chǔ)到數(shù)據(jù)庫(kù)表內(nèi)混聊。當(dāng)前,僅支持MySQL乾巧。然而句喜,其他數(shù)據(jù)庫(kù)驅(qū)動(dòng)也可以開(kāi)發(fā)為插件。
默認(rèn)沟于,工作需要跟 MonitorWare 兼容的 schema咳胃。可以使用rsyslog包內(nèi)的createDB.SQL創(chuàng)建shema社裆。 你也可以選擇其他schema拙绊,只需要定義一個(gè)合適的模板分配給action。
在數(shù)據(jù)庫(kù)連接信息前指派大于號(hào) (“>”)來(lái)調(diào)用 database writer 泳秀。在符號(hào)后面标沪,設(shè)置 database host name,逗號(hào)嗜傅,database name金句,逗號(hào),database user吕嘀,逗號(hào)违寞,user’s password贞瞒。
如果使用了指定的template,則可以在連接信息后面加上分號(hào)和 template name趁曼。
如下:

>dbhost,dbname,dbuser,dbpassword;dbtemplate

注意:要使用數(shù)據(jù)庫(kù)功能军浆,MySQL output module必須在第一個(gè)database table action前加載到配置文件。建議在配置文件的開(kāi)始處挡闰,配置如下:

$ModLoad ommysql

附件五乒融、Templates

Templates是rsyslog的關(guān)鍵功能。它們用于消息格式化摄悯。它們海用于生成dynamic file name赞季。rsyslog的每個(gè)output都在使用 templates 。database writer 期望它的 template 是SQL語(yǔ)句 - 因此這也是高度定制的奢驯。
與傳統(tǒng)syslogd格式兼容的templates被 hardcoded 到 rsyslogd申钩。如果沒(méi)有指派template,會(huì)使用hardcoded templates之一瘪阁。在 rsconf.c 文件查找 “template_” 可以找到相關(guān)的 hardcoded templates撒遣。

template() 原語(yǔ)的基本格式:

template(parameters)

template() 原語(yǔ)的擴(kuò)展格式:

template(parameters) { list-descriptions }

每個(gè) template 都有參數(shù) name,指定了template name罗洗;參數(shù) type愉舔,指定 template type钢猛。 name參數(shù)是唯一的伙菜, 如果不是行為不可預(yù)測(cè)。type參數(shù)指定了不同的 template types命迈。不同types簡(jiǎn)單地啟用不同方法來(lái)指定template content贩绕。 template type 不影響 (output) plugin 。根據(jù)需要選擇不同類型壶愤。如下是可用types:

list
subtree
string
plugin

范例1:
創(chuàng)建一個(gè)適用于系統(tǒng)日志集中化管理的動(dòng)態(tài)文件名模板淑倾。

template (name="DynFile" type="string" string="/var/log/system-%HOSTNAME%.log")

附件六、& ~ 意義

& 釋義
可以在一個(gè)選擇器配置多個(gè) actions征椒。每個(gè) action 必須獨(dú)占一行娇哆,以(‘&’) 字符開(kāi)頭,沒(méi)有過(guò)濾器勃救。如下:

*.=crit :omusrmsg:rger
& root
& /var/log/critmsgs

~ 釋義

如果執(zhí)行了 discard action 碍讨,收到的消息會(huì)被丟棄。不再進(jìn)一步處理蒙秒。Discard主要用于在進(jìn)一步處理前進(jìn)行消息過(guò)濾勃黍。"discard"的結(jié)果取決于它在配置文件中的位置。注意晕讲,如果消息被discarded覆获,是無(wú)法在后面配置文件挽回的马澈。

Discard 常用于過(guò)濾無(wú)意義的消息,這些消息會(huì)填滿你的日志文件弄息。為此痊班,可以將discard action 放到日志文件早期。這通常適用于property-based filters摹量,使您可以自由地指定不需要的內(nèi)容辩块。

Discard 只需要 word “stop” ,沒(méi)有參數(shù):

stop

比如:

*.*   stop

放棄一切 (好吧荆永,關(guān)了ryslogd不就得了…)

在傳統(tǒng)模式废亭,使用 “~” 而不是 word “stop”

范例:

:msg, startswith, "iptables: " -/var/log/iptables.log
& ~

第二行的意思是,放棄匹配前一行的消息具钥。

附件七豆村、屬性 properties

rsyslog Properties
rsyslog中的數(shù)據(jù)條目被稱為 properties 。它們有多個(gè)來(lái)源骂删。最重要的來(lái)源是收到的消息掌动。無(wú)論何時(shí)訪問(wèn)數(shù)據(jù)條目,都需要訪問(wèn)相應(yīng)的屬性宁玫。

Properties 用于

property name 大小寫(xiě)不敏感 (3.17.0之前粗恢,大小寫(xiě)敏感)。

很多用戶也將 rsyslog properties 引用為 rsyslog variables欧瘪【焐洌可以作為同義詞。
參閱 rsyslog lead author Rainer Gerhards explains the naming difference佛掖。

范例:
fromhost-ipPROGRAMNAME 就是 properties妖碉,也稱為 variables。

$template RemoteLogs,"/var/log/remotelog/%fromhost-ip%/%PROGRAMNAME%.log"

參考文檔


  1. Adiscon LogAnalyzer 官網(wǎng)
    Adiscon LogAnalyzer Demo Site
    The original Windows Syslog Server - WinSyslog
    Home - EventReporter
    LogAnalyzer 是基于GPL授權(quán)的免費(fèi)軟件芥被。

  2. Rsyslog 官網(wǎng)
    RSyslog Documentation - rsyslog
    rsyslog存儲(chǔ)消息到MongoDB欧宜,使用LogAnalyzer分析 Using MongoDB with rsyslog and LogAnalyzer - rsyslog
    Using rsyslog mmnormalize module effectively with Adiscon LogAnalyzer - rsyslog

  3. Red Hat 文檔 - rsyslog
    How to use rsyslog to create a Linux log aggregation server | Enable Sysadmin (redhat.com)
    RHEL6 - Viewing and Managing Log Files
    RHEL7 - Viewing and Managing Log Files
    RHEL8 - Configuring a remote logging solution

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市拴魄,隨后出現(xiàn)的幾起案子冗茸,更是在濱河造成了極大的恐慌,老刑警劉巖匹中,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件夏漱,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡职员,警方通過(guò)查閱死者的電腦和手機(jī)麻蹋,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)焊切,“玉大人扮授,你說(shuō)我怎么就攤上這事芳室。” “怎么了刹勃?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵堪侯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我荔仁,道長(zhǎng)伍宦,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任乏梁,我火速辦了婚禮次洼,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘遇骑。我一直安慰自己卖毁,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開(kāi)白布落萎。 她就那樣靜靜地躺著亥啦,像睡著了一般。 火紅的嫁衣襯著肌膚如雪练链。 梳的紋絲不亂的頭發(fā)上翔脱,一...
    開(kāi)封第一講書(shū)人閱讀 49,036評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音媒鼓,去河邊找鬼届吁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛隶糕,可吹牛的內(nèi)容都是我干的瓷产。 我是一名探鬼主播站玄,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼枚驻,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了株旷?” 一聲冷哼從身側(cè)響起再登,我...
    開(kāi)封第一講書(shū)人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎晾剖,沒(méi)想到半個(gè)月后锉矢,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡齿尽,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年沽损,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片循头。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡绵估,死狀恐怖炎疆,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情国裳,我是刑警寧澤形入,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站缝左,受9級(jí)特大地震影響亿遂,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜渺杉,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一蛇数、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧是越,春花似錦苞慢、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至蔓纠,卻和暖如春辑畦,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背腿倚。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工纯出, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人敷燎。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓暂筝,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親硬贯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子焕襟,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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