logstash beats 系列 & fluentd

一、logstash

? ? ? Logstash: 是一個(gè)靈活的數(shù)據(jù)傳輸和處理系統(tǒng)女器,在beats出來(lái)之前,還負(fù)責(zé)進(jìn)行數(shù)據(jù)收集住诸。Logstash的任務(wù)驾胆,就是將各種各樣的數(shù)據(jù)涣澡,經(jīng)過(guò)配置轉(zhuǎn)化規(guī)則,統(tǒng)一化存入Elasticsearch丧诺。使用Ruby開(kāi)發(fā)的Logstash在靈活性上入桂,非常出色。不過(guò)性能一直是被詬病的問(wèn)題驳阎。

? ? ?由于Logstash在數(shù)據(jù)收集上并不出色抗愁,而且作為agent,性能并不達(dá)標(biāo)呵晚。elastic發(fā)布了beats系列輕量級(jí)采集組件蜘腌。至此,elastic形成了一個(gè)完整的生態(tài)鏈和技術(shù)棧饵隙,成為大數(shù)據(jù)市場(chǎng)的佼佼者撮珠。

二、Elastic?Stack?Beats 系列

? ? Beats 是 ELK Stack 技術(shù)棧中負(fù)責(zé)單一用途數(shù)據(jù)采集并推送給 Logstash 或 Elasticsearch 的輕量級(jí)產(chǎn)品金矛。? ?

? Beats 架構(gòu):

? ? beats 是一個(gè)使用 Golang 構(gòu)建的平臺(tái)芯急,libbeat 是其核心庫(kù),用來(lái)提供API進(jìn)行與Elasticsearch驶俊,Logstash 的連接志于,還能配置輸入特性和實(shí)現(xiàn)信息收集等工作。其中封裝一個(gè)輸出模塊(Publisher)废睦,輸出模塊可以負(fù)責(zé)將收集到的數(shù)據(jù)發(fā)送給 Logstash 或者 Elasticsearch伺绽。由于 go 語(yǔ)言設(shè)計(jì)有 channel,收集數(shù)據(jù)的邏輯代碼與 Publisher 都是通過(guò) channel 通信的嗜湃,耦合度的最低的奈应。因此,開(kāi)發(fā)一個(gè)收集器购披,完全不需要知道Publisher 的存在杖挣,程序運(yùn)行的時(shí)候自然就“神奇”的把數(shù)據(jù)發(fā)往服務(wù)端了。除此之外刚陡,還封裝了配置文件處理惩妇、日志處理、守護(hù)化等功能筐乳,方便開(kāi)發(fā)者拓展 beats 的能力歌殃。?

Beats?是一組輕量級(jí)采集程序的統(tǒng)稱(chēng),我們通常常用的幾個(gè)如下:

? ? ? ? 1)? filebeat: 進(jìn)行文件和目錄采集蝙云,主要用于收集日志數(shù)據(jù)氓皱。

? ? ? ? 2) metricbeat: 進(jìn)行指標(biāo)采集涝影,指標(biāo)可以是系統(tǒng)的往毡,也可以是眾多中間件產(chǎn)品的,主要用于監(jiān)控系統(tǒng)和軟件的性能。

? ? ? ? 3)packetbeat: 通過(guò)網(wǎng)絡(luò)抓包叛赚、協(xié)議分析乏奥,對(duì)一些請(qǐng)求響應(yīng)式的系統(tǒng)通信進(jìn)行監(jiān)控和數(shù)據(jù)收集嬉挡,可以收集到很多常規(guī)方式無(wú)法收集到的信息丰泊。

? ? ? ? 4) Winlogbeat: 專(zhuān)門(mén)針對(duì) windows 的 event log 進(jìn)行的數(shù)據(jù)采集。

? ? ? ? 5) Heartbeat: 系統(tǒng)間連通性檢測(cè)隙轻,比如 icmp, tcp, http 等系統(tǒng)的連通性監(jiān)控早敬。

? ? ? ? 6) 可以通過(guò) beats 生成器來(lái)生成自己的 beats

1. filebeats

? ? filebeat是構(gòu)建于beats之上的,應(yīng)用于日志收集場(chǎng)景的實(shí)現(xiàn)大脉,用來(lái)替代?Logstash Forwarder?的下一代?Logstash?收集器搞监,是為了更快速穩(wěn)定輕量低耗地進(jìn)行收集工作,它可以很方便地與?Logstash?還有直接與?Elasticsearch?進(jìn)行對(duì)接镰矿。


1) 健壯性

filebeat 異常中斷重啟后會(huì)繼續(xù)上次停止的位置琐驴。(通過(guò)${filebeat_home}\data\registry文件來(lái)記錄日志的偏移量)

2) 智能調(diào)節(jié)傳輸速度,防止logstash秤标、es 過(guò)載

Filebeat 使用壓力敏感協(xié)議(backpressure-sensitive)來(lái)傳輸數(shù)據(jù)绝淡,在 logstash 忙的時(shí)候,F(xiàn)ilebeat 會(huì)減慢讀取-傳輸速度苍姜,一旦 logstash 恢復(fù)牢酵,則 Filebeat 恢復(fù)原來(lái)的速度。


2.?Metricbeat?

??Metricbeat 是一個(gè)輕量級(jí)的系統(tǒng)級(jí)性能指標(biāo)監(jiān)控工具衙猪。收集CPU馍乙,內(nèi)存,磁盤(pán)等系統(tǒng)指標(biāo)和 Redis垫释,nginx等各種服務(wù)的指標(biāo)丝格。

? ? 1)通過(guò)在Linux,Windows棵譬,Mac上部署Metricbeat显蝌,可以收集cpu,內(nèi)存订咸,文件系統(tǒng)曼尊,磁盤(pán)IO,網(wǎng)絡(luò)IO等統(tǒng)計(jì)信息脏嚷。

? ? 2)支持采集 Apache, NGINX, MongoDB, MySQL, PostgreSQL, Redis, and ZooKeeper等服務(wù)的指標(biāo)骆撇。零依賴(lài),只需要在配置文件中啟用即可

? ? 3)如果你使用Docker管理你的服務(wù)然眼“可以在該主機(jī)上單獨(dú)起一個(gè)Metricbeat容器葵腹,他通過(guò)從proc文件系統(tǒng)中直接讀取cgroups信息來(lái)收集有關(guān)Docker主機(jī)上每個(gè)容器的統(tǒng)計(jì)信息高每。不需要特殊權(quán)限訪問(wèn)Docker API

? ? 4)Metricbeats是ELK Stack全家桶中的一員屿岂,可以和ELK無(wú)縫協(xié)同工作。例如使用Logstash二次處理數(shù)據(jù)鲸匿,用Elasticsearch分析爷怀,或者用Kibana創(chuàng)建和共享儀表盤(pán)。

3.?Packetbeat

Packetbeat 是一個(gè)輕量級(jí)的網(wǎng)絡(luò)數(shù)據(jù)包分析工具带欢。Packetbeat可以通過(guò)抓包分析應(yīng)用程序的網(wǎng)絡(luò)交互运授。并且將抓到的數(shù)據(jù)發(fā)送到 Logstash 或者Elasticsearch。?

1)Packetbeat 輕松的實(shí)時(shí)監(jiān)控并解析像HTTP這樣的網(wǎng)絡(luò)協(xié)議乔煞。以了解流量是如何經(jīng)過(guò)你的網(wǎng)絡(luò)吁朦。Packetbeat 是被動(dòng)的,不增加延遲開(kāi)銷(xiāo)渡贾,無(wú)代碼侵入逗宜,不干涉其他基礎(chǔ)設(shè)施。

2)Packetbeat是一個(gè)庫(kù)空骚,支持多種應(yīng)用程序?qū)訁f(xié)議纺讲,如 http、dns囤屹、mysal熬甚、icmp、postgres肋坚、redis 等乡括。

3)Packetbeat可以讓你實(shí)時(shí)在目標(biāo)服務(wù)器上進(jìn)行抓包-解碼-獲取請(qǐng)求和響應(yīng)-展開(kāi)字段-將json格式的結(jié)果發(fā)送到Elasticsearch。

4)Packetbeat是ELK Stack全家桶中的一員智厌,可以和ELK無(wú)縫協(xié)同工作粟判。例如使用Logstash二次處理數(shù)據(jù),用Elasticsearch分析峦剔,或者用Kibana創(chuàng)建和共享儀表盤(pán)档礁。

4.?Winlogbeat

? Winlogbeat 是一個(gè)輕量級(jí)的 Windows 事件日志收集工具。將 Windows 事件發(fā)送到 Elasticsearc h或者Logstash

? 如果你有 Windows 服務(wù)器的話吝沫,其實(shí)可以從 Windows 事件日志中看到很多東西呻澜。例如,登陸(4624),登陸失敗(4625),插入U(xiǎn)SB便攜設(shè)備(4663)或者新裝軟件(11707)惨险。WinlogBeat可以配置從任何事件日志通道讀取并且結(jié)構(gòu)化提供原始事件數(shù)據(jù)羹幸。使得通過(guò) Elasticsearch 過(guò)濾和聚合結(jié)果變得很容易。

? ??Winlogbeat是ELK Stack全家桶中的一員辫愉,可以和ELK無(wú)縫協(xié)同工作栅受。例如使用Logstash二次處理數(shù)據(jù),用Elasticsearch分析,或者用Kibana創(chuàng)建和共享儀表盤(pán)屏镊。

5.?Heartbeat

Heartbeat 是一個(gè)心跳檢測(cè)工具依疼,主要監(jiān)控服務(wù)的可用性。監(jiān)控給定的地址是否可用(官網(wǎng)原話:對(duì)于給定的URL列表而芥,Heartbeat就問(wèn)一句律罢,還活著沒(méi)?活著吱一聲棍丐。误辑。。) 可以結(jié)合ELK Stack其他產(chǎn)品做進(jìn)一步的分析

1)不管你是測(cè)試同主機(jī)服務(wù)還是其他網(wǎng)絡(luò)服務(wù)歌逢,Heartbeat都可以很輕松的生成正常運(yùn)行時(shí)間和響應(yīng)時(shí)間數(shù)據(jù)巾钉。而且修改配置不需要重啟Heartbeat

2)Heartbeat通過(guò)ICMP,TCP,和HTTP進(jìn)行ping,也支持TLS秘案,身份驗(yàn)證(authentication )睛琳,和代理(proxies)。由于簡(jiǎn)單的DNS解析踏烙,你可以監(jiān)控所有負(fù)載均衡的服務(wù)(原文:You can monitor all the hosts behind a load-balanced server thanks to simple DNS resolution)

3)現(xiàn)如今基礎(chǔ)設(shè)施师骗,服務(wù)和主機(jī)經(jīng)常動(dòng)態(tài)調(diào)整。Heartbeat可以修改配置文件后自動(dòng)加載(原文:Heartbeat makes it easy to automate the process of adding and removing monitoring targets via a simple, file-based interface.)

4)Heartbeat是ELK Stack全家桶中的一員讨惩,可以和ELK無(wú)縫協(xié)同工作辟癌。例如使用Logstash二次處理數(shù)據(jù),用Elasticsearch分析荐捻,或者用Kibana創(chuàng)建和共享儀表盤(pán)黍少。

6.?創(chuàng)建一個(gè)自己的 Beat

? ? 可以根據(jù)官方文檔,使用 beats 生成器生成自己的 beats

? ? https://www.elastic.co/cn/blog/build-your-own-beat

三处面、 Fluentd

Fluentd是一個(gè)完全開(kāi)源免費(fèi)的log信息收集軟件厂置,支持超過(guò)125個(gè)系統(tǒng)的log信息收集。其架構(gòu)圖如圖


Fluentd可以分為客戶端和服務(wù)端兩種模塊魂角£羌茫客戶端為安裝在被采集系統(tǒng)中的程序,用于讀取log文件等信息野揪,并發(fā)送到Fluentd的服務(wù)端访忿。服務(wù)端則是一個(gè)收集器。在Fluentd服務(wù)端斯稳,我們可以進(jìn)行相應(yīng)的配置海铆,使其可以對(duì)收集到的數(shù)據(jù)進(jìn)行過(guò)濾和處理,并最終路由到下一跳挣惰。下一跳可以是用于存儲(chǔ)的數(shù)據(jù)庫(kù)卧斟,如MongoDB, Amazon S3, 也可以是其他的數(shù)據(jù)處理平臺(tái)殴边,比如Hadoop。

1. install & 啟動(dòng)

由于Fluentd的安裝較為麻煩珍语,所以業(yè)界流行的穩(wěn)定安裝版本其實(shí)是有Treasure Data公司提供的td-agent

curl-Lhttps://toolbelt.treasuredata.com/sh/install-ubuntu-trusty-td-agent2.sh|sh

通過(guò)start, stop, restart等命令可以啟動(dòng)锤岸、關(guān)閉和重啟Fluentd服務(wù)。此時(shí)默認(rèn)的Fluentd配置文件的目錄是/etc/td-agent/td-agent.conf文件廊酣。

2. Post Sample Logs via HTTP

默認(rèn)情況下能耻,/etc/td-agent/td-agent.conf文件已經(jīng)對(duì)td-agent進(jìn)行了基本的配置赏枚⊥龀郏可以接收通過(guò)HTTP Post的數(shù)據(jù),并將其路由饿幅、寫(xiě)入到/var/log/td-agent/td-agent.log中凡辱。

可嘗試通過(guò)以下curl命令來(lái)嘗試post數(shù)據(jù)。

$curl-XPOST-d'json={"json":"message"}'http://localhost:8888/debug.test

執(zhí)行之后栗恩,可在輸出log的最后一行找到我們輸入的測(cè)試數(shù)據(jù)透乾。

3. Syntax of Config

在Fluentd中,配置文件非常重要磕秤,它定義了Fluentd應(yīng)該執(zhí)行的操作乳乌。

打開(kāi)/etc/td-agent/td-agent.conf文件,可以看到配置文件的具體內(nèi)容市咆。配置文件中基本會(huì)出現(xiàn)的配置分為以下幾種:

source: 定義輸入

match:定義輸出的目標(biāo)汉操,如寫(xiě)入文件,或者發(fā)送到指定地點(diǎn)蒙兰。

filter:過(guò)濾磷瘤,也即事件處理流水線,可在輸入和輸出之間運(yùn)行搜变。

system:系統(tǒng)級(jí)別的設(shè)置采缚。

label:定義一組操作,從而實(shí)現(xiàn)復(fù)用和內(nèi)部路由挠他。

@include:引入其他文件扳抽,和Java、python的import類(lèi)似殖侵。

1)source:?定義輸入

Fluentd支持多輸入摔蓝。每一個(gè)輸入配置必須包含類(lèi)型/type,比如tcp數(shù)據(jù)輸入愉耙,或者h(yuǎn)ttp類(lèi)型輸入贮尉。type將指定使用的input plugin。以下的示例中就定義了兩個(gè)輸入源朴沿,一個(gè)是從24224端口進(jìn)入的tcp數(shù)據(jù)流猜谚,另一個(gè)是從9880端口進(jìn)入的http數(shù)據(jù)败砂。

# Receive events from 24224/tcp# This is used by log forwarding and the fluent-cat command@type forward? port 24224#http://this.host:9880/myapp.access?json={"event":"data"}@type http? port 9880

Source指定的input插件將帶有{tag, time,record} 三個(gè)屬性的事件/event提交給Fluentd的引擎,完成數(shù)據(jù)的輸入魏铅。

2)match:定義輸出的目標(biāo)昌犹,如寫(xiě)入文件,或者發(fā)送到指定地點(diǎn)

Match配置了數(shù)據(jù)流的匹配規(guī)則和匹配成功后所需執(zhí)行的動(dòng)作览芳,和路由表項(xiàng)類(lèi)似斜姥。比如以下的配置中就對(duì)匹配myapp.access標(biāo)簽成功的數(shù)據(jù)包執(zhí)行file類(lèi)型動(dòng)作,將數(shù)據(jù)寫(xiě)入到路徑為/var/log/fluent/access的文件中沧竟。

# Match events tagged with "myapp.access" and# store them to /var/log/fluent/access.%Y-%m-%d# Of course, you can control how you partition your data# with the time_slice_format option.@type file? path /var/log/fluent/access

標(biāo)準(zhǔn)的動(dòng)作有file和forward等铸敏。File表明寫(xiě)入文件,而forward表明轉(zhuǎn)發(fā)到下一跳悟泵。

Match Pattern的設(shè)計(jì)與正常的正則匹配沒(méi)有區(qū)別杈笔,具體的分類(lèi)如下:

*:匹配tag的某一部分,比如a.*可以匹配a.b,但a.b.c無(wú)法匹配成功糕非。**:匹配0個(gè)或者多個(gè)tag部分蒙具。比如a.**可以匹配a.b,a.b.c{X,Y,Z}:匹配X,Y,orZ,或關(guān)系。

此外朽肥,他們還可以混用禁筏,比如a.{b,c,d}.*等等。當(dāng)標(biāo)簽內(nèi)衡招,有多個(gè)匹配模式時(shí)篱昔,將支持或邏輯的匹配,即只要匹配成功人一個(gè)都執(zhí)行對(duì)應(yīng)的操作蚁吝。比如:

匹配a和b.匹配a,a.b,a.b.c

3)Logging

Fluentd支持兩種類(lèi)型的logging 配置旱爆,一種是 global 全局的,另一種是針對(duì)插件的Plugin窘茁。

支持的log的輸出級(jí)別有如下幾種:

fatal error warn info debug trace

4)Fluentd有5種類(lèi)型的插件怀伦,分別是:

Input:完成輸入數(shù)據(jù)的讀取,由source部分配置

Parser:解析插件

Output:完成輸出數(shù)據(jù)的操作山林,由match部分配置

Formatter:消息格式化的插件房待,屬于filter類(lèi)型

Buffer:緩存插件,用于緩存數(shù)據(jù)

每一個(gè)類(lèi)型都包含著多種的插件驼抹,比如input類(lèi)型就包含了以下幾種插件:

in_forward? ?in_http? ?in_tail? ?in_exec? in_syslog? in_scribe

5)Route

Route指的是數(shù)據(jù)在Fluentd中的處理流水線桑孩,一般的流程為

input -> filter -> output

input -> filter -> output with label

即由輸入插件獲取數(shù)據(jù),然后交給filter做處理框冀,然后交給output插件去轉(zhuǎn)發(fā)流椒。同時(shí),也支持?jǐn)?shù)據(jù)包/事件的重新提交明也,比如修改tag之后重新路由等等宣虾。

reroute event by tags

reroute event by record content

reroute event to other label

4. Use case

此處將選擇一個(gè)最簡(jiǎn)單的使用案例來(lái)介紹Fluentd的使用惯裕。Fluentd收集Docker的登陸信息案例。

首先創(chuàng)建一個(gè)config file, 用于配置Fluentd的行為绣硝,可命名為”in_docker.conf“蜻势。

type forward? port 24224? bind 0.0.0.0type stdout

然后保存文件。使用以下命令運(yùn)行Fluentd鹉胖。

$fluentd-cin_docker.conf

若運(yùn)行成功則可見(jiàn)輸出信息如下所示:

$ fluentd -c in_docker.conf2015-09-01 15:07:12 -0600 [info]: reading config file path="in_docker.conf"2015-09-01 15:07:12 -0600 [info]: starting fluentd-0.12.152015-09-01 15:07:12 -0600 [info]: gem 'fluent-plugin-mongo' version '0.7.10'2015-09-01 15:07:12 -0600 [info]: gem 'fluentd' version '0.12.15'2015-09-01 15:07:12 -0600 [info]: adding match pattern="*.*" type="stdout"2015-09-01 15:07:12 -0600 [info]: adding source type="forward"2015-09-01 15:07:12 -0600 [info]: using configuration file:@type forward? ? port 24224? ? bind 0.0.0.0@type stdout2015-09-01 15:07:12 -0600 [info]: listening fluent socket on 0.0.0.0:24224

然后啟動(dòng)docker containner握玛。如果之前沒(méi)有安裝過(guò)docker engine,請(qǐng)讀者自行安裝甫菠。由于docker 本身支持Fluentd收集信息挠铲,所以可以通過(guò)啟動(dòng)命令來(lái)啟動(dòng)Fluentd的client/客戶端。

$dockerrun--log-driver=fluentdubuntuecho"Hello Fluentd!"HelloFluentd!

以上命令中的ubuntu為一個(gè)鏡像淑蔚,如果本地沒(méi)有市殷,docker engine會(huì)自動(dòng)下載愕撰,并在此鏡像上創(chuàng)建容器刹衫。啟動(dòng)容器后,查看默認(rèn)的輸出信息文件:/var/log/td-agent/td-agent.log,可在最后一行查看到輸出的信息搞挣。

總結(jié)

Fluentd是一個(gè)優(yōu)秀的log信息收集的開(kāi)源免費(fèi)軟件带迟,目前以支持超過(guò)125種系統(tǒng)的log信息獲取。Fluentd結(jié)合其他數(shù)據(jù)處理平臺(tái)的使用囱桨,可以搭建大數(shù)據(jù)收集和處理平臺(tái)仓犬,搭建商業(yè)化的解決方案。

四舍肠、Fluentd & logstash 對(duì)比

logstash支持所有主流日志類(lèi)型搀继,插件支持最豐富,可以靈活DIY翠语,但性能較差叽躯,JVM容易導(dǎo)致內(nèi)存使用量高。

fluentd支持所有主流日志類(lèi)型肌括,插件支持較多点骑,性能表現(xiàn)較好。

參考:

http://www.reibang.com/p/9c26bd9f6ebd

https://juejin.im/entry/58bad514ac502e006bf70517

http://soft.dog/2015/12/24/beats-basic/

http://www.muzixing.com/tag/fluentd.html

?著作權(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)離奇詭異珠漂,居然都是意外死亡晚缩,警方通過(guò)查閱死者的電腦和手機(jī)葛菇,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,732評(píng)論 3 393
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)橡羞,“玉大人眯停,你說(shuō)我怎么就攤上這事∏湓螅” “怎么了莺债?”我有些...
    開(kāi)封第一講書(shū)人閱讀 163,711評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)签夭。 經(jīng)常有香客問(wèn)我齐邦,道長(zhǎng),這世上最難降的妖魔是什么第租? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,380評(píng)論 1 293
  • 正文 為了忘掉前任措拇,我火速辦了婚禮,結(jié)果婚禮上慎宾,老公的妹妹穿的比我還像新娘丐吓。我一直安慰自己,他們只是感情好趟据,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,432評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布券犁。 她就那樣靜靜地躺著,像睡著了一般汹碱。 火紅的嫁衣襯著肌膚如雪粘衬。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,301評(píng)論 1 301
  • 那天咳促,我揣著相機(jī)與錄音稚新,去河邊找鬼。 笑死跪腹,一個(gè)胖子當(dāng)著我的面吹牛褂删,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尺迂,決...
    沈念sama閱讀 40,145評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼笤妙,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了噪裕?” 一聲冷哼從身側(cè)響起蹲盘,我...
    開(kāi)封第一講書(shū)人閱讀 39,008評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎膳音,沒(méi)想到半個(gè)月后召衔,有當(dāng)?shù)厝嗽跇?shù)林里發(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
  • 文/蒙蒙 一往枷、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧凄杯,春花似錦错洁、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,731評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)蘸鲸。三九已至妖谴,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間酌摇,已是汗流浹背膝舅。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,865評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(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)容