关于运维:自动化运维工具ansible的简单使用

ansible是用来对批量机器执行命令的工具; 筹备环境:管制机器:192.168.182.102业务主机:192.168.182.100,192.168.182.101 ansible装置与配置yum install epel-release ansible -y配置须要执行命令的主机,vim /etc/ansible/hosts默认是没有任何主机的,能够按标签增加主机,如图所示,我增加了test1标签和test2标签接下来须要配置主机的明码 ssh-keygen -t rsa默认密钥是会生成明码的,为了记住明码,须要执行以下命令,~/.ssh/id_rsa是你生成密钥时的默认文件门路; ssh-agent bashssh-add ~/.ssh/id_rsa将公钥复制到业务主机上,执行如下命令 ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.182.100ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.182.101能够在业务主机的~/.ssh/authorized_keys下看到增加的公钥 ansible的配置寄存于/etc/ansible/ansible.cfg,介绍两个比拟罕用的配置 # 每次执行ansible命令是否校验ssh host keyhost_key_checking = False# 开启日志记录log_path = /var/log/ansible.log执行ansible命令,格局为: ansible 主机或者主机组 -m 模式 -a 参数 例如执行一个ping命令 主机组就是在/etc/ansible/hosts文件的配置,例如指定test1的主机组 ansible test1 -m ping 貌似只反对单个tag或者all,all就是蕴含所有的tagansible all -m ping 罕用的module具体的module有哪些,这里只会介绍命令的用法,不会介绍他们的区别,如果想要理解真正的原理,倡议查看文档或者源码,文档能够通过ansible-doc module-name查看,源码在/usr/lib/python2.7/site-packages/ansible/modules shell(win_shell)执行一条shell命令,具体是调用了/bin/shcommand(win_command),看文档貌似不反对局部字符,用法与shell相似,因为不反对“|”字符,所以不反对管道操作copy,复制文件到业务主机上file, 与文件相干的操作,删除刚刚复制的文件script, 相当于将脚本复制到业务机上,执行该脚本,而后删除该脚本,即便该脚本没有执行权限,依然会执行该脚本ansible-playbook将工作写入到yml文件中,进行批量工作操作;实例如下 - hosts: all tasks: - name: create test3 file file: path=/opt/test3.txt state=touch when: GO111MODULE == "on" - name: create test2 file file: path=/opt/test2.txt state=touch when: GO111MODULE == "off" notify: - create test3 filehosts:是须要执行的工作的主机组 tasks:执行的工作列表 每个工作有如下参数: name:工作的名称 上图中的file: path=/opt/test3.txt state=touch 示意module name为file,参数为path=/opt/test3.txt state=touch的工作,能够替换为任何其余的module name和参数 when:if判断,只有返回false的才会执行该工作,然而貌似只反对ansible本人有的变量notify: 当工作状态为change时会触发notify,并执行相应的task ...

April 11, 2021 · 1 min · jiezi

关于自然语言处理:透过-30-Preview-看-Dubbo-的云原生变革

简介:做过微服务开发的开发者置信对 Dubbo 都不生疏,Dubbo 是一款能帮忙咱们疾速解决微服务开发、通信以及流量治理的框架。相比于之前只限定在 Java 语言范畴内,Dubbo 的多语言版本在这两年出现了良好的发展势头,其中,Dubbo Go 语言版本在性能、稳定性各个方面都已十分齐备,其它几种支流的多语言版本在社区也有提供。 作者 | 陆龟 起源 | 阿里巴巴云原生公众号 本文整顿自作者在3月20日云原生中间件 Meetup 上海站的分享。回复关键字“中间件”能够获取视频录播地址和 PPT。 就在明天,Dubbo 社区刚刚公布了 3.0 的首个预览版本 - 3.0.0.preview。 https://github.com/apache/dubbo/releases/tag/3.0.0.preview 本文将和读者一起解读 Dubbo3 的首个 preview 版本:一方面,咱们将深入分析  Dubbo3 云原生改革的核心理念;另一方面,咱们将一一解读 preview 版本的外围性能。 做过微服务开发的开发者置信对 Dubbo 都不生疏,Dubbo 是一款能帮忙咱们疾速解决微服务开发、通信以及流量治理的框架。相比于之前只限定在 Java 语言范畴内,Dubbo 的多语言版本在这两年出现了良好的发展势头,其中,Dubbo Go 语言版本在性能、稳定性各个方面都已十分齐备,其它几种支流的多语言版本在社区也有提供。 云原生视角的微服务改革Dubbo 次要解决微服务开发、运行域问题,它和微服务的编程、通信、流量治理等亲密关联,因而,在探寻 Dubbo3 的云原生改革之前,咱们先尝试从云原生视角察看云原生基础设施带给微服务架构和实际的改革,进而总结出 Dubbo 这样一个和微服务实际密切相关的框架所面临的改革与挑战。 微服务在让业务开发演进更灵便、快捷的同时,也带来了一些它独有的特色和需要:如微服务之后组件数量越来越多,如何解决各个组件的稳定性,如何疾速的程度扩容等。 这些诉求,尤其是运维、交付相干诉求,如微服务组件的生命周期、网络、通用服务绑定、服务状态治理等,并不应该是开发人员关注的重点,因为它们曾经齐全脱离了业务逻辑,开发人员更违心专一在有业务价值组件上,但这个档次的诉求却是实现微服务交付的要害能力。开发者冀望由底层基础设施来提供此类能力反对,而处于不同阶段倒退的基础设施却不肯定具备这样的能力,因而,在微服务软件架构和底层基础设施之间就呈现了一条鸿沟,咱们须要有组件能填补这一鸿沟,让微服务组件能更好的接入底层基础设施。 这里从一个更形象的层面,尝试用两条倒退曲线演示了软件架构诉求与底层基础设施能力丰盛度之间的关系。总体上,两者之间的倒退关系可拆分为两个阶段。 在第一个阶段,软件架构(这条红色的线)从单体利用、到面向服务的软件架构、再到微服务架构,疾速演进,从而也提出了上文咱们讲到的对基础设施对交付的诉求,这个时候基础设施层还多是以定制化的形式来满足软件架构的诉求,如过往的集中化的 ESB、各个不同的 PaaS 平台等。 第二个阶段,是从容器、Kubernetes 为代表的根底产品的呈现开始,蓝线与红线之间的增长速度被疾速拉近,以云原生技术为代表的底层基础设施丰盛度失去了极大改善,它们不再只是被动的满足微服务开发的诉求,而是开始形象更多的软件诉求到底层的基础设施,将它们下沉为根底能力,并开始以对立的、标准化的模式向上输入以满足微服务对交付、运维等的诉求,不仅如此,通过更深刻的被动翻新、继续的向上开释能力,底层基础设施还开始反过来影响微服务的开发、接入形式,如 sidecar、dapr 等模型。 Dubbo3 的云原生改革通过上文云对原生基础设施演进给传统微服务带来改革的剖析,咱们得出,以 Dubbo 为代表的微服务开发框架,应重点在以下方向冲破与改革。 更多的微服务组件及能力正下沉到以 Kubernetes 为代表的基础设施层。传统微服务开发框架应剔除一些冗余机制,踊跃的适配到基础设施层以做到能力复用;微服务框架生命周期、服务治理等能力应更好地与 Kubernetes 服务编排机制交融。以 Service Mesh 为代表微服务架构给微服务开发带来的新的抉择,但因为 Mesh 架构自身的复杂性,其间隔大规模生产落地还有一段距离。咱们置信,基于 ServiceMesh 的体系会逐渐从孵化器走向成熟期,会有越来越多的企业采纳 Service Mesh技术,但在将来在很长一段时间内,基于服务框架的传统微服务体系还将是支流,长期仍将占据半壁江山。咱们无妨回忆一下,在云原生基础设施能力被充沛开释前,围绕 Dubbo 构建微服务时,它给微服务开发提供了哪些能力?或者咱们冀望它提供哪些能力? ...

April 8, 2021 · 2 min · jiezi

关于云原生:阿里的-RocketMQ-如何让双十一峰值之下-0-故障

作者 | 愈安起源 | 阿里巴巴云原生公众号 2020 年双十一交易峰值达到 58.3 W 笔/秒,消息中间件 RocketMQ 持续数年 0 故障丝般顺滑地完满反对了整个团体大促的各类业务安稳。2020 年双十一大促中,消息中间件 RocketMQ 产生了以下几个方面的变动: 云原生化实际:实现运维层面的云原生化革新,实现 Kubernetes 化。性能优化:音讯过滤优化交易集群性能晋升 30%。全新的生产模型:对于提早敏感业务提供新的生产模式,升高因公布、重启等场景下导致的生产提早。云原生化实际1. 背景Kubernetes 作为目前云原生化技术栈实际中重要的一环,其生态曾经逐渐建设并日益丰盛。目前,服务于团体外部的 RocketMQ 集群领有微小的规模以及各种历史因素,因而在运维方面存在相当一部分痛点,咱们心愿可能通过云原生技术栈来尝试找到对应解决方案,并同时实现降本提效,达到无人值守的自动化运维。 消息中间件早在 2016 年,通过外部团队提供的中间件部署平台实现了容器化和自动化公布,整体的运维比 2016 年前曾经有了很大的进步,然而作为一个有状态的服务,在运维层面依然存在较多的问题。 中间件部署平台帮咱们实现了资源的申请,容器的创立、初始化、镜像装置等一系列的根底工作,然而因为中间件各个产品都有本人不同的部署逻辑,所以在利用的公布上,就是各利用本人的定制化了。中间件部署平台的开发也不齐全理解团体内 RocketMQ 的部署过程是怎么的。 因而在 2016 年的时候,部署平台须要咱们去亲自实现消息中间件的利用公布代码。尽管部署平台大大晋升了咱们的运维效率,甚至还能实现一键公布,然而这样的计划也有不少的问题。比拟显著的就是,当咱们的公布逻辑有变动的时候,还须要去批改部署平台对应的代码,须要部署平台降级来反对咱们,用最近比拟风行的一个说法,就是相当不云原生。 同样在故障机替换、集群缩容等操作中,存在局部人工参加的工作,如切流,沉积数据的确认等。咱们尝试过在部署平台中集成更多消息中间件本人的运维逻辑,不过在其余团队的工程里写本人的业务代码,的确也是一个不太敌对的实现计划,因而咱们心愿通过 Kubernetes 来实现消息中间件本人的 operator 。咱们同样心愿利用云化后云盘的多正本能力来升高咱们的机器老本并升高主备运维的复杂程度。 通过一段时间的跟进与探讨,最终再次由外部团队承当了建设云原生利用运维平台的工作,并依靠于中间件部署平台的教训,借助云原生技术栈,实现对有状态利用自动化运维的冲破。 2. 实现 整体的实现计划如上图所示,通过自定义的 CRD 对消息中间件的业务模型进行形象,将原有的在中间件部署平台的业务公布部署逻辑下沉到消息中间件本人的 operator 中,托管在外部 Kubernetes 平台上。该平台负责所有的容器生产、初始化以及团体内所有线上环境的基线部署,屏蔽掉 IaaS 层的所有细节。 Operator 承当了所有的新建集群、扩容、缩容、迁徙的全副逻辑,包含每个 pod 对应的 brokerName 主动生成、配置文件,依据集群不同性能而配置的各种开关,元数据的同步复制等等。同时之前一些人工的相干操作,比方切流时候的流量察看,下线前的沉积数据察看等也全副集成到了 operator 中。当咱们有需要从新批改各种运维逻辑的时候,也再也不必去依赖通用的具体实现,批改本人的 operator 即可。 最初线上的理论部署状况去掉了图中的所有的 replica 备机。在 Kubernetes 的理念中,一个集群中每个实例的状态是统一的,没有依赖关系,而如果依照消息中间件原有的主备成对部署的计划,主备之间是有严格的对应关系,并且在高低线公布过程中有严格的程序要求,这种部署模式在 Kubernetes 的体系下是并不提倡的。若仍然采纳以上老的架构形式,会导致实例管制的复杂性和不可控性,同时咱们也心愿能更多的遵循 Kubernetes 的运维理念。 ...

April 6, 2021 · 2 min · jiezi

关于devops:提升漏洞修复率DevSecOps-真的很有一套丨HDCCloud2021

近些年来,随着云计算、微服务和容器技术的疾速遍及,不仅IT基础架构产生了微小的变动,政企组织的业务交付模式也迎来微小变迁,传统的开发模式向麻利开发和继续交付模式迁徙,在业务利用交付规模不断扩大、交付速度一直进步、开发经营场景一体化的大环境下,平安问题你真的器重么? 1 “破绽”带来安全隐患近年来,随着软件开源化趋势成为支流,开源软件曾经成为软件供应链的重要环节,是软件生态不可或缺的组成部分,可开源软件的平安问题却是很多组织所疏忽和不通晓的。 Gartner的考察显示,99%的组织在其信息系统中应用了开源软件。Sonatype公司对3000家企业的开源软件应用状况开展过考察,结果表明每年每家企业均匀下载5000多个开源软件。随着开源技术疾速造成生态,企业用户引入开源软件已成大势所趋,无奈防止,不仅如此,随着大型软件开发过程中,开源组件的占比越来越高,加之软件开发人员往往只关注本人开发的那局部代码的安全性,漠视了采纳的开源组件的平安品质,最终导致成型软件产品的系统安全问题越来越多。 所以在这样的大时代背景下,开源软件和工具曾经影响到了整个软件行业,一旦具备大规模用户根底的开源软件存在安全漏洞,结果和影响是无奈设想的。 在非100%自研发的明天,开源软件的破绽未然成为了软件生态中安全漏洞的“罪魁祸首”! 2 安全检查,没那么简略随着安全漏洞问题的一直爆出,越来越多的组织也开始意识到平安问题的重要性,可随着产品的开发生命周期越往后,其性能、接口、代码量、数据、外部关联等越发的宏大和简单,平安问题排查的难度、引发的修复老本也显著增高。统计数据表明,随着产品的开发,生命周期越往后,平安问题引发的修复老本也成倍数增长。如下图所示,如果到了公布阶段,再去修复平安问题,那么带来的老本将是毁灭性的。 那么问题来了,咱们该怎么办呢? 3 晋升破绽修复率 - DevSecOps实际在以上背景下,DevSecOps应运而生。 DevSecOps又是什么呢? 简略来说,DevSecOps能够了解为在DevOps根底上嵌入了平安Security,即DevSecOps是糅合了开发、平安及经营理念以创立解决方案的全新办法——一套由策略驱动的体系化方法论,一套流程与工具撑持,将平安能力嵌入到整个软件开发体系中,在保障业务疾速倒退的状况下实现平安保障,即快又平安的公布可运行的软件。 DevSecOps这个概念最早是2017年美国RSA大会上提出的——DecSecOps是一种全新的平安理念与模式,它从DevOps的概念延长和演变而来,其核心理念是:平安是IT团队中(包含开发、运维及平安团队)每个人的责任,须要贯通从开发到经营整个业务生命周期的每一个环节,只有这样能力提供无效的平安保障。DevSecOps通过增强外部平安测试,被动搜查安全漏洞,及时修复破绽、管制危险,实现与业务流程的良好整合。 4 DevSecOps 的外围DevSecOps的平安实际次要集中于以下两个方面: 平安工作前移采纳平安在软件开发后期染指的形式,升高解决平安问题的老本,后期染指的内容包含对开发、保护人员的安全意识培训、平安开发标准的培训、平安需要(非性能需要)的导入、后期的代码审计工作、基于白盒的平安测试、浸透测试等内容。在经营阶段减少的内容与后期开发阶段相似,次要内容集中在对新平安需要实现状况的验证以及软件整体平安评估。 平安工作与现有工作无缝对接为了防止平安工作(例如:测试与评估、安全策略的部署等)成为开发瓶颈,使得利用零碎在最短周期内实现其应有的价值和平安属性。DevSecOps采纳疾速迭代的开发方式,这就须要实现平安与开发工作实现无缝对接,将平安工作导入现有的开发工作流程和工具中,包含将平安需要导入至对立需要治理流程与工具、平安测试工作与继续集成/继续部署(CI/CD)对接、平安测试后果导入至缺点管理工具等诸多环节。 这实际上就是对自动化提出十分高的要求。 5 DevSecOps 实施方案DevSecOps通常是将平安嵌入到DevOps的流程阶段中,所以一般来说,DevSecOps的工具通常也是基于编码、构建、测试、配置、部署、监控这六个阶段嵌入的,如果要自行搭建DevSecOps的流水线须要至多在以上环节中退出相应的工具并实现自动化,具体分析如下: 1)开发阶段 良好的编码习惯更易于代码自身的了解和更改。 DevSecOps通过增加用于编写良好和平安代码的安全检查来扩大这些实际。 传统的单元测试,代码审查,动态代码查看等实际能够扩大到该阶段的安全性查看。为了不影响开发人员的工作效率,能够在代码提交至代码仓库之前查找并修复常见的平安问题。 2)构建阶段 将代码提交到代码仓库后,将执行应用程序的构建和根本自动化测试,以确保代码始终可编译可构建。 同样,须要在此阶段增加安全性查看,以检测重大和高危安全性问题。如果发现重大问题,则须要进行安全控制,设定构建为失败并发送警报告诉。 3)测试阶段 胜利构建后,通过抉择生成的工件并将其部署到容器或者测试环境来触发测试阶段。这些测试包含功能测试,集成测试,性能测试,高级SAST,安全性和DAST。 这个阶段通常须要更多的工夫和资源来执行,并且遵循疾速失败办法优先准则,即更吃力和耗时的测试要尽可能后延,只有在其余测试都通过时才执行。 4)配置阶段 配置管理工具能够轻松地重复大规模部署和创立平安基础架构。通过标准化配置,配置管理工具能够缩小与补丁治理相干的问题,最大限度地升高黑客能够利用未修补的服务器的危险,并有助于缩小不同环境之间的差别。值得一提的是,应用配置管理工具能够在地方代码库和版本控制下跟踪配置信息。 5)部署阶段 如果上述所有阶段胜利运行,则须要筹备投入生产环境运行。该阶段指标次要是验证在配置或部署工夫内是否存在任何谬误,这些谬误是否会升高零碎的可靠性和弹性,是否能够在故障状况通过这些进行攻打。 该阶段应用自动化运行时检查和测试中施展重要作用的中央,特地是发现平安违规和破绽的平安问题,并突出了危险,如拜访控制策略或防火墙规定的变动。 6)监控阶段 零碎投入生产后,安全性不会终止,而是真正的开始。在DevSecOps中,主动安全检查和监督反馈循环迭代是生产操作的根本局部。 继续监控能够深刻理解应用程序正在接管的流量类型,并帮忙辨认歹意用户的攻打模式。 6 总结综上,DevSecOps的工具次要是基于编码、构建、测试、配置、部署、监控这6个阶段嵌入的,如果要自行搭建DevSecOps的流水线,须要至多在以上环节中退出相应的工具(参考工具如下图),并实现自动化。如果自行搭建较为艰难,可借助开发平台提供DevSecOps的能力,比方华为云DevCloud软件开发平台来进行流水线的配置与开发。 当你遇到平安问题或者想要预防平安问题产生,DevSecOps是一个很好的解决方案,心愿您看完本文,对DevSecOps有所理解。 作为华为ICT基础设施业务面向寰球开发者的年度盛会,华为开发者大会2021(Cloud)将于2021年4月24日-26日在深圳举办。本届大会以#每一个开发者都了不起#为主题,将汇聚业界大咖、华为科学家、顶级技术专家、天才少年和泛滥开发者,独特探讨和分享云、计算、人工智能等最新ICT技术在行业的深度翻新和利用。智能时代,每一个开发者都在发明裹足不前的奔流时代。世界有你,了不起! 理解大会详细信息,请点击https://developer.huaweicloud...

April 3, 2021 · 1 min · jiezi

关于运维:HUAWEI-AppGallery-Connect-宣布推出移动端App应用全生命周期服务触手可及

华为利用市场AppGallery Connect利用一站式服务平台正式公布挪动端App,帮忙您随时随地查看利用信息,获取经营剖析数据,接管重要音讯告诉,疾速回复用户评论等,晋升利用的经营管理效率,更便捷地把握利用体现。领先一睹AppGallery Connect挪动端App全新性能治理利用更高效:能够随时查看利用状态,包含利用的根本信息、版本信息、评论信息等,还反对查看并回复用户评论,促成与用户的无效沟通。经营剖析更直观:反对查看利用的外围经营指标,如下载安装量、利用内付费数据等,使您及时把握数据变动,随时理解以后的经营状况,以便疾速应答。交换互动更疾速:通过互动核心接管和查看音讯告诉,如利用状态变动告诉、营销流动告诉等,使您与AppGallery Connect平台的互动反馈比以往更疾速。一站式服务更便捷:把握AppGallery Connect一站式服务最新动静,第一工夫理解新性能、新工具,不便您更轻松地集成服务性能,获取您所需的技术和资源反对。 AppGallery Connect启用全新Logo AppGallery Connect降级品牌视觉零碎,正式启用全新Logo,呈现出翻新、进取的簇新形象。Logo图标是由尖括号<>组成,寓意华为利用市场AppGallery Connect与开发者紧密连接,密切合作,携手打造翻新利用。AppGallery Connect致力于为开发者提供涵盖利用“创意-开发-散发-经营-剖析”全生命周期服务,共建全场景智慧化的利用翻新生态。即刻开始体验AppGallery Connect挪动端App AppGallery Connect App反对Android5.0以上挪动终端,请从华为利用市场获取并装置最新版本,开始体验AppGallery Connect服务。同时,咱们期待收到您的应用反馈,进一步推动平台的能力晋升,以便更好地满足您的需要,您能够通过agconnect@huawei.com邮箱分割咱们。

April 1, 2021 · 1 min · jiezi

关于k8s:K8s-原生-Serverless-实践ASK-与-Knative

作者 | 李鹏(元毅)起源 | Serverless 公众号 一、为什么须要 Knative K8s 目前已成为云原生市场上的支流操作系统,K8s 对上通过数据抽象裸露基础设施能力,比方 Service、Ingress、Pod、Deployment 等,这些都是通过 K8s 原生 API 给用户裸露进去的能力;而对下 K8s 提供了基础设施接入的一些标准接口,比方 CNI、CRI、CRD,让云资源以一个标准化的形式进入到 K8s 的体系中。 K8s 处在一个承前启后的地位,云原生用户应用 K8s 的目标是为了交付和治理利用,也包含灰度公布、扩容缩容等。然而对用户来说,实现这些能力,通过间接操作 K8s API 不免有些简单。另外节俭资源老本和弹性对于用户来说也越来越重要。 那么,如何能力简略地应用 K8s 的技术,并且实现按需应用,最终实现降本增效的目标呢?答案就是 Knative。 二、Knative简介1. Knative 是什么定义 Knative 是一款基于 Kubernetes 的 Serverless 编排引擎,Knative 一个很重要的指标是制订云原生跨平台的编排规范,它通过整合容器构建、工作负载以及事件驱动来实现这一目标。 Knative 社区以后贡献者次要有 Google、Pivotal、IBM、Red Hat,可见其阵容强大,另外还有 CloudFoundry、OpenShift 这些 PAAS 提供商也都在踊跃地参加 Knative 的建设。 外围模块 Knative 外围模块次要包含两局部:事件驱动框架 Eventing 和提供工作负载的 Serving,接下来本文次要介绍 Serving 相干的一些内容。 2. 流量灰度公布以一个简略的场景为例: 在 K8s 中实现基于流量的灰度公布 如果要在 K8s 中实现基于流量的灰度公布,须要创立对应的 Service 与 Deployment,弹性相干的须要 HPA 来做,而后在流量灰度公布时,要创立新的版本。 ...

March 30, 2021 · 2 min · jiezi

关于运维:滴滴OCE派奖啦

OCE限时邀请有礼,只等你来!2021年3月16日-4月30日, 邀请在生产环境中应用Obsuite(包含滴滴夜莺、滴滴Logi)且未申请OCE认证的企业用户,即可播种桔厂牛年抱枕、雷蛇专属游戏鼠标垫、电脑挂灯等一众好礼,特地的礼只为特地的你,流动详情请戳下方图片进行理解。

March 27, 2021 · 1 min · jiezi

关于运维:eureka优雅下线某个服务

一、需要在咱们我的项目公布的时候,如果咱们的注册核心应用的是eureka,当咱们有多个服务实例,在公布某个服务的时候心愿达到平滑的公布,不要在服务的调用过程中呈现谬误。 eg: 比方:咱们的商品服务有2个,咱们公布的时候,先发实例A,在发实例B。 假如咱们要先发 A 实例,如果A实例曾经有正在解决的申请,要失常解决实现,当A实例齐全没有流量进入时,在关掉A实例,重启A实例。 二、实现步骤1、应用 eureka 的 rest api 查问服务列表发送GET申请,拜访/eureka/apps curl --location --request GET 'http://localhost:8761/eureka/apps' \--header 'Accept: Application/json' \--header 'User-Agent: apifox/1.0.0 (https://www.apifox.cn)' 2、应用 eureka 的 rest api 将 服务的状态标记为DOWN。 > 此时只是将要下线的服务标记为down了,然而这个服务并没有关掉,还是能够对外提供服务的。 > 在下个eureka client 拉取eureka server 上可用的服务列表时,不会拉取 down 的服务。 > 此时可能须要期待肯定的工夫(eureka.client.registry-fetch-interval-second=30 + 肯定的业务解决工夫) 后执行下方的步骤3,保障这台机器上的工作都执行完,没有外来的流量流入就能够关掉服务了。 > 不必再去执行 DELETE /appId/instanceId 这个申请,将这个服务从eureka server上下调,如果解决的慢的话,可能这个服务在下个心跳的时候会再次注册到 eureka server 上。发送 PUT 申请,拜访 /eureka/apps/appId/instanceId/status?value=DOWN。 appId 见上图的appIdinstanceId 见上图的instanceIdvalue=[DOWN | UP] DOWN标记服务不可用,UP标记服务可用。curl --location --request PUT 'http://localhost:8761/eureka/apps/PRODUCT-PROVIDER/product-provider:192.168.0.85:8083/status?value=DOWN' \--header 'Accept: Application/json' \--header 'User-Agent: apifox/1.0.0 (https://www.apifox.cn)' ...

March 26, 2021 · 1 min · jiezi

关于Zabbix:干货丨Zabbix-负载判断与调整配置参数

转自@twt社区【作者】许远 【摘要】本文包含两篇Zabbix利用技能分享:Zabbix 负载判断与调整配置参数;Zabbix_server失常运行,却提醒服务器没有运行的解决办法。 Zabbix负载判断与调整配置参数目标: 在Zabbix负载时提供排查思路及解决办法(次要解说调整配置参数) 解决负载的形式: 禁用异样监控及应用Zabbix客户端被动形式、调整zabbix配置参数、告警收敛(去除没必要的告警,以及防止告警风暴)、硬件更新 倡议: 不应用zabbix管家清理历史数据与趋势数据,数据量大时,zabbix管家数据清理会间接导致zabbix解体;可应用数据库表分区的形式,把对应的数据分为多个分区一一清理 背景: 随着公司体系加大,应用zabbix监控的机器越来越多,主机局部指标时延越来越大,1mà5mà10m 1、查看zabbix队列,查看是否存在5m以上的队列,查看细节确认哪些主机导致队列,有队列则持续下一步(若无队列,界面操作过慢,能够应用IOSTAT查看数据库IO状况) 2、查看对应的主机,是否监控状态异样,状态失常则持续下一步(如果异样:把主机禁用,过几分钟后查看队列是否隐没) 3、手动在zabbix采集服务器上应用zabbix_get命令获取界面无数据的指标,失常获取则持续下一步(若异样,依据报错进行解决问题) zabbix_get –s 客户端IP –k 键值 4、目前能够判断,数据是能够失常获取,但通过客户端推送时,数据响应工夫过长(客户端agent可配置超时工夫默认3s,可配置30s,批改后数据仍是后面的状况,则持续下一步),导致界面无奈显示; 在图形性能找到zabbix的本身监控,查看”Zabbix cache usage.% free” 在图形中,咱们能够看到zabbix本身的性能已达到负载,超过预约阈值,咱们能够通过调整zabbix-server配置文件参数,加大zabbix性能 StartPollers=160 StartPollersUnreacheable=80 StartTrappers=20 StartPingers=100 StartDiscoverers=120 Cachesize=1024M startDBSyncers=16 HistoryCacheSize-1024M TrendCacheSize=1024M HIstoryTextCacheSize-512M 重启zabbix-server 5、调整参数后,发下zabbix数据采集恢复正常,队列隐没 Zabbix_server失常运行,却提醒服务器没有运行Zabbix忽然呈现了: Zabbix server is not running:the information displayed may not be current Zabbix 服务器没有运行:显示的信息可能不是以后的 一、SELinux未敞开 selinux肯定要敞开,如果开启selinux,可能zabbix的discovery都不能失常应用 敞开selinux办法: 1、批改/etc/selinux/config文件中的SELINUX=“”值为disable,而后重启。 2、如果不想重启,应用setenforce 0 setenforce 1,selinux为enforcing模式 setenforce 0,selinux为permissive模式 二、zabbix web 目录上面,$ZBX_SERVER 是否为IP,如果是localhost,ping一下localhost是否能解析。如果不能,须要/etc/hosts文件里减少相应的我的项目。 ...

March 26, 2021 · 1 min · jiezi

关于gitlab-ce:gitlab迁移及迁移后500问题

gitlab迁徙背景之前gitlab在阿里云机部署,因为外网绝对不平安思考迁到内网环境gitlab-11.11.3 docker部署施行备份docker exec -ti gitlab bashgitlab-rake gitlab:backup:createdocker cp gitlab:/var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.tar .在内网机器启动雷同版本gitlab(gitlab备份复原须要雷同版本)docker exec -ti gitlab bashmv 1612427334_2021_02_04_11.11.3_gitlab_backup.tar /var/opt/gitlab/backups/chmod 755 /var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.tarchown root:root /var/opt/gitlab/backups/1612427334_2021_02_04_11.11.3_gitlab_backup.targitlab-rake gitlab:backup:restore BACKUP=1612427334_2021_02_04_11.11.3问题1.进入ci/cd runner页面报500 gitlab-rails consoleCi::Runner.all.update_all(token_encrypted: nil)gitlab-rails dbconsoleUPDATE projects SET runners_token = null, runners_token_encrypted = null; 2.新建用户,在强制用户批改明码时报500log 显示相似: 因为没有第一工夫写文章,日志显示相似,不是我遇到的日志。 The form contains the following error: PG::NotNullViolation: ERROR: null value in column "id" violates not-null constraint DETAIL: Failing row contains (null, 164, t). : INSERT INTO "project_ci_cd_settings" ("project_id") VALUES (164) RETURNING "id"解决思路:查看对应表有没有null值,启动全新的gitlab比照表构造 ...

March 18, 2021 · 1 min · jiezi

关于云原生:Serverless-时代-DevOps-的最佳打开方式

作者 | 许成铭(竞霄)起源 | 阿里巴巴云原生公众号 DevOps 简析传统软件开发过程中,开发和运维是极其决裂的两个环节,运维人员不关怀代码是怎么运作的,开发人员也不晓得代码是如何运行的。 而对于互联网公司而言,其业务倒退迅速,须要疾速更新以满足用户差异化的需要或者竞对的产品策略,须要进行产品的疾速迭代,通过小步快跑的形式进行麻利开发。 对于这种每周公布 n 次甚至每天公布 n 次的场景,高效的合作文化就显得尤为重要。DevOps 就在这种场景下应运而生,它突破了开发人员和运维人员之间的壁垒。 DevOps 是一种器重“软件开发人员(Dev)”和“IT 运维技术人员(Ops)”之间沟通单干的文化、静止或常规。通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、公布软件可能更加地快捷、频繁和牢靠。 上图是一个残缺的软件开发生命周期,DevOps 静止的次要特点是提倡对构建软件的整个生命周期进行全面的治理。 DevOps 工程师的职责: 治理利用的全生命周期,比方需要、设计、开发、QA、公布、运行;关注全流程效率晋升,开掘瓶颈点并将其解决;通过标准化、自动化、平台化的工具来解决问题。DevOps 的关注点在于缩短开发周期,减少部署频率,更牢靠地公布。通过将 DevOps 的理念引入到整个零碎的开发过程中,可能显著晋升软件的开发效率,缩短软件交付的周期,更加适应当今疾速倒退的互联网时代。 Serverless 简析 上图左侧是谷歌趋势,比照了 Serverless 和微服务的关键词趋势走向,可看出随着工夫变动,Serverless 的热度曾经逐步超过微服务,这阐明全世界的开发人员及公司对 Serverless 十分青眼。 那 Serverless 到底是什么?上图右侧是软件逻辑架构图,有开发工程师写的利用,也有利用部署的 Server(服务器),还有 Server 的保护操作,比方资源申请、环境搭建、负载平衡、扩缩容、监控、日志、告警、容灾、平安、权限等。而 Serverless 实际上是把 Server 的保护工作屏蔽了,对于开发者是黑盒,这些工作都由平台方反对,对业务来说只需关注外围逻辑即可。 总得来说,Serverless 架构是“无服务器”架构,是云计算时代的一种架构模式,可能让开发者在构建利用的过程中无需关注计算资源的获取和运维,升高经营老本,缩短上线工夫。 Serverless 时代 DevOps 的变动1. Serverless 的个性 上图左侧为 2020 年中国云原生用户调查报告中 Serverless 技术在国内的采纳状况,图中显示近三成用户曾经把 Serverless 利用在生产环境中,16% 的用户曾经将 Serverless 利用在外围业务的生产环境,12% 的用户也曾经在非核心业务的生产环境中用到 Serverless,可见国内对 Serverless 接受度较高。 上图右侧为征询公司 O'Reilly 对寰球不同地区不同行业的公司进行的调查报告后果,图中显示奋勇当先应用 Serverless 架构的就是 DevOps 人员。 ...

March 18, 2021 · 2 min · jiezi

关于运维:滴滴开源-邀请领好礼米家显示器挂灯雷蛇烈焰神虫送给你

March 16, 2021 · 0 min · jiezi

关于云原生:GitHub-Action-ACK云原生-DevOps-落地利器

作者 | 瑶靖起源 | 阿里巴巴云原生公众号 据信通院《中国 DevOps 现状调查报告(2020年)》显示,63% 的企业曾经实际落地 DevOps,采纳继续交付流水线买通开发、测试、部署和运维多个环节。然而仍然有 20% 的企业反馈实际 DevOps 简单,自建 Jenkins 须要自部署及插件运维,而 SaaS 化 CI/CD 工具又配置繁琐,心愿有更轻量便捷的工具减速其转型落地。 目前,阿里云与 GitHub 联结公布了疾速部署至阿里云 ACK 的 GitHub Action Workflow。无需再自建部署保护 CI/CD 工具,基于开箱即用的 GitHub Action 及阿里云部署模板,即可实现 GitHub 代码变更后,主动利用打包构建上传阿里云容器镜像服务 ACR、疾速部署至阿里云容器服务 ACK 的流程。本文将从 GitHub Action、阿里云容器服务及实际 Demo 来为您具体介绍。 图 1 - GitHub Action 反对阿里云部署模板 GitHub 与阿里云联结公布 GitHub Action Workflow1. 对于 GitHub Acticon图 2 - GitHub Action 首页 GitHub Action 是 GitHub 2018 年 10 月推出的内置继续集成工具,简化自动化构建、测试、部署的流程。GitHub Action 通过将继续集成的原子操作封装成 Actions,再基于 Workflow 流程定义,将多个 Action 组装成可复用的模板,实现 GitHub 事件更新后主动触发执行 Action 流程。 ...

March 15, 2021 · 3 min · jiezi

关于prometheus:sqlexporter的使用

一、背景有些时候,咱们想看每天零碎的登录人数、或者零碎中订单的数据,比方:胜利的订单、异样的订单等等。这些数据都在咱们的数据库中,通过sql_exporter咱们能够将这些数据接入到prometheus中,进行监控告警。 二、sql-exporter的应用1、下载1、拜访下载地址:https://github.com/free/sql_exporter/releases # 下载wget https://github.com/free/sql_exporter/releases/download/0.5/sql_exporter-0.5.darwin-amd64.tar.gz# 解压tar -zxvf sql_exporter-0.5.darwin-amd64.tar.gz# 重命名mv 2、配置文件1、sql_exporter.yml# 全局配置global: # 能够了解为执行sql语句的超时工夫,这个值须要比prometheus的 `scrape_timeout` 值要小。如果配置了下方的 scrape_timeout_offset 值,那么最终的超时工夫为, min(scrape_timeout, X-Prometheus-Scrape-Timeout-Seconds - scrape_timeout_offset) # X-Prometheus-Scrape-Timeout-Seconds 为 prometheus 的超时工夫,从申请头中获取的 scrape_timeout: 10s # 从 prometheus 的超时工夫中减去一个偏移量,避免 prometheus 先超时。 scrape_timeout_offset: 500ms # 各个sql收集器之间运行距离的秒数 min_interval: 0s # 容许获取到的数据库最大的连接数, <=0 示意不限度。 max_connections: 3 # 容许闲暇连接数的个数,<=0 不做限度 max_idle_connections: 3# 配置监控的数据库和抓取信息target: # 配置数据库链接信息 # mysql://root(用户名):root(明码)@tcp(localhost:3306)/temp_work(库名) data_source_name: 'mysql://root:root@tcp(localhost:3306)/temp_work' # 收集器的名字, 对应者下方 collector_files 中具体的文件的 collector_name 的值 collectors: [collector_user,collector_payment_orders]collector_files: - "collectors/*.collector.yml"2、collectors 目录中的配置文件1、collector_user的配置cat collectors/collector_user.collector.yml统计的是 某个字段 的值,该行只有一个单个的值,比方注册数等等,对应sql 相似 select count(*) from table# 收集器的名字collector_name: collector_usermetrics: - metric_name: every_day_register_users # 指标的名字 type: counter # 类型 help: '统计每天的注册人数.' # 形容 values: [register_users] # 值 query: | select count(*) register_users from t_users where create_date between concat(curdate(),' 00:00:00') and concat(curdate(),' 23:59:59')2、collector_payment_orders的配置cat collectors/collector_payment_orders.collector.yml1、统计的是 一行只有一个值。 比方 统计每个用户(须要有一个指标名称) 的订单数量(值) 对应sql 相似 select count(1), user_name from table group by user_name 。2、统计的是一行能够有多个值。比方 统计每个用户(须要有指标名称) 的订单数量(指标名称和值)或订单金额(指标名称和值) 对应sql 相似 select user_name,count(1),sum(1) from table group by user_name。# 收集器的名字collector_name: collector_payment_ordersmetrics: - metric_name: every_day_order_cnt type: gauge help: '每个人每天的订单数量和订单数量.' key_labels: - user_name # 会存在 {"user_name"="列user_name的值"}的标签 values: - order_cnt # 指标的值是 order_cnt 的值 query: | select user_name as user_name, count(*) as order_cnt, sum(amount) as order_amount from payment_order where create_date between concat(curdate(),' 00:00:00') and concat(curdate(),' 23:59:59') group by user_name - metric_name: user_order_cnt_or_amount type: counter help: '统计每个人(user_name)在每种订单状态(order_status)下的下单数量(order_cnt)或下单金额(order_amount)' key_labels: ["user_name","order_status"] # 每一行数据上会减少 {"user_name"="列user_name的值","order_status"="列order_status的值"} 标签 value_label: 'operation' # 轻易取一个名字,比方operation ,那么依据下方的 values 会存在 {"operation"="order_cnt"}或者{"operation"="order_amount"} 标签 values: ["order_cnt","order_amount"] query: | select user_name as user_name, status as order_status, count(*) as order_cnt, sum(amount) as order_amount from payment_order group by user_name,status3、集成到prometheus中scrape_configs: - job_name: 'sql-exporter' static_configs: - targets: ['localhost:9089'] labels: nodename: 'sql-exporter'4、启动#!/usr/binnohup /Users/huan/soft/prometheus/sql_exporter/sql_exporter \--config.file="/Users/huan/soft/prometheus/sql_exporter/sql_exporter.yml" \--web.listen-address="0.0.0.0:9089" \> logs/sql_exporter.out 2>&1 &5、拜访看是否有指标数据抓取我的一个简略的了解:1、every_day_register_users 5 就是查问进去一个值2、every_day_order_cnt {user_name="lisi"} 2 多了一个自定义的label,它的值是values指定的值。3、user_order_cnt_or_amount{operation="order_amount",order_status="2",user_name="lisi"} 3user_order_cnt_or_amount{operation="order_amount",order_status="2",user_name="wangwu"} 4user_order_cnt_or_amount{operation="order_cnt",order_status="1",user_name="lisi"} 1 能够看到每个多了 user_name和order_status和operation 这3个label,该工夫序列的是 operation标签对应的列的值。 ...

March 13, 2021 · 2 min · jiezi

关于运维:数字时代韧性为什么是必修课

随同企业数字化转型的不断深入,信息基础设施与业务环境正产生着根本性的变动,这些变动让企业全面进入智能时代。然而这一现状也让企业面临更加简单的挑战,维系企业业务平安的难度一劳永逸,数字化时代企业的治理危险和时机形式须要根本性转变。 (本文根据同创征询专家樊宇3月4日直播内容所整顿,以下为注释~) 何为数字韧性? 对于企业来讲,韧性就是抵挡危险的能力,是在一直简单的环境中反弹和凋敝的能力。 例如新冠疫情对于许多企业来说就是一个大的危险,美国有几千家大型的、历史悠久的公司申请破产。当初状况尽管好了一些,但不论是哪个行业,作为一家倒退中公司,如果再产生突发(劫难)状况,会不会影响到本身业务的倒退?会不会造成咱们的业务无奈继续? 咱们可能无奈去防止劫难的产生,然而却能够让劫难产生前和劫难产生后的应急处理工作变得熟能生巧,这样就须要建设一整套的治理流程,把劫难的影响降到最低。 数字韧性的问题咱们大略分几个层面去解决,同创针对每个层面和畛域都有具体的解决方案。 如公司策略层面能够用业务连续性解决方案,它是整个应急体系组织构造的一个建设和保护,是整个业务和治理流程的一个更新;如灾备治理包含容量治理,解决的是整个作业层面的问题;波及到整个利用数据及技术等这些畛域,解决的是操作层面的一些问题。 同创基于数字韧性的几个层面提出了8个解决方案,包含了从整个公司治理层面,从整个策略倒退层面,始终到咱们技术和操作层面,从整个前端到后端,造成了一个残缺的闭环。 灾备指挥治理平台 灾备指挥治理平台解决的次要问题是日常运维及灾备演练:如灾备预案体系治理,灾备演治理,灾备切换保障,以及各项切换指标,包含在整个演练或切换过程中,指挥调度和领导决策以及治理视图等等相干问题。 针对解决方案,须要做整个预案的定制化开发,包含自动化脚本的编排、灾备切换指挥大屏创立、给予提供决策、演练或切换实现后主动生成演练报告等等。从所有的维度去晋升企业的日常运维以及灾备能力,包含决策和指挥治理的能力,这是平台的设计的最次要的初衷。 灾备监控管理系统 灾备监控管理系统次要解决的问题是针对生产核心和灾备核心,外围是基于整个存储的数据复制、整个数据库层面的复制、电路状态、资源状态、包含一致性配置监控、要害节点监控和查看等。通过平台化、自动化的施行,从而能够代替人工查看与告警。 灾备体系优化服务 同创不仅会提供基于整个数字韧性的产品和解决方案,同时还提供相干的资源服务,咱们有着十分业余及资深的征询团队,能够帮忙企业设计建设整个灾备体系,包含演练过程中的微服务以及新 IT 架构的难题,用整个征询团队去做赋能。 咱们会依照 PDCA 的方法论,从6个阶段去布局,而后设计施行治理运维优化,作为企业组织来说,能够依据本身的状况来抉择其中的局部或者全副服务。 容量管理系统 容量管理系统次要解决的是不同角色在面对容量自身相干场景反映出的一些决策问题。比如说咱们的容量经理和咱们的系统管理员,他们对于整个容量的治理需要和工作重点不一样的。 通过这种容量管理系统应用,解决咱们用户在治理无序、业务无关、布局无据等等相干的这样的一个层面上的问题。 容量管理系统它是通过建设适宜的信息系统,容量管理策略和伎俩,实现容量数字化的剖析测量和危险辨认,进步日常管理工作的合理性和有效性,确保咱们可能经济正当的满足生产零碎在容量方面的各项需要,这是咱们容量管理系统的最外围的价值。 自动化运维的管理系统 自动化运维管理系统其实解决的问题分为这三方面,一是运维过程中谬误的操作导致的零碎问题。二是运维人员日常大量反复工作问题,三是故障的解决问题。 管理系统笼罩的场景包含了整个自动化巡检、自动化部署、自动化公布、自动化批量作业、合规性查看以及自动化应急等等几个方面。在功能模块上也提供了包含装置从属核心,日常保护核心、故障响应核心、报表核心以及实时跟踪。一件事的执行,不同维度全方位的满足不同场景中遇到的问题,包含整个运维治理的赋能和效率的晋升。 IT 应急管理系统 IT 应急是通过对于整个事件的监测,当然还须要有一套残缺的预案体系,包含一体化的指挥决策,自动化处理等。整个灾备体系优化征询和整个 IT 应急管理系统其实是连接十分严密的,有了这套预案体系和治理流程,再通过应急治理平台,而后去晋升咱们整个 IT 应急的能力。 业务连续性治理平台 首先说一下业务连续性是什么,其实业务连续性它是一项综合性的治理流程,它能够使企业意识到潜在的危机和相干的影响,而后以此来制订响应业务和连续性的这种复原打算,其实总体目标其实是为了进步企业的危险防备能力,以及无效的应答非计划性的业务毁坏,并升高不良影响。 比方业务中断可能是因为 IT 系统故障造成的业务中断,也可能是因为区域性自然灾害造成的业务中断,首先咱们须要解决的问题是业务连续性,它是一整套的咨询服务过程,而后给平台去赋能。 业务连续性,它其实更强调的是说咱们以业务的为视角,来贯通整个业务继续的全过程的这样的一个治理。 其实国内来说,咱们对业务连续性监管最强的还是咱们的金融银行、保险、财务公司、生产金融、信托等等。业务联系治理其实有两大诉求,第一是要满足合规性,二是晋升企业在大灾大难背后的组织韧性能力。 业务连续性认证体系与咨询服务 上图展现的是基于业务连续性的管控不当的结果,随着工夫的推移以及范畴的扩充,绝非危言耸听。 同创基于企业和集体,都能够提供 ISO 22301业务连续性的全体系咨询服务认证和培训服务,来帮忙企业或集体去建设一套规范的业务联系性体系。 对于咱们: 同创永益是专一于提供业务连续性、劫难复原和IT经营相干产品、解决方案及服务的国家高新技术企业。公司有十年的灾备业务连续性畛域的技术积淀,领有残缺的业内产品矩阵。 通过6大解决方案、20多款产品为用户打造保障业务韧性的综合解决方案,并通过“凋谢、共赢”的生态理念,与泛滥优良的合作伙伴独特打造了良好的技术单干生态圈。 ...

March 12, 2021 · 1 min · jiezi

关于运维:KubeNode阿里巴巴云原生-容器基础设施运维实践

作者 | 周涛  阿里云技术专家起源 | 阿里巴巴云原生公众号 阿里巴巴节点运维的挑战 在阿里巴巴的场景下,做节点运维面临的挑战次要来自于这几个方面:规模、复杂性、稳定性。 首先是规模大。从 18 年第一个集群的搭建,到当初线上共运行着数百个 ASI 集群、数十万个节点,其中单集群的节点数最多有超过1万台。在这之上,运行着阿里巴巴团体数万个不同的利用,比方,大家熟知的淘宝、天猫等,总容器实例数有数百万规模。ASI 是指 Alibaba Serverless  Infrastructure,也就是阿里巴巴 Serverless 基础设施。ASI 的概念同时蕴含集群的管控面和节点两方面。每一个 ASI 集群都是调用 Aliyun 规范的 OpenAPI 创立的 ACK 托管版集群,而后在此之上,咱们自研了调度器、开发部署了很多的 addon,进行性能加强、性能优化,并对接团体的各个系统,并做到节点全托管,不须要利用开发运维人员关怀底层的容器基础设施。 其次是环境非常复杂。目前 IaaS 层运行着很多种异构的机型,有x86服务器,也有 ARM 国产化机型,同时为了服务新计算、AI 的业务,也有 GPU、FPGA 的机型。线上的内核版本也十分多,4.19 是去年开始规模上线的内核版本,同时 3.10 / 4.9 内核版本上的节点问题也须要持续撑持,不同的内核版本演进也须要具备规模化轮转的运维能力。目前上万个在线利用蕴含了像淘宝、天猫、菜鸟、高德、饿了么、考拉、盒马 等各种不同的业务,同时跟在线利用一起运行着混部、平安容器的业务,像大数据、离线计算、实时计算、搜寻等这些业务类型也都跟在线业务运行在同一个主机环境中。 最初是对稳定性的高要求。在线业务的特点是对提早和抖动十分敏感,单节点的抖动、夯机、宕机等故障都可能会影响某个用户在淘宝的下单付款,引发用户的吐槽和投诉,所以整体对稳定性的要求十分高,要求对单节点故障的解决有很高的及时性和有效性。 KubeNode:云原生节点运维底座介绍 KubeNode,是阿里巴巴自研的基于云原生形式来治理和运维节点的底座我的项目,相比于传统的过程式的运维伎俩,KubeNode 通过 K8s 扩大 CRD 以及对应的一组 Operator,能提供残缺的节点生命周期和节点组件生命周期治理,通过申明式、面向终态的形式,把节点及节点组件的治理变得跟治理 K8s 中的一个利用一样简略,并实现节点的高度一致性以及自愈修复的能力。 上图右侧是 KubeNode 一个简化的架构,整体是由这几个局部组成的: 核心端有 Machine Operator 负责节点和节点组件治理,Remedy Operator 负责节点的故障自愈修复。节点侧有 Kube Node Agent,这个单机 agent 组件负责 watch 核心 Machine Operator、Remedy Operator 生成的 CRD 对象实例,并执行相应的操作,像节点组件的装置、故障自愈工作的执行等。 ...

March 11, 2021 · 2 min · jiezi

关于运维:运维进阶如何一次性大批量实现服务器装机

近期在客户现场部署环境时遇到了一个问题,客户有较多的服务器没有装置零碎,如果采纳传统的光驱部署装置的形式太过繁琐耗时,因而就采纳了PXE环境下kickstart批量装机的形式进行。通过PXE环境下kickstart批量装机的形式,在1小时之内部署了超过30台服务器零碎,相比于原先的光驱装置节俭了靠近2个小时,大大晋升了零碎部署效率。上面我将从相干常识的遍及、效率比照和装置教学三个方面分享如何实现PXE环境下kickstart批量装机。 上面,enjoy: 一、相干常识的梳理1. 批量装机软件介绍:操作系统批量装机所采纳的装置形式次要有两种:kickstart和Cobbler。 kickstart是一种无人值守的装置形式。它的工作原理是在装置过程中记录人工干预填写的各种参数,并生成一个名为ks.cfg的文件。如果在主动装置过程中呈现要填写参数的状况,安装程序首先会去查找ks.cfg文件,如果找到适合的参数,就采纳所找到的参数;如果没有找到适合的参数,便会弹出对话框让安装者手工填写。所以,如果ks.cfg文件涵盖了装置过程中所有须要填写的参数,那么安装者齐全能够只通知安装程序从何处下载ks.cfg文件。等装置结束,安装程序会依据ks.cfg中的设置重启/关闭系统,并完结装置。本次批量装置就采取的这种形式。 Cobbler集中和简化了通过网络装置操作系统须要应用到的DHCP、TFTP和DNS服务的配置。Cobbler不仅有一个命令行界面,还提供了一个Web界面,大大降低了使用者的入门程度。Cobbler内置了一个轻量级配置管理系统,但它也反对和其它配置管理系统集成。在这里就不进行具体介绍。 2. PXE介绍:PXE(preboot execute environment,预启动执行环境)是Intel公司提出的一项通过网络来疏导零碎的规范。 PXE最间接的体现是,在网络环境下工作站能够省去硬盘,但又不是通常所说的无盘站的概念,因为应用该技术的PC在网络形式下的运行速度要比有盘PC快3倍以上。当然应用PXE的PC也不是传统意义上的TERMINAL终端,因为应用了PXE的PC并不耗费服务器的CPU,RAM等资源,故服务器的硬件要求极低。 3.kickstart与PXE的关系:kickstart实现形式依赖于PXE环境。通过网络接口启动计算机,不依赖本地存储设备(如硬盘)或本地已装置的操作系统。 PXE客户端会调用网际协议(IP)、用户数据报协定(UDP)、动静主机设定协定(DHCP)、小型文件传输协定(TFTP)等网络协议;PXE客户端(client)这个术语是指机器在PXE启动过程中的角色。一个PXE客户端能够是一台服务器、笔记本电脑或者其余装有PXE启动代码的机器(咱们电脑的网卡)。 4.PXE的必备条件(1)pxe client必须反对pxe用户端性能,并且开机时选择网络启动,能力确保以网络的形式进入pxe启动程序; (2)pxe服务器必须至多提供DHCP、TFTP、HTTPD(vsftpd 或 nfs)的服务,且还需满足如下要求: DHCP服务器除了必须满足为pxe client调配ip地址之外,还需告知tftp所在的地位(即通知pxelinux.0的文件地位)TFTP服务器则为pxe client 提供bootloader 及 kernel 等重要文件下载服务应用HTTPD服务器提供pxe client所需程序及软件起源(共享源)二、批量装机与传统装机效率比照PXE网络批量部署的耗时次要由两局部组成:双倍的零碎装置时长和PXE环境部署工夫。这两局部工夫都较为固定。 而传统光驱部署的决定性因素较多,例如光驱数量,部署人员数量及其他不确定变量等。 通过理论测试,在需部署30+台服务器零碎的前提下,装备2位运维人员和2个光驱,PXE网络kickstart部署要比传统部署形式节俭了300%的安装时间。 因而相比于传统光驱部署,PXE对于装置人员、硬件、工夫的要求更低,同时灵活性更高。尤其是如果须要大批量进行服务器零碎装置时,PXE环境下kickstart装置形式更是可能无效晋升装置效率,节俭安装时间。 三、装置教学第一步,就是要筹备好网络部署依赖的服务包。 依赖服务DHCP、TFTP、syslinux、http(vsftpd或nfs) 第二步,装置各个依赖服务,确定好服务装置依赖关系。 依赖RPM包 装置DHCP服务服务器个别预装置common、lib两个服务程序: yum源装置:yum install -y dhcp rpm包装置(有依赖程序): 若已装置,common、lib则能够间接装置dhcp服务:rpm -ivh dhcp-4.2.5-82.el7.centos.x86_64.rpm 装置TFTP服务yum源装置:yum install -y tftp rpm包装置: rpm -ivh tftp-server-5.2-22.el7.x86_64.rpm 装置syslinuxyum源装置:yum install -y syslinux rpm包装置: rpm -ivh syslinux-4.05-15.el7.x86_64.rpm 装置http服务yum源装置:yum install -y httpd rpm包装置(有依赖程序): rpm -ivh mailcap-2.1.41-2.el7.noarch.rpm rpm -ivh httpd-tools-2.4.6-97.el7.centos.x86_64.rpm ...

March 11, 2021 · 1 min · jiezi

关于运维:Prometheus之告警规则的编写

一、前置常识对于被Prometheus监控的服务器,咱们都有一个up指标,能够晓得该服务是否在线。 up == 0 能够工作服务下线了。up == 1 能够工作服务在线。二、需要对于下线超过1分钟的服务,产生告警信息。 三、实现步骤1、编写告警规定groups:- name: Test-Group-001 # 组的名字,在这个文件中必须要惟一 rules: - alert: InstanceDown # 告警的名字,在组中须要惟一 expr: up == 0 # 表达式, 执行后果为true: 示意须要告警 for: 1m # 超过多少工夫才认为须要告警(即up==0须要继续的工夫) labels: severity: warning # 定义标签 annotations: summary: "服务 {{ $labels.instance }} 下线了" description: "{{ $labels.instance }} of job {{ $labels.job }} has been down for more than 1 minutes."留神: 1、for 指定达到告警阈值之后,统一要继续多长时间,才发送告警数据。 2、labels中能够指定自定义的标签,如果定义的标签曾经存在,则会被笼罩。能够应用模板。 3、annotations 中的数据,能够应用模板,$labels示意告警数据的标签,{{\$value}}示意工夫序列的值。 2、批改prometheus.yml执行告警规定的地位rule_files: - "rules/*_rule.yaml"示意加载 prometheus.yaml目录下级目录下的rules目录下所有的以 _rule.yaml结尾的文件。 ...

March 8, 2021 · 1 min · jiezi

关于运维:PromQL的简单使用

一、背景在prometheus中存在各种工夫序列数据,那么咱们如何依据工夫序列查问想要的数据呢?prometheus为咱们提供了弱小的PromQL,借助PromQL咱们能够查问到本人想要的数据。 二、PromQL的数据类型Instant vector(即时向量):一组工夫序列,每个工夫序列蕴含一个样本,所有样本共享雷同的工夫戳。Range vector(范畴向量):一组工夫序列,其中蕴含每个工夫序列随工夫变动的一系列数据点。Scalar(标量):一个浮点型的数据值。String(字符串):一个字符串,以后没有应用到。 留神: 1、如果咱们要绘制图形,那么必须返回 Instant vector 类型的数据。 三、字面量1、字符串字面量字符串能够应用 ''(单引号),""(双引号),\`\`(反引号)来示意。在单引号和双引号中,反斜杠成为了转义字符,前面能够跟着a,b, f, n, r, t, v或者\。 eg: "this is a string" 'these are unescaped: \n \ \t' these are not unescaped: \n ' " \t2、浮点数字面量浮点数能够写成以下这种格局 [-+]?(         [0-9]*.?[0-9]+(eE?[0-9]+)?         | 0xX+         | nN[nN]         | iI[fF] )eg: 23 -2.43 3.4e-9 0x8f -Inf NaN四、工夫序列选择器 1、即时向量选择器即时向量选择器容许在给定的工夫戳(即时)上抉择一组工夫序列和每个样本的单个样本值。 1、组成部分指标名称:用于限定特定指标下的工夫序列,可选。匹配器:用于过滤工夫序列上的标签,可选。定义在{}中。2、指标名称和匹配器的组合1、只给定指标名称,或者在指标名称上指定空匹配器,这将返回给定指标下的所有工夫序列的即时样本数据。 eg: up 等价于 up{}2、只给定匹配器,返回合乎该匹配器的所有工夫序列的即时样本。 eg: {instance=~".*", job="prometheus"}3、同时指定指标名称和匹配器,返回合乎给定指标名称和匹配器的即时样本。 eg: up{job="prometheus"}留神: 1、指标名称和匹配器必须要抉择一个。 3、匹配器匹配器次要是用于标签过滤,目前反对如下4种格局。 =: 准确的匹配给定的标签值!=: 不匹配给定的标签值=~: 正则表达式匹配给定的标签值!~: 不匹配正则表格局给定的标签值eg: 1、查问出指标名称up中标签job等于prometheus的工夫序列数据 up{job="prometheus"}2、查问出指标名称up中标签job不等于prometheus的工夫序列数据 ...

March 7, 2021 · 3 min · jiezi

关于运维:DevOps敏捷60问一定有你想了解的问题

摘要:问题笼罩了规划设计、开发集成、测试、部署公布、运维监控等DevOps落地实际中的要害疑点与难点。“DevOps的价值是又快又好地交付软件” ——《凤凰我的项目》的作者Gene Kim和《继续交付》的作者JezHumble 以后数字化转型的局势下,软件行业面临着微小的市场时机,而软件系统复杂度一直减少,跨地区高效合作、多环境部署等问题也逐步突出,DevOps能帮忙企业晋升软件研发效率,通过自动化“软件交付”和“架构变更”的流程,来使得构建、测试、公布软件可能更加快捷、频繁和牢靠。 基于此,邀请到姚冬、卜汉东两位专家老师,为咱们解答涵盖规划设计、开发集成、测试、部署公布、运维监控等DevOps落地实际中的要害疑点与难点的60个问题,心愿通过这些问题与解析,帮忙更多DevOps实践者解决DevOps落地过程中的纳闷与痛点。(点击可下载纲要模式的pdf文档不便浏览) 【一、华为端到端DevOps概览】Q1:华为端到端的DevOps工具链是如何承载麻利和DevOps相干理念和办法的? A:麻利和DevOps的理念其实是相通的,DevOps能够视作麻利的延长,麻利思维突破了需要与开发之间的壁垒,DevOps则通过将开发与运维间的壁垒突破,买通软件交付全流程。 华为云DevOps工具链DevCloud蕴含了从需要治理到代码托管、构建部署、测试等一系列步骤,笼罩软件开发全生命周期。理念往往须要联合实际,咱们能够通过DevCloud进行需要治理、每日站会等等许多麻利实际,通过提交代码能够触发执行流水线,让开发人员专一开发。 Q2:华为云DevCloud与传统基于开源组件拼接的工具链,有什么差别劣势? A:传统的由开源组件拼接而成的工具链,大部分都是应用Jira来进行需要治理、用Git来做代码托管、用Jenkins做DevOps开发,因为其组件大部分都是开源的,所以个别费用较低或者收费,其毛病是使用者须要把握很多工具,而且这些工具并不是在同一个平台上。华为云DevCloud是一站式的软件开发平台,能够做到所有工具都在一个平台上,端到端买通笼罩整个软件开发全生命周期。 用Jenkins的人都晓得,在应用之前首先须要搭建一套Jenkins的环境,还须要定制化地做一些脚本、配置等,华为云DevCloud相当于是一个曾经封装好了的DevOps开发工具,能够极大缩小这些操作。 在华为云DevCloud里,将编译构建、部署工作等做成了原子化的操作,如果咱们想要做Tomcat部署,能够间接应用这些模板,只须要对外面的步骤进行轻微的调整即可。而且它还应用了可视化视图,操作起来高深莫测,学习老本也比拟低。华为云DevCloud还反对代码查看、自定义shell、Python、脚本、自定义report展现。 Q3:DevOps /麻利和SDLC 有何不同? A:DevOps/麻利和SDLC的角度不一样。SDLC是指零碎生命周期,它提出的几种典型生命周期模型包含瀑布模型、疾速原型模型、迭代模型。麻利突破了需要和开发之间的沟通壁垒,DevOps则买通了整个软件交付的全流程。 Q4:DevOps人员在与我的项目的联合中是否会承当更多开发、测试、运维的工作? A:DevOps不会让人去承当更多开发、测试、运维的工作。DevOps里有一个理念:让开发的人专一于开发、测试的人专一于测试、运维的人专一于运维,所有的工具层面的货色全副交给工具,只有把所有可自动化的货色自动化,所有的人忙本人手头的工作就好了。 Q5:DevOps的反模式有哪些? A:参考《9种DevOps团队构造实用类型与7种反型》 Q6:DevOps适宜哪些行业的业务模式?对于非软件行业是否须要调整模式? A:DevOps也好,麻利也好,其初衷和理念实用于所有行业,然而每个行业在执行和理论落地成果上会有一些折扣,比方继续交付的生产环境、自动化部署、品质管控、自动化流转等过程的实现等。 简略而言,互联网的一些利用,或者说SaaS利用,相对来说更适宜DevOps的研发模式。起因是:其业务对软件更新、公布的要求较高;没有太大的历史包袱;绝对更容易对标指标受众群体,包含生产环境等。 传统类的业务比拟重,比方银行的外围零碎,实际起来绝对较难,也不是说不能用麻利或DevOps。比方继续集成、每天屡次构建、屡次提交代码、自动化测试、可视化等,都能够履行。 对于非软件行业,如硬件、嵌入式、机械类,实际起来也比拟难,比方测试自动化等,须要做一些工具或平台的适配,引进插件或工具后,流程也可能跑起来,只是会慢一些。 综上,我认为麻利和DevOps自身是一条没有起点的路,所有行业都能够到这条路上来,只是走得难易与远近的问题。 Q7:在企业落地DevOps有没有什么套路? A:企业理论状况各不相同,落地DevOps没有对立的套路,但会有一些倡议的形式。DevOps偏工程侧,通常倡议先把版本治理建设起来,比方Git代码仓、代码分支治理等;接下来须要把流水线构建起来,在下面逐步进行自动化测试、分层测试等。 Q8:最能无效促成Scrum团队自身的继续改良的是什么实际? A:每个团队遇到的问题都是不一样的,如果肯定要找一个通用的答案,首先要保障团队每日站会、评审会议等如质如期进行,以此来放弃继续改良。 【二、继续布局与设计】Q9:基于DevOps实现继续无效布局应该先从哪个层面去动手呢? A:首先须要了解DevOps和麻利的含意,咱们个别说的布局与设计更偏差于麻利项目管理中涵盖的需要和打算。 广义的DevOps次要是CI/CD,即继续集成和继续部署,是偏工程侧的。狭义的DevOps,即本训练营中讲的DevOps是“端到端的DevOps”,从继续集成/继续部署,向前延长到业务侧,向后延长到运维/经营侧,因而也涵盖了前段的需要和设计层面。 回到问题,基于DevOps实现继续无效布局,应该从需要和打算切入,包含整个的市场剖析、指标客户群体的用户画像,用户的痛点是什么,针对这些痛点提供什么样的性能,而后到产品应该怎么设计,接下来才真正落到研发这个主体上。 从方法论角度来看,需要和设计层面的方法论包含设计思维、精益守业等。做好需要剖析后,就要进行需要拆分,排列优先级,这样就进到麻利我的项目打算里,方法论包含看板、Scrum等,大规模团队麻利框架有SAFe等。 Q10:Scrum,看板和 XP 是麻利开发的具体形式,老师是否具体解说一下区别? A:参考文章《DevOps VS 麻利:傻傻分不清楚》。 Scrum和看板更偏重在团队级麻利项目管理层面,XP更偏差于工程实际层面。 Scrum和看板两者比拟:“规范的”Scrum包含3355的框架;看板源自丰田的精益生产,其背地是精益的思维,通过可视化、限度在制品的数量,疾速裸露问题和瓶颈点,集中对最重大的瓶颈点进行修复,而后去寻找下一个瓶颈点。 DevOps的很多理念同样借鉴了精益的思维,集体认为,看板能够利用到很多畛域。另外,Scrum和看板在施行或利用时并没有抵触,能够联合起来应用。 Q11:企业组织架构中什么角色或者局部适宜推广DevOps落地? A:企业组织架构中个别都没有专门的组织来推广和落地DevOps。DevOps包含两个局部“Dev”和“Ops”,就是指开发部门和运维部门。 几种常见的状况: · 如果是由开发部门来发动DevOps落地,就是由开发往运维去推动。咱们平时看到比拟多的是测试团队或传统的品质治理部门来发动,从开发到测试再往前一步到运维生产环境下来,因为这些部门自身就承当着代码托管、编译构建、自动化测试等职能。 · 而有的公司会把外部的基础设施、IT撑持、测试等放在数据中心,往前去推把本人变成相似咱们讲的DevOps工程师,而后通过自动化工具帮忙开发团队进行自动化部署等,这就是从运维侧往前推动DevOps落地。 · 还有一种状况,就是近年来比拟火的云原生,架构师更多思考采纳微服务架构,通过基础设施即代码等形式自动化部署到Docker环境中去,因而引入自动化流水线、Infrastructure as Code(基础设施即代码)、接口测试等实际,这些都属于DevOps的领域。 · 还有一些其余的角色,比方麻利教练、外部的技术教练等,他们自身就是在做研发治理的落地实际,很天然地转化去做DevOps推动。 综上,DevOps的推动和落地不肯定非要有一个DevOps工程师或独立的DevOps团队,初期引入DevOps的时候须要有一个团队或角色去承当起这个职责,进行概念和实际的导入和摸索,这时更容易把DevOps工程师、DevOps团队建设起来。而前期应该把这些工程师或能力扩散到各个团队中去,让DevOps在企业内有更宽泛的流传和实际。 Q12:请问在Scrum中,如果没有项目经理,是由TeamLeader还是ScrumMaster协调资源? A:应该由TeamLeader来协调资源,ScrumMaster不是治理角色,而更多的是一个辅助的牧羊犬的角色,在Scrum施行过程中守护团队Scrum流程不受烦扰。 Q13:对于非产品状态的我的项目,Product Owner来自哪个部门更适合?(业务部门/研发部门) A:Product Owner代表客户,个别是哪个部门更靠近业务,更理解业务和零碎,就由这个部门的人来负责。非产品状态我的项目的Product Owner,要求既理解业务又懂技术,个别能够由业务分析师、PMO等角色负责。 Q14:理论开发中,客户往往无人承当PO的角色,而是领导来承当,如何破解这个问题? A:这种状况可称为“BDD”,Boss-Driven Development,老板驱动开发。益处是至多有一个人能拍板;害处是拍板的人,你可能很难去辩驳或会谈,所以最好还是可能把客户侧的人拉进来。当然,如果老板的确对业务十分理解,也十分业余,并且是一个可沟通的人,也是能够的。PO的外围要求是须要有一个人代表客户或业务侧,针对需要或范畴做决定,且当团队有问题的时候,能够随时找到这个人。 Q15:影响地图次要利用于哪个环节? ...

March 4, 2021 · 2 min · jiezi

关于运维:基于-KubeVela-与-Kubernetes-打造无限能力的开放-PaaS

作者 | 孙健波(天元)起源 | 阿里巴巴云原生公众号 现在,围绕 Kubernetes 构建利用交付平台曾经逐步成为共识。 Kubernetes 生态自身的能力池诚然是丰盛的,但社区里并没有一个可扩大的、方便快捷的形式,可能帮忙平台团队把这些能力疾速“组装”成面向最终用户的性能(Feature)。因而,只管大家都在基于 Kubernetes 构建下层利用平台,但这些平台实质上并不能与 Kubernetes 生态齐全买通,而是变成一个个的垂直“烟囱”。 有没有办法让平台团队可能在不造轮子、齐全买通 Kubernetes 生态的前提下构建下层平台,从而同时保障平台的易用性和可扩展性呢?本文整顿自阿里云容器技术专家、OAM 标准次要制定者之一、KubeVela 作者和负责人孙健波(天元)在阿里云开发者社区“周二开源日”的直播分享,将分析以后 Kubernetes  利用交付体系存在的问题具体介绍如何基于 OAM 和 KubeVela 体系赋能 PaaS,构建凋谢可扩大又易用的能力。 点击回看残缺视频:https://developer.aliyun.com/live/246067 什么是 KubeVela1. KubeVela 的起源KubeVela是一个简略易用又高度可扩大的云原生利用治理引擎,是基于 Kubernetes 及阿里云与微软云独特公布的云原生利用开发模型 OAM 构建。 KubeVela 基于 OAM 模型构建了一套具体的实现,通过 Golang 编写,能够端到端地为用户构建云原生利用的平台,提供一个绝对残缺的解决方案。 KubeVela 我的项目自 2020 年 7 月份在社区外面发动,受到包含阿里、微软、Crossplane 等公司工程师在内的宽广社区志愿者的欢送,并一起投入到我的项目开发工作中。他们把在 OAM 实际外面的各种教训与教训,都总结积淀到 KubeVela 我的项目中。 KubeVela 在 2020 年 11 月中旬正式公布,并于公布的第 4 天登顶 Github Go 趋势榜榜首。这个我的项目的魅力在于,一方面我的项目自身比拟容易了解,因为大家刚看到 OAM 公布时,并不知道这个模型可能做什么,然而 KubeVela 提供许多开箱即用的性能以及能够实际操作的 Demo,使得大家更容易了解 OAM 模型以及 KubeVela 利用治理的能力。另一方面是因为许多用户在利用治理方面的诉求越来越强烈,尤其是云原生利用治理。 ...

March 3, 2021 · 3 min · jiezi

关于运维:Prometheus重新标记

一、背景咱们晓得prometheus是一个工夫序列数据库。会周期性的从各个target上抓取数据。那么咱们抓取回来的各种指标数据,咱们有没有方法再次进行解决呢?比方: 1、增加或删除某些不必要的标签。 2、从指标中删除敏感或不须要的标签。 3、批改标签的名字或标签的值等。 要实现上述性能,咱们就须要对标签进行从新标记。 通过从新标记,咱们能够管制、治理并标准化环境中的指标。 二、简化的指标抓取的生命周期 从上图中可知,咱们有2个阶段(relable_configs和metric_relabel_configs)能够进行从新标记。 1、配置参数详解# 从已有的标签抉择值的源标签组;多个标签,应用separator分隔;# regex匹配源标签里的值[ source_labels: '[' <labelname> [, ...] ']' ]# 多个 source_labels 时以这个连接起来[ separator: <string> | default = ; ]# 替换成的指标标签,能够应用正则中的分组[ target_label: <labelname> ]# 正则表达式匹配标签中的值[ regex: <regex> | default = (.*) ]# Modulus to take of the hash of the source label values.[ modulus: <int> ]# 替换正则表达式匹配的分组,分组援用应用 $1,$2,$3[ replacement: <string> | default = $1 ]# 正则表达式匹配后执行的动作[ action: <relabel_action> | default = replace ]1、action:存在的值1、替换标签值replace:首先将source_labels中指定的各标签的值以separator进行连接起来,而后将regex字段中的正则标签是对连接起来的标签值进行匹配断定,如果匹配上了,则将target_label字段中指定的标签的值替换为replacement字段中保留的值。hashmod:将target_label的值设置为一个hash值,该hash则由modules字段指定的hash模对source_labels上各标签的串联值进行hash计算生成。2、删除指标keep: 应用regex不能匹配到target上的source_labels上的各标签的串联值时,则删除该target。drop:应用regex能匹配到target上的source_labels上的各标签的串联值时,则删除该target。3、创立或删除标签lablemap:将regex对所有的标签名进行匹配断定,而后将匹配到的标签的值赋给replacement字段指定的标签名之上。通常用于生成一个新的标签。labeldrop:将regex对所有的标签名进行匹配判断,可能匹配到的标签从该target的标签集中删除。labelkeep:将regex对所有的标签名进行匹配判断,不可能匹配到的标签从该target的标签集中删除。2、删除标签注意事项标签是工夫序列的唯一性束缚。如果删除标签或重命名标签并导致工夫序列反复,那么零碎 可能会呈现问题。 ...

March 1, 2021 · 1 min · jiezi

关于运维:2020-年-SRE-报告BY-CATCHPOINT

2020 年是不寻常的疫情年,所有行业都受到了微小的影响, SRE 纯分布式工作形式的转型也是本报告的亮点之一。报告从 4 个方面具体介绍了疫情年中 SRE 的众生相。 本报告出自:https://pages.catchpoint.com/2020-sre-report 本文是集体学习的后果,非 Catchpint 官网出品,观点尽量与官网保持一致,但个别中央可能难免会呈现偏差,有任何质疑请参考原文,或者与我交换。 概要SRE 考察贡献者Catchpoint 要特别感谢 Sanjeev Sharma、Marc Hornbeek、Archana Joshi 和 Niladri Choudhuri。他们的见解和奉献为整个报告奠定了根底。 咱们还要特别感谢 Nithyanand Mehta。Nith 对于成熟度的外部白皮书为本报告的一些要害谈话点提供了灵感。 感激 Eveline Oehrlich 和 DevOps Institute 的共事。他们的反馈和工夫是至关重要的奉献,超过了本文档所能捕捉到的内容。 反对搭档如果没有 Blameless、Gremlin、Honeycomb、NS1、LaunchDarkly 和 Packet 这些了不起的合作伙伴,Catchpoint就 不可能发展本次 ‘SRE from Home’ 的考察。 前言长期以来,人们始终在探讨客户期望值一直进步的恶性循环,认为这是推动在疾速、边缘分布式的环境中提供服务的复杂性一直减少的起因。牢靠的形式。往年,咱们特地思考到在家工作的忽然减少;咱们认为咱们的员工和客户一样散布在世界各地。 咱们真的很感谢大家为 2020 年的 SRE 报告提供数据,这样就有了两组清晰的数据。往年的报告包含 “在家工作前 “和 “在家工作后 “两个时间段的调查结果和数据,提供了业界最独特的视角之一,阐明了 2020 年里 SRE 的非凡意义。 咱们评估了600多百名考察对象的数据。在剖析数据的同时,咱们心愿能对当今 SRE 先锋们的趋势、现状和面临的挑战进行实在、人性化的察看。 咱们衷心感谢为本报告做出奉献的所有集体,当初咱们也同样感谢您,读者。咱们心愿您能像咱们享受钻研和写作一样,享受浏览的乐趣。 与Catchpoint以前的 SRE 报告一样,咱们思考了那些被认定为从事 SRE 类工作的集体的数据,只管头衔可能还没有用到 " SRE “。 ...

March 1, 2021 · 3 min · jiezi

关于运维:Prometheus的单机部署

一、什么是PrometheusPrometheus是最后在SoundCloud上构建的开源零碎监督和警报工具包 。是一个工夫序列数据库。工夫序列数据:即按雷同时序(雷同名称和标签),以工夫维度存储的间断的数据汇合。 二、Prometheus的个性多维的数据模型灵便的查询语言 PromQL不依赖分布式存储;单个服务器节点是自治的工夫序列收集通过HTTP上的拉模型进行通过两头网关反对推送工夫序列通过服务发现或动态配置发现指标多种图形和仪表板反对模式三、反对的指标类型1、Counter 计数器用于保留枯燥递增的数值,只能是负数,不能是正数,不可缩小,然而能够重置为0。 比方: 某个http申请的拜访次数。 2、Gauge 仪表盘用于保留有着起伏变动的值,能够减少也能够较少。比方: 内存的应用状况 3、Histogram 直方图直方图对察看值(通常是申请持续时间或响应大小之类的货色)进行采样,并将其计数在可配置的存储桶中。 它还提供所有察看值的总和。 4、Summary 摘要相似于直方图,摘要会采样察看值(通常是申请持续时间和响应大小之类的货色)。 尽管它还提供了观测值的总数和所有观测值的总和,但它在滑动工夫窗口内计算可配置的分位数 四、Prometheus单机部署1、下载Prometheus下载地址 2、下载之后解压重命名文件夹1、文件夹内容 prometheus-2.25.0├── LICENSE├── NOTICE├── console_libraries│ ├── menu.lib│ └── prom.lib├── consoles│ ├── index.html.example│ ├── node-cpu.html│ ├── node-disk.html│ ├── node-overview.html│ ├── node.html│ ├── prometheus-overview.html│ └── prometheus.html├── prometheus (启动文件)├── prometheus.yml (配置文件)└── promtool2、prometheus 为启动文件,默认启动会加载和它同级的prometheus.yml配置文件。3、prometheus.yml 为配置文件 3、启动 prometheus1、显示prometheus命令反对的所有命令行参数./prometheus -h2、指定运行配置文件./prometheus --config.file="prometheus.yml"3、批改运行端口./prometheus --web.listen-address="0.0.0.0:9080"留神:如果批改了默认的9090端口,则须要批改 prometheus.yml中默认监控本人的端口。 4、批改数据存储目录和数据保留工夫./prometheus --storage.tsdb.path="data/" --storage.tsdb.retention.time="15d" 5、 查看版本号./prometheus --version6、验证配置文件是否正确./promtool check config prometheus.yml启动命令: /Users/huan/soft/prometheus/prometheus-2.25.0/prometheus \--config.file="/Users/huan/soft/prometheus/prometheus-2.25.0/prometheus.yml" \--web.listen-address="0.0.0.0:9080" \--storage.tsdb.retention.time="15d" \&五、启动界面1、拜访指标数据http://localhost:9080/metrics 2、拜访图形化界面(表达式浏览器)http://localhost:9080/graph ...

February 28, 2021 · 1 min · jiezi

关于运维:ceph搭建注意事项

搭建参考文档ceph的搭建能够参考如下中文官网文档。http://docs.ceph.org.cn/ 名词解析osd:object storage drive,次要性能是存储数据、复制数据、均衡数据、复原数据等,与其它OSD间进行心跳查看等,并将一些变动状况上报给Ceph Monitor。 data、object、pg、osd、disk的关系 注意事项1.如何搭建高可用集群?ceph集群个别采纳3台或5台机器进行搭建,3台都部署osd存储和mon监控,其余一台部署mgr治理。网络上采纳多网络配置,分为cluster network和public network。如下图所示: 2.如何依据osd数和正本数设置pg的数量?One pool total PGs = (Total_number_of_OSD * 100) / max_replication_count 3.文件系统选型?举荐应用XFS。 参考链接:http://docs.ceph.org.cn/

February 23, 2021 · 1 min · jiezi

关于运维:阿里巴巴云原生应用安全防护实践与-OpenKruise-的新领域

作者 | 王思宇(酒祝)起源|阿里巴巴云原生公众号 得益于 Kubernetes 面向终态的理念,云原生架构人造具备高度自动化的能力。然而,面向终态的自动化是一把“双刃剑”,它既为利用带来了申明式的部署能力,同时也潜在地会将一些误操作行为被终态化放大。因而,充沛理解云原生环境下那些潜在的影响利用平安的问题,提前把握多方位的平安防护、拦挡、限流、熔断等技术手段来保障云原生利用的运行时稳定性至关重要。 本文整顿自作者阿里云容器服务技术专家,OpenKruise 作者 & 初创人员之一,Kubernetes、OAM 社区贡献者王思宇(酒祝)于 1 月 19 日在阿里云开发者社区“周二开源日”的直播分享,介绍了云原生环境下利用平安与可用性的“处处危机”,分享阿里巴巴保障云原生利用运行时稳定性教训,并且具体解读了后续这些能力将如何通过 OpenKruise 赋能给开源。 点击回看残缺视频:https://developer.aliyun.com/live/246065 云原生环境利用平安“危机”1. 阿里巴巴云原生利用部署构造这里的云原生利用部署构造是在阿里巴巴原生环境最简化的形象图,如下图所示。 首先咱们来看几个 CRD。CloneSet CRD 能够了解成 deployment 的一个 workload,也就是给利用部署 Pod 的模板。有了 CloneSet CRD 之后,不同的业务以及不同的利用会建设对应的 CloneSet,在 CloneSet 上面再建设对应的 Pod,以及对 Pod 做一些部署、公布相干的治理。 除了 CloneSet 之外,还提供了 SidecarSet CRD,这个 CRD 做的事件是在业务 Pod 创立阶段注入 SidecarSetCRD 中定义的 Sidecar 容器。也就是说,在 CloneSet 中业务只须要定义 Pod 中的 app 容器,也就是业务容器。在 Pod 创立过程中,通过 SidecarSet 在其中定义业务中要注入哪些 sidecar 容器。 2. OpenKruise:阿里巴巴利用部署基座开源的 OpenKruise 是阿里巴巴利用部署的基座。OpenKruise 提供了多种的 workload。其中包含:CloneSet、Advanced StatefulSet、SidecarSet、Advanced DaemonSet。 ...

February 22, 2021 · 5 min · jiezi

关于运维:自动化运维落实基础及常用工具对比

转自@twt社区【作者:王洋】 前言当你把自动化运维这个话题抛给不同的角色,他们的反馈也肯定是不一样的,程序员眼中的自动化运维可能是能够自助申请资源,能够点点点的进行利用公布;利用运维人员眼中的自动化运维可能是主动的监控每个利用的状态有简略的问题就依照约定的动作去自愈,简单的问题告诉给我,我去解决或者是过期的日志清理等;根底资源运维人员眼中的自动化运维可能是硬件服务的自助零碎装置,主动的环境初始化,垃圾文件清理等。 这些了解都没有错,然而这些都是一个一个的点,没有造成一个整体,没有从方法论的角度去了解自动化运维,去建设自动化运维,那么明天咱们就来谈一谈我眼中的自动化运维是什么? 一、自动化运维是什么?你是不是有什么误会?开篇的时候说了对于不同的人眼中的自动化运维意味着什么,这些了解站在点的角度上或者说站在非领导的角度上了解都是没有问题的,然而如果作为一个运维方面的领导了解仅仅了解到以上层面那就有点欠缺了,在我看来至多是不足了更为形象的了解,短少了实践的反对。 咱们先抛开这个短少的实践不说,在运维畛域,有人会说,运维经验了人肉化,脚本化,主动运维工具以及平台化几个阶段(图一),这个说法有错吗?也没有。然而细心地你会发现,这里提到的演化过程还是一个纵向的演化过程,说白了是通过技术的更新来推动运维的后退,而且这样的演化过程很容易让人陷入技术实现的细节,不能跳进去从宏观的角度剖析自动化运维到底该做什么?不该做什么?边界在哪里? 接下来我就说下我了解的自动化运维的方法论或者说形象的实践应该是什么,大家认真回忆开篇提到的场景,无论是开发想要的资源自助申请,主动公布,还是运维项要的主动装机、自助初始化环境以及故障的自愈等,还是咱们从立项开始通过需要剖析,具体设计,编码,测试,运维,经营,反馈等,这些咱们都是在干嘛?对了,咱们都是在做端到端的交付! 接下来再想,it零碎建设是干嘛的,是为业务服务的,也就是说业务零碎实现了业务性能就能带来收益,大家才有饭吃,那么问题就简略了,最简略的场景是零碎架构设计好了当前所有的工作都围绕业务实现来投入,其余的非功能性需要(这里没有说非功能性需要不须要)投入的人力越少越好! 到此,自动化运维实践的外延和内涵都有了,那就是:对于非业务的功能性需要,在提供端到端交付的过程中可能尽量的全自动化。 最近很火的service mesh在微服务畛域就有点这个意思,明天咱们不是次要讲service mesh,这里先不开展。 二、自动化运维落地的实际根底咱们在第一个章节里交待分明了什么自动化运维实践的内核和内涵,上面开始接地气的谈一谈要想落地自动化运维实践,须要有什么样的根底或者说如何能力更好的落地自动化运维实践。 笔者曾工作于国内某一线互联网公司,同时也是传统行业工作过,切身体会到抛开技术架构和人员能力不谈,一线互联网公司的自动化运维比传统行业好的不是一个量级,笔者对整个问题进行过思考,失去的论断是:一线互联网公司对端到端交付的自动化运维理念落实的很到位,而促使他们很好落实端到端交付的自动化运维实践的次要抓手有三个:一是对既定标准的相对恪守;二是所有资源的抽象化;三是各种标准化。 上面别离介绍一下这三点: 一是对既定标准的相对恪守,在一线互联网公司,运维团队在接手开发的零碎时,会有一个准入的等级要求,这个要求是对开发提的,例如你要满足我的哪些要求,我才会给你提供相应的运维保障,这里的要求有业务零碎重要性等级阐明、业务零碎运行工夫阐明、业务零碎不能依赖低等级的业务零碎、业务零碎不能有单点故障等,因为在运维团队看来,你只有合乎我不同的要求,对我而言对你实现端到端的自动化运维保障难度也是不同的。例如,一个十分重要的业务零碎,可是开发有很多单点故障问题都没有解决,很多健康检查监控都没有实现,那么我运维不可能毁坏游戏规则,独自为你一个零碎做非凡高等级的保障,来消耗我的人力资源,甚至后续的背锅危险。绝大多数状况下,开发都会依照既定标准来恪守游戏规则,对于非要玩特殊化的,那也很简略,两边老大pk。有了标准,对于运维团队而言只须要针对固定数量的保障等级筹备相应的自动化运维伎俩就能够,而防止的过多的个性化需要。 二是资源的抽象化,一线互联网公司很多物理资源都是抽象化示意的(编码化),例如机房名字、不同硬件配置的服务器。这样的益处一方面便于记忆,另一方面对立了术语大家在交换的时候不容易出错,最重要的是形象示意后很对运维场景也变的简略的。这里的形象对于很多传统行业的同学可能不太了解,我在这里举几个例子,例如一个在上海的联通机房,他的命名可能是cnshu01,简略解释下,cnsh代表中国上海,u代表是联通,01代表编号;再举一个例子,咱们在传统行业购买硬件服务器的时候,可能是每次依据需要不同选好硬件配置后再选品牌,在互联网公司个别会首先对服务器的用处进行分类,例如计算密集型,内存密集型,io密集型等,针对每种会有一个编码,例如C42代表计算密集型,这样的益处是须要应用机器的部门只须要将本人须要机器的编码和数量发给洽购部门就行了,别的就不必关怀了。资源编码化还有一个益处是当须要用程序来治理资源的时候,编码化最容易解决。 三是各种标准化,每个公司都会面临一个软件版本治理的问题,从操作系统版本到软件版本参差不齐,不同的软件版本在运维时还是有一些差异的,在一线互联网公司对于软件的版本个别会有比拟严格的一致性要求,尤其是生产环境,过一段时间的软件版本升级工作其实也促使了自动化运维的倒退,试想如果没有高效的自动化运维保障,每降级一次操作系统或者软件版本都是一项微小的工程,恰好是这样相互促进的关系,当整个公司都应用对立的操作系统版本和软件版本时,很多工作的难度就升高了。另外,一线互联网公司还对操作系统的目录构造(次要是指linux操作系统)有着标准化的要求,目录构造标准化的益处是无论谁来解决问题,都能依据标准化的门路达到目的地,找到本人所需的内容。综上所述,既定标准的相对恪守、资源的抽象化和标准化,是落地端到端自动化运维交付的无力抓手。 三、自动化运维和流程管控这一部分,咱们来聊下自动化运维与流程管控的关系。咱们晓得,运维工作中的任何一个需要的执行都是有相应的流程在进行管控的。如果自动化运维的动作没有流程来进行治理,那么自动化做了哪些运维工作,为什么要做这些运维工作,是谁做了这些运维工作,对于管理员来说如果都不晓得或者不可查,那就太恐怖了。ITIL的标准外面也对流程管控有很具体的形容,然而依据笔者理解到的状况,在理论企业中,尤其是业务变动比拟快的企业可能齐全依照ITIL流程来的还真是少只又少,ITIL流程还是比拟重的,针对ITIL流程做裁剪来适宜企业本身状况这才是正确的形式。在流程管控方面,传统行业无论是用了ITIL还是没有用的,目前都存在以下几个问题: 一是流程不欠缺,即流程还是欠缺的不能齐全笼罩所有场景; 二是流程欠缺了,然而没有全副系统化; 三是流程欠缺了,系统化也有了然而流程没有串起来,还都是一些孤立的点。 以上三种场景都很难对流程做出较强的管控,好的流程管控,应该这样做: 第一步联合工作的理论状况梳理出咱们须要做流程的场景,这一步能够首先让每位共事把本人认为须要做流程管控的场景梳理进去,作为总的一个需要池,而后通过开会讨论的形式将需要进行合并或者是去重,通过这样一个过程,产出物是一个须要做流程管控的文档; 第二步针对第一步梳理进去的文档,标注出每一个流程中最要害的点,这个点称之为因素点。例如新购机器上架这个流程里,包含送达机房,签收,上架前筹备,上架并加电,更新已上架设施信息等几步,在这个流程中,上架并加电是最外围也是对后续理论应用最有影响的一步,那么这一步就成为因素点; 第三步就是针对第一步梳理出的流程,找到流程之间的连接点,这也是为了解决流程孤岛的问题。在这一步中如果发现有不能连贯在一起而断层的流程,就须要在这一步解决。 第四步就是零碎实现了,这一步无论是自研实现还是外包实现,都须要思考的一点是如何与现有的自动化运维零碎以及资源管理零碎进行对接,因为流程的管控过程必定会波及资源的生命周期治理,这里的资源能够是实实在在的物理资源,例如服务器、防火墙、路由器和交换机等,也能够是软件资源,例如安全策略,4/7层的负载平衡等,这样的流程管控平台就波及到与cmdb、云平台和容器平台等的对接工作,这一步个别是比拟耗费精力的,倒不是说这里的技术难度有多难,而是这里个别都波及接口的调试工作,如果这些零碎都是自研的零碎,那对接起来的难度可能还低些,毕竟都是本人公司的团队,如果波及到与外购零碎的对接,这里的工夫周期就很难管制了,依据笔者教训,这里如果是与外购零碎对接,每个零碎最好预留1个月的工夫。 第五步就是流程管控平台上线后的与自动化运维平台磨合和优化的阶段了。在这个阶段,要注意察看自动化运维平台、资源平台与流程管控平台的数据交互是否失常,这里能够引入麻利迭代的形式来及时处理问题。 四、实现自动化运维罕用的工具比照剖析各位看官,在这个阶段我次要介绍下实现自动化运维工具的三种理念,为了谨严期间阐明下这个环节说的自动化运维工具是要是指x86服务器层面。实现自动化运维工具的三种理念: 第一种是齐全自研,例如阿里巴巴团体的所有物理机上都装置有一个久经考验并且功能强大的代理staragent,阿里巴巴团体所有物理机在零碎初始化的时候就装置了这个staragent,直到生命周期完结,这个startagent才会被卸载。这里有个问题就是,不是所有的公司都能像阿里巴巴一样自研一个性能十分弱小的agent,因而就有了第二种和第三种理念。 第二种理念是应用市面上已有的自动化运维工具,并基于这些工具做成自动化运维平台。目前市面上常见的自动化运维工具次要有以下几种,Puppet、Chef、Ansible和Salt,上面对四种产品做一个比照介绍: Puppet应该是市面上应用最多的,就操作、模块、界面而言,它是最全面的,Puppet出现了数据中心协调的全貌,为各大操作系统提供了深刻的工具,初始设置简略,只是须要加以治理的每个零碎上装置客户端代理软件,CLI简略直观,容许通过puppet命令下载和装置模块,你能够对配置文件进行须要的批改,让模块适宜所需的工作,接到指令的客户端与主服务器分割时,会更改配置文件,也能够是客户端被动与服务端通信来获取到最新的配置文件,还有一些模块能够提供和配置云服务器实例和虚构服务器实例,所有模块和配置都应用基于Ruby的Puppet专属语言或者Ruby自身构建而成,因此除了系统管理技能外,还须要编程专业知识。 Chef的总体概念相似Puppet,因为在被治理的节点上装置代理软件,但理论部署又不一样。除了主服务器外,装置的Chef环境还须要工作站来管制主服务器。代理软件能够借助应用SSH来部署的knife工具从工作站加以装置,加重了装置累赘。被治理的节点通过应用证书,实现与主服务器之间的验证。与Puppet一样,Chef得益于一大批的模块和配置菜谱,那些模块和配置菜谱又高度依赖Ruby。因为这个起因,Chef非常适合重视开发的基础设施。 Ansible极其相似Salt,而不太相似Puppet或Chef,Ansible关注的重点是力求精简和疾速,而且不须要在节点上装置代理软件也能够抉择装置。Ansible能通过SSH执行所有性能,Ansible基于Python开发对于相熟python的人而言是一大福音,并且是由红帽进行经营。Ansible能够从命令行来运行,不须要应用配置文件。至于比较复杂的工作,Ansible配置通过名为Playbook的配置文件中的YAML语法来加以解决。Playbook还能够应用模板来扩大其性能,目前playbook的模板还是十分丰盛的。 Salt相似Ansible,因为它也是基于CLI的工具,采纳了推送办法实现客户端通信。它能够通过Git或通过程序包管理系统装置到主服务器和客户端上,客户端会向主服务器提出申请,申请在主服务器上失去承受后,就能够管制该客户端了。这四款自动化运维工具网上的比拟很多,然而很难说谁就肯定比谁好很多,还是那句话,你的团队具备哪方面的人才就应用哪个,如果非要选出一个我集体举荐ansible,因为基于python实现,开发人员比拟好找,同时社区资源沉闷,相干的资源和组件也是比拟丰盛的。 第三种思路是洽购市面上商用的自动化运维平台,这种思路对于很多甲方公司还是很事实的一种计划。对于这种思路,须要洽购方切实梳理分明本身的需要,整顿出本人实在须要的自动化运维场景。这里的倡议是,在抉择商用自动化运维平台时和平台销售方协商好以下三件事,一是甲方结合实际工作中遇到的自动化运维场景,把须要马上满足的自动化运维场景梳理进去,作为第一个模块,即确定要实现的功能模块;二是要求平台销售方提供自动化运维工具的编写接口,并反对shell和python两种语言,这个要求是思考到后续有些运维场景开始没有思考到,或者新增了一些场景,本人的人员能够自行通过编写脚本在这个平台上实现;三是要求平台销售方对于产品层面积攒的已有的运维场景实现要提供给洽购方,并且反对后续当产品有新运维场景更新时,要收费提供给洽购方应用。 五、云平台的自动化运维该是什么样的目前云平台还是比拟热的一个话题,最初这个章节次要来聊下公有云iaas和paas平台的自动化运维该是什么样的。先说iaas平台,iaas平台次要波及计算、存储、网络、平安这四大块。 计算资源应该是分为几种固定的规格(计算密集型/io密集型/内存密集型),这些规格由开发和运维团队协商定制。没有非凡状况下,无论是谁申请都不会新增新的机型,同时计算资源无论是开发人员自助申请,还是开发人员通过运维人员申请,申请完当前零碎的初始化环境应该是曾经主动实现的,这里的初始化环境包含并不限于IP地址、内核参数、文件目录构造、计算机名称、磁盘卷挂载等。 存储资源,要可能做到容量预警和扩容揭示,当触发容量预警须要扩容时可能告诉到存储管理员,同时存储管理员提出扩容需要和计划后能够通过流程平台告诉到存储洽购人员,并进行洽购动作。在存储资源的服务能力方面,最佳状况是同时具备块、文件和对象存储能力,这样能力满足云环境下的利用需要,尤其是对象存储当初越发受到重视,笔者举一个小例子,因为通过后面的标准化要求,每台云主机的文件目录构造都是对立的,那么当应用程序须要进行文件操作的时候,应用基于S3协定的对象存储就很不便,免去了通过nfs或者smba进行盘挂载的形式,应用nfs或者smba进行挂载的形式会额定减少运维人员的保护老本,并且差异化也是与自动化运维的标准化理念相违反的。理论状况是,笔者发现当初很多传统行业还是在应用nfs挂载的形式把文件提供给应用程序应用,其中的苦楚大家也都领会过,所以当初也开始逐渐进行迁徙革新工作。 网络资源,现实的iaas云平台网络资源首先要可能提供多种虚构网络设备,例如路由器、交换机、4/7层防火墙、4/7层负载平衡和ip资源池治理等,其次这些虚构网络设备岂但要可能在治理界面创立,同时还要可能反对api调用,可能通过代码进行治理。 平安资源,云平台上的平安资源次要是指平安组能力(防火墙放在了网络资源里),通过平安组能够将不同租户的主机进行隔离,在小公司甚至能够通过平安组在一个云平台上隔离进去测试环境、预部署环境和生产环境,这样就大大降低了基础设施的老本。 在paas平台方面,依据笔者理论教训,目前次要是两块利用的比拟多:一块是基于容器和ci/cd进行广义的devops流程来适配当下很火爆的麻利开发;另外一块是提前定制好一些中间件资源(这里次要是音讯队列、缓存、分布式锁等),来供开发人员间接应用,这些中间件资源能够是基于虚拟机定制好的模板,也能够是基于容器技术制作好的镜像。无论是iaas平台的自动化运维还是paas平台的自动化运维,要想实现自动化,各个资源类型提供相应的api是必不可少的,只有提供了api,咱们才可能将其代码化,从而自动化,否则很多场景还是解脱不了人工手动解决的困境,人工参加的场景越多,出错的概率也就越大,间隔现实的自动化运维也就越远。 六、总结本文从五个方面对自动化运维做了一个介绍,其中很多场景也是笔者依据实践经验对一线互联网公司和传统行业的做法进行了比照论述。最初,我再强调一下我认为的自动化运维的实践外延和内涵:对于非业务的功能性需要,在提供端到端交付的过程中可能尽量的全自动化。

February 9, 2021 · 1 min · jiezi

关于运维:PXE以UEFI模式启动原版windows710安装系统实践

近期公司给新入职员工配了几十台办公笔记本,因为预装零碎硬盘只分了一个区,故须要从新分区,重装系统。思考到用U盘、光盘重装系统都极其浪费时间。故尝试应用 PXE 启动形式以 UEFI 模式疏导启动原版 Windows 安装盘进行,以下教程采纳 WMWare 虚拟机为例进行装置: 一、筹备工具WMWare WorkStation ProMSDN版Windows 7 x64 原版安装盘ISO镜像tiny PXE Server 1.0.0.23二、装置步骤(1)装置好 WMWare WorkStation Pro,并通过“新建虚拟机向导”应用“典型(举荐)”配置、稍后装置操作系统、客户机操作系统(Microsoft Windows - Windows 7 x64)创立一个虚拟机; (2)在上一步创立好的虚拟机中,抉择“编辑虚拟机设置”-“选项”-“高级”-“固件类型”-由“BIOS”批改为“UEFI”(只有Windows8及以上才反对平安启动); (3)在上一步创立好的虚拟机中,抉择“编辑虚拟机设置”-“硬件”-“网络适配器”-“网络连接”-由“桥接模式”批改为“仅主机模式”; (4)将下载好的 tiny PXE Server 1.0.0.23 解压到一个文件夹中(本例中为:D:pxesrv); (5)装载或解压 Windows 7 x64 原版安装盘ISO镜像 并将其中的 bootbcd 、 bootboot.sdi 拷贝至 D:pxesrvfilesboot , 将其中的 sourcesboot.wim 拷贝至 D:pxesrvfilessources ; (6)在 D:pxesrvfiles 中创立如下内容的文件 boot.ipxe , 并以 UTF-8 编码保留: #!ipxe set boot-url http://${next-server}# Set Menu Timeoutset menu-timeout 5000set submenu-timeout ${menu-timeout}#Set Menu Default to Exit after timeoutisset ${menu-default} || set menu-default exit#console --picture http://${next-server}/ipxe.png###### MAIN MENU ######:startmenu Welcome to iPXE's Boot Menuitem --gap -- ------------------- DCX iPXE Menu -------------------item wimboothttp Boot to WIM over HTTPitem wimboothttp Boot to WIM over TFTPitem reboot Rebootchoose --default exit --timeout 30000 target && goto ${target}:wimboothttpkernel wimbootinitrd http://${next-server}/boot/BCDinitrd http://${next-server}/boot/boot.sdiinitrd http://${next-server}/sources/boot.wimboot:wimboottftpkernel wimbootinitrd /boot/BCDinitrd /boot/boot.sdiinitrd /sources/boot.wimboot:rebootreboot:exitexit(7)双击启动 D:pxesrvpxesrv.exe ,按图中设置配置(勾选ProxyDhcp、HTTPd、Option 54(DHCP Server) 抉择 192.168.252.1、Boot File - Filename 设置为 D:pxesrvfilesipxe-x86_64.efi、勾选Boot File - Filename if user-class=gPXE or iPXE 并将其设置为 boot.ipxe): ...

February 5, 2021 · 2 min · jiezi

关于运维:托管节点池助力用户构建稳定自愈的-Kubernetes-集群

作者 | 谢瑶瑶(初扬)起源|阿里巴巴云原生公众号 随着容器技术的一直倒退迭代,Kubernetes 已成为云原生时代的规范操作系统,那么如何构建一个稳固自愈的云原生操作系统事关重大。尤其是分布式环境下,各类硬件和软件故障已成为常态,间接导致 Kubernetes 集群工作节点时常处于一种不稳固的状态,人肉运维不仅效率低下,误操作及 24 小时 OnCall 也是微小的挑战,因而容器服务通过托管节点池为用户提供了一个自愈的免运维的云上 Kubernetes 集群服务。本文将重点介绍如何通过托管节点池实现 Kubernetes 节点自愈能力。 首先,咱们须要定义什么是节点自愈? 什么是节点自愈?Kubernetes 集群作为一个典型的分布式系统,是由一组 Master 管控节点,加上若干个运行工作负载的节点组成。其中若干个具备雷同个性的节点逻辑上组成一个节点池,如果某个节点池的节点运维及生命周期治理由容器服务托管,则称该节点池为托管节点池。 节点自愈定义在 K8s 节点池之上,指无需人为干涉,工作节点即可自行从故障状态中复原。因而节点自愈的一个外围问题是故障状态处理及其复原。 比方硬件故障(内存板卡损坏、磁盘坏道、网卡控制器故障)、软件故障(软件 OOM、过程句柄泄露、IO hang、磁盘满、网络断链)、机房断电跳闸、光缆故障、零碎负载过低等。 由此咱们形象了几类故障档次。 刹时故障(网络抖动,负载升高,利用申请超时,组件 OOM,异样重启)。继续故障(环境变动触发未预期状态)。谬误(配置谬误,误操作,逻辑 Bug。该类型谬误可能被立刻反馈,也可能会很久后能力反馈,它的特点是须要人为的常识干涉,即便替换正本也无奈解决,智能决策,智能纠错)。刹时故障通常在内部条件复原后自行复原,此类故障通常会在能触发响应之前曾经复原。 继续故障通常是咱们须要人为干涉的,通常预示着零碎产生了某些比较严重的问题,须要专家教训染指,通常能够通过自动化的伎俩应答,属于本文关注的重点,也是自愈的领域。 谬误层须要意识的参加,比方配置谬误,逻辑 Bug,没有意识参加修复,最终依然会向谬误的方向演变,因而不在本文探讨范畴之内。 为什么须要自愈?自愈的一个出发点是,基础设施是不稳固的;零碎环境是一直变动的,不确定的,因而随时可能产生故障,须要 24 小时待命,干涉修复,这对运维提出了十分大的挑战,因而构建一个自复原、免运维的 Kubernetes 节点管理体系意义重大。 自愈的价值: 自愈的外围出发点是免运维,将工作人员从沉重的运维事务中解放出来,让他们专一于翻新和更高价值的工作,置信中午被故障报警折腾起来是每个运维人员都经验过的痛。规模化集群的运维效率,进步人效与时效。(一个节点的运维与一万个节点的运维在工夫上与工作量上具备实质的区别,大规模的节点故障已齐全超出了人肉运维的可控范畴,保姆式的运维是人力资源的极大节约,老本低廉)。主动感知节点故障,相比于人肉运维具备更短的响应工夫,在故障被终端用户感知前自行复原。程序化的工作能解决人为误操作引发的故障。节点的自愈能显著晋升运维效率(时效与人效、降本),升高人为误操作导致的问题,减速利用业务翻新。 节点自愈的演进1. 第一阶段:基于专家教训的进化自愈的第一种形式是基于专家教训,将专家教训利用于自愈零碎是最不言而喻的计划。 专家教训计划是指将过往的专家运维教训打包成规定列表,造成故障到解法的预案,当匹配到具体故障的时候触发对应的修复计划。 图 1  专家教训 基于专家教训的益处是,一线运维人员对故障的细节最分明,因而也胜利总结了相应故障解决方案的最优流程,精准把控细节。但不能漠视的一个毛病就是:专家教训的覆盖面是相当无限的,不能笼罩未知故障的解法,而事实场景中已知的故障场景会缓缓收敛,未知故障会逐步增多,这就造成专家教训会逐步滞后,从而自愈的成果会被大打折扣。 那么是否有更加对立的计划来笼罩尽可能多的场景,同时又不会带来教训滞后问题呢? 自愈问题的实质(自愈窘境)这里咱们须要探寻一下自愈难度大的本源。从一个开发运维熟知的 Devops 例子开始。 咱们在讲 DevOps 的时候会强调开发测试和运维的鸿沟,运维埋怨利用没有充沛测试就提交部署,而开发则埋怨我这里明明运行的好好的肯定是你的应用姿态不对,而后通过一番苦楚的排查后,会发现问题是开发和运维运行利用的环境差别导致的,这样的事件在 Devops 时代频繁产生。Docker 的呈现为开发和运维屏蔽了这个问题,docker 通过规范的镜像格局,将利用依赖的运行时环境对立打包成规范镜像作为交付,完满解决了这个环境问题。当然,外面还波及其余的一些利用运行时规范。 当咱们回头看看构建长久稳固的自愈零碎时,其实也面临着同样的问题。运行时环境的变动给零碎带来了极大的不确定性,这种不确定性(或者叫环境变动)是自愈难度大的本源。零碎在运行的过程中会产生不稳定性,零碎垃圾、未解决告警沉积、代码 Bug 累积、未解决的边缘异样 Case、一些人为故障源、都会引发的零碎 Fail,无奈穷举这些不确定性进一步决定了不可能 100% 的笼罩所有修复 CASE,因而须要人为时刻照看。 所以咱们说自愈难度大,起因在于咱们无奈当时穷举所有可能的故障,也就无奈齐全笼罩故障解法。并且保护简单多样的自愈计划对人类的脑容量来讲将会是劫难。千奇百怪的故障总会冲破任何一个人脑容量的下限。 2. 第二阶段:基于 Replaceable 的新生因而,如果想要解决这个问题,咱们就须要转换思路。咱们不须要穷举每个可能引发故障的 Case 一一修复,只须要在故障产生的时候驱赶故障节点上的利用,而后应用一个全新的规范正本简略地替换掉故障源即可。全新的正本替换与重置形式无需思考简单而未知的谬误,只须要确认谬误属于同一类别即可,因而能显著的放大自愈的问题域,求解的复杂度大大降低。 ...

February 2, 2021 · 1 min · jiezi

关于运维:Serverless-Kubernetes理想现实与未来

作者 | 易立、张维起源 | 阿里巴巴云原生公众号 导读:以后 Serverless 容器的行业趋势如何?有哪些利用价值?如果 Kubernetes 天成长在云上,它的架构应该如何设计?Serverless 容器须要哪些基础设施?阿里云容器服务产品负责人易立及阿里云 Serverless Kubernetes 产品 TL 张维将分享他们对 Serverless 容器架构和背地的要害思考。从 Serverless 容器到 Serverless KubernetesServerless(无服务器)容器是让用户无需购买和治理服务器间接部署容器利用的产品、技术状态。 Serverless 容器能够极大进步容器利用部署的麻利度和弹性能力,升高用户计算成本;让用户聚焦业务利用而非底层基础设施治理,极大地提高利用开发效率,升高运维老本。 目前 Kubernetes 曾经成为业界容器编排零碎的事实标准,基于 Kubernetes 的云原生利用生态(Helm, Istio, Knative, Kubeflow, Spark on K8s 等)更是让 Kubernetes 成为云操作系统。一方面通过 Serverless 形式根本性解决 K8s 本身的治理复杂性,让用户无需受困于 K8s 集群容量布局、平安保护、故障诊断;一方面进一步开释了云计算的能力,将平安、可用性、可伸缩性等需要由基础设施实现,这样能够造成差异化竞争力。 1. 行业趋势Gartner 预测到 2023 年,70% AI 工作会通过容器、Serverless 等计算模型构建。在 AWS 的调研中,在 2019 年 40% 的 ECS(AWS 弹性容器服务)新用户采纳 ECS on Fargate 的 Serverless Container 状态。 ...

January 29, 2021 · 3 min · jiezi

关于运维:Netflix猿猴军团Simian-Army-IDCF

云是对于冗余和容错的。因为没有任何一个组件可能保障100%的失常运行工夫(即便是最低廉的硬件,最终也会呈现故障),咱们必须设计一个云架构,在这种架构中,单个组件能够呈现故障而不会影响整个零碎的可用性。 实际上,咱们必须做到,比咱们最单薄的那个环节更弱小。咱们能够应用一些技术,比方依赖性故障时的优雅降级,以及节点、机架、数据中心、可用区乃至区域的冗余部署。然而,仅仅设计一个容错架构是不够的。咱们必须一直地测试本人是否有能力在这些“难得一遇”的故障中生存下来。 设想一下轮胎瘪了。即便你的后备箱里有备胎,你晓得它是否充气了吗?你有弄它的工具吗?最重要的是,你还记得怎么做才是正确的吗?有一种办法,能够确保你能中午在下雨的高速公路上解决爆胎的问题,那就是:每个星期天下午,在你的轮胎上捅一个洞,而后进行更换轮胎的练习。在事实世界中,这既低廉又耗时,但在云上是(简直)收费的,还能自动化实现。 这就是咱们在构建“混沌猴子(Chaos Monkey)” 时的理念。它是一个工具,能够随机禁用咱们的生产实例,以确保咱们可能在这种常见的故障类型中生存,而不会对客户造成任何影响。这个名字源于这样一个想法:在数据中心(或云区域)开释一只带武器的野猴子,会随机击落实例(instance)和啃穿电缆,而在此期间,咱们继续、不间断地为客户提供着服务。 通过在工作日中运行的混沌猴子,在一个认真监控的环境中,工程师也随时待命解决任何问题,咱们依然能够汲取关乎零碎弱点的教训,并建设主动复原机制来进行解决。因而,当下一次在星期天凌晨3点呈现实例故障时,咱们甚至都不会留神到它。 受到混沌猴子胜利运行的启发,咱们曾经开始发明新的猿猴,它们能够引发各种故障或检测异常情况,并测试咱们的生存能力。这是一个虚构的“猿猴军队(Simian Army)”,放弃咱们的云的平安、牢靠和高可用性。 提早猴子(Latency Monkey)在咱们的RESTful客户端-服务器通信层中,引入人工提早来模仿服务降级,并掂量上游服务是否适当地响应。此外,通过制作十分大的提早,咱们能够模仿一个节点甚至整个服务的停机工夫(并测试咱们在这种状况下的生存能力),而不用从物理上敞开这些实例。这在测试新服务的容错性时尤其有用,办法是模仿其依赖项的故障,而不会导致这些依赖项对系统的其余部分不可用。一致性猴子(Conformity Monkey)发现不合乎最佳实际的实例,并敞开它们。例如,咱们晓得,如果咱们发现有实例不属于主动扩容组,那么就可能会有麻烦的事件产生。咱们敞开它们,是为了让服务所有者有机会重新启动它们。医生猴子(Doctor Monkey)通过运行在每个实例上的健康检查,并监督内部的其余衰弱迹象(例如CPU负载),来检测不衰弱的实例。一旦检测到不衰弱的实例,它们将被从服务中移除,并在给服务所有者一些工夫来查找问题根因之后,最终将被终止掉。看门猴子(Janitor Monkey)确保咱们云环境的运行没有凌乱和节约。它搜寻未被应用的资源,并革除掉它们。平安猴子(Securiy Monkey)是一致性猴子的延长。它会发现平安违规项或破绽(如配置不当的AWS平安组),并终止有问题的实例。它还确保咱们所有的SSL和DRM认证都是无效的,并且不会过期。10-18 猴子(10-18 Monkey,本地化-国际化的缩写,或110n-i18n)应用不同的语言和字符集,检测服务于多个天文区域客户实例中的配置和运行时问题。混沌大猩猩(Chaos Gorilla)相似于混沌猴子,但模仿了整个Amazon可用区(availability zone)的中断。咱们想验证咱们的服务是否能主动从新平衡到性能可用区,而不会导致用户可见的影响或手动干涉。咱们身边的Netflix猿猴军团一直壮大,随着它们继续地测试咱们对各种故障的应变能力,对于解决生产环境中不可避免的故障、以及尽量减少或打消这些故障对用户的影响,咱们对本人的能力感觉更加自信。 云模型对咱们(以及这个行业的其他人)来说,都是全新的;容错的工作正在进行中,咱们有方法充沛实现它的益处。猿猴军团的一部分曾经构建好,但还有许多中央有心愿优化,期待有才华的工程师退出这项工作并使之成为事实。 新猿猴的创意,来得比咱们能跟上的速度更快。如果你有想法,咱们很乐意听到!猿猴军团是咱们推出的泛滥动作之一,旨在进步咱们服务的可靠性,并为客户提供继续一直的娱乐。 Source: Netflix Technology Blog, Jul 19, 2011作者:Yury lzrailevsky, 云零碎基础设施总监;Ariel Tseitlin, 云解决方案总监 译者:林伟丹 首发:IDCF社区

January 29, 2021 · 1 min · jiezi

关于运维:十年运维经验总结出的智能运维系统落地方案

对于互联网公司来说,零碎复杂化导致的人工运维老本激增曾经是普遍现象,采纳智能运维是卓有成效的应答策略。智能运维的核心思想是利用算法来解决海量运维数据,积攒运维教训,从而代替人工思考判断,以自动化的过程实现危险的预防、发现、定位和解决。而智能运维零碎是其中的重中之重,但建设企业应用智能运维零碎,不是利用运维部独立规划设计就能够实现的,它须要业务、产品、开发、基础设施运维多部门协同能力顺利施行。那么,作为运维人员,您是否理解智能运维零碎的架构?如果参加布局建设智能运维零碎,该怎么着手呢?上面咱们立足理论需要,对利用智能运维零碎的落地计划布局进行简要介绍,心愿能给大家一些启发。 1, 后期筹备后期筹备过程中须要具体地调研,并探讨以下四个须要实现的内容:需要筹备、利用筹备、人员筹备和技术筹备。 (1) 需要筹备:了解企业现有的利用运维过程。需要筹备阶段外围的工作内容是了解企业现有的利用运维过程,定义利用运维场景,并基于理论需要布局建设指标。发展这项工作,首先须要利用运维团队和企业外部负责利用零碎开发的产品/我的项目团队沟通,理解以后利用零碎的现状,对利用画像。 在后期沟通工作中,最要害的是对指标用户场景进行梳理,从中找出用户的要害需要点。 另外,需要调研人员要对对标产品有足够深刻的了解,可能透彻地剖析劣势和劣势,并总结指标场景。图1典型用户角色需要总结 (2) 利用筹备:为指标利用的运行状态精确画像。在利用筹备阶段,要做的是对运维指标利用的运行状态进行画像;对利用所处的生命周期阶段、服务指标用户群、用户接入形式和零碎架构进行调研;通过定性和定量分析办法找到利用特点,制订与其匹配的运维智能化策略。 (3) 人员筹备:组建技术和治理专家团队。在通常状况下,制订利用智能运维零碎建设的验收指标,须要进行需要调研的指标团队次要有:利用运维团队,其次要关注日常利用的稳定性、性能保障;产品/我的项目团队,其次要对上线零碎的代码问题进行定位剖析;数字经营团队,其关注利用的稳定性、性能对数字营销成果和用户转化率的影响。图2利用智能运维零碎建设团队的人员角色 (4) 技术筹备:储备运维智能化的关键技术。落地智能化的运维算法难度较大,解决理论利用场景问题,要求利用运维团队岂但要有利用性能工程、APM、利用链路追踪、日志剖析等传统运维技术,还要有大数据存储、索引、荡涤、统计等方面的教训,可能纯熟应用机器学习和人工智能算法。如下图所示,企业须要在建设后期积攒的技术能力如图3。图3 利用智能运维的关键技术 2, 规划设计(1) 围绕运维现状,布局建设愿景。做好了需要、利用、人员和技术的筹备,就能够围绕企业以后的运维现状,规划设计利用智能运维零碎的建设指标和愿景了。行业、规模和经营模式的差异导致企业运维模式天壤之别。充分考虑企业以后的运维现状、利用零碎状态和指标用户特点,制订分阶段可行的指标愿景,能够大幅度提高零碎建设胜利的概率。 (2) 多部门合作,布局服务质量指标。对于依赖信息系统间接面向用户提供服务的企业,服务质量指标(SLO)是运维、经营、开发等多部门关注的要害KPI。运维部门要通过SLO判断故障的重大水平,以及是否须要立刻染指;经营部门要根据SLO判断数字营销成果是否会受利用稳定性的影响,剖析用户转化率与利用性能之间的关系,须要提出对SLO的保障要求;开发部门则要依据SLO量化监控的须要,提供应用程序监控埋点,获取对应业务流程的点击次数、申请响应工夫等指标的反对。 (3) 制订监控策略,设计SLO计算算法。制订SLO,首先要思考相干指标的量化,并且找到聚合计算须要的原始监控指标,否则就须要人工统计计算。其次,对实在用户拜访过程进行被动监控追踪。有了原始监控指标,还须要依据教训设计对应的SLO聚合计算算法,并在上线运行过程中一直修改和调整,这样能力适应真正监控的须要。 (4) 专一过程,布局无效的危险管理机制。运维的要害工作是治理危险,治理危险是关联工具、数据和人的过程。在实际过程中,过程常常采纳自动化工作流管理工具。图4 IT运维阶段及能力层级模型 3, 概念验证不同于CMDB、ITOM、APM等零碎建设有成熟的工具平台和方法学领导,利用智能运维零碎建设更贴近用户和利用场景,数据采集、存储和应用人工智能算法解决问题都可能须要针对具体需要定制,很难做到标准化。加上以后数字信息技术的演进速度放慢,互联网利用的迭代更新也随之减速,导致对利用运维保障需要的变动更加频繁。因而,利用智能运维零碎建设须要基于高度凋谢、容易扩大且能力绝对齐备的数据采集、存储剖析和展示平台来发展概念验证,而后基于验证后果,结合实际须要制订施行打算。图5利用全景监控可视化仪表盘的体系结构 以上就是布局利用智能运维零碎落地的大略流程,更多细节及更多智能运维教训干货,尽在《利用智能运维实际》,运维大咖带你高效做运维。

January 28, 2021 · 1 min · jiezi

关于运维:系统学习-Zabbix-系统监控二

本系列文章介绍了zabbix 基本概念及其特点,论述 zabbix 零碎环境搭建与根底装置,如何实现对各类操作系统、硬件设施、应用软件监控告警。本文为系列第二篇,内容包含Windows 零碎硬件信息获取、Linux 系统监控、Linux 零碎硬件信息获取。前文点此:零碎学习 Zabbix 系统监控(一) 5 windows 零碎硬件信息获取本文通过在 OS 操作系统层面上,次要获取 windows 服务器下 CPU 信息、内存信息、硬盘信息、操作系统、服务器信息。信息获取的实现形式是通过在 windows 零碎下部署自定义 bat 脚本,执行脚本获取数据,再将获取的信息发送给 zabbix 服务端, zabbix 界面创立相应的监控项,触发器等,最终将信息展现进去。监控项内容如下: CPU 信息:型号、个数、内核数、逻辑核、 CPU 衰弱状态,及状态告警。 内存信息:容量、个数、厂商、型号、序列号;主板反对内存最大容量和个数。 硬盘信息:厂商、个数、容量、序列号、接口类型、硬盘衰弱状态,及状态告警。 操作系统信息:主机名、操作系统版本、运行时长、统线程数、零碎工夫。 服务器信息:品牌、型号、序列号。 阐明:一些非凡数据须要实现监控,例如 CPU 温度、硬盘状态、 Raid 卡状态、风扇转速等, windows 没有提供检测硬件温度组件,须要借助第三方工具如 IPMI tools , fan-speed 等,也能够应用 IPMI 协定等其余办法来丰盛 windows 零碎硬件监控项,对于虚拟机并不实用,此时,举荐应用服务器的治理口,如 HPE 服务器的 iLO 、 DEll 服务器的 iDRAC ,联想服务器 XCC 等开启 snmp 性能,再进行 zabbix 配置,实现对服务器硬件全面监控。如果服务器未配置管理口,当然不能实用。 5.1 CPU 信息获取利用集:CPU 硬件 cpu 信息次要有:CPU 型号、 CPU 颗数、 CPU 核数、 CPU 逻辑核与线程(超线程,个别是外围数的 2 倍) ...

January 26, 2021 · 4 min · jiezi

关于运维:系统学习-Zabbix-系统监控一

文介绍了zabbix 基本概念及其特点,论述 zabbix 零碎环境搭建与根底装置,如何实现对各类操作系统、硬件设施、应用软件监控告警。 1 介绍1.1 摘要 本文深入浅出,切近理论运维利用,由 zabbix 3.4 版本动手,学习 zabbix 监控告警实现形式,由 zabbix 5.0 浅出实现疾速部署、疾速利用。自己从业多年,关注 zabbix 开源社区,以及 zabbix 官网组织的各种峰会,理解到的前沿技术,因随着运维监控软件的一直倒退,将来软件将是开箱即用的模式,运维人员在应用监控软件,不用再去花精力编写运维监控程序,而是欠缺监控项,这样的形式对于初学者越来越不容易学习。因而,学习 zabbix 3.4 版本是十分必要的, zabbix 官网那时候还没有集成更多的模板以间接应用,那里有大量的监控项须要本人编写实现,不仅全面理解了 zabbix ,也是对 linux 命令、 shell 脚本、 Python 语言等的很好学习,也有助于二次开发,自定义监控项的配置。 1.2 背景 以下是部署施行基于 zabbix 监控零碎的建设背景,以解决诸多运维理论问题: 目前公司零碎运维次要采纳人工查看的形式,问题发现的时效性较低,容易呈现问题不被立即发现,人工也容易忽略漏查,导致问题解决不及时,影响信息化零碎服务成果,就须要更好保障系统稳固运行。 公司信息化零碎、操作系统、设施品种多,各类信息化零碎如:OA 、 U9 , PLM 、企业邮箱等,又有 Linux 、 Windows 、 VMware 、 EMC 等零碎,设施有服务器、交换机、存储等,机房环境有动环零碎进行监测。如此泛滥的信息化零碎平台,当然须要对立运维界面,实时监测各零碎运行状况,为运维工作提供便当。 为适应时代的倒退,将来是个智能化的时代,运维工作要实现自动化,运维工作者要向开发去转变,开发即运维,或者有一天人工智能将代替运维人员,而今的运维人员心愿是人工智能创造者的一份子,理解自动化运维,与时俱进是十分必要的。 综上,为了进步运维效率,节约人力资源,对设施、机房环境实时监控,能无效、实时收回告警信息,从而及时发现问题疾速响应。急需一套能满足以上需要的监控零碎,经考量 zabbix 监控零碎利用宽泛,可实现上述性能。 1.3 零碎简介 Zabbix 是一个企业级解决方案,反对实时监控数千台服务器,虚拟机和网络设备,采集百万级监控指标。Zabbix 齐全开源收费。 Zabbix 的次要特点有: 1.指标收集:从任何设施、零碎、应用程序上进行指标采集2.问题监测:定义智能阈值3.可视化:繁多界面治理平台4.告警和修复:确保及时、无效的告警5.平安和认证:爱护您所有层级的数据6.轻松搭建部署:少量模板,开箱即用,节俭您贵重的工夫7.主动发现:主动监控大型动静环境8.分布式监控:无限度扩大9.ZABBIX API :将 Zabbix 集成到您 IT 环境的其余任何局部 ...

January 25, 2021 · 4 min · jiezi

关于linux-kernel:DeepFlow为冀北电力谱写一保两服务篇章贡献力量

背景介绍作为国家电网旗下最年老的省级电网企业,冀北电力连贯西南和华北电网,承当着京津冀北区域电力供应的重要使命。2016年,国网冀北电力承当国网公司大数据平台推广工作,初步建成企业级大数据平台,并全面推动公共数据资源池建设工作,为数据集中共享、剖析利用提供有利条件。 为放慢构建寰球能源互联网和全面建成“一强三优”古代公司的指标,2017年冀北公司依照国网要求推广施行了全业务数据中心的建设,目前已接入信息系统17套,并采集了海量的数据。2019年国网冀北电力有限公司启动了“云网可视化与剖析零碎开发”我的项目建设。 短短数年,冀北电力实现了四大数据中心的建设,实现对立的数据共享与业务交融,积攒了海量生产运行和经营治理数据。然而,在数据应用、数据分析方面存在短板,常常采纳手工收集、人工剖析形式发展电网布局钻研工作。 次要挑战为适应能源供需剖析预测工作面临的新局势,充分考虑经济、社会等因素对冀北地区能源需求的影响,综合利用多维度海量数据,开发能源供需剖析预测平台,实现根底数据库治理、区域能源经济剖析和电力需求预测等性能,并在性能与可靠性、信息安全、利用及运行监控、可维护性、易用性以及零碎灾备等方面满足相干要求。 随着冀北电力外部“全国对立电力市场技术撑持平台、计量全寿命零碎、供电所及班组一体化、电力交易系统,营销业务利用、营销剖析与辅助决策”等业务流量的疾速减少,网络运维复杂度逐步减少,故障定位和剖析能力要求越来越高。云网可视化与剖析零碎开发建设是对冀北电力的运维工作的必要补充,帮忙运维人员疾速定位和解决虚构网络环境中的危险和故障,进步云网运维效率和升高运维工夫老本。 冀北电力建设云网可视化与剖析零碎首先面临着多地、多核心的挑战;其次是针对云中简单业务网络梳理的工作;最初是自动化运维零碎的对接问题。此外,在我的项目建设中要保持“对立领导、统一规划、统一标准、对立施行”的准则,并充分考虑和利用冀北电力现有的数据集成治理剖析平台,进行统一规划。 部署施行依据冀北电力的资源池状况,部署计划首先从冀北数据中心内网监控开始施行,对包含主机侧(虚构网络)和物理网络(多个网络节点)的进行监控,实现了主备链路和物理网络的多点监控。冀北电力的零碎环境为多地数据中心,一期抉择对其中两个数据中心部署,部署示意图如下。针对冀北电力云中业务简单的状况,DeepFlow利用对接多云平台的能力对其进行了梳理,从而疾速地解决了业务网络的监控问题。 首先,对冀北电力云中业务进行IP梳理,通过回溯和抓包,确认数十个B类网段,进一步和网络部门人员确认地址信息后,准确到150个左右C类网段信息。 其次,对物理网络进行画像,创立资源组拓扑、创立业务门路、关联采集点,在此基础上收敛了云中业务网络的通信模型。 第三,通过对接自动化运维平台和手动导入台帐的形式,实现了数百个业务、上千条门路的画像,并据此标准了业务画像的流程。即先创立和梳理资源组拓扑、通过流量统计绘制要害门路、通过手工比对和修改业务网络信息。 通过对IP资源的梳理,大大放大了监控IP的数量级;通过对接云平台和通信建模,初步勾画出了业务网络的根底画像;在前两步的根底上,手工校对业务网络最终实现了全网业务的精准监控。 客户收益冀北电力通过部署DeepFlow补足了基础设施监控数据的全面获取能力,基于全业务对立的数据中心,依靠大数据分析平台的自助式剖析服务组件实现了对云网的可视化剖析。满足了能源供需剖析预测新局势的需要,为捍卫京津冀供电、服务地区经济社会倒退和清洁能源倒退奉献了力量。 对于DeepFlow®DeepFlow®是北京云杉世纪网络科技有限公司(以下简称云杉网络)推出的一款虚构网络流量采集、可视化与剖析产品。DeepFlow®软件基于x86集群和通用网络设备,反对集群部署,反对容器(Kubernetes)、OpenStack、vSphere虚拟化环境和AWS、阿里云、腾讯云等私有云环境,帮忙企业在混合云环境中对立采集并散发任意工作负载之间的网络流量,实现对云端业务要害链路的全面性能监控,并提供业务网络端到端的全门路诊断。凭借当先一代的技术劣势和残缺的产品解决方案,DeepFlow®已在50多家世界500强企业落地部署,一直为客户提供云网络治理的最佳实际。

January 19, 2021 · 1 min · jiezi

关于java:Prometheus-与-nodata-告警

背景随着云原生和高动静服务端的倒退,在运维畛域,以 Prometheus 为代表的古代工夫序列存储正在减速代替以 Zabbix 为代表的传统监控零碎。运维畛域在享受工夫序列技术倒退红利的同时,也面临工夫序列治理思路上的转变和监控零碎理论利用的上一些难点 —— nodata 告警便是其中之一。nodata 告警是传统监控零碎的必备性能,但却缺席了简直所有古代工夫序列存储实际,这给运维监控带了诸多缺点。本文尝试剖析其中起因,并给出一些可能的解决办法。 nodata 告警触发器的特殊性与必要性nodata 告警触发器(Trigger)与一般告警触发器相比具备原生的特殊性。一般告警触发器的作用是对一组监控指标(Metric)的过滤,通常是基于数值大小的过滤。运维监控场景下,产生 nodata 告警最大的可能性是监控零碎自身的生效,比方采集点生效或采集对象生效,在咱们的实际中,服务器意外下线、磁盘故障、服务解体等都会导致 nodata 告警;另外还有一类监控指标,这类指标以 nodata 为『失常状态』,如 5xx code 产生的速率,在没有 5xx code 产生时,尽管咱们心愿指标的数值为 0 (而不是 nodata) ,但在实践中往往很难保障,对于这类指标有效性的保障,咱们会在其余文章中具体阐明。 nodata 告警触发器的难点之一在于选集 U 的获取。在高动静的服务端环境中,往往很难失去『全副服务器汇合』、『全副 IP 地址汇合』、『全副 Pod 汇合』、『某服务全副运行实例汇合』这样的选集。所以,在数值型的监控采集之外,必须建设更加结构化的信息组织形式,并配以主动、半自动与人工相结合的信息保护办法。如果在结构化信息中很难不便精确地获取『全副某某汇合』这样的信息,就无奈制作真正无效地 nodata 告警触发器。 nodata 告警触发器的另一个难点是计算的开销大。一般告警触发器对指标的数值过滤,能够通过『带条件的查问』做到,这实质上是将告警计算的开销一次性卸载到工夫序列存储系统中,而古代的工夫序列存储系统个别都反对这样做。由上文对 nodata 告警触发器的定义能够失去,nodata 的计算必须在数值过滤之前,也就是说 nodata 告警计算的计算对象是全量的监控指标,对全量监控指标求补集自身是一个开销微小的计算。另外选集 U 并不存在于工夫序列存储中(否则 nodata 告警就失去了客观性),把选集 U 带入 nodata 告警计算可会给工夫序列存储带来额定的传输与计算压力。 尽管有诸多困难,但 nodata 告警的重要性显而易见。如果没有 nodata 告警,监控指标的生效是静默的,监控零碎自身的有效性无奈失去保障。对于云原生的服务端环境,监控对象的动态化水平更高,尽管能够制作更加宏观的监控指标(如某类 Pod 的总实例数),但 nodata 告警能够帮忙咱们获悉更加宏观的服务端运行工况。 在 OpsMind 的实际中,咱们应用 CMDB 和经典的 CMDB 办法来取得选集 U ,并革新 Prometheus ,将 nodata 计算卸载到存储层。下文联合咱们的实际,并尽可能剥离咱们非凡的业务场景,以 Prometheus 为例,介绍几个绝对通用的 nodata 告警触发器的实现思路。 ...

January 19, 2021 · 2 min · jiezi

关于运维:原神运维自动化的探索与实践

2020 年 9 月 28 日凌晨米哈游办公区域,《原神》运维团队与 OpsMind 重保团队壁垒森严,迎接提瓦特大陆第一批旅行者。 两个月后,《原神》陆续拿下 Google Play Best of 2020 和 App Store Best of 2020 等荣誉,成为谷歌和苹果双平台寰球年度游戏。 新年伊始,《原神》运维团队为咱们揭示了《原神》运维自动化技术的摸索实际经验。 工夫是惟一的敌人运维自动化是必然,工夫是咱们惟一要跑赢的敌人。 与米哈游现有我的项目比照,《原神》在服务器数量及运维工作量上都面临较大挑战,如何通过运维自动化工具撑持超大规模集群的公布治理没有教训可寻。 然而,是采纳自研还是商业计划是首先面临的决策,运维工具的效率、稳定性及满足游戏上线要求是重中之重。要想在短时间内由 0 到 1 自研运维自动化工具是一项低投入产出且高风险的技术投资。在工夫和人力不富余的状况下,抉择采纳现有的商业计划显得可行性更高。在待考查的计划中,不乏一些在运维行业内比拟出名的商业化计划。在深刻调研后,发现这些计划各有优缺点,比方有些平台性能有余无奈满足定制化的需要;而有些产品研发与交付服务是割裂的,如果呈现 Bug 或新的性能需要,须由产品研发团队评估后能力排期立项,少则数月、多则半年,甚至可能 杳无音信。 在摸索过程中,OpsMind 低代码运维开发平台的产品状态十分特地,能通过很少的人力,在短时间内搭建起一体自动化运维平台,切中《原神》的痛点。并且能够疾速的以周为单位进行 Bug 修复、性能更新迭代,而《原神》运维开发只须要专一自动化工作流的设计编排以及业务方的需要实现。 挑战无处不在因为《原神》面向的是寰球用户,大陆、海内蕴含多个区服,服务器量大,上线时又要保障工作下发百分百无误;这对米哈游和 OpsMind 都是很大的挑战。面对 100% 成功率的指标,单方一起配合查找影响成功率的问题点,在多层代理、自动检测专线衰弱度、优化超时解决机制、数据进一步压缩等措施下,最终以 100% 的工作下发成功率完满撑持了《原神》的上线。 对游戏行业来说,疾速迭代、疾速公布是广泛需要。在谋求效率的同时,更加强调品质。为了晋升运维品质以及与其余部门的配合效率,须要疾速搭建起贴近自有业务场景的运维平台。包含监控、公布自动化、CMDB 等,并且数据彼此互通,可提供给游戏研发及其他部门或零碎应用。基于这个指标,《原神》运维团队与 OpsMind 从建模设计、工作流业务划分、页面的配置、自定义指标的收集与下发策略等几方面动手,在一个月内将整个体系搭建起来。为了整体替换老零碎,并兼容老零碎对外输入的 API,OpsMind 开发 Endpoint 性能,通过 Endpoint,《原神》运维团队可自定义 API 调用格局,驱动工作流执行。 “因为 OpsMind 产品的灵活性、性能的全面性,使它能够满足《原神》我的项目运维的所有需要,这是一个很大的劣势,这就使咱们能够把其余工具都扔掉只留 OpsMind 。能够说《原神》和 OpsMind 是互相成就,互相成长。”《原神》我的项目运维团队示意。 值得期待的 OpsMind《原神》是一款研发难度极具挑战性的游戏,《原神》的运维工作也同样极具挑战性。通过一年的单干,OpsMind 在产品和性能上有了很大的晋升,实现了高速成长。 “心愿 OpsMind 近阶段在做的监控零碎性能优化工作能获得一个很好的成绩,这也会极大晋升《原神》运维的工作效率。此外,对于 OpsMind 正在做的平台侧的革新,使交互变得简便,能够升高平台的应用门槛,进步配置效率,也是咱们十分期待的。”《原神》我的项目运维团队负责人示意。 ...

January 18, 2021 · 1 min · jiezi

关于运维:centos-上安装ftp及-530-Login-incorrect500-OOPS-chroot错误处理

vsftp的装置我用的是centos ,所以间接yum装置,装置须要一段时间。 [root@localhost ~]#yum check-update如果你不想更新零碎,也能够间接用以下命令装置vsftp。 [root@localhost ~]#yum -y install vsftpd而后批改一下vsftpd的配置文件 [root@localhost ~]# vim /etc/vsftpd/vsftpd.conf不容许匿名拜访 anonymous_enable=No容许应用本地帐户进行FTP用户登录验证 local_enable=YES使用户不能来到主目录 chroot_local_user=YESchroot_list_enable=YESchroot_list_file=/etc/vsftpd/chroot_listallow_writeable_chroot=YES创立chroot_list文件 /etc/vsftpd/chroot_list间接保留就行,而后重启一下vsftpd systemctl restart vsftpd能够用netstat -ntlp 查看一下端口,如果有21号端口占用,就是启动胜利了。而后创立ftp创号 [root@localhost home]# useradd -d /home/testftp -g ftp -s /sbin/nologin testftp设置一下ftp帐号密码 [root@localhost home]# passwd testftp用Filezilla连贯一下ftp服务器,发现会报 530 Login incorrect 的谬误。能够批改一下pam.d下的vsftpd配置 [root@localhost vsftpd]# vim /etc/pam.d/vsftpd把auth required pam_shells.so 改为 auth required pam_nologin.so ,就能够解决这个问题。再用Filezilla连一下,又报500 OOPS: chroot这个谬误,这个是因为selinux引起的,关掉就行了,我用的setenforce 0 这个命令,不必重启就能够了,当然你也能够改seliux配置文件来关掉。而后咱们再用Fillzilla连贯一下服务器,发现可连上服务器了。

January 14, 2021 · 1 min · jiezi

关于运维:tail命令学习实例

tail命令将每个文件的最初10行打印到规范输入。对于多个文件,在每个文件后面加上一个给出文件名的头。如果没有文件,或者文件为-,则读取规范输出。 如何应用tail命令 应用tail命令查看yum.log日志文件,显示最初10行内容,tail默认显示问价你的最初10行内容: [root@localhost ~]# tail /var/log/yum.log May 26 15:22:08 Installed: pytalloc-2.1.16-1.el7.x86_64May 26 15:22:08 Updated: libwbclient-4.10.4-11.el7_8.x86_64May 26 15:22:08 Installed: samba-libs-4.10.4-11.el7_8.x86_64May 26 15:22:08 Updated: samba-common-libs-4.10.4-11.el7_8.x86_64May 26 15:22:08 Updated: samba-client-libs-4.10.4-11.el7_8.x86_64May 26 15:22:08 Updated: libsmbclient-4.10.4-11.el7_8.x86_64May 26 15:22:08 Installed: libarchive-3.1.2-14.el7_7.x86_64May 26 15:22:09 Installed: samba-client-4.10.4-11.el7_8.x86_64May 26 17:22:44 Installed: lm_sensors-libs-3.4.0-8.20160601gitf9185e5.el7.x86_64May 26 17:22:44 Installed: sysstat-10.1.5-19.el7.x86_64 如何显示指定的行数 应用-n命令显示指定的行数,也能够省略字母n,只应用-和数字(数字和-之间没有空格)。 例如:查看本人创立的用户,查看/etc/passwd文件最初两行内容: [root@localhost ~]# tail -2 /etc/passwdbob1000:1001::/home/bob:/bin/bashuser011001:1002::/home/user01:/bin/bash 如何实时监控文件的更改 如果须要监督文件内容的更改,应用-f选项。这个选项对于监督日志文件十分有用。例如,要显示/var/log/nginx/error.log文件的最初10行,并监督文件的更新: [root@localhost ~]# tail -f /var/log/messages ...

January 6, 2021 · 1 min · jiezi

关于运维:在Linux命令行中进行大小写字符转换

在大小写之间转换文本可能十分繁琐,侥幸的是Linux提供了一些命令,这些命令能够使工作变得非常简单。 环境 Centos7 应用tr 如果有一个字符串要确保全副是大写的,只需通过tr命令替换: [root@localhost ~]# echo "Hello World" | tr [:lower:] [:upper:]HELLO WORLD 上面是在脚本中应用此命令的示例,须要确保增加到文件中的所有文本都是大写,以放弃一致性: !/bin/bashread -p "Enter department name: " deptecho $dept | tr [:lower:] [:upper:] >> depts 将程序切换为[:upper:] [:lower:]会会将所有大写字符转换成小写: !/bin/bashread -p "Enter department name: " deptecho $dept | tr [:upper:] [:lower:] >> depts 也能够应用”a-z” “A-Z”来替换大小写。 !/bin/bashread -p "Enter department name: " deptecho $dept | tr a-z A-Z>> depts 上面几个函数是tr内置的: [:alnum:] 所有字母和数字[:alpha:] 所有字母[:blank:] 所有空白[:cntrl:] 所有控制字符[:digit:] 所有数字[:graph:] 所有可打印字符,不包含空格[:lower:] 所有小写字符[:print:] 所有可打印字符,包含空格[:punct:] 所有的标点符号[:upper:] 所有大写字符应用awk ...

January 6, 2021 · 1 min · jiezi

关于运维:CentOS7-Docker安装Gitlab

官网教程 https://docs.gitlab.com/omnib... 搜寻镜像 docker search gitlab 下载镜像文件 docker pull docker.io/gitlab/gitlab-ce 留神:肯定要配置阿里云的减速镜像  创立GitLab 的配置 (etc) 、 日志 (log) 、数据 (data) 放到容器之外, 便于日后降级, 因而请先筹备这三个目录。 mkdir -p /mnt/gitlab/etcmkdir -p /mnt/gitlab/logmkdir -p /mnt/gitlab/data运行GitLab容器 docker run \--detach \--publish 2222:22 \--publish 8090:80 \--publish 8443:443 \--hostname x.x.x.x \-v /mnt/gitlab/etc:/etc/gitlab \-v /mnt/gitlab/log:/var/log/gitlab \-v /mnt/gitlab/data:/var/opt/gitlab \-v /etc/localtime:/etc/localtime:ro \--name gitlab \--restart always \--privileged=true gitlab/gitlab-ce:latest运行胜利之后,将挂载文件同步到容器里面 批改/mnt/gitlab/etc/gitlab.rb 把external_url改成部署机器的域名或者IP地址 vim /mnt/gitlab/etc/gitlab.rb external_url 'http://x.x.x.x' 批改/mnt/gitlab/data/gitlab-rails/etc/gitlab.yml vim /mnt/gitlab/data/gitlab-rails/etc/gitlab.yml找到关键字 ## Web server settings ...

January 6, 2021 · 1 min · jiezi

关于运维:centos7搭建ceph集群

https://www.cnblogs.com/hucho...

January 5, 2021 · 1 min · jiezi

关于运维:用于Linux服务器的自动安全审计工具

Lynis是Unix/Linux等操作系统的一款平安审计工具,它能够发现基于Linux零碎中的恶意软件和安全漏洞。Lynis是收费开源的服务器审计工具,一旦审计实现,咱们能够审查后果、正告和倡议,而后咱们能够依据它实现咱们的安全策略。它将显示一个报告,该报告能够被分成几个局部。 通常咱们在Linux服务器上运行很多货色,比方网络服务、数据库服务、电子邮件服务、FTP服务等等。通过在所有Linux机器上进行主动的平安审计和浸透测试,Lynis能够简化管理员的工作。 环境 Centos8 lynis-3.0.0 装置Lynix Lynis是一款轻量级的软件,它不会毁坏零碎,也不会影响Linux零碎上的任何应用程序或服务。首先,咱们将为Lynis的装置创立一个目录,进入该目录,wget下载最新的Lynis源代码: [root@localhost ~]# mkdir /usr/local/lynis[root@localhost ~]# cd /usr/local/lynis/[root@localhost lynis]# wget https://downloads.cisofy.com/... 解压压缩包,进入解压进去的目录 [root@localhost lynis]# tar xvf lynis-3.0.0.tar.gz [root@localhost lynis]# cd lynis 运行lynis显示帮忙信息。具备管理员权限的用户能够运行该脚本,所有日志和输入将保留在/var/log/lynis.log文件中: [root@localhost lynis]# ./lynis 开始审计并查找破绽 执行本地平安扫描,所以应用‘audit system’参数来扫描整个零碎。运行上面的命令来启动对整个零碎的审计: [root@localhost lynis]# ./lynis audit system或者[root@localhost lynis]# ./lynis audit system --wait --wait选项:期待用户按回车键显示下一节的报告。 有时咱们不想扫描或审计整个零碎的应用程序或服务,所以咱们能够按类别审计自定义应用程序。咱们能够先列出所有的组,而后抉择须要审计或扫描的组。 [root@localhost lynis]# ./lynis show groups 当初咱们将对"kernel"和"firewalls"进行简略的审计,咱们将应用上面的命令。 [root@localhost lynis]# ./lynis --tests-from-group "kernel firewalls" 要查看更多的lynis命令选项,请参考它的手册页: [root@localhost lynis]# ./lynis --man 总结 Lynis是Unix/Linux等操作系统的一款平安审计工具,它能够发现基于Linux零碎中的恶意软件和安全漏洞。 ...

January 5, 2021 · 1 min · jiezi

关于运维:灾备知识总结容灾与备份区别灾备技术容灾体系规划

容灾备份的区别容灾(Disaster Tolerance):就是在上述的劫难产生时,在保障生产零碎的数据尽量少失落的状况下,放弃生存零碎的业务不间断地运行。 容错(Fault Tolerance):指在计算机系统的软件、硬件产生故障时,保障计算机系统中仍能工作的能力。 区别:容错能够通过硬件冗余、谬误检查和热交换 再加上非凡的软件来实现,而容灾必须通过零碎冗余、劫难检测和零碎迁徙等技术来实现。当设施故障不能通过容错机制解决而导致系统宕机时,这种故障的解决就属于容灾的领域。 什么是劫难复原(Disaster Recovery):指的是在劫难产生后,将零碎复原到失常运作的能力。 区别:容灾强调的是在劫难产生时,保证系统业务继续不 间断地运行的能力,而劫难复原强调的劫难之后,零碎的恢复能力。当初的容灾零碎都蕴含着劫难复原的性能,所以本文的探讨除了包含容灾方面的内容,还包含了 劫难复原的局部内容。高性能、高可用平台架构的演变过程。 容灾零碎在企业中给与数据安全系数相当高的保障,然而容灾零碎倒是是什么,他们是什么意思?恐怕连正在应用容灾备份的网络管理人员都不能解释。本文用最通俗的语言给大家解释容灾备份到底是什么。 容灾和备份的目标不同容灾零碎的目标在于保证系统数据和服务的“在线性”,即当零碎产生故障时,依然可能失常地向网络系统提供数据和服务,以使零碎不致进展。 而容灾备份技术的目标与此并不相同,备份是“将在线数据转移成离线数据的过程”,其目标在于应酬零碎数据中的逻辑谬误和历史数据保留。 所以,在各种容错技术十分丰盛的明天,备份零碎依然是不可代替的。 备份是基石备份是指为避免零碎呈现操作失误或系统故障导致数据失落,而将全零碎或局部数据汇合从利用主机的硬盘或阵列复制到其它的存储介质的过程。 备份是数据高可用的最初一道防线,其目标是为了零碎数据解体时可能复原数据。 容灾不可少那么建设了备份零碎,是否就不须要容灾备份零碎?这还要看业务部门对RTO(复原所需的工夫指标)/RPO(可能复原到的最新状态)指标的 期望值,如果容许1TB的数据库RTO=8小时,RPO=1天,那备份零碎就能满足要求。同时,备份的目标在于应酬零碎数据中的逻辑谬误和历史数据保留。只可能满足数据失落、数据毁坏时的数据恢复目标,而不能提供实时的业务接管性能。 因而容灾零碎对于某些要害业务而言也是必不可少的。人们谈及容灾备份往往是针对当生产零碎,不能失常工作时,其业务可由容灾零碎接替这些业务,持续进行失常的工作。 可能提供很好的RTO和RPO指标。同时近程容灾零碎具备应酬各种劫难,特地是区域性与毁灭性劫难的能力,具备较为欠缺的数据保护与劫难复原性能,保障劫难来临时数据的完整性及业务的连续性,并在最短时间内复原业务零碎的失常运行,将损失降到最小。 容灾不能替换备份容灾零碎会残缺地把生产零碎的任何变动复制到容灾端去,包含不想让它复制的工作,比方不小心把计费零碎内的用户信息表删除了,同时容灾端的 用户信息表也会被残缺地删除。如果是同步容灾,那容灾端同时就删除了;如果是异步容灾,那容灾端在数据异步复制的距离内就会被删除。这时就须要从备份零碎 中取出最新备份,来复原被谬误删除的信息。因而容灾零碎的建设不能代替备份零碎的建设。 布局企业平安保障体系思考的因素对于企业而言到底应该如何建设本人的灾备零碎,是只建设备份零碎、还是只建设容灾零碎、还是须要二者同时建设、或者是分步骤的建设,谁先谁后等问题,次要依据业务的需要而定: (1)须要防备的劫难类型:企业信息系统可能遇到的劫难类型及其产生的比例如下: 对于“人为谬误”、“软件损坏和程序谬误”加上“病毒”等这些都称为逻辑谬误,占总故障的 56%,这些谬误只能通过备份零碎能力防备;对于“硬件和系统故障”以及“天然劫难”等故障能够通过在容灾零碎(或者异地备份)来防备,占总故障率的44%。(2)容许的RTO和RPO指标从技术上看,掂量容灾零碎有两个次要指标:RPO(Recovery Point Object)和RTO(Recovery Time Object),其中RPO代表了当劫难产生时容许失落的数据量;而RTO则代表了零碎复原的工夫。 一般而言:容灾零碎可能提供较好的RTO和RPO指标。 (3)零碎投资总的说来,建设备份零碎的投资远比建设规范意义的容灾零碎的投资小得多: 备份零碎的投资规模个别在几百万;而最节俭的一套容灾零碎投资都将上千万;劫难复原与投资关系: 罕用的灾备组合形式基于以上起因,业界在灾备零碎的建设上个别依照以下几种形式: 建设机房内的本地备份零碎建设异地的备份零碎该形式能够备份零碎的价格满足备份和异地容灾性能,可能防止主生产核心因为地震、火灾或其余灾祸造成的数据失落。 备份零碎+异地容灾零碎这是一个较为理想化的容灾零碎一体化解决方案,可能在很大水平上防止各种可能的谬误。 容灾复原等级 劫难复原档次 灾备技术档次 1.1 磁盘阵列灾备技术同步形式半同步形式异步形式1.2 智能交换机技术2.1 卷管理软件灾备技术 2.2 数据库日志复制技术2.3 数据库灾备技术3.1 利用灾备技术 11.容灾体系结构布局零碎失常运行生产核心单台主机宕机生产核心所有主机宕机生产核心回切 起源:http://www.cfdzsw.com/2019/09...

December 31, 2020 · 1 min · jiezi

关于运维:Centos8如何安装Xfce桌面

本篇文章介绍如何在CentOS8 Linux操作系统中装置Xfce桌面环境和LightDM(Light Display Manager)。 在Centos8中应用epel-release软件源装置Xfce4桌面时,发现装置之后的桌面是Gnome3的,许多xfce的工具打不开。所以钻研了几天,通过Fedora28 Server版本的零碎中,下载安装包拷贝到Centos8中,能够装置胜利,在此记录一下装置过程。 环境 CentOS Linux release 8.2.2004 (Core) 、CentOS Linux release 8.0.1905 (Core) 装置xfce4 这里应用的xfce4相干的安装包都是从Fedora28零碎中下载的,装在Centos8中或者有些不稳固,目前发现装上之后Firewalld有问题,如果不障碍应用,能够禁用Firewalld。 生产环境就不要这样玩了,本试验纯属测试一下而已。 Xfce4相干的安装包我曾经放在网盘里了:https://share.weiyun.com/VqEEZio1, 下载到本地,而后上传到Centos8中。 装置lrzsz,将下载好的 压缩包上传到零碎中。[root@localhost ~]# dnf -y install lrzsz tar[root@localhost ~]# rz 解压文件,并进入文件夹,开始装置[root@localhost ~]# tar xvf Xfce_fd28.tar.gz [root@localhost ~]# cd Xfce[root@localhost Xfce]# dnf install -y * --skip-broken --nobest 设置开机启动到图形界面 开机启动lightdm显示管理器[root@localhost ~]# systemctl enable lightdm 默认启动图形界面[root@localhost ~]# systemctl set-default graphical.target Removed /etc/systemd/system/default.target.Created symlink /etc/systemd/system/default.target ¡ú /usr/lib/systemd/system/graphical.target.敞开防火墙[root@localhost ~]# systemctl disable firewalldRemoved /etc/systemd/system/multi-user.target.wants/firewalld.service.Removed /etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service. ...

December 30, 2020 · 1 min · jiezi

关于运维:网站被劫持如何处理-网站被劫持怎么办怎么解决

网站被劫持如何解决?很多站长都遇到过这种状况,当输出本人网站的域名时,却被跳转到另外一个网站。那么如何解决这种问题呢? 1、网站域名被泛解析 敞开域名的泛解析,进入了域名治理后盾之后点击咱们的域名找到带*号的域名解析,删除掉就能够了。IIS7网站监控能够及时防控网站危险,疾速精确监控网站是否受到各种劫持攻打,网站在全国是否能失常关上(查看域名是否被墙),精准的DNS净化检测,具备网站关上速度检测性能,第一工夫晓得网站是否被黑、被入侵、被改题目、被挂黑链。精益求精的产品,缺点为零数据提供! 它能够做到以下性能:1、检测网站是否被黑2、检测网站是否被劫持3、检测域名是否被墙4、检测DNS是否被净化5、网站实在的齐全关上工夫(独家) 6、领有独立监控后盾,24小时定时监控域名官网图:官网地址:IIS7网站监控 2、黑客劫持 对于备份文件,找到被批改的文件,清理木马程序即可(留神,请养成备份习惯,起码每个星期备份一次) 3、浏览器被劫持 这个通常状况下是浏览器自带的广告推广,特地是手机端十分的多,我个别都间接卸载,重新安装一个浏览器 4、运营商劫持 这个劫持须要到环度网信申请一张SSL证书实现链接的https加密: 1)、https协定须要申请SSL证书:https://gworg.taobao.com/ 2)、http是超文本传输协定,信息是明文传输,https 则是具备安全性的ssl加密传输协定。 3)、http和https应用的是齐全不同的连贯形式,用的端口也不一样,前者是80,后者是443。 4)、http的连贯很简略,是无状态的;HTTPS协定是由SSL+HTTP协定构建的可进行加密传输、身份认证的网络协议,比http协定平安。 在通常的运营商的劫持中,应用 https加密能够解决

December 30, 2020 · 1 min · jiezi

关于运维:虚拟机中如何安装Arch-Linux操作系统

Arch Linux是一个通用的滚动发行版Linux,一旦零碎或者软件有新版本公布,你就能够降级它们。深受DIY爱好者和Linux外围用户的欢送。默认装置只笼罩最小的根本零碎,并心愿用户自行配置零碎。这就是为什么装置Arch Linux自身就是一个挑战,但同时,它也是中级Linux用户的一个学习机会。 环境 VMware Workstation 15.0 Arch Linux 2020.05 如何下载ArchLinux 查看最新版本的零碎:http://mirrors.163.com/archlinux/iso/latest/ 下载地址:http://mirrors.163.com/archlinux/iso/latest/archlinux-2020.05.01-x86_64.iso 创立Arch Linux虚拟机 虚拟机的版本能够抉择“其余…” 装置操作系统 疏导界面,抉择第一项启动之后,能够看到,进入了Live环境。 检查一下是否连贯到因特网 检查一下网卡是否获取到IP地址了: root@archiso ~ # ip ad 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft foreverinet6 ::1/128 scope host valid_lft forever preferred_lft forever2: ens33: mtu 1500 qdisc fq_codel state UP group default qlen 1000 ...

December 28, 2020 · 3 min · jiezi

关于运维:rsync全网备份

一、全网备份1.1 我的项目环境筹备主机名外网IP内网IP服务器backup10.0.0.203172.16.1.203rsync服务器nfs-110.0.0.204172.16.1.204nfs服务器web-110.0.0.205172.16.1.205web服务器1.2 我的项目需要公司中的web集群和nfs服务器都须要进行备份,避免宕机和磁盘损坏,如果一旦服务器和磁盘损坏,结果不堪设想, 标准对立,所有服务器的备份目录必须都为/backup须要备份的零碎配置文件a. 定时工作服务的配置文件(/var/spool/cron/root) b. 开机自启动配置文件(/etc/rc.local)c. 日常脚本目录(/server/scripts)d. 防火墙iptables配置文件(/etc/sysconfig/iptables-config)e. web的站点目录和日志目录(/var/www/html/ /app/log/)web服务器保留打包后7天后的备份数据备份服务器上,保留每周日的所有数据正本,其余要保留180天的数据备份的数据服务器按IP地址为目录保留,备份的文件应用工夫名字保留确保备份的数据完整性,在备份服务器上对备份的数据每天查看,并将备份胜利及失败的后果发到邮箱1.3 我的项目步骤1.3.1 创立我的项目所需的目录mkdir -p /backup //所有服务器mkdir /server/scripts //nfs服务和web服务器1.3.2 客户端须要压缩的数据信息压缩nfs和web服务 //nfs服务器 $ tar -zcvPhf /backup/data_backup.tar.gz_$(date +%F-week%w) /var/spool/cron/root /etc/rc.local /server/scripts//web服务器 $ tar -zcvPhf /backup/web_backup.tar.gz_$(date +%F-week%w) /var/www/html $ tar -zcvPhf /backup/web_backup.tar.gz_$(date +%F-week%w) /app/log/$ tar -zcvPhf /backup/file_backup.tar.gz_$(date +%F-week%w) /etc/sysconfig/iptables-config /server/scriptsPS:倡议web的站点目录和log目录离开打包,因为不论是哪个目录数据都会很大,打包的时候会很慢,一个一个打包能够晋升打包的速率。 //tar查看并解压确定 $ tar tf /backup/data_backup.tar.gz_2020-12-22-weeek2$ tar tf /backup/web_backup.tar.gz_2020-12-22-weeek2$ tar xf /backup/data_backup.tar.gz_2020-12-22-weeek2$ tar xf /backup/web_backup.tar.gz_2020-12-22-weeek21.3.3 web服务器创立7天前的数据并删除创立7天前数据 //创立日期本人设定 $ date -s "20200430" $ lltotal 144-rw-r--r-- 1 root root 12435 Dec 2 16:55 web_backup.tar.gz_2020-12-02-rw-r--r-- 1 root root 12435 Dec 2 16:55 web_backup.tar.gz_2020-12-03.....略.....-rw-r--r-- 1 root root 12435 Dec 2 16:55 web_backup.tar.gz_2020-12-09-rw-r--r-- 1 root root 12435 Dec 2 16:55 web_backup.tar.gz_2020-12-10找出七天前的数据,并删除 ...

December 23, 2020 · 3 min · jiezi

关于运维:性能优化-Memory-Leak

如果应用程序内存使用量正在稳步增长,这可能是因为配置谬误导致的内存增长,或者因为软件谬误导致内存透露。对于某些应用程序,因为垃圾内存回收工作艰难,耗费了 CPU,性能可能会开始升高。如果应用程序应用的内存变得太大,性能可能会因为分页(swapping)而降落,或者应用程序可能会被零碎杀死(Linux's OOM killer)。 针对下面的状况,就须要从应用程序或零碎工具查看应用程序配置和内存应用状况。内存透露起因的考察尽管很艰难,但有许多工具能够提供帮忙。有些人在依据应用程序中应用 malloc()来考察内存应用状况(如 Valgrind和 memcheck),它还能够模仿 CPU,以便能够查看所有内存拜访。这可能会导致利用程序运行速度慢 20-30 倍或更多。另一个更快的工具是应用libtcmalloc的堆剖析性能,但它依然会使应用程序慢5倍以上。其余工具采取外围转储,而后后处理,以钻研内存应用状况,如 gdb。这些通常在应用外围转储时暂停应用程序,或要求终止应用程序,以便调用 free() 函数。尽管外围转储技术为诊断内存透露提供了贵重的细节,但两者都不能轻松的发现内存透露的起因。 在此文中,我将总结我用于剖析已运行的应用程序上的内存增长和透露的四种跟踪办法。这些办法能够利用堆栈跟踪查看内存应用的代码门路,并可视化为火焰图。我将演示无关 Linux 的剖析,而后总结其余操作系统。 以下图中显示了以下四种办法,如绿色文本中的事件: 所有办法都会有些毛病,我会在下文中具体解释。 目录: Prerequisites Linux 1. Allocator 2. brk() 3. mmap() 4. Page Faults Other OSes Summary Prerequisites以下所有办法都须要堆栈跟踪能力对跟踪者可用,所以须要先修复这些跟踪器。许多应用程序都是应用 -fomit-frame-pointer的 gcc 选项编译的,这突破了基于帧指针的堆栈走行。VM 运行时(如 Java)可自在编译办法,在没有额定帮忙的状况下可能无奈找到其符号信息,从而导致堆栈跟踪仅十六进制。还有其余的陷阱(gotchas)。请参阅我以前对于修复Stack Traces和 JIT Symbols For perf。 Linux: perf, eBPF以下是通用办法。我将应用Linux作为指标示例,而后总结其余操作系统。 Linux 上有许多用于内存剖析的跟踪器。我将在这里应用 perf 和 bcc/eBPF,这是规范的 Linux 跟踪器。perf 和 eBPF 都是 Linux 内核源的一部分。perf 实用于较旧的 Linux 零碎,而 eBPF 至多须要 Linux 4.8 来执行堆栈跟踪。eBPF 能够更轻松地执行内核摘要,使其更高效并升高开销。 ...

December 22, 2020 · 3 min · jiezi

关于运维:阿里云SLB负载均衡实践解决高并发响应慢

场景介绍解决大量用户企业,常常会面临如下的难题。在高并发的状况下,常常会导致服务器响应速度慢,重大的状况会间接导致服务器进行服务。此时,会导致企业的业务中断,影响客户的失常拜访。场景通过应用阿里云负载平衡SLB以及对负载平衡SLB后端服务器ECS的权重进行批改,能够疾速解决上述的问题。负载平衡(Server Load Balancer)是将拜访流量依据转发策略散发到后端多台云服务器(ECS实例)的流量散发管制服务。负载平衡扩大了利用的服务能力,加强了利用的可用性。具体介绍可至阿里云负载平衡 场景体验如未开明相应云产品可至此处体验 资源工夫1小时 云服务器状态确认本大节次要介绍:别离拜访试验提供的两台云服务器ECS,察看有什么异同点。 1.点击左侧导航栏处的 云产品资源,查看 云服务器ECS-1 和 云服务器ECS-2 的相干信息。 2.关上浏览器,在输入框中输出 云产品资源 提供的 云服务器ECS-1 的 弹性IP ,页面如下图: 阐明:失常状况下不会显示 后端服务器IP,此处是为了察看比拟的便利性而设计的。 3.关上新的窗口,输出 云服务器ECS-2 的 弹性IP ,拜访页面如下: 阐明:失常状况下不会显示 后端服务器IP,此处是为了察看比拟的便利性而设计的。4.比拟两台ECS的拜访后果,发现部署的网站内容雷同,只是显示的后端服务器IP不同。阐明:在实在场景下,负载平衡后端的服务器中部署的利用都是统一的。 负载平衡配置本大节的次要内容:将两台服务器挂载到负载平衡的后端,这样,用户只需拜访一个IP地址或域名,负载平衡服务器将会依据权重主动转发用户申请到相应的后端服务器上。 1.体验用户通过如下步骤,查看阿里云负载平衡控制台:1)点击左侧导航栏处的 云产品资源 查看资源信息,点击 一键复制url,用浏览器隐身窗口(或无痕模式)登录控制台,2)输出试验提供的 子用户名称 和 子用户明码 ,实现后点击 登录 。登录阿里云治理控制台。3)点击左侧导航栏的 产品与服务 ,下拉菜单中,在 弹性计算 条目下抉择 负载平衡 。2.点击左侧的 实例治理 ,而后关上试验提供的实例,在实例列表页面,点击指标实例右侧的 点我开始配置 。3.通过负载平衡业务配置向导,配置负载平衡的 监听端口、后端服务器 和 健康检查 :1)在 协定&监听 页面,输出如下信息,实现后,点击 下一步 。 负载平衡协定:抉择 HTTP监听端口:设为 80高级配置放弃默认2)在 后端服务器 页面,监听申请转发至 默认服务器组,在已增加服务器处点击 持续增加 。3)在弹出的待增加服务器页面,在事后配置好的两台云服务器前打勾抉择,而后点击下一步,之后再点击 增加;4)在后端服务器界面的已增加服务器列表中,能够看到新增的两台云服务器,别离将 端口 设置为 80,并点击 下一步 。阐明:负载均衡器将会依照输出的权重比例散发申请。5)在 健康检查 配置中,开启健康检查按钮为绿色 开启状态,点击 下一步。6)在 配置审核 页面,确认上述配置操作正确,点击 提交;呈现如下界面,提醒配置胜利后,点击 晓得了;7)此时,页面将显示一个状态为 运行中 的负载平衡监听实例,后端服务器组已增加实现两台ECS服务器,且 健康检查 的状态为 失常。留神:通常期待1分钟左右健康检查状态变为失常,可点击右侧的 刷新 查看。 ...

December 22, 2020 · 2 min · jiezi

关于运维:每天一个Linux命令1xargs

命令简介xargs能够将stdin中以空格或换行符进行分隔的数据,造成以空格分隔的参数(arguments),传递给其余命令。因为以空格作为分隔符,所以有一些文件名或者其余意义的字符串内含有空格的时候,xargs可能会误判。简略来说,xargs的作用是给其余命令传递参数,是构建单行命令的重要组件之一。 之所以要用到xargs,是因为很多命令不反对应用管道|来传递参数,例如: find /sbin -perm +700 | ls -l         # 这个命令是谬误,因为规范输出不能作为ls的参数find /sbin -perm +700 | xargs ls -l   # 这样才是正确的命令格局xargs [OPTIONS] [COMMAND]选项阐明留神,长选项的强制性参数对于短选项也是强制的。 -0, --null  #如果输出的stdin含有特殊字符,例如反引号 `、反斜杠 、空格等字符时,xargs将它还原成个别字符。为默认选项-a, --arg-file=FILE  #从指定的文件FILE中读取输出内容而不是从规范输出-d, --delimiter=DEL  #指定xargs解决输出内容时的分隔符。xargs解决输出内容默认是按空格和换行符作为分隔符,输入arguments时按空格分隔-E EOF_STR  #EOF_STR是end of file string,示意输出的完结-e, --eof[=EOF_STR]  #作用等同于 -E 选项,与 -E 选项不同时,该选项不合乎POSIX规范且EOF_STR不是强制的。如果没有EOF_STR则示意输出没有结束符-I REPLACE_STR  #将xargs输入的每一项参数独自赋值给前面的命令,参数须要用指定的代替字符串REPLACE_STR代替。REPLACE_STR能够应用{} $ @ 等符号,其次要作用是当xargs command后有多个参数时,调整参数地位。  例如备份以 txt 为后缀的文件:find . -name "*.txt" | xargs -I {}  cp {} /tmp/{}.bak-i, --replace[=REPLACE_STR]  #作用同 -I 选项,参数 REPLACE_STR 是可选的,缺省为 {}。倡议应用 -I 选项,因为其合乎 POSIX-L MAX_LINES  #限定最大输出行数。隐含了 -x 选项-l, --max-lines[=MAX_LINES]  #作用同 -L 选项,参数 MAX_LINES 是可选的,缺省为 1。倡议应用 -L 选项,因为其合乎 POSIX 规范-n, --max-args=MAX_ARGS  #表示命令在执行的时候一次应用参数的最大个数-o, --open-tty  #在执行命令之前,在子过程中从新关上stdin作为/dev/TTY。如果您心愿xargs运行交互式应用程序,这是十分有用的-P, --max-procs=MAX_PROCS  #每次运行最大过程;缺省值为 1。如果MAX_PROCS为 0,xargs将一次运行尽可能多的过程。个别和-n或-L选项一起应用-p, --interactive  #当每次执行一个argument的时候询问一次用户--process-slot-var=NAME  #将指定的环境变量设置为每个正在运行的子过程中的惟一值。一旦子过程退出,将重用该值。例如,这能够用于初始负荷调配计划-r, --no-run-if-empty  #当 xargs 的输出为空的时候则进行xargs,不必再去执行前面的命令了。为默认选项-s, --max-chars=MAX_CHARS  #命令行的最大字符数,指的是xargs前面那个命令的最大命令行字符数,包含命令、空格和换行符。每个参数独自传入xargs前面的命令--show-limits  #显示操作系统对命令行长度的限度-t, --verbose  #先打印命令到规范谬误输入,而后再执行-x, --exit  #配合 -s 应用,当命令行字符数大于 -s 指定的数值时,退出 xargs--help  #显示帮忙信息并退出--version  #显示版本信息并退出罕用示例1、将 Shell 的特殊字符反引号还原为个别字符。 echo '`0123`4 56789' | xargs -t echoecho `0123`4 56789 `0123`4 56789如果间接进行如下操作,会报无奈找到命令 01234 的谬误,因为反引号在 Shell 中会将 01234 作为一个命令来执行,然而 01234 不是一个命令。-t 示意先打印命令,而后再执行。值得珍藏!Linux零碎常用命令速查手册 echo `01234` 56789-bash: 01234: command not found2、设置 xargs 读入参数时的完结标识,以逗号完结。这里要留神完结标记必须要是独自的字段,即以空格或者换行符分隔的字段。 echo 01234 , 56789 | xargs -E ","012343、应用 rm、mv 等命令同时操作多个文件时,有时会报 “argument list too long” 参数列表过长的谬误,此时能够应用 xargs 来解决。xargs 将规范输出的字符串分隔后,作为参数传递给前面的命令。例如,给当前目录的所有文件增加后缀名。 ls | xargs -t -i mv {} {}.bak# 抉择符合条件的文件ls | grep -E "201701|201702|201703" | xargs -I {} mv {} {}.bak4、设置命令行的最大字符数。参数默认一个一个独自传入命令中执行。 echo "01234 56789" | xargs -t -s 11echo 01234 01234echo 56789 567895、设置规范输出中每次多少行作为命令的参数,默认是将规范输出中所有行的归并到一行一次性传给命令执行。 echo -e "01234n56789n01234" | xargs -t -L 2 echoecho 01234 56789 01234 56789echo 01234 012346、将文件内容以空格分隔合并为一行输入。 # 列出文件内容cat test.txta b c d ef g h i j k l m n o# 多行输出合并为一行输入cat test.txt | xargsa b c d e f g h i j k l m n o7、与ps、grep、awk和kill联合,强制终止指定过程。 ps -ef | grep spp | awk '{printf "%s ",$2}' | xargs kill -91ps -ef|grep spp用于查找蕴含 spp 的过程,awk '{printf "%s ",$2,FNR}将指标过程 ID 打印输出,xargs kill -9则将指标过程 ID 作为参数传递给kill -9用于杀死过程。请珍藏!Linux 运维必备的 40 个命令总结 ...

December 21, 2020 · 1 min · jiezi

关于运维:你还为网络故障排查头大试试这些工具真心强大

网络故障排除对于网络技术专家和网络工程师是颇具挑战的工作。每当增加新的设施或网络产生变更时,新的问题就会呈现,而且很难确定问题出在哪里。每一位网络工程师或专家都有本人的教训和必备工具,能让他们疾速定位网络故障。 以下的这些工具,是否是你的工具箱中的选项。 1.NmapNmap是开源工具,它被称作网络故障排除的“瑞士军刀”。它基本上是应用超级性能Ping,播送数据包来辨认主机,包含主机的凋谢端口和操作系统版本。这些信息被集成到网络地图和清单中,从而使剖析人员可能确定连贯问题,破绽和流量。 2.Netstat随着网络复杂性的减少,须要简化网络管理让网络管理员的工夫和输出更加无效。Netstat在相似于Unix的操作系统(包含Windows)上很有用。在解决网络安全性时,最好理解与企业网络的入站和出站连贯。系统管理员不可错过的 6 款服务器监控工具 3.tcpdumptcpdump是网络专家必备的故障排除工具。如果能够无效地应用它,那么能够在不影响无关应用程序的状况下疾速查明网络问题。抓包工具 tcpdump 用法说明 4.PingPing是疾速排除网络问题的最根底工具。能够轻松查看服务器是否已敞开,并且它在大多数操作系统中都可用。拜服!ping 命令还能这么玩? 5.TRACERT和Traceroute对于任何网络团队而言,TRACERT和Traceroute都是重要的工具。他们能够深刻理解数据采纳的门路以及两头主机的响应工夫。即便是最大量的信息也能够帮忙说明以后的问题。因而,在进行故障排除时,TRACERT和Traceroute无疑非常重要。 6.My Traceroute (MTR)MTR是诊断网络问题或仅摸索网络性能的最佳工具之一。MTR将Ping和Traceroute的长处联合到一个工具中。是同时察看数据包失落和等待时间的好办法。这款网络排查工具,堪称神器! 7.MockoonMockoon是新的工具。它容许网络专家创立模仿API并针对它们构建前端,而无需应用后端。通过将Mockoon与Charles联合应用,甚至能够在零碎的某些局部中应用实时API,而在其余局部中应用模仿API,而来回切换的工作量很小。 8.WiresharkWireshark是可用的最佳数据包捕捉工具之一,并且是网络分析的必备工具。它用处宽泛,速度快,并提供了宽泛的工具和筛选器,可精确辨认网络上正在产生的事件。 9.OpenVAS每个网络专家都应应用某种主动式破绽扫描软件来检测网络威逼,在潜在威逼进入零碎之前对其进行故障排除,而不是试图修复造成的毁坏。倡议应用Wireshark和OpenVAS之类的工具作为收费的开源工具,任何网络团队或专家都能够应用它们来辨认对要害数据或零碎的威逼。 10.Grey MatterGrey Matter是通用网格。它是下一代的3、4、7网络层,利用基于C的代理实现零信赖安全性,证据链审计合规性,指标细分和低级报告,并且它是开源工具。如果试图找出“服务网格”的用例,可进行一些钻研。 11.Linux零碎Dig命令Linux中的dig工具非常适合帮忙解决站点可能位于的地位,关联的IP以及负载平衡前面的问题。 12.DNS和NS查找工具明天,DNS和NS查找工具应该呈现在每个网络专家的工具箱中。从智能手机和笔记本电脑到物联网设施和网络设备,咱们应用的每个设施都应用IP和DNS地址。IP和设施之间的抵触始终在网络上产生。牢靠的查找工具能够帮忙隔离有问题的设施,并放大要采取的故障排除步骤。超清晰的 DNS 原理入门指南 13.Speedtest-Plotter速度和敏捷性对于生产力至关重要,尤其是随着近程工作的减少。Speedtest-Plotter是一款不错的网络故障排除工具,可应用左近的服务器来测量互联网带宽。能够跟踪一段时间内的速度(而不仅仅是一次剖析),同时确定连接性的相干变动。 14.Batfish强烈建议你将网络配置剖析增加到故障排除工具包中。尽管Ping能够通知你某些设施或连贯存在问题,Traceroute/MTR能够通知你它在哪里出了问题,然而像Batfish这样的开源工具能够告诉您它为什么呈现了故障。更好的是,能够应用Batfish或相似的验证工具来确保网络故障不会产生。 15.Fiddler当思考网络故障工具时,当初可用的SaaS很多。尽管如此,Wireshark和Fiddler是SaaS网络故障排除必不可少的工具。 16.New Relic And Pingdom从两个方面监控每个零碎。首先,从零碎/服务器自身到内部进行监控,举荐New Relic。而从数据中心内部监控计算机的IP。举荐Pingdom。这种双向办法能够即时理解要在哪里找到问题。 起源:云智时代 原文:https://www.sohu.com/a/414663...

December 19, 2020 · 1 min · jiezi

关于运维:占据攻防先机如何利用安全情报降低攻击风险

寰球疫情的大风行仿佛给网络攻击者发明了一个新的“施展”机会。仍旧层出不穷的遗留破绽、不足平安的代码开发和破坏力激增的数据泄露等,无一不让企业平安团队陷入焦灼。近日,平安公司Recorded Future公布了《The Security Intelligence Handbook(Third  Edition)》(平安情报手册第三版),旨在解答“如何利用平安情报打击对手并升高危险”的问题。 在报告中,Recorded Future在全面清晰平安情报概念领域的根底上,具体探讨了SecOps、破绽、威逼、第三方、品牌以及地缘政策等六大平安情报模块的利用价值和工作流程,阐释了平安情报计划构建的具体方法和倡议,并提出平安情报应成为企业晋升未知威逼感知效率、加强危险决策有效性、升高潜在平安危险值、占据攻防先机的首选策略工具。 贯通六大利用模块全面晋升危险响应能力加上平安二字之后,情报的价值产生了显著的变动。IDC数据显示,相干企业在应用平安情报后,危险预判能力实现了超10倍的增长,平安计划响应速度晋升了63%。基于对平安情报利用场景现状及新趋势的综合剖析,联合企业平安情报的场景需要,报告具体论述了平安情报的六大利用模块及其指标成果,以期为企业提供可操作性强的定制情报信息,助力晋升平安决策的灵活性和准确性。 简略来说,在平安新生态下,将平安情报纳入到SecOps、破绽、威逼、第三方、品牌爱护、地缘政策等平安场景,将无效地晋升企业预判和响应危险的能力,是企业适应数字化降级需要,瓦解新平安威逼“进化”伎俩的必备工具。 IDC:平安情报带来的平安危险反馈成果数据 首先,在SecOps 平安情报模块,报告认为SecOps平安情报的使用,既能够帮忙企业平安团队实现对最新威逼数据的主动分类与关联,疾速辨认重要威逼;还能够通过潜在威逼的被动提前辨认和无限排序,大幅缩减平安团队响应工夫,加强企业安全事故的应变能力,帮忙企业建设全面、语境化、综合的突发事件应变机制。 其次,就破绽平安模块而言,报告认为,破绽关联作为为数不多企业被动“进攻术”,其信息起源的有效性是实现转化为危险决策要害价值的前提。而破绽数据库体现出的“重大水平评级”误导性和不足及时性等特色,使其无奈为企业决策提供精确根据。开掘企业实在破绽情报的无效收集形式应该是:“以资产扫描和内部破绽数据库为终点,整合关联外部数据、网站、暗网、论坛及技术钻研中的新危险停顿等”。通过穿插情报援用描绘出实在的破绽平安图景,晋升平安团队应答破绽利用放慢的高效决策挑战。 Gartner:最大的理论危险是组织环境中存在的、目前正在被利用的破绽 第三,威逼情报方面,威逼情报因间接关注威逼的精准定位、响应效率及延展情报的生成,而对升高企业危险至关重要。Recorded Future钻研人员认为,威逼平安情报次要充当着两大角色作用。一是平安团队理解威逼者动机、办法和策略,霸占攻防先机的重要策略。通过对现有和潜在威逼信息的整合关联,助力平安团队塑造更全面的事变响应机制,实现更无效的前置预警。二是建设基于危险的主观评估与决策模型,在正确评估威逼概率的根底上,无效量化投资老本,为决策成果最大化的实现提供数据撑持。 第四,对于第三方平安,各产业供应链业务紧密度的继续减少,使得合作伙伴、供应商和其余第三方组织的安全性成为企业评估本身平安危险时的重要考量。与传统依赖诸如自我评估、财务审计、破绽月报以及偶发安全事故状况阐明等的动态危险评估形式相比,一个具备自动化剖析、实时危险评分体系、凋谢通明威逼共享机制等特色的实时第三方平安情报显然是企业精确评估第三方危险、放弃威逼评估最新性的更佳计划。 第五,在品牌爱护场景中,报告指出,针对企业品牌的威逼攻打大部分是采纳理论并未涉及品牌自身网络或零碎的形式进行的,给企业形象、名誉和客户都将带来不同水平的侵害。一个既能发现品牌假冒和滥用行为,又能及时发现网络违规内容和泄露数据的品牌平安情报计划已成为以后企业所需。同时,其价值更在于可能通过广范畴的资源和数据收集,对品牌危险进行检测、评分与优先解决,并生成具备高可操作性的集成平安补救策略,造成品牌危险防护的动静链路。 此外,全球化趋势下,地缘政策平安情报也日趋重要。其价值就在于可能帮忙企业躲避或者升高业务领域内政府政策、社会动荡、自然灾害等带来的负面影响,达到疾速响应和避免影响扩延的目标。基于地缘政策情报受限于“地区”的个性,报告提出以“天文围栏(Geofencing)”收集相干数据。具体来说,在构建地缘政策情报解决方案中,地位、客户、设施、网络威逼、媒体、暗网等数据信息的收集都须要以地区为外围维度,进而借助剖析工具,得出专属情报模型,加强企业适应地区动态变化能力。 “自上而下”构建平安情报全生命周期体系占据攻防先机报告指出,近年来,平安情报已成为企业CISOs评估业务和技术危险、确定危险策略、向管理层诠释危险实质和评估平安投入商业价值等工作的要害资源。一个无效的平安情报体系的落地利用可能给企业带来晋升风险管理水准、拓展晚期预警领域、优化平安投产比、升高沟通老本、缓解人员技能差距等价值。为更好地帮忙企业占据攻防“先机”,报告具体介绍了企业创立和拓展平安情报体系的办法和倡议: 明确平安情报的需要与指标是企业构建无效平安情报体系的首要任务。企业须要在清晰危险形成、潜在影响和人员构成的根底上,抉择一个或者多个适宜的平安情报分析框架,以帮忙平安团队更好地了解攻击者的行为指标和门路。在具体性能设置方面,找到几种高价值平安信息并进行监控,实现以较少的投入取得疾速盈利,晋升预测突发威逼和提供晚期告警的能力;确保每份生成威逼报告的无效信息含量,使其施展理论效用;重视数据聚合、语境化危险、危险标签甚至是信息共享的自动化,晋升平安情报体系工作效率;同时,重视平安情报计划与现有零碎的适配性。 平安情报能精确定位与特定行业或技术最相干的威逼 平安团队装备方面,在平安情报体系的全面开发过程中,装备一个专门的建设团队承当威逼数据的收集、解决、剖析和流传工作,认为企业提供最大价值的情报。同时,与情报供应商、行业钻研团队以及平安情报界单干,不断丰富企业威逼数据体系,确保安全决策的准确性和连续性的同时,借助单干生态达到造就外部专家的目标。 平安情报作为平安组织构造中的一个独立组织 平安情报体系的构建该当听从一个从简略到逐渐扩充的倒退门路。 平安情报打算成熟的四个阶段 综上来看,平安情报体系不仅可能帮忙企业无效解决平安运作效力晋升、事变响应能力进步、威逼及破绽风险管理等传统平安经营问题,还能为第三方危险、品牌爱护和地缘政策等新危险场景提供高效策略,是新生态下数字化企业乃至整个产业平安占据攻防先机,寻求安稳倒退的“利器”。寰球最大信息安全培训机构SANS考察数据显示,有80%的组织认为本人从威逼情报中获益。 然而,值得一提的是,除上述利用思路外,随同产业互联网的纵深倒退,越来越多的企业将私有云作为业务承载的新抉择。随之而来的,企业级业务场景开放度和边界模糊化的晋升,加之各类高级和未知威逼的迭代演变,云上平安情报在企业重要决策中的参考权重也大幅回升。基于攻防场景的这一变动,腾讯平安认为,云上企业该当以云原生为外围,构建出一套具备事先平安预防、事中安全事件对立监测和威逼检测、预先响应处理等形成体系的全局可视化平安经营体系,从而助力实现企业级平安威逼从全面检测、智能剖析、疾速响应到高效态势预测的残缺闭环,使得平安情报利用成果最优化,帮忙企业打好云上平安攻防“第一战”。值得关注的是,出于老本和效益最大化的思考,通过接入诸如腾讯平安经营核心等由平安厂商提供的成熟产品或是以后数字化企业构筑新场景下平安情报利用闭环的最优做法。

December 17, 2020 · 1 min · jiezi

关于运维:Redis属性说明持久化策略内存策略

Redis长久化策略为什么要长久化:Redis中的记录都保留在内存中,如果内存断电或者服务器宕机,则内存数据间接失落。业务中不容许产生,所以须要将数据定期进行保护. 长久化模式:1.RDB模式:形容:RDB模式是Redis的默认的长久化策略.无需手动的开启.特点:(1)Redis会定期的执行RDB长久化操作.毛病是可能会导致内存数据失落.(2)RDB记录的是内存数据的快照.并且后续的快照会笼罩之前的快照.每次只保留最新数据.效率更高. 命令有:1)save命令要求立刻执行长久化操作 save会造成线程的阻塞.2)bgsave 命令后盾长久化操作 后盾运行不会造成阻塞.异步操作,不能保障立刻执行. 2.AOF模式:形容:AOF模式默认条件下是敞开,须要手动的开启,如果开启了AOF模式则RDB模式将生效.然而如果手动执行save命令,则也会生成RDB文件.1)开启AOF模式2)特点:a.AOF模式记录程序的执行的过程,所以能够保证数据不失落.b.因为AOF记录程序运行的过程,所以整个长久化文件绝对大,所以须要定期维护,效率低. 3.RDB与AOF模式长久化比照1)RDB模式save 900 1如果在900秒内,执行了一次更新操作则长久化一次save 300 10save 60 10000 操作越快,长久化的周期越短. 2)AOF模式appendfsync always 用户执行一次更新操作,则长久化一次异步操作.appendfsync everysec 每秒操作一次appendfsync no 不被动操作个别不必 对于RDB与AOF总结策略:如果数据容许大量失落,首选RDB模式,如果数据不容许失落则首选AOF模式. 实战策略:又要满足效率,同时满足数据不失落.主机:采纳RDB模式从机:采纳AOF模式 教训题: Redis内存策略1.LRU算法,即最近起码应用,是一种罕用的页面置换算法,抉择最近最久未应用的页面予以淘汰。该算法赋予每个页面一个拜访字段,用来记录一个页面自上次被拜访以来所经验的工夫 t,当须淘汰一个页面时,抉择现有页面中其 t 值最大的,即最近起码应用的页面予以淘汰。判断维度: 工夫T 2.LFU算法即最不常常应用页置换算法,要求在页置换时置换援用计数最小的页,因为常常应用的页应该有一个较大的援用次数。然而有些页在开始时应用次数很多,但当前就不再应用,这类页将会长工夫留在内存中,因而能够将援用计数寄存器定时右移一位,造成指数衰减的均匀应用次数。判断维度: 应用次数 3.随机算法随机算法(不罕用). TTL算法将剩余时间短的数据,提前删除. Redis的内存优化策略在redis.conf配置文件中批改设置:1.volatile-lru 在设定超时工夫的数据中采纳LRU算法.2.allkeys-lru 所有的数据采纳LRU算法删除.3.volatile-lfu 设定了超时工夫的数据采纳LFU算法删除.4.allkeys-lfu 所有数据采纳LFU算法删除.5.volatile-random 设定了超时工夫的数据采纳随机算法.6.allkeys-random 所有数据的随机算法.7.volatile-ttl设定了超时工夫之后采纳TTL算法.8.noeviction 不做任何操作,只是返回报错信息. Redis常见问题:产生起因:高并发环境下,用户长时间对服务器进行操作,可能产生如下的问题: 什么是缓存穿透?形容:用户高并发环境下拜访数据库和缓存中都不存在的数据称为缓存穿透景象. 解决方案:1)禁用IP限度IP拜访.2)限流 每秒最多拜访3次3)布隆过滤器布隆过滤器:布隆过滤器(Bloom Filter)是1970年由布隆提出的。它实际上是一个很长的二进制向量和一系列随机映射函数。布隆过滤器能够用于检索一个元素是否在一个汇合中。它的长处是空间效率和查问工夫都比个别的算法要好的多,毛病是有肯定的误识别率和删除艰难。 布隆过滤器优化:问题是:如何解决hash碰撞问题.知识点:因为hash碰撞问题,可能由多个key有雷同的地位,所以得出结论,布隆过滤器认为数据存在,那么数据可能存在.如果布隆过滤器认为数据不存在,则数据肯定不存在. 如何升高hash碰撞的几率:1)扩容二进制向量位数.2)减少hash函数的个数.当位数减少/函数适当减少,则能够无效的升高hash碰撞的几率.默认值0.03. 什么是缓存击穿?形容:某个热点数据在缓存中忽然生效.导致大量的用户间接拜访数据库.导致并发压力过高造成异样.解决方案:1)尽可能将热点数据的超时工夫,设定的长一点.2)设定多级缓存,超时工夫采纳随机算法. 什么是缓存雪崩?形容:在缓存服务器中,因为大量的缓存数据生效,导致用户拜访的命中率过低.导致间接拜访数据库.问题剖析:1)fluashAll命令可能导致缓存雪崩.2)设定超时工夫时,应该采纳随机算法.3)采纳多级缓存能够无效避免.

December 9, 2020 · 1 min · jiezi

关于运维:如何使用Shell写一个显示目录结构的命令

在Linux中应用Shell写一个显示目录构造的命令,疾速寻找目录构造。 1、代码#!/usr/bin/env bash# 本命令用于显示指定门路或者以后门路的文件构造,反对搜寻# tf 显示当前目录的文件构造# tf 接关键词  搜寻当前目录# tf 目录 关键词 搜寻指定目录# 本命令依赖于 tree 命令DIR=KEYWORD=# 不传门路 默认为搜寻if [ $# -eq 1 ]; then  KEYWORD=$1fi# 指定门路搜寻if [ $# -eq 2 ]; then  DIR=$1  KEYWORD=$2fiif [ -n "$DIR" ]; then   cd "$DIR" || exit 1fipwdtree -C -f | grep "$KEYWORD"2、应用成果以后门路tf 搜寻tf 关键词// 比方tf lib 指定搜寻某个门路tf /usr/local/ lib 3、色彩意思蓝色代表目录绿色代表可执行文件红色代表压缩文件浅蓝色代表链接文件灰色代表其余文件红色闪动代表链接文件有问题黄色代表设施文件红色代表一般性文件,如:文本文件、配置文件、源码文件等_起源:https://wretchant.blog.csdn.n...

December 7, 2020 · 1 min · jiezi

关于运维:运维笔记免费的https证书

前言看这篇文章之前,如果还不晓得http和https的,要先移步一下百度或者google。 证书的起源买本人生成 Linux命令生成,提醒不平安应用其余第三方工具,这里介绍cerbot操作步骤确保你要加证书的域名曾经解析到服务器了git clone https://github.com/certbot/ce...进入目录,找到 cerbot-auto假如你的域名为www.test.com 邮箱为xx@xx.com执行 ./cerbot-auto certonly --standalone --email 'xx@xx.com' -d www.test.com执行胜利 /etc/letsencrypt/live/目录下能够看到相应的证书文件nginx的两行配置 ssl_certificate /etc/letsencrypt/live/www.test.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/www.test.com/privkey.pem;可能遇到的问题1.生成证书失败,须要先关停nginx,能力胜利执行2.证书有效期90天,须要应用命令./cerbot-auto renew,并重启 nginx加载证书。对于这个步骤,能够酌情思考,renew证书和reload nginx的操作写成简略的sh文件,而后退出到crontab 证书有效期查问形式

December 7, 2020 · 1 min · jiezi

关于运维:云服务器的选型

对于云服务器的选型及几种重要参数,明天 Websoft9 给大家做一个简略的剖析: 地区问题1、抉择华北1、还是华北2、还是华南1,区别在哪里?华北1、华北2、华南1在网络的层面都是局域网(也称之为机房)的概念,如果您有多台云服务器,最好选用同一个机房,以便满足将来你多台服务器之间的数据同步和组网。 举例:A服务器是图片,B服务器是网站1,C服务器是网站2,网站1和网站2都要调用A服务器的图片,显然他们在同一个机房会比拟不便。 问题2、我是广州的公司,华南1是不是比价适合我?其实你的区域选哪里,与你的客户在哪里拜访你有关系。如果客户在华南,你选华南略微适合一点。如果你的客户在全国,那么全国的机房都差不多。 问题3、我的客户在海内,我在国内,选哪个地区?还是一个准则“客户在哪里就选哪里”,客户在美国就选美国… 带宽包年包月:包干制,带宽老本比拟高。 按流量计费:网站访问量每天少于100个IP的,按量计费更省钱,而且带宽峰是1M还是10M计费都一样,这种形式还是比拟人性化的,但你得留神网络流量不要被内部因素给“偷掉了”。 网络个别选经典网络,专有网络是高级用户应用,不解释。 配置:CUP与内存举荐以下几种配置组合计划,可能满足大部分用户的需要。 入门型: 1 vCPU 1 GB 1 MB,实用于访问量较小的集体网站初级阶段;进阶型: 1 vCPU 2 GB 1 MB,实用于流量适中的网站、简略开发环境、代码存储库等;通用型: 2 vCPU 4 GB 1 MB,能满足 90% 云计算用户,实用于企业经营流动、并行计算利用、一般数据处理;现实型: 4 vCPU 8 GB 1 MB,用于对计算性能要求较高的业务,如企业经营流动、批量解决、分布式剖析、利用 APP 等。这些举荐配置只是作为您开始应用云服务器的参考。云服务器厂商个别提供了灵便、可编辑的配置批改形式。如果在应用过程中,发现配置过高或过低,能够随时批改配置,进行 升降配。对小型用户来说,并发拜访十分小,因而配置花钱的重点优先级应该为:带宽>内存>CPU 。 其实云计算用户基本不必纠结在一开始如何选配置的问题。原本云计算就是弹性计算,随时能够调整,变大变小都能够,边用边调整岂不是更为精确? 镜像公共镜像:阿里云官网提供的镜像,基本上都是纯正的操作系统镜像。镜像市场:由Websoft9这种的合作伙伴,在“公共镜像”的操作系统根底上,灌装了中间件、应用软件或数据库等,而后再打包的镜像。公共镜像重点是操作系统选项,镜像市场重点是疾速满足你的业务利用。自定义镜像:本人生产的镜像。共享镜像:他人共享给你的镜像。平安组平安组相似防火墙性能,用于设置网络访问控制。平安组是比拟高级的性能,抉择不慎,会让普通用户“抓狂”。例如:Linux平安组放开22端口,这个选项可能让用户通过ssh近程管制服务器。 例如:默认平安组放开全副端口这个选项,这个就比拟自在。倡议小白用户抉择“凋谢全副端口”项,等技术能力晋升之后,再批改平安组规定,敞开一些不罕用的端口,晋升平安。 本文由Websoft9原创公布,转载请注明出处。

December 7, 2020 · 1 min · jiezi

关于运维:再见CentOS-6

官宣:CentOS 6进行所有更新 CentOS 6曾经随着2020年11月的完结进入了EOL(Reaches End of Life)。所以在2020年12月2日,CentOS官网进行了对CentOS 6的所有更新,并且下架了包含官网所有的CentOS6源,目前阿里、163、清华等CentOS6源已无奈应用。 以下官网redme文档的解释: This directory (and version of CentOS) is deprecated. Please see this FAQ concerning the CentOS release scheme: https://wiki.centos.org/FAQ/G... Please keep in mind that 6.0, 6.1, 6.2, 6.3, 6.4 , 6.5, 6.6, 6.7, 6.8 , 6.9 and 6.10 no longer get any updates, nor any security fix's. The whole CentOS 6 is _dead and shouldn't be used anywhere at all_ ...

December 7, 2020 · 1 min · jiezi

关于运维:实战Linux-禁止和开启-ping-的方法

本文档以实战的模式介绍 RHEL7 禁止和开启 ping 的办法 一、内核参数设置 1、容许ping设置 长期 echo 0 >/proc/sys/net/ipv4/icmp_echo_ignore_all 永恒 echo net.ipv4.icmp_echo_ignore_all=0 >> /etc/sysctl.confsysctl -p # 执行这条命令使更改后的 /etc/sysctl.conf 配置文件失效 留神:如果 /etc/sysctl.conf 配置文件里曾经有 net.ipv4.icmp_echo_ignore_all 字段了,那么间接用 vim 进去更改对应的值即可。 2、禁止ping设置 长期 echo 1 >/proc/sys/net/ipv4/icmp_echo_ignore_all 永恒 echo net.ipv4.icmp_echo_ignore_all=1 >> /etc/sysctl.confsysctl -p # 执行这条命令使更改后的 /etc/sysctl.conf 配置文件失效 留神:如果 /etc/sysctl.conf 配置文件里曾经有 net.ipv4.icmp_echo_ignore_all 字段了,那么间接用 vim 进去更改对应的值即可。 二、防火墙设置 注:应用以下办法的前提是内核配置是默认值,也就是内核没有禁ping 1、容许PING设置       iptables -A INPUT -p icmp --icmp-type echo-request -j ACCEPT      iptables -A OUTPUT -p icmp --icmp-type echo-reply -j ACCEPT ...

December 6, 2020 · 1 min · jiezi

关于运维:内网穿透FRPNGROK一步搞定

内网穿透从字面上来说就是将本地的服务器映射到外网可拜访 构想下 如果有已知的公网服务器,那内网的本地服务就能够映射到外网了。如果没有已知的公网服务器,那只能代理到外网的服务器拜访即可。ps: 公网服务器与可拜访外网的服务器是有区别的。区别在于用户拜访某宝服务,先是到公网服务器而后再转发的淘宝服务。所以可拜访外网的服务器不等于公网服务器。换句话说间接将服务器部署在与公网服务器相通的机器上不就能够了,我也是这样想的。所以就有生产环境与测试环境,其实内网穿透还是存在安全隐患的,内网穿透大部分利用于测试环境,比方罕用的微信相干开发。 最初咱们来聊聊FRP与NGROK 两者的原理都一样,通过解析过的域名做本地服务端口映射。 Ngrok绝对比较简单,只须要能拜访外网的机器即可。可参考 http://ngrok.cc 外面有教程, 然而惟一有余的是收费调配的域名容易被微信限度,如果不是做微信相干的服务可疏忽。 接下来就是FRP,不仅仅须要能拜访外网的机器,还须要一台公网服务器。如果须要做域名相干的测试,就须要申请域名解析到公网服务器。可参考 https://gofrp.org/ 外面有文档。强调下服务端必须部署在公网服务器上才行。个人感觉性能也比Ngrok弱小些,稳固些。

December 3, 2020 · 1 min · jiezi

关于运维:DevOps和它的朋友们聊聊其他Ops二

上篇跟大家简略介绍了DevOps,以及与其概念相近的NoOps、DevSecOps和GitOps,“Ops家族”还蕴含其余模式,但归根结底,DevOps之所以更为风行,是因为其提供了改良工作流程的最全面的办法,因此被广泛应用。 DevOps vs. ITOps接下来,咱们将更认真地理解一下ITOps。许多开发人员将ITOps视为DevOps更传统的版本,但实际上它不止于此。ITOps在许多方面与DevOps十分类似。该办法将软件开发和IT基础设施治理视为一个对立的管道,此外,它还试图改良该管道并推动更高的灵活性。 ITOps与DevOps的不同之处在于它如何治理IT基础设施。这正是ITOps更为传统的中央,因为它负责交付和保护服务、应用程序,以及运维业务所必须的根底技术。ITOps通常包含系统管理员、网络管理员和服务台等职位。 ITOps更关注稳定性和长期可靠性,而不是推崇敏捷性和速度。IT基础设施是作为胜利管道的根底解决的,因而,当波及到基础设施治理时,看到这种办法被视为更加严格就难能可贵了。ITOps的最佳实际更偏向于应用牢靠的、通过高度测试的商业软件和解决方案来构建基础设施——包含硬件,因为ITOps偏向于关注物理服务器和网络。ITOps的管道中常常有现成的商用软件或COTS。这种办法的更高刚性也意味着更新基础设施组件更加艰难。ITOps将稳定性作为首要任务,因而疾速更改云和外部环境的配置并不总是可能的。不过,ITOps在应用程序和服务的外部部署方面的确工作得很好。这并不意味着ITOps曾经过期。有些行业重大依赖ITOps的长期可持续性,比方银行业和整个金融业。这些行业并不总是须要疾速、忽然的变动,这使得ITOps成为更合乎逻辑的继续交付办法。人们可能会认为DevOps无奈在这些类型的环境中实现,因为它们不是基于云的。但事实并非如此,在裸金属服务器上依然能够缩小在制品数量和升高贮仓量。 DevOps vs. CloudOps当ITOps将基础设施转移到等式更传统的一边时,CloudOps却恰恰相反。同样,这种办法与DevOps十分类似,然而在基础设施治理方面的关注点有所转移。顾名思义,CloudOps试图更多地利用古代服务提供商(如Amazon)提供的云原生性能。 CloudOps次要有三个因素:散布、无状态和可伸缩性。分布式开发和部署意味着不存在单点故障。整个云环境变得更加牢靠,并且能够放弃失常运行工夫。同时,至多在工作流的某些局部,无状态化的能力对于老本效率来说是一个微小的劣势。因为是无状态的,所以可伸缩性不是问题。您只须要为理论应用的资源和应用它们的持续时间付费,因而,只需稍加调整,就能够将与云相干的开销老本降至最低。应用CloudOps办法部署的云本地应用程序往往具备良好的失常运行工夫和低提早。云服务提供商当初提供的自动化程度进一步扩充了这些劣势。然而,这种办法须要齐全自动化的资源配置,这可能意味着在配置CI/CD管道时减少了复杂性。为了充分利用CloudOps,必须正确配置能力充分利用CloudOps的劣势。 DevOps vs. CIOps继续集成操作(CIOps)是咱们列表中的最初一个分支。CIOps要求CI操作员或管理员在持续部署之前配置反对新代码所需的IT基础设施。CI零碎被设计用来运行构建和测试,而后依据管道的复杂性以不同的简单级别部署。因为手工输出依然是必须的(为了确保每个CI作业都被正确配置以部署到正确的地位),CIOps既有长处也有毛病。次要长处是对基础设施自身进行细粒度管制。与GitOps等办法中预约义的参数不同,两种部署能够有不同的基础设施配置。手工配置云环境和资源配置能够使CIOps更适宜较小的开发;在开发我的项目中,自动化是一种麻烦而不是一种有用的工具。这就是CIOps经常出现在具备更简略云基础设施的小型我的项目中的起因。手工配置云环境和资源配置能够使CIOps更适宜较小的开发;在开发我的项目中,自动化是一种麻烦而不是一种有用的工具。这就是CIOps经常出现在具备更简略云基础设施的小型我的项目中的起因。然而,这里的次要毛病是这个零碎的人工概念减少了人为谬误的危险。还须要为API提供您抉择的CI工具(Travis CI和CircleCI很风行),这是一个很大的平安危险。与DevOps相比,CIOps还不足全面的审计跟踪和额定的灵活性。该办法关注的是CI而不是CI/CD,因而它并不总是涵盖整个过程。尽管它在配置云基础设施时给了开发人员一些灵活性,但要在较长的工夫内安稳地运行CIOps,还须要大量的致力。 为什么是DevOps ?正如您所看到的,DevOps有多个分支和子集,它们都基于独特的办法和乏味的想法。为了放慢您的CI/CD周期,所探讨的任何办法都十分有用。在两者之间进行抉择,就是要找到一种最适宜您开发的应用程序和您应用的云基础设施的办法。也就是说,DevOps依然提供了改良工作流程的最全面的办法,因为它在采纳文化改良的同时解决了两个技术过程。两者在胜利转型中等同重要。上述办法往往只关注技术方面,有些甚至专一于特定的平台、治理基础设施的办法或特定的工具。归根结底,这就是为什么DevOps依然是所有办法中实现最宽泛的起因。这是一种久经考验的办法,能够在反对翻新和合作环境的同时,创立一个高效且在技术上失去改良的CI/CD管道。

December 3, 2020 · 1 min · jiezi

关于运维:如何用-Shell-监控文件变化

文件监控能够配合rsync实现文件主动同步,例如监听某个目录,当文件变动时,应用rsync命令将变动的文件同步。(可用于代码主动公布) 实现文件主动同步,例如监听某个目录,当文件变动时,应用rsync命令将变动的文件同步。(可用于代码主动公布)。 inotify 是linux内核的一个个性,在内核 2.6.13 以上都能够应用。 如果在shell环境下,能够装置 yum install inotify-tools,装置当前有两个命令能够用inotifywait 和 inotifywatch,inotifywait 是须要应用的命令。 监听/usr/local/src 目录: /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M'--format '%T %w %f %e' -e modify,delete,create,attrib /usr/local/src参数: -m 继续监听-r 应用递归模式监督目录-q 缩小冗余信息,只打印出须要的信息-e 指定要监督的事件,多个工夫应用逗号隔开--timefmt 工夫格局--format 监听到的文件变动的信息--timefmt 阐明:ymd别离示意年月日,H示意小时,M示意分钟--format阐明:执行下面的命令之后,在监听的目录下创立一个1.txt文件,失去如下后果: 22/03/18 17:22 /usr/local/src/ 1.txt CREATE22/03/18 17:22 /usr/local/src/ 1.txt ATTRIB这个脚本的性能是循环监听文件或目录的增删改事件,当事件产生执行设置的脚本文件。 #!/bin/sh  # 监督的文件或目录  filename=$1  # 监督发现有增、删、改时执行的脚本  script=$2  inotifywait -mrq --format '%e' --event create,delete,modify  $filename | while read event  do      case $event in MODIFY|CREATE|DELETE) bash $script ;;      esac  doneshell脚本后盾执行nohup 应用nohup,其中test.sh为所执行的脚本,out.txt为输入信息的中央。 nohup sh test.sh>out.txt &起源:https://www.cnblogs.com/youxi...

December 2, 2020 · 1 min · jiezi

关于运维:3-款强大的开源密码管理器

咱们当初每个人都离不开互联网,所以在很多网站上都有很多帐户和明码。如果每个账号都实用同一个明码,是十分不平安的,但如果应用不同的明码,又会记不住,所以明天给大家介绍3款弱小的开源明码管理器,心愿对你们有帮忙。 1、1Password这是很多人都爱用的明码管理器,被举荐过很屡次了!1Password能帮忙治理和保留咱们所有的明码,加密后保留在本地,不同设施间可通过 Dropbox、iCloud 同步数据,在电脑浏览器或手机浏览器上装置插件后能够一键主动填写用户名明码,实现一键登录,十分不便,它反对Windows、 Mac、iOS、Android简直所有的操作系统。 2、bitwardenbitwarden是开源、收费的,不仅反对全平台同步,还反对二步验证和浏览器主动填写,通过插件和客户端,能不便地一键填入明码。它除了有网页版、iOS、Android 挪动版客户端外,还有Chrome、FireFox、Opera、Edge 浏览器插件,根本能在所有电脑手机上同步和应用你的集体明码数据。 3、KeeWebKeeWeb是开源、跨平台的明码管理工具,具备云同步,键盘快捷键和插件等性能。KeePass 有一个官网客户端,性能简略易用,并且与 KeePass 存储加密明码的文件格式兼容。它能够在 Windows、Linux 和 Mac OS 上运行。 你珍藏了吗?如果还有什么想要理解的,或者你有其余好用的明码管理器,能够在下方评论留言和大家一起探讨~ 起源:https://www.toutiao.com/i6877...

December 2, 2020 · 1 min · jiezi

关于运维:系统管理员不可错过的-6-款服务器监控工具

服务器监控工具对系统管理员的重要性显而易见。Linux 罕用监控指标总结,明天给大家介绍6个服务器监控工具,如果对你有帮忙的话,欢送转发珍藏。 这6个服务器监控工具,系统管理员不要错过! 1、ConkyConky能在多个的平台上运行,像Windows,Linux,Mac OS,大多数BSD都能够。它有简略的文本、总线进度条,图形窗口不同字体和色彩来显示信息,用户界面简略,300多个内置对象,对于系统管理员来说是个神器。 2、GlancesGlances是一个跨平台监控工具,它用Python编写,仅反对python2.7或python3.4以上版本,并且应用python库来收集零碎信息。可参考>>>零碎之眼!Linux零碎性能监控工具Glances 3、Linux DashLinux Dash的UI基于Angular构建,作用相当于Linux零碎的Web仪表板。它反对多种语言,零碎状态选项卡显示无关RAM使用率,CPU均匀负载,CPU使用率等等信息,十分全面。此外,Linux Dash还能够用WebSocket提供实时零碎数据可视化。 4、NetdataNetdata是一个开源软件,用来实时监控零碎和应用程序,可在Linux,FreeBSD,macOS,docker容器,IoT设施上运行,还能轻松和其余工具集成,如Prometheus,AWS Kinesis,Graphite,MongoDB等。咱们能够在零碎,应用程序或容器上装置Netdata代理,它会提供所有性能和运行状况信息。对了,它是收费的。可参考>>>界面酷炫,功能强大!这款 Linux 性能实时监控工具超好用!老斯机搞它! 5、Prometheus+GrafanaPrometheus是用来监控零碎指标的开源工具,Grafana是开源可视化平台。它们集成后是一个弱小的环境,可高效地监控服务器。Prometheus服务器负责收集数据,成为Grafana的数据源,而Grafana负责在仪表板上可视化所有指标,而且可查问。应用Prometheus+grafana打造高逼格监控平台 6、WardWard和简直所有风行的操作系统兼容,它次要应用OSHI(一个收费的Java库),检索操作系统和硬件信息。它能够共享操作系统版本,CPU使用率,磁盘和分区,处理器,内存等信息。 这6个服务器监控工具怎么样?欢送留言分享你应用好工具,也欢送在看与转发朋友圈反对!! 起源:https://www.toutiao.com/i6883...

November 30, 2020 · 1 min · jiezi

关于运维:摸鱼也要有技巧3个-linux-命令行工具让你假装很忙

下班摸鱼,怕被抓? 别放心,摸鱼也要有技巧,这 3个 linux 命令行工具能够让你伪装很忙! Genact咱们要看的第一个工具是 Genact。Genact 只是简略地回放你抉择的一个序列,在你进来喝茶劳动的时候缓缓地、无限期地「编译」你的代码。它播放的序列由你决定,但默认状况下它包含一个加密货币开掘模拟器、composer php 依赖管理器、内核编译器、下载器、内存治理等等。不过,我最喜爱的是显示 simcity 加载音讯的设置。因而,只有没有人查看得太认真,你就能够花整个下午的工夫期待电脑实现进度条。 Genact 有 linux、os x 和 windows 版本,Rust 源码能够在 github 上找到。 HollywoodHollywood 采取了更间接的形式。它实质上是在终端中创立一个随机数和拆分屏幕的配置,并启动看起来很忙的应用程序,如 htop、目录树、源代码文件和其余应用程序等,并每隔几秒钟进行切换。它以 shell 脚本的模式组合在一起,因而能够很容易地依据你的须要进行批改。 Hollywood 的源代码能够在 github 上的apache 2.0 许可下找到。 Blessed-contrib我集体最喜爱的是 Blessed-contrib,然而它并不是一个专门为了这种表演而设计的应用程序。相同,它是一个基于 node.js 的终端仪表板构建库的演示文件,该库名为 fordated contrib。与其余两个命令不同的是,我实际上应用了 fulded contrib 的库来做一些理论工作的事件,而不仅仅是伪装工作。它是一个十分有用的库,有能够用一组命令行显示信息的小部件。但它也很容易填充虚构数据来实现相似《WarGames》中的幻想。 在 github 上能够找到 Blessed-contrib 的源代码。 当然,尽管这些工具很简略,但有很多办法能够让你的屏幕充斥各种乱码。你将在电影中看到的最常见的工具之一是 Nmap,这是一个开源的平安扫描器。 当然,你能够创立本人的组合,应用诸如 screen 或 tmux 之类的终端多路复用器来启动你心愿的任何程序,显示你想要的数据。 原文:https://opensource.com/articl...起源:https://linux.cn/article-9591...

November 29, 2020 · 1 min · jiezi

关于运维:如何实现阶梯价采购销售提成等场景

在企业经营流动中,常常会遇到阶梯价,比方洽购单价随洽购量的不同而价格有所不同、产品销售价随销售量及审批权限不同价格也有所不同、业务员销售提成也会随销售量不同出现阶梯价等等利用场景。 思泉开发平台能够很灵便地跟进企业的理论需要进行配置从而达到用户需要。 上面以产品销售阶梯价为例进行阐明: 产品阶梯价:每一种型号都有不同梯度的阶梯价,有市场价、业务价、经理价、副总价,在应用这个价格体系时,都会去判断是属于哪个数量梯度,价格会主动带进去,业务员只会带出业务员对应梯度的价格进去,经理只能看到经理价以下的价格,副总级别能力看到副总价。是有的阶梯价格都是对立在产品阶梯价根底材料里保护。 如果有产品迭代,会呈现根底型号雷同的产品,产品代码不同、规格型号雷同的迭代产品,然而对于阶梯价,新的迭代产品的阶梯价须要保护,保护频率和保护量太大了,于是通过产品同步程序上,加上依据根底型号复制产品阶梯价的解决逻辑。 输出完产品后,需通过客户、产品来主动读取价格,读取价格的优先级是客户报价>促销价>产品阶梯价,能够通过表单js事件来解决,解决代码局部如下: //数量扭转后触发获取参考价格事件 function getProdPrice() { var qty = $(this).val();   //数量 if (qty == null || qty == '') { qty = 0; } else { qty = parseInt(qty.replace(/,/g, '')); } var custId = $('#KHMC').attr('idvalue'); if (custId == null || custId == '') { return; } var tr = $(this).closest('tr'); var prodId = $(tr).find('[sname="CPMC"]').attr('idvalue'); if (prodId == null || prodId == '') { return; } var sql = 'EXEC [UP_GET_PROD_PRICE] ' + prodId + ',' + custId + ',' + qty; ...

November 27, 2020 · 2 min · jiezi

关于运维:MySQL主从延迟问题排查二

二、案例分享二2.1 问题形容主库执行insert  select 批量写入操作,主从复制通过row模式下转换为批量的insert大事务操作,导致只读实例CPU资源以及提早上涨 16:55~17:07 2.2 解决流程1、接管到只读实例备库提早告警后,咱们察看到只读实例的CPU资源有有显著上涨,同时数据库有大量数据写入操作 2、提早期间,只读实例的tps的趋势是先降落后上涨,binlog日志量达到12.54G,能够推断出主实例传输过去的批量的写入操作是同一事务中,再加上只读实例配置绝对于主实例较低,所以导致这么大的提早 2、查看主从提早期间主实例的状况,能够看到主实例的确执行了大量的数据写入操作,以及主实例审计日志中,咱们找到了批量写入操作 3、只读实例提早趋势17:05后,只读实例tps上涨,同时同步提早开始降落 4、提早流程形容 16:43 主实例执行insert select批量写入操作,主库执行结束后,binlog以row的模式将所有的insert操作放在一个事务中传输到只读实例16:55 只读实例开始利用该大事务中的insert操作,tps跌落,数据库缓存写/日志写上涨17:05 大事务利用结束,开始同步提早期间的binlog操作,失常业务下多个小事务操作,tps上涨显著,提早开始回落10:07 主从追平提早期间的binlog,主从提早复原为0

November 25, 2020 · 1 min · jiezi

关于运维:DevOps和它的朋友们聊聊其他-Ops一

DevOps不仅仅是将麻利开发概念与IT运维相结合,还简化了在云环境中开发和部署应用程序的过程,从而使开发生命周期大大缩短。这就是DevOps作为一种开发方法风行的起因。即便在明天,DevOps依然是大多数优化管道的外围。继续交付变成了标准,而不是要实现的指标。利用的开发是迭代的,新的更新被推送到云端,用zero down代替局部或整个环境。因为有了DevOps,即便是大型的多局部更新也更加易于治理。然而,就联合软件开发和IT运维而言,DevOps这个术语并非惟一。它有着许多变体和子类型——以及概念的批改——它们被不同的软件开发团队宽泛采纳。对于许多人来说,DevOps为跨团队的良好流程(包含自动化)奠定了根底。然而为了改良方法论,团队能够采纳上面的一种或多种次要办法——因为大多数被思考的办法都是为了实现“更好的”DevOps文化而进行的调整。那么,其余须要思考的“Ops”是什么呢?它们与DevOps相比如何? DevOps vs. NoOpsNoOps背地的办法是以一种不须要外部团队进行操作的形式来自动化IT基础设施。在这种办法中,操作团队的所有保护和相似工作都是齐全自动化的,这意味着不须要手动干涉过程。NoOps的用意与DevOps类似,因为它专一于齐全自动化工具和基础设施,以改良软件部署。然而,它较少关注麻利和流程治理,因为它的工作假如是开发人员领有自动化的工具和流程,他们不须要晓得如何应用它们的具体细节。为了实现这一指标,该办法的一部分“加重”了开发人员的所有基础设施顾虑,从而从云计算中取得更多价值。与DevOps一样,这是为了避免他们执行耗时的工作,这些工作波及与IT经营团队就基础架构问题进行的所有交互。在NoOps中,开发人员不须要为资源及其散布操心,因为这正是云的作用所在。在产品实现后,云提供商还将运行进一步的运维、监督和保护。NoOps模型应用继续集成技术,容许开发人员只专一于利用程序开发。当组织开始抉择NoOps时,许多人认为这将是DevOps的终结。但在事实中,DevOps曾经倒退了,NoOps并不是一个十拿九稳的过程,只管它放慢了部署过程。我要正告不要孤立地采纳NoOps,因为它不足流程和团队治理,而凋谢的沟通通常会带来更好的后果和生产力。 DevOps vs. DevSecOps从这两种办法的名称来看,很容易置信这两种办法有一个次要区别:将安全性集成到管道中。然而,我认为它们是同一个概念。如果DevOps是“在制品”(WIP)的缩小,那么天然的停顿是在管道中进一步提高安全性。如果您须要晋升或晋升组织对多个因素的平安关注,那么这种办法十分有用。DevSecOps采纳了传统的DevOps办法,并在工作流程中增加了额定的安全检查、代码验证和深刻测试。DevSecOps从流程的一开始就集成了安全性,而不是在周期完结时让安全性成为一个问题。两者有相似之处,也有类似的次要劣势。DevOps和DevSecOps都容许CI/CD管道实现更大的自动化。只有速度和交付处于优先级列表的顶端,DevOps和DevSecOps就会持续在工作流的不同局部利用自动化。两者还依赖于在沟通和合作的帮忙下继续运行的过程。团队沟通是放弃敏捷性和交付速度的要害局部。开发人员、平安专家和运维人员之间的合作也至关重要。 DevOps vs. GitOpsGitOps是DevOps的另一个广受欢迎的分支,在过来的一年里失去了宽泛的关注。顾名思义,GitOps更关注于应用Git作为一种办法来自动化其余的继续交付管道。有了Git作为惟一的数据源,从久远来看,GitOps被认为更强壮、更可治理。能够说,施行GitOps有一些潜在的劣势。对于初学者来说,每个开发人员都相熟Git和pull申请,因而集成GitOps作为一种放慢交付速度的办法是一种简略的过程,不须要把握简单的工具,也不须要总是对工作流进行更改。GitOps还失去了市场上一些最好的云服务的反对。像AWS CodePipeline和AWS CodeBuild这样的工具是为应用Git工具而设计的,这意味着主动构建更新、测试谬误、审查代码以及将更新推送到生产环境的过程非常容易实现。GitOps还提供了一套具体的审计工具,并可能随时回滚更新。这是因为Git是每次更新的次要起源,这意味着整个管道也能够依赖Git日志来进行简略地审计。然而,因为Git是惟一的事实起源,有必要对Git存储库进行足够的爱护,以防止不必要的提交或申请。简而言之,GitOps是DevOps的一个子集,旨在利用Git的弱小劣势。因而,大多数GitOps工作流重大依赖Kubernetes作为次要的容器化运行时。

November 25, 2020 · 1 min · jiezi

关于运维:MySQL空间碎片化问题处理

一、空间碎片化重大案例分享1.1 问题形容实例磁盘空间近1个月上涨趋势显著,次要是个别日志表存储较大且局部表存在空间碎片化的景象。 1.2 解决流程1、通过日常巡检以及监控发现某实例磁盘空间近1月上涨趋势显著 2、在询问业务方是否为失常的业务增长外,查看该实例top表空间的表,排查是否存在异样较大的表 1)查看数据存储量较大的schema SELECT table_Schema , round(SUM((DATA_LENGTH + INDEX_LENGTH + DATA_FREE) / 1024 / 1024), 2) AS Total_Size FROM tables GROUP BY table_schema ORDER BY Total_Size DESC; 2)查看具体schema下top表的空间应用状况 SELECT table_schema, table_name , round(DATA_LENGTH / 1024 / 1024, 2) AS Data_Size , round(INDEX_LENGTH / 1024 / 1024, 2) AS Index_Size , round(DATA_FREE / 1024 / 1024, 2) AS Free_Size FROM tables WHERE table_schema = 'db_rim' ORDER BY Data_Size DESC LIMIT 10; ...

November 23, 2020 · 1 min · jiezi

关于运维:Linux-系统命令三剑客命令实战操作

后面写过三剑客命令的具体介绍:Linux三剑客Awk、Sed、Grep 命令详解 Grep实例介绍grep "San" testfile #过滤有San的行grep '^J' testfile #显示以J结尾的行grep '70$' testfile #显示以70结尾的行grep -v "834" testfile #显示所有不包含834的行grep ':12/' testfile #显示:12/的行 grep ':498-' testfile #显示:498-的行grep '[A-Z][a-z]{4}:[[:space:]][A-Z]' testfile #显示这样的行,一个大写字母+四个小写字母+空格+一个大写字母grep '[a-z]{1,}[[:space:]][Kk]' testfile #显示包含K k的行grep -n '[0-9]{6,}$' testfile #显示6位数字的行,并打印行号grep -i "lincoln" testfile #显示有lincoln的行,不辨别大小写Sed实例介绍sed 's/Jon/Jonathan/g' testfile #全局替换(Jon替换成Jonathan)sed '1,3d' testfile #删除文件1-3行sed -n '5,10p' testfile #打印文件5-10行内容sed '/Lane/d' testfile #删除包蕴含lane的行sed -ne '/[1-9]{5}:1[12]/p' testfile #打印由5个数字+:11/12的行sed 's/^Fred/***&/' testfile #在以Fred结尾的行前加上***sed -e 's/.*Jose.*/JOSE HAS RETIRE/g' testfile #将蕴含Jose的行替换成JOSE HAS RETIREsed -n '/^Popeye/p' testfile |sed 's/[0-9]{1,}/[0-9]{1,}/[0-9]{1,}/11/14/46/' #将以Popeye结尾的行打印,而后将“数字/数字/数字”这格局的数字串替换成 11/14/46##pattern{n} 匹配模式呈现n次。##pattern{n,} 匹配模式呈现起码n次。##pattern{n,m} 匹配模式呈现n到m次之间,n , m为0 - 2 5 5中任意整数sed '/^$/d' testfile #删除所有空行sed 's/.$//g' #删除以.结尾行sed 's/^[][]*//g' #删除行首空格sed 's//.[][]*/[]/g' #删除句号后跟两个或更多的空格,用一个空格代替sed 's/^.//g' #删除第一个字符sed 's/COL/(.../)//g' #删除紧跟COL的后三个字符sed 's/^////g' #删除门路中第一个/sed -n '3,/245700/'p testfile#从第三行开始查问到245700完结并打印sed -n '2,26!'p testfile#打印文件(除2-26)的行Awk实例介绍awk –F : ‘{print $2}’ datafile#以:分隔打印第二列awk –F : ‘/^Dan/{print $2}’ datafile#以:分隔打印以Dan结尾行的第二列内容awk –F : ‘/^[CE]/{print $1}’ datafile #打印以C或E结尾行的第一列awk –F : ‘{if(length($1) == 4) print $1}’ datafile #打印以:分隔且长度为4字符的第一列内容awk –F : ‘/[916]/{print $1}’ datafile#匹配916的行以:分隔打印第一列awk -F : '/^Vinh/{print "a"$5}' 2.txt#显示以Dan结尾行并在第五列前加上aawk –F : ‘{print $2”,”$1}’  datafile#打印第二列第一列并以,分隔awk -F : '($5 == 68900) {print $1}' 2.txt#以:分隔打印第五列是68900的行第一列 awk -F : '{if(length($1) == 11) print $1}' 2.txt#打印以:分隔且长度为4字符的第一列内容awk -F : '$1~/Tommy Savage/ {print $5}' 2.txtawk -F : '($1 == "Tommy Savage") {print $5}' 2.txt#打印以:分隔且第一列为Tommy Savage的第五列内容ll |awk 'BEGIN {size=0;} {size=size+$5;} END{print "[end]size is ",size}'#统计目录个的文件所有的字节数awk 'BEGIN{size=0;} {size=size+$5;} END{print "[end]size is ",size/1024/1024,"M"}' #以M为单位显示目录下的所有字节数awk 'BEGIN{a=10;a+=10;print a}'20 #a+10等价于 a=a+10echo|awk 'BEGIN{a="100testaaa"}a~/test/{print "ok"}' #正则匹配a 是否有test字符,成立打印okawk 'BEGIN{a="b";print a=="b"?"ok":"err"}'okawk 'BEGIN{a="b";print a=="c"?"ok":"err"}'err#三目运算符?:awk '/root/{print $0}' passwd #匹配所有蕴含root的行awk -F: '$5~/root/{print $0}' passwd # 以分号作为分隔符,匹配第5个字段是root的行ifconfig eth0|awk 'BEGIN{FS="[[:space:]:]+"} NR==2{print $4}'#打印IP地址awk '{print toupper($0)}' test.txt#toupper是awk内置函数,将所小写字母转换成大写 ...

November 21, 2020 · 2 min · jiezi

关于运维:Linux-运维必知必会的-MySql-企业面试题

1、如何启动MySql服务 /etc/init.d/mysqld start service mysqld startCentos 7.x 零碎 sysctl  start mysqld2、检测端口是否运行 lsof -i :3306 netstat -lntup |grep 3306 3、设置或批改MySql明码 设置明码 mysql -uroot -ppassword -e "set passowrd for root = passowrd('passowrd')"mysqladmin -uroot passowrd "NEWPASSWORD"更改明码 mysqladmin -uroot passowrd oldpassowrd "NEWPASSWORD"use mysql;update user set passowrd = PASSWORD('newpassword') where user = 'root';flush privileges;msyql 5.7以上版本批改默认明码命令 alter user 'root'@'localhost' identified by 'root' 4、登陆数据库 mysql -uroot -ppassword05 5、查看以后数据库的字符集 show create database DB_NAME;6、查看以后数据库版本 ...

November 21, 2020 · 3 min · jiezi

关于运维:拥有此神技脚本调试从此与-echosettest-说分手

为什么要为 Bash 脚本写单元测试?因为 Bash 脚本通常都是在执行一些与操作系统无关的操作,可能会对运行环境造成一些不可逆的操作,比方批改或者删除文件、降级零碎中的软件包等。 所以为了确保 Bash 脚本的安全可靠,在生产环境中部署之前肯定须要做好足够的测试以确保其行为合乎咱们的预期。 如何可能安全可靠的去测试 Bash 脚本呢?有人可能会说咱们能够用 Docker 容器。是的,这样做即平安又不便。在容器隔离进去的环境中不必放心脚本会毁坏咱们的零碎,而且也能非常简单的疾速重建出一个可用的测试环境。 不过呢,请思考以下的几个常见的场景: 场景一:在执行 Bash 脚本测试前,咱们须要须要当时装置好所有在 Bash 脚本中会用到的第三方工具,否则这些测试将会因为命令找不到而执行失败。例如,咱们在脚本中应用了 Bazel 这个构建工具。咱们必须提前装置并配置好 Bazel,而且不要遗记为了可能失常应用 Bazel 还得须要一个反对应用 Bazel 构建的工程。场景二:测试后果的稳定性可能取决于脚本中拜访的第三方服务的稳定性。比方,咱们在脚本中应用 curl 命令从一个网络服务中获取数据,但这个服务有时候可能会拜访失败。有可能是因为网络不稳固导致的,也可能是因为这个服务自身不稳固。再或者如果咱们须要第三方服务返回不同的数据以便测试脚本的不同分支逻辑,但咱们可能很难去批改这个第三方服务的数据。场景三:Bash 脚本的测试用例的执行工夫取决于脚本中应用的命令的执行工夫。例如,如果咱们中脚本中应用了 Gradle 来构建一个工程,因为不同的工程大小 Gradle 的一个构建可能要执行3分钟或者3个小时。这还只是一个测试用例,如果咱们还有20个或者100个测试用例呢?咱们是否还能在几秒内取得测试报告呢?即便应用了容器来执行 Bash 脚本测试,也一样无奈防止下面的几个问题。环境的筹备过程可能会随着测试用例的增多而变的繁琐,测试用例的稳定性和执行时长取决于第三方命令和服务的稳定性和执行时长,还可能很难做到应用不同数据来笼罩不同的测试场景。 对于测试 Bash 脚本来说,咱们真正要验证的是 Bash 脚本的执行逻辑。比方在 Bash 脚本中可能会依据传入的参数来组合出外部所调用的命令的选项和参数,咱们要验证的是这些选项和参数的确如咱们预期的。至于调用的命令在承受了这些选项和参数后因为什么起因而失败,可能咱们并不关怀这所有的可能起因。 因为这会有更多的内部影响因素,比方硬件和网络都是否工作失常、第三方服务是否失常运行、构建工程所需的编译器是否装置并配置得当、受权和认证信息是否都无效、等等。但对于 Bash 脚本来说,这些内部起因导致的后果就是所调用的命令执行胜利或者失败了。所以 Bash 脚本只有关注的是脚本中调用的命令是否可能胜利执行,以及命令输入了哪些,并决定随后执行脚本中的哪些不同分支逻辑。如果说咱们就是想晓得这个命令搭配上这些选项参数是否能按咱们预期的那样工作呢?很简略,那就独自在命令行外面去执行一下。如果在命令行中也不能按预期的工作,放到 Bash 脚本外面也一样不会按预期的工作。这种谬误和 Bash 脚本简直没什么关系了。 所以,为了尽量去除影响 Bash 脚本验证的那些内部因素,咱们应该思考为 Bash 脚本编写单元测试,以关注在 Bash 脚本的执行逻辑上。 什么样的测试才是 Bash 脚本的单元测试?首先,所有存在于 PATH 环境变量的门路中的命令都不应该在单元测试中被执行。对 Bash 脚本来说,被调用的这些命令能够失常运行,有返回值,有输入。但脚本中调用的这些命令都是被模仿进去的,用于模仿对应的实在命令的行为。这样,咱们在 Bash 脚本的单元测试中就防止了很大一部分的内部依赖,而且测试的执行速度也不会受到实在命令的影响了。 ...

November 20, 2020 · 3 min · jiezi

关于运维:MySQLMySQL执行计划

应用explain关键字能够模仿优化器执行SQL查问语句,从而晓得MySQL是如何解决你的SQL语句的,剖析你的查问语句或是表构造的性能瓶颈。 explain执行打算蕴含的信息 每列的内容 列 含意 id 执行打算的id标记 select_type select的类型 table 输入记录的表 partitions 匹配的分区 type join的类型 possible_keys 优化器可能抉择的索引 key 优化器理论抉择的索引 key_len 应用索引的字节长度 ref 进行比拟的索引列 rows 优化器预估的记录数量额定的显示选项 filtered 依据条件过滤失去的记录的百分比 extra 额定的显示选项 1、执行打算的 idselect 查问的序列号,标识执行的程序 id 雷同,执行程序由上至下id 不同,如果是子查问,id 的序号会递增,id 值越大优先级越高,越先被执行2、执行打算的 select_type查问的类型,次要是用于辨别一般查问、联结查问、子查问等。 SIMPLE:简略的 select 查问,查问中不蕴含子查问或者 unionPRIMARY:查问中蕴含子局部,最外层查问则被标记为 primaryUNION:示意 union 中的第二个或前面的 select 语句DEPENDENT UNION:union 中的第二个或前面的 select 语句,依赖于里面的查问UNION RESULT:union 的后果SUBQUERY:子查问中的第一个 selectDEPENDENT SUBQUERY:子查问中的第一个 select,依赖于里面的查问DERIVED:派生表的 select(from 子句的子查问)MATERIALIZED:物化子查问产生两头长期表(实体)长期表主动创立索引并和其余表进行关联,进步性能和子查问的区别是,优化器将能够进行 MATERIALIZED 的语句主动改写成 join,并主动创立索引UNCACHEABLE SUBQUERY:不会被缓存的并且对于内部查问的每行都要从新计算的子查问UNCACHEABLE UNION:属于不能被缓存的 union 中的第二个或前面的 select 语句3、执行打算的 table查问波及到的表。 ...

November 20, 2020 · 4 min · jiezi

关于运维:Linux-系统多网卡环境下的路由配置

Linux下路由配置命令1.增加主机路由 route add -host 192.168.1.11 dev eth0route add -host 192.168.1.12 gw 192.168.1.12.增加网络路由 route add -net 192.168.1.11 netmask 255.255.255.0 eth0route add -net 192.168.1.11 netmask 255.255.255.0 gw 192.168.1.1route add -net 192.168.1.0/24 eth0route add -net 192.168.1.0/24 gw 192.168.1.13.增加默认网关 route add default gw 192.168.1.14.删除路由 route del -host 192.168.1.11 dev eth05.删除默认路由 route del default gw 192.168.1.1Linux下配置永恒路由的几种形式1.在/etc/rc.local里增加路由信息 route add -net 192.168.1.0/24 dev eth0# 或者route add -net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.12.在/etc/sysconfig/network里追加 GATEWAY=[网关IP或者网关网卡名称]3./etc/sysconfig/static-routes any net 192.168.1.0/24 gw 192.168.1.1# 或者any net 192.168.1.0 netmask 255.255.255.0 gw 192.168.1.14.开启IP转发 1.长期开启 echo "1" > /proc/sys/net/ipv4/ip_forward2.永恒开启 vim /etc/sysctl.conf批改net.ipv4.ip_forward=1试验:配置双网卡主机同时应用内网和外网本试验的背景是笔者在实践中遇到过的一个问题,本试验尽量还原过后的网络环境。仅当做一份笔记,同时分享给遇到此问题的同学。 奈何我当初没有硬件呀(T_T)...只能拿VMware Workstation和eNSP来模拟实验环境了。 问题背景如下图拓扑所示,如果去掉client节点,内网和外网就是互相隔离的网络。 然而理论状况是,client节点既须要拜访外网资源,又须要拜访内网资源,而client只能配置一条默认路由。如果将默认路由配置在外网网卡,client能够拜访172.16.2.0/24网络的资源和外网的资源,然而其余内网资源将无法访问;如果将默认路由配置在内网网卡,client尽管能够齐全拜访内网资源,然而却不能拜访外网资源。怎么解决呢? 试验环境VMware Workstation Pro4台最小化装置的CentOS 7.3虚拟机华为eNSP模拟器试验拓扑 去掉client节点,内网和外网是隔离的网络。外网网络为10.0.0.0/16,代表运营商的接入网;内网网络为172.16.0.0/16,代表内网局部(该局部为了平安,不容许对互联网的间接拜访)。其中: client为双网卡的主机,两网卡网段别离为10.0.0.0/16、172.16.2.0/24;server2为172.16.2.0/24网段的服务器;server3为172.16.3.0/24网段的服务器;server4 为172.16.4.0/24网段的服务器。网络布局 内网路由器如何实现呢?VMnet2、VMnet3、VMnet4均为仅主机模式,那么惯例状况下,只有其网络内的各计算机之间才能够通信,要怎样才能实现三个网络间的通信呢? 答案是应用华为eNSP模拟器中的Cloud。应用Cloud设施能够将eNSP中的路由器和VMware虚拟机的网卡连接起来。 配置内网环境配置eNSP的路由器 <huawei>system-view[huawei]int g0/0/0[Huawei-GigabitEthernet0/0/0]ip address 172.16.2.254 255.255.255.0[Huawei-GigabitEthernet0/0/0]quit[huawei]int g0/0/1[Huawei-GigabitEthernet0/0/1]ip address 172.16.3.254 255.255.255.0[Huawei-GigabitEthernet0/0/1]quit[huawei]int g0/0/2[Huawei-GigabitEthernet0/0/2]ip address 172.16.4.254 255.255.255.0[Huawei-GigabitEthernet0/0/2]quit[huawei]批改虚机的IP地址在server上搭建HTTP服务 以server2为例: 应用Python创立一个简略的HTTP服务 cd ~echo "server2" > index.htmlpython -m SimpleHTTPServer 8080 对照试验,在client上拜访外网 ping www.baidu.com -c 4在client上拜访server2 ping 172.16.2.11 -c 4 在client上拜访server3 ping 172.16.3.11 -c 4 在client上拜访server4 ping 172.16.4.11 -c 4在对照试验中能够看到,在client将默认网关配置在外网网卡的状况下,双网卡的client能够失常拜访外网和内网的172.16.2.0/24局部,而172.16.3.0/24和172.16.4.0/24是不能拜访到的。 为什么client能拜访172.16.2.0/24网络,而不能拜访172.16.0.0/16的其余网络呢? 因为client位于172.16.2.0/24网络内,在网络内进行通信,数据包不必发送至其余网络,当然默认网关也就不起作用了。 而当client与172.16.0.0/16的其余网络通信时,client的路由表没有记录发往目标地址的门路,所以client只能傻傻的把数据包发送给默认网关,从此数据包和真正的目标地址就“背道而驰”了。当然ping的后果就是网络不可达。 路由配置在client上查看路由表在client上增加路由 route add -net 172.16.0.0/16 gw 172.16.2.254永恒配置,则在/etc/rc.local里增加路由信息 route add -net 172.16.0.0/16 gw 172.16.2.254查看路由表 试验后果检测连通性 ping www.baidu.com -c 4 ping 172.16.2.11 -c 4 ping 172.16.3.11 -c 4 ping 172.16.4.11 -c 4 拜访内外网资源 curl http://www.baidu.com/ curl http://172.16.2.11:8080/index.htmlcurl http://172.16.3.11:8080/index.htmlcurl http://172.16.4.11:8080/index.html解决的方法很简略,就是1条命令而已。然而蕴藏在这条命令背地的原理、概念、实践,则须要咱们进行深究! 链接:https://www.cnblogs.com/conne...

November 18, 2020 · 1 min · jiezi

关于运维:断供危机or契机开源商业化or社区化后疫情下的开源路这样走-大咖对话

美国继续对华的技术断供如何破局?国产企业是否要打造独立的开源体系?国内技术生态和社区如何实现初长成?在刚刚过来的2020易观A10数据智能峰会及其开发者日上,大会立足于对简单数据结构下技术环境的深刻察看,现场汇合泛滥数据技术大咖、开发者和爱好者,独特探讨面向用户的多维数据分析之道。 在主题为【正在沉睡的开源时代】的圆桌论坛上,Kyligence 技术合伙人兼产品负责人李栋、前 Greenplum 北京研发核心总经理/现北京四维纵横数据技术有限公司创始人姚延栋、易观 CTO 郭炜三位大咖进行了热烈探讨。 开源的契机与意义技术的提高和新的解决方案,很多都与开源工具有很大关系,那企业决定做开源的契机是什么?企业投入开源的意义何在? 姚延栋首先发表了他的认识,他认为,企业要不要开源或者什么时候开源?能够分为三类,第一类是推的,即企业被动开源,在最后就下定了开源的信心。第二类是拉的,即企业被迫开源,因为错过了开源的最佳时期,所以这类我的项目的后果大都不是很好。第三类是半推半就的,例如Greenplum,为了适应公司数字化转型的策略,在2015年决定开源。当然,每种开源的形式没有相对的长处。 李栋则从不同类型企业开源的意义角度登程分享了他的观点。互联网企业的开源,不是以卖软件盈利为目标,更多的是为了技术创新,进步本身的技术影响力。对于互联网企业而言,人才是企业最重要的生产力,他们能够解决最具挑战性的问题。同时,人才也须要更高的技术影响力来吸引他们退出,而开源就是企业向外界展现技术实力、打响技术品牌在社区中声量的要害一步。 对于商业软件企业来说,通过开源能够关上更多的市场,更重要的一点是,开源能够放弃以技术驱动业务倒退的生机。在开源流行前,商业软件企业是以客户需要为驱动的,像解算术题一样通过寻找适合的技术来解决客户的理论需要;或者从行业剖析角度登程,看以后行业须要哪些技术,这都是靠业务驱动技术倒退,在这个体系下技术是满足于业务的。当初之所以开源,是因为企业发现技术能够当先于业务,能够降维打击式的满足以后业务上面临的挑战。 李栋说:“我认为做开源是放弃技术初心,让技术驱动业务倒退的很好的形式。” 郭炜认为,最后大多数的开源发迹者是现实派的。软件代码自身没有商业价值,软件代码自身附带的服务才具备商业价值。最后一批的开源者大都保持着这样的精力,将能够盈利的软件开源进去。 当初这个时代与过来不同,应用场景才是企业最大的外围价值。技术人员通过开源的形式,间接接触到更多的用户应用场景,将这些应用场景积淀下来,在基于这些应用场景衍生出的商业版本、商业服务来实现盈收,这才是现今开源的做法。特地是随同着云原生时代的到来,代码自身没有意义,代码附带的服务、背地的应用场景以及保护的用户才是有意义的。 郭炜示意:“当初这个时代曾经变成新的时代,曾经不是过来的软件时代,而是开源成为支流的时代。”无论是半推半就的开源,还是理想主义者的被动开源,或是为了商业胜利的被动开源,都是推动企业做开源的契机,都应该去反对。 开源是否有国界受2020年寰球经济政治的影响,开源界也有了一些新的变动。晚期在开源社区,广泛的观点认为开源是无国界、是共享的。但最近呈现了开源断供说、开源有国界等舆论。对此,三位老师也都发表了本人的认识。 姚延栋示意,开源无国界,但开源的人是有国界的,这是实质问题。开源是否断供,要落实到具体我的项目上看,中国人曾经可能齐全驾驭的我的项目,就不存在断供说;但当我的项目的次要负责人来自美国时,如果美国抉择断供,那咱们只能拿到数据库里的snapshot,失去了持续翻新的能力。 李栋对姚老师的观点示意认同,他认为,一个我的项目是否会受政治经济的影响,是取决于所有社区的用户在我的项目里是否有足够的创新力,是否违心持续应用、撑持和保护被被封闭的我的项目。从另外一个角度看,开源断供目前还没有产生,不过通过屡次的预演和探讨,曾经为给国内的开源界带来了警示作用,并为之后社区的长期衰弱倒退起到了很好的推动作用。 几年前,国内的开源我的项目是各自为战的状态。在现今这样的大环境下,很多社区以及大型企业,一方面在成立本人的开源组织和基金会,另一方面在开源协定上也有冲破,包含华为的木兰协定等等层出不穷,国内开源的成熟度在往年开源断供的状况下失去了进一步倒退。开源者、开源我的项目的抱团取暖,会让国家整个技术实力飞速发展。 李栋示意,“咱们之所以放心政治经济对开源的影响,是因为咱们更加关注开源协定背地的契约精力。今后,国内技术圈对开源协定会更尊重,同时也会着重思考如何用开源协定爱护本人。” Kyligence 技术合伙人兼产品负责人 李栋 郭炜则发表了不一样的认识,他认为断供不会在国内产生。 首先,开源最重要的是社区外面的人,如果没有贡献者、使用者,那么开源是没有很大生命力的。例如Apache社区乃至其董事会成员,都是开源理想化的人,无论是美国人、澳大利亚人,还是欧洲某些国家的人,他们的共同理想是为开源做奉献。即使中美关系呈现重大问题,敞开的只是网站,开源精力不会呈现任何变动,这些人还在,也不会阻止这些人持续为开源做奉献。 其次,中国当初很难独立倒退出很好的开源社区。因为外围我的项目里的高水平的架构师大部分还是在美国、欧洲等先进的地区,即使中国人本人闭门造车,做出自认为很好的开源社区,也肯定会有被国外更先进技术轰开大门的时候。因而咱们须要以更加凋谢的姿势,接收美国、澳大利亚等各个国家的海内开发者,毕竟人才是最重要的。 郭炜的观点是,“第一,咱们不必放心国内关系,它不会影响开源的精力;第二,咱们肯定不要闭关锁国,目前国内的高手还在缓缓培养阶段,因而须要以更加凋谢的心态拥抱海内的大牛。” 所以无论是否开源断供,咱们还是要一直地去做开源,参加到国外的我的项目中,用更加凋谢的姿势,坚守开源的精力。 开源我的项目商业化开源也有本人的法令,随着这些license的呈现,像Kylin、Greenplum等开源软件也辨别出了开源版与商业版,为国内的开源软件提供了很好的商业化参考。那三位老师对开源我的项目商业化的认识如何?让咱们逐个来看。 姚延栋以Greenplum的实在案例登程,表白了本人的认识。他提到,美国一家出名顶部汽车厂商应用Greenplum做我的项目,在达到本人的预期成果后,间接领取了相应的款项。这家汽车厂商齐全具备相应的经济与技术实力将Greenplum开源我的项目拿到商业板上应用,但它没有这么做。因为从经济学原理角度来讲,这不是最优化的配置。这种状况在美国很常见,然而在中国却很难遇到,即使有,也会要求在价格上做优惠。 商业化更重要的是大环境和意识。美国通过几百年的资本主义倒退和企业倒退,商业化环境意识曾经十分发达,但在中国还有肯定的倒退空间。因而我国现阶段的开源我的项目商业化,除了在社区中做宣传之外,还须要为企业营收负责。因而商业版本大多都是当先于开源版本的,这就决定了企业须要做一些商业价值高的能力闭源化,从而可能晋升产品的商业价值。 北京四维纵横数据技术有限公司创始人 姚延栋 李栋也从Kyligence的产品登程来表述本人的观点,在Kyligence目前的产品中,Kylin是外围,但给客户提供产品或服务时,不只提供Kylin,会依据企业客户的需要,提供闭源的组件或其余的服务。Kylin的一些企业用户,他们的工程师也会成为Kylin社区的外围骨干,但如果呈现技术人员的变动状况,那么企业用户在Kylin上的投入和应用可能会呈现断档,新技术人员的新想法或者在投入上的变动,会让企业在利用Kylin上受到很大影响,外部难免会呈现一些要批改技术架构的状况。这些状况对于谋求技术创新、技术革新很快的互联网企业是可能接受的,但对于金融、制作、电信、批发这些谋求稳固、一致性的企业来讲,是比拟艰难的。例如,银行的业务人员曾经在用的零碎,因为人员变动而导致的零碎变动,就是灾难性的事件。 对于大型企业来讲,他们会更加关注企业技术的一致性以及企业的服务。Kyligence除了外围的开源技术,对企业的服务,对企业个性的理解,是其产品致胜的要害。Kyligence可能确保企业客户不须要投入太多的人力,就能把Kyligence的产品用好;也能保障技术人员的更迭,不会对产品的技术和架构造成很大的变动,这是开源我的项目商业化带来的更大的价值。 另一个角度是,在云原生的趋势下,如何把开源技术和云技术更好的集成、联合,除了在技术方面有所突破,也须要商业力量推动云原生的落地。 郭炜的观点是,开源商业化在目前在国内处于十分难堪的场面,例如Greenplum与Kyligence的次要支出来自于海内,这是由整个社会倒退过程决定的。例如美国,首先人员老本高,企业会特地尊重每个人的奉献与付出;其次,企业对开源商业化看得很分明,应用开源我的项目而不付费,间接会导致开源我的项目的迭代艰难,甚至是开源我的项目的敞开,进而导致企业也会付出微小的转型、迁徙代价。而国内的开源时代正在沉睡,企业的每个部门还没有将开源商业化想得很分明。 开源的商业模式无外乎以下几种,运维的服务、商业的版本,或者将整个外围开源作为商业组件去免费。目前的商业模式是通顺的,随着国内企业管理人员对开源生态、商业逻辑的缓缓了解,置信国内的开源免费模式会越来越清晰。 中国的开源界还是一个守业阶段,须要更多的理想主义者,保持走上来,让开源生态变得更好。 开源社区何如蓬勃发展优良的工程师、技术大咖大都汇集在开源社区。开源社区在组建和经营中会遇到很多挑战,并不是将代码奉献进去,就能够解决。那么如何能力让开源社区蓬勃发展呢? 姚延栋示意,如何让一个开源社区蓬勃发展?首先要分明这个社区的实质是什么,而后能力去做设计或策略。例如Greenplum社区就是一个优良的开源社区,Greenplum社区是没有公司管制的,社区里就是一群理想主义者,只想把开源做好,为社区奉献了十分多的力量。 因为一家公司的初衷是会影响到开发人员的。毕竟开源我的项目的真正外围是开发者,想吸引用户,能够间接把产品收费给用户应用就好了,齐全不须要开源。但对于理想主义者来说,开源的目标是在应用过程中发现问题、解决问题,吸引更多的人退出到技术建设中,这才是比拟衰弱的开源我的项目。近两年,反而很多国内开源我的项目的外围目标是做Go-to-Marketing,通过开源做营销,而并不是把产品奉献进来。 李栋在开源社区经营上的倡议是“新陈代谢”,尤其是在造就开发者方面,要一直推出陈腐的脸孔、骨干人才。最早的贡献者、创办者应该通过商业公司接触业务或者行业须要方,来布局技术方向、走势以及技术架构;新人在社区中应该表演外围的技术开发力量,施展技术推动和演进的作用。社区经营方应该利用好社区交换的机会,在造就新人上花更多的心理。 郭炜也十分同意其余两位老师的认识,他认为: 首先,开源社区不是把代码放进去能够了,开源最重要的是贡献者,社区里须要有贡献者能力保障社区的生命力,贡献者奉献的兴许是代码,兴许是社区的经营,这样社区能力做得更好。 其次,开源社区的外围骨干,要把握外围产品的理念和将来的发展趋势。例如Click House的核心理念是“Click House就是快”,社区须要围绕着核心理念去做,产品能力一直地更新迭代。开源自身不是价值,要分明产品的价值,能力让社区蓬勃发展。 最初,开源要保持。很多时候开源并不是一帆风顺的,须要一直尝试,才会有新的我的项目产生,用户也是一个、两个缓缓积攒而来的。 易观CTO  郭炜 开源社区的蓬勃发展,首先要分明本人技术、产品的价值主张;其次,除了产品价值主张,社区里的人也愈发重要,因而研发工程师会间接面临到各种理论的问题,不仅要写文档、写代码,还要做布道师,吸引更多的年轻人退出社区。最初,不是只有技术大咖能力参加开源社区的建设中来,每个人做一点小事件,社区就会越来越好。 尾 声 2020年的疫情,岂但减速了数字化的浪潮,也掀起了对于开源信创的热烈探讨。开源不仅仅是代码,更须要有产品的核心理念和调性;开源也不等于收费,须要一个精心设计的商业模式;当然开源更不是让人望其项背,须要迷信、继续的社区治理。开源不是蠢才的甜点,而是怠惰者的盛宴。

November 17, 2020 · 1 min · jiezi

关于运维:Linux-Shell-中-的作用

一、小括号,圆括号()1、单小括号 () ①命令组。括号中的命令将会新开一个子shell程序执行,所以括号中的变量不可能被脚本余下的局部应用。括号中多个命令之间用分号隔开,最初一个命令能够没有分号,各命令和括号之间不用有空格。 ②命令替换。等同于cmd,shell扫描一遍命令行,发现了构造,便将(cmd)构造,便将(cmd)中的cmd执行一次,失去其规范输入,再将此输入放到原来命令。有些shell不反对,如tcsh。 ③用于初始化数组。如:array=(a b c d) 2、双小括号 (( )) ①整数扩大。这种扩大计算是整数型的计算,不反对浮点型。((exp))构造扩大并计算一个算术表达式的值,如果表达式的后果为0,那么返回的退出状态码为1,或者 是"假",而一个非零值的表达式所返回的退出状态码将为0,或者是"true"。若是逻辑判断,表达式exp为真则为1,假则为0。 ②只有括号中的运算符、表达式合乎C语言运算规定,都可用在((exp))中,甚至是三目运算符。作不同进位(如二进制、八进制、十六进制)运算时,输入后果全都主动转化成了十进制。如:echo((16#5f)) 后果为95 (16进位转十进制) ③单纯用 (( )) 也可重定义变量值,比方 a=5; ((a++)) 可将 $a 重定义为6 ④罕用于算术运算比拟,双括号中的变量能够不应用符号前缀。括号内反对多个表达式用逗号离开。只有括号中的表达式合乎C语言运算规定,比方能够间接应用for((i=0;i<5;i++)),如果不应用双括号,则为foriin‘seq04‘或者foriin0..4。再如能够间接应用if((i<5)), 如果不应用双括号, 则为if [ $i -lt 5 ]。 二、中括号,方括号[]1、单中括号 [] ①bash 的外部命令,[和test是等同的。如果咱们不必绝对路径指明,通常咱们用的都是bash自带的命令。if/test构造中的左中括号是调用test的命令标识,右中括号是敞开条件判断的。这个命令把它的参数作为比拟表达式或者作为文件测试,并且依据比拟的后果来返回一个退出状态码。if/test构造中并不是必须右中括号,然而新版的Bash中要求必须这样。 ②Test和[]中可用的比拟运算符只有==和!=,两者都是用于字符串比拟的,不可用于整数比拟,整数比拟只能应用-eq,-gt这种模式。无论是字符串比拟还是整数比拟都不反对大于号小于号。如果切实想用,对于字符串比拟能够应用本义模式,如果比拟"ab"和"bc":[ ab < bc ],后果为真,也就是返回状态为0。[ ]中的逻辑与和逻辑或应用-a 和-o 示意。 ③字符范畴。用作正则表达式的一部分,形容一个匹配的字符范畴。作为test用处的中括号内不能应用正则。 ④在一个array 构造的上下文中,中括号用来援用数组中每个元素的编号。 2、双中括号[[ ]] ①[[是 bash 程序语言的关键字。并不是一个命令,[[ ]] 构造比[ ]构造更加通用。在[[和]]之间所有的字符都不会产生文件名扩展或者单词宰割,然而会产生参数扩大和命令替换。 ②反对字符串的模式匹配,应用=~操作符时甚至反对shell的正则表达式。字符串比拟时能够把左边的作为一个模式,而不仅仅是一个字符串,比方[[ hello == hell? ]],后果为真。[[ ]] 中匹配字符串或通配符,不须要引号。 ③应用[[ ... ]]条件判断构造,而不是[ ... ],可能避免脚本中的许多逻辑谬误。比方,&&、||、<和> 操作符可能失常存在于[[ ]]条件判断构造中,然而如果呈现在[ ]构造中的话,会报错。比方能够间接应用if [[ $a != 1 && $a != 2 ]], 如果不实用双括号, 则为if [ $a -ne 1] && [ $a != 2 ]或者if [ $a -ne 1 -a $a != 2 ]。 ...

November 15, 2020 · 1 min · jiezi

关于运维:Apache-ShardingSphere-500alpha版本发布

本期看点Apache ShardingSphere是一套开源的分布式数据库中间件解决方案组成的生态圈,它由Sharding-JDBC、Sharding-Proxy和Sharding-Sidecar(布局中)这3款互相独立的产品组成。他们均提供标准化的数据分片、分布式事务、数据迁徙、数据库治理和管控界面性能,可实用于如Java同构、异构语言、容器、云原生等各种多样化的利用场景。 本次版本公布间隔上次 4.1.1 的公布已有5个月无余,在这期间 Apache ShardingSphere一直的打磨优化,修复社区反馈的问题,增强性能和开发新个性。 在这里咱们很快乐的发表 5.0.0-alpha 的公布!大家的期待是值得的。5.x 是 Apache ShardingSphere从分库分表中间件向分布式数据库生态转化的里程碑,从 4.x 版本前期开始打磨的可插拔架构在 5.x 版本已逐步成型,我的项目的设计理念和 API 都进行了大幅晋升。欢送大家测试应用! 5.0.0-alpha 具体版本公布信息如下: A.新个性1.可插拔架构全面上线,反对开发者通过SPI机制扩大性能。(扩大点请参见开发者手册:https://shardingsphere.apache...)2.提供独立SQL解析性能,用于解析多数据库方言。3.提供RDL(Rule Definition Language)语句,反对应用SQL在线创立分片规定。4.新增影子数据库性能。 B.编译 & 依赖1.降级JDK的最低反对版本至Java8。2.更新Google Guava库到29.0-jre版本。3.更新Zookeeper 至 3.6.x 版本,并更新curator至5.1.0版本。 C.API 变更1.全新分片/数据加密/影子库/主从规定配置API。2.全新分片策略及分片算法API。3.全新弹性迁徙创立工作的API。4.删除DefaultDataSourceName配置项,由ShardingSphere托管所有数据源。5.属性配置项分隔符由点‘.’批改为减号‘-’。6.参数allow.range.query.with.inline.sharding由全局参数调整至分片算法参数。 D.重构1.根据数据库方言,重构解析模块域模型对象。2.应用SPI机制重构元数据在线变更解决。3.Orchestration模块重名为Governance模块。4.MasterSlave模块重名为QueryReplica模块。5.重构Governance注册核心中的元数据结构。6.ShardingSphere UI合并配置核心和注册核心显示布局。 E.加强1.MySQL SQL 和 PostgreSQL语法定义及解析反对加强。2.加强对各方言数据库子查问的反对度。3.反对对非分片表应用MySQL视图操作。4.ShardingSphere Proxy反对对非分片表应用MySQL存储函数、存储过程操作。5.反对应用SQLServer Top语法。6.优化接入端metadata加载形式,进步启动速度。7.优化批量插入性能。8.接入端反对应用Oracle RAC连贯串。9.XA事务管理器减少对Oracle数据库的反对。10.ShardingSphere Proxy反对应用p6sy驱动。11.迁徙工具反对断点续传性能。12.迁徙工具反对应用ShardingSphere JDBC迁徙数据至新集群。 F.破绽修复1.修复解决OrderBy条件时,别名改写谬误问题。2.修复MySQL Insert语句蕴含表达式时,SQL改写谬误问题。3.修复Update on duplicate SQL中参数计算错误问题。4.修复批量插入时,generatedKeys获取谬误的问题。5.修复DML语句更新操作多表校验异样问题。6.修复表不存在时执行SQL导致NPE问题。7.修复对不在配置规定中的表应用Show table命令的报错问题。8.修复Oracle数据库在多用户场景下元数据加载谬误问题。9.修复不能在线启用从库节点问题。10.修复ShardingSphere JDBC不反对PostgreSQL数组类型问题。11.修复ShardingSphere Proxy在查问超长blob数据时无响应问题。 G.变更日志 MILESTONEhttps://github.com/apache/sha... H.ShardingSphere-UI1.合并配置核心和注册核心。2.反对配置etcd注册核心。3.反对查看metadata。4.反对动静删除schema。 社区建设 Apache ShardingSphere 在社区建设方面也获得了较大的胜利,ShardingSphere 自开源以来始终备受关注,在GitHub上始终放弃着稳固的增长趋势,截止目前曾经冲破12k+ stars。并且已登记的应用公司/组织140+且笼罩了各行各业,如互联网金融,物流,在线教育,企业服务,甚至还包含政府机关。未声明的公司成千上万,无奈精确统计。感激大家对社区建设的反对。此外,Apache ShardingSphere自开源以来共产生164位 Contributor,29位 Committer(含17位PMC),在此也要感激他们对社区的奉献。点击查看Contributor列表:https://github.com/apache/inc... 欢送更多的用户与应用公司查看与注销:https://shardingsphere.apache... Apache ShardingSphere一直践行Apache Way,致力于打造充满活力、标准、互助的社区!开源路上,咱们欢送你的退出。 ...

November 13, 2020 · 1 min · jiezi

关于运维:什么是堡垒机为什么需要堡垒机

什么是堡垒机堡垒机,即在一个特定的网络环境下,为了保障网络和数据不受来自内部和外部用户的入侵和毁坏,而使用各种技术手段监控和记录运维人员对网络内的服务器、网络设备、安全设备、数据库等设施的操作行为,以便集中报警、及时处理及审计定责。 用一句话来说,堡垒机就是用来后管制哪些人能够登录哪些资产(当时防备和事中管制),以及录像记录登录资产后做了什么事件(事溯源) 堡垒机很多时候也叫运维审计零碎,它的外围是可控及审计。可控是指权限可控、行为可控。权限可控,比方某个工程师要到职或要转岗了。如果没有一个对立的权限治理入口,是一场梦魇。行为可控,比方咱们须要集中禁用某个危险命令,如果没有一个对立入口,操作的难度可想而知。 为什么须要堡垒机堡垒机是从跳板机(也叫前置机)的概念演变过去的。早在2000年左右,一些中大型企业为了能对运维人员的近程登录进行集中管理,会在机房部署一台跳板机。跳板机其实就是一台unix/windows操作系统的服务器,所有运维人员都须要先近程登录跳板机,而后再从跳板机登录其余服务器中进行运维操作。 但跳板机并没有实现对运维人员操作行为的管制和审计,应用跳板机过程中还是会有误操作、违规操作导致的操作事变,一旦呈现操作事变很难疾速定位起因和责任人。此外,跳板机存在重大的平安危险,一旦跳板机系统被攻入,则将后端资源危险齐全暴露无遗。同时,对于个别资源(如telnet)能够通过跳板机来实现肯定的内控,然而对于更多更非凡的资源(ftp、rdp等)来讲就显得力不从心了。 人们逐步意识到跳板机的有余,进而须要更新、更好的平安技术理念来实现运维操作治理。须要一种能满足角色治理与受权审批、信息资源访问控制、操作记录和审计、零碎变更和保护管制要求,并生成一些统计报表配合治理标准来一直晋升IT内控的合规性的产品。在这些理念的领导下,2005年前后,堡垒机开始以一个独立的产品状态被宽泛部署,无效地升高了运维操作危险,使得运维操作治理变得更简略、更平安。 堡垒机的设计理念堡垒机次要是有4A理念,即认证(Authen)、受权(Authorize)、账号(Account)、审计(Audit)。 堡垒机的指标堡垒机的建设指标能够概括为5W,次要是为了升高运维危险。具体如下: 审计:你做了什么?(What)受权:你能做哪些?(Which)账号:你要去哪?(Where)认证:你是谁?(Who)起源:拜访工夫?(When)堡垒机的价值集中管理集中权限调配对立认证集中审计数据安全运维高效运维合规危险管控堡垒机的原理目前常见堡垒机的次要性能架构 举荐给你:手把手从0开始教你搭建Jumpserver,为服务器平安保驾护航! 目前常见堡垒机的次要性能分为以下几个模块: 1、运维平台 RDP/VNC运维;SSH/Telnet运维;SFTP/FTP运维;数据库运维;Web零碎运维;近程利用运维; 2、治理平台 三权分立;身份甄别;主机治理;明码托管;运维监控;电子工单; 3、自动化平台 主动改密;主动运维;主动收集;主动受权;主动备份;主动告警; 4、管制平台 IP防火墙;命令防火墙;访问控制;传输管制;会话阻断;运维审批; 5、审计平台 命令记录;文字记录;SQL记录;文件保留;全文检索;审计报表; 阐明:三权分立三权的了解:配置,受权,审计三员的了解:系统管理员,平安窃密管理员,平安审计员三员之三权:破除超级管理员;三员是三角色并非三人;平安窃密管理员与审计员必须非同一个人。堡垒机的身份认证堡垒机次要就是为了做对立运维入口,所以登录堡垒机必须反对灵便的身份认证形式,比方: 1、本地认证 本地账号密码认证,个别反对强明码策略2、近程认证 个别可反对第三方AD/LDAP/Radius认证3、双因子认证 UsbKey、动静令牌、短信网关、手机APP令牌等4、第三方认证零碎 OAuth2.0、CAS等。堡垒机的常见运维形式B/S运维:通过浏览器运维。C/S运维:通过客户端软件运维,比方Xshell,CRT等。H5运维:间接在网页上能够关上远程桌面,进行运维。无需装置本地运维工具,只有有浏览器就能够对罕用协定进行运维操作,反对ssh、telnet、rlogin、rdp、vnc协定网关运维:采纳SSH网关形式,实现代理间接登录指标主机,实用于运维自动化场景。堡垒机的其余常见性能文件传输:个别都是登录堡垒机,通过堡垒机直达。应用RDP/SFTP/FTP/SCP/RZ/SZ等传输协定传输。细粒度管制:能够对拜访用户、命令、传输等进行精细化管制。反对凋谢的API堡垒机的部署形式1、单机部署 堡垒机次要都是旁路部署,旁挂在交换机旁边,只有能拜访所有设施即可。 部署特定: 旁路部署,逻辑串联。不影响现有网络结构。2、HA高牢靠部署 旁路部署两台堡垒机,两头有心跳线连贯,同步数据。对外提供一个虚构IP。 部署特点: 两台硬件堡垒机,一主一备/提供VIP。当主机呈现故障时,备机主动接管服务。3、异地同步部署 通过在多个数据中心部署多台堡垒机。堡垒机之间进行配置信息主动同步。 部署特点: 多地部署,异地配置主动同步运维人员拜访当地的堡垒机进行治理不受网络/带宽影响,同时祷告灾备目标4、集群部署(分布式部署) 当须要治理的设施数量很多时,能够将n多台堡垒机进行集群部署。其中两台堡垒机一主一备,其余n-2台堡垒机作为集群节点,给主机上传同步数据,整个集群对外提供一个虚构IP地址。 部署特点: 两台硬件堡垒机,一主一备、提供VIP当主机呈现故障时,备机主动接管服务。开源堡垒机产品目前,罕用的堡垒机有免费和开源两类。免费的有行云管家、纽盾堡垒机,开源的有jumpserver。这几种各有各的优缺点,如何抉择,大家能够依据理论场景来判断。 原文:https://www.toutiao.com/i6881...  作者:猿话

November 10, 2020 · 1 min · jiezi

关于运维:助力高考为117万艺考学子保驾护航

演员请就位在最近的一档综艺节目《演员请就位》中,李诚儒和郭敬明的“掰头”赚足了网友们的关注,事件核心的何昶希,因演技受到质疑而引发导演间争议。更是引起了其余选手的不满,提出“what?他认为他是在选秀节目吗?”这样的疑难。随着事件在网上的发酵升温,网友们将关注点从节目自身转移到何昶希将来倒退上,对他接下来的在节目中的命运,乃至今后演艺生涯都有着不同的猜想,更有甚者认为郭敬明的这张“S卡”葬送了何昶希的前程。 在最新的一期节目中,郭敬明居然第二次为何昶希亮出了“S卡”,让网友们瞋目结舌。意想不到的是,尔冬升导演也亮出了他的“S卡”。何昶希的体现狠狠的打了吃瓜网友一巴掌,“演技上一小步,将来倒退的一大步”,这一次演技上的晋升,使得大家对他都另眼相看。 张艺谋导演曾说过:“人的后劲是有限的,一个人就像橡皮筋一样,须要一直地拉,在这个过程中挑战本人的极限,一直扩大本人的能力。”可能正是郭敬明的“S卡”激发了何昶希的后劲,让他有了0→1的过程。何昶希的这个事件,让咱们不禁的思考一名优良演员的规范是什么?演员的业余要求有多高?演员真的这么好当吗? 答案当然是否定的!尽管艺人光鲜靓丽的一面充斥在咱们日常生活的各个角落,并且这一职业的高支出现状吸引了越来越多的年轻人踏入艺术行业,然而这条路线上第一道关卡就是“艺考”。 “艺考”这座独木桥2016年加入艺考人数冲破100万,就此拉开了“艺考热”的尾声。近几年各大艺术院校的报考人数,更是多次创下历史新高,截至2020年艺考生高达117万人。 同时114:1的高业余录取比,表演力的高难度考核,使得艺考生日以继夜的致力成为生存常态。从考试报名到考试筹备,各个环节都要非常的留神。尤其是报名,如若失误,相当于“不战而败”。 为艺考保驾护航,云掣在口头互联网的疾速倒退正在耳濡目染地扭转着咱们的生存,一款为艺考“全程陪护”的线上应用软件应需而生,专一为国内艺术生提供考试报名、院校资讯、考程安顿、报考揭示、文化分测算、艺术备考公开课等服务。 为了给考生提供更大的便当,防止在各大院校间辗转奔走,随之又上线了考试模块,新增提交试卷上传监考视频等性能。 这一扭转,给该软件的业务零碎带来了不小的挑战,为保障考试的顺利进行,须要有丰盛低压高并发场景下护航教训的运维团队来保障利用零碎安稳运行。云掣不胜荣幸担此重任,为艺考出一份力。 1.模仿测压,盘查暗藏危险点云掣全面梳理零碎架构及业务数据流,依据历年考试期间的状况,模仿实在考试场景进行屡次多点压测,针对不同环节的业务(如:考试报名、试卷查看、提交试卷业务等)盘查暗藏危险点。发现该软件在理论的低压场景下,极容易产生零碎异样的情况,如:闪退,图片乱码,语音谬误等。 2.资源扩容,剖析问题起源云掣对系统运行状况进行倒推剖析,检测服务器资源应用状况,发现服务器现有资源无限,无奈承载业务高峰期运行的压力,提出资源扩容计划。 3.性能优化,从源头解决问题同时依据检测后果,针对应用层软件和数据库遇到的性能瓶颈,提出详尽的优化计划和整改倡议,间接从源头上解决问题。 4.架构优化,分流业务压力云掣思考到同一时刻多人提交试卷、上传监考视频的场景,为防止对后端业务造成累赘。缩短本来须要通过多层转发的数据流转门路,从前端间接调用存储接口上传答题照片及视频资料文件。利用对象存储海量可扩容和不受硬盘容量限度的个性,实现多地区分流,调高上行带宽的限度,凋谢QPS限度。 5.全景监测,多级预案保障云掣全程提供7*24实时监控,设置多级应急预案防止突发危险,顺利保障了数万考生的首次线上艺考交卷,为“艺考梦”保驾护航。考试当天同一时间峰值人数10000+,零碎处于稳固状态。 往年的艺考季行将开始,又将有一群可恶的考生们,不畏酷寒追赶幻想,成为那天地面漂亮的一颗星,云掣也将尽本人的一份力,以一种非凡的形式为考生们加油! 更多业务信息请查看云掣官网https://www.dtstack.com/dtsmart/

November 10, 2020 · 1 min · jiezi

关于运维:非常值得一看的-Curl-用法指南

导读curl 是罕用的命令行工具,用来申请 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思。 它的性能十分弱小,命令行参数多达几十种。如果纯熟的话,齐全能够取代 Postman 这一类的图形界面工具。 本文介绍它的次要命令行参数,作为日常的参考,不便查阅。内容次要翻译自《curl cookbook》。为了节约篇幅,上面的例子不包含运行时的输入,初学者能够先看我以前写的《curl 初学者教程》。 不带有任何参数时,curl 就是收回 GET 申请。 $ curl https://www.example.com下面命令向www.example.com收回 GET 申请,服务器返回的内容会在命令行输入。 -A参数指定客户端的用户代理标头,即User-Agent。curl 的默认用户代理字符串是curl/[version]。$ curl -A 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36' https://google.com下面命令将User-Agent改成 Chrome 浏览器。 $ curl -A '' https://google.com下面命令会移除User-Agent标头。 也能够通过-H参数间接指定标头,更改User-Agent。 $ curl -H 'User-Agent: php/1.0' https://google.com-b参数用来向服务器发送 Cookie。$ curl -b 'foo=bar' https://google.com下面命令会生成一个标头Cookie: foo=bar,向服务器发送一个名为foo、值为bar的 Cookie。 $ curl -b 'foo1=bar' -b 'foo2=baz' https://google.com下面命令发送两个 Cookie。 $ curl -b cookies.txt https://www.google.com下面命令读取本地文件cookies.txt,外面是服务器设置的 Cookie(参见-c参数),将其发送到服务器。 -c参数将服务器设置的 Cookie 写入一个文件。$ curl -c cookies.txt https://www.google.com下面命令将服务器的 HTTP 回应所设置 Cookie 写入文本文件cookies.txt。 -d参数用于发送 POST 申请的数据体。$ curl -d'login=emma&password=123'-X POST https://google.com/login# 或者$ curl -d 'login=emma' -d 'password=123' -X POST  https://google.com/login应用-d参数当前,HTTP 申请会主动加上标头Content-Type : application/x-www-form-urlencoded。并且会主动将申请转为 POST 办法,因而能够省略-X POST。 -d参数能够读取本地文本文件的数据,向服务器发送。$ curl -d '@data.txt' https://google.com/login下面命令读取data.txt文件的内容,作为数据体向服务器发送。 --data-urlencode--data-urlencode参数等同于-d,发送 POST 申请的数据体,区别在于会主动将发送的数据进行 URL 编码。 $ curl --data-urlencode 'comment=hello world' https://google.com/login下面代码中,发送的数据hello world之间有一个空格,须要进行 URL 编码。 -e参数用来设置 HTTP 的标头Referer,示意申请的起源。curl -e 'https://google.com?q=example' https://www.example.com下面命令将Referer标头设为https://google.com?q=example。 -H参数能够通过间接增加标头Referer,达到同样成果。curl -H 'Referer: https://google.com?q=example' https://www.example.com-F参数用来向服务器上传二进制文件。$ curl -F 'file=@photo.png' https://google.com/profile下面命令会给 HTTP 申请加上标头Content-Type: multipart/form-data,而后将文件photo.png作为file字段上传。 ...

November 9, 2020 · 1 min · jiezi

关于运维:运维人员常用到的-11-款服务器监控工具

服务器监控工具性能相当弱小,无论何时何地,咱们都能够理解到服务器的性能以及性能。服务器监控工具的应用,能够让咱们分明的晓得用户能够关上咱们的网站,且确保网速不慢。只有这样做,能力留住贵重的用户,免得因为零碎停运的起因,导致用户失落。 基于此,为大家收集了11款超实用的服务器监控工具。 1、zabbixzabbix是一个基于WEB界面的提供分布式系统监督以及网络监督性能的企业级的开源解决方案。abbix能监督各种网络参数,保障服务器零碎的平安经营;并提供灵便的告诉机制以让系统管理员疾速定位/解决存在的各种问题。 2、NagiosNagios是一款开源的收费网络监督工具,能无效监控Windows、Linux和Unix的状态,交换机路由器等网络设备,打印机等。在零碎或服务状态异样时收回邮件或短信报警第一工夫告诉网站运维人员,在状态复原后收回失常的邮件或短信告诉。 3、Performance Co-PilotPerformance Co-Pilot,简称PCP,是一个零碎性能剖析框架。它收集并剖析来自多个主机的各种性能指标。能够通过它察看指标走向的趋势,以帮忙您疾速辨认异样所在点。它提供API,可根据此来开发自定义的监控和报告解决方案。 4、AnturisAnturis是一个基于云的SaaS平台,可监控windows和linux服务器,网站和IT基础架构。通过全面的监控解决方案列表,让管理员疾速理解整体主机或者服务器瓶颈与危险。 5、SeaLionSeaLion是一个基于云的Linux服务器监控工具。也是通过对立的仪表盘监控所有服务器指标。它只需几分钟即可实现设置,它具备即时报警性能,以便在产生问题时,能够疾速收到告诉和每日数据摘要等。 6、IcingaIcinga是一个收费的开源监控零碎,能够查看服务器资源的可用性。它会记录服务器问题并在停机的时候告诉您。 7、MuninMunin是一个网络和系统监控工具,可帮忙您剖析服务器资源趋势。它旨在成为一个即插即用的解决方案。装置后无需太多额定工作即可收集要害信息。Munin次要性能是无效剖析服务器资源劣势,属于网络及系统监控的工具。 8、MonitMonit是一个用于治理和监控Unix零碎的开源工具。Monit能够进行主动保护和培修。如果呈现谬误状况,Monit能够主动触发爱护行为,例如;如果sendmail(linux的邮件代理程序)没有运行,Monit能够主动重新启动sendmail,或者如果apache应用了太多的资源(例如,如果正在进行DoS攻打),Monit能够进行或重启apache并向您发送报警。Monit还能够监督过程特色,比方;过程应用的内存。 9、Simple Server MonitorSimple Server Monitor这款服务器的监控工具,应用起来相当不便,性能也很弱小,老本也相当划算。Simple Server Monitor能够无效的监控WEB应用程序以及服务器运行状况。 10、SysUsage SysUsage应用Sar(Sysstat)和其余系统命令监督您的系统活动。它有一个阈值告诉零碎,能够在服务器的性能靠近极限时提醒您。 11、PingdomPingdom能够对互联网上很多中央的服务器以及网站进行监控,以保障他们能够无效的运行。通过Pingdom,能够对电子邮件的服务器、FTP服务器、受明码所爱护的那些网站进行监控。 作者:艾特程序员 _起源:https://www.toutiao.com/i6852...

November 8, 2020 · 1 min · jiezi

关于运维:少年用好这把瑞士军刀从此网络故障诊断不用愁

Netcat 号称 TCP/IP 的瑞士军刀并非浪得虚名,以体积小(可执行 200KB)性能灵便而著称,在各大发行版中都默认装置,你能够用它来做很多网络相干的工作,纯熟应用它能够不依附其余工具做一些很有用的事件。 最后作者是叫做“霍比特人”的网友 Hobbit hobbit@avian.org 于 1995 年在 UNIX 上以源代码的模式公布,Posix 版本的 netcat 次要有 GNU 版本的 netcat 和 OpenBSD 的 netcat 两者都能够在 debian/ubuntu 上面装置,然而 Windows 上面只有 GNU 版本的 port。 不论是程序员还是运维,相熟这个命令都能够让很多工作事倍功半,然而网上根本 90% 的 netcat 文章说的都是老版本的 OpenBSD 的 netcat,曾经没法在支流 linux 上应用了,所以咱们先要查看版本: 在 debian/ubuntu 上面: readlink -f $(which nc)看看,后果会有两种: /bin/nc.traditional: 默认 GNU 根底版本,个别零碎自带。/bin/nc.openbsd: openbsd 版本,弱小很多。都能够用 apt-get install nc-traditional 或者 apt-get install nc-openbsd来抉择装置。不论是 GNU 版本还是 OpenBSD 版本,都有新老的区别,次要是传送文件时 stdin 产生 EOF 了,老版本会主动断开,而新的 gnu/openbsd 还会始终连着,两年前 debian jessie 时对立升过级,导致网上的所有教程简直同时生效。 ...

November 5, 2020 · 3 min · jiezi

关于运维:移动端堆栈关键行定位的新思路

阿里云 云原生利用研发平台EMAS 张月(此间) 简介: 解体堆栈是咱们日常利用问题排查中的重要辅助伎俩,在挪动开发上也不例外,为了反对用户在堆栈上的疾速定位,咱们面临一个看似比较简单问题:高亮解体中的要害行, 辅助用户疾速定位问题。一、前言解体堆栈是咱们日常利用问题排查中的重要辅助伎俩,在挪动开发上也不例外,为了反对用户在堆栈上的疾速定位,咱们面临一个看似比较简单问题:高亮解体中的要害行, 辅助用户疾速定位问题。 解体堆栈要害行: 堆栈中是属于用户开发代码中那行间接引起解体的代码。 举个例子: 二、 业界计划业界的竞品基本上是通过 Package Name判断的,在没有 Package Name 的状况下,有的竞品会定位到第一行,有的则会定位到非零碎库的第一行。 例如: 友商这种状况下就将要害行挂在了第一行 fastjson 的地位。 这里容易呈现两个问题: Package Name 大多数时候和真正的解体包名关系不大。App 组件化,包名不能笼罩一方库,二方库。为了更好的解决这个问题,咱们提出了上面用词频比/词频分的形式来解决问题的新计划。 三、新计划所以在 Package Name 的根底上,咱们还须要一个辅助伎俩,让咱们可能辨认这两种状况,从而在要害行定位更精准。 这里咱们想到的一个做法就是利用全量的 Crash 解体堆栈,计算词频比和相应的词频分,通过概率去优化咱们的要害行判断。 实现上分为两个平台。 对于 iOS主包判断这个问题,对于 iOS,其实不必思考用户填写的 Bundle ID, 因为 IOS Crash 人造就自带 Binary Images,咱们将用户主包信息预存下来,用于后续判断就行了。 Binary Images 间接定位: 对于组件化的包,咱们能够通过 Binary Images 外面的信息统计一下每个包名呈现的频率,具体的频率散布统计大抵如下图所示,纵坐标代表包名呈现的次数: 注:横坐标为包名(这里放不下),纵坐标为包名呈现次数 呈现的频率越低,那么咱们越认为他是一方库或者二方库。 对于 Android对于 Android,状况略微简单一点,首先 Android 的 Crash 中其实是不能明确标识包名的,而且 Android 的 Package Name 并不是一个词,而是一长串的以点分隔的包名, 例如 ...

November 4, 2020 · 2 min · jiezi

关于运维:Hive优化之监控三

 Hive是大数据畛域罕用的组件之一,次要是大数据离线数仓的运算,对于Hive的性能调优在日常工作和面试中是常常波及的一个点,因而把握一些Hive调优是必不可少的技能。影响Hive效率的次要有数据歪斜、数据冗余、job的IO以及不同底层引擎配置状况和Hive自身参数和HiveSQL的执行等因素。本文次要是从监控运维的角度对Hive进行整体性能把控,通过对hive元数据监控,提前发现Hive表的不合理处及可优化点,将被动运维转化为被动运维。 1   Hive元数据简介Hive元数据个别会存储在关系数据库中,mysql是最常见的抉择,这里介绍的就是Hive元数据就是存储在myslq中的,本次会介绍几张次要的元数据表,DBS、TBLS、SDS、PARTITIONS 1.1 Hive数据库相干的元数据表(DBS)元数据表字段 阐明 示例数据 DB_ID 数据库ID 2 DESC 数据库形容 测试库 DB_LOCATION_URI 数据库HDFS门路 hdfs://namenode/user/hive/warehouse/hhh1234.db NAME 数据库名 hhh1234 OWNER_NAME 数据库所有者用户名 hhh1234 OWNER_TYPE 所有者角色 USER 1.2 Hive表和视图相干的元数据表(TBLS)元数据表字段 阐明 示例数据 TBL_ID 表ID 1 CREATE_TIME 创立工夫 1436317071 DB_ID 数据库ID 2,对应DBS中的DB_ID LAST_ACCESS_TIME 上次访问工夫 1436317071 OWNER 所有者 hhh RETENTION 保留字段 0 SD_ID 序列化配置信息 86,对应SDS表中的SD_ID TBL_NAME 表名 hhh1234 TBL_TYPE 表类型 MANAGED_TABLE、EXTERNAL_TABLE、INDEX_TABLE、VIRTUAL_VIEW VIEW_EXPANDED_TEXT 视图的具体HQL语句 select hhh1234.pt, hhh1234.pcid from liuxiaowen.hhh1234 VIEW_ORIGINAL_TEXT 视图的原始HQL语句 select * from lxw1234 ...

November 2, 2020 · 2 min · jiezi

关于运维:大促军演问题记录

一号机房断网后发现二号机房获取redis报错,查看配置核心发现两个机房都配置成了一号机房的redis,因而报错

October 30, 2020 · 1 min · jiezi

关于运维:2大数据平台搭建合集全分布式平台部署

大数据平台搭建合集--全分布式平台部署0.更改主机名依据理论需要做更改即可!# 新建的虚拟机,能够更改为与文档中雷同的主机名$ hostnamectl set-hostname master$ hostnamectl set-hostname slave1$ hostnamectl set-hostname slave2# 如果须要更改网卡的配置,只需须要做如下批改(在本文档中是应用的dhcp获取的ip,所以未做批改)# 如果在虚拟机中,对应的ip、子网掩码、网关等信息能够虚构网络编辑器中查看(留神网关的配置要在"虚构网络编辑器"中的"更改设置"里的"Nat设置里查看")$ vi /etc/sysconfig/network-scripts/ifcfg-ens33 # 批改如下配置项BOOTPROTO="static"# 增加如下配置项IPADDR=192.168.73.100NETMASK=255.255.255.0GATEWAY=192.168.73.2DNS1=8.8.8.81.ssh免密登录(1),生成秘钥(群发)ssh-keygen在输出命令之后,会提醒你抉择公钥明码、存储地位等如无非凡需要,比方公钥明码、存储地位等。这里能够间接回车下一步秘钥即胜利生成在"~/.ssh/"文件夹内(2),配置hosts每一台机器都须要配置!# 关上配置文件目录,vi /etc/hosts# 依据ip信息批改为以下内容192.168.204.152 master192.168.204.153 master2192.168.204.154 slave# 在每台服务器中都要配置hosts,所以在每台服务器中都执行(3),采纳追加的形式增加公钥(群发)每一台机器都须要操作# 第一台主机:ssh-copy-id masteryes000000(输出设置的明码)# 第二台主机:ssh-copy-id slave1yes000000(输出设置的明码)# 第三台主机(在此时留神一点的是,这里做输出的时候其余两台主机依然是第一次连贯所以须要先选中yes,在输出明码):ssh-copy-id slave2yes000000(输出设置的明码) 2.敞开防火墙与SeLinux(群发)# 敞开防火墙:systemctl stop firewalld# 设置开机禁用防火墙:systemctl disable firewalld.service# 查看防火墙状态:systemctl status firewalld # 敞开SeLinux# 只是临时敞开setenforce 0# 通过改配置文件的形式敞开vim /etc/selinux/config # 批改配置项SELINUX=disabled3.jdk的装置与配置(1).解压jdk组件# 进入soft目录下解压jdkcd ~tar -zxvf jdk-8u77-linux-x64.tar.gz -C /usr/local/# 批改文件名减少辨识度cd /usr/localmv jdk1.8.0_77 jdk(2).配置环境变量# 在相应配置文件中追加以下内容vi /etc/profileexport JAVA_HOME=/usr/local/jdkexport PATH=$PATH:$JAVA_HOME/bin# 设置以后环境变量立刻失效source /etc/profile(3).将jdk与环境变量同步到其余两台服务器$ scp -r /usr/local/jdk/ root@slave1:/usr/local$ scp /etc/profile root@slave1:/etc/# $ scp -r /usr/local/jdk root@slave2:/usr/local$ scp /etc/profile root@slave2:/etc/# 在同步文件之后,须要更新配置文件$ source /etc/profile4.Hadoop装置与配置(1).解压Hadoop组件# 将组件上传至soft目录cd ~tar -zxvf hadoop-2.7.1.tar.gz -C /usr/local/# 更改名称减少辨识度cd /usr/localmv hadoop-2.7.1 hadoop(2).批改相应配置文件# 进入配置文件目录cd /usr/local/hadoop/etc/hadoop/1),配置core-site.xml<?xml version="1.0" encoding="utf-8"?><configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <!-- 这里的目录会主动生成--> <property> <name>hadoop.tmp.dir</name> <value>/opt/hadoop-repo/tmp</value> </property> <!--kkb新增 --> <!-- 缓冲区大小,理论工作中依据服务器性能动静调整 --> <property> <name>io.file.buffer.size</name> <value>4096</value> </property> <!-- 开启hdfs的垃圾桶机制,删除掉的数据能够从垃圾桶中回收,单位分钟 --> <property> <name>fs.trash.interval</name> <value>10080</value> </property></configuration>2),配置hdfs-site.xml<?xml version="1.0" encoding="utf-8"?><configuration> <property> <name>dfs.namenode.rpc-address</name> <value>master:9000</value> </property> <property> <name>dfs.namenode.http-address</name> <value>master:50070</value> </property> <!--配置启动SecondaryNameNode的地位,在不明确指定时默认是在主节点启动,个别我认为须要在另一台主节点中启动 --> <property> <name>dfs.namenode.secondary.rpc-address</name> <value>slave1:9000</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave1:50070</value> </property> <!-- 配置nameNode和DataNode存储元数据的门路--> <property> <name>dfs.namenode.name.dir</name> <value>/opt/hadoop-repo/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/opt/hadoop-repo/data</value> </property></configuration>3),配置marped-site.xml# 阐明:零碎中提供的是一个模版文件,须要先复制成marped-site.xml文件,再进行批改[root@localhost hadoop]# cp mapred-site.xml.template mapred-site.xml # 关上配置文件svi mapred-site.xml<!-- 指定mr框架为yarn --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>4),配置yarn-site.xml<!--配置你想在哪个节点起ResourceManager --><property> <name>yarn.resourcemanager.address</name> <value>master</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><!-- 开启日志聚合的性能--><property> <name>yarn.log-aggregation-enable</name> <value>true</value></property>5),配置hadoop-env.shexport JAVA_HOME=/usr/local/jdk6),配置slaves指定DataNode节点(hostname) ...

October 25, 2020 · 2 min · jiezi

关于运维:大数据平台搭建合集伪分布式平台部署

一.简化配置0.更改主机名并配置hosts映射# 更改主机名hostnamectl set-hostname master# 配置hosts映射vi /etc/hosts[填以后机器真是ip] master1.配置免密ssh-keygenssh-copy-id master2.敞开防火墙与Selinuxsystemctl stop firewalldsystemctl disable firewalldsetenforce 03.解压组件cd /opttar -zxvf jdk-8u77-linux-x64.tar.gztar -zxvf hadoop-2.6.0.tar.gzmv jdk1.8.0_77/ jdk mv hadoop-2.6.0/ hadoop4.配置文件:hdfs-site.xmlcd /opt/hadoopvi etc/hadoop/hdfs-site.xml<!-- 增加以下内容 --><property><name>dfs.replication</name><value>1</value></property>5.配置文件:core-site.xmlvi etc/hadoop/core-site.xml<!-- 追加以下内容 --><property><name>fs.defaultFS</name><value>hdfs://master:9000</value></property><property><name>hadoop.tmp.dir</name><value>/opt/hadoop-repo/tmp</value></property> 6.配置文件:hadoop-env.shvi etc/hadoop/hadoop-env.sh# 更改以下内容export JAVA_HOME=/opt/jdk7.配置环境变量vi /etc/profile# 追加以下内容export JAVA_HOME=/opt/jdkexport PATH=$PATH:$JAVA_HOME/binexport HADOOP_HOME=/opt/hadoopexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin# 使环境变量立刻失效source /etc/profile8.格式化hdfshdfs namenode -format9.启动hdfsstart-dfs.sh 二.具体配置(yarn)10.配置文件:mapred-site.xmlcp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xmlvi etc/hadoop/mapred-site.xml<!-- 追加以下内容 --><property> <name>mapreduce.framework.name</name> <value>yarn</value></property>11.配置文件:yarn-site.xmlvi etc/hadoop/yarn-site.xml<!-- 追加以下内容 --><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property><!--配置yarn的主机名 --><property><name>yarn.resourcemanager.hostname</name><value>master</value></property>12.启动yarnstart-yarn.sh

October 25, 2020 · 1 min · jiezi

关于运维:北斗授时产品NTP时钟服务器设计与研究

北斗授时产品(NTP时钟服务器)设计与钻研北斗授时产品(NTP时钟服务器)设计与钻研 随着信息技术和网络技术的飞速发展,网络互连曾经渗透到国民经济的各行各业。而网络工夫同步也越来越受到重视,特地是局域网工夫同步在国家平安和国民经济的诸多畛域(如国防军工、电信网、金融业、交通运输、电子商务和电力系统等部门)越发不可或缺。随着嵌入式技术的倒退,嵌入式与网络工夫同步技术的联合,无疑具备良好的发展前景。1、方案设计目前网络授时的实现办法有很多种,本文采纳自行设计的嵌入式零碎并在下面实现SNTP协定。从而实现网络工夫的同步。其零碎框图如图l所示。 本零碎采纳C/S模型,分为网络授时同步服务器和客户端两大部分,本文次要对网络授时服务器局部进行钻研。在网络授时同步服务器中,处理器STM32f103由外部RTC模块联合日历算法来给出工夫信息(年月日时分秒),再从GPS获取工夫信息,并修改本人的工夫,最初联合W5100芯片搭建出一个工夫服务器。当客户端向服务器发出请求时,便可同步地对立客户端的工夫信息,并达到ms级精度。网络传输时需实现SNTP应用层协定,设计中通过结构SNTP协定包,并依据同步算法可计算出包交换的往返提早。本零碎采纳ST公司基于Cortex-M3内核的STM32系列处理器.Cortex-M3内核是专门用于设计高性能、低功耗、低成本、实时性嵌入式应用零碎的处理器核,它在晋升性能的同时,又进步了代码密度的Thumb-2指令集,同时也大幅度提高了中断响应的紧耦合嵌套向量中断控制器的性能。所有新性能都同时具备业界最优的功耗程度。TCP/IP协定栈的实现采纳的固件芯片W5100是韩国WIZnet公司推出的固件网络芯片,它集TCP/IP协定栈、以太网MAC和PHY为一体,可反对TCP,UDP、ICMP、IGMP、IPv4、ARP,PPPoE、Ethemet等网络协议;同时反对4个独立的Socket通信,外部16 K字节的发送/接收缓冲区可疾速进行数据交换,最大通信速率可达到25Mbps。此外,W5100还内嵌10BaseT/100BaseTX以太网物理层,可反对自动应答(全双工/半双工模式),并提供多种总线(两种并行总线和SPI总线)接口方式,能够不便地与各种MCU连贯。W5100器件的推出大大简化了硬件电路设计,可使微控制器在没有操作系统反对的状况下,真正的实现单芯片接入Internet。2 SNTP协定剖析SNTP即简单网络工夫协定,它是一个用于局域网子网末端的工夫同步协定,其要求在操作过程中只容许存在一个牢靠的同步时钟源,是NTP协定的一个简化版本。2.1 SNTP的同步原理SNTP协定次要通过同步算法来替换工夫服务器和客户端的工夫戳,从而估算出数据包在网络上的往返提早,进而独立地估算零碎的时钟偏差。它的工夫同步原理的传输模型如图2所示。 图2中,T1为客户方发送查问申请工夫(以客户方工夫零碎为参照),T2为服务器收到查问申请工夫(以服务器工夫零碎为参照),T3为服务器回复工夫信息包工夫(以服务器工夫零碎为参照),T4为客户方收到工夫信息包工夫(以客户方工夫零碎为参照),D1为申请信息在网上流传所耗费的工夫,D2为回复信息在网上流传所耗费的工夫。假如申请和回复在网上的流传工夫雷同,即:1=2,则可得出如下公式: 式中,为客户端工夫与规范工夫之差,为信息在网上流传的工夫。能够看到,、只与T2、T1的差值和T4、T3的差值相干,而与T2、T3的差值无关,即最终的后果与服务器解决申请所需的工夫无关。据此,客户端(CLIENT)即可通过T1、T2、T3、T4十算出的时差0去调整本地时钟。2.2 SNTP协定格局SNTP音讯个别封装在UDP报文中,UDP的端口号是123,UDP头中的源端口和目标端口是一样的。SNTP音讯紧跟在IP和UDP报头之后,其协定格局如图3所示。 图3中,U为跳跃指示器,可正告在当月最初一天的最终时刻插入的逼近闺秒(闺秒)。VN示意版本号。Mode为模式,该字段包含以下值:O(预留);1(对称行为);3(客户机);4(服务器);5(播送);6(NTP管制信息)。Stratum用于对本地时钟级别的整体辨认。Poll示意有符号整数示意间断信息间的最大距离。Precision示意有符号整数,示意本地时钟精确度。Root Delay为有符号固定点序号,示意次要参考源的总提早,如很短时间内的15到16间的分段点。Root Dispersion为无符号固定点序号示意绝对于次要参考源的失常过错,如很短时间内的位15到16间的分段点。Reference Identifier为辨认非凡参考源。Originate Timestamp是向服务器申请拆散客户机的工夫,采纳64位时标(Timestamp)格局。 Receive Timestamp是向服务器申请达到客户机的工夫。也采纳64位时标(Timestamp)格局。Transmit Timestamp是向客户机回答拆散服务器的工夫。采纳64位时标(Timestamp)格局。3 硬件设计图4所示为W5100局部的电路图,图中给出了W5100与STM32的连贯形式及其外围电路。 W5100和STM32可通过SPI形式通信。通过对SEN管脚用10 k电阻上拉到高电平可容许SPI模式;因为W5100处于SPI从模式,因而,其SPI工作时钟由处于主模式的STM32提供,MISO和MOSI为用于SPI通信的两条数据线,SCLK为SPI时钟引脚;*为片选引脚,低电平无效,次要用于在并行总线连贯时由MCU拜访W5100外部寄存器或存储器;INT为中断输入引脚,低电平无效,在W5100在SOCKET端口产生连贯、断开、接收数据、数据发送实现以及通信超时等状况下,该引脚将输入信号以批示MCU。中断将在写入中断寄存器IR或端口的中断寄存器时被革除,所有中断都能够被屏蔽。W5100的第5、6、8和9脚是以太网物理层信号引脚,用于与RJ45接口相连接,其中第5和第6引脚是RXIP/RXlN信号对,用于接管从介质传来的差分数据,第8和第9引脚是TXOP/TXON信号对,用于将差分数据发送给介质;第66引脚是连贯LED批示引脚,低电平示意10/100Mbps连贯状态失常,连贯失常时输入低电平,而在TX/RX状态时闪动;第72引脚是接管状态LED批示引脚,低电平示意以后接收数据,第73引脚是发送状态LED批示引脚,低电平示意以后发送数据,这些LED批示引脚应与RJ45的相应LED指示灯引脚连贯,以用于批示连贯状态。除电源引脚、时钟引脚外,W5100的其它引脚DO~D7,AO~A14及WR~RD可抉择悬空。图5所示是GPS模块与STM32的连贯示意图。GPS接管模块采纳HOLUX生产的GPS模块M87GPS,模块的串行口输入和输出别离接到STM32的输出与输入,秒脉冲PPS信号连贯到处理器的IO口,在秒脉冲(1PPS)同步的状况下,零碎将实时精准地通过串口把规范的UTC工夫传送给处理器STM32。 4 SNTP服务器的软件设计SNTP服务器的软件设计次要可分为两个局部:W5100的驱动设计和SNTP协定的软件实现。其软件流程图如图6所示。 首先,利用ST公司提供的固件库可初始化STM32的系统配置,把SPI接口配置为两线单向全双工传输、主模式,以8位数据帧的格局进行传输;同时配置RTC模块产生秒脉冲,再与日历算法联合失去本身的零碎工夫,而后通过GPS的秒脉冲PPS修改零碎工夫。再通过配置W5100公共寄存器和端口寄存器来实现它的根本设置、网络信息以及端口存储器信息的没置,使之为UDP服务器模式。尔后,W5100处于*状态,一旦W5100的SOCKET端口有中断事件,W5100将触发STM32的内部中断,STM32若检测到SoekRecvflag产生扭转,则立刻开始SNTP协定的解析。接管SNTP协定包后,便可记录收到报文的工夫T2,而后从报文中解析出工夫戳T1,再将T1、T2封装成新的报文进行发送,同时发送时再记录一个发送工夫T3。5 结束语本文基于STM32和W5100搭建了一个网络服务器硬件平台,并在其上实现了SNTP同步工夫报文。经测试,本零碎运行稳固,并可实现对客户端PC机的时钟同步。通过该零碎可无效解决工业管制等畛域的工夫不同步问题。

October 13, 2020 · 1 min · jiezi

关于运维:运维-lives-matter七款开源项目让运维人不再当背锅侠

一说到运维,开发者们的第一反馈大多都是「背锅侠」。网络故障了?找运维!服务器出问题了?找运维!总之只有是研发过程中呈现问题了,找运维总没错。 这样一个总是「背锅」的角色,所须要把握的常识和技术其实并不亚于研发,是一个门槛低且下限高的岗位。想要做好运维,除了松软的实践根底,领有好的运维工具也能让运维人锦上添花。 明天 Gitee 分享的七款开源我的项目就是为运维人打造,一起来看看吧。 1.nginxWebUI我的项目作者: 陈钇蒙 开源许可协定: MulanPSL-1.0 我的项目地址:https://gitee.com/cym1102/nginxWebUI 本我的项目能够应用WebUI配置nginx的各项性能,包含http协定转发,tcp协定转发,反向代理,负载平衡,ssl证书主动申请、续签、配置等,最终生成nginx.conf文件并笼罩nginx的默认配置文件, 实现nginx的最终性能配置。 2.wgcloud我的项目作者: 王逅逅 开源许可协定: GPL-3.0 我的项目地址:https://gitee.com/wanghouhou/wgcloud WGCLOUD 基于 Java 语言开发,是高性能高并发的分布式监控平台,外围模块包含:主机监控,ES集群监控,CPU监控,内存监控,数据监控(mysql,oracle,pg等),服务心跳检测,利用过程治理,磁盘IO监控,零碎负载监控,网络拓扑图,端口监控,日志文件监控,docker监控,监控告警信息(可集成微信钉钉短信等形式)推送。 3.wecube-platform我的项目作者: WeBank 开源许可协定: Apache-2.0 我的项目地址:https://gitee.com/WeBank/wecube-platform WeCube是一套由微众银行开源,一站式IT架构治理和运维管理工具,次要用于简化分布式架构IT治理,并能够通过插件进行性能扩大。 4.cubic我的项目作者: 三人行 开源许可协定: WTFPL 我的项目地址:https://gitee.com/sanjiankethree/cubic Cubic 是一个对利用通明,无侵入的java利用诊断工具,用于晋升开发人员的诊断效率和能力。 Cubic 的指标是一站式java利用诊断解决方案,让开发人员无需登录机器或批改零碎,就能够从日志、内存、线程、类信息、调试、机器和零碎属性等各个方面对利用进行诊断,晋升开发人员诊断问题的效率和能力。 5.Prometheus Alert我的项目作者: feiyu563 开源许可协定: MIT 我的项目地址:https://gitee.com/feiyu563/PrometheusAlert PrometheusAlert是开源的运维告警核心音讯转发零碎,反对支流的监控零碎Prometheus、Zabbix,日志零碎Graylog2,Graylog3、数据可视化零碎Grafana、SonarQube等反对WebHook接口的零碎收回的预警音讯,反对将收到的这些音讯发送到钉钉,微信,飞书,腾讯短信,腾讯电话,阿里云短信,阿里云电话,华为短信,容联云电话等。 6.xcloud-webconsole我的项目作者: wl4g 开源许可协定: Apache-2.0 我的项目地址:https://gitee.com/wl4g/xcloud-webconsole 一个轻量的企业级Web的管制终端程序,会集了大多数同类产品长处于一身,反对SSH2/lrzsz、(RDP/RFB/Telnet)、审计和录屏等。 7.LaraWatcher我的项目作者: Celaraze 开源许可协定: MIT 我的项目地址:https://gitee.com/celaraze/LaraWatcher Lara Watcher是一个轻量的服务(器)状态保护平台。灵感源于模拟 Apple Services 来实时展现相干服务的运行状况。 Gitee 上还有更多运维与网管类开源我的项目,点击前面的链接去 Gitee 看看吧:https://gitee.com/explore/manage-monitor ...

October 12, 2020 · 1 min · jiezi

关于运维:ftp自动登录命令掌握ftp自动登录命令只需2步

FTP是一个8位的客户端-服务器协定,能操作任何类型的文件而不须要进一步解决,就像MIME或Unicode一样。然而,FTP有着极高的延时,这意味着,从开始申请到第一次接管需要数据之间的工夫,会十分长;并且不断的必须执行一些简短的登录过程。 iis7服务器管理工具以后可批量治理的为:win系列的操作系统(含VPS、VM)、linux操作系统:CentOS、Ubuntu、Debian等,反对命令及可视化SFTP治理、linux的vnc、win的vnc、FTP,webshell IIS7服务器管理工具能够批量治理、定时上传下载、同步操作、数据备份、到期揭示、自动更新。IIS7服务器管理工具实用于Windows操作系统和liunx操作系统;反对Ftp客户端批量操作。 下载地址:IIS7服务器管理工具 1.tp -n -s:Driver:PathFilename现若要登录可匿名登录的FTP服务器soft.zzu.edu.cn,登录文件内容如下:open soft.zzu.edu.cnuser anonymous //匿名登录时的默认用户名,user后应跟要相应用户名pass "" //空明码登录,若有明码,则用""蕴含随便保留为任意类型即可,这里保留为fttp.ipc(e盘根目录下).则在cmd下,ftp -n -s:e:fttp.ipc 即可主动登录。若要用批处理实现,则批处理文件为:@echo offftp -n -s:e:fttp.ipc 2.cmd下ftp命令相干帮忙:将文件传送到运行 FTP 服务器服务(常常称为后台程序)的计算机以及将文件从该计算机传出。能够交互应用 Ftp。FTP [-v] [-d] [-i] [-n] [-g] [-s:filename] [-a] [-A] [-x:sendbuffer] [-r:recvbuffer] [-b:asyncbuffers] [-w:windowsize] [host]-v 禁止显示近程服务器响应。-n 禁止在初始连贯时主动登录。-i 敞开多文件传输过程中的交互式提醒。-d 启用调试。-g 禁用文件名通配(请参阅 GLOB 命令)。-s:filename 指定蕴含 FTP 命令的文本文件;命令在 FTP 启动后主动运行。-a 在绑字数据连贯时应用所有本地接口。-A 匿名登录。-x:send sockbuf 笼罩默认的 SO_SNDBUF 大小 8192。-r:recv sockbuf 笼罩默认的 SO_RCVBUF 大小 8192。-b:async count 笼罩默认的异步计数 3-w:windowsize 笼罩默认的传输缓冲区大小 65535。host 指定主机名称或要连贯到的近程主机的 IP 地址。留神:- mget 和 mput 命令将 y/n/q 视为 yes/no/quit。FTP命令:! delete literal prompt send? debug ls put statusappend dir mdelete pwd traceascii disconnect mdir quit typebell get mget quote userbinary glob mkdir recv verbosebye hash mls remotehelpcd help mput renameclose lcd open rmdir ...

October 10, 2020 · 1 min · jiezi

关于运维:运维大杀器来了未来云上服务器或将实现无人值守

简介: 9月26日,阿里巴巴高级技术专家滕圣波在《GOPS寰球运维大会》上发表了题为《云上服务器无人值守与自助服务实战》的主题演讲,本文依据滕圣波的演讲整顿。 云原生时代下,企业的IT运维面临架构复杂化、业务需要多样化和运维数据海量化等挑战,如何可能实现精准告警、异样智能诊断、根因定位、异样预测和异样主动修复,已成为企业数字化转型的急切需要。 9月26日,阿里巴巴高级技术专家滕圣波在《GOPS寰球运维大会》上发表了题为《云上服务器无人值守与自助服务实战》的主题演讲,分享了阿里云弹性计算团队如何利用人工智能技术赋能运维自动化,实现云上服务器无人值守,帮忙用户升高云服务器实例治理的复杂性,来保障实例服务的稳固和高效运行。本文依据滕圣波的演讲整顿。 图:阿里巴巴高级技术专家滕圣波 本文内容架构:1、云上服务器为什么须要无人值守?2、阿里云无人值守的自服务实战3、无人值守背地的数据和AI 1、云上服务器为什么须要无人值守?运维是一种服务,既蕴含基础设施软件服务、也蕴含人力服务,服务的对象是企业中应用基础设施的业务团队,而云计算IaaS是一种运维服务,服务的对象已倒退为应用云服务的开发人员和运维团队。随着云计算的宽泛落地,大部分企业曾经上云,以后就有100万多家用户的业务运行在阿里云平台上,阿里云平台服务的用户也越来越多。 随着平台用户规模的扩充,咱们发现平台用户在ECS实例运维时广泛面临三个痛点: (1)背景沟通老本高,为什么我的实例出问题了?(2)人工解决须要较长的工夫,为什么这个问题这么久还没有解决?(3)客户操作不通明,问题看起来修复了,可是刚刚你做了什么? 为此,咱们须要重人力投入在客服人员上让用户的问题得以高效解决。为了防止用户规模扩充带来的客户侧运维老本的线性回升,咱们开始利用人工智能技术赋能用户运维治理。在无人批发、无人驾驶成为趋势的时候,咱们认为将来云上服务器也将实现无人值守。 事实上,阿里云弹性计算产品推出十年了,积淀了泛滥ECS实例运维治理教训和异样“行为”法则。所以依靠机器学习的数据驱动,咱们通过异样“行为”数据的剖析,构建了一套云上服务器的无人值守架构,并推出了一系列自助服务,实现了ECS实例的自诊断、自修复、自优化、自运维,帮忙用户升高ECS实例治理的复杂性,从而来保障实例服务的稳固和高效运行。 2、无人值守的自服务实战 云计算IaaS的运维工作能够拆分为服务侧运维和客户侧运维,服务侧运维是云平台的运维工作,通常对用户不可见的,次要波及基础设施、根底产品和下层管控三个层面,包含机房、物理设施的运维工作、资源虚拟化、资源调度、热迁徙等工作。随着用户规模的扩充,这些运维工作会越来越简单。而用户侧运维工作,是对用户本人可见的,次要是用户对ECS实例的批改操作和自动化工作,包含扩容、重启、监控、客服服务、工单反馈、资源编排和运维编排等。 咱们构建的云上服务器的无人值守架构,为阿里云平台用户提供了一系列的自助服务。狭义上看,阿里云的自助服务囊括了ECS实例自身、实例生命周期治理、系统管理和自动化、市场和生态四个维度,如下图。 图:狭义上的自助服务 广义上来说,阿里云自助服务为用户实现了ECS实例的诊断、修复和举荐的性能。当天,阿里云自助服务已提供实例诊断工具、实例优化举荐、主动修复工具、最佳模板举荐和ECS事件自动化等一系列自助服务工具,笼罩了80% ECS常见问题,将问题解决的均匀周期从几小时缩短至分钟级,整个过程无需客服人工参加,无隐衷透露危险,做到了云上服务器的无人值守。将来随着AI+数据的一直驱动,ECS实例的诊断和修复将会越来越精准。 ECS实例的智能诊断依据平台的数据统计,用户在应用ECS实例时次要面临四大类问题:(1)实例无奈近程拜访(2)实例无奈启动/进行(3)实例性能异样(4)磁盘扩容未失效 所以,在智能诊断的能力上,咱们笼罩了ECS零碎服务、磁盘衰弱服务、网络衰弱服务和Guest OS系统配置等维度,用户一键即可实现实例的智能衰弱诊断。 ECS实例的自动化修复在智能诊断实现后,咱们还会为用户提供ECS实例自动化修复计划,在前者定位问题所在之后,自动化修复可能在1-3分钟内解决问题,次要实现ECS零碎服务修复、网络问题修复和磁盘修复。 仅仅实现自动化修复是不够的,咱们认为自动化修复还应该是通明合规的。咱们通过运维编排服务OOS提供自动化引擎,通过云助手命令提供GuestOS内的执行能力,运维编排服务OOS+云助手命令独特帮忙用户实现自动化修复;同时,咱们开源了运维编排服务OOS+云助手命令的代码,做到所有修复逻辑对用户可见;所有修复操作还能够通过ECS实例的镜像、快照和数据备份实现回滚;通过阿里云RAM角色管制实现所有权限可控,通过阿里云操作审计ActionTrail实现所有记录可审计,做到了真正的通明合规。 3、无人值守背地的AI与数据能力让咱们实现智能诊断和自动化修复的,是冰山下弱小的技术撑持——AI+数据。依靠底层的数据中台,咱们实现了包含物理机数据、虚拟化数据、网络数据、管制面数据和GuestOS内数据等数据的采集、荡涤、剖析和模型的构建;加上AI算法的一直调优,咱们搭建了用户画像、决策树、预测和举荐模型等,从而保障异样诊断和主动修复越加的精准和高效。 以后,在整体的ECS自助服务架构中,次要依附管控监控核心实时监测日志服务、中间件监控、API申请监控以及控制台监控和自助诊断的数据,通过机器学习引擎实现问题预警和解决,进而驱动运维编排服务OOS实现自动化修复问题。 通过这套AI驱动的自服务架构,以后阿里云ECS实时内存异样感知准确率在70%以上,施行预测链路延时则管制在100s以内;另外交融专家教训、案例库和知识库,咱们构建了一个弱小的诊断决策树,为放慢问题的定位和修复提供了强有力的根据。 近两年,阿里云弹性计算团队继续一直地投入构建异样行为数据集,将来打算将其演进成为阿里巴巴团体在异样预测上的“ImageNet 数据集”并进行开源,心愿能为异样预测在业内的倒退奉献更大的价值。

September 28, 2020 · 1 min · jiezi

关于运维:EasyDO这么好用别家的运维小哥都馋哭了

运维这份工作仿佛总是被人误会~ 修服务器的 接网线的 盯监控的 保护零碎的 说啥的都有,平常人都不太晓得运维是干啥的 跟小编来探一探云掣MSP服务线运维小哥的理论运维工作? 运维小哥一部分日常工作就是每天担当“警卫”,对上千个客户的业务零碎进行“零碎巡逻”,还要担当“私人医生”对业务零碎进行惯例“体检和医治”,防止忽然的宕机或者其余的意外危险(别通知我你不晓得什么叫“宕机”,问就是零碎不好用了!)。 你认为的运维小哥可能聪明绝顶过了头~ 但云掣的运维小哥有点不一样!!! 这都要归功于云掣高效的数据化运维平台!!!在其余运维小哥还在没日没夜的进行人工“零碎巡逻”时,咱们的运维小哥应用运维平台进行“主动巡逻”。 同样都是7*24小时,平台撑持保障异样发现的实时性,毕竟平台不会困到打盹。并且面对突发紧急状况,当他人家的运维小哥还在慌手慌脚查找“病因”的时候,基于全景监控,云掣的运维小哥可能疾速对业务零碎进行“诊疗”,简略动动手指“分分钟”修复! 别眨眼睛,全新降级的EasyDO已被地产,医疗,航空,政企等行业洽购利用。 无效防止运维治理呈现“真空层”。 所有运维事件的变更审批及全流程管控,也能够被追根溯源。 划重点,EasyDO到底具备哪些外围亮点?听小编娓娓道来 数据采集 把各类运维数据,咱们也叫机器数据,采集上来,包含设施信息、日志数据、指标信息,也能够从其余监控零碎中集成数据。 数据处理 对采集器和集成的数据做归一化解决。这其中不仅包含从利用日志中提取业务指标(将非结构化或半结构化的数据解析为结构化数据);也包含对一些原始指标进行聚合、转换,解决后的数据,会存储到分布式的搜索引擎和分布式的OLAP数据库。其中一部分的数据荡涤和建模,会依赖于袋鼠云数据中台产品数栈,包含批处理和流解决计算引擎,算法引擎。 ▶问:居然还有场景会用到算法引擎?◀ 答:小编偷个懒,请看聊天记录 数据模型 云掣在多年运维实际的根底上,总结出一套指标模型。笼罩网络、主机、数据库、中间件、平安、容器、利用等多个数据域。 数据利用  最终运维价值的出现,蕴含6大模块: 资产核心:纵览全副业务零碎的主机、网络、数据库等相干资产,蕴含资源间的关联拓扑以及利用的部署架构。全景日志:日志核心,所有被采集的机器数据,能够进行对立集中搜寻、实时追踪,多维聚合,格式化荡涤。全景监测:将通过荡涤的数据指标化解决,可间接作为可视化剖析报表的数据起源,进行关联剖析。智能告警:对立数据模型,实时异样检测,主动执行收敛,防止适度依赖人工发现问题,缩短从问题发现到解决的门路,晋升业务零碎的连续性。链路排障:冲破单零碎孤立的垂直视角,以业务线为核心关联网络层、主机层,应用层数据。洞察零碎运行状态和趋势,被动探测异样危险,判断衰弱状态。容量剖析:从部门,我的项目,业务模块多种维度评估云资源容量饱和度及水位趋势,定期生成账单剖析报表,疾速核算成本,监测异样生产,优化云资源老本。 总之,对于企业管理人员来说,EasyDO就像运维驾驶舱,能够纵览全局资源,云资源账单报表,系统安全危险,异样告警事件等运维状况。 通过多个行业客户的千锤百炼,云掣科技围绕客户需要,始终保持着对技术的敬畏之心,以数据化运维平台EasyDO云运维服务抓手,业余的技术能力为云运维服务撑持,造成云上运维、经营的闭环服务能力。在多年的企业服务实际中,切实解决了泛滥企业在数字化转型中遇到的难题,助力企业进行技术升级,正当优化老本,保障业务实时“在线”,进步问题解决效率,在新赛道上取得竞争劣势。 更多详情,请到官网进一步理解。

September 28, 2020 · 1 min · jiezi

关于运维:Bilibili资深运维工程师DCDN在游戏应用加速中的实践

简介: bilibili资深运维工程师李宁分享《DCDN在游戏利用减速中的实际》从bilibili游戏利用的成果和老本动手,深入浅出地分享DCDN全站减速在游戏减速场景中的利用。 日前,云栖大会新一代CDN的技术冲破与利用实际专场中,bilibili资深运维工程师李宁进行了《DCDN在游戏利用减速中的实际》主题分享,从bilibili游戏利用CDN的成果和老本动手,深入浅出地分享DCDN全站减速在游戏减速场景中的利用。 bilibili的业务部署架构及CDN的利用bilibili始终以来是作为中国Z世代高度汇集的文化社区而被大家熟知,曾经成为了国内二次元游戏的次要散发渠道和发行方。在公司一直倒退过程中,CDN扮演着不可或缺的角色。 简略的七层利用游戏的部署架构如下图所示,业务的后端以中心化部署的形式齐全暗藏在公共云的网络内,出向网络通过NAT转发,业务的入口只通过公网负载平衡进行裸露,动态资源寄存在对象存储上,而后从用户动动态的申请全副通过CDN进行转发,这样的形式不仅能进行惯例动态资源的缓存减速,也能帮忙暗藏源站,并进行相应的DDoS防护。 李宁介绍到:bilibili对CDN的应用大略分三个阶段,初期业务规模比拟小,次要通过基于云内专线自建代理的形式实现区域减速;随着业务规模减少,运维治理问题和平安问题裸露, bilibili基于不同的缓存策略,在商业动态CDN下来实现动动态申请的散发,尽管解决了自建带来的治理和平安问题,然而也带来了新问题,比方动态CDN两头源大量回源过载、动态CDN链路过长,多级代理导致响应耗时减少等等;直到近两年,市场上呈现了专门针对动静申请减速的产品,在原有CDN功能丰富度晋升的根底上,通过智能路由带来了更好的减速品质晋升。 游戏利用运维工作对CDN的外围诉求在游戏运维的日常工作里常常会遇到以下场景:动态突发流量报备不及时,繁多厂商无奈全副承接,导致业务进退维谷,业务和运维背着炸药包上线;游戏热更中大量的刷新预热需要,带给运维带来沉重的工作;热点游戏海内用户拜访品质如何保障;国内小运营商环境中各种劫持与弱网传输;游戏业务突发式增长对弹性伸缩、疾速交付的挑战等等。 简略总结,业务对运维的需要就是:a) 热点资源、导致流量突发运维须要做好保障b) 保障业务倒退过程中疾速交付、并且保障易用性c) 业务的根底网络链路实现跨境优化d) 要能笼罩国内的小运营商e) 须要有政企关系,具备推动运营商疾速解决问题的能力 基于上述需要综合思考,bilibili抉择应用公共云CDN,而非自建的模式。其业务对云CDN的应用运维有以下诉求:a) 业务接入的时候控制台要快、简略,接口要欠缺、可编程,功能丰富、不反对的性能也要反对定制化b) 产品须要反对主动调度、不便的配置和内容治理,底层要对跨境网络进行优化c) 针对海量的CDN数据有简化剖析的计划,以便数据管理经营d) 要有丰盛的报警指标、在业务报障的时候辅助运维进行决策 bilibili抉择应用阿里云全站减速进行业务散发为了解决以上问题,bilibili应用阿里云全站减速产品反对游戏利用内容的散发减速。在接入之后,品质有显著的晋升,平响耗时升高了32%,首包的耗时升高了18.6%。同时,当异样产生的时候,CDN告警的收敛聚合,能够与源站监控报警进行比对,用于疾速的排除故障。 全站减速是阿里云自主研发的交融了动静减速和动态减速技术的CDN产品,解决了页面动动态资源混淆、跨运营商、网络不稳固、复线源站、突发流量、网络拥塞等诸多因素导致的响应慢、丢包、服务不稳固的问题,晋升全站性能和用户体验。对于源站的适配,全站减速产品无需对服务器资源进行调整,会智能的辨别动静和动态内容并别离减速,这也是目前比拟适宜游戏利用的减速计划。 全站减速能够提供传输减速、稳固平衡、HTTPS、根底防护和管控灵便五大价值。 传输减速:一站式动态、动静资源拆散,动态资源能够基于遍布寰球的边缘节点缓存进行减速,动静资源利用智能路由、传输协定优化、压缩传输、链路复用等技术实现回源减速;稳固平衡:通过全网节点的负载平衡,以及主备源站、有序回源、源站健康检查等多重策略,确定高并发状况下的业务稳固运行以及减速成果安稳。HTTPS:国内运营商环境简单,网站被劫持,站点内容遭篡改,仅应用HTTP协定传输可能会有用户动静内容泄露危险,须要寻求更平安高效的网络链路和内容散发路径,那么阿里云反对全链路HTTPS平安减速,提供多种证书格局,反对keyless计划,满足客户对于平安拜访的不同场景需要。根底防护:在DCDN之上逐步集成云平安能力,打造边缘平安能力。在更靠近攻打源产生的地位,通过笼罩寰球各地的DCDN边缘节点进行防劫持、防篡改、防DDoS攻打,加重源站压力。管控灵便:基于缓存多源优化,能够管制每个回源量,从而可能对节俭源站的带宽,以此爱护源站,有序回源这一块,当流动突发的时候,DCDN能够通过有序回源的策略来明确哪些申请优先返还源站,哪些能够通过队列的形式来管制源站的回源量,从而能达到稳固平衡的一个成果。 bilibili实践经验针对应用CDN的效率以及老本几大问题,bilibili具备以下实践经验:第一,在交付效率上,bilibili通过gitops加基础设施及代码实现了一套资源编排,CDN也蕴含其中,研发通过抉择CDN的配置模板(比方CDN多线策略,缓存配置模板)生成资源堆栈,再联合流程审批实现分钟级别的资源交付,在交付过程中咱们力求让使用者只做选择题,少做问答题,缩小重复沟通的老本;当然平台也集成了很多的小工具,比方最高频的刷新预热操作,咱们将不同云平台的需要收敛到对立的界面,提供给研发自助进行操作;还有ip归属查问这类小工具,尽量实现研发自助,以缩小沟通晋升人效。第二,针对老本的问题,强调可计价,可度量;在CDN老本优化方面,首先要先晓得钱花到了哪里,通过云计费api拿到实时数据,进行简略地同比环比,对老本突发进行预警,而后人工干预及时止损;第二是花一样的钱做更多的事,通过业务数据压缩以及开启云厂商的智能压缩性能进行技术优化,同时,晋升动态缓存命中率,升高对象存储回源;第三是做一样的事件花更少的钱,就须要更优的计费策略和更优的核算策略。 对将来游戏CDN的思考李宁示意:我了解的运维工作的次要指标之一就是可控,CDN可控就是实现智能调度,将来会围绕着数据治理进行一些尝试: a) 通过第三方拨测、客户端数据上报、业务全链路监测,收集到欠缺的业务数据b) 在此基础上进行多维度的剖析,比方异常情况下,进行多维度的数据关联聚合,缩小多个运维监控组件之间切换排查c) 最终联合大量的人工辅助决策,去实现智能调度 点击理解bilibili应用的全站减速产品详情点击理解秒懂CDN流动详情,更多CDN产品技术直播,听专家解说各大场景最佳实际

September 28, 2020 · 1 min · jiezi

关于运维:绿色ftp上传软件7款绿色ftp上传软件介绍

ftp上传软件,FTP(File Transfer Protocol,文件传输协定) 是 TCP/IP 协定组中的协定之一。FTP协定包含两个组成部分,其一为FTP服务器,其二为FTP客户端。其中FTP服务器用来存储文件,用户能够应用FTP客户端通过FTP协定拜访位于FTP服务器上的资源。上面小编给大家介绍7款绿色ftp上传软件。1、iis7服务器管理工具 这款工具最次要的特点是:定时工作,即定时上传,定时下载,主动备份和更新,其余很多同类型的工具是没有定时性能的,用起来就没有IIS7服务器管理工具这么不便了。同时,IIS7服务器管理工具还能够批量治理windows系列的操作系统, linux操作系统以及linux的vnc、win的vnc等等,有着十分全面而且便捷的性能,满足使用者的不同需要。还有工作人员在一直开发更好的性能,一直的优化和晋升,置信当前会越来越好用。地址:iis7服务器管理工具 2、8UFTP8UFTP分为8UFTP客户端工具和 8UFTP智能扩大服务端工具,涵盖其它FTP工具所有的性能。不占内存,体积小,多线程,反对在线解压缩。界面敌对,操作简略,能够治理多个ftp站点,应用利落即可实现文件或文件夹的上传下载。智能降级查看,收费降级。倡议同时装置8UFTP客户端和8UFTP智能扩大服务端工具。 3、CuteFTPCuteFTP,FTP工具之一,与LeapFTP与FlashFXP并称 FTP 三剑客。其传输速度比拟快,但有时对于一些教育网FTP 站点却无奈连贯;速度稳固,可能连贯绝大多数 FTP 站点(包含一些教育网站点);CuteFTP 尽管相对来说比拟宏大,但其自带了许多收费的 FTP 站点,资源丰盛。 4、FTPRush特点:完全免费,性能多,可媲美FileZilla,而且不容易掉线。 5、Monsta FTP这是一个web软件,Monsta FTP是一个开源的PHP / Ajax云端软件,能够在任何中央,任何工夫,在您的浏览器中提供FTP文件治理。 您能够将文件拖放到浏览器中并观看他们上传。 6、CyberduckCyberduck是凋谢源代码的FTP及SFTP软件,基于GPL受权,领有简略的操作界面,反对WebDAV 和 Amazon S3 浏览与文件的传输等。专为Mac打造的Cyberduck整合了 OS X零碎的一些性能,例如Spotlight, Bonjour, QuickLook(3.0版本才反对) 和 Keychain(钥匙串)等。反对Mac和Windows零碎。 Cyberduck 是一款经典收费的单栏视图 Mac FTP 客户端,领有死忠用户 N 多。而当初官网上给 Cyberduck 的定位是: Cyberduck 是一款 Mac 平台上自在、开源的 FTP, SFTP, WebDAV, 云文件, Google Docs 和 Amazon S3 浏览器。CyberDuck答应同时关上多个窗口,于是可同时连到多个服务器工作。当然也附书签,反对运行publicfile(FTP)服务器的EPFL文件列表。 7、SmartFTPSmartFtp 是一套以 IE 及资源管理器的概念、繁难操作的传输程序,可用来做Local 端的文件治理,对于 FTP 站更如同资源管理器般的操作形式,反对鼠标右键的各项快捷性能,且对于站台更以 IE 的“收藏夹”形式来治理,反对同时登陆多个站台。另有一项强悍的性能:可应用 FTP Search 来搜查文件,而间接开启站台下载。界面方面:提供浮动式功能键、反对多窗口排列、更可更改文字色彩及题目列渐进色调,动作上也可有声音的提醒性能。 ...

September 23, 2020 · 1 min · jiezi

关于运维:下载ftp工具下载ftp工具如何操作

ftp工具是一种文件传输下载方式,它是TCP/IP协定栈的一部分;其中FTP又由两局部组成,一部分是FTP的服务器,另一部分是FTP的客户端!它可能高效平安地进行文件传输下载操作。那么下载ftp工具应该如何操作呢?接下来小编给大家举个例了。例如:IIS7服务器管理工具。 这款工具最次要的特点是:定时上传,定时下载,主动备份和更新。除此之外,它还有主动重连,主动重传,自定义传输模式,线程,编码,大量文件疾速加载,边加载边传输等性能。 另外它还能够批量治理windows系列的操作系统, linux操作系统以及linux的vnc、win的vnc。下载:IIS7服务器管理工具

September 23, 2020 · 1 min · jiezi

关于运维:基本功统计信息对SQL执行效率的影响

在一个风和日丽的下午,xxx 忽然接到业务方线上业务数据库CPU资源告警信息,立马放下手里的枸杞登录业务方阿里云控制台查看具体问题。 对于数据库以后正在产生中的问题,咱们首先从数据库实时会话信息中尝试抓取无效信息,能够看到该告警实例的会话曾经呈现沉积状态,大量会话处于"Sending data"状态且从TIME字段能够看到这些会话长时间执行未完结。会话长时间执行示意以后会话始终占用的数据库资源未开释,且沉积会话根本为同一类型的业务SQL,这也就是导致咱们数据库资源打高的问题SQL。 咱们拎出这个问题SQL登录数据库查看SQL的执行打算,对问题SQL进行剖析,从SQL执行打算中咱们很显著发现一个资源耗费比拟大的操作"ALL"全表扫描操作,而且比拟诡异的一点是,a表进行表关联possible_keys明明是primary然而却没有应用,所以咱们下一步的方向就是排查为什么表关联没有无效利用索引。 导致索引生效的问题的起因最常见的就是隐式转换,对于隐式转换咱们之前的文章也做过比拟具体的解说,总体概括次要是以下几个场景: 1)传递数据类型和字段类型不统一2)关联字段类型不统一3)关联字段字符集不统一4)校验规定不统一在表关联字段索引生效的状况下,可能导致索引生效的场景次要是2~4,于是咱们马上查看表关联字段相干信息进行一一验证。 emmmm,查问到的后果却仿佛有些不尽人意,表关联字段均是bigint类型,完满的躲避掉了以上所有可能。 再次陷入深思,在没有产生隐式转换的状况下索引个别都是会无效利用的,除非MySQL优化器认为ALL全表扫描的效率并不差。咱们晓得,MySQL优化器会通过具体表的统计信息基于CBO进行代价计算,帮咱们抉择最佳执行打算。然而统计信息并不是齐全准确的,某些时候可能会呈现肯定的误差,也正是因为统计信息的误差,就可能导致MySQL优化器谬误的抉择一个并不是很好的"最佳执行打算"。接下来咱们就能够进一步查看表的统计信息以及hint进行验证。 表关联对应的统计信息 通过hint强制走primary索引察看执行打算、并测试执行效率 问题排查到这里,导致该SQL大量耗费CPU资源的起因也就上不着天;下不着地了。对于业务方目前的CPU打高的状况,咱们能够倡议业务方先将目前沉积的会话进行Kill,防止影响其余失常的业务查问,等数据库CPU资源有所回落后,在数据库执行"analyze table"对问题表的统计信息从新采集,统计信息更新后MySQL优化器就能够正确的抉择最佳执行打算。 统计信息更新: 执行打算更新: 尽管客户的问题曾经解决,对于本案例还是有一些点值得咱们思考: 索引生效的场景都有哪些?隐式转换统计信息不精确MySQL统计信息是如何更新采集?在MySQL中有一些参数设置决定了统计信息采集的行为形式,个别状况下不会做特地设置,咱们须要正确的了解这些参数,明确统计信息只是一个统计估计值,并不是相对精准。 统计信息相干参数innodb_stats_method 默认nulls_equal,示意统计信息时把所有的null当作等值看待 innodb_stats_auto_recalc 是否关上自动化采集统计数据 ,默认关上,当表数据量更新10%触发从新采集统计信息 innodb_stats_on_metadata 默认敞开,若该参数开启时示意数据库执行"show table status",拜访"INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.STATISTICS"时,都会触发从新采集统计信息的操作 innodb_stats_persistent 统计信息是否长久化到磁盘,默认关上。长久化磁盘当数据库重新启动后可从磁盘读取。 innodb_stats_persistent_sample_pages 默认20,对于长久化存储统计信息的表,每次从新采集信息须要采集20个索引页进行剖析 innodb_stats_transient_sample_pages 默认8,对于非长久化的表,其统计信息从新采集须要扫描8个索引页进行剖析 MySQL几种从新采集统计信息的机会新关上一张表时 表数据变更超过10%触发该表的统计信息从新采集 当innodb_stats_on_metadata参数关上,数据库执行"show table status",拜访"INFORMATION_SCHEMA.TABLES or INFORMATION_SCHEMA.STATISTICS"时 手动执行analyze tables时 对于analyze table操作执行该操作须要具备该表的select/insert权限 反对Innodb、Myisam、NDB存储引擎下的表,不反对视图 反对对分区表中某个分区独自执行统计分析:alter table ... analyze partition 在执行analyze期间,会对该表加一个读锁。 在我探寻了技术的真谛后,我又默默的端起了已经放下的枸杞。

September 22, 2020 · 1 min · jiezi

关于运维:云时代的智能运维平台助力企业创新迭代

简介: 智能的运维平台,帮忙企业业务安稳、智能、高效地运行。 每一起严重事故背地,必然有29次轻微事变和300起得逞前兆以及1000起事故隐患。—— 海恩法令(Heinrich‘s Law) 随着云计算时代的到来,大量企业将本人的业务逐渐迁徙上云。云计算的弹性,让IT资源购买、扩容等更简略。许多企业,曾经不要破费微小的人工工夫,投入在IDC、服务器、网卡等物理资源的购买、扩容、降级等等。但随着信息时代的倒退,业务在线化,业务零碎服务客户规模更大,零碎的稳固变得更加重要。一旦呈现故障,运维人员无奈提前预警、以及无奈最快工夫内寻找出问题,极易影响到业务,造成巨大损失。面对宏大的业务零碎、多样的服务模块、海量的日志与监控信息、极致的业务需要等,如何构建企业的疾速、自动化、智能化、全周期的智能运维与预警系统,曾经是企业竞争力的一部分。因而,越来越多的企业开始搭建属于本人的智能运维平台,力求加重运维人员的累赘,以及更智能的故障预警、更快的响应。尤其是在这个业务上云的时代,企业运维平台的价值密集始终在降级,许多企业曾经从根底的资源购买保护中,降级到对业务价值的晋升上。 因为泛日志类数据的利用与剖析,正在成为企业竞争力的一部分。钻研报告表明,泛日志类机器数据和规模快速增长,企业须要通过更加智能的运维平台,来为业务提供参考。加之业务零碎的工夫价值密度逐步加大,零碎服务的客户指数级增长,业务零碎的复杂度和集群规模变得越大,因而一个稳固、高效且实惠的智能运维平台逐步成为一个企业安身立命的基本。然而在搭建智能运维平台时,咱们又常常会遇到以下几个挑战:1、海量日志,如何疾速剖析告警:比方千亿、万亿条日志,如何实时查问剖析?如何确保实时稳固写入?2、零碎简单,数十个维度的数据,如何更高效地多维度剖析?3、如何抽丝剥茧,从中找的最重要的信息?比方,Error日志有几万条,如何找到重要信息?4、海量日志长周期保留和解决流转:从实时数据到历史数据,如何满足不同的剖析模式和存储要求? 阿里云在这些年服务阿里巴巴经济体、以及阿里云客户时,也遇到过许多这类的问题。阿里云通过一直打磨,推出了阿里云日志服务SLS,助力客户构建智能运维平台。在9月18号云栖大会上,阿里云智能高级产品专家铧剑为大家带来了题为《云时代的智能运维平台日志服务,助力企业翻新迭代》的分享,在分享中具体地介绍了阿里云日志服务SLS,是如何为用户提供一站式的日志采集、告警、存储、剖析以及可视化的能力,帮忙企业的技术运维人员在云时代,可能基于SLS构建本人的智能运维平台,疾速剖析零碎状态、洞察业务,助力企业的疾速迭代和业务翻新。 阿里云日志服务SLS,具备以下几个劣势:1、 秒级实时剖析和告警:千亿条日志中,秒级返回10亿条记录2、 多维度数据联结剖析能力:并提供高维查问、实时剖析、定时工作、可视化能力3、 更深刻细节洞察:从秒级细节、异样点位AI检测、数据聚类来助力抽丝剥茧,发现重要信息 这些能力,帮忙客户对Logging、Metric、Tracing数据进行对立采集存储剖析,满足业务监控、日志剖析、平安审计等要求,轻松解决如何疾速、多维、深刻细节剖析的挑战。同时,SLS提供全周期的数据流转能力,近期新公布的数据加工、数据投递,可反对不同的剖析模式、周期要求。利用数据加工,企业能够依据不同的剖析要求,对数据进行规整、ETL。而利用数据投递,企业能够满足不同工夫周期的数据处理形式、保留形式的数据流转要求。 因而在这个业务上云的时代,咱们须要更智能的运维平台,帮忙咱们的业务安稳、智能、高效地运行。咱们深信,基于阿里云日志服务SLS搭建,企业的智能运维平台,能真正帮忙到企业进行业务价值的翻新迭代,助力企业客户的业务,更稳固且疾速地倒退。

September 21, 2020 · 1 min · jiezi

关于运维:测试工程师在敏捷项目中扮演什么角色

麻利团队中的测试人员次要负责执行各种测试,以满足“已实现”的定义,从而为团队在反复迭代中致力交付的继续价值发明做出奉献。对于测试人员来说,领有麻利的心态是至关重要的,如果没有麻利的思维形式,他们可能就不能果决地打算、划分优先级并执行他们的工作,因而会无心中影响团队满足迭代指标的能力。麻利的思维形式是测试人员展现正确行为的先决条件,这些行为可能减速整个团队的性能。 为了在麻利我的项目中取得成功,测试人员应该关注以下实际: 1.态度胜过所有团队中的测试人员可能不具备麻利背景、自动化技能或丰盛的测试教训——只有他们具备成为麻利团队一员的正确态度,这依然是能够的。正确的态度会反映在以下行为中,比方:置信麻利宣言和实际,信赖教练并全力以赴地遵循它,对新的学习和变动持凋谢态度,清晰表白和通明,致力于对团队重要的流动,在这段时间内被动改良和变得更好等等。 麻利、自动化、测试或其余培训,对于领有正确态度的人来说,是能够齐头并进的。 依据既往教训,在工作中应用僵化思维的测试人员减慢了迭代的进度。有些行为是——仅在ALM工具中更新状态时才测试缺点;在测试环境敞开时,闲置而不在本地主机上执行健全性测试;思考在会议期间独自测试流动;在部署时保持团队成员的正式沟通,阻止决定和暗示等。 相同,以凋谢的心态来的测试人员转变了本人,为团队服务,并以各种可能的形式做出奉献,例如,他们中的一些人在闲暇工夫编写Junit案例来帮忙开发人员,学会编写服务来模仿测试环境,在高度动静的环境中灵便调整计划和测试方法。 2.将迭代指标优先于内部调配在矩阵式组织构造中,测试人员在麻利团队中与Scrum Master一起工作,但他们向测试实际部门的直线经理或同一我的项目中的测试经理报告。这些在麻利团队中驱动整体测试的测试经理,可能会给测试人员调配许多与团队迭代打算不统一的特地工作。 在与测试人员的屡次接触中,我发现他们很难在两方面之间获得均衡——兼顾绩效评估和致力于工作。他们中的大多数人都试图在没有告诉麻利团队的状况下承当内部工作,因为他们不想让直属领导不快乐。一些人晓得它会影响正在进行的迭代流动,于是通过缩短工作工夫即加班来实现这些工作,但也有很多人就义了迭代流动。因为这种斗争,他们无奈交付迭代指标,这导致了用户故事的惯例溢出,也影响了团队的信赖和内聚程度。 在这种状况下,测试人员应该怎么做?答案是——迭代流动应该总是优先于任何其余流动。然而,如果他们可能在不影响迭代指标的状况下实现内部工作,那么他们就能够持续!然而,如果内部工作有可能影响迭代指标,那么他们应该征询团队以取得个体批准或意见分歧,并将决策告知直属经理。 3.跨职能团队中的关系平等“我不能测试这个用户故事,因为开发人员没有部署它”,一个测试人员在每日站会中说,开发人员答复说:“道歉,我忘了它,但你也应该分割其余开发人员来实现。”。这个场景突出了团队不足合作和所有权。推动一个用户故事的实现并打消间歇的妨碍因素并不是集体的责任,而是团队的致力,作为团队一部分的测试人员也不例外。 测试人员的某些行为有助于放慢交付速度——无论是否与测试相干,都须要关注到妨碍因素;常常与开发人员同步,而不是通过电子邮件沟通;踊跃加入scrum会议以进步团队的决策能力,与团队的打算保持一致,从而使他们的流动保持一致等等。 一些与其余团队适度来往的测试人员更喜爱筛选低优先级的工作。因为他们须要破费数小时来解决其余团队的问题,却以就义本人的工作为代价——这种行为超出了在跨职能团队中作为平等搭档的边缘。团队成员应该优先解决他们的问题,如果需要的话,为其余团队提供帮忙应该是主要的指标。 4.假如并不是一种抉择有时,利益相关者的评审意见显示,团队在验收规范方面存在一些不必要的假如。假如不是特定的对测试人员的抉择,因为测试是工作流中的最初一个流动,因而也是团队中任何人验证需要的最初机会。此外,测试人员的特长在于发现有问题的可交付成绩。 我理解一些让测试人员陷入不合理假如的根本原因。这些起因是:胆怯被人评判他们提出正确问题的能力,对他们以前的问题没有失去适当的回答,沟通能力差,使他们无奈抓住任何机会,不足一个平安的环境来公开挑战承受规范,或者在积压工作改良会议期间无知,不提出问题须要廓清的问题。 在麻利我的项目中,假如的老本太高了,因为产品增量很快就会推出给最终客户——交付的任何缺点都会影响投资回报(ROI),并须要返工,耗费的估算超过了性能的价值。 迭代经理、Scrum Master或教练应用诸如5个为什么之类的技术对这些根本原因进行彻底的剖析,对于设计无效的领导打算和在随后的迭代中管制这些行为十分无益。 作者:陈琦,资深麻利测试参谋,作为国内出名项目管理软件——禅道的团队成员,次要负责开源自动化测试治理框架——ZTF的开发工作。领有十多年的麻利过程实践经验,现致力于测试自动化和DevOps相干畛域的实际和钻研。

September 21, 2020 · 1 min · jiezi

关于运维:一个可以离线查询-IP-地理信息和-CDN-提供商的终端利器

Nali介绍Nali 是一个能够主动解析这些工具stdout中的IP并附上所属ISP和地理信息。 Nali取自中文「哪里」。Nali 一开始是数年前由surfchen用C和Perl写成的小工具(C 用于解析纯洁 IP 数据库,Perl 用于解析 stdout),查问是在本地进行,并不会进行联网查问,所以效率方面不会有什么影响。 Nali CLI采纳Nodejs开发,在装置之前,你须要具备Nodejs环境。 我的项目地址: GitHub: https://github.com/sukkaw/nal...官网:https://nali.skk.moe/Nali装置筹备好Nodejs环境之后,只须要执行上面的命令即可胜利装置。 # NPM$ npm i nali-cli -g# Yarn$ yarn global add nali-cliNali CLI也有macOS x64和Linux x64编译好的二进制文件提供下载,能够在GitHub Repo中的bin目录中下载。 nali-cli/blob/master/bin/nali-cli-linuxnali-cli/blob/master/bin/nali-cli-macos留神:首次运行Nali CLI 时会主动下载所需的qqwry.dat到$HOME/.config/nali-cli/目录下。 Nali应用1、帮忙信息 $ nali --helpUsage: nali <command> [options]Options:  -v, --version  版本信息  -h, --help     output usage informationCommands:  parse          解析 stdin 或参数中的 IP 信息 (默认)  update         更新 IP 库  help [cmd]     display help for [cmd]2、自带工具命令 nali-dignali-nslookupnali-pingnali-tracepathnali-tracerouteNali required related software installed. For example, in order to use nali-dig and nali-nslookup you need to have bind (dnsutils) installed.意思是须要装置应用程序能力应用。 3、应用举例 查问一个IP地址 $ nali 1.145.1.41.145.1.4 [澳大利亚 墨尔本 Telstra]查问一组IP地址 $ nali 114.5.1.4 191.919.8.10 1.0.0.1114.5.1.4 [印度尼西亚] 191.919.8.10 1.0.0.1 [美国 APNIC&CloudFlare 公共 DNS 服务器]Nali CLI 还反对从内部的stdin中解析和查问IP信息: $ dig blog.skk.moe +short | nali104.18.101.28 [美国 CloudFlare 公司 CDN 节点]104.18.100.28 [美国 CloudFlare 公司 CDN 节点]$ nslookup www.gov.cn 1.0.0.1 | naliServer:        1.0.0.1 [美国 APNIC&CloudFlare 公共 DNS 服务器]Address:    1.0.0.1 [美国 APNIC&CloudFlare 公共 DNS 服务器]#53Non-authoritative answer:www.gov.cn    canonical name = www.gov.cn.bsgslb.cn. [白山云 CDN]www.gov.cn.bsgslb.cn [白山云 CDN]    canonical name = zgovweb.v.bsgslb.cn. [白山云 CDN]Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 107.155.25.117 [香港 Zenlayer]Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 107.155.25.118 [香港 Zenlayer]Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 107.155.25.116 [香港 Zenlayer]Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 107.155.25.120 [香港 Zenlayer]Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 2001:438:fffd:98::4Name:    zgovweb.v.bsgslb.cn [白山云 CDN]Address: 2001:438:fffd:98::5应用自带的内置命令 $ nali-nslookup blog.skk.moeServer:         1.0.0.1 [美国 APNIC&CloudFlare 公共 DNS 服务器]Address:        1.0.0.1 [美国 APNIC&CloudFlare 公共 DNS 服务器]#53Non-authoritative answer:Name:   blog.skk.moeAddress: 104.18.101.28 [美国 CloudFlare 公司 CDN 节点]Name:   blog.skk.moeAddress: 104.18.100.28 [美国 CloudFlare 公司 CDN 节点]Name:   blog.skk.moeAddress: 2606:4700::6812:641cName:   blog.skk.moeAddress: 2606:4700::6812:651c$ nali-traceroute 117.8.222.169traceroute to 117.8.222.169[天津市 联通] (117.8.222.169[天津市 联通]), 30 hops max, 60 byte packets 1  dns1.online.tj.cn (111.161.19.1[天津市 联通])  6.298 ms  6.767 ms  7.192 ms 2  no-data (125.39.237.237[天津市 深圳市腾讯计算机系统有限公司IDC机房(联通)])  5.129 ms  5.509 ms  5.907 ms 3  dns217.online.tj.cn (111.161.29.217[天津市 联通])  0.573 ms no-data (125.39.237.225[天津市 深圳市腾讯计算机系统有限公司IDC机房(联通)])  3.843 ms  3.148 ms 4  dns169.online.tj.cn (117.8.222.169[天津市 联通])  10.547 ms  10.718 ms  10.771 ms更新IP数据库(qqwry.dat) nali update以上就是nali的介绍拉,有趣味的同学能够自行装置体验一下,如本文对你有所帮忙,请点个在看与转发分享朋友圈反对一下哦,感激大家始终以来的在看与转发反对!!!

September 18, 2020 · 1 min · jiezi

关于运维:ChartCenter-为您的K8s之旅保驾护航

一、背景Kubernetes(k8s)是一个基于容器技术的分布式架构当先计划,为容器化利用提供部署运行、资源调度、服务发现和动静伸缩等一系列残缺性能,进步了大规模容器集群治理的便捷性。近些年来,Kubernetes迅速成为了容器编排的事实上的开源规范,可能实现应用程序部署流程的标准化和重用,进步了开发人员的生产力,并放慢了云原生应用程序的采纳。 当然,随着Kubernetes利用的复杂度越来越高,大家也须要新的工具来反对疾速牢靠的容器利用集群的配置、部署与管理工作。Helm就是这样的工具,也是CNCF官网举荐的我的项目,它为开发人员提供了将应用程序打包为Helm Chart的能力。通过一个命令或单击几下鼠标,用户就能够基于Helm Chart为开发测试或生产环境装置Kubernetes应用程序。大多数风行的CI/CD工具集都能够通过Helm Chart取得。 在咱们之前的文章《重大福利,JFrog公布面向社区的收费平安的HelmChart地方存储库ChartCenter》中,咱们介绍了JFrog公布的ChartCenter(https://chartcenter.io/),这是一个面向社区以及开发人员的收费的公共 Helm Charts地方存储库。 除了提供Helm Charts的公共服务之外,ChartCenter还可能向使用者展现每个Helm Chart部署的容器镜像中存在哪些已知的安全漏洞,从而揭示这些公共Chart中暗藏的危险,并提供加重这些危险的倡议。 二、Kubernetes利用中的安全漏洞K8s利用作为一个整体,对外提供对立的服务,而Helm Chart为容器化集群提供了一个整体的封装,蕴含了其所有的容器镜像、部署配置等等内容。通常,K8s利用的Helm Chart都援用了多个Docker镜像,即包含利用自身,也能够是利用运行所需的init容器和sidecar容器。而每一个镜像,其蕴含的镜像层或依赖镜像,都可能引入平安危险。如下图所示: 在美国国家破绽数据库(NVD)中,通过公共常见破绽和裸露(CVE)列表展现了很多容器镜像中发现的安全漏洞。随着容器和K8s的宽泛援用,咱们发现,容器相干的破绽和危险岂但没有降落,在NVD上注册的CVE的数量和严重性反而急剧地减少,如下图所示: (图片起源:美国国家标准技术研究院) 如何能力晓得你的Kubernetes利用及Helm Chart中蕴含了哪些镜像,以及这些镜像是否蕴含已知的安全漏洞?ChartCenter为您提供了便捷的办法。 三、ChartCenter展现CVEJFrog的ChartCenter为社区提供了一个便当的路径,能够通过UI在泛滥公共存储库提供的数千个Helm Chart中进行搜寻。然而,ChartCenter不仅仅是这些Chart的目录,而是由Artifactory提供反对,是一个蕴含了不可变版本的Helm Chart的存储库。用户的Helm CLI能够从这个收费的繁多可信源中获取所需的公共Helm Chart。 除了提供不可变版本的Helm Chart,ChartCenter还基于JFrog Xray提供的深度递归平安扫描能力,对Helm Chart依赖的所有容器镜像进行破绽剖析,并在UI中显示了与这些镜像相干的CVE。这样,用户在应用和部署任何K8s利用之前,都能够轻松理解并评估其平安危险。 ChartCenter默认显示中、低和未知严重性的破绽详细信息,而由保护人员管制为社区提供的高危严重性破绽信息的具体水平。 四、加重危险阐明尽管让用户晓得其K8s利用中存在安全漏洞是件坏事,但这还不是全副,大家还心愿可能理解如何加重这些危险。比方,能够通过援用另一个组件来加重某一依赖项的平安危险;能够通过倡议的配置来打消危险;也可能您的利用并没有应用到易受攻击的性能,因而发现的危险并不是一个真正的威逼。 咱们置信,在ChartCenter公开您的Helm Chart,也意味着您也能够公开发表本人的认识。因而,JFrog为Helm Chart的平安加重阐明提出了新标准,并邀请大家来提供内容。 为激励大家的参加,在Helm Chart的维护者将至多一个高危级别CVE的加重阐明提交给ChartCenter之前,ChartCenter不会显示该Chart的高危级别的安全漏洞。 这使得Helm Chart的作者能够在Chart加上无关CVE的正文,从而使得用户晓得是否以及何时须要关注这些破绽,或者是否能够加重相干的危险。它能够帮忙维护者在剖析CVE时说“是,然而。。。”,并与Chart的用户进行相应的交换。 五、如何正文Helm Charts为了提供平安加重阐明,ChartCenter里的Helm Charts蕴含了一个security-mitigation.yaml文件,该文件能够蕴含以下任何或所有信息: · Chart使用者的总体(摘要)加重信息 · 每个CVE,每个受影响的组件和版本的加重信息 · 在Wiki或网页上内部托管的加重信息的网站URL · 内部托管的加重文件的URL 例如,以下的security-mitigation.yaml文件为Helm Chart rimusz/security-sample-chart提供了摘要和独自的CVE加重信息: schemaVersion: v1 summary: Security mitigation information for this application is tracked by the security-mitigation.yaml file that's part of this Helm chart. ...

September 12, 2020 · 1 min · jiezi