logback+ELK搭建

Elasticsearch配置文件(/etc/elasticsearch/elasticsearch.yml)需要配置的部分:

 

 

Logstash配置文件(/etc/logstash/conf.d/logstash.conf):

Kibana配置文件(centos在/opt/kibana/config/kibana.yml)部分配置:

这样ELK就配置完了,需要注意ElasticSearch和Kibana的配置IP,如果不是同一台机器,要配置成外网IP。Kibana是可以公开访问的,如果放外网,需要封一下端口号,用nginx转发的话在nginx上做基本验证。这是我的nginx配置:

passwd.db是用来放置用户名密码的,格式要用unix的格式,一般是让用htpasswd来生成的,如果没有可以用这个网上的工具来加密生成。
格式为:账号:加密后密码

接下来来设置java项目中的logback,pom.xml增加依赖:

接下来在logback的配置文件里设置,logback.xml:

 

以上代码已测试可通。配置过程中遇到以下问题:

1、用插件后logback的日志会以json格式推送,这是需要配置的,不然收不到日志消息;

2、elasticsearch的文件夹是需要权限的,没权限会影响启动;

 

ELK已经是成熟的日志收集工具,logback则可以搭配任意第三方,如直接进elasticsearch,进redis,进mq。

后续会视效果扩容es。

4/19更新:

elasticsearch有提供Api操作,删除最近30天记录的api:

如果没设置username/password,则-u参数可以省略,下面设置在cron里计划任务,每天跑一遍,只保留最近30天的记录(视硬盘大小决定吧):

完成。

Mixing programming with java,scala,maven on Intellij IDEA

base on maven pom setting:

 

this means to tell IDE when compiler scan source files include *.java and *.scala,and the result is can mixing .java file and .scala file to reference together.it’s not support write java and scala in one file.but it’s enough.

Java Web技术栈汇总整理

后端:
核心框架:Spring Framework
安全框架:Apache Shiro
视图框架:Spring MVC
服务端验证:Hibernate Validator
布局框架:SiteMesh
工作流引擎:Activiti
任务调度:Spring Task
持久层框架:MyBatis
数据库连接池:Alibaba Druid
缓存框架:Ehcache 、Redis、HazelCast
日志管理:SLF4J 、Log4j
工具类:Apache Commons、Jackson 、Xstream 、Dozer 、POI
测试框架:
Gatling 性能测试工具
Cucumber 自动化测试框架
swagger RESTFUL接口的文档在线自动生成+功能测试功能软件
swagger2markup swagger接口文档生成
springfox swagger2markup不支持springMVC,springfox用来封装

前端:
JS框架:jQuery
CSS框架:Twitter Bootstrap
客户端验证:JQuery Validation Plugin
富文本在线编辑:CKEditor
在线文件管理:CKFinder
动态页签:Jerichotab
手机端框架:Jingle
数据表格:jqGrid
对话框:jQuery jBox
下拉选择框:jQuery Select
树结构控件:jQuery zTree
日期控件: My97DatePicker
leaflet 移动端地图js库
formvalidation        表单验证Js控件

jHipster初探

Java maven架构套件AppFuse的作者在去年宣布停止AppFuse的更新,原因是从2013年起,投入了很多时间来维护,现在不温不火,也没什么反馈,而且现在有了更好的JHipster,他更喜欢,所以就不更新AppFuse了,转而去玩JHipster了,根据Matt的推特的言论,JHipster现在处于腿玩年的阶段……

最近在看各种书,也在观察Java界有什么优秀套件可用。世界发展到这个阶段,已经不是出MVC框架就可以心满意足玩一辈子了,自从Rails on Ruby这种脚手架出现以来,所有语言界都被影响到了(对,所有语言),包括PHP框架Yii变更成了Yii2,彻底的CRUD自动化,另一个世界级的PHP MVC框架Codeigniter在转给大学维护后,在V3.0阶段也走向了CRUD自动化(PHP果然是世界上最棒的!).NET MVC的项目引导界面,一直就学Rails的操作流程,包括CRUD的自动生成(想法是好的,但用EF这种屎一样的类库暗箱生成机器码,可读性出奇的差,真是应付产品经理啊),然后像Python的django就不用说了,诞生之初就是学着Rails来做的。其他语言就不说了。

按说之前出个套件,一般都是为了做范例来说明如何做开发最佳实践的,包括微软和Sun的Petshop/Petstore,但现在出套件完全不是这个意思了,逼格高,还要实用性强。JHipster的介绍是分分钟生成Spring boot+Angularjs的工具,首页地址:https://jhipster.github.io/ 也没风格简直高调华丽丽。那JHipster其实是做了Java套件的模板,用一些其他工具入nodejs,yeoman等做成的。用到nodejs的部分网络不可靠就需要翻墙,一点点丢包什么的就废了。

快速使用:

安装:yarn global add generator-jhipster

建项目目录:mkdir myApp && cd myApp

调用命令开始生成:yo jhipster

JDL Studio 里生成模型

并导入yo jhipster:import-jdl jhipster-jdl.jh

前置条件:需要有 Java, Git, Node.js, Yarn and Yeoman. 对于 ngularJS 1, 还需要 Bower 和Gulp

JHipster的Github地址:https://github.com/jhipster 整个项目的规模很大,各个方面都兼顾到,有一点就是对于已有的数据库生成,需要先导出为XML格式(这里有说明哪些工具的格式可以识别),在导成专用格式。

 

SpringMVC+Angular2.0:批量拷贝打包后的ang app到webapp