- 浏览: 49659 次
- 性别:
- 来自: 北京
最新评论
-
grape88:
哇,原来楼主是小米的达人啊。今天搜ansible,逛到 NoO ...
写了一个linux单机监控工具falcon-eye -
grape88:
啃爹啊,这个预编译包里面的配置文件里,指定的端口是1990啊! ...
写了一个linux单机监控工具falcon-eye -
grape88:
您好,我使用下面方法试用wget http://shuxiaz ...
写了一个linux单机监控工具falcon-eye -
lrklx:
kingsmall 写道Hi,我最近刚开始研究cloud fo ...
CloudFoundry中buildpack介绍与自定义实践 -
morflame:
kingsmall 写道对了我已经执行了git clone h ...
CloudFoundry中buildpack介绍与自定义实践
文章列表
它是个啥?
这是我们团队正在写的监控系统的一部分
这是一个用golang写的小工具,没有任何部署依赖
这只是一个采集linux基础数据并做简单展示的agent,不会报警的哦
它可以采集哪些数据?
机器基本数据,比如kernel version,uptime,hostname等等
cpu使用情况:比如idle、user、nice、system、iowait、irq、softirq、steal、guest的当前占比
memory使用情况,used了多少,free是多少,total是多少
当前loadavg是多少
磁盘占用情况,各个分区、设备的使用情况;以及磁盘io的情况, ...
mkdir -p ~/.ssh
cd ~/.ssh/
ssh-keygen -t rsa -C "xx@xiaomi.com" # 把这个文件命名为id_rsa_xiaomi,然后一路回车
ssh-keygen -t rsa -C "yy@163.com" # 把这个文件命名为id_rsa_github,然后一路回车
# 此时在~/.ssh下面生成两对公私钥
touch config
chmod 600 ~/.ssh/*
#config中添加下面内容:
host git.n.xiaomi.com
user git
h ...
看到JFinal不错,今天特地来尝试一下,使用idea来做开发,悲剧就此产生……
1、写了一个简单的Controller,完全按照文档写的肯定没问题,结果死活就是404,而且是jetty渲染的那种404页面,不是JFinal渲染的那个404页面,说明Jetty成功启动了,但是,JFinal的Filter没有被加载,问题出在哪里呢???JFinal启动的时候需要传入4个参数:webAppDir,port,contextPath,scanInterval,后面三个参数肯定没问题,难道是webAppDir的路径给的不对?我在JFinal.start()调用之前特意touch了一个文件,结果才 ...
自己搭建的CloudFoundry集群,push应用很正常,只是……
在cf logs <APP>的时候报权限错,说没法读取这个container路径下的env.log
既然是文件没法读取,那肯定是权限位设置的有问题,进入cf-release目录grep "env.log"
应该可以找到这么个文件:dea_next/lib/dea/starting/startup_script_generator.rb
里边有个umask设置为077,改成033即可
延伸:
每次warden创建container之后会生成一个vcap用户来跑 ...
导读
首先,所谓的深入解读比较标题党了哈:)只是给大家分享一下我的理解,希望共同进步
我们以一个问题开篇,主要介绍代码结构、接口交互、主要逻辑,最后稍微总结一下,希望能把你讲明白:)
背景问题
思考这 ...
背景
用一个问题开篇:一个服务能够run起来,到底需要些什么?
做过部署系统的同学会对这个问题认识比较深,总结一下,我们可以归为如下几类:
1、程序本身的代码文件,嗯,这个不用解释
2、需要的配置,比如测试环境下有一套配置,开发环境、线上环境各有一套配置,还有甚者,一个idc一套配置
3、环境依赖,比如语言环境:Python2.7、JDK6,一些操作系统特性等
4、运行时依赖,比如我需要上游某个模块提供的rpc接口的支持,需要用到MQ等等
看起来,要部署个程序还是比较麻烦的嘞,那怎么做才会相对容易一些呢?如果程序最后能把所有依赖的东西打成一个包(比如统一要求是tar.gz格式), ...
上面的图片是从CloudFoundry官方文档中拿到的,整个过程如下:
1、用户在命令行下进入自己的app所在的目录,运行cf push,这表示说:我要上传应用了
2、cf命令行工具发现用户给的指令是push,于是发请求给CCNG,说:我要 ...
Cloudfoundry提供了一些命令行工具来帮我们了解app的状况和排错
1、检查app的健康状况
cf health appname
2、查看app用了多少内存
cf stats appname
3、查看环境变量和最新的log信息
cf logs appname
4、用tail的方式来查看log
cf tail appname
5、如果app crash了而且通过cf logs无法排错,可以尝试:
cf crashlogs appname
自己搭建CloudFoundry,一切就绪,cf push一个app测试一把,结果出错,想查原因,所以运行cf logs <app>命令,结果报错如下:
CFoundry::BadResponse: 500: Can't serve request due to error: open /home/vcap/var/warden/containers/179u5obpsru/tmp/rootfs/home/vcap/logs/env.log: permission denied
我进入warden中查看对应的env.log的owner,发现也是vcap的,很奇怪, ...
我们知道在CloudFoundry中,router是入口,那么它就要保存所有的域名和ip的对应关系,如何查看各个app和内部组件的真实ip:port呢?
登陆部署gorouter的机器,netstat -ant | grep 8082,gorouter默认会启动8082和80端口,如果你之前修改过就grep你修改之后的端口,看到8082在监听了吧,e.g. 127.0.0.1:8082,然后直接curl一下即可,其中router:routerPass是在router.yml中配置的
curl http://router:routerPass@127.0.0.1:8082/routes ...
不同的错误表现肯定是不一样,我先描述一下我的错误情况和场景,看是否和你的match,如果match的话很可能你也是这么解决,O(∩_∩)O~
我搞了一个php的应用,使用github上一个buildpack:cf-php-apache-buildpack来部署的,刚开始我设置的一个instance,告诉我说Application failed to stage。但是cf apps看到的却是这个app是running状态,之后我cf delete掉又重新试了几次,问题依旧~整个过程感觉都挺正常,只是这个buildpack会下载一些东西,比较慢。。。后来我又把instance设置为3,结果 ...
这是CloudFoundry v2的一个坑,解决方案很简单,但是确实被折腾坏了,后来在Google Group中找到了一个哥们的回复才解决。
实际只需要修改dea.yml,增加一个配置项:domain: xae.xx.com(不同公司肯定配置的不一样,这个配置是假设你在cloud_controller.yml中配置的external_domain为:api2.xae.xx.com,取api2后面的部分)
这个版本的mysql安装需要cmake,可以使用root直接安装cmake,configure到默认目录即可,然后make && make install 解压缩mysql.tar.gz,比如我解压到/home/users/qinxiaohui01/src下面
搞一个shell脚本:
#! /bin/sh
cd /home/users/qinxiaohui01/src
cmake -DCMAKE_INSTALL_PREFIX=/home/users/qinxiaohui01/mysql5 \
-DMYSQL_UNIX_ADDR=/home/u ...
上一篇博文《部署问题域分析》主要是讲述了平时听到的一些一线研发工程师的直接需求。解决问题的第二步是分析问题,OK,那我们就来看看这些问题的本质~~以下只是我的私人观点,有说得不对的地方欢迎大家批评指正一起 ...
自动化持续部署号称持续集成最后一公里,对整个持续集成过程有很重要的意义。而且即使是非持续集成的团队,同样需要部署,需要快速上线。那么对于这个Topic来讲,问题域有多大,难点在哪里~今天 Ulric 来简单侃一侃,如 ...