介绍

ELK是业界标准的日志采集,存储索引,展示分析系统解决方案
logstash提供了灵活多样的插件支持不同的input/output
主流使用redis/kafka作为日志/消息的中间环节
如果已有kafka的环境了,使用kafka比使用redis更佳
以下是一个最简化的配置做个笔记,elastic官网提供了非常丰富的文档
不要用搜索引擎去搜索,没多少结果的,请直接看官网文档

采用的ELK/kafka版本

elasticsearch-2.x
logstash-2.3
kibana-4.5.1

Kafka 0.9.0.1

应用/网络 环境

Nginx机
10.0.0.1

Kafka群集
10.0.0.11
10.0.0.12
10.0.0.13

ElasticSearch机
10.0.0.21

整体说明

数据流向

日志/消息整体流向
logstash => kafka => logstash => elasticsearch => kibana

安装

elk所有安装都可以使用rpm二进制包的方式,增加elastic官网的仓库repo就可以用yum安装了

elasticsearch看这里
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

logstash看这里
https://www.elastic.co/guide/en/logstash/current/installing-logstash.html

kibana看这里
https://www.elastic.co/guide/en/kibana/current/setup.html

安装概览

nginx机 10.0.0.1
运行nginx的日志格式化为json
运行logstash输入input从nginx json,输出output到kafka

kafka群集 10.0.0.11 10.0.0.12 10.0.0.13
kafka群集Topic为logstash

elasticsearch机10.0.0.21
运行elasticsearch
运行logstash输入input从kafka,输出output到elasticsearch

Nginx机

nginx日志格式化为json

在nginx的 http{} 中定义一个名为logstash_json格式化,格式化日志为json

log_format logstash_json '{ "@timestamp": "$time_local", '
'"@fields": { '
'"remote_addr": "$remote_addr", '
'"remote_user": "$remote_user", '
'"body_bytes_sent": "$body_bytes_sent", '
'"request_time": "$request_time", '
'"status": "$status", '
'"request": "$request", '
'"request_method": "$request_method", '
'"http_referrer": "$http_referer", '
'"body_bytes_sent":"$body_bytes_sent", '
'"http_x_forwarded_for": "$http_x_forwarded_for", '
'"http_user_agent": "$http_user_agent" } }';

在server{} 中增加记录logstash_json日志,可以用原有的日志输出共存

access_log /data/wwwlogs/iamle.log log_format;
access_log /data/wwwlogs/nginx_json.log logstash_json;

logstash日志采集配置

/etc/logstash/conf.d/nginx.conf

input {
file {
path => "/data/wwwlogs/nginx_json.log"
codec => "json"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
kafka {
bootstrap_servers => "10.0.0.11:9092"
topic_id => "logstash"
compression_type => "gzip"
}
}

Kafka群集

新建一个Topic

新建一个Topic叫做
logstash

Topic
每条发布到Kafka集群的消息都有一个类别,这个类别被称为topic。(物理上不同topic的消息分开存储,逻辑上一个topic的消息虽然保存于一个或多个broker上但用户只需指定消息的topic即可生产或消费数据而不必关心数据存于何处)

ElasticSearch机

logstash把数据从kafka存到elasticsearch的配置

其中选取kafka群集任意一个有zk的ip做连接使用
topic_id就是kafka中设置的topic logstash
/etc/logstash/conf.d/logstashes.conf

input {
kafka {
zk_connect => "10.0.0.13:2181"
topic_id => "logstash"
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
elasticsearch {
hosts => ["10.0.0.21"]
index => "logstash-iamle-%{+YYYY.MM.dd}"
document_type => "iamle"
workers => 5
template_overwrite => true
}
}

补充说明

以上是主要的配置,就差kibana的查看/展示了

kibana

我这里kibana和elasticsearch是同一台机器
官方yum方式安装的kibana配置文件在
/opt/kibana/config/kibana.yml
需要改2个地方,监听端口和es的连接信息

server.host: "10.0.0.21"
elasticsearch.url: "http://10.0.0.21:9200"

启动kibana /etc/init.d/kibana start后可以通过 http://10.0.0.21:5601 访问

kibana的使用的多看官网文档,网上中文的资料不多,关于elk有一本饶琛琳写的
ELKstack 中文指南
https://www.gitbook.com/book/chenryn/kibana-guide-cn/details
kibana Discover 过滤静态文件
NOT \/static AND NOT \/upload\/

elasticsearch

官方yum方式安装的elasticsearch配置文件在
/etc/elasticsearch/elasticsearch.yml
需要配置下监听ip,默认是127.0.0.1

network.host: 10.0.0.21
path.data: /data

elasticsearch安装了head插件后可以看到es状态
http://10.0.0.21:9200/_plugin/head/

安全问题

特别要注意elk所有软件的端口监听,切勿暴露监听到公网上去,另外即便是内网你也得注意配置内网的访问限制

Nginx+Logstash+Elasticsearch+Kibana搭建网站日志分析系统笔记

前言

流程,nignx格式化日志成json,通过logstash直接采集到elasticsearch,然后通过kibana gui界面展示分析

要点nignx日志成json格式,避免nignx默认日志是空格,需要正则匹配,导致logstash占过多cpu
elasticsearch机配置防火墙,只让指定的logstash机访问
kibana只监听本地127.0.0.1使用nignx方向代理,nginx中配置Http Basic Auth账号密码登陆

比较粗略的笔记,备忘
安装java
yum install java-1.8.0-openjdk*

nginx配置

为了让nignx机跑logstash采集日志负载最低,建议直接生成json的方式,直接就可以用logstash读取写入到Elasticsearch

http{} 中定义 格式化日志成json

log_format logstash_json '{"@timestamp":"$time_iso8601",'
'"host":"$server_addr",'
'"clientip":"$remote_addr",'
'"http_x_forwarded_for":"$http_x_forwarded_for",'
'"size":$body_bytes_sent,'
'"responsetime":$request_time,'
'"upstreamtime":"$upstream_response_time",'
'"upstreamhost":"$upstream_addr",'
'"http_host":"$host",'
'"request":"$request",'
'"url":"$uri",'
'"xff":"$http_x_forwarded_for",'
'"referer":"$http_referer",'
'"agent":"$http_user_agent",'
'"status":"$status"}';

server内输出日志 access_log可以配置多个同时输出,可以保留你以前的

access_log /data/wwwlogs/www.iamle.log iamle.com;
access_log /data/wwwlogs/www.iamle.com.logstash_json.log logstash_json;

nginx机安装Logstash1.5.x

rpm --import http://packages.elasticsearch.org/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/logstash.repo <<EOF
[logstash-1.5]
name=logstash repository for 1.5.x packages
baseurl=http://packages.elasticsearch.org/logstash/1.5/centos
gpgcheck=1
gpgkey=http://packages.elasticsearch.org/GPG-KEY-elasticsearch
enabled=1
EOF
yum clean all
yum install logstash

 

在目录 /etc/logstash/conf.d/
建立配置文件 nginx_json.conf

input {
file {
path => "/data/wwwlogs/www.iamle.com.logstash_json.log"
codec => json
}
}
filter {
mutate {
split => [ "upstreamtime", "," ]
}
mutate {
convert => [ "upstreamtime", "float" ]
}
}
output {
elasticsearch {
host => "elk.server.iamle.com"
protocol => "http"
index => "logstash-%{type}-%{+YYYY.MM.dd}"
index_type => "%{type}"
workers => 5
template_overwrite => true
}
}

service logstash start

日志存储机安装Elasticsearch1.7.x提供数据底层支持

rpm --import https://packages.elastic.co/GPG-KEY-elasticsearch
cat > /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch-1.7]
name=Elasticsearch repository for 1.7.x packages
baseurl=http://packages.elastic.co/elasticsearch/1.7/centos
gpgcheck=1
gpgkey=http://packages.elastic.co/GPG-KEY-elasticsearch
enabled=1
EOF
yum clean all
yum install elasticsearch

配置文件
配置数据保存位置

vim /etc/elasticsearch/elasticsearch.yml
# Can optionally include more than one location, causing data to be striped across
# the locations (a la RAID 0) on a file level, favouring locations with most free
# space on creation. For example:
#
path.data: /data
目录会自动生成,只需要指定一个空目录就可以了

service elasticsearch start

centos7
systemctl start elasticsearch
systemctl status elasticsearch
elasticsearch.service - Elasticsearch
Loaded: loaded (/usr/lib/systemd/system/elasticsearch.service; disabled)
Active: active (running) since Fri 2015-09-04 15:37:08 CST; 1s ago
Docs: http://www.elastic.co
Main PID: 19376 (java)
CGroup: /system.slice/elasticsearch.service
└─19376 /bin/java -Xms256m -Xmx1g -Djava.awt.headless=true -XX:+UseParNewGC -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -X...
Sep 04 15:37:08 elk systemd[1]: Starting Elasticsearch...
Sep 04 15:37:08 elk systemd[1]: Started Elasticsearch.
检查是否已经成功开启
ss -ltnp |grep 9200

centos7配置firewalld固定ip可访问elasticsearch
systemctl start firewalld.service
systemctl status firewalld.service

 

只允许nignx机访问elasticsearch机9200 9300端口

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" \
source address="10.8.8.2" \
port protocol="tcp" port="9200" accept"

firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" \
source address="10.8.8.2" \
port protocol="tcp" port="9300" accept"
firewall-cmd --reload

iptables -L -n |grep 9200
ACCEPT tcp -- 10.8.8.2 0.0.0.0/0 tcp dpt:9200 ctstate NEW

 

安装Kibana4展示Elasticsearch中的数据

 

wget https://download.elastic.co/kibana/kibana/kibana-4.1.1-linux-x64.tar.gz
tar zxvf kibana-4.1.1-linux-x64.tar.gz
cd kibana-4.1.1-linux-x64
修改配置文件
vim /usr/local/kibana-4.1.1-linux-x64/config/kibana.yml
# Kibana is served by a back end server. This controls which port to use.
port: 5601

# The host to bind the server to.
#监听本地地址 用nignx反向代理
host: "127.0.0.1"

nohup ./bin/kibana &

检查是否已经成功开启
ss -ltnp |grep 5601

 

使用nignx反向代理kibana
nginx配置Http Basic Auth账号密码登陆
http://trac.edgewall.org/export/10770/trunk/contrib/htpasswd.py (nginx wiki里推荐的)
运行示例
chmod 777 htpasswd.py
./htpasswd.py -c -b htpasswd username password
#-c为生成文件 htpasswd为文件名

server
{
listen 80;
#listen [::]:80;
server_name elk.server.iamle.com;

location / {
auth_basic "Password please";
auth_basic_user_file /usr/local/nginx/conf/htpasswd;
proxy_pass http://127.0.0.1:5601/;
proxy_redirect off;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
}
}

老版本
https://download.elastic.co/kibana/kibana/kibana-3.1.3.tar.gz
https://www.elastic.co/downloads/past-releases/kibana-3-1-3

参考

http://kibana.logstash.es/
https://www.elastic.co/guide/en/elasticsearch/reference/current/setup-repositories.html

扩展centos7 firewall的使用

 

检查防火墙状态
firewall-cmd --stat

临时开放ftp服务
firewall-cmd --add-service=ftp
永久开放ftp服务
firewall-cmd --add-service=ftp --permanent
关闭ftp服务
firewall-cmd --remove-service=ftp --permanent
配置防火墙在public区域永久开放http服务
firewall-cmd --permanent --zone=public --add-service=http
加入指定开放端口
firewall-cmd --add-port=1324/tcp

为了让之前的设定生效当然要重启服务咯
systemctl restart firewalld
或者使用下面的命令免去重启服务(防火墙策略配置后重新载入)
firewall-cmd --complete-reload
firewall-cmd --reload (这两句功能相同)

检查ftp服务的21端口是否开放
iptables -L -n | grep 21
ACCEPT tcp -- 0.0.0.0/0 0.0.0.0/0 tcp dpt:21 ctstate NEW

查询ftp服务启用状态
firewall-cmd --query-service ftp

查看当前规则
firewall-cmd --list-all

仅允许部分IP访问本机服务配置
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" \
source address="192.168.0.4/24" service name="http" accept"

仅允许部分IP访问本机端口配置
firewall-cmd --permanent --zone=public --add-rich-rule="rule family="ipv4" \
source address="192.168.0.4/24" \
port protocol="tcp" port="8080" accept"

 

    从博客说起,还记得创立自己独立网站的初衷,我要记录自己过往的日子,学习、工作 、生活可是我现在觉得自己似乎有些忘记了。觉得没时间、内容太平淡都是借口,都是浮躁导致的,忘记了书写应该是快乐的。
        有独立博客而又不好好打理的,不是真忙,就肯定是大大的不坚持了,或者应该索性把他关掉了。我以没什么好写的,技术类的想写的又太肤浅,这样就什么也没写。我想这些都是浮躁的表现,我也觉得自己今年这几个月是浮躁过来的。这是病的治!
         从自己的提高说起,想要学的太多,真心都不好意思列出来,说说有的一点点进步。
学习单反、摄影知识。基础的理论知识光圈、快门、iso、曝光补偿、包围曝光、曝光补偿、色温等等过关,“翻烂”说明书,佳能60d相机的所有功能摸明白了,基本的构图理论先”死记”。后期这块photoshop也比以前更熟悉了,会用以前不会用的一些命令,lightroom用上以方便批量管理,处理,然后ps用于精修,遵循国际摄影师的后期流程软件。最大的进步也就在这里了,下一步快门慢按希望自己能拍出好照片。我将上传一些我拍的照片,这是菜鸟的必经之路,加油!
        其他的事情进步甚微,就不说了。我性格为infp,这个性格的人就是奇葩,还是多多给自己打打气,抽下懒筋,up!
 

                                                                                                                                                                 手机客户端在成都龙泉驿遥感院写于2012-06-05。

好久好久没写过博客了,先自我批评下。逐把这次和同事们3天自驾游海螺沟的过程以流水账的形式写下。

简介:

景点简介:由于3天时间实在是太过紧张,所以只去了海螺沟、泸定桥这两个地方。还有就是,到泸定方向二郎隧道下来会有2个观景台。海螺沟是贡嘎山的低海拔冰川,我这里就不废话景点的介绍了,直接给百科的链接,《海螺沟》、 泸定桥》。

交通:永川—>成渝高速—>成都三环—>成雅高速—>318国道。 全程590公里左右。

1、到成都别跑到二环去了,从三环上成雅高速。

2、高速快到到雅安的时候有个向左边的“雅安东”岔路口,这个是进雅安城区的,如果你要去的话。在高速的“多营”下高速路,这就上了318国道。

3、其他地方路牌还比较清楚吧,分道海螺沟、泸定桥的也有很大的路牌,左边走冷碛镇就是到海螺沟的。

4、从永川出发加满油,第二次加油可以选择到过了二郎山隧道下了一半的山路“318国道”到“海螺沟”的岔路口加油。

说简单点,永川加满油,过了二郎山隧道看到的第一个加油站去加油。返程的时候可以选择到“资中”加油,示具体情况而定。

5、返回的过程中,雅安至成都,到成都的收费站的时候一定要注意,一定要走对路,不然上不三环,会跑到二环路去。我们就犯了这个错误,我们以为收费站过了一节才有提示走三环,而实际过了收费站后,就立马上三环了。到二环的结果显而易见,堵车!!!!。所以走右边的匝道口,看好路,直接上三环。

食宿:车上自备水、零食、感冒药、高原药(ps:如果有高原反应的··,不过那点海拔好像一般人都没有)。驾车途中的时候看起那家吃那家吧,哈哈。价格有差异,同样的鱼有些就贵点。到摩西镇住宿,海螺沟的游客接待中心就在这个镇上,住也住磨西镇。磨西镇吃的我后面写吧。住宿,如果想最大的节约钱,当然是青年旅舍了!磨西镇各种档次的住宿都有,示自己的情况而定,定房电话自己网上搜索吧。

门票: 接待中心到景区的观光车¥80,海螺沟门票¥72,二号营地温泉¥100,缆车¥180,泸定桥¥10(ps:真搞不懂,“红色”第一桥居然还收费!)每车油费、过路费准备¥1500左右吧。

需带物品:厚衣服(ps:不一定非要户外冲锋衣什么的,能保暖就ok,有冲锋衣就带冲锋衣吧。)、游泳衣、裤(ps:如果要泡温泉的话,还有这个温泉是露天的,男女混浴。当然你花钱可以去vip房间的!)、墨镜(普通的墨镜、专业运动镜等都可以,太阳大的时候很刺眼,带上墨镜能更好的欣赏美景)、冰鞋(这个也是要看季节而定,具体情况可以质询下景区吧,我们这次去不需要。)相机、手机(ps:这个不用ps了·电源、存储卡剩余空间·:-))

Google地图:http://g.co/maps/dwnyz (ps:被墙了!改针对google的本机hosts文件)


查看大图

 

第一天Day1 在路上

2011年10月21日 08点,从重庆市永川区出发,永川—>成渝高速—>成都三环—>成雅高速,在快到雅安的时候不走左边的“雅安东”继续前行,不久在“多营”下道,上318国道,然后在国道边找了个地方吃鲢鱼,味道很不错奥,价格稍贵。继续沿318国道走,上一段盘山公路过“二郎山隧道”(上二郎山隧道的时候有一段路正在修补,所以是单向管制通行,不过堵不了多久的)。沿途欣赏云雾缭绕的二郎山,在隧道洞口有个坝子可以停车,留影吧!当穿过二郎山隧道会有种天空不一样的感觉,两重天。出洞口就是收费站,还有右边驻守的部队。一段小上坡后就是长长的盘山下坡了,在下盘山路的时候会有2个观景台,我们没停车(ps:一是没去过赶时间,怕很晚才到,二个是本来不大的观景台有旅游团和自驾游的很多人和车,几乎都满了)。直到看到一个加油站,一个写了怎么走海螺沟、泸定桥的地方分路,走左边,磨西镇-海螺沟。这个地方到泸定桥还有13公里左右,不过先走磨西镇了,这是我们的主要目的地。晚上7点多抵达磨西镇,入住后,饥肠辘辘的找了个店吃烧烤。

磨西镇,晚安!

相机不行,凑合看吧。

hlg12hlg1 hlg2 hlg3

 

第二天Day2 你好海螺沟

2011年10月22日 07点,在清晨云雾中仙境中的磨西镇醒来,吃了一碗杂酱面面条,味道还行,价格10元。沿着磨西镇的斜坡向上走,到左边的游客接待中心买票,排队乘坐旅游观光车前往海螺沟。排队的时候前面的一个团是台湾同胞,这个团的团员是些年纪比较大的,有些都够婆婆级了,成都折腾那么多远过来,还到高海拔地区,身体倍儿棒!景区旅游车经过盘山路到一号营地,二号营地,三号营地最后抵达缆车上山和步行上山终点站下车。我们没有选择缆车¥180,而是直接步行爬山。(ps:官方大大的几个字,“乘坐缆车是到达冰川核心部位的唯一途径”,我的建议还是花这个钱做缆车,会到达冰川的更上面一段)。爬上一段山路,途中会看到参天大树,松鼠,刚开始这一段比较路陡,爬上去就好了,横向走一段后,然后又是下山了,下到冰川峡谷的底部,下到底部后路就不太好走了。(ps:我和同事们都没什么问题,工作关系走没有路的山路比较多,这个完全是小case,实在是走不动的,可以乘坐滑竿,价格自己谈吧,反正挺贵的。)全是大小不一的花岗岩类石头,继续往上走那里就是冰川了~看吧玩吧疯吧!这个时候天空真是作美, 雾气散去,白云飘动,向下看蓝天、白云、山、树木,向上看,白云、贡嘎雪山!美!冰川玩够了,返程吧,可以在通过林木看蓝天、白云、雪山。乘坐观光车在二好营地下车,要泡温泉的继续,不泡的喝茶,打牌。爬累了山也泡舒服了温泉,坐车回到磨西镇吧。回到镇里别急忙会住处躺着,到镇山逛逛吧,镇上还有一个基督教堂。(ps:一定要带水和吃的在路上,否则,哈哈饿着吧,或者高价买水和方便面吧,景区中心的地区不贵那是不可能的,人家也搬运也不是费力么。不太建议买这里的青稞酒,性价比不高,懂酒的货比三家自己尝尝吧。)晚上吃了些点菜,我特喜欢吃这里的蘑菇,哈哈,太好吃了。

再见了海螺沟,贡嘎山,明天一早我们要到泸定桥去!

hlg4 hlg5 hlg6 hlg7 hlg8 hlg9 hlg10 hlg11 hlg14 hlg15 hlg13

第三天Day3 再见磨西镇,再见泸定

2011年10月23日 6点,既然来了泸定,怎么能不去泸定桥呢,我们要去“飞夺泸定桥”。为了泸定桥我们可是早起,木有办法行程太紧凑了。直接开车到泸定,找了一家店吃早饭,还别说随便找的一家店,这味道还可以。包子、稀饭、咸菜。泸定桥就在城里面,到达泸定桥,一眼望去波涛汹涌的大渡河,河水的流速非常之快。居然要门票,我了过去,中国红色第一桥,红色地方还收什么钱,你说是不是!门票10元,上去走几趟,别说这吊桥挺有感觉的。这个时候我们不得不离开了,还有几百公里路程要赶回呢,同样的路程,当你回去的时候你会觉回比来要漫长的多。

再见磨西镇,再见泸定!

好久好久没发过什么什么东西了,我知道,我的整理下我的生活了。

建立iamle.com的初衷是由于兴趣所致,目的是在分享技术,心情,或者说自己在互联网的一个窝吧。本来我是很少写心情的,也许是没什么文笔写出来也不过是一些(¯﹃¯)口水罢了。我想无论怎么我这一亩三分呢喃之地也会继续在线! ping 也不会time out。

看着曾经兴趣浓厚的东西发呆,好像已经不是那么热爱了,在生活,在工作中慢慢迷失磨灭。也许是成长了,成熟了,可从梦想,希望的角度这可不是个好兆头。从web2.0时代从twitter,facebook,Rss订阅,饭否,豆瓣,时光,虾米,sina微博,腾讯微博,等等,到今天的Google+好像我已经跟上了互联网节奏,很晚我才意识到,这些都要合理应用,切莫痴迷。庆幸自己在07年就走出游戏了,不再痴迷。从热爱计算机安全到热爱游戏,到最后热爱互联网,到最后我终究没走入互联网这一行。到了现在也就对android,web前端,服务器构架有兴趣了。 非常高兴认识一些朋友,且感谢互联网这些朋友(我可不想叫网友,太浅也不是网友,至少我觉得这个称呼可不合适)不过这些都不是我的工作,更不是我的生活。

有着体力需求的工作,外面是农民工,办公室是数学,语文工,搞工程的男人们啊!真没太多好说的,使劲干,努力学,争取早日拿到注册的证书。曾经呆过的地方,我想大多数在野外作业的人都无暇看美丽的风景,只顾得工作进度了。偶尔翻看照片,那风景真是美字了得。那些人和事,阅历,处事都在成长着。在工作过程中接触的人和事是最能体现社会的,你会知道真实的社会。新闻联播人民都是幸福的,买东西的时候你就顾客上帝,打出租车的时候上车给你说你好。。。有时候你在这事中的位置让你受气了,我真想整回来,该忍耐的也就忍耐了。你需要一个成长,合适的话语来对人和事。 一次聊天中问朋友我的缺点,说道可能有时候我太自我为中心了,我想我会注意的。我可不是请客吃饭什么的自私,只是有事时候说话是自我为中心?有时候反倒是感觉被欺负的多,自己不强势一点那真的是冤大头了。

工作之余除了朋友聚会吃喝外,我把大把的时间浪费在了电脑上,不是编程开发,也不是玩游戏,只是逛网站和聊天。列的专业书籍书单,以及其他觉得可以看的书的书单已经不少了,书单还是那些书单,douban上偶尔标记的都那么多了。好吧我真不知道我自己在干什么,该控制电脑使用时间了。看着自己的赘肉,感觉体质下降的身体,清楚的知道应该多加强锻炼了,我想要一个户外的,还能认识一些朋友的运动,最后综合考虑下买了一辆捷安特的山地自行车。2010年年底到现在差不多1000公里左右的骑行里程,这里程在自行车运动中实在算是菜鸟入门的水平。现在看来吧我不是一个某某事物的跨热爱好者,至少没有说不骑就受不了,非要骑西藏的感觉,我是那种也许有一天去环游三亚?呵。我工作生活的城市这群自行车爱好者可是非常好玩,我觉得吧自行车只是一种媒介,向斗地主,打麻将的报仇,人生不能只打斗地主,打麻将,还的骑自行车,还得FB ing,还得旅游。。好像还有很多很多,摄影,钓鱼。。。计划的冲锋衣,背包,帐篷。。。。。实在是最近没时间、精力倒腾,会折腾的,以来拯救我有些削弱的折腾精神。这自行车还真没白买,认识了一瓢朋友们,还把我带入了户外,这是个开始吧。

关于爱情,错过了应该珍惜的人,强硬着放弃自己不喜欢的人。任何企图强行忘记的东西会越发记得越深刻。不用去故意忘记,学会忘记。应该珍惜现在、懂得现在,以前的记忆当做积淀就是了,无论痛苦的快乐的。如果现在有肠子都悔青的又不能挽回的,那就是活该,我就是活该不懂得珍惜的一类,不过我会好好的,就像我前面的一句话。虽然遍体鳞伤,但是我一直相信爱情!

除了实在是应该去TM的人和事以外,生活、感情、学习、工作,不论何时,懂的珍惜,淡定别浮躁,积极、向上才是应该的。

2011年7月7日22:18:00