首页 文章 精选 留言 我的

精选列表

搜索[深度集成],共10008篇文章
优秀的个人博客,低调大师

ELK+kafka集成

1、因为本项目采用的log4j2,所以在log4j2中直接配置 <Kafkaname="Kafka"topic="XX_log"> <PatternLayoutpattern="%d{yyyy-MM-ddHH:mm:ss}||%p||%c{1}||XX_web||%m%n"/> <Propertyname="bootstrap.servers">127.0.0.1:9092</Property> <Propertyname="timeout.ms">500</Property> </Kafka> PatternLayout 中格式采用了||将内容连接起来目的为了logstash进行切分,其中增加timeout.ms属性为了保证日志系统挂掉的情况不会对业务系统产生较大影响,当然kafka可以采用集群的方式,bootstrap.servers多个地址用“,”分隔。XX_web代表当前业务平台。 2、搭建kafka集群这里就不多介绍了官网很全, zookeeper.connect=127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183 3、创建logstash动态模板 { "template":"*", "settings":{ "index.refresh_interval":"5s", "number_of_replicas":"0", "number_of_shards":"3" }, "mappings":{ "_default_":{ "_all":{ "enabled":false }, "dynamic_templates":[ { "message_field":{ "match":"message", "match_mapping_type":"string", "mapping":{ "type":"string", "index":"analyzed" } } }, { "string_fields":{ "match":"*", "match_mapping_type":"string", "mapping":{ "type":"string", "index":"not_analyzed" } } } ], "properties":{ "dateTime":{ "type":"date", "format":"yyy-MM-ddHH:mm:ss" }, "@version":{ "type":"integer", "index":"not_analyzed" }, "context":{ "type":"string", "index":"analyzed" }, "level":{ "type":"string", "index":"not_analyzed" }, "class":{ "type":"string", "index":"not_analyzed" }, "server":{ "type":"string", "index":"not_analyzed" } } } } } 4、配置logstash input{ kafka{ zk_connect=>"127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183" group_id=>"logstash" topic_id=>"XX_log" reset_beginning=>false consumer_threads=>5 decorate_events=>true } } filter{ mutate{ split=>["message","||"] add_field=>{ "dateTime"=>"%{[message][0]}" } add_field=>{ "level"=>"%{[message][1]}" } add_field=>{ "class"=>"%{[message][2]}" } add_field=>{ "server"=>"%{[message][3]}" } add_field=>{ "context"=>"%{[message][4]}" } remove_field=>["message"] } date{ match=>["logdate","yyyy-MM-ddHH:mm:ss"] } } output{ elasticsearch{ hosts=>["127.0.0.1:9200"] index=>"XX_log-%{+YYYY-MM}" codec=>"json" manage_template=>true template_overwrite=>true flush_size=>50000 idle_flush_time=>10 workers=>2 template=>"E:\logstash\template\template_log.json" } } 按照年月将日志保存进ES索引中index => "XX_log-%{+YYYY-MM}",logstash从kafka集群中读取日志信息。 5、搭建ZK集群,这里就不多介绍了,网上资料比较多 6、搭建ES集群,ES集群比较简单,设置的参数不要太多就可以使用。 7、配置kibana server.port:5601#服务端口 #Thehosttobindtheserverto. server.host:"115.28.240.113" elasticsearch.url:http://127.0.0.1:9200ES地址-集群 kibana.index:"kibana" 8、版本 JKD 1.7 ES-2.4, logstash 2.4, kafka-2.10,kibana-4.6.4

优秀的个人博客,低调大师

HBase与Eclipse集成

1 开发环境 1、系统:Windows 2、IDE工具:Eclipse-Juno 3、HBase-0.98.4-hadoop1 2 前提条件 1、已经按照“Hadoop”目录中“HBase安装”文章,搭建起了HBase集群,并且集群已经启动。 3 项目布局 4 开发流程 4.1 新建项目 可以普通项目,也可以Web项目。此处新建Java Web项目:CloudDataBase。 4.2 添加JAR包 进入HBase文件下的lib目录,拷贝该目录下的所有Jar包,复制到项目CloudDataBase\WebContent\WEB-INF\lib文件夹下: 若是普通java,那么可以再项目上点击右键,选择Propertie,在弹出的快捷菜单中选择“Java Build Path”对话框,再单击Libraries选项卡,在该选项卡下单击“Add External JARs”按钮,定位到HBase文件下的lib目录,并选取其中的所有Jar包。 (Propertie->Java Build Path->Libraries-> Add External JARs) 4.3 添加hbase-site.xml配置文件 在工程根目录下创建一个名字为“conf”的文件夹,从已经搭建好的HBase集群中,找到$HBASE_HOME/conf/目录中的hbase-site.xml文件,并将其复制到该文件夹中(比如,我搭建好的集群,该文件在Linux服务器中“/opt/hbase-0.98.4/conf/”目录下。注意,需要是已经配置好的HBase集群中的hbase-site.xml文件,刚下载的HBase部署文件中的该文件是不能使用的)。 再次右键点击项目,选择Propertie->Java Build Path->Libraries->Add Class Folder,然后选择conf文件夹。 4.4 在windows中添加集群的hosts信息 windows下开发HBase应用程序,而HBase部署在linux环境中,在运行调试时会出现无法找到主机,类似异常信息如下:java.net.UnknownHostException: unknown host: master 解决方案: 在C:\WINDOWS\system32\drivers\etc\hosts文件中添加如下信息 [server_IP] [server_name] 比如,针对我之前搭建的集群,添加的内容如下: 4.5 编写代码 4.6 运行 4.7 查看结果 5 参考资料 http://www.cnblogs.com/jingyunyb/p/3392506.html

优秀的个人博客,低调大师

Istio on ACK集成生态(1): 集成TSDB助力可观测性存储

阿里云容器服务Kubernetes(简称ACK)支持一键部署Istio,可以参考文档在ACK上部署使用Isito。Istio on ACK提供了丰富的监控能力,为网格中的服务收集遥测数据,其中Mixer是负责提供策略控制和遥测收集的Istio组件。使用Prometheus进行监控是Istio提供的监控能力之一。Prometheus是一个开源的监控和报警系统,Prometheus依赖少,功能齐全,广泛用于Kubernetes集群的监控系统中。Istio自0.8版本开始默认将Prometheus包含在内,Mixer支持对接到Prometheus监控设施的Adapter。用户可以通过查询service或pod看到Prometheus的运行状态和地址。也可以通过简洁明了的Prometheus的UI界面查看监测数据。 Prometheus的存

优秀的个人博客,低调大师

Nginx深度优化

隐藏版本号 修改用户与组 网页缓存时间 日志切割 连接超时 更改进程数 网页压缩 防盗链 FPM参数优化 一、隐藏版本号 1.在centos7系统中通过curl命令查看 curl -I http://192.168.100.26 2.修改nginx.conf配置文件,在http{}内添加server_tokens off;语句 3.重启nginx killall -1 nginx 4.使用curl命令查看验证 curl -I http://192.168.100.26 二、修改用户与组 Nginx运行时进程需要有用户和组的支持,用以实现对网站文件读取时进行访问控制。主进程由root创建,子进程由指定的用户与组创建,默认为nobody。 1.编译nginx时指定用户与组 ./configure --prefix=/usr/local/nginx --user=nginx --group=nginx --with-http_stub_status_module 2.修改nginx配置文件指定用户与组 vim /usr/local/nginx/conf/nginx.conf 3.重启nginx killall -1 nginx 4.查看nginx进程信息(主进程root用户,子进程nginx用户) ps aux | grep nginx 三、网页缓存时间 当Nginx将网页数据放回给客户端后,可以设置缓存时间,以便日后进行重复请求访问,以加快访问速度、同时减轻服务器压力,一般对静态资源进行设置,对动态网页不要设置缓存时间。 1.下面对网站的图片进行指定缓存时间设置 2.修改nginx配置文件,指定缓存时间为1天 vim /usr/local/nginx/conf/nginx.conf location ~.(gif|jpg|jepg|png|bmp|ico)$ { root html; expires 1d; } 3.重启nginx killall -1 nginx 4.Fiddler工具进行抓包验证 四、日志切割 Nginx通过nginx的信号控制功能脚本来实现日志的自动切割,并将脚本加入到Linux的计划性任务中,让脚本在每天固定的时间执行,得以实现日志切割功能。 1.编写fenge.sh脚本 vim /opt/fenge.sh #!/bin/bash #Filename:fenge.sh d=$(date -d "-1 day" "+%Y%m%d") #显示一天前的时间 logs_path="/var/log/nginx" pid_path="/usr/local/nginx/logs/nginx.pid" [ -d $logs_path ] || mkdir -p $logs_path mv /usr/local/nginx/logs/access.log ${logs_path}/test.com-access.log-$d kill -USR1 $(cat $pid_path) #创建新日志文件 find $logs_path -mtime +30 | xargs rm -rf #删除30天前的日志文件 2. 为脚本赋予执行权限 chmod +x /opt/fenge.sh 3.执行脚本,测试日志文件是否分割成功 . /fenge.sh 4.添加计划性任务 crontab -e #每日凌晨1:00执行脚本 0 1 * /opt/fenge.sh 五、连接超时 一般网站中,为了避免同一个客户长时间占用连接,造成资源浪费,可设置相应的连接超时参数,实现对连接访问时间的控制。 1. 修改nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf 2.重启nginx killall -1 nginx 3.对网站进行访问,并使用Fiddler工具进行抓包验证 六、更改进程数 在高并发环境中,需要启动更多的Nginx进程以保证快速响应,用以处理用户的请求,避免造成阻塞。 1.查看ngixn运行进程的个数 cat /proc/cpuinfo | grep -c "physical" 2.修改nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf 3.重启nginx killall-1 nginx 4.查看nginx进程数 ps aux | grep nginx 七、网页压缩 Nginx服务器将输出内容压缩后进行传输,以节约网站的带宽,提升用户的访问体验,默认已经安装了该模块。 1.修改nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf gzip on; gzip_buffers 4 64k; gzip_http_version 1.1; gzip_comp_level 2; gzip_min_length 1k; gzip_vary on; gzip_types text/plain text/javascript application/x-javascript text/css text/xml application/xml application/xml+rss text/jpg text/png; 2.重启nginx killall -1 nginx 3.创建一个大于1KB以上的网页文件,然后对其进行访问抓包 curl -I -H "Accept-Encoding: gzip, deflate" 192.168.100.26/ 八、防盗链 在网站中,一般都要配置防盗链功能,以避免网站内容被非法盗用,造成经济损失,也避免了流量的浪费。 1.修改nginx.conf配置文件 vim /usr/local/nginx/conf/nginx.conf location ~.(jpg|gif|swf)$ { #匹配.jpg 、.gif 、或 .swf结尾的文件 valid_referers none blocked .abc.com abc.com; #信任域名站点 if ( $invalid_referer ) { rewrite ^/ http://www.abc.com/error.png; #重写返回error.png } } 2.重启nginx killall -1 nginx 九、FPM参数优化 Nginx的PHP解析功能实现是由FPM处理的,为了提高PHP的处理速度,可对FPM模块进行参数的调整。 1.安装带有FPM模块的PHP环境; 2.FPM进程有两种启动方式,由pm参数指定,分别是static和dynamic,前者将产生固定数据的FPM进程,后者将以动态的方式产生FPM进程; 1.修改php-fpm.conf文件 viphp-fpm.conf pid = run/php-fpm.pid pm = dynamic #动态方式 pm.max_children=20 #最大启动进程数量为20个 pm.start_servers = 5 #初始启动时进程为5个 pm.min_spare_servers = 2 #最小空闲进程数为2个 pm.max_spare_servers = 8 #最大空闲进程数为8个 迎工作一到五年的Java工程师朋友们加入Java架构开发:860113481 群内提供免费的Java架构学习资料(里面有高可用、高并发、高性能及分布式、Jvm性能调优、Spring源码,MyBatis,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多个知识点的架构资料)合理利用自己每一分每一秒的时间来学习提升自己,不要再用"没有时间“来掩饰自己思想上的懒惰!趁年轻,使劲拼,给未来的自己一个交代!

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

腾讯云软件源

腾讯云软件源

为解决软件依赖安装时官方源访问速度慢的问题,腾讯云为一些软件搭建了缓存服务。您可以通过使用腾讯云软件源站来提升依赖包的安装速度。为了方便用户自由搭建服务架构,目前腾讯云软件源站支持公网访问和内网访问。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

用户登录
用户注册