graylog日志分析管理系統(tǒng)教程

日志分析系統(tǒng)可以實(shí)時(shí)收集、分析茶宵、監(jiān)控日志并報(bào)警,當(dāng)然也可以非實(shí)時(shí)的分析日志宗挥。splunk是功能強(qiáng)大且用起來(lái)最省心的乌庶,但是要收費(fèi)种蝶,免費(fèi)版有每天500M的限制,超過(guò)500M的日志就沒(méi)法處理了安拟。ELK系統(tǒng)是最常見(jiàn)的蛤吓,缺點(diǎn)是配置麻煩一些,比較重量級(jí)糠赦。graylog是開(kāi)源免費(fèi)的会傲,配置上要比ELK系統(tǒng)簡(jiǎn)單。綜上拙泽,本文嘗試容器方式搭建一套graylog系統(tǒng)淌山,不做實(shí)時(shí)收集日志和報(bào)警的配置,只完成非實(shí)時(shí)被動(dòng)接收網(wǎng)站日志顾瞻,分析日志各項(xiàng)指標(biāo)的功能泼疑。

docker官方鏡像國(guó)內(nèi)速度我覺(jué)得慢,改成國(guó)內(nèi)鏡像荷荤。新建文件daemon.json如下

vi /etc/docker/daemon.json
{
"registry-mirrors": ["https://registry.docker-cn.com"]
}

也可以用網(wǎng)易鏡像http://hub-mirror.c.163.com
配置完重啟docker才能生效

#service docker restart

拉取如下三個(gè)鏡像

docker pull mongo:3
docker pull docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10
docker pull graylog/graylog:3.3

不要急著按照網(wǎng)上的方法啟動(dòng)鏡像退渗,我開(kāi)始docker啟動(dòng)elasticsearch,雖然顯示啟動(dòng)成功蕴纳,但過(guò)半分鐘后偷偷退出会油,這導(dǎo)致graylog在瀏覽器打不開(kāi)。最后通過(guò)查看容器啟動(dòng)時(shí)的日志古毛,發(fā)現(xiàn)elasticsearch對(duì)于系統(tǒng)參數(shù)是有要求的翻翩,按如下修改。

在 /etc/sysctl.conf文件最后添加一行

vm.max_map_count=262144

vi /etc/security/limits.conf

*              -       nofile            102400  

修改完成后重啟系統(tǒng)使變量生效稻薇。

docker啟動(dòng)elasticsearch時(shí)要加上參數(shù)

--ulimit nofile=65536:65536 --ulimit nproc=4096:4096

嫂冻,確保容器內(nèi)環(huán)境滿(mǎn)足要求,否則在docker pa -a命令下會(huì)看到exit(78)或exit(1)的容器異常退出錯(cuò)誤塞椎。
查看容器啟動(dòng)報(bào)錯(cuò)最準(zhǔn)確的方法是“docker logs -f 容器ID”這個(gè)命令桨仿,我們不加--ulimit 參數(shù)試試

[root@bogon ~]# docker ps
CONTAINER ID        IMAGE                                                      COMMAND                CREATED             STATUS              PORTS                                            NAMES
7e4a811093d9        docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10   "/usr/local/bin/dock   6 seconds ago       Up 4 seconds        0.0.0.0:9200->9200/tcp, 0.0.0.0:9300->9300/tcp   elasticsearch

用上面的CONTAINER ID產(chǎn)看啟動(dòng)時(shí)的日志

[root@bogon ~]# docker logs -f 7e4a811093d9
最后會(huì)打印出
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max number of threads [3869] for user [elasticsearch] is too low, increase to at least [4096]
[2020-08-27T06:10:25,888][INFO ][o.e.n.Node               ] [WG6mVz4] stopping ...
[2020-08-27T06:10:25,903][INFO ][o.e.n.Node               ] [WG6mVz4] stopped
[2020-08-27T06:10:25,903][INFO ][o.e.n.Node               ] [WG6mVz4] closing ...
[2020-08-27T06:10:25,928][INFO ][o.e.n.Node               ] [WG6mVz4] closed

兩行too low的提示就是容器退出的原因。
三個(gè)容器正確的啟動(dòng)命令如下

docker run --name mongo -d mongo:3

docker run --name elasticsearch \
    -e "http.host=0.0.0.0" \
    -e "ES_JAVA_OPTS=-Xms512m -Xmx512m" \
    --ulimit nofile=65536:65536 --ulimit nproc=4096:4096 \
    -p 9200:9200 -p 9300:9300 \
    -d docker.elastic.co/elasticsearch/elasticsearch-oss:6.8.10

docker run --name graylog --link mongo --link elasticsearch \
    -p 9000:9000 -p 12201:12201 -p 1514:1514 -p 5555:5555 \
    -v /home/graylog/geodata:/usr/share/graylog/log \
    -e GRAYLOG_HTTP_EXTERNAL_URI="http://192.168.56.106:9000/" \
    -d graylog/graylog:3.3

mongo的啟動(dòng)沒(méi)什么可說(shuō)的案狠。
elasticsearch的--ulimit必須加否則啟動(dòng)后退出蹬敲,-p 9200:9200是管理端口痹雅,將來(lái)刪除數(shù)據(jù)需要訪(fǎng)問(wèn)這個(gè)端口砚著。
graylog 9000端口是系統(tǒng)界面,5555是開(kāi)的tcp端口沐批,用于被動(dòng)接收日志數(shù)據(jù)的从铲。

-v /home/graylog/geodata:/usr/share/graylog/log

是把本地/home/graylog/geodata掛載到容器的/usr/share/graylog/log目錄瘪校,我這么配置是為了讓graylog能讀到GeoLite2-City.mmdb地理信息數(shù)據(jù)庫(kù),這個(gè)庫(kù)是把ip和地理位置對(duì)應(yīng)起來(lái)了。本來(lái)想把它拷貝到容器里阱扬,但報(bào)錯(cuò)

[root@localhost graylog]# docker cp ./GeoLite2-City.mmdb 151960c2f33b:/usr/share/graylog/data/
Error: Path not specified

說(shuō)是要升級(jí)docker1.7到更高版本泣懊,不想升級(jí),改成掛載方法了麻惶。如果不想掛載什么文件馍刮,-v這行參數(shù)可以去掉。
我是用命令“#docker exec -it graylog容器ID bash" 先進(jìn)入容器窃蹋,看到容器內(nèi)/usr/share/graylog/log目錄沒(méi)什么東西卡啰,所以選擇掛載到這個(gè)目錄的。
地理數(shù)據(jù)用于顯示訪(fǎng)問(wèn)網(wǎng)站的ip分布在哪個(gè)城市國(guó)家警没,還有世界地圖的顯示匈辱。需要在https://dev.maxmind.com/zh-hans/geoip/geoip2/geolite2/上下載,麻煩的是這里需要注冊(cè)杀迹。我下載的是GeoLite2-City_20200825.tar.gz亡脸,解壓后有GeoLite2-City.mmdb,上傳這個(gè)文件到Linux的/home/graylog/geodata目錄树酪,這個(gè)文件是需要掛載到容器浅碾,給graylog使用的。
不想注冊(cè)請(qǐng)從下面鏈接下載
鏈接:https://pan.baidu.com/s/1LovroJyodJml4
niI66CkmA
提取碼:bsmm

GRAYLOG_HTTP_EXTERNAL_URI的地址不要寫(xiě)127.0.0.1续语,這樣如果在Linux的外部訪(fǎng)問(wèn)及穗,雖然能通,但是網(wǎng)頁(yè)是空白一片绵载,要寫(xiě)Linux對(duì)外的ip地址,這樣在外部瀏覽器打開(kāi)才正常苛白。

另外graylog的啟動(dòng)是依賴(lài)于mongo和elasticsearch的娃豹,等其它兩個(gè)都成功啟動(dòng),再啟動(dòng)graylog购裙。

下面開(kāi)始演示如果配置graylog系統(tǒng)懂版,并且分析網(wǎng)站的Apache標(biāo)準(zhǔn)格式的日志。大概步驟如下
配置input->給input配置extractor->配置地理信息數(shù)據(jù)庫(kù)->手動(dòng)輸入日志->分析日志躏率。
瀏覽器輸入http://192.168.56.106:9000/ 用戶(hù)名和密碼都是admin躯畴,登陸進(jìn)graylog系統(tǒng)。
system->input,


image

點(diǎn)擊select input右側(cè)的下拉箭頭薇芝,出現(xiàn)下拉列表蓬抄,選擇raw/plaintext TCP

image

然后點(diǎn)擊Lanch new input,Node下拉唯一選擇給選上夯到,Title隨意起名嚷缭,Port寫(xiě)5555,因?yàn)槲覀僤ocker啟動(dòng)參數(shù)寫(xiě)的-p 5555:5555 這兩個(gè)必須保持一致。


image

其它不用填點(diǎn)擊下方SAVE按鈕阅爽,會(huì)自動(dòng)啟動(dòng)該input路幸,可以看到local inputs下方增加了剛才的配置。其實(shí)現(xiàn)在用cat access.log | nc localhost 5555等命令給5555端口發(fā)送日志數(shù)據(jù)付翁,數(shù)據(jù)就可以進(jìn)入到graylog系統(tǒng)简肴,并且可以進(jìn)行簡(jiǎn)單的搜索了。但這種搜索是最基礎(chǔ)的字符串匹配百侧,價(jià)值不大砰识。我們要分析日志的各項(xiàng)指標(biāo),并且生成圖表移层,必須讓系統(tǒng)能解析每條日志的各個(gè)field(字段或域值)仍翰,例如clientip就是一個(gè)field,request也是一個(gè)field观话。要解析出field要給input配置extractor予借,點(diǎn)擊Manager exactor。


image
image

Extractors JSON里貼入下面內(nèi)容

{
"extractors": [
    {
"title": "commonapache",
"extractor_type": "grok",
"converters": [],
"order": 0,
"cursor_strategy": "copy",
"source_field": "message",
"target_field": "",
"extractor_config": {
"grok_pattern": "%{COMMONAPACHELOG}"
      },
"condition_type": "none",
"condition_value": ""
    }
  ],
"version": "3.3.5"
}
image

最后點(diǎn)擊 add extrators to input频蛔,顯示successful即可灵迫。
到這里已經(jīng)可以正確解析日志得field了。但是如果我們想分析和地理位置相關(guān)的信息晦溪,還必須配置地理信息數(shù)據(jù)庫(kù)瀑粥,上文下載的mmdb文件。
system->configurations三圆,最右下方有一項(xiàng)Geo-Location Processor狞换,點(diǎn)擊改項(xiàng)目下方的update按鈕

image

配置完成,點(diǎn)擊save舟肉。

Configurations最上方Message Processors Configuration下方表格里要把GeoIP Resolver放在表格的最下方修噪。點(diǎn)擊表格下方的update

image

鼠標(biāo)按住GeoIP Resolver往下方拖,
image

image

完成后點(diǎn)擊save路媚。Message Processors Configuration表格的GeoIP Resolver到了最下方黄琼。
下面是手動(dòng)輸入日志到input了,我將access2020-07-06.log放到了Linux目錄下整慎,在目錄下執(zhí)行

# cat access2020-07-06.log | head -n 10000 | nc localhost 5555

命令是將log從頭開(kāi)始的10000行日志發(fā)送到本機(jī)的5555端口脏款,由于graylog的input配置的也是5555端口,docker run graylog時(shí)命令參數(shù)也是-p 5555:5555裤园,只要這三處保持一致撤师,這個(gè)命令是一定能成功的。這里命令nc拧揽、ncat丈氓、netcat三個(gè)都能到達(dá)同樣的效果。

導(dǎo)入完成后,選擇graylog最上方的search選項(xiàng)

image

上方的按鈕是查詢(xún)時(shí)間范圍万俗,這個(gè)時(shí)間是日志導(dǎo)入的時(shí)間湾笛,不是日志本身記錄請(qǐng)求的時(shí)間,如果要查全部直接選擇search in all messages
下方放大鏡按鈕就是搜索闰歪,后方可以添加搜索關(guān)鍵字嚎研,或者某個(gè)field的限制,有很多搜索語(yǔ)法非常方便库倘,點(diǎn)擊搜索后临扮,不符合條件的日志記錄會(huì)被去除。
下方All Messages就是符合條件的原始的日志結(jié)果教翩。
如果想統(tǒng)計(jì)訪(fǎng)問(wèn)來(lái)源于哪些城市杆勇,點(diǎn)擊左側(cè)邊欄最下的X(field)形按鈕。選擇clientip_cityname->show top values

image

鼠標(biāo)點(diǎn)擊右側(cè)灰色區(qū)域饱亿,回到主界面蚜退,訪(fǎng)問(wèn)來(lái)源的城市信息已經(jīng)在列表里了。
image

N/A表示的是有大量請(qǐng)求識(shí)別不出ip所在的城市彪笼,這有可能是我們的地理信息數(shù)據(jù)庫(kù)不全不新钻注,或者有些192 172這種內(nèi)網(wǎng)地址的訪(fǎng)問(wèn)無(wú)法識(shí)別地區(qū),這里不重點(diǎn)討論了配猫。如果要剔除N/A數(shù)據(jù)幅恋,只看可識(shí)別城市的分布,鼠標(biāo)放到N/A右側(cè)泵肄,會(huì)出現(xiàn)下拉菜單的箭頭捆交,點(diǎn)擊箭頭,選擇exclude from results腐巢,N/A的數(shù)據(jù)就會(huì)去除品追,上面的搜索欄內(nèi)也會(huì)自動(dòng)增加這個(gè)篩選條件,
image

image

注意現(xiàn)在的統(tǒng)計(jì)是剔除了N/A的數(shù)據(jù)系忙,數(shù)據(jù)范圍實(shí)際是比全部日志范圍縮小了的,這在實(shí)際應(yīng)用中很有價(jià)值惠豺,很多情況下我們統(tǒng)計(jì)某些指標(biāo)银还,就是要看某個(gè)局部范圍的。下面我們看看訪(fǎng)問(wèn)來(lái)源城市的統(tǒng)計(jì)圖洁墙,點(diǎn)擊右上角下拉箭頭蛹疯,選擇Edit

image

點(diǎn)擊左側(cè)Date Table處下拉菜單,可以看到柱狀圖热监、餅狀圖捺弦、散點(diǎn)圖等都列在里面,選擇哪個(gè)右側(cè)就會(huì)出現(xiàn)那種統(tǒng)計(jì)的圖表。
image

image

image

如果要展示訪(fǎng)問(wèn)來(lái)源在世界地圖的分布列吼,field菜單選擇clientip_geolocation->show top values幽崩,
image

彈出的統(tǒng)計(jì)表格是經(jīng)緯度坐標(biāo)的訪(fǎng)問(wèn)次數(shù)。和上面圖標(biāo)一樣寞钥,進(jìn)入Date Tabel下拉菜單慌申,最下方有world map
image

選擇會(huì)顯示地圖統(tǒng)計(jì)結(jié)果,放大調(diào)整位置如下圖
image

其它指標(biāo)的統(tǒng)計(jì)如request分布理郑,訪(fǎng)問(wèn)時(shí)間分布蹄溉,在field下列表里都有,根據(jù)需要按上面同樣操作您炉。地理信息數(shù)據(jù)和標(biāo)準(zhǔn)的Apache日志可以結(jié)合生效柒爵,但一些自定義的extractor是否生效是不一定的。

番外篇

給input配置extractor赚爵,上面配置的是標(biāo)準(zhǔn)的Apache格式日志棉胀,如果日志格式是nginx或者自定義的怎么辦呢?
graylog提供了給日志配置extractor的功能囱晴,假設(shè)我們配置完input膏蚓,沒(méi)有給input配置extractor,直接導(dǎo)入日志畸写,按如下步驟配置extractor
input界面選擇manager extractor

image

getstarted
image

load message會(huì)將剛進(jìn)入的日志中的一條顯示出來(lái)驮瞧,點(diǎn)擊message位置的select extractor type,表示我們要對(duì)message也就是整條信息配置extractor枯芬,下拉菜單選擇Grok Pattern论笔。如果日志進(jìn)入時(shí)間比較久,load message無(wú)法展示日志千所,需要通過(guò)旁邊message ID的標(biāo)簽來(lái)搜索日志狂魔,需要提供message ID和index,這兩個(gè)參數(shù)在搜索界面下方all message里淫痰,隨便點(diǎn)擊一條日志數(shù)據(jù)最楷,展開(kāi)就可以看到。message ID形如4b282600-e8d2-11ea-b962-0242ac110008待错,index形如graylog_0籽孙。
image

進(jìn)入Extractor configuration,里面的pattern要自己填寫(xiě)火俄,可以在右側(cè)已有的pattern選擇若干個(gè)組合犯建,也可以自己定義,這里需要對(duì)grok和正則語(yǔ)法熟練了瓜客。我這里填寫(xiě)的是解析nginx原生日志的pattern格式适瓦,也是網(wǎng)上搜索的竿开。填寫(xiě)完點(diǎn)擊try against example,如果解析成功玻熙,下方會(huì)表格形式列出各個(gè)field對(duì)應(yīng)該條日志的值否彩。不成功就會(huì)報(bào)錯(cuò),需要修改pattern直到不報(bào)錯(cuò)揭芍。
image

我的pattern如下

^%{IPORHOST:clientip} (?:-|%{USER:ident}) (?:-|%{USER:auth}) \[%{HTTPDATE:timestamp}\] \"(?:%{WORD:verb} %{NOTSPACE:request}(?: HTTP/%{NUMBER:httpversion})?|-)\" %{NUMBER:response} (?:-|%{NUMBER:bytes})([\s\S]{1})\"(?<http_referer>\S+)\"([\s\S]{1})\"(?<http_user_agent>(\S+\s+)*\S+)\".*%{BASE16FLOAT:request_time}

解析成功胳搞,Extractor title隨便起個(gè)名,點(diǎn)擊最下方create extractor

image

extractor已經(jīng)成功添加給input了称杨,上面的action有export extractor肌毅,點(diǎn)擊可以以json格式展示剛才配置的extractor。

image

拷貝這個(gè)json文本姑原,保存在本地悬而,以后遇到nginx原生格式日志,直接通過(guò)上面的import extractor就直接使用锭汛,不用在配置grok pattern測(cè)試了笨奠。
需要說(shuō)明的是一條日志記錄有沒(méi)有被解析為各個(gè)field,取決于日志進(jìn)入系統(tǒng)時(shí)唤殴,有沒(méi)有配置extractor般婆。后配置的extractor對(duì)在之前的日志是起不到解析作用的。
如果配置完extractor朵逝,相同格式日志只進(jìn)入系統(tǒng)一小部分蔚袍,不要找其它原因了,原因就是pattern不對(duì)配名,雖然測(cè)試通過(guò)了啤咽,也配上了,但是還需要你重新修改pattern渠脉,如果pattern正確宇整,符合格式的日志應(yīng)該全都進(jìn)入系統(tǒng)。

對(duì)于有些日志格式芋膘,配置grok pattern需要大量調(diào)試鳞青,graylog調(diào)試并不方便,官方grok調(diào)試器網(wǎng)站國(guó)內(nèi)都打不開(kāi)了为朋。下面提供一個(gè)工具臂拓,可以直接粘貼日志到頁(yè)面調(diào)試
鏈接:https://pan.baidu.com/s/1gWX4ZcAzh-zn5hSahdOMig
提取碼:t6q6
windows的cmd直接java -jar GrokConstructor-0.1.0-SNAPSHOT-standalone.jar
然后瀏覽器訪(fǎng)問(wèn)127.0.0.1:8080,點(diǎn)擊matcher潜腻,上面填寫(xiě)日志埃儿,下方填寫(xiě)grok pattern器仗,

image

點(diǎn)擊go融涣,如果成功解析童番,會(huì)表格形式展示解析各個(gè)field結(jié)果。
image

ramdom example給出了一些常見(jiàn)日志的例子和對(duì)應(yīng)的pattern格式威鹿。

如果要重新配置graylog和輸入數(shù)據(jù)剃斧,先

docker stop $(docker ps -a -q)

停止所有容器,然后

docker rm $(docker ps -a -q)

刪除所有容器忽你,然后docker run 按順序啟動(dòng)三個(gè)容器幼东,這樣啟動(dòng)的容器是全新的,之前的配置和數(shù)據(jù)都會(huì)丟失科雳。
上面對(duì)容器的操作麻煩根蟹,可以使用

curl -L https://github.com/docker/compose/releases/download/1.25.0/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose

安裝docker-compose,將啟動(dòng)參數(shù)等要求寫(xiě)到docker-compose.yml文件里糟秘,這種方式操作命令會(huì)很簡(jiǎn)單简逮。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市尿赚,隨后出現(xiàn)的幾起案子散庶,更是在濱河造成了極大的恐慌,老刑警劉巖凌净,帶你破解...
    沈念sama閱讀 222,865評(píng)論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悲龟,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡冰寻,警方通過(guò)查閱死者的電腦和手機(jī)须教,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 95,296評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)性雄,“玉大人没卸,你說(shuō)我怎么就攤上這事∶胄” “怎么了约计?”我有些...
    開(kāi)封第一講書(shū)人閱讀 169,631評(píng)論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)迁筛。 經(jīng)常有香客問(wèn)我煤蚌,道長(zhǎng),這世上最難降的妖魔是什么细卧? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 60,199評(píng)論 1 300
  • 正文 為了忘掉前任尉桩,我火速辦了婚禮,結(jié)果婚禮上贪庙,老公的妹妹穿的比我還像新娘蜘犁。我一直安慰自己,他們只是感情好止邮,可當(dāng)我...
    茶點(diǎn)故事閱讀 69,196評(píng)論 6 398
  • 文/花漫 我一把揭開(kāi)白布这橙。 她就那樣靜靜地躺著奏窑,像睡著了一般。 火紅的嫁衣襯著肌膚如雪屈扎。 梳的紋絲不亂的頭發(fā)上埃唯,一...
    開(kāi)封第一講書(shū)人閱讀 52,793評(píng)論 1 314
  • 那天,我揣著相機(jī)與錄音鹰晨,去河邊找鬼墨叛。 笑死,一個(gè)胖子當(dāng)著我的面吹牛模蜡,可吹牛的內(nèi)容都是我干的漠趁。 我是一名探鬼主播,決...
    沈念sama閱讀 41,221評(píng)論 3 423
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼忍疾,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼棚潦!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起膝昆,我...
    開(kāi)封第一講書(shū)人閱讀 40,174評(píng)論 0 277
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤丸边,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后荚孵,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體妹窖,經(jīng)...
    沈念sama閱讀 46,699評(píng)論 1 320
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,770評(píng)論 3 343
  • 正文 我和宋清朗相戀三年收叶,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了骄呼。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,918評(píng)論 1 353
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡判没,死狀恐怖蜓萄,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情澄峰,我是刑警寧澤嫉沽,帶...
    沈念sama閱讀 36,573評(píng)論 5 351
  • 正文 年R本政府宣布,位于F島的核電站俏竞,受9級(jí)特大地震影響绸硕,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜魂毁,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,255評(píng)論 3 336
  • 文/蒙蒙 一玻佩、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧席楚,春花似錦咬崔、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 32,749評(píng)論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)娶聘。三九已至,卻和暖如春甚脉,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背铆农。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,862評(píng)論 1 274
  • 我被黑心中介騙來(lái)泰國(guó)打工牺氨, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人墩剖。 一個(gè)月前我還...
    沈念sama閱讀 49,364評(píng)論 3 379
  • 正文 我出身青樓猴凹,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親岭皂。 傳聞我的和親對(duì)象是個(gè)殘疾皇子郊霎,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,926評(píng)論 2 361