ELK搭建实时日志分析平台

  categories:资料  author:

前言

本文参照互联网上一篇文章进行实际操作, 但是在搭建elk平台过程中, 采用docker方式进行, 因此节省了部属的繁琐过程,因此把基于docker的操作过程, 穿插到原文中。

为了, 获取一个docker环境,  取决于您的操作系统, 对于linux本身大部分新版本的都支持docker了, 对于windows和mac os系统, 您需要安装一定的虚拟机, 或者docker tools(其实也是虚拟机,只是操作方便)。

这里是在windows上安装了vmware, 然后在vm中安装了centos系统, 然后在centos7中安装了docker系统

 

ELK(ElasticSearch, Logstash, Kibana)平台恰好可以同时实现日志收集、日志搜索和日志分析的功能

ELK平台介绍

在搜索ELK资料的时候,发现这篇文章比较好,于是摘抄一小段:

以下内容来自:http://baidu.blog.51cto.com/71938/1676798

日志主要包括系统日志、应用程序日志和安全日志。系统运维和开发人员可以通过日志了解服务器软硬件信息、检查配置过程中的错误及错误发生的原因。经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误。

通常,日志被分散的储存不同的设备上。如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志。这样是不是感觉很繁琐和效率低下。当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收集汇总。

集中化管理日志后,日志的统计和检索又成为一件比较麻烦的事情,一般我们使用grep、awk和wc等Linux命令能实现检索和统计,但是对于要求更高的查询、排序和统计等要求和庞大的机器数量依然使用这样的方法难免有点力不从心。

开源实时日志分析ELK平台能够完美的解决我们上述的问题,ELK由ElasticSearch、Logstash和Kiabana三个开源工具组成。官方网站:https://www.elastic.co/products

  • Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等。
  • Logstash是一个完全开源的工具,他可以对你的日志进行收集、过滤,并将其存储供以后使用(如,搜索)。
  • Kibana 也是一个开源和免费的工具,它Kibana可以为 Logstash 和 ElasticSearch 提供的日志分析友好的 Web 界面,可以帮助您汇总、分析和搜索重要数据日志。

画了一个ELK工作的原理图:

阅读全文

跨域资源共享 CORS介绍

  categories:资料  author:

CORS是一个W3C标准,全称是”跨域资源共享”(Cross-origin resource sharing)。

它允许浏览器向跨源服务器,发出XMLHttpRequest请求,从而克服了AJAX只能同源使用的限制。

本文详细介绍CORS的内部机制

 

一、简介

CORS需要浏览器和服务器同时支持。目前,所有浏览器都支持该功能,IE浏览器不能低于IE10。

整个CORS通信过程,都是浏览器自动完成,不需要用户参与。对于开发者来说,CORS通信与同源的AJAX通信没有差别,代码完全一样。浏览器一旦发现AJAX请求跨源,就会自动添加一些附加的头信息,有时还会多出一次附加的请求,但用户不会有感觉。

因此,实现CORS通信的关键是服务器。只要服务器实现了CORS接口,就可以跨源通信。

二、两种请求

浏览器将CORS请求分成两类:简单请求(simple request)和非简单请求(not-so-simple request)。

只要同时满足以下两大条件,就属于简单请求。

(1) 请求方法是以下三种方法之一:

  • HEAD
  • GET
  • POST

(2)HTTP的头信息不超出以下几种字段:

  • Accept
  • Accept-Language
  • Content-Language
  • Last-Event-ID
  • Content-Type:只限于三个值application/x-www-form-urlencodedmultipart/form-datatext/plain

凡是不同时满足上面两个条件,就属于非简单请求。

浏览器对这两种请求的处理,是不一样的。

三、简单请求

3.1 基本流程

对于简单请求,浏览器直接发出CORS请求。具体来说,就是在头信息之中,增加一个Origin阅读全文

毛笔的分类

  categories:资料  author:

毛笔的分类主要有依尺寸,还有笔毛的种类,来源,形状等等来分。­

依尺寸可以简单的把毛笔分为:小楷,中楷,大楷。­

依笔毛的种类可分为:软毫,硬毫,兼毫等。­

 

依来源可分为:胎毛笔、狼毛笔、兔肩紫毫笔、鹿毛笔、鸡毛笔、鸭毛笔、羊毛笔、猪毛笔、鼠毛笔、虎毛笔、黄牛耳毫笔等。­

羊毫类:笔头是用山羊毛制成的。羊毫笔比较柔软,吸墨量大,适于写表现圆浑厚实的点画。比狼毫笔经久耐用。此类笔以湖笔为多,价格比较便宜。一般常见的有大楷笔、京提(或称提笔)、联锋、屏锋、顶锋、盖锋、条幅、玉笋、玉兰蕊、京楂等。 ­

狼毫笔:笔头是用黄鼠狼尾巴上的毛制成的。以东北产的鼠尾为最,称”北狼毫”、”关东辽尾”。狼毫比羊毫笔力劲挺,宜书宜画,但不如羊毫笔耐用,价格也比羊毫贵。常见的品种有兰竹、写意、山水、花卉、叶筋、衣纹、红豆、小精工、鹿狼毫书画(狼毫中加入鹿毫制成)、豹狼毫(狼毫中加入豹毛制成的)、特制长峰狼毫,超品长峰狼毫等。 ­

紫毫:笔头是以兔毛制成的,因色泽紫黑光亮而得名。此种笔挺拔尖锐而锋利,弹性比狼毫更强,以安徽出产的野兔毛为最好。 ­

兼毫:笔头是用两种刚柔不同的动物毛制成的。常见的种类有羊狼兼毫、羊紫兼毫,如五紫五羊,七紫三羊等等。此种笔的优点兼具了羊狼毫笔的长处,刚柔适中,价格也适中,为书画家常用。种类有调和式、心被式。 ­

 

依形状可分为:圆毫,尖豪等。­

 

14661028_1

 

此外,根据笔锋的长短,毛笔又有[B]长锋、中锋、短锋之别,性能各异。长锋容易画出婀娜多姿的线条,短锋容易使线条凝重厚实,中锋则兼而有之,画山水以用中锋为宜。根据笔锋的大小不同,毛笔又分为小、中、大等型号。画山水各种型号都要准备一点,一般“小山水”(小狼毫)、“大山水”(大狼毫)各备一枝,“小白云”、“大白云”羊毫笔各备一枝,再有一支更大的羊毫“斗笔”就可以了。新笔锋多尖锐,只适宜画细线,皴、擦、点擢用旧笔效果好。有的画家喜用秃笔,点线别有苍劲朴拙之趣。好的毛笔,都具有圆、齐、尖、健四个特点,使用起来运转自如。画笔用后要及时冲洗干净,避免墨汁干结损坏。 ­

制作毛笔笔管的原料一般有:金、银、象牙、玻璃、紫檀、斑竹。

14661028_2

 

画家论笔

 

* 文震亨:“尖”、“齐”、“圆”、“健”,笔之四德。­

* 张大千:张大千说英国出的一种水彩笔十分名贵,是用英国某地黄牛耳朵内的细毛制成,2500头黄牛才出一磅黄牛耳毫。牛耳毫制成的画笔,吸水饱满,有弹性。­

* 潘天寿:羊毫圆细柔训,含水量强,笔锋出水慢,运用枯墨湿墨,有其特长。­

 

我国的制笔,历史上有宣笔(安徽宣城)、湖笔(浙江湖州)两大中心。现在上海、苏州、北京、成都等地生产的画笔也享有盛誉。目前出产毛笔最有名的地方在浙江省吴兴县善琏镇湖州,称为湖笔。­

14661028_3

 

笔有“四德”,即“尖、齐、圆、健”,下面逐一介绍: ­

尖:指笔毫聚拢时,末端要尖瑞。笔尖则写字锋棱易出,较易传神。作家常以“秃笔”称自己的笔,但笔不尖则成秃笔,做书神采顿失。 ­

选购新笔时,毫毛有胶聚合,很容易分辨。在检查旧笔时,先将笔润湿,毫毛聚拢,便可分辨尖秃。 ­

齐:指笔尖润开压平后,毫尖平齐。毫若齐则压平时长短相等,中无空隙,运笔时“万毫齐力”。因为需把笔完全润开,选购时就较无法检查这一点。 ­… 阅读全文

JTA 深度历险-原理与实现

  categories:资料  author:

利用 JTA 处理事务

什么是事务处理

事务是计算机应用中不可或缺的组件模型,它保证了用户操作的原子性 ( Atomicity )、一致性 ( Consistency )、隔离性 ( Isolation ) 和持久性 ( Durabilily )。关于事务最经典的示例莫过于信用卡转账:将用户 A 账户中的 500 元人民币转移到用户 B 的账户中,其操作流程如下
1. 将 A 账户中的金额减少 500
2. 将 B 账户中的金额增加 500
这两个操作必须保正 ACID 的事务属性:即要么全部成功,要么全部失败;假若没有事务保障,用户的账号金额将可能发生问题:
假如第一步操作成功而第二步失败,那么用户 A 账户中的金额将就减少 … 阅读全文

docker搭建mongo集群

  categories:资料  author:

收集到篇关于docker下安装mongodb的文章, 原文地址在后面给出, 记录在这里。

一. 准备工作

  • 安装docker
  • 安装docker-compose

注意

  1. docker通过unix socket通信, 需要sudo权限, 每次操作docker都需要在命令行前添加sudo, 比较烦, 官方给出了方法.安装docker是会创建docker用户组, 也拥有unix socker读写权限, 将当前用户添加至docker用户组, 即可免除命令行前添加sudo. 参考
  2. 容器间默认通过网桥连接内外部网络, 主机需要允许网卡转发
  3. docker 网桥默认网段为172.17.42.1/16, 公司vpn默认对网段172.17.0.0/20路由,
阅读全文

Spring MVC防御CSRF、XSS和SQL注入攻击

  categories:资料  author:

本文说一下SpringMVC如何防御CSRF(Cross-site request forgery跨站请求伪造)和XSS(Cross site script跨站脚本攻击)。

说说CSRF

对CSRF来说,其实Spring3.1、ASP.NET MVC3、Rails、Django等都已经支持自动在涉及POST的地方添加Token(包括FORM表单和AJAX POST等),似乎是一个tag的事情,但如果了解一些实现原理,手工来处理,也是有好处的。因为其实很多人做web开发,但涉及到web安全方面的都是比较资深的开发人员,很多人安全意识非常薄弱,CSRF是什么根本没有听说过。所以对他们来说,CSRF已经是比较高深的东西了。先说说什么是CSRF?你这可以这么理解CSRF攻击:攻击者盗用了你的身份,以你的名义发送恶意请求。CSRF能够做的事情包括:以你名义发送邮件,发消息,盗取你的账号,甚至于购买商品,虚拟货币转账……造成的问题包括:个人隐私泄露以及财产安全。CSRF一般都是利用你的已登录已验证的身份来发送恶意请求。比较著名的一个例子就是2009年黑客利用Gmail的一个CSRF漏洞成功获取好莱坞明星Vanessa Hudgens的独家艳照。其攻击过程非常简单,给该明星的gmail账户发了一封email,标题是某大导演邀请你来看看这个电影,里面有个图片:<img src=”https://mail.google.com/mail?ui=2&fw=true&fwe=hacker@email.com”>,结果她登录Gmail,打开邮件就默默无闻的中招了,所有邮件被转发到黑客的账号。因为当时Gmail设置转发的设置页面有漏洞,其设置方法是打开一个窗口,点击确定后实际URL是https://mail.google.com/mail?ui=2&fw=true&fwe=newMail@email.com:

fevesef

其实即使不是在同一个页面打开,在不同的tab打开也是一样可以通过网站登录验证的,因为受害者首先已经登录了网站,在浏览网站的过程中,若网站设置了Session cookie,那么在浏览器进程的生命周期内,即使浏览器同一个窗口打开了新的tab页面,Session cookie也都是有效的,他们在浏览器同一个窗口的多个tab页面里面是共享的(注:现在Gmail支持多个tab同时持有多个SessionID)。所以攻击步骤是,第一,受害者必须在同一浏览器窗口(即使不是同一tab)内访问并登陆目标站点;第二,这使得Session cookie有效,从而利用受害者的身份进行恶意操作。

再举个实际的例子,假设我们界面上有删除某一项的链接,例如:<a href=”javascript:void(0)” onclick=”region_del.do?name=0000001″>Delete</a>;

其Java Spring MVC后台有个函数是删除某个item,注意是GET不是POST:

@RequestMapping(value = “region_del.do”, method = RequestMethod.GET)
public String regionDel(@RequestParam String name, Locale locale)
{
//Delete region name=@name….return “redirect:/region.html”;
}
阅读全文

Java中JDBC事务与JTA分布式事务总结与区别

  categories:资料  author:
Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务,本文详细介绍了JDBC事务与JTA分布式事务,有需要的可以了解一下。

Java事务的类型有三种:JDBC事务、JTA(Java Transaction API)事务、容器事务。常见的容器事务如Spring事务,容器事务主要是J2EE应用服务器提供的,容器事务大多是基于JTA完成,这是一个基于JNDI的,相当复杂的API实现。所以本文暂不讨论容器事务。本文主要介绍J2EE开发中两个比较基本的事务:JDBC事务和JTA事务。

JDBC事务

JDBC的一切行为包括事务是基于一个Connection的,在JDBC中是通过Connection对象进行事务管理。在JDBC中,常用的和事务相关的方法是: setAutoCommit、commit、rollback等。

下面看一个简单的JDBC事务代码:

public void JdbcTransfer() {  
  java.sql.Connection conn = null; 
   try{  
    conn = conn =DriverManager.getConnection("jdbc:oracle:thin:@host:1521:SID","username","userpwd"); 
     // 将自动提交设置为 false, 
     //若设置为 true 则数据库将会把每一次数据更新认定为一个事务并自动提交 
     conn.setAutoCommit(false); 
 
     stmt = conn.createStatement();  
     // 将 A 账户中的金额减少 500  
     stmt.execute("\ 
     update 
阅读全文

传统山水画笔墨技法图文详解

  categories:儿童画  author:

墨法基础:墨法包括调墨方法、用墨方法和渲染方法三大部份內容,不同的墨法其效果亦不同。

调墨方法包括

焦墨法:用浓度最高的墨作画,画面凝重。

水墨法:用掺水的墨作画,画面滋润。

设色法:设一定的色彩,画面艳丽。

镶金法:镶上部份金粉,画面堂皇。

39693806_1

 

用墨方法包括

蘸墨法:将笔洗净,在笔尖上蘸一点墨或色,使笔尖浓,笔肚淡,笔根是水,用此法作画,一笔下去,浓淡分明,过渡自然。

混墨法:笔上不同部位分別蘸上不同墨或色,用此法作画,一笔下去,多色俱备,过渡自然。

泼墨法:将墨或色直接泼在绢纸上作画,大写意常用。

破墨法:用墨破水或水破墨,破墨法又包括干破湿、湿破干、淡破浓、浓破淡、色破墨、墨破色等。干破湿是先湿纸,再上墨,借助墨遇水会晕散的特性让墨散开,形成晕化效果。湿破干相反,先上墨再上水。淡破浓,浓破淡,色破墨,墨破色亦同。

宿墨法:宿墨指隔夜墨,此种墨不易晕化,有特种效果,但山水画不常用。

留白法:绢纸上并不沾墨,一片空白,以白代景,起此地无声胜有声之效,画云雾、湖水多用此法。

39693806_2

 

 

渲染方法包括

平染法:将墨色均匀的平涂在画面上曰平染。

分染法:将墨色涂在画面上,然后用清水笔将边缘染开,形成浓淡自然过渡效果。

刷染法:用枯笔在画面上扫刷,形成飞白效果。所谓飞白,指笔毛运行后,自然形成空白区域。

39693806_3

 

积墨法:先用淡墨平染,在需要加深的区域重复上墨若干次,形成累积效果,直到满意为止。

39693806_4

 

混染法:用墨色混合渲染,有墨混色、淡混浓等多种混法。

点染法:常用淡墨点染树叶类。

罩染法:主要用于熟宣,指全部画完并等画面干透后,再喷上清水用清水笔普遍染一遍。

这些方法要根据不同的纸质和风格要求选择实施。

39693806_5

 

笔者就墨法总结为淡、变、水、韵四字

淡:指用墨宜淡,淡则出韵味,淡则可改救,墨色太浓易成脏画死墨。

变:指用墨要有变化,不同环境、纸质、景色、画法要用不同的墨法。

水:国画就叫水墨画,其墨中水、笔中水、纸中水掌握适度很是关键。

韵:用墨的关键是体现出水墨的韵味来,体现出浓淡干湿的墨韵变化。

 

笔墨运用:笔墨运用有四个原则应牢记。

宁草勿刻,除工笔外,大小写意画运笔宁愿潦草勿要刻板。所谓刻板,指放不开手脚,下笔运笔不果断,而是小心翼翼的去画。… 阅读全文

中国画点法和染法

  categories:儿童画  author:

 染,是指用淡墨和湿墨或色彩染出山石、树木的阴阳向背,以及染云雾、水纹,使景物具有立体感真实感。勾皴完毕,随之勾、皴浓淡形象的变化染墨或染色,染墨是为了加强厚度感,染墨不够、显得单薄;染墨过厚、皴被盖掉。要恰倒好处。明快处不要染或少染,重皴处要重染,染色要一遍一遍染上去,笔要大、水要足。【勾、皴(擦)、点、染技法可反复进行】。
在古典山水画中,宋画较讲究渲染,而元代以后,许多画法只有勾、皱、点而少染了,现代山水画则更重渲染,大有无染不成画之意。渲染确可增加画面蒙笼美,渲染时,通常采取皱阳面而染阴面较好,且生宣和熟宣的染法是不同的。
——熟宣渲染通常用分染法,塗染法,有干染湿染之分,干染不湿纸,涂上墨色迅速用清水染开。湿染先将纸喷湿,将墨色涂在欲染处,然后迅速用清水笔将边缘染开,使之形成浓淡过度自然的效果。塗染法主要用于染画远山,先塗出远山形状,然后迅速用清水笔将下面染开淡化,使之形成云雾状。
——生宣渲染通常用刷染法、点簇法、混染法、勾染法、积墨法或破墨法,也有干染与湿染之別,但干染易在两笔交汇处现一道白印,湿染则不会,湿染应先将纸喷湿晾八成干后进行。刷染法常用于染山石、树木的阴阳向背,是用笔沾少许淡墨,在欲染处采取扫、刷的笔法湿染,以形成浓淡层次。

元代赵原《陆羽烹茶图》中的“个字点”、“介字点”树叶点法

19839267_1

  点法,是中国画的基本笔法之一,也是山水画常用的表现手段。在表现树木、枝叶、远树干、苔藓时采用不同的点法。

19839267_2

  (明代沈周《小景山水》中的树木,运用“柏叶点”与“梧桐点”等点画法)

  国画点法多达二十几种,如个字点、介字点、胡椒点、梅花点、柏叶点、松叶点、梧桐点、攒三聚五点等。

19839267_3

  (近代陈师曾《山水》册页画树石点法)

  山水画中远处树木杂草的点法亦称为“点苔”,用笔轻松下落为“点”,在画面上,可用墨点,也可用色点。

19839267_4

  (宋代马远《水图》册页中多用水墨“渲染法”)

  染法,即所谓的“渲染”,是中国画的重要笔法。

  “渲”是用水和墨分别多次涂到纸上的笔法。

19839267_5

  (明代唐寅《王蜀宫伎图》中运用色彩烘染法描绘人物肖像)

  “染”则是同时用色笔和水笔,先着色笔,再用水笔把颜色烘染开,使其色调渐淡或渐浓的笔法,工笔人物画常用此法。

19839267_6

(刘松年《雪景山水》)

19839267_7

  (《雪渔图》)

  在山水画中,渲染云和水,也是对皴、擦、点的必要的补充。例如,宋代刘松年《雪景山水》中,用淡墨烘托冬景凝重的气氛。五代《雪渔图》中运用墨色烘染天空与河水,表现寒冷的雪中意境。

19839267_8

  (清代虚谷《观潮图》)

  清代虚谷《观潮图》中,运用水墨淡彩的渲染,烘托画面中钱塘潮的磅礴气势。中国画用笔千变万化,笔法多样,力求内涵丰富,形成自然生动的气韵与多姿多彩的画面效果。… 阅读全文

YAML语法

  categories:资料  author:

yml文件扩展名是YAML的缩写,YAML于2001年出现,是一种数据描述语言,类似xml,但非常简洁,在2009年发布了1.2版本,在PHP中有php-yaml,syck,spyc进行解析

YAML的官网是:http://www.yaml.org/

 

这个页面提供一个正确的 YAML 语法的基本概述, 它被用来描述一个 playbooks(我们的配置管理语言).我们使用 YAML 是因为它像 XML 或 JSON 是一种利于人们读写的数据格式. 此外在大多数变成语言中有使用 YAML 的库.

Attention

几个语法要点很简单,然而没有分号的语法需要注意缩进规则:同一层的变量要有相同的缩进,不然会将\t或\n当做字符串。注意空格。

基本的 YAML

对于 Ansible, 每一个 YAML 文件都是从一个列表开始. 列表中的每一项都是一个键值对, 通常它们被称为一个 “哈希” 或 “字典”. 所以, 我们需要知道如何在 YAML 中编写列表和字典.

YAML 还有一个小的怪癖. 所有的 YAML

阅读全文


快乐成长 每天进步一点点