`
jamie.wang
  • 浏览: 338405 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论
文章列表
Sentinel简介Redis HA 需要用到Redis的Sentinel模块,该模块的稳定版自2.8之后集成在Redis的发行版中,因此不需要单独安装。Sentinel的特点监控:持续检查Redis集群中Master Slave节点的健康状态;通知:当节点有错误时通知使用者,管理员;自动故障转移:当Master节点故障时,自动从Slave节点选择一个作为Master,其他Slave配置为新的Slave,通知客户端新的Master节点;配置支持:client都从这里获取认证和连接的地址;Sentinel本身也是集群,在每个Master Slave节点都启动一个Sentinel。配置指南配置Mas ...
BTrace是一个可以动态跟踪Java代码执行的工具,网上已经有很多文章介绍,我这里分享一个我在实际工作中排查性能问题的例子。 现象 我的一个REST接口调用非常慢,postman耗时3873 ms,这个接口就是从redis里把一批数据取出来,redis性能很好,理论上不会这么慢,于是用btrace,trace方法调用。   /* BTrace Script Template */ import com.sun.btrace.annotations.*; import static com.sun.btrace.BTraceUtils.*; @BTrace public ...
Javaassist是一个高层的Java字节码处理类库,能运行时动态生成类,修改类。Javaassit能动态生成类的基础源于Java Class的字节码技术:只要遵从规范,Java Class可以来自任何地方。 类似的技术还有:bcel,asm等,他们相对于Javaassit,偏向底层,效率较高,但编码难度更高(需要了解JVM指令)。 Javaassist是Jboss的一个子项目,其特点是简单:不需要了解底层JVM指令,直接用Java代码编写,容易理解,并且现在生成代码效率和以上两种技术相差已经很小。 Javaassist是一个日本人 Shigeru Chiba 开发的。 例子 ...
一、DEA整体架构 图1 DEA和其他组件 图2 DEA和warden   二、DEA和外部组件 1、DEA和NATS在CF内部,各个组件相互配合来完成某项功能,都是通过nats的消息机制来完成的; 2、DEA和cloud controller1)dea启动时,生成唯一的uuid来标识 ...
weblogic buildpack是支持oracle weblogic应用服务器的容器,是从java-buildpack fork出来,并把默认容器从tomcat改成了weblogic。 功能特性 由于weblogic是部署在CF上,部分weblogic本身特性将不支持 默认创建一个以应用名称开头的域(domain),也可以在应用包配置中指定; 通过域名配置可以支持数据源(datasource)和JMS,可以使用non-XA JDBC datasource,并存储Transaction Logs; 可以配置不支持EJB,JMS,以限制内存,当然也可以全部支持; 支持标准的域配置 ...
设置全局环境变量 /etc/profile 仅为登录用户shell初始化,Bourne shell兼容的都可以用 /etc/bash.bashrc 仅为交互shell初始化,bash支持 /etc/environment 全局环境变量,不论是否登录,是否交互,都可以用,但是内容只能是:key=value格式,不能export,不能用变量,但要注意启动顺序,可能你的程序比这个先执行,依然不能取得这里设置的变量  
用Spring开发Web项目的时候,有些情况下,需要在不解开war包的情况下修改配置在不同环境读取不同的配置文件,例如:开发环境:web-dev-config.properties,测试环境:web-test-config.properties,生产环境:web-production-config.properties,这时候就需要动态的载入配置文件。   从JVM参数获取配置文件路径 JVM参数:-Dweb.config.path=/etc/myproj/web.config.properties Spring PropertyPlaceholderConfigurer配置如下: ...
Sensu Server是Sensu的核心组件,是Sensu业务逻辑实现的核心组件。 Server的启动 Sensu Server的入口在sensu/bin/sensu-serveroptions = Sensu::CLI.readSensu::Server::Process.run(options)和这里Client几乎一样,解析命令行参数,调用Process.runrun方法也是,创建一个Server的服务实例,启动服务:server.start,然后处理信号再看start方法 def start setup_redis setup_transport bootst ...
概述 Sensu Client是运行在其监控的App Server上的,主要工作有:1. 订阅rabbitMQ消息,接收来自Server端的check任务,执行任务,并返回结果给Server端(通过rabbitMQ);2. 周期性执行客户端standalone的check,并返回结果给Server端(通过rabbitMQ);3. 监听TCP端口和UDP端口,接收来自外部的监控数据,返回给Server端(通过rabbitMQ);Sensu Client实现很简单,只有两个ruby文件:process.rb和socket.rb。其中大部分逻辑都在process.rb中实现,socket.rb主 ...
Sensu的核心组件有:Server,Client,API,都是ruby的工程。代码结构sensu/   ├╴bin/ # 启动脚本  │ ├╴sensu-api  │ ├╴sensu-client  │ └╴sensu-server  │   ├╴CHANGELOG.md  ├╴CONTRIBUTING.md   ├╴Gemfile  ├╴lib/  │ ├╴sensu/  │ │ ├╴api/ # API接口层  │ │ │ └╴process.rb # 主要业务处理  │ │ │   │ │ ├╴cli.rb # 接收命令行启动参数  │ │ ├╴client/ # 客户端  │ │ │ ...
Sensu安装 Sensu Server端包含以下几个必须的模块RabbitMQRedisSensu ServerSensu API他们可以安装在不同的服务器组成集群,也可以装成单机版。另外还有一个可选模块,管理UIUchiwa监控数据显示UIgrafanaSensu的安装过程官方文档已经比较齐 ...
Sensu是一个开源的监控系统Sensu运行一系列的check脚本检查应用和服务的可用性,当某个条件满足时触发handlers,check脚本也可以附带数据实现计量数据收集。功能特性架构灵活,简单,方便扩展,整合通知类型丰富计量数据收集和转存支持多种数据库,序列化数据库,SQL数据库等可接受来自外部的TCP/UDP输入check脚本比较灵活,可以用任何语言编写,只需要向客户端监听的端口写数据即可,且支持nagios的插件系统架构  Sensu Diagram另外一个完整的生产环境可能还包括Uchiwa:Sensu的一个开源Dashbard;Graphite:计量统计图形工具;Influxd ...

Flume

Flume是Apache的开源项目,是hadoop的周边组件之一。Flume-ng则是Flume改进后的新版本。 严格的讲Flume-ng是一个日志搜集、处理、存储的系统。 架构 source是搜集日志的前端,接受不同的日志数据格式; channel 是日志的暂存地,接 ...
  下载flume-ng $ wget http://mirrors.hust.edu.cn/apache/flume/1.5.2/apache-flume-1.5.2-bin.tar.gz 解压,创建文件输出目录 创建flume的配置 $ vi conf/flume-conf.properties  
bosh部署3要素 1. manifest 2. release包 3. stemcell 如何获得? 创建manifest 用spiff生成manifest spiff下载地址: https://github.com/cloudfoundry-incubator/spiff/releases 在cf-release根目录 修改spec/fixtures/openstack/cf-stub.yml中的配置 运行./generate_deployment_manifest openstack cf-stub.yml > cf.yml
Global site tag (gtag.js) - Google Analytics