查看Java应用状态
jps查看 123$ jps16 jar547 Jps jmap -heap 1$ jmap -heap 16 jstat -class pid 1$ jstat -class 16
混沌工程详细介绍——Netflix持续交付实践探寻
本篇来自于本人6月-7月参加的“DevOps案例深度研究”活动Netflix案例研究的第五部分,详细介绍了Netflix的混沌工程。经过一个月的战斗,四个版本的迭代,Netflix战队最后交付了让所有人满意的战果,并获得了全场唯一的案例研究最佳小组奖杯。感谢我们的战友,还有指导老师,姚冬老师和徐磊老师。 Netflix实施混沌工程的背景 08年Netflix决定把它的业务迁移到aws上,从自身运维的角度考虑,它有很多担忧的地方。 很长时间内有两套系统在同时运行,运维的复杂度更高了。 NetFlix的用户量已经达到了1亿,对应用稳定性依赖很高,如果出现故障对用户的影响非常大,甚至是致命的。 它的业务不断复杂,引入微服务架构,对应用的高可用性要求越来越高。 生产环境非常复杂,是多样性的,很难在测试环境中完全模拟生产的状态。 因此Netflix决心探索一种在生产环境验证应用高可用性的一种方法,这就是现在大家所熟知的混沌工程。 混乱工程的发展 2010年,捣乱猴子诞生 2011年,猴子军团,有了更多场景下的工具集 2012年,开源了捣乱猴子的代码,建立社区,影响了越来...
《Prometheus监控实战》读书笔记
Prometheus是一个开源的监控系统。 一、监控简介监控不仅仅只是系统的技术指标,还可以是业务指标。确保为客户提供可靠恰当的产品。在生产系统中,监控是必须的,它应该和应用程序一起构建和部署。帮助我们了解系统的环境、进行诊断故障、制定容量计划,为组织提供系统的性能、成本和状态等信息。 监控模式 务必在项目最开始阶段就把监控考虑进去,它和安全性一样,都是应用的核心功能。 根据服务价值设计自上而下的监控系统是一个很好的方式。先是业务逻辑,再是应用程序,最后才是基础设施操作系统。 需要找准监控项,及时发现错误 通过多样化的数据,如查看数据窗口等更智能的技术分析指标与阀值 增加监控的频率 尽可能实现监控系统部署实施自动化 监控机制 探针与内省:监控应用程序的两种方法。探针:在应用程序的外部,查询应用程序的外部特征。如Nagios。内省:查看应用程序的内部内容,经过检测,返回其状态、内部组件等的度量。可用作健康检查接口,由监控工具收集。 拉取与推送:执行监控检查的两种方式。拉取:提取或检查远程应用程序。如Prometheus。推送:应用程序发送事件给监控系统接收。 监控数据...
玩转Openshift中Pod调度
大部分情况下,Openshift中的Pod只是容器的载体,通过Deployment、DaemonSet、RC、Job、Cronjob等对象来完成一组Pod的调度与自动控制功能。Pod调度也是由Scheduler组件完成的。 Deployment/RC:全自动调度 Deployment/RC主要是自动部署应用的多个副本,并持续监控,以维持副本的数量。默认是使用系统Master的Scheduler经过一系列算法计算来调度,用户无法干预调度过程与结果。 12345678910111213141516171819202122apiVersion: apps/v1kind: Deploymentmetadata: name: nginx labels: app: nginxspec: replicas: 1 template: metadata: name: nginx labels: app: nginx spec: containers: - name: nginx ...
研发项目管理实践
项目的特征 唯一性、2. 存在风险、3. 临时的、4. 跨部门的团队、5. 渐渐明晰 项目的三约束(QBT)Q:质量、B:资金、T:时间 按时、在预算之内、满足性能指标、满足或超出客户的预期完成就是一个成功的项目。 优秀的项目经理在完成一个项目的过程中,让Boss、客户、团队成员都满足。 做项目时要时刻考虑到项目的目的。 项目的来源 合同驱动、2. 市场驱动、3. 变更Change 项目周期 与不同干系人的沟通干系人指的是对项目成败有利益,对项目有影响的人。 识别干系人。核心团队成员一起来识别。 分析干系人。 对不同的干系人采取不同的策略。 影响力来源 信誉、2. 互惠、3. 说服 项目进展 核心团队成员融入到项目里面,能够将项目说清楚 做计划。计划的过程很重要。做计划的过程是把核心团队消化项目的过程,也是责任转移的过程。项目经理要将项目分成模块,细节让负责部分的核心团队成员来做。 团队建设模型(Tuckman模型) 团队建设分为四个阶段:形成阶段、磨合阶段、规范阶段、贡献阶段 四个阶段中间不能跳过 保证核心成员的完整性 项目经理,二件事:管项...
给非技术人员说清楚容器是什么
小明要造一个房子,开始自己买木头、砖头自己造。 出现了一个开发商,他有一个机器,可以在几分钟内造出一个毛坯房,小明只需要按照自己的风格做装修。 巫婆出现,给了小明一个魔法袋,它可以把房子的模型装入袋中,想造房子念个咒语就行。 小明造了很多模板,可以轻松地就能造出很多房子。 来了个商人,告诉小明可以把魔法袋租出去,别人也可以放入模板,也能够造房子,坐收租金。 参考文章https://zhuanlan.zhihu.com/p/53260098
自定义Service添加到Openshift中的Prometheus
prometheus.yml中定义了keep, drop, update等状态1234567891011121314151617181920212223242526272829303132333435363738394041424344- job_name: 'kubernetes-service-endpoints' tls_config: ca_file: /var/run/secrets/kubernetes.io/serviceaccount/ca.crt # TODO: this should be per target insecure_skip_verify: true kubernetes_sd_configs: - role: endpoints relabel_configs: # only scrape infrastructure components - source_labels: [__meta_kubernetes_namespace] action: keep rege...
网络相关工具简单汇总
lscpi查看Mac地址和网卡带宽12[root@localhost] $ yum install pciutils -y[root@localhost] $ lspci -vvv 里面的mac地址格式:46-8d-80-6d-06-07 ip a查看Mac地址与IP12[root@localhost] $ yum install iproute[root@localhost] $ ip a 里面的mac地址格式:46:8d:80:6d:06:07 iperf 对集群进行网络流量测试启动服务端 12[root@localhost] $ yum install iperf3 -y[root@localhost] $ iperf3 -s 客户端进行测试 12[root@localhost] $ yum install iperf3 -y[root@localhost] $ iperf3 -c 10.2.2.2 -P 5 以上默认为作TCP测试,如果要UDP测试,服务端启动与客户端测试都需要加上-u 1234## 服务端iperf3 -s -u## 客户端iperf3 -c 10.2....
通过curl访问OpenShift上部署的Prometheus获取监控数据
Prometheus作为最常用的集群的监控组件,它收集了集群最全的状态信息。那么当我们需要将它与现有的监控告警平台打通,或者根据它开发一个自己的监控展示平台时,就不得不需要获得Prometheus的监控数据了。这时就不得不访问Prometheus的API接口。根据场景的不同有两种方式能够获取到Prometheus的数据 集群外部,通过访问Prometheus UI的链接来获取指标数据 集群内部,进入Prometheus容器中,获取指标数据 1. 集群外部,curl访问Prometheus UI地址由于OpenShift上部署的Prometheus应用对接了OpenShift的用户认证oauth-proxy,所以必须先获取用户的Token后再通过curl访问prometheus服务获取数据,具体操作如下。 123456789101112# #登录[root@master ~]# oc login -u adminAuthentication required for https://master.example.com:8443 (openshift)Username: ad...
镜像仓库的镜像清理
1. 必备条件镜像仓库打开可删除功能 2. 清理镜像12345# curl -k -I -H "Accept: application/vnd.docker.distribution.manifest.v2+json" -I http://localhost:5000/v2/openshift/ocp-router/manifests/v3.11.129获取镜像层的sha256值# curl -X DELETE http://localhost:5000/v2/openshift/ocp-router/manifests/sha256:39ad17c3e10f902d8b098ee5128a87d4293b6d07cbc2d1e52ed9ddf0076e3cf9# #登录到镜像仓库# registry garbage-collect /etc/docker-distribution/registry/config.yml 3. 参考文档私有docker registry的使用–push,pull,search,delete




