集成kibana需要安装elasticsearch。

安装elasticsearch

键入以下命令下载,解压

curl -O https://download.elasticsearch.org/elasticsearch/elasticsearch/elasticsearch-1.0.1.tar.gz
tar -zxvf elasticsearch-1.0.1.tar.gz

然后安装kibana,键入以下命令安装

cd elasticsearch-1.0.1/
bin/plugin -install elasticsearch/kibana

运行elasticsearch

./bin/elasticsearch

然后访问http://192.168.137.101:9200/_plugin/kibana/src/index.html

http://192.168.137.101:9200/_plugin/kibana/直接访问的页面会显示kibana版本过旧,其实不是的。可以更新该页面让其不显示。

阅读全文

logstash更新到了1.4.0版本了,结构的变化更加方便管理使用了。原来是jar包结构,现在是使用常见的bin目录结构。目前下载1.4.0真心不容易啊,花了1天时间下载完。

简单运行 (注:windows运行会错误,请使用linux测试)

首先我们下载二进制包

curl -O https://download.elasticsearch.org/logstash/logstash/logstash-1.4.0.tar.gz

然后解压并且进入该目录

tar -zxvf logstash-1.4.0.tar.gz
cd logstash-1.4.0

最后运行

bin/logstash -e 'input { stdin { } } output { stdout {} }'

运行后可以在控制台输入一些字符试一试(运行需要时间,1秒左右吧),比如

hello world

2014-04-03T02:16:21.620+0000 avalon hello world # 控制台自动输出

是不是真的很简单。好,我们来结束这次运行Ctrl+c,回车一下清除日志的输出。

阅读全文

上一篇中我们进行了logstash1.4.0的简单使用,和一些核心介绍。这篇我们来详细的进行实际运用。

配置文件

虽然使用-e 来配置很有用,但是多数我们都想使用配置文件来完成。使先我们来创建1个文件叫”logstash-simple.conf”,然后录入以下内容

input { stdin { } }
output {
  elasticsearch { host => localhost }
  stdout { codec => rubydebug }
}

然后运行命令

bin/logstash -f logstash-simple.conf
阅读全文

logstash 安装

目前使用的是1.3.3版本 安装安装使用很简单。如果你安装好了java环境,使用下面命令就可以运行。

java -jar logstash-1.3.3-flatjar.jar agent -f logstash.conf – web

配置文件

logstash.conf 是配置文件

下面是一个简单的配置文件

1
2
3
4
5
6
input {
stdin { }
}
output {
elasticsearch { embedded => true }
}

input中是数据读入设置,一般有stdin(控制台)、file(文件)等等(有很多对应的文件格式读入比如log4j、redis等等)

output中主要是显示配置 一般很少配置这个采用默认就可以(需要调试信息的时候多数在这配置)

有时候读入文件不能满足logstash的格式要求,或读入的数据需要处理,这时候需要使用filter来进行修正。

阅读全文

HTTP 状态码

  • 200 ok - 成功返回状态,对应,GET,PUT,PATCH,DELETE.
  • 201 created - 成功创建。
  • 304 not modified - HTTP缓存有效。
  • 400 bad request - 请求格式错误。
  • 401 unauthorized - 未授权。
  • 403 forbidden - 鉴权成功,但是该用户没有权限。
  • 404 not found - 请求的资源不存在
  • 405 method not allowed - 该http方法不被允许。
  • 410 gone - 这个url对应的资源现在不可用。
  • 415 unsupported media type - 请求类型错误。
  • 422 unprocessable entity - 校验错误时用。
  • 429 too many request - 请求过多。
阅读全文

感悟

这周做东西的时候收获了不少东西。踩了不少的坑,分享一下这些坑,让大家以后别像我一样掉坑里了。

关于java读取properties的问题。

这个问题是在开发日志收集预警统计的时候遇到的,因为这个些问题开发过程中产生了不少问题。

问题描述:java读取properties中的时候使用流的时候默认中文是乱码

产生原因:看了一下源码,读取的时候不设置流的话默认会以char来读取。而properties文件会有2中情况。
1.使用的时候会采用转码格式使用,即ascii码以及unicode转义码。
2.直接类似文件操作。

解决办法:根据Java自带的类java.util.Properties来看使用第一种是比较好的方式,这样就会避免中午乱码的可能。
第二种方式只有针对流进行二次封装了。设置好流的读取编码,这样也可以避免乱码问题。

阅读全文

《精益创业》读后感

我花了几个星期阅读这本书,不得不说大部分内容我真的很喜欢。这本书也是我读的第一本关于创业的,我觉得它的作用不仅仅是对于创业人员。对于开发人员它也会影响对开发产品把握和认知。

创业的定义

书中前两章划定了创业的人员,定义了“创业”。

开发-测量-认知的反馈机制。

提倡企业进行“验证性学习”,先向市场推出极简的原型产品,在不断试验和学习中,以最小的成本来验证产品是否符合用户需求和市场需求。为了尽快的验证市场与客户需求,要求更快的迭代产品,然后用户反馈,修改然后再迭代。也就是“开发-测量-认知”的循环。

  • 尽早接触顾客,让客人使用产品
  • 最小化产品
  • 尽早放弃已经验证为用户不需要的功能
阅读全文

REST学习了不少,但是对其的认证方式却很模糊。通常一个好的REST API应该能适应浏览器或者本地客户端的认证。我开发了一个JAVA的WEB程序,提供了一个service的REST API,一开始我计划采用HTTP session的方式来认证。HTTP session可以很方便的提供认证。无论是ajax还是传统浏览器方式基于API可以很方便的认证,但是当我在使用客服端的时候遇见了问题。于是我开始尝试无状态的认证方式。我尝试了很多认证方式,比如HTTP basic 、 数字认证、http session、cookies、xsrf等等……。现在我都不知道是使用什么才是比较适合的认证了。

HTTP session VS stateless auth token

这·两种方式有什么不同?我不是太了解。

http session:

  • 基于URL,必须提供一个url来认证
  • server必须记住一些用户信息,而且会返还session id来标记(session的实习原理)
  • 浏览器或者客服端必须每次在请求中包括这个字段,用来标示身份。(当清除cookies的时候会发生认证丢失)
  • 浏览器或者客服端不用输入认证信息,当已经认证了的时候。(浏览器会发送比如session id给server)

stateless auth token:

  • 需要请求的URL。
  • server只会返回成功与否的状态,不会返回任何key、value。
  • server会创建auth token然后发送给客服端。
  • 访问需要权限的页面的时候,要求带着auth toke。

两种方式都很容易实现。无论是在浏览器或者客服端使用。

http basic

使用SSL协议的很多WEB service网站都使用http basic 来认证。http basic 认证非常的容易实现。但是认证需要https通道,登出注销无法控制。

参考文档

注释和共享

Javy Liu

author.bio


author.job


beijing